Archive for the ‘Tech’ Category

A Guide to Building a Portable Cygwin

Saturday, February 23rd, 2008
A Unix box ;-)

I picked up one of those snazzy (ignoring reports of dodgy firmware bricking players) Creative Zen portable media players lately (more on that elsewhere) so that left the old 512MB iPod Shuffle without function… or so I thought. I’ve been playing around a bit lately with making a portable Cygwin install and the old shuffle might just be an ideal medium for it – a Unix-style shell in your pocket for when you’re given no choice but to use Windows. I’m writing this as I put it together so hopefully there’ll be enough detail in here to take you through from start to finish. Most of the information here was collected from around the web, hassling the folks on #linux and a little experience using Cygwin day to day – there’s nothing new here but I don’t think the info’s ever been gathered in one place before.

Windows CMD shell – click for larger version

Right, first things first, delete everything on your iPod (OK, you don’t need to do this but you’ll need about 70MB for a base install – I recommend at least 512MB. Remember, your home directory will be on the portable disk too and you’ll probably want to install more tools as you use Cygwin more, eg; ssh with rxvt is a nice alternative to PuTTY.)

Start by downloading the Cygwin installer (usually found here) to your portable disk. We’ll be able to use this to update Cygwin from any machine later on. For now we’ll use it to install the base system. Launch the installer (Note: You’ll need internet access for this part). Click next to move on from the about screen and select the following options on the next screens:

For “Choose A Download Source” select “Install From Internet” -> Next

For “Root Directory” enter “E:\cygwin” where E: is the drive letter your portable disk is mounted on. Select “Just Me” and “Unix / binary” (Unix format text files are better for configs – some apps might have issues with DOS format configs) -> Next

For “Local Package Directory” you might like to choose a directory on the portable disk – this is useful if you have no write access to other disks on the machine but uses a lot of space so is not ideal for a small disk. I chose to cache packages in “C:\pkg” but where they go isn’t that important. -> Next

For “Select Your Internet Connection” it might be best to select “Use IE5 Settings” if you’re unsure about your network parameters. If you know better, configure appropriately… -> Next

For “Available Download Sites” try to select a mirror geographically close to you. For Ireland that means something on esat.net or heanet.ie. Again, if you’re unsure of your network settings it’s probably safer to choose a http source rather than ftp. -> Next

For “Select Packages” the base install is already selected so just click Next here. Nothing to do now but wait for the install to complete.

When it’s done it’s probably best not to create icons on the start menu or desktop… -> Finish.

We now have a base Cygwin install. Time to make it portable. Create a plain text file named “cygwin.bat” in the root directory of your portable disk and insert the following into the file (notepad will do):

for /F %%A in ('cd') do set WD=%%A
set path=%WD%cygwin\bin;%WD%cygwin\usr\X11R6\bin;%path%
set SHELL=/bin/bash
set CYGWIN=codepage:437
set HOME=/home/fuzzix
cygwin\bin\mount -bfu %WD%cygwin/ /
cygwin\bin\mount -bfu %WD%cygwin\bin /usr/bin
cygwin\bin\mount -bfu %WD%cygwin\lib /usr/lib
cygwin\bin\bash --login -i

The first line in the file establishes the working directory so we can deal with whatever drive letter Windows assigns your portable disk. Then we set the path and some other environment variables, create a few mount points and finally run the shell. You should set “HOME” to whatever directory inside your Cygwin install you want to use as a home directory. You might notice some X11 elements in the path – we’ll talk about that a little later…

rxvt shell – click for larger version

By default Cygwin uses Windows’ own Command Prompt window. This has several shortcomings including lack of a full screen mode and limited character/ANSI support. There’s an alternative available in the form of rxvt. Cygwin provides a Win32 native build of this which is a breeze to set up. To begin run setup.exe again…

The installer should remember your selections from last time you ran it so you can proceed straight to the “Select Packages” screen. Click the “View” button once to get a full package view. Scroll down to rxvt in the Package column (it might be best to maximise the window for this). A few columns to the left of Package you should see the word “Skip”. Click this once to install the latest available version (“Skip” should change to something like “20050409-7″). Click “Next” to install rxvt. I wish the Cygwin installer would remember that I don’t want to create desktop/start menu icons but it doesn’t…

Before I paste the rxvt batch file I’ll explain a little something about its character support… it’s limited. Some apps (such as the Midnight Commander file manager) relying on “box drawing” characters . There’s a font called Lucida ConsoleP which, when installed on the host machine, can help mitigate this. The problem is, no way exists (that I know of – I’d love to hear different) to install a font from a batch file without requiring a reboot. Dragging the ttf file into the Windows fonts directory works… Following is the rxvt batch file (perhaps call this “cygwin_rxvt.bat” if you want to compare its function with the cmd version). It’s much the same as the previous one:

