Laptops are complicated wee beasties!


Last night when I went to bed my new (to me anyway) Powerbook G4 was working fine. This morning when I got up it was severely misbehaving - there was 9.5gb of RAM in use and nothing was responding. I started shutting everything down and at one point tried to turn off the local ColdFusion 8 server using sudo, only to have an error that my account wasn't in the sudoers list; given that my account was an administrator, this was not good. I left it to continue rebooting but when I got back, a half hour later, it had pretty much frozen up trying to load a few starter apps. This, along with the noise coming from the drive, told me what I already knew - the drive was dead.

Given that I bought the laptop off a guy on ebay two weeks previously, and that there was no extended warranty on it, I was up the proverbial creek. Given that I had to go meet someone anyway, I jumped in the car and picked up a new drive, along with an external USB chassis for the off-chance I'd be able to access the data one last time.

Well, that was the easy part. The tricky part was opening up the blasted laptop. There is a covered panel on the bottom of the 12" Powerbook G4 (1.33ghz model) that for some reason in my anxiety I mistook to be where the drive went, despite the obvious fact it was too small, and the fact that the nice KLACK!! noise came from elsewhere. The first problem of the repair - I didn't have a screwdriver the correct size. So off I go looking for a repair kit that would have a full set of screwdrivers and other tools; the first store I checked stopped carrying tools because they wanted to sell their services (or simply a new computer), and finally I got the last set of six "precision" screwdrivers at Wallyworld. After opening up said panel I felt like slapping myself as I was presented with: the memory upgrade slot. Yay.

At this point google was my friend and I found a full manual that detailed exactly how to disassemble our Powerbook. Let me tell you, this was a complicated wee beasty - tonnes of screws all over the place, some hidden behind keys on the keyboard. In addition there were two "allen"-type screws that I didn't have a correctly sized key for, so off I go to Lowes. Some of the screws were also very tightly in place, and there were several times I had to awkwardly put pressure on this tiny little screwdriver so that it would break the seal, but not so much pressure that it broke anything else; and did I mention the screwdriver was tiny so it was difficult to twist?

After much frustration I finally got all the way down to the very last screw holding in the dead drive only to realize that a) the screw was really tight, the screwdriver was wearing away and would probably rip the threads off the screw, which would have been bad. So off I go to Lowes again to get another set of screwdrivers, and this time I struck gold - a larger screwdriver with interchangeable tips, which worked wonderfully well, and I wish I'd had it earlier.

So finally I get the new drive installed, close it all back up, boot and... it works! After last week's data loss I'd made a full backup of the now dead HD to an external drive so was able to do a restore off it. Eight hours after discovering that the drive was dead I was finally able to work again. ARGH!!! <sigh>.

On the other hand, I'm looking forward to OSX Leopard's new Time Machine backup system. Since I'd ran the backup I'd copied about 100 pictures off a camera memory card and saved some timesheets - the pictures I'll probably be able to recover off the card, but I'm going to have to retrace my time for the timesheets, and hope I get it right.

Oh, and annoyingly, with the price of the replacement drive and all the hours of work I've lost for the day, I could have bought a refurbished MacBook that had an actual warranty. Argh.

So, did I mention that you should backup often?

ColdFusion is *not* Java


Scott Stroz just posted a great article over on Doug Hughe's site regarding the tendency some people have of rejecting feature additions to ColdFusion because the feature can be done using CFML's Java underbelly. In my 3.5 years of developing with ColdFusion full-time I've seen countless times that experienced developers recommend that others "just use Java" to fill in missing functionality in ColdFusion, functionality typically available in competing technologies like Ruby, PHP or C#.

I started using CFMX6 and was immediately impressed by how easy basic things were. Want a query? Just use one simple command. Want to display your results? Just loop over the results or just start using the query variables on your page - it automatically shows the first record if you don't tell it otherwise. Easy, just like it should be. In addition there was extra depth behind it - CFML's object oriented system, frameworks, etc, allowed those who needed more to do so, while still staying in CFML.

