Ctrl-H
For whatever reason (probably cause most of it’s true), Jamie Zawinski’s rants crack me up. I haven’t been to his site for probably six months now, so it was quite a treat given that there were a handful of “new” rants for me to read.
I started with his the unfrozen caveman hacker show rant, which in itself is funny. While most people might “get it”, it’s something completely different if you have actually seen it in action. And I have seen it; in first year at University of Calgary in 1993 the only “computers” you had access to were green screen dumb terminals from the mid-70s or something.
The best part about JWZ’s rants is that he links to his other rants, which led to his l33t hax0r rant, which also made me chuckle. I’d read it before but it was so long ago I’d totally forgotten. The image on the cartridge cracks me up.
Turbulent Circuits
In order to remain current for night flying with the Calgary Flying Club, pilots must complete at least 5 takeoffs and landings within a 90 day period. With a holiday in November and Christmas in December, I was getting close to the end of my 90 days.
The surface winds for most of the day were straight down (or just off) the active runway but were 19+ knots, gusting to 25 knots. But by the time I got out to the Springbank airport, things had calmed down considerably, with the wind blowing at 14 knots straight down Runway 25. And at 0300Z when I was holding short at Charlie for 25, it had dropped further to 12 knots.
The first three touch and go’s were uneventful; boring almost (I hate doing circuits). But it was as if Mother Nature was reading my thoughts because circuits four and five brought moderate (leaning towards heavy) chop in the circuit. So much so that I dared not do anything other than shallow turns. In the end, I requested runway 34 and was granted a right turn to join a wide downwind for a right-hand circuit on runway 34.
And, sensing I’d had enough, Mother Nature calmed the winds to 7 knots giving me a reasonable crosswind and a smooth, though somewhat long on the rollout, return to ’terra firma’ as the controller called it.
My PIREP was recorded for evermore as:
UACN10 CYEG 250345
EG UA /OV CYBW /TM 0345 /FL055 /TP P28A /TB MDT CHOP /RM IN CCTS -VIA YEG
FIC-
Upgrading Roller
I finally got around to upgrading Roller to version 1.0. It took forever, but I got it 98% upgraded.
Of course, it wasn’t simply a matter of running a SQL script of DB changes. I tried that route and ended up failing. In the end it was 4 hours of creating a new database and then copying over data from one to the other. It was a very tedious process. But I have high hopes for future upgrades. Roller developers take note: have a look at how easy it is to upgrade between production versions of Bugzilla.
Ten minute database
It a party at Mike’s place tonight. There hasn’t been a party at “Mike’s place” since the end of second year when he insisted that everyone come over to his dorm room to celebrate the end of life in “traditional residence”.
I had about 15 minutes before some other friends showed up, one of whom typically steals all your liquor when you’re not looking. Of course, he’s still a good guy, but I digress. So I decided to take the plunge and give the new PostgreSQL a try on my laptop.
Total compile time was 10 minutes, 58 seconds. I’m serious. I just compiled an enterprise level database in under eleven minutes. What are the chances that Oracle compiles in under eleven minutes on my P4 2GHz laptop? Not likely. Sybase? Even less likely; it has trouble running let alone compiling.
It took longer to dump, zip and restore the database on my laptop than it did to compile the latest version of PostgreSQL. And the dump/restore process was flawless.
I’m sure this isn’t the case for all open-source projects, but when I can compile a complex application in a short span of time on an average system, then I think it’s safe to say that this is a great example of what OSS is capable of. I know compile time isn’t everything. In the end you want performance and features and reliability. But what if you got all those (as is the case with PostgreSQL and it compiled in under eleven minutes? Amazing.
Right Rudder Required
For anyone who is interested in realistic flight simulation and hasn’t heard about FlightGear, you should check it out. Version 0.9.8 has just been released and since there isn’t yet an ebuild for Gentoo available, I’ve uploaded it.
When I say that FlightGear is realistic, I mean that it acts very much like a real aircraft does, and there is proper variation depending on the aircraft you are “flying”. I’m not sure what the latest version of MS Flight Simulator is like, but the last version I used, in addition to running incredibly clunkily, was more about cool aircraft and realistic scenery than it was about modelling an airplane properly.
The best example of proper modeling is something that makes proper simulators “less fun” for non-pilots is propellor torque. So as you increase the throttle to take-off power, the engine turns the propellor faster and as a result produces more torque. On a Piper PA-28 (and any other single engined aircraft which has the propellor turning the same way), the increasing torque wants to push the left wing down, which translates into a pull to the left. So to counteract that, the pilot must use a little right rudder. On a somewhat related note, I recall reading when I was younger that the Hawker Typhoon WW2 fighter produced so much propeller torque that pushing the throttle to full power on takeoff could actually flip the aircraft over.
The point is, that to an inexperienced pilot or someone with no flight experience, the first time they use FlightGear they are likely to run off the side of the runway during their takeoff roll. And this can perhaps lead to a “this game is dumb” reaction. Of course, it’s not a game per se anyway, it’s a simulator and simulators are designed to simulate something. You get where I’m going with this.
So whether you are a pilot or not, go download FlightGear and try it out. And don’t forget the right rudder.
Exciting week for software releases
The release of PostgreSQL 8.0.0 has finally arrived. There are lots of new features but overall, I think the most important feature is that PostgreSQL will now run on Windows natively.
While I can’t say I’m a huge fan of Windows, I know that a lot of people are. And the more people that develop using PostgreSQL as their database on the backend, the better; whether they develop for or using Linux, Windows, MacOSX or whatever. One of the reasons that MySQL is so popular is that support for it is built right into PHP. But even more key is the fact that a developer can install MySQL on his home PC and develop and test a webapp right there on their PC. Then, when it’s time to release, they simply copy the code to the deployment machine. Done and done.
Up until today, you couldn’t quite do the “all on one PC” development using PostgreSQL on Windows. You could, but it required installing CygWin, which hasn’t always been the easiest thing to do. Plus, in today’s society, everything is about getting results now. Not “now” but only after installing three other pieces and messing around with this and that.
Oh, and we’re deploying 2.4.3 of the Zymeta Jukebox client.
(And all that) Random Jazz
Sometime last year, I ripped my entire CD collection into MP3. No, not for sharing purposes. I have been against music sharing (and any pirating for that matter) since long before I started at Zymeta. Instead, I did it because I was tired of having to bring four or five CDs to work each day to listen to when instead I could bring everything with me wherever I and my laptop ended up.
The result, ripped at 128 kps, was seventeen CD-ROMs and thousands of tracks - the actual math is left to the reader. And yes, it’s all from CDs that I physically have.
I have also set up Netjuke so I can easily pick some music for the never ending list and have XMMS play it. Very cool. Last week I had Netjuke select some random jazz for me and the result was an eclectic mis-mash of new and old. But the best part was that one of the songs it picked was Oscar Peterson’s ‘Just In Time’, a catchy tune that’s just short of two minutes. The result? I rediscovered Oscar Peterson and have been listening to his music now since.
Probably time for a change now though…
Finally a new Bugzilla
I’m excited to note that the folks responsible for Bugzilla have finally released a new version, 2.18. There are a bunch of links relating to this over on MozillaZine.
Make a name for yourself
This morning I surfed over to Wired News as per my usual morning routine and was bombarded by Microsoft ads. On every story I read were two versions of the same ad: one in traditional banner format at the top and one in the nuevo-square ad format. And both were Flash-based ads.
The gist of the story is that some guy from the Swiss Department of Foreign Affairs and his team were traveling too much updating servers. But now he’s “made a name for himself” because he managed a bunch of servers in multiple countries from a single location, all using Windows Server System.
What make this worth mentioning is the incredible power of marketing combined with ignorance. Let’s stick with the Windows environment for a second. Back in the mid-1990’s you could do this in the Windows environment using Timbuktu. And there is a handful of similar packages like pcAnywhere. But to someone who may not know better, this sounds like a revolution in computing.
Of course, in a Unix/Linux environment, remote updates have been possible since the dawn of networked computing. I have a server co-located at a hosting facility that I haven’t seen for two years. And yet, magically, I’ve been able to keep it up to date, all without the use of Windows Server. How can that be? Well, it’s because my server runs Linux.
Oh, and my final thought on the man who made a name for himself is I wonder what his “team” thinks of this new software? Because it seems to me that the “team” that had to fly everywhere to manage servers is likely now out looking for work because they probably don’t need as many people any more. Funny how the ad doesn’t mention that. Maybe that’s because “…now he’s known as Mr. 500 Servers in 156 Countries Managed from 1 Location” sounds much better than “…now he’s known as Mr. Fired My Whole Team”
Multi-threaded code is dangerous to your health
I recently inherited some multi-threaded code. Happy times.
In the word of software development there are books galore that are written about very specific aspects of programming. There are books devoted just to ODBC or OpenGL or network programming or whatever. I’m not yet convinced that these micro-targeted books are worth it. But if you are going to buy one specific book in your entire lifetime, I must insist that you purchase a book about multi-thread development. So if you develop in Java, the book for you is ”Java Threads.”
Multi-thread development is dangerous; it can take your life without you even knowing it. Seriously. Okay, that be stretching the truth ever so slightly. But if you don’t know what you are doing, check with someone who does. And check the Internet. And for God’s sake read the JavaDoc. Or else you’ll end up with something like this:
java.util.ConcurrentModificationException
at ...
And if you ignore all of my multi-threading advice, well make sure you at least have a superior IDE. Of course, that alone isn’t enough. You will also need to ensure that you do all your testing and debugging under actual use conditions because I can almost guarantee that unless you do some blatantly wrong coding, you’ll never encounter any issues. The threading issues will, however, pop up once you’ve deployed.