for /F %%A in ('cd') do set WD=%%A
set path=%WD%cygwin\bin;%WD%cygwin\usr\X11R6\bin;%path%
set SHELL=/bin/bash
set DISPLAY=:0
set HOME=/home/fuzzix
cygwin\bin\mount -bfu %WD%cygwin/ /
cygwin\bin\mount -bfu %WD%cygwin\bin /usr/bin
cygwin\bin\mount -bfu %WD%cygwin\lib /usr/lib
run rxvt -sl 1500 -bg black -fg gray -sr -fn 'Lucida ConsoleP-13' -tn rxvt-cygwin-native -e bash --login -i

This gives us a nice rxvt terminal with black background, grey foreground, scrollbar positioned on the right and 1500 lines of scrollback (I’m wacky for scrollback). If you can’t/don’t want to install the Lucida ConsoleP font change the last line to:

run rxvt -sl 1500 -bg black -fg gray -sr -tn rxvt-cygwin-native -e bash --login -i

mrxvt shell – click for larger version

rxvt isn’t the only option. Cygwin comes with its own X server which we can install by running setup, navigating to the “Select Packages” screen and Selecting X11 -> xorg-x11-base and xorg-x11-devel in much the same matter we used to install rxvt. Note: Installing X can take some time. For this step we’ll also need to install a compiler and build tools. You’ll need Devel -> gcc and make. We can use these packages to download and build the X terminal of our choice. In this example I’ll be installing mrxvt, essentially a tabbed version of rxvt (and my terminal of choice).

Download the mrxvt source tarball (tar.gz file) from the homepage to your Cygwin home directory and in your shell enter the following:

$ tar xzf mrxvt-0.4.2.tar.gz
$ cd mrxvt-0.4.2
$ ./configure --prefix=/usr && make && make install

…now create another familiar looking batch file (cygwin_mrxvt.bat?):

for /F %%A in ('cd') do set WD=%%A
set path=%WD%cygwin\bin;%WD%cygwin\usr\X11R6\bin;%path%
set SHELL=/bin/bash
set DISPLAY=127.0.0.1:0.0
set HOME=/home/fuzzix
cygwin\bin\mount -bfu %WD%cygwin/ /
cygwin\bin\mount -bfu %WD%cygwin\bin /usr/bin
cygwin\bin\mount -bfu %WD%cygwin\lib /usr/lib
run XWin -silent-dup-error -multiwindow -clipboard -xkblayout gb -xkbmodel pc105
run mrxvt -at -sl 1500 -bg black -fg gray -sr -tn rxvt -e /bin/bash --login -i

Note that mrxvt does not run natively in Windows but in Cygwin’s X server. This is essentially an entire separate window manger from the Windows Explorer with its own environment so you’ll need to pass parameters for keyboard layout etc. (-xkblayout gb is provided as an example). XWin’s -silent-dup-error parameter is supposed to (as I understand it) make XWin silently exit if another instance of X is running but this is not the case in my experience. I’d be keen to hear a solution for this.

Hopefully by now you’ll have a USB disk of some sort containing three easily launched Unix-like terminals for your comfort. You could create an autorun.inf which will launch your favourite terminal as you plug in your disk or you could add another few useful apps… My install at this stage weighs in at about 240MB – room for improvement!

A few essentials…

portableapps.com contains USB storage oriented versions of popular Free applications. While the likes of Firefox and PuTTY are most useful on a USB disk the PortableApps launcher is a little heavy. An alternative is Pegtop Pstart, a launcher which can exist as a tray icon. Portable installation should be obvious – remember to add an autorun file from the Setup menu. Now it’s simply a matter of dragging your Cygwin launchers (and anything else you installed) onto the Pstart window. It’s worth noting that the Cygwin setup.exe binary should work in your portable setup once you’ve run a shell and set up the environment – you may need to change drive letters depending on where the host mounts your disk but it should be simple enough to add/update things in the Cygwin environment.

During my endeavours to put together a comfortable environment on machines I’m not comfortable with I encountered a few brain farts… occasionally confused about whether I should be thinking in Windows or GNU/Linux or MagicalDoWhatIMeanOS… Here’s a good example:

