Illinois Politics

Apparently being the governor of Illinois predisposes one to get indicted. For those not familiar, the last governor of Illinois, George Ryan, was convicted of racketeering, bribery, extortion, money laundering and tax fraud.

In comes Rod Blagojevich. Not exactly a popular or successful governor so far, and now an FBI sting reveals the depth of this guy's insanity. He is trying to 'sell' the senate seat vacated by President-elect Obama (the Govenor has the power to appoint a replacment).

I just read through the entire summary on The Smoking Gun and it is unbelievable. How a guy who is already afraid of indictment can have all these conversations over the phone is amazing. The audacity of his efforts to solicit a bribe are staggering.

There are tons of great quotes, but the one that made me laugh out loud was that Blagojevich considered naming himself to the senate seat because he believed that he will be able to obtain greater resources to defend himself if he is indicted as a Senator than Governor, and a desire to remake his image in preparation for a Presidential bid in 2016. REALLY? Either I get indicted and I can defend myself better, or hey, I'll just run for President. REALLY?


After being one of the earliest customers back in 1999, I fell off the bandwagon for quite a while. About six months ago I finally got back on board and have really enjoyed it ever sense. I've watched movies, entire TV show seasons, and just finally got around to updating my XB0x 360 to enable Netflix's newest feature, streaming movies.

