PCs
You know, I kind of liked Vista
<Snakeman^Engineer> Do I sense some hatred towards Windows Vista originating from your direction?<Chrysalid^Revenge> Oh no, not at all* Chrysalid^Revenge stands up in a medieval recitation pose<Chrysalid^Revenge> “OS X for the Mac users, pretentious in their coffeeshops<Chrysalid^Revenge> Gentoo for the nerd-lords in their mother’s basement<Chrysalid^Revenge> XP for the everyday user, bound to muck around with bloody settings and registry values they should damn well leave alone<Chrysalid^Revenge> Then Vista from the Dark Lord behind his desk<Chrysalid^Revenge> In the Microsoft office, where crappy programming is performed<Chrysalid^Revenge> One OS to eat your RAM, One OS to spy on your digital media<Chrysalid^Revenge> One OS to screw them all, and in frustration bind them<Chrysalid^Revenge> In the Microsoft office, where crappy programming is performed”<Sectoid^Authopsy> Whoa!
The wi-fi doesn’t work. I give up. I’m going back to… Linux
Linux and wi-fi. They normally go together like a square peg and a round hole. Every wireless adapter I’ve had the past few years has had at least some problems running under Linux. Ranging from my USB WPN111 putting an end to my first foray into Linux (“screw this – no internet, it’s too much effort, I’m going back to Windows”), about 2 years ago, to my current laptop’s random DNS failures when I used WPA2.
So, I was pleasantly surprised when my new TP-Link WN821N worked straight away on Linux on my desktop PC. Given that is was a €20 Wireless N adapter, I didn’t expect it to. All well and good. Then it came to Windows. Expecting it to be simple as usual, I installed the driver. The wi-fi thing showed up, I used Connect to a Network, and… No network.
Several minutes of googling later reveals there is no Windows 7 driver (which is what Server 2008 R2 normally uses). Instead there is a Vista driver, which is no good in this case. So I’ve either:
- Ran into one of those edge cases where the difference between Windows 7 and Windows Server 2008 R2 actually does matter.
- Ran into one of those edge cases where the difference between Vista and 7 does matter
or
- Both
Which really sucks. Especially when the majority of what I do on that desktop using Windows is gaming. (Yeah, yeah, gaming over Wi-Fi, tut tut…). Gaming sans multiplayer is kind of limited. I mean, sure I can play Fallout 3, and Oblivion fine, but what about Team Fortress 2? Oh, hold on, that works on Wine. Actually, so does Fallout 3. And openTTD. And that’s basically all I play in PC games lately.
Right, so why am I running Windows on this machine? My copy of Visual Studio is from DreamSpark (as is my copy of Windows, which is why I’m using Server 2008 R2 in the first place – it was that or XP, I’ve no Windows 7 yet, and my Vista disc is a Dell OEM disc), which I’m fairly certain can only be installed once, and it’s already on my laptop. uTorrent and Paint.NET both blow away their nearest competitors on Linux, but uTorrent is useless without an internet connection, and Paint.NET is only one program at the end of the day.
So, screw this – no internet, it’s too much effort, I’m going back to Linux*. And that is something I never thought I’d say when I first started experimenting with Linux. Of course, most of this is TP-Link’s fault. If some random outsider can write a working driver for Linux, I don’t see why they shouldn’t be able to write a driver for Windows 7. I won’t be buying from them again.
* On this desktop at least, on my laptop I still dual-boot to have VS for programming Windows languages, and iTunes for syncing my iPod Touch.
Building a PC
A while back I decided to build a PC from parts for the first time. Why didn’t I ever do so before? (a) Lack of money, and (b) Worry I’d screw something up. Of course, what kind of computer nerd would I be if I never built my own?
So first things first, the specs (some components old, the rest ordered from komplett.ie):
- MSI G41M-F Motherboard
- Intel Core 2 Quad Q8300 (2.5Ghz)
- Geforce 210 (512mb)
- 2GB RAM
- 630W PSU
- 500GB HDD
- Nox Saphira Case
- DVD±RW drive
Nothing astounding there. A decidedly below-par graphics card for a new system, but considering it was my first buld, I didn’t want to spend loads in case I screwed up. Plenty of room for expansion later however.
The first part of the build went easy enough. A minor beginners mistake when I didn’t check which way I was putting the heatsink beforehand, so I had to unwrap more of the CPU fan cable than otherwise needed (which meant I later had to cable tie it to another cable to keep it away from the fan blades).
The system was assembled and wired up, hassle-free. Turning it on first time yielded spinning fans, spinning hard drive, running graphics card, no CD drive and no display. After a minor panic attack, it turned out I’d forgotten to plug in the extra 12V power cable for the motherboard. That solved, the system booted up fine.
System setup was the next step. The first OS to go on was Windows Server 2008 R2. Why Windows Server? Because I’m a cheapskate, and could get it for free from Microsoft Dreamspark. That started installation. Everything looked fine, but it froze at expanding Windows files. A quick install of Fedora 10 proved the system was capable of running an OS, and even Windows XP ran fine. Then it dawned on me. I burned a new disc, and Server 2008 R2 installed fine.
A little tinkering was needed to get a decent desktop experience from the Server OS. This is actually so common, there are websites for converting Server 2008 to a Vista-esque PC and the same for Server 2008 R2 to 7.
The system runs fine, and can handle all my games without any difficulty, except Fallout 3. I don’t know what’s causing the Fallout 3 problem, but it freezes randomly within the first 5 minutes. A quick google reveals some people have the same problem with Windows 7, so it may just be an incompatibility, so I’ll have to hang on and wait for another patch.
In total (remember, some parts are from old systems), this build cost me just under €350. Could I have gotten a comparable system for €350? Checking on Dell, the same money would buy me a Pentium Dual Core E5300 and integrated graphics, so probably not.
Footnote: I’ve written this post while trying out Windows Live Writer. It seems cool. My one problem is it doesn’t quite render my theme right in the edit section, but apart from that it is fine. Anyone know of any Linux programs with similar features?
Dear Adobe, Apple and Sun, your update is not important enough that you have to crash my game
Auto updaters are great. They keep Windows secure, they save me having to manually install each time with Firefox, they’re completely transparent with Chrome and on Linux, the whole system’s updates are controlled through the one interface. Some are less ideal. Paint.NET prompts you to update on startup, usually when you’ve just turned it on for a quick edit (and you can’t use it while it downloads the updates – apparently this is fixed in the newest version). It’s still better than nothing however.
There are one class of updates that aren’t quite so great however. These are the ones that decide they need to sit in your system, all running simultaneously. And when there is an update? It’s so important that they need to pop up a window to alert you of this, even if you have no intention of going near said application for a week. Or maybe they are like Apple’s. An update to iTunes includes Safari by default. Why?
The other day, I was two hours into a Supreme Commander LAN party. While I was about to start the final attack, what happens? The game minimizes, and a message pops up. New update for Adobe Reader. Last time I opened a PDF was a week ago (against my will). On my system, once you minimize any of these games:
- Oblivion
- Supreme Commander
- Call of Duty 5
- Team Fortress 2
- Unreal Tournament III
- etc.
They aren’t coming back up again. Say goodbye to your progress if there isn’t a recent save. I tried in vain to start the game again. Click the taskbar entry. Up pops another Window:
“Supreme Commander Application has stopped responding”
It closes. I end up disconnected from the LAN game. Up pops to the nearly defeated player “Macha has been defeated”. All because some stupid cruddy app to open files created by those too lazy to make an actual web page decided it needed to update itself right now. (Yes, I am aware Adobe Reader and PDFs are useful to some people in some situations. I am not one of them).
While the Java updater was not the guilty culprit this time, it has been at other times, with behavior similar to that of Adobe’s updater.
That is one clear advantage to console gaming. The nearest equivalent is the 360’s forced update or be signed out of xbox live being applied to single player games as well, and that’s not nearly as bad.
I can remove these applications from startup of course, but somehow they seem to always make their way back there.
Source control and me – Why I use git and github
The biggest change to programming for me this year (apart from spreading out from just PHP and Javascript) is that I now use source control for most of my projects. I started out on subversion because it was widespread, easy to use (with TortoiseSVN, I was still a Windows “everything must be GUI” user at the time), and there was a handy tutorial for it published for it on a blog I happened to read. I used that for a good while until a friend showed me git and github. I’d used Sourceforge and Google Code for a while, because although my projects are too small for anyone else to be interested in adding to them, the benefits of having a remote source control service that’s always accessible from any computer are huge for me. And it’s handy for showing people the program in more detail if I need help on Stack Overflow.
While I was (and still remain) unconvinced about the benefits of distributed source control versus normal source control, and more specifically of git vs svn, the benefits of github versus google code (which I had been using at the time) were more than enough to convince me to make the switch. It also helped that at the time, Linux had recently become my main OS with Windows being relegated to usage for syncing my iPod Touch and gaming, and I had become much more familiar with CLI usage of the system, so the command line orientation was no longer the problem it once was.