10:23 < fuzzix> I'm trying to set up a cygwin install here. Anyone ever encounter ssh and some other apps ignoring http_proxy?
10:28 < elrond> fuzzix: WTF would ssh be doing even looking at http_proxy ?
10:28 < fuzzix> elrond: That is a fair point.

I blame lack of sleep. Anyway, in a fit of bloody mindedness I knocked together the ssh invocation which reads http_proxy…

ssh -p 443 user@host -o ProxyCommand="corkscrew `echo $http_proxy | sed -e 's/http:\/\///' -e 's/:.*//'` `echo $http_proxy | sed -e 's/.*://g' -e 's/\///'` %h %p"

…assuming your sshd is accessible on port 443 (which makes access through proxies trivial – the proxy considers it https traffic).

Upgrading to Ubuntu Edgy Eft a “Nightmare”

Sunday, October 29th, 2006

A Slashdot article indicates that upgrading to Ubuntu Edgy Eft is a nightmarish process fraught with danger at all sides.

I’d just like to take this opportunity to let you all know that the Slackware 11 upgrade I performed on my desktop during the week went so smoothly that I ended up wasting an hour looking for broken stuff (I did find something – I had to remove 5 characters from my Samba config).

Slackware – the distro for people who’ve been fucked by apt
</troll> ;)

Dell Latitude C640, Wireless and GNU/Linux

Friday, March 24th, 2006

The Latitude C640 isn’t a bad little business machine – while by no means the latest and greatest, its 1.7GHz P4 and Radeon 7500 is plenty to handle any desktop task as well as many games. It also runs GNU/Linux without any major hassles at all… Just don’t use it on your lap as the base can get very hot!

I installed Slackware as this, through a series of bizarre gardening accidents, is the distro I’m most familiar with. I can’t report any problems with the default install, although I do recommend installing the bareacpi kernel from the CD-ROM to make sure your desktop’s battery monitor and other power features function correctly. The 2.6.13 kernel in /testing should support the same features.

Radeon 7500:
You will need to edit the /etc/X11/xorg.conf file to add support for the Radeon card. Be sure the “Module” section includes:

    Load "GLcore"
    Load "glx"
    Load "dri"

…add this “Device” section if a similar one doesn’t exist…

Section "Device"
    Identifier "ATI Radeon 7500"
    Driver "radeon"
    VideoRam 32768
EndSection

…create a “Monitor” section…

Section "Monitor"
    Identifier "Dell Monitor"
    HorizSync 31.5 - 90.0
    VertRefresh 59.0-75.0
EndSection

…then add these devices to the “Screen” section…

    Identifier "Screen 1"
    Device "ATI Radeon 7500"
    Monitor "Dell Monitor"
    DefaultDepth 16

    Subsection "Display"
        Depth    8
        Modes    "1400x1050" "1280x1024" "1280x960" "1024x768" "1152x864" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth    16
        Modes    "1400x1050" "1280x1024" "1280x960" "1024x768" "1152x864" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth    24
        Modes    "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection

I chose a default colour depth of 16-bit as GL performance is better. Add the elements defined above to the “ServerLayout” section…

    Screen "Screen 1"

…and finally, set permissions for DRI so all users can take advantage of it.

Section "DRI"
    Mode 0666
EndSection

You can now run xwmconfig to choose a desktop (if running Slackware) and run ’startx’ to, er… start X. Try running glxgears from a xterm – you should see about 1000 FPS with this setup.

Wi-Fi:
There is no wireless NIC included with this laptop but luckily there are various PCMCIA options available. The MadWifi project maintains a module for Atheros based cards – this module relies on a proprietary library. There’s also NdisWrapper which can cleverly use MS Windows drivers for a wide range of cards under Linux. My preferred option was to use a RaLink based card (thanks to Liam Bedford for the pointer) – the Free Software Foundation has published a list of cards based on the RT2500 chipset and the rt2×00 project maintains a module which is fully licensed under the GNU GPL.

I chose an Asus WL-107G 802.11g PCMCIA card, as it was the first one I managed to find in Dublin City Centre… Under Slackware’s default 2.4.31 kernel there were no difficulties compiling, installing or loading the current beta rt2500 module from the rt2×00 project (I didn’t bother trying the driver included on the CD). The included RaConfig2500 frontend makes connecting to available networks very simple – click “scan”, select a network, click “connect”. The frontend’s only dependency is Qt. If the DHCP client deamon isn’t running then you won’t automatically obtain an IP address from the connection. You can run it as root from the command line as follows:

# /sbin/dhcpcd -t 60 -d ra0

