Are we on the air?
Is this Rails app going to fly? It’s like watching Neville, the Younger and Stupider Wright Brother, flap his arms! Fly, Neville, Fly!
How Does Steve Jobs Do It?
I’m astonished to find that the pre-iPhone hype is so strong that I want one. I’m generally pretty resistant to early-adopter hype. I’m not exactly gadget-shy, but I tend to hang out on the leading edge of the mainstream. It took me two or three years to buy an iPod, a Tivo, or a cell phone. My current phone remains very primitive. There are camera phones with better resolution than my ancient digital camera. I gave up on Palms after losing one and then wearing out a second one. I’m pretty shy of carrying portable gear at all, actually, after being pickpocketed out of one Palm and one digicam. And the iPhone is not exactly cheap, particularly when you consider the AT&T factor: I’m guessing that the iPhone data plan is not going to be the world’s best value. They are going to turn the first customers upside down and shake the change from their pockets.
But. Still. The commercials are truly stunning. Moreover, there are rumors that Apple is going to open up the API after all. If this is true, then holding back that announcement until this month is yet another brilliant Steve Jobs marketing move. Nobody at the World Wide Developers Conference will even care that the next Mac OS is running late. They will all be dreaming happily of the killer iPhone app that they’re gonna write. I haven’t tried to write a Mac app since the mid 1990s and even I am salivating at the possibilities.
The problem is that it’s hard not to look at the iPhone and see the computing device of the future. Cell phones are already the device of the hour, as I would know if my own cell phone and its plan weren’t so crappy. (Of course, this is the USA, so it’s not as if I have a lot of non-crappy choices.) Today I heard that most Twitter users access the service by phone. That thought never even occurred to me, hopeless dinosaur that I am. Every time I send a text message with my phone I have dark visions of my monthly bill secretly increasing by a dollar. I need to join the 21st century and get more familiar with the charms of platforms like the iPhone. By, say, buying one. For educational purposes. Yes. Standing in line at an AT&T store at midnight clutching $500 for… educational purposes.
System Administration Will Eat Your Life
Not much blogging recently as I struggle to make my spare time count. Had to rebuild my wife’s Windows machine after the hard drive gave up the ghost. The good news is that my extensive system of redundant backups is working pretty well. The bad news is that I really should have put more energy into testing the restores —- when you attempt to restore from your backups you discover all the things that you could have been doing that would have made your life easier.
(Just one example, out of many that I really need to blog about: when your nifty rsync script runs to backup your Ubuntu-based file server, make sure you’re getting the ownership correct on the backup files —- it’s not just a matter of setting the right flags for rsync; you have to make sure to run rsync as a user with the correct permissions, like, say, root. There are many files which will simply break if they’re owned by the wrong user, and you’ll have to choose between reinstalling Linux or painstakingly setting the correct owner for each file on the restored system. Have I mentioned that you should test the restore procedure? Test the restore procedure!)
I now find myself with an extra hard drive, which I’m going to use for simulating some total system crashes and seeing how quickly I can set myself back up. Or rather, someday I will. Right now I need to get back to writing actual apps. Fortunately, now that I’ve spent time doing all this backup work, plus automating the entire install of my Web server with Capistrano, tweaking the available Rails packages for emacs, and attempting to revitalize my GTD system by sorting through the heaps of old mail in my Inbox, I am itching for action.
WPA configuration - barely ready for prime time
My wife’s computer had a hard drive crash and so I’ve been working to reinstall Windows XP. Her machine is connected to the home network via wireless link, and we’re using wireless security. Since the WEP “security” standard was broken when it was released and has only gotten more broken since then, we’re using WPA with preshared keys, or “WPA-PSK” in acronym-speak.
Configuring this has required a lot of exercise:
- WPA requires you to generate a random key. You can create a 64-digit hexadecimal key, or a “passphrase” of up to 63 characters (which will be converted to a 64-digit hex key behind the scenes). It turns out that my wife’s wireless card has drivers that won’t accept 64-digit hex keys. This is very strange, since we’ve been using such a key with that very wireless card for the last two years or so. But now I can no longer remember how to enter the key into the software, and the docs don’t help. Rather than spend hours googling around trying to rediscover what I knew two years ago, I decided to switch all our machines over to a 63-character passphrase.
- I generated a random passphrase and entered it into our SMC wireless router. SMC wins the award for thoughtfulness: after I typed in my 63 random characters, the SMC converted the phrase to a 64-character key and then printed out the key so that I could write it down. This turned out to be very important - bless you, SMC!
- Next I went to switch my MacBook to the new key. There was no obvious way to do this from the Internet Connect panel; it would simply try the old key over and over again, reporting failure each time. I needed to open up the Keychain and change the stored password there. I typed in the new 64-digit hex key (perhaps the 63-char passphrase would have worked, also, but I didn’t bother to figure that out.) The MacBook worked fine after that.
- Now to change the WPA password in my Slim Devices Squeezebox. This is always a pain, since the Squeezebox doesn’t provide you with an actual keyboard, just a remote with cellphone-style number keys to type your letters and characters.The following saga ensued:
- Turned on the Squeezebox, which promptly failed to find the wireless network using the old key.
- Tried to edit the wireless connnection. The Squeezebox promptly crashed.
- Several dozen crashes later, I tried resetting the Squeezebox to factory settings (hold down Add while unplugging and replugging it). Then the Squeezebox allowed me to enter a new WPA key.
- The Squeezebox wouldn’t accept 63-character passphrases. It limited the size of the phrase to something like 16 characters. Fortunately, typing a 64-digit hex key will work, although there is a catch - once you’ve typed in the first 63 digits, the Squeezebox whisks you away to the next screen before you can get the 64th digit in. It tries to log you in, and fails. To fix this you must hit the back button and go back to the password screen, where the Squeezebox will now allow you to type the elusive 64th digit.
- Finally, I entered the new key into my wife’s computer. Here I was required to use the 63-character passphrase, which eventually worked. Except that I had to type it into the network card driver, then (after resetting the machine) type it twice more into Windows’ own wireless-network control panel.
Now I need a drink!
Awash in blog software possibilities
I’ve been a lax blogger for the last week. I spent four glorious days at Railsconf in Portland, as an educational and motivational exercise. There’s nothing more fun than immersing yourself in a community of bright, energized people. More on that later.
Meanwhile, I return from Railsconf to discover that Wordpress has released version 2.2, so I should probably upgrade this brand-new blog just to prove to myself that my nifty svn + Capistrano deployment solution is really working.
Or, not - because I could really use some practice in setting up Drupal after the Druplinar that I sat in on the other week. Maybe I should build a blog in Drupal, for practice.
At this rate, I may never again have time to write an actual post. :)
Learn CSS With Firebug & meyerweb
If you want to know what all the Web developers are so excited about, go download the Firebug extension and then point it at meyerweb.com. Two great tastes that taste great together.
When I set out to revive my Web development career I naturally bought a copy of Eric Meyer’s CSS: The Definitive Guide —- because (a) he’s the CSS guru and (b) I knew him back in college and used to see him all the time at the CWRU science fiction marathon, and it’s important to stick by one’s friends. Fortunately I seem to have a knack for making smart friends, because Meyer’s book is working out great.
Unfortunately, one thing this particular book doesn’t do is explain which CSS to use, when. I’ll probably seek out some more books after I finish the useful free content on A List Apart and meyerweb. Which will probably be months from now, because there’s quite a backlog. In the meantime, Firebug seems to be the perfect tool for stealing layout ideas directly from the sites of the Web’s best designers.
The Lure of PHP
Although I continue down the path of becoming a Rails developer (I’m going to Railsconf next week, in fact…) it looks like I’m going to spend a few days exploring the ever-popular PHP. I’ve been invited to attend a free online Drupal seminar and I can’t resist spending a few hours learning about yet another Web-publishing technology.
Just paging through the docs for Drupal brings back memories of the late, great Arsdigita Community System that I worked with back in the boom days. Every aspect of the Web stack is slightly different - Arsdigita used to use Solaris, AOLserver, Oracle, and Tcl instead of Linux, Apache, Mysql/Postgresql, and PHP - but all the same components are there, and I sense that the architecture is going to feel familiar. There are only so many ways of solving the content-management problem, after all.
Amusingly, just as I’m invited to learn a PHP-based open-source tool I find myself reading a blog post advocating PHP.
Hackety Hack - Programming for Kids
I might have spent today working on making my blog less generic (I am no big fan of the default Wordpress theme!) but instead I was at the Boston Ruby Group learning about Hackety Hack, a programming environment for kids that’s being designed by everybody’s favorite enigmatic Ruby-hacking cartoonist, _Why the Lucky Stiff. It looks like lots of fun.
_Why is a man on the move. He’s just closed his old blog and has started up a new one. Here’s his final comment on the old one:
Is this the first time a Ruby blog has closed?? No matter. There will three more by supper.
I guess I’m proving him right.
Hello, World
Hello, I’m Mike Booth, and I’ll be your blogger. I’m hoping to put up a proper introduction soon, but getting Wordpress working has consumed enough of my evening that I won’t be getting everything running today. (Today’s special hint: you have to compile PHP after installing your mail server - doing it the other way around will cause Wordpress to silently hang, without a single error message in any log that I’ve found so far, in the middle of its second install page. You will then have lots of opportunity to become familiar with PHP source. )
Finally, the "Star Wars" prequels pay off
The Star Wars prequels are just awful and I like to pretend that they don’t exist. Except for the Lego videogame version, which is great fun. It helps that the Lego characters speak only in subtitles and gestures, like a silent movie. Maybe Cory Doctorow is right: the Star Wars prequels are entertaining if you switch on the Italian dialogue and pretend that they’re operas.
Now we have this brilliant reinterpretation of the original Star Wars in light of the prequels. It’s interesting that this essay stops before it gets to Empire and Jedi. Perhaps that’s because Empire, a better film than Star Wars in many ways, is nonetheless a bit too tidy: it doesn’t leave a lot of loose ends to work with. There’s no need for an insightful essayist to explain how R2-D2 and Chewie are the heroes of Empire, or that Yoda is cagey when he first meets Luke because he fears Luke’s dark side: these things are really, really obvious. Jedi is even more transparent: The good guys are cute, the bad guys sound like Vincent Price, and you don’t even need the dialogue to understand what’s going on.
So, once again we see that each new George Lucas movie makes Star Wars look better and all his other movies look worse. Alas, poor George…