As someone who came from a PHP background it was, however, rather apparent that even back then there were a few things missing - image handling, secure transfers and a database agnostic querying system were obvious ones to me. CFMX7 did not appear to me to further the cause - most of the additions seemed to be aimed at the "enterprisey" market, especially the event gateway feature, and most users weren't going to spend $6000 on that.

The folks that recommended using Java for day-to-day things were IMHO short-sighted and were doing ColdFusion a disservice - what should have been a push from the community to get the feature added to the core system, to have another feature given the "ColdFusion easy-to-use" work-over, the developer was being pushed towards a much, much more difficult technology. People who learn ColdFusion don't do so to use Java, they do it to use ColdFusion, just like you wouldn't learn PHP to use the C++ language it is written in.

Thankfully ColdFusion 8 (the "MX" was disposed of) has brought it back to where it should have been - neck and neck with similar tools, ahead in some cases, and back to making simple websites simple again. No more will we have to "just learn Java" to resize an image, or securely transfer files from other servers, and we gain easier AJAX routines, easier page layouts, and many more tangible and more usable features that will benefit a greater portion of the market, all wrapped up in an easy-to-use package.

So, well done Adobe, ColdFusion 8 is great, and I've got a request in at work to upgrade to the newest version.

Vista sucks, let me count the ways


Microsoft's Windows Vista has become the most hated release of Windows yet - missing features (hardware accelerated GUI, database-based filing system, smart search engine, etc), irritating features (the security requesters), confusing number of editions (seven available in the USA, two more in Europe), confusing graphics system (DirectX 10.0, incompatible with the upcoming DX10.1, slower than DX9), and more.

The latest thorn in its side has been the controversy over network throttling when media is being played. The problem is that when Windows is playing audio, even if the player is paused, it limits the network speed to half what it should be. Just wonderful. You buy a multi-gigahertz machine with multiple gigs of ram, several hundred gigs of disk space, but yet playing music makes your network speed drop to half what it should be.

Needless to say this hasn't sat well with, well, anyone outside of Microsoft. While there haven't been any public floggings yet (aw!), Microsoft's uber guru Mark Russinovich replied saying (paraphrase) "well, the network uses a lot of CPU, so to make sure the audio plays we naturally had to throttle the network". 41% CPU usage for copying a file across the network!! ZOMGZ!!!1!

So, to set the record straight, Linux kernel hacker Robert Love responded with a wonderful reply that cut Mr Russinovich's reply to shreds, simply saying that Vista is poorly designed and that Linux doesn't suffer from the same stupid bugs. Thank you, Mr Love.

Linux (and every other well designed OS): (best French accent) douze points

Windows Vista: (best French accent) nil point

Dumping Outlook again


Well, enough of that, I'm dumping Outlook off my Mac again until I can work out a better way of doing it. I spent another half day putzing around with it as it decided to explode on me. I went back to an older backup of the Crossover "bottle" but it still didn't work. Created a new bottle with Office XP, it wouldn't work as I hadn't ran the setup program yet?!? Then I created another new bottle with Office 2000, which is supposed to be more highly supported than the newer releases - even it didn't work, complained about there not being any network connectivity. Argh.

Compiling software is a pain - Cygwin, PHP, MySQL


I'm working on a lengthy article explaining how to install a bunch of web server software in Cygwin and I've found that I have to manually compile several key pieces. While I'm not unwilling to do this, the sheer hassle of having to go back 'n forth testing different configuration and installation options is a pain. Why on earth PostgreSQL can be available through the Cygwin installer but MySQL isn't is beyond me, likewise for PHP - every Linux distribution on the face of the planet includes them so why can't Cygwin? I've easily lost over a day of work due to this, a day that I could have spent designing a new system in Ruby on Rails that I've been tasked with.


Subscribe to Rants