Look at the pretty graphs! (ignore Chromium for Linux's fail at positioning. My cursor is actually on that big green dot on my screen. It's just the screenshot gone wrong. This is the fault of flash+chromium, not github)
Setting up git and github was simple. I could give you instructions on how to do it, but Sirupsen has already done this much better than I could for Linux users. For Windows, there is another tutorial hosted on github,
Usage of git with my github account is equally simple.
- Change files
git commit -a- Type commit message into nano (or vim if you’ve changed your system editor, or notepad if you’re on Windows)
git push origin master
The only thing I missed during switching was that Subversion numbers revisions like 1, 2, 3…20000 while git uses md5 hashes. But I can live with that.
Uploading a PDF is not putting information on the web
One thing that alwasy gets on my nerves is when I go to a website to read an article and the web page turns out to just be a summary of the article with the full article in a PDF. 99/100 times, this results in me leaving the page and finding the information elsewhere. There are other variations of this: “See our website for information”, and the information is a PDF file is another common one.
If I did click on the PDF, what would happen? On Windows, Adobe Reader would open up (slowly, sometimes taking as long as 5 minutes), then the PDF file would start loading. If I was lucky, it’d be in a browser tab. If I was unlucky, it’d be in a whole new window. On Linux, it’d open in Document Viewer, which is faster. However, I would then be unable to click any links in the document.
Why would anyone supply on the web, a page that needs an external application to run outside the web browser and call it putting information online? Especially when said application has had security problems in the past. It just strikes me as being very lazy.
Theme Hospital on modern computers