Under the 2.6.16 kernel I had less luck with this module (kernel panics) so I tried the newer rt2×00 module. This is a complete rewrite of the rt2400 rt2500 and rt2570 drivers rolled into a single module. I think it was decided to do this because they contain a lot of common code. Unfortunately I had no luck with this one either. Another look at the website revealed CVS downloads for all modules which are tarred up on the hour. I downloaded the rt2500-cvs-2006032011 module and watched it function as smoothly as the beta did under 2.4.

Kernel Considerations:
Just a few notes to help you if you decide to compile a kernel:

Enable Dell Loptop Support – allows you to check on CPU temp etc.
PCMCIA: 32-bit Yenta bridge support should be sufficient.
ACPI: AC Adapter, Battery, Button, Fan, Processor, Thermal Zone.
IDE: Build in the Intel PIIXn driver for DMA support.
Networking: Enable Wireless LAN drivers & Wireless Extensions to use Wi-Fi. The on board Ethernet chipset relies on the 3Com 3c590/3c900 series module.
Graphics: I recommend compiling in the VESA framebuffer driver if you want a full screen TTY. The Xorg radeon module takes care of everything else.
Sound: The an board card uses the Intel/SiS/nVidia/AMD/ALi AC97 Controller ALSA module.

Conclusion:
Installing GNU/Linux on this laptop provided no major headaches. The minor hiccup with the RT2500 based Wi-Fi card with the 2.6 kernel wouldn’t affect my recommendation of it at all – it’s a fine card and seems to work well on every connection I’ve tried it on. All in all a good choice for the penguin fan.

The Really Esoteric, Nerdy Bit At The End:
In the quest to make every piece of hardware look wonky in some way I adopted the Dvorak keyboard layout some time ago and really like hardware that makes switching keycaps simple. So, how to do Dvorak on this laptop…

Pros: The housing for each key is the same. The keys come off quite simply. The keys are all the same shape.
Cons: Track stick.

The track stick is what you’ll hear some people call the “nipple” – it’s the little mouse pointer dealy in the middle of the keyboard. You have a couple of options when it comes to moving keys around. One is to leave the track stick as is and use a Dremel or similar to shave off the corners of the keys that will sit around it or you can simply remove the track stick. I went with the latter.

The Dell website contains instructions for removing the keyboard – follow them.

After you’ve done this pull the keyboard connector plug out of the board. You can remove the top of the connector by gently pulling out the tabs on either side of the plug and prising it off with a screwdriver. When you’ve done this remove the ribbon cable for the track stick and replace the cover making sure the keyboard ribbon connector is positioned correctly. Now pull the rubber cap off the track stick. Peel off the sticker at the back of the track stick’s board and remove the four screws holding the board in place. It should now be totally free of the laptop, ready to gather dust in a big box of bric-a-brac labelled “spares” we all fool ourselves into thinking will be useful one day. It might be an idea to place the track stick, its cap and the screws an a small bag in case you pass the machine onto someone else some day – they should be simple enough to refit. Finally, plug the keyboard connector back into the board and replace the keyboard, its screws and the hard disk. Now rearrange the keycaps as you wish.

O’Reilly and Windows…

Saturday, February 25th, 2006

Some of you will be familiar with the style of O’Reilly computer books – line drawn animal, title below inside a coloured box. I’m not sure how the animal is chosen for a particular book but having a look at some Windows related titles recently leads me to believe that occasionally it’s just whatever’s funniest. Take VB Script In a Nutshell… Doesn’t this dog just look confused? Something a little more challenging put a David Hasselhoff sort of look on his face so he decided on VB Script?

VB Script In a Nutshell

Or what about Windows XP Annoyances? I’m not entirely sure what the animal is but what this cover says to me is “Windows XP is annoying… and fugly!”

XP Annoyances

VB.net is as much fun as pubic lice:

VB.net

This one’s fairly self explanatory, I think:

Win2K Registry

C#… It’s like the blind leading the blind:

C#

And finally, a lame duck and a wet fish:

vsnet C#

Click on any of the images above for a closer look.

WMA, M4A and amaroK

Thursday, January 26th, 2006

We all know that WMA is as evil (like Dante meets Bosch in a crack lounge </Brass Eye>) but the fact is it’s out there. What do you do if you’re handed a WMA file? You could transcode it, but transcoding music is also evil and I can do without double-evil hanging over my day.

I’ve been handed WMA files by friends and have played them satisfactorily (well, as satisfactorily as WMA will allow…) with beep-media-player and xmms using xmms-wma, but recently I started using amaroK. While the xine backend plays the file, it fails to be added to the amaroK music library as TagLib has no support for WMA.