For select movies and TV shows, you can stream them to your computer or TV through various devices, including the XBox 360. The installation was easy (you get a code from the XBox you type into Netflix's website, which is much more convent than attempting to 'log in' via the XBox.) Taking a quick look at the Jericho pilot, the quality seems acceptable. It is 'good enough' that it isn't distracting or noticeable. It is certainly better than I expected.

I had dismissed the streaming feature as undesirable based on my (incorrect) assumptions about the quality, but I'll certainly give it a shot now.

If only I could get my XBox to be a bit quieter than an airplane taking off.

The Shield is Over

This week brought the Series Finale for The Shield. I've been a big fan of The Shield throughout its entire run and while I'm sorry to see it go I also appreciate that the show came to an end. The show had run its course.

There were 7 total seasons, and my favorites were 4 and 5. Season 4 brought Glenn Close to the barn and season 5 introduced Forest Whitaker. In these seasons the show had established its rhythm but there were still new stories to tell.

I was disappointed with much of this final season. It seemed excessively slow and and really dragged out as the end approached. I feel they really could have added a few episodes to season 6 and ended at a totally different pace. I won't spoil the ending but while I was disappointed with Season 7 in general I was content with how the series finally ended.

It wasn't a The Soprano's or Six Feed Under, but it few endings are.

All in all, this is a series well worth watching on DVD.

I Survived

I survived my surgery.

It got started a little late but apparently went very well and I'm hoping for a quick recovery.

I've taken the down time to get up to speed on my open source projects and just put out new releases to iTunes Export and SOHT (Telnet over HTTP). Some of these patches have been languishing in my inbox for months, so I'm glad I got caught up.

iTunes Export 1.5 Released

A new version of my iTunes Export utility is available.

iTunes Export exports your iTunes playlists as M3U, WPL, or ZPL files, allowing you to setup playlists in iTunes and use them with other software or devices.

This release adds several fixes and enhancements that have build up in the last few months. They include:

Fixed issue with invalid characters in playlist filenames. Some characters are valid in playlist names (within iTunes), but not valid in filenames for the resulting playlist files. Thanks to Jeff Donnici.

Added Multi-Language support for GUI version. Descriptions now available in English and French. Thanks to Ayack for the translation.

Updated the Library reader and all playlist writers to use UTF-8 encoding to allow for foreign character sets. Thanks to Stephen JANNIN for the patch.

Changed the export routine to include audio streams (files that start with http://). However, it will not attempt to copy them if 'copy music' is selected.

Disabled tracks (tracks that are unchecked in iTunes) are now ignored. Thanks to Jeroen Leijen for the suggestion.

Please email me with new features or bug fixes (

Socket over HTTP (SOHT) Java Client 0.6.2 Released

I released a new version of the Java client for SOHT today.

The goal of SOHT is to provide a simple tool that enables all types of socket communication through an HTTP Proxy server. This tool is useful for users who are behind a restrictive firewall and wish to access external servers that use protocols other than HTTP.

This release enables HTTPS connections and ignores Certificate warnings. This patch was provided by lowem. The patch has been out there a while but better late than never.

Star Trek

The teaser and trailer are out for the new Star Trek prequel. Apparently it will be released next May, but it looks like it was delayed from this Christmas as the teaser on the Apple site says Christmas 2008 but the same one on the official website says Summer 2009.

This is a franchise in serious need of revitalization. I think the idea of going back to explore Kirk's early years makes sense. He is the defining character of the franchise and certainly a deep well of story possibilities.

JJ Abrams is director and producer, and it will be interesting to see if he can bring new life. He has a solid TV resume (Felicity, Alias, Lost), and one of the writers on my favorite 'guilty pleasure' movie, Armageddon (I'm looking at you Ross).

I'm cautiously optimistic. We'll see.


After a year of pain, I've decided to get serious. I play soccer regularly and for the last year every time I played I had pain in my heel. As time went on it become more intense, and would flare up with any physical activity. It felt like a big bruise, but a visit to the Orthopedic Surgeon revealed that I had a bone spur on the back of my heel. After trying a series of alternatives, it eventually became clear that surgery was the next step.

I'm scheduled for surgery this week, and I'll be on crutches for at least the next 6 weeks. After that, it's at least another 6 weeks of a walking cast and then physical therapy after that. It is a long road back to the field but I'm hoping it will worth it.

Wish me luck.

The Power of the Internet

It is easy to forget how different life is with the internet at our fingertips. I was out with my camera today and while I was sitting with it on my lap one of my kids jumped on me and knocked it on to the (concrete) ground. It only fell about 6 inches, but when I picked it up I could not get it to auto focus. I tried everything I could think of, I changed the lenses, took out the battery, looked through the menus, etc. Nothing worked.

10 years ago I would have had to take it into a dealer, or send it in for service. Today, I did one search on Google "Nikon d300 won't autofocus". The first link I selected was a post that suggested that I put the camera in Live View (LV) mode, and then switch back to normal. I did that (and took a few shots in LV mode), and switched back. Autofocus is back to working perfectly. It took 30 seconds to fix.

It is an odd solution, and one I would have never figured out on my own, but it worked great. I would have never found this in the age before the internet. This is basic stuff, but it is easy to take it for granted.

BlackRapid Strap

I've been using the BlackRapid RS-1 camera strap for about a month. The idea is a camera strap allows you to carry the camera at your side at waist level. It runs up and down the strap so you can quickly grab it and use it. There is a video on the site that shows it off much better than I can describe it.

I'm a fan, but Scott Bourne from TWIP disagrees. He's had some bad experiences with it but I've never had any of these issues. Your mileage may vary.

Pictures at Sunset

While most of my photography these days consists of chasing my kids around, I do occasionally get an opportunity to play around. Tonight, after reading more Strobist (Strobe/Ambient Balance) I decided to take some pictures at sunset, using a flash to light the foreground.

I started with a test picture in Aperture priority mode (my default mode) to determine the correct exposure for the sky.

In this case, it was about 1/40 at f/2.8 (ISO 200). From there I moved to manual mode and locked in the settings. I then turned on my flash (SB-800) and set it to remote mode. I set my on-camera flash to Commander mode. I used TTL mode for the remote flash, with the on camera flash simply triggering the SB-800. Using the same exposure settings, I fired a test shot.

The sky retains the same color and light level, but the tree in the foreground is now lit as well. I thought it was a bit too much, so I set the TTL level for the remote flash to -1 in the camera's menu. All the other settings remained the same.

I like this shot a little better because it provides more contrast in the foreground tree.

This is a very easy setup to pull off. Simply set your exposure for the background, setup your flash for the foreground, and control the relative exposure of each using the Aperture/Shutter for background and TTL Over/Under exposure for the foreground.

I used a Nikon D300 and SB-800 here. The D300 functions in Remote Commander mode for the flash with TTL, so it is very easy. You can achieve the same effect with slightly more effort with a D40 or other cameras that don't have Remote Commander mode.

Using the D40, I set the on camera flash to manual mode at 1/128 power (or whatever the lowest is). You can then set the SB-800 to Remote using SU-4 mode. You have to control the flash exposure manually on the flash, but with a little trial and error you can pull it off.

I Hate Running

Due to a series of scheduling conflicts and rain, I have not played soccer in a month. I'm very unhappy about this.

Soccer is my primary workout, so I haven't had much physical exercise for the last month. The combination of this, and some heckling from my wife (she bet me I couldn't), prompted me to try to run 5 miles today.

Well, I did it. 52 minutes, so just a bit over 10 minute miles. Not too bad I guess. But I'm sore. My heel hurts (I have a bone spur), my knee hurts, and my hips hurt. I won't be running again for a while.

I hate running.

Vista, Mapped Drive, and Offline Files

I use a NAS to store all my media files (as well as backups, etc.). I share these files among multiple computers so I the share mapped as the M: drive on all the computers. This allows me to store the iTunes Library on the share, and have it work from any computer.

On my M: drive I have Music, Pictures, and Video folders. I have the Music folder set as available offline so I always have access to my music library. None of the other folders are available offline. This works fairly well, except recently when I return home Vista won't reconnect the M: drive. I can navigate to any other shares on the NAS, so I'm connected and authenticated, but something is prohibiting Vista from reconnecting the M: drive. It just shows the Music folder but the other folders are 'unavailable'.

I don't have any idea how to 'force' it to connect or track down what could be causing the issue. If anyone has seen anything like this, I'd love to hear some ideas.

New Microsoft Ad (Seinfeld)

There were a lot of naysayers when Microsoft announced their new ad campaign with Jerry Seinfeld. Now that the first ad is out, I have to say they were right. What is this about?

This is their rebuttal to the Apple ads? The Apple ads were more style than substance maybe, but they all had a specific point to make that differentiated their products from Microsoft.

And to top it off, the Flash Player (what, no Silverlight?) they used didn't allow you to pause/restart the ad. Annoying. The ads have been posted on YouTube several times and taken down just as quickly. I did a quick search on YouTube and found several (real) Apple ads. You are paying big bucks to get your message out, why are you having it taken down from a major video distributor?

Microsoft is the big kid in the room that just can't figure out why the other kids don't think he's cool.

All that aside, I'm typing this post on Vista which as I said before, is a fine OS. Apple did a masterful job of changing the market's perception of Vista, which Microsoft did nothing to combat. And this ad doesn't change it one bit.

McCain Responds

After my post about Obama's VP selection, it's only fair I analyze/mock McCain's as well.

McCain picked Sara Palin, the Governor of Alaska, and 'hockey mom'. It is certainly an interesting pick. She has no national experience, and is Governor of a pretty unique state. Granted, national experience isn't a big deal (Governor seems to be a better path to President than Senator, except for this year at least), but Alaska isn't a typical state either.

So how about "Old white man picks attractive young female to campaign against young attractive black man."

It is certainly a risky pick, and helps McCain resurrect his 'maverick' status. What is really interesting is the 'experience' question. I find odd that the Democratic talking points (or at least as I hear them on CNN tonight) are focused on her (lack of) experience. Is attacking her experience as a Governor and Washington outsider really the best approach when your candidate is running on 'change' and is relatively inexperienced as well? How different are Obama and Palin?

It'll be an interesting few months. I've been of the opinion that this election was Obama's to lose for a while now, but I'm surprised at how McCain is holding strong/gaining in the polls. This one could be close (or a blowout, who knows).

And I'm watching for the first mention of in the mainstream press.

Political Season Kicks Off

The US election season officially kicks off in high gear today with the announcement of the first Vice Presidential Candidate. News Flash:

"Candidate of change selects old white man, Washington insider, in campaign against old white man."

Joe Biden, a long time senator, two time presidential candidate, and hawk is selected by Obama as his running mate. The ticket is already being called Obiden.

I think Biden is a great choice to complement Obama's weaknesses once he is elected. However, for the election he also helps accentuate the differences, with a treasure trove of quotes from Biden criticising Obama.

One thing is certain, Biden will make an effective attack dog on the campaign trail, and will be formitable in the VP Debates. The ball is now in McCain's court.

Apple Growing Pains

Apple well on its way to becoming a dominant computing and personal electronics company. Apple is on the rise, and nothing is likely to change that in the near future.

That said, Apple is showing signs of growing pains. While the 3g iPhone is an amazing product (as the original was), it is starting to demonstrate some of the issues faced by even the best device and software vendors. Whether it was the uptime issues with MobileMe, the lags experienced by iPhone users, or the instability introduced by the third party software (or so they say), Apple is starting to experience some of the issues they've mocked their competitors for.

When I hear stories on the Apple podcasts I listen to (MacBreak Weekly as an example) about how reinstalling the OS on their iPhone three times helped get rid of their issues, Apple users come dangerously close to sounding like PC users. How does reinstalling the OS three times equal 'just works'? I'm yet to reinstall Vista once!

None of the issues I've heard around the new iPhone or iPhone OS are really critical. Instead, they are the little issues that are experienced by some users some of the time that can be worked around if you just do this, this, and this. Yep, that sounds like a PC user.

Apple's greatest differentiator is that their stuff 'just works'. They have a great brand right now, and they did an amazing job at decimating the public perception of Vista. If Microsoft had the guts and creativity of Apple, they could launch a scathing PR campaign mocking Apple's 'just works' philosophy, their distortion of the performance of the phone, and their issues with MobileMe. But Microsoft won't do that, and doesn't have anything that really competes.

Apple will succeed. Not because these issues are not real, but because they still have better products with a better user experience. No one else is really playing the same game as Apple.

It will be interesting to see Apple deal with these growing pains. As John Gruber points out, releasing an upgrade of the OS with the release notes simply saying 'Bug Fixes' won't fly as their user base grows.

The Syndicated Web

My iTunes Export application was mentioned in a recent article on PC World (11 Things We Hate About iTunes). iTunes Export receives mentions quite regularly now, so that isn't necessarily interesting on its own. What I did find interesting was what happened next...

The article was first posted on PC World about a week ago (August 11th). Since then, I've received about 800 visits from the link in the article (total for the week). As a comparison, when the application was mentioned on LifeHacker, I received over 2,400 visits in a single day. I was glad for the PC World mention, but it didn't have a significant impact.

I use Google Alerts to track when Google indexes new pages that link to my site. In the days following the PC World article I started seeing several sites re-post the article. Most of these re-postings didn't appear to be officially sanctioned. I also didn't see any real traffic from these sites.

A few more days passed, and then article was picked up by on the front page of (direct link). This brought nearly 5,000 visits the first day (yesterday), and I expect will drive reasonable traffic for the next few days. The MSN traffic dwarfed that of the PC World and LifeHacker mentions.

I drew several conclusions from all this:

1. The Internet is too big. We are beyond the point that anyone can track a reasonable breadth of sites for interesting content. We must instead depend on aggregators to help us find and filter content. Whether that is Digg, Yahoo Buzz, Boing Boing, or this blog (if so, you need to get out more), these gateway sites have become front pages for the Internet. Just as we used to mock AOL users for viewing AOL as the Internet, we've shifted to Yahoo, MSN, Digg, and others as our gateways.

2. The internet is made up of small potatoes. Whther it is a blog, web page, or YouTube video, most content on the web is created for and viewed by a very small number of people. Only rarely do sites achieve the level of noteriaty to make them household names. And even the big sites (such as LifeHacker) are nothing compared to the gateways (Yahoo, MSN, etc.).

I'm mostly OK with this. Yes, a few sites have a rediculious amount of power, but just as AOL users became more proficcient and began to find the niche sites that interested them, so will today's Yahoo and MSN users. Well, one can hope.

Michael Wesch

Michael Wesch is an anthropologist with an interest in the Internet. He posted an interesting video a while back (The Machine is Using Us) that got quite a bit of attention.

I just saw (via John Battelle's Blog) a video of him presenting at the Library of Congress. It is interesting to see him analyze and reflect on some of the changes that have occurred in the last few years, and how it is changing our world.

As someone who rarely spends much time watching video on the small screen, I enjoyed all of this 55 minute video.


Summer is flying by, and I continue to enjoy the nice weather and my new hobby (photography). After a nice walk around the local nature preserve, my son was still asleep in the stroller. So what do I do? I pull out the new softbox and try it out! Of course, he slept through the whole thing.

If you are interested in the full set of pictures, check out my family blog (email me if you don't know the URL).


I'm certainly not on the cutting edge on this one, but I finally moved my main computer to Vista. I'm on day 4 now, and I don't have a ton to say about it. Just a few observations...

For the most part, it just seems like a shinier version of XP. I don't really care for the fancy GUI enhancements, but I haven't bothered to turn them off either.

The Users directory with the new structure is much more rational than the old version. A good evolution.

I LOVE the start menu search feature. I've always spent effort organizing my start menu into a structure that enabled easy access to all commonly used programs. For example, I would put Excel into a folder called applications, so to launch excel I'd just type , A, E, Enter. Firefox went into 'Communcations', etc. This worked well, except when there were multiple apps that started with the same letter. With Vista, just as I've embraced the non-folder Gmail, I really like the search mechansim. To launch excel now, I just type , Excel, Enter. I don't even wait for it to render. I'm also impressed so far with the accuracy. With the old system it was faster when it worked, but I had to look more often. Now, even for less commonly used programs, they are easy to find and launch.

Other than that, my response is 'meh'. It works, its windows, it mostly stays out of my way. I wouldn't council staying away from Vista neccessarily, but there is very little that really justifies the effort either.

Bear Stearns

Bear Stearns is old news, but that is usually when things starts to get interesting. Only after an event fades from the evening news (or cable news shows as it may be these days) can the real light illuminate a story.

Vanity Fair has a very interesting story about how Bear Stearns fell. It is a very long piece but I found it very interesting.

I get very annoyed at how the media and political talking heads distill major events like this down to talking points. The failure of Bear Stearns was obviously a very complicated event with many contributing factors. Reading the initial comments and articles about it, it is clear that very few people understood what happened. I understand that it is impossible to get real analysis of something like this immediately, but I think this difficulty is very telling.

The world is complicated, and our financial markets are certainly a poster child for complexity. The mortgage crisis was essentially caused because enough complexity was introduced into the system that the ties between profit and risk were severed. While we fool ourselves into believing we understand how things work, we are reminded time and time again that those at the controls often do not fully understand the complexities they manage.

It will be interesting to see if anything comes into the alleged S.E.C investigation into the Bear Stearns collapse. I'm not one to believe in conspiracy theories, but in a situation like this the conspiracy could be small and the actions very limited.

Inspired by Strobist

As I've posted in the past, I recently picked up photography as a hobby. Thanks to some great suggestions I started reading the Strobist website and this weekend I was inspired to have some fun with my flash (a Nikon SB-800).

These pictures were taken mid-day. There was a bright sun, but I reduced the ambient light by speeding up the shutter and closing down the aperture. Then I added a flash to highlight Nora's face. In some of the later pictures I also convinced my wife to hold a makeshift reflector to serve as a fill light. Since I am shooting with a Nikon D40 I have to use the SU-4 remote mode on the SB-800 to trigger it remotely. In this mode the flash triggers whenever is 'sees' another flash fire. So I set the D40 to manual, setup my shutter and aperture, and turned the flash on manual to its lowest setting (1/32 power). This allows the camera to trigger the SB-800 without imacting the exposure too much. It took a while to tweak all the settings manually but I'm pretty happy with what I ended up with. The whole point of this exercise is to get the flash 'off camera' without exensive cameras or adapters.

You can check out all the pictures here (SmugMug).

I'm also working to utilize post processing (I shoot RAW) to improve my photographs. For this one I explored shifting to grayscale. You can see the original color in the above link.

Tim Russert dies at age 58

Tim Russert died today of a heart attack at age 58. Sunday mornings will never be the same.

Meet the Press has been part of my weekly routine for the entire time I've followed politics, and Tim Russert was at the helm for that entire period. There was no one I enjoyed watching more. He will be missed.

GMail Mobile using Google Apps

I recently migrated my email over to Google Apps, and after a few weeks everything is still running smoothly. The only issue I had was accessing the Google Apps Gmail account from my Treo.

For the rest of the world, you simply need to go to and install it. However, it is not supported on the Palm OS. However, if you do have a JVM installed, you can install the app using the following URL:

Or the long version:

Thanks to GoogleSystem for the info.

The application works on my Treo 755p but isn't perfect. The font seems too big for the background layout. I'm not sure it is really much better than the pure web version though.

Money and Open Source

Erik van Oosten wrote a post on Open Source and money: "Do Not Offer Money". He quotes my post about experience with JES 2.0 and the JBoss Email server. It is an interesting topic and he provides a nice anecdote about Christmas dinner.

The point is well made though. There are different 'modes' and expectations when you are doing it for 'fun (insert any non-financial motivation)' versus for pay.

I also want to be careful to not overstate the switch. I've continued some work on JES as well as other projects since then (iTunesExport). But the immediate impact on THAT project (JES 2) was significant.

Migrating email from gmail to Google Apps

My domain is registered at GoDaddy, but instead of using their email application or a fat client, I have it setup to forward all my emails to my gmail account. This gives me 'anywhere access', a significant amount of storage, and great UI for free. So what's the problem? Well, for one, it still enforced the GoDaddy SPAM filters, which I'm not really sure how to control, or get reports from. Since I've had several people (not just you Ted) have issues with their emails to me getting bounced, I got fed up and decided to migrate.

So I signed up for a Google Apps account for, verified my domain ownership, and added the appropriate email accounts.

Before I changed the MX entry to make it live, I imported all the mail from my original gmail account. Since I only signed up for the basic (free) version I had to import using POP. While I read elsewhere that Google wouldn't let you do a POP import from gmail, I had no issue with that. Just went to the Account tab in Settings and added an account to download from. It had a few errors along the way, but seemed to self heal and import the emails. However, I realized that this would not bring over the Labels, which I do use, so...

Since Google offered a free 30 day upgrade to the Premiere version, I upgraded to that and did an IMAP migration. This is actually done through the Admin screen instead of the gmail interface, and seemed to work pretty well. Not real fast, but it brought over all the emails. At first I thought that it wasn't brining all the labels for each email, but then I realized it was downloading them by label (folder in IMAP) and was assigning the labels as it found the emails in different folders.

I then went ahead and moved the MX entries over and fired off a test email. Worked like a charm.

I have several other google applications tied to my gmail account. For now, I guess I'll keep them all as is. I see no real value in migrating those over yet.

Overall, it wasn't too painful. In the next week we'll see what other issues I forgot...


I'm tired of being sick. This Spring has been a disaster heath wise. I have seasonal allergies, so every spring and fall I'm always a bit 'off', but this spring I've added:

Several colds, the flu, a stomach virus, and Strep Throat. Oh, and I finally had my heel diagnosed as Achilles Tendonitis. It is caused by calcification of bone in my heal (a bone spur is stabbing my Achilles when I play soccer). So now I need to work on stretching out my Achilles (or have surgery whey they disconnect it, sand down my heel, and staple it back on my heel.)

As we cross Memorial Day weekend, hopefully I can put this mess behind me and stay healthy for the summer.

I need a new Photography Assistant

As an amateur photographer sometimes you have to work with what you've got. In this case, I needed my model to double as a Photography Assistant. Unfortunately, she wasn't up to holding a reflector or anything else 'complex'. So I figured I would try using a SB-800 at low power to provide the fill light. Unfortunately, that didn't work either. She was a little to focused on the light:

Lost in Suburbia

As an attempt at redemption for my previous post...

Also at Tabblo

Proud and Ashamed

"Can we watch Simpsons? It's my favorite" - My Son. He is 3.

Excel 2007 Crashes when Scrolling

I've been using Excel 2007 for a while now, and while I generally like the 'ribbon' and new layout, I've had a chronic issue with crashes.

When I scroll using my ThinkPad TrackPoint scroll feature, Excel crashes. For quite a while I assumed this was a driver/hardware issue related to the TrackPoint driver. Today I discovered a coworker has the same issue, using the scroll wheel on his mouse.

After doing a bit of Googling, it seems others are seeing this as well. Unfortunately, I haven't found a solution yet. I can't believe a feature as basic as this is causing widespread crashes without a fix. If anyone has a solution, please let me know.

No Apple, I don't want Safari

It is old new by now, but there was a bit of hubbub recently about Apple's inclusion of Safari 3 in its update manager (for Windows).

Gruber has a good writeup, concluding that there would be no issue at all if Apple left the box unchecked by default or visually separated new installs. I pretty much agree. I don't really have a problem with Apple using the update tool as a way to advertise new applications, but don't make it a default install. However, it doesn't end there.

Apple KEEPS TRYING TO INSTALL IT! I have two browsers already (Firefox, IE), I hardly need a third.

HP LaserJet 4L Retired

After 14 long years of service, I finally retired my HP LaserJet 4L printer. As far as electronics go, a device that lasts 14 years is amazing. This printer just worked. The only time it required any effort was an occasional paper jam and of course replacement toner. Even recently it was always fairly easy to find toner to purchase, and the prices always seemed reasonable, at least relative to ink. Unfortunately the print quality finally started degrading. I suspect it may have been fixable, but the desire for a color printer forced the retirement.

The 4L was replaced by a shiny new Dell 1320c color laser printer. I also added the network adapter, allowing the printer to be shared by all computers without requiring a computer or other device to share the printer.

There is no other computer device that I've owned that has come anywhere near a 14 year useful span, and I doubt any future device will either.

* Photo inspired by this Strobist post. Unfortunately I have only one SB-800 and the printer was significantly larger than the SB-800 photographed in the post.

Python is the new Black

In a much anticipated move, Google announced yesterday the Google App Engine. This is Google's (initial) entry into the cloud computing space, competing with Amazon's EC2 and S3.

Amazon's approach with EC2 and S3 appears to be a fairly straight forward utility computing approach. You pay by the CPU minute on EC2 and by the GB on S3. Amazon uses Amazon Machine Instances (AMI) as the deployment units for EC2. In simple terms, an AMI is a virtual server image, similar to what you would use with VMWare or VirtualPC. At this point I believe it only supports Linux, but you can run just about anything that runs on Linux (which is just about anything). The difference being that it runs on Amazon's servers and you only pay when it is running.

Google's approach essentially a hosted web application. The deployment unit is your Python application, and you run in a sandbox environment. They also provide easy integration to Google services such as Google Account and Google Checkout.

One other difference, Google's App Engine is free for initial users, and appears that it may be free up to certain 'sizes'. This will make it very appealing as a beta/testbed for new apps, which then of course remain on Google as they grow.

One post I read (but forgot where) suggested that Google's approach will make it very easy for Google to acquire new startups as they are already built and running using the Google services and servers. While I doubt this is the main goal, it certainly does demonstrate some of the values Google can leverage if a large part of the 'net is building their applications with Google. One more step in Google becoming its own Internet.

Time to learn Python?

Spring at Brookfield Zoo

This weekend the weather finally broke in Chicago and we have a weekend of real Spring weather. We took advantage today with an afternoon at the zoo...

The gulls, while not actually part of the exhibit, provided some good action shots...


While the rest of the animals were pretty relaxed...


I Hate April Fools' Day

I'm over April Fools' Day. My RSS feeds are full of garbage posts that are obvious jokes, and any real interesting news can't be believed until you verify it tomorrow.


Speaking of Boring, this is also my 100th post. I guess I have some staying power as I've been at this over a year (First post was January 23rd, 2007). At a rate of less than 2 posts a week, I'm not the most prolific writer but hopefully I've written some interesting posts. So, will it take me more or less than 14 months to get to 200 posts? We'll see...

Google Calendar Sync Update

As I mentioned earlier, Google came out with a sync application for Outlook 2003 and 2007. I've been using it for a couple weeks now with mixed results.

First, it is clean and simple. There isn't much to setup, and it is very unobtrusive. No errors, warnings, or interruptions. The problem was, not everything was getting sync'ed.

Apparently, it will only sync meeting invites if your email address matches the email you use in Outlook. Of course by default my email address does not match, but you can go edit your Google account settings and add additional email addresses. Once I added my work email (luckily I only have only one), and changed the email (but not password) in the Google Calendar Sync options, it sync'ed many of the appointments.

People who have different variations of their email address at work have complained that this solution doesn't work well. I have not seen a work around so far.

Now I have most everything syncing cleanly between Outlook and Google Calendar, but there are still several meetings that are not showing up. So I'm annoyed, but not quite yet annoyed to deal with reverting to gCalSync.

Self Portrait

I participate in a Weekly Photography Challenge group on Tabblo. The idea is each week there is a new challenge to take pictures that will stretch your skills and expand the way you see the world.

This week's challenge was to photograph your hobby, which is of course photography (well, I couldn't really photograph MYSELF playing soccer...)

So I decided to setup a shot where my camera took its own self portrait...


Bloggers Killed Slashdot

Well, 'killed' in the sense that I just dropped Slashdot from my RSS feed. I'm probably a bit behind the curve on this, but I continue to find that every reasonably interesting story I see on Slashdot is something I've already read about at least one or two other places.

Slashdot was a primary feed for me for a long time, long before RSS became popular. I remember the days where EVERYONE read Slashdot, and it was a marvel of internet scalability (or lack there of at times). But as time passed and I added more and more blogs to may feed reader, the value of Slashdot kept diminishing.

So mark this day as a milestone (for me). The old new internet is dead. Long live the new old internet.

Google Calendar Sync

I wrote about my process to synchronize my Google Calendar with Outlook before. I did stick with gSync it and it mostly worked.

But yesterday Google came out with its own Google Calendar Sync application. So of course I gave it a spin.

Instead of the Outlook plugin approach that gSyncit took, Google Calendar runs in the task bar (I'm sure it still 'plugs in' to Outlook, so this may be a non-difference). It does run in the background instead of the pop up window that gSyncit uses.

One annoying thing is that upon install, it automatically syncs before you can change any options other than single or bi-directional. Oh wait, there ARE NO OTHER OPTIONS. It is a very simple application with no configuration.

On the first sync, it duplicated many of my appointments because it apparently couldn't tell that all the previous appointments that were synced by gSyncit were really the same appointment. That was certainly annoying. It also took quite a while, because it appears to sync the entire calendar by default, not just a limited date range like I had gSyncit setup to do.

All in all, it appears to work, and is less obtrusive than gSyncit was. gSyncit had more options, features, etc. but for now I'm sticking with the Google version until I have a problem that drives me back to gSyncit.


I've replaced the previous canned website design with my own design created around a picture I took of the surf at sunset on Sanibel Island. My goal was to create a simple and clean look based on something I did myself.

Here is what I did:

I to took the original picture and cropped it down to size for the header. Here is the original shot:

I then created the logo header ( image). I added a gradient using two colors that I picked from the header image.

I also pulled a color out of the image to use as the header text color.

I wanted to keep it clean, so I kept simple black on white for the text, and used a simple two column CSS layout.

To manage the content on the site, I briefly looked into using a CMS tool like Drupal, etc. but decided to stick with manually edited HTML due to the small number of pages and my desire of control.

I did utilize some scripting code to modularize the common HTML. I accomplished this using simple PHP include scripts that include the common HTML code on each page. I found this very clean, easy to do, and well supported by my hosting provider (GoDaddy).

For the blog pages, I use Blogger published to my hosting provider. I was able to include the PHP include calls in the Blogger template (as this just generates HTML with is copied to my web server). The only trick here was that I had to use the fully qualified path for the include files, but that was simple enough with a quick look through the GoDaddy documentation.

I also finally went back and cleaned up some of the old pages on my site that I never even updated to the previous design. So now every page here should be consistent.

I even updated my vanity favicon.ico file to match the color of the site. Just a simple E and D using the Rockwell font color matched to the header text color.

Let me know what you think and if you have any suggestions for improvement. I'm no graphics artist, but I think the new design is a good compromise between simple and unique.


I'm ready for spring. Hopefully today will be the last chance to catch a shot like this...

Sunny Day

As winter drags on, a semi-warm sunny day is a priceless commodity.

Today was one of those days, with the temperatures nudging 32 degrees and a cloudless sky.

I took advantage and went for a walk through the forest preserve near my home with my family. It was a great opportunity to get some shots with our new camera, and some much needed fresh air and sunshine. I'll spare you the endless family pictures, but here are a couple of nature shots.

Merlin Mann on Twitter

I still don't 'get' Twitter, but I did subscribe to Merlin Mann's Twitter RSS feed, and I have to say, I'm enjoying it. Here is today's:

"Every time you sniff and say somebody has "too much free time," the part of you that used to love making things for pure joy dies a little."

Some of my recent favorites:

"SEO advice that doesn't begin with "1. Don't rely on horseshit tricks" is -- well, frankly -- very probably horseshit."

"Making a plausible-looking fake email from Admiral Ackbar. For a talk. For my job."

"I think traces of a Baltimore accent are creeping into my vowels. I'm like an impressionable 14-year-old girl. It's tree-ew."

"Developing a rash whenever you shave more than twice in five days seems like a sure sign of chronic hobo-ism."

"Local TV news is like a refrigerator that I know is empty, but which I inexplicably keep checking anyhow."

"Emo boys are a little like Jenga; remove the spikey belt and key ring, and everything falls apart in a sad little pile."

"Just insinuated an adorable stuffed bear into the crook of Ellie's right arm. Crazy-cute, but admittedly a bit "Weekend at Bernie's." (Ellie is his infant daughter)

"The Grammy awards must be what it's like when boring people do mushrooms."

"Just referred to a limo as "The Hoopty Noir." Why am I even allowed to type?"

So I'm digging Merlin's 'twits', but I can't imagine following more than one or two people and I REALLY can't imagine getting updates via SMS.

Java Email Server 1.6.1 Released

A new version of Java Email Server (JES) is available.

The new version is mostly a cleanup release. However, this release does fix a major issue introduced in version 1.5 that caused issues when used without a default SMTP server.

You can download the new update from the JES homepage:


Microsoft + Yahoo = ???

I have to admit, it is really hard not to look at this very skeptically. First, Microsoft is offering a 62% premium on the current stock price. That seems like an awful lot to pay. And I don't care who you are, 46 Billion is a lot.

Second, I just don't see the synergies. Now, from a purely functional perspective there is some value. Obviously Yahoo! has a significant user base and presence. They also do several things pretty well (Flickr, Email, Search, Finance Portal, etc.). But this isn't a way to leapfrog Google. Assuming they don't lose any market share during the integration, the combined (worldwide) search market share is still only 16% compared to Google's 62%!

Furthermore, the technology stack couldn't be more different. Is Microsoft really prepared to run their internet presence off of PHP any MySQL? They've already purchased one major email service (Hotmail) and took over three years to migrate it from Apache/FreeBSD to Windows. Would they leave the Yahoo platform intact or migrate it to Microsoft technologies?

If you migrate it, you're going to end up with a lot of 'extra' Yahoo! engineers. If you don't, well, then you don't really have a lot of cost savings as part of the deal, you are just buying duplicate products for the (diminishing) revenue.

If this goes through, how many Yahoo! engineers will land at Google or new startups before Microsoft even has a chance to launch the first round of layoffs? This may be part of the plan, but it doesn't seem likely that the first ones to leave are necessarily the dead weight you would want to dump anyway. How many new startups are they instigating, who will in all likelihood be more competition for Microsoft.

Could someone else swoop in and grab Yahoo!? I can't imagine that happening at the current price, unless they were just trying to drive up the price. That seems like a long shot though.

If this deal goes through, I'm calling it the second nail in the Microsoft coffin. The first of course being the delayed launch of Vista and the poor adoption.

Java Email Server - Status and Future

I've covered the History of JES, as well as the JES 2.0 branch. This post will cover the current status and future of JES.

In short JES is in maintenance mode. I have no plans to make any significant changes to the JES code base. As I outlined in my first post in this series, I believe JES fits a niche as a very simple and easy to use email server, and the best way to keep it simple is avoid adding features.

For the past several years, nearly all of the improvements to JES have been made by the community. I listed the names in the history post, and these folks really are the drivers to JES today. As new updates come in, I'll check them out and roll them up into a release as appropriate.

As the Sourceforge Download Statistics indicate, JES as popular now as ever, averaging about 1,000 downloads per month. As long as people find JES useful, I'll continue to provide support (primarily through email) and release updates.

I want to thank everyone who has contributed ideas, reported or helped track down bugs, or submitted code. Without your help, JES would not be what it is today.

iTunes Export 1.4 Released - Zune Support

I released a new version of my iTunes Export utility.

iTunes Export exports your iTunes playlists as M3U or WPL files, allowing you to setup playlists in iTunes and use them with other software or devices.

This release adds Zune support. iTunes Export will now export ZPL files. Thanks to Thanks to Jeff Donnici as usual for his continued contributions.

Don't be afraid to suggest new features or bug fixes (

Java Email Server - 2.0 Branch

In my first post of this series, I discussed the history of JES. In this post, I'm going to outline my ill-fated 2.0 branch.

As with many of my projects, the JES 2.0 branch started as a way to explore a shiny new hammer (a new API/tool/framework, etc.). In this case, the shiny new hammer was JMX. I thought it would be neat if you could drop in a mail server to a container such as JBoss, and utilize some of the 'built in goodies' of JMX to manage the server and make updates. One of the drawbacks of how I built JES was that you had to restart it to accomplish many configuration changes. I had thought about a lot of ways to attack the 'restart shortcoming' of JES and I decided it was time to branch off onto a new release track. I decided I should write a modular code base that could be wrapped in many different deployment containers (Standalone, JBoss, etc.).

I started down this path with passion and drive. After I'd completed the SMTP (I think) portion of the code base, I was contacted by Andrew Oliver about my interest in working on a JBoss mail server. He was working on a new project to build an enterprise class mail (and calender, etc) server build on JBoss (where he was employed at the time). This project, JBossMailServer at the time, seemed to eclipse what I was attempting, and given my already slowing momentum on the 2.0 branch, pretty much brought it to a screeching halt. I had a bit of interest in working on the JBoss version, but in truth some of the motivation for the projects that I work on is ego. Working on a project that wasn't 'mine' didn't quite have the same appeal, even if it was JBoss (remember, this was 4 years ago).

Apparently JBoss had found someone interested in the server, as they approached me with an offer to pay me for the task of completing the SMTP (or POP, I don't recall) functionality. Since I was a pretty easy task for me (I'd done it once already), and hey, they were paying me, I jumped on board. I worked through the deliverable they wanted and earned a little spending money.

However, a funny thing happened. Once I'd worked for pay on the project, it was really hard to get excited about working for free. Combine this with the lack of real ego payoff, and I drifted away from the project.

In the mean time, Andy left JBoss and founded a new company to carry the project on. If you are interested you can read more about it here. I have no idea if any of my original code has survived the many releases since I contributed.

I did get to 'brag' about being a JBoss contributor for a time, even if I only ever contributed to the mail server subproject. But the lasting impact of the JBoss foray was that all momentum on JES 2.0 was lost.

That about covers what happened to the 2.0 branch, and why it has never moved forward. In my next post I'll cover the current status and future plans.

Java Email Server - History

By popular demand (hey, one guy requested it), I figured I should blog a little bit about some of the open source projects I've worked on and give some history, status, and future goals.

I will start with my Java Email Server (JES) project. This post will focus the history of the server. In the future I'll blog about my failed JES 2.0 adventure (and my JBoss foray), and a bit more about the current status and where I see it going.

Just like many other Open Source projects, JES started to 'scratch an itch'. At the time I was running a windows desktop as my 'server' at home, and wanted to host my own email. Being a bit egotistical, I'd registered my name as a domain name ( of course), as well as domains for others in my family. I wanted a quick and easy way to host email for multiple domains on single IP address.

I was pretty familiar with Linux at the time and would have likely just run sendmail if I had a Linux box running. But for reasons unimportant to the story my desktop box was Windows, and this was long before Virtual Machines became popular.

So, I set out looking for a solution. As a Java developer, I was interested in finding a solution I could work on myself. I found this in CRSMail. I found the kernel of what I wanted here, but I had a few changes I wanted to make. I reached out and contacted the developer, Calvin. He wasn't really actively working on it and was fine with me forking it to take it in my own direction.

At this point it makes sense to step back and talk about the guiding principal of JES: Simplicity. While I'm not sure this was always the case, early on in the development of JES I realized that this was the right niche. Part of what put me on this path was Apache's JAMES server. I knew that this was a reasonably well regarded server that 'owned' the top of the Java email server market (a niche itself). The issue that I had with it, and that I've heard echoed by others, is that it is overkill for what they wanted. It was too complicated to get it configured for their needs. So this focus on simplicity has guided my development. While I've added features over the years, I've tried to always keep the scope limited so someone could download the tool, open the config file up and get started.

As an example of how this goal manifested itself, one of the areas I focused on was actually removing much of the 'plugability' that the original CRSMail server had. (In fairness I originally did this to get a simple working version. While I based my code on CRSMail, I really rewrote much (all?) of the code base. Part of this was to take advantage of newer APIs, some of it was vanity, and some of it was to cleanup certain issues that existed.) Specifically, I reduced the user store down to a simple file and took out many of the configuration options. To maintain your users, you just open the text file and type in the username and password. The server will hash them when it starts (so you don't store plain text), and you are set. There are no GUI tools to edit it, no fancy plug-ins to a database or LDAP store. Simple and straight forward.

In the end, I believe this focus has been the key to the (modest) success of JES. It is focused on a specific use case, and does it well. There are a limited number of moving parts (not much to break), and while the code has evolved, the majority of it has remained very stable. A few people over the years have taken JES and adopted it to meet their needs. While a pluggable interface is nice, in reality with an Open Source project, it is nearly as easy to just replace or rewrite certain areas to meet your needs.

The early releases were driven by my own personal requirements. With each successive release, I found more and more people were emailing me with ideas, issues, and even CODE! As time went by, I stopped being a user of JES and became a maintainer. I was amazed to see a community build up around my server. While the community wasn't huge, there were some key contributers early on that really kept the application growing and improving. I invite everyone to take a look at the release notes, but want to call specific attention to Siegfried Goeschl, who was the first and longest (he emailed me today!) contributer. It was that first real feedback that made me realize that I had something here that was useful to others. As time went on, releases were driven by other users who found JES useful and had fixes or enhancements to offer back. Thanks all: B0NFiRE, Scott Schrecken, mariusz_grey, Paul Thordarson, Martin Cordova, Shmuel Siegel, Al Lieb, Andrei Makalski, Philippe Reverdy, and Matthew Lohbihler. Wow, as I look back on it I realize how diverse and impressive this list is. Thanks all!

In upcoming posts, I'll talk about my failed JES 2.0 effort, and how that led to my brief stint as a JBoss contributer. I'll also try to post on the current status and future direction for JES.

Zed's Rails Ghetto Rant

I'm not exactly breaking news here, but I've been out of town so you'll have to give me a break. :)

Zed Shaw, of Mongrel fame (RoR web server) recently posted a scathing rant attacking the Rails community in general as well as specific members. The post is actually pretty (REALLY) long, and at the end I'm not sure reading it all was a good investment of my time.

But, I did read it all, so the least I can do is give a quick analysis for you so you can decided whether to dig deeper or take a pass!

Regardless of the accuracy of all of Zed's statements, one thing that is clear to me is the difference between the general perception people have of projects, people, etc. and the actual reality. I think we see this all the time in our own worlds, but we forget that people who achieve notoriety are really no different.

Secondly, I came to realize how little much of this stuff matters. At the end of the day, most people/companies who choose to use Rails (or any framework/technology) will never really get involved deeply enough to care if the (in)famous folks are saints or sinners. They'll just download the tools, browse the docs, and crank out useful code.

The one aspect of his rant, and more importantly Rikard's response, was about how companies (specifically Thoughtworks) were exploiting Rails and what type of communities exist in companies like Thoughtworks. I have several friends who are ex-Thoughtworkers and I'm curious to ask them about their impressions of Zed and Rikard's assessments. I would encourage people to check out these posts and just search for these sections for a quick summary of what I thought were the interesting parts.

Whether this whole tussle is actually worth the time to read or simply a Valleywag'esque distraction is still an open question. Either way, it is too late for me to get the time back.


I've picked up a new hobby, Photography. We (my wife and I) purchased a new Nikon D40 and 18-200 VR lens to get started, and so far we are both really enjoying it.

We previously used a Canon Powershot S500 (5 MP Point and Shoot), and while we took a ton of pictures with it, we were always frustrated with shutter delay. We missed a lot of great shots while the camera metered, focused, and did whatever else it did before it would actually take the shot.

Out of the box just shooting the D40 in full auto mode was much better. The 18-200 lens gives an amazing range of wide/zoom opportunities previously unavailable to us. However, it was when we learned to go beyond the auto mode that we really improved our our results.

One of the keys to helping us learn was the book 'Understanding Exposure' by Bryan Peterson. It walks through the key controls (Aperture, Shutter Speed, and ISO) and provides great examples of what you can achieve and how these controls can be used to archive the 'creatively correct' exposure.

We recently went to Sanibel Island, Florida for vacation and it served as a great opportunity to really exercise the potential of the camera and get some really fun practice time in. By the end we were both able to successfully shoot in full manual mode to achieve the results we wanted.

I've been using Tabblo on the recommendation of a friend to post some of my shots. It is a little more than the basic photo sharing sites as it allows you to create a 'page' of pictures of different sizes and interspersed comments. You can see some of my shots from Sanibel Island below (click images to see full version).

We have a ton to learn but we're looking forward to spending more time and taking many great shots.

Tabblo: Wildlife on Sanibel Island

Tabblo: Sunset on Sanibel Island

No More United Airlines

I'm done with United. I've been frustrated for a while with their deteriorating level of service and frequent flight delays. Unfortunately, due to a previously canceled trip, we had tickets to burn.

We were frustrated before we even reserved our tickets. Instead of being able to fly direct, we had to fly to a nearby city (3 hours away) because the (two) available flights were already booked.

When we got to the airport on the morning of the departure, we found that the flight was delayed due to a delay in the incoming flight. Once they got the plane unloaded, we thought we were on our way. However, they instead informed us that we were changing gates, and that as soon as the current flight at that gate took off, our new plane could come in, unload, get cleaned, inspected, and then load us. We later found out that the gate (and plane) change was due to 'insufficient water' on the plane. Go figure.

The (second) inbound plane was delayed as well, so we ended up waiting a few hours for it to arrive. Once it did, they got it unloaded and ready to go. We finally boarded!

However, once we were all seated and ready to go, we found out that they had incorrectly catered the plane. Yes, we couldn't leave because they didn't have enough Coke and snacks (oh wait, they don't give out snacks) for the return flight. And they couldn't just load the food at our destination airport.

We eventually got the catering figured out and pushed back from the gate. After a fairly smooth flight, we landed and deplaned. I was pleased to see all of our suitcases come around the luggage carousel quickly, until I realized we also checked our car seats. I waited. And waited. And waited.

After a while the United representative came on the PA and notified us that some of the luggage didn't make the flight and would be arriving on the next flight in. Great news, the next flight is only in 1 hour (plus another 1/2 hour to get the bags unloaded).

They offered to messenger the luggage out to us, which would have been great if it weren't our children's car seats. We elected to wait around for the next flight and after some minor lobbying received a couple $8 food vouchers for our inconvenience.

This would be slightly more forgivable if the same thing (delayed luggage) didn't occur on last United flight. I don't fly a lot, so two in a row becomes a pretty big pattern.

Thorough it all, the actual personnel we dealt with were professional, courteous, and good humored. They seem to be good people stuck in a bad system. It almost makes it more frustrating though. They can't just fire a few incompetent people, the entire system appears to be broken.

In the end, we'll be looking to other airlines for our future travel. I'm still a reasonable fan of American although that may just be due to better luck as opposed to better quality. I think we'll end up trying out some of the smaller airlines and seeing if they are more 'with it'. Flying out of Chicago will always be a challenge due to the weather, but it has to get better than this.