One of my favourite old games is Theme Hospital by Bullfrog. I still have my original disc, and play it a lot. It has a lot of charm, but it’s not always simple to get running. So I’m writing up this guide on playing Theme Hospital on a modern PC. It has been rereleased a couple of times, but my disc has both the Windows and DOS versions on the one disc.
First of all, if you are running a 32 bit version of Windows, have the Windows version, and have no intention of playing the multiplayer mode, just insert your disc and install away. It still runs perfectly up until XP. On Vista on my PC, I had to set the compatibility mode to Windows 95, and turn “Run as Administrator” on and it worked from then on. The same steps should work the same on Windows 7 32bit, but I don’t have a computer running that to check.

If you have 32 bit Windows, and the Windows version, just play away.
If you want multiplayer, or you have the DOS version, things become more complex. For Vista, the IPX network protocol, which was used by Theme Hospital, along with many games of it’s time has been removed. There is a hack to enable IPX in Vista, but it does not allow you to change the settings, and did not work for me. If you have XP or earlier, installing IPX to the Hamachi VPN software apparently works but I don’t have access to a XP computer to test it.
The final option which I eventually resorted to using is to install Theme Hospital to DOSbox. This works on all Windows versions from 2000 up, and for Mac OS X and Linux aswell. Download and install DOSbox. Make a folder to store the files. I reccomened you make it something easy to type such as C:\hospital on windows on /home/user/hospital on Linux/OSX. Then open up DOSbox. You will be presented with a DOS prompt. Type the following:
Linux
mount C “/home/user/hospital”
mount D “/media/cdrom” -t cdrom
Or Windows (replace E: with the actual drive letter of your CD rom drive)
mount C “C:\hospital”
mound D “E:\” -t cdrom
Next we need to install Theme Hospital to DOSbox. First, when your cursor is stuck in the DOSbox window (as happens later in the process), to get it out press Ctrl-F10. Now, in dosbox type:
D:
setup.exe
This will open up the Theme Hospital DOS installer. Click the install button and let it install to C:\HOSPITAL (note: For windows users, this is equal to C:\hospital\HOSPITAL on the actual system). Then go to the configuration screen. Configure your sound card and music card. I found selecting Creative Sound Blaster Pro worked fine for me on Linux and Windows. I did have to turn my system volume up to full on Linux to hear it as the volume was stuck down low, however.
To avoid typing in the mount commands each time edit your configuration file. On Windows click the edit configuration file shortcut. If you are using Linux, you first have to issue the command CONFIG -writeconf dosbox.conf inside of DOSBox. Afterwards, the dosbox.conf file will be written to your home directory.
At the very end of the file, add the mount commands you entered before installing the game.
Afterwards click exit. The DOS version of theme hospital is now installed on DOSbox. If you want to play multiplayer, read on. Otherwise, you can stop now.
Edit your configuration file again and replace the line:
ipx=false
with
ipx=true
For each additional computer you wish to play it on, repeat the above process. Finally pick one computer as the host. On that computer start DOSbox and type the same instructions as startup last time, but add this before starting the game
ipxnet startserver
ipxnet connect 127.0.0.1
Find the host’s IP address. For internet play, try whatismyip.com. For local network play, check your network connections dialog.
Now on each client computer type the following (replace the 10.0.0.5 with your host computer’s IP address):
ipxnet connect 10.0.0.5
And start the game on all the computers, enter the network game screen and play away.
Some Final Notes
Gameplay performance on the same system was much better on Vista than it was on Linux. The game played perfectly under Vista, while under Linux the sound was noticeably choppy. Whether this is a problem with DOSbox or with my computer’s drivers is not certain.
I’m not sure if it is possible to play the Windows version against the DOS version. I have not tried.
Windows does partitions wrong, but so does Linux
Back when I first installed Linux, when I had said I had a 60GB partition to use, the advice I got was: Match your swap partiton to your RAM, use 10GB for /, and the rest for /home .
Yesterday, I started getting errors everywhere. So I turned it off and on again. When that didn’t work, I actually read the errors. “No Space Remaining”. I go “WTF, I only used about 12GB”.
So after spending a while looking at the disc usage program, I notice something. It lists / as full with 9GB/9GB used. Then I realise the problem: My / partition is full. (which is presumably also the location of /tmp , hence the errors).
Luckily my swap partition was in between my / and /home partitions, so I’ve deleted that and recreated it at the end of the disc. (which took a bloody long time, and required finding that LiveCD again).
This makes me wonder: Is Windows’ system of drive letters rather than a defined purpose (which is often a point of criticism) such a bad idea? When on Windows, my C: drive filled up, I just needed to move files en masse to my D: drive. Still slow, but doesn’t require even a reboot, much less depending on where my swap partition just so happened to be because of the order that I used when installing the system.
For those of you wondering how my programs and system data are significantly larger than my files, here’s the amount of file storage I’ve used on programming:
- Eclipse: 130 mb
- Eclipse plugins: at least 20mb, possibly as high as another 100mb
- jdk/jre: ~30mb
- Apache/PHP/MySQL: ~100mb
- Many other programming tools
- Actual programs I’m writing now: < 20mb (Older ones are stored on a network drive)
Representing partitions as drive letters is clearly wrong, because the file system is supposed to be abstracting the actual physical hard drives out of it, but representing them for one use is also wrong. How can I predict when I get a new computer that I’ll need x gb for data and y gb for programs?
An ideal OS would abstract all of this away, so you just have storage and don’t have to deal with the actual drives you have, what partition a file goes in, predicting your disk usage, which partition is on which drive etc.
Pricing weirdness, digital downloads difficulties
Sometimes with video games, the pricing can be ridiculous. Not always ridiculous as in too high (but it often is) but ridiculous because they defy logic.
One example of this was around 6 months ago, the Orange Box for 360 was priced at €30 pre-owned, the same store sold it new for €20. Another example was during Zavvi’s closing down sale. They claimed to have amazing offers. They did but not quite in the sense they meant. Mirrors Edge reduced from €60 to €59.99. Quite underwhelming.
Another case of bad pricing is on Steam. They converted $10 to €10 for Garry’s Mod. Another page has a TF2 + Gmod offer at $25 or €25. $1 is not €1. A quick google reveals the current exchange rate is $1 -> €0.71 .

€25 = $35
Combine this with the poor broadband connections in my area (1 meg) and Steam’s frequent downtime, and digital downloads don’t look very appealing any more. And Gamestop’s PC game prices are far more reasonable now than they have ever been before. €40 for the Sims 3 or E:TW, PC games are now cheaper than even Wii games. When I bought E:TW, that was cheaper than the price on Steam (€49.99) . And Steam is supposed to have lower costs to distribute these games… Like duty-free shops that can charge much less, but mysteriously don’t.