Doing a little research I stumbled upon Umesh Shankar’s WMA Support for TagLib – a version of the TagLib metadata library with support for WMA. Replace your current version of TagLib with this one, strap yourself in and feel the Gs as amaroK imports your WMA file’s metadata with impunity! Cor!

TagLib, unfortunately, does not offer support for M4A/AAC tags but never fear – it’s coming. I noticed while compiling what will become amaroK v1.4 from SVN that MP4 tagging support is included with the help of MP4v2 or FAAD2. This new version will also feature gapless playback with the xine engine – schweet…

Streaming audio on GNU/Linux – the miniest HOWTO.

Monday, January 23rd, 2006

Well, since I was asked…

This post should hopefully fill you in with a basic idea of what’s required to stream your own online radio station. This is not intended as a thorough explanation – some experience is assumed (eg, being able to install software). The purpose of this post is to go through the bare essentials.

What you’ll need:

Overview

The server consists of two main components, the streaming server (Icecast) and the source client (Ices). Icecast streams the audio to your listeners and Ices provides the encoded audio to stream. For my setup I run Icecast on my “always on” server box and Ices an my desktop, but you can run them both on the same machine. Icecast has very little processing overhead and Ices shouldn’t interfere with most desktop tasks (It runs in about 10-15% cpu on my Athlon 1800+). They both use fairly simple XML configuration files which are well commented.

Icecast

On the server side I created a directory called .icecast/ in my home directory to hold configuration data, web templates etc. A sample template/configuration should be supplied with your Icecast installation – probably in /usr/share/icecast/. If you installed from source they can be found in the source directory. I copied admin/, conf/, log/ and web/ to ~/.icecast/. Next was tailoring the Icecast configuration to my needs. The important options are:

  • clients – This sets the upper limit on the number of clients which can connect, including the source client. This should take into account your available upload bandwidth and the bitrate of your stream.
  • authentication – You should select strong passwords for all the accounts you can log into – we’re talking root password material here. It might also be a good idea to change the actual account names.
  • hostname – If you have a dyndns domain or similar pointing to your server put it here
  • listen-socket port – Something open
  • paths – Set these to the directories created in ~/.icecast/

Now you can launch the Icecast server with:

$ icecast -c ~/.icecast/conf/icecast.xml &

You can check the error log – if your configuration is sound you should see a line like:

[2006-01-23 13:38:10] INFO main/main Icecast 2.3.1 server started

Ices

For the Ices files I created a directory off my home directory called .ices/. This contains the configuration and log files. You can find a sample configuration file in /usr/share/ices or the Ices source directory – ices-alsa.xml is suitable for most setups. The things you’ll need to change are:

  • logpath – The .ices directory you created is the best place for this.
  • pidfile – Set this to ~/.ices/ices.pid – we’ll need it later
  • metadata – It’s a good idea to change this to reflect the content of your stream.
  • metadatafilename – set this to ~/.ices/ices-metadata
  • instance – You’ll need to change the server settings to point at the machine you installed Icecast on. You might also like to change the encode quality, downmixing and resampling. I chose 44.1kHz, stereo, q0 ogg-vorbis. This gives a stream of about 64kbps.

Now you can run ices with:

$ ices .ices/ices-alsa.xml &

You’ll need to set a default capture source. I used aumix to set it to capture anything that’s played on the soundcard (see the red button)

[aumix settings window]

You should be able to do this with alsamixer. I couldn’t do it with kmix. Recording everything on the soundcard gives you the opportunity to stream live from your soundcard’s line in – you could stream from a record deck or add a microphone.

amaroK

There’s a very simple reason I chose amaroK and that is the availability of a Python script called ices-metadata which plugs into amaroK and sends correct track metadata to Ices. Upon installation of this script in amaroK change the configuration to reflect the location of the Ices pid and metadata files we set above. Using this the correct track and artist names are supplied with your stream.

Notes

You don’t have to use the setup I described above, of course. There are alternative source clients you can use such as DarkIce, the Oddcast plugin or if your processing power is limited, IceGenerator which streams already encoded files. There are also other options for streaming audio servers, including SHOUTcast, the Darwin Streaming Server and VideoLAN.

You can also supply several streams to a single server – using Ices this involves adding instance entries to the configuration file. You could, for example, have a high bitrate stream for your LAN and a low bitrate stream for internet users.

Icecast has a web template to display information about the available streams. You can customise this to fit your needs – for example, I removed links to other pages (such as admin and the redundant status link) provided a link to my last.fm profile to act as a track history.

If you are concerned about security (and you should be!) you can run the Icecast server as a low privilege user in a chrooted environment.

If you have any comments, suggestions, whatever for this post feel free to leave a comment.

Playing ‘quiz’…

Tuesday, September 20th, 2005

I decided to actually check out what was installed in the Slackware bsd-games package (yes, I do install crap I don’t need)… There’s some real shit in there including tension-defecit-disordered snake games where you don’t move, text-based TV sci-fi derivatives, various board games and cribbage. Favourite moments:

$ quiz victim killer
the cat?
Curiosity
Right!
John F. Kennedy?
CIA
Right!
Martin Luther King?
CIA
Right!
Pompeii?
CIA
What?

Pompeii was the test case, of course. There’s also wargames:

$ wargames
Would you like to play a game? y
Strange, the only winning move is not to play.

I had more fun than I expected…

GMail for all.

Thursday, August 25th, 2005

In the past couple of days (with the release of Google Talk – works with bitlbee) there was an announcement that GMail is available to all in the US with an invite code sent via SMS. Am I the only one who sees GMail listed as an initial service on the standard New Google Account page? Doesn’t that render all this phone/invite business redundant?

Hot Coffee for the logic deprived.

Thursday, July 21st, 2005

For those of you who’ve had their heads under a rock for the past several years or are just too young/old, the Grand Theft Auto series of games are some classic cartoon crime capers where you play various villains in various backdrops trying to attain wealth and power. In its latest incarnation, GTA:San Andreas, you play a gangsta rap style crim who rolls with his homies, performs the occasional drive-by, eats fast food, wears garments of a certain colour and so on.

Recently a mod (modificaton) appeared on the interbleh which allowed you to perform a sex scene with your virtual girlfriend. This has caused a bit of a stir in the good ol’ US of A where puritannical views are the norm and what you do in the bedroom is subject to the closest scrutiny just in case you’re pissing off some God character from a song their kids are forced to sing every morning – or at least that’s my understanding of it. I’ve been known to miss the point when it comes to this sort of thing. Even Hilary Clinton’s got her oar in, although the idea of extramarital sexual activity being uncomfortable to her might be understandable.

It took me a while to get this situation straight in my head… This is a game where you can, if the mood takes you, go on a cop-killing rampage, beating up a few prostitutes and old ladies along the way just for the fuck of it… You learn to beat people up more efficiently at the gym with different combos of button bashing. You can pick up a few gang members, steal a car and go on drive by shooting sprees in random neighbourhoods but, correct me if I’m wrong here, the game becomes too extreme when the protagonist makes love to his girlfriend? Is this the gist of what’s going on here?

Well now, that doesn’t make a lick of sense. Could this just be the convenient scapegoat the censorship fanatics have been looking for over the past decade or so? Ever since DooM (you remember, that low res, comedy, gore ‘em up where you blasted holes in pink/purple/red, squishy looking demons with physics defying weapons) became a training camp for everyone with a heavy metal CD the logic deprived have been chomping at the bit to exercise some control over the whole video game thing. It’s nothing new – they’ve been doing the same with music for a long time (although that’s calmed down a lot since they gained control of that whole thing anyway, adding it to their catalogue of other Hollywood monstrosities like movies and television. I still remember these guys getting Ozzy Osbourne and Judas Priest records and playing them backwards to hear what Satan had to say and no amount of The Darkness, Blink 182 or whatever else passes for rock music these days is going to make me forget. I like my theatrics and posturing with a little edge).

Well, they got their wish. It’s effectively no longer on the shelves in the Land of the Free until a new version is mastered where you’ll just have to blow the heads of twice as many cops in a futile attempt to relieve that sexual tension.

*edit – 25 July* Oh, it gets better. Well known kook Jack Thompson has launched an attack on The Sims 2 (you know, that tame life-em-up for those with no lives?), railing against its full frontal nudity, including nipples, penises, labia, and pubic hair. I think Mr. Thompson has some serious problems that I’m not going to even begin to speculate on.

Know this, web designers…

Monday, July 11th, 2005

If you create a site which makes ANY noise then you’d better invest in a pair of asbestos undies because you will burn in the eternal fires of hell where imps will nibble at your extremities and bugs will crawl in and out of your facial orifices. I don’t care if it’s a “blip” as my cursor rolls over your gratuitous Macromedia Flash buttons or a song playing on your shitty band’s webpage… You are evil and your eternal reward has been revoked.

You see, I listen to music on my computer… I’ve spent hundreds of hours capturing my vinyl, tapes and CDs to the hard disk so I can conveniently pump out some tunes with a click of the mouse or a tap of a few keys at the terminal. If you interrupt that in any manner then you have detracted from this convenience for no good reason and you’ve just lost yourself a visitor. I’ve almost considered installing a poorer quality sound card which can’t play audio from more than one PCM source because of you fucks.

I would remove the plugins which intrude on my space but… Well, here it is. Web designers who needlessly embed content, links or any other functional elements in applets/plugins are doomed to the same fate as those who force me to hear shit I do not want to hear. I have proprietary garbage infesting my browser’s stability all because you can’t be arsed to learn HTML other than <embed src>… Eternal flames, imps with the teeth and the gnashing, weird bugs and Slayer album covers await you.

Notes:

  • I am an atheist. I am currently tendering for construction companies to build “Web Designer Hell”.
  • I do not download music so untwist your undies, IRMA. Major label music sucks Satan’s cock. Atheist and all that, so I am currently tendering for construction companies to build “Satan’s Cock for Commercial Bands to Suck On”.

Relax, Cory… it may just be a mistake.

Tuesday, June 28th, 2005

Just reading this boingboing.net post… Now, I’m as guilty of employing empty rhetoric in my screeds as the next irresponsible dweller of what is irritatingly referred to as the “blogosphere”, but this is some prime emotive wailing.

In amongst the indignant retelling of the struggle of the small pubisher against censorship the following line screams at me: “…users of Surfcontrol’s paying customers will be walled off from Boing Boing the same way that Chinese and Iranian citizens are prevented from seeing parts of the Internet due to the judgements of unaccountable authorities in those countries.”

…and there was me thinking Surfcontrol’s customers chose to employ a web filter, but no. Apparently Surfcontrol Ltd. is some sort of dictatorship depriving people of access to the truth against their will. Who knew?

Now, correct me if I’m wrong here but hasn’t boingboing.net linked to materials in the past which some might refer to as ribald? A recent post regarding a “Walt Disney Memorial Orgy” springs to mind. Now, while maladjusted people like myself nudge friends in the ribs at the sight of such an image it must be stated that it’s not for everybody. You might call these people prudes living in a Victorian self denial but you can’t deny their right to control what they see, even if that involves “censorware”.

Just to be clear, state enforced censorship boils my blood (I bought the T shirt) but if someone doesn’t want to see the 7 Dwarfs raping Snow White then I think they’re within their rights not to visit boingboing.net and I’m unsure about whether or not boingboing.net’s inclusion on Surfcontrol’s shit list is a simple clerical error. I can only guess the 24 hours mentioned in the post is employed in checking the site over for the sort of content which paying customers wish to block – I mean, it’d be a pretty lousy service if all it took was a phone call to get your website off the list.

Wikibooks…

Tuesday, June 28th, 2005

Just spent a few minutes engaged in a light browse of Wikibooks… Wow. There’s some serious info on there. Some examples include:

How To Tie A Tie which includes the gem: ‘I hate to impose pain on a fellow human being but these are just the facts: a properly tied tie damn near chokes a fella. After all this effort, you’re gonna want your tie to look right, so take a breath, cinch it up nice and tight, and just enjoy the hallucinations of depressed O2 levels. This saying always helped me: “If you’re face is blue, the tie is square and true.”‘

Shaving which informs the reader about removing genital hair like so: “Use great care. Remember that it will itch so badly that you will wish for sweet death once it starts growing back – consider waxing as a sane alternative.”

and How To Build A Pykrete Bong which includes the following advice for the casual bong-toting pot smoker: “Cannabis may be illegal – Please check all local laws before attempting this.”… Well, they might have forgotten.

The above examples were just drawn from the list of recently authored articles. I think delving any deeper will have me sat here all night… So be it.

ARG! /me kills #lugradio.

Tuesday, May 10th, 2005

While Debian Mornington Crescent is a genius stroke it didn’t go down well in the fuzz camp. I have this mental association between Mornington Crescent and The Game.

…and because misery loves company you all just lost…

Gnome and KDE

Wednesday, May 4th, 2005

Well, it was past 1 am but we managed to sort the whole thing out…

01:18 <fuzzix> GTK+ is nice but Gnome is... hiding something from me.
01:18 <hrflemming> from me too
01:19 <hrflemming> maybe some snob thing?
01:19 <fuzzix> Possibly, but KDE guys just want a desktop - Gnome guys want another faith.
01:20 <hrflemming> for me it has to be functional and clean looking
01:21 <fuzzix> KDE is messy and ugly, but everything's right there.
01:21 <hrflemming> yup
01:21 <fuzzix> I have a messy life - having everything right there is what I want.
01:21 <hrflemming> hahaha
01:22 <fuzzix> Gnome makes you search through drawers and closets for what you want... With KDE it's on the floor somewhere.
01:22 <fuzzix> Just where I left it.
01:22 <hrflemming> gnome looks nice somehow but i just don't like it
01:22 <hrflemming> haha
01:22 <fuzzix> :)
01:22 <hrflemming> good picture

John C. Dvorak is on crack.

Friday, April 29th, 2005

A recent Slashdot article reminded me of the presence of one John C. Dvorak in the tech journalism world. For those of you who aren’t aware, John writes for PC Magazine (which I once bought an issue of out of desperation – it’s pure PHB material.) He regularly appears with poorly conceived screeds where he makes a total ass of himself and folk like me either roll their eyes or collapse into fits of laughter for longer than is comfortable. Here’s a selection that cropped up after 15 minutes browsing his vast library of astute observations…

Concerns with the Future where John takes umbrage with such diverse issues as “Meta e-mail etiquette” where people fob him off with a dud address, “Domain name registration” where the existence of ICANN seems to have slipped his mind and “CSS” where he actually, no bullshit here, actually wants a WYSIWYG CSS editor! Yeah, and I want a WYSIWYG CGI generator. Anyhoo, one of the prime quotes in this piece is under the heading “Power plugs on airlines” where John laments about falling for some non-standard plug scam. The gem: “This was a DC system, so people couldn’t have been electrocuting each other.”

XP Decay where John has no fucking idea how to use his operating system. He seems to think it’s OK that hitting Ctrl-Alt-Del twice should force a reboot of the system – now, my hand isn’t the steadiest in the world and I’ve been known to hit a key combo twice by accident… He suffers “Screen Anomalies” which would indicate a much more serious dysfunction than anything in XP – video card (or its fan) springs to mind immediately. He suffers “excessive refreshing” which sounds a lot to me like explorer crashes. The golden nugget here is the bit about the “System Idle Process” which John seems to believe is hogging 95% of his processing resources all day. He then goes on to talk about some unrelated responsiveness issue (probably his video card) which only added tears to the laughter.

How To Kill Linux where John might have been more coherent if he didn’t keep dropping his crack pipe. He speaks of “Linux running under Windows” but also the “death of Linux”. He talks about “Open Source law” (I think he means licensing – he seems completely unaware of the LGPL later in the piece). He predicts “MS-Linux”. Basically, this is a case of a man talking out of his arse while assuming a tone which suggests he’s figured it all out… The cubic zirconia: “Since plenty of commercial products ‘attach’ to Linux and seem to be protected from the GPL, I have to assume that the scenario I describe is possible.”

Doom 4: End of the Game Industry? where John has never played a game in his life, but has somehow grokked it all. Now, John makes a serious mistake here by making an assumption and basing an entire article on it, namely “the genres all have the same names therefore the games haven’t developed!” which is a little like suggesting Gran Turismo 4 has nothing to offer that Atari’s 1976 arcade steer-em-up Night Driver didn’t. He recalls some collapse of the games industry which I don’t recall (unless he’s referring to some post-Pacman ennui). He asserts id’s DooM 3 has nothing to add to id’s seminal Wolfenstein-3D. He laments the tradition of the end of level “boss” character. He misses the point of “Starship Troopers” entirely (although to be honest, much of the point is lost in the movie, as expected). He admits he’s nauseated by red-coloured polygons. He insults gamers by suggesting they have no life. He basically doesn’t fucking get it… Quoth Abe Simpson: “I used to be with it, but then they changed what ‘it’ was. Now, what I’m with isn’t it, and what’s ‘it’ seems weird and scary to me.” In defense of John here, there are many repeated elements in games that hark back to yesteryear, but there’s plenty of new shit too. DooM 3 might have basically the same gameplay paradigm as Wolfenstein-3D but suggesting they’re the exact same thing with some silly graphics added is insulting to John Carmack’s work and the rest of the id team. The genre is being refined to a fine art and I, for one, am very interested to see how far it goes. Oh, and I’m not sure there will be a DooM 4 as I remember John Carmack suggesting he’s learned enough about 3D to satisfy him for the mo. Elizabeth Duke sovereign ring: “I complain to my kids about this, and they insist that things have changed markedly. They show me examples, and all I see are tweaks and weirder, mostly stupid weapons.”

You can find more of John’s special brand of insight here.