When Technology and a 2 Year Old Collide

Never leave your 2 year old alone with a laptop. My son came upstairs and said: "I pushed all of mommy's buttons". We knew that couldn't be good.






It wasn't. I was able to get about 2/3 of the keys back on, but ended up ordering a replacement keyboard as he actually broke several of the plastic key mounts.

Luckily this was my wife's laptop, and not mine!

Treo 755 Initial Config and Must Haves

As I outlined in my previous post, I'm using a new 755p. To get my 755p in prime form, there are a bunch of tweaks and programs to install right out of the box.

First, there is some software that comes with the device but isn't shipped on the CD. It can be downloaded here. Some of the applications do require you to enter your serial number. The software I downloaded was:
  • Versamail - needed for Outlook ActiveSync
  • Voice Dialing - I have found this only marginally useful, especially with the Treo's ease of use and it's so-so accuracy
  • Bejeweled - addictive Game
  • Solitaire - obvious
  • Palm Files - So you can browse files on the SD card
After that, I grabbed:
  • IBM Java VM
  • Gmail Java Application - Google didn't see to want me to d/l it using the mobile apps page, so the link there is direct to the jar file. I also linked to 1.1.0 instead of 1.1.1 or 1.5.0 since 1.1.0 seemed to work the best.
  • Google Maps
There are several configuration changes that I make right out of the box as well.

Phone Display Preferences (General Preferences on older Treos):
  • Change 'Show DialPad' to 'Show Wallpaper' and select a background image.
  • Change 'Typing dials phone number' to 'Typing starts contact search'
  • I set the Favorites Buttons Rows to 1.
  • I turn off the 'Blink green LED when in coverage' on the 650, but the 755 doesn't seem to have that setting.
The 'Typing ...' setting is the key feature for the Treo in my eyes, and is what really makes it a great phone. I can't believe this setting is set to 'dial number' by default, as it really hides the usability. For the uninitiated, to call someone I turn the phone on, and then start typing their name on the keyboard. You can also mix first and last names, so to dial myself (hey, why not) I would turn the phone on and type 'ed'. If that doesn't narrow it down enough, you can keep typing, such as 'edau'. For me, 2-3 letters finds just about everyone.

New Phone

As some people have noted (and my previous posts suggest), I'm a little uptight about my mobile phone. I've been used a Palm device of some sort since 1998 and am a pretty big fan. I've used the Treo 270, 600, and 650 so far, and have had the 650 for a couple years now. However, due to some recent events, I had the opportunity to live in the Windows Mobile world for a while. Here is what happened, and my conclusions.

For various reasons, I ended up switching service from Sprint to Verizon. While Verizon has great coverage, their phone selection is much less impressive than Sprint's. Those two may be linked, but that's a post for another day. So, my choices where essentially, an outdated Treo (700p or wx), a WM device, or a Blackberry. There were rumors the 755p release was immanent, but after holding out a few weeks it sounded like it would be delayed a few months. So, I had to choose a backup. I didn't give the Blackberry much attention (we don't have a BB server setup at work) so I pretty much resolved myself to getting a Windows Mobile device. At the time, the only WM6 device Verizon offered was the Samsung i760. After becoming mostly accustomed to the i760, Verizon finally released the 755p. Luckily, I was still able to swap out the i760, so I made the choice to go back to my old friend. Here are the devices (From left to right: Treo 650, Samsung i760, Treo 755p):


Quick Summary

i760
Pros:
  • Mail Application (Exchange Integration in general)
  • Voice Commands
  • Interface Eye Candy
Cons:
  • Form Factor (Mostly Button Placement, Slider Keyboard)
  • User Interface
755p
Pros:
  • Form Factor - The Keyboard and button layouts are vastly superior
  • User Interface - The small things that make navigation between tasks easy
Cons:
  • Exchange Integration - Good enough, but not as 'cool' as WM
  • Voice Command - Included as an extra app that simply isn't worth installing
Detailed Version

The i760 was a big improvement over the Tre0 650 I had been using in a lot of ways. First, the 'push' Exchange integration of mail, calendar, tasks, and notes was great. I immediately felt much more connected. The mail client was also vastly superior to what I had been using on the Treo and provided great integration (you could move email to any folder in exchange). The data connection speed was also a big difference. The 1.3 megapixel camera was a moderate improvement over the Treo camera. I say moderate because a 1.3 megapixel phone camera is still only marginally useful. The Voice Command feature also worked surprisingly well. I almost never had issues and found it to be reasonably useful. However, this is were the positives end. As far as user interface goes, I was unimpressed. First, the button layout was simply tragic. The power button is on top of the device, there are buttons down the right side (Windows, OK, and Camera), and 3 'soft' keys, a dial pad, and a D pad on the front. The keyboard is accessible under the slider. I'm a huge fan of the Treo/Blackberry form factor. Having the keyboard available on the front at all times makes so many activities more accessible and faster to access. I found myself frustrated every time I had to open the keyboard slider. The bottom line is, I believe these phones should be nearly fully functional with single handed use. The Treos are made for this, and the slider form factor, or (to a lesser degree) the full touch screen (ala iPod and knockoffs) are simply not.

I was also frustrated by Windows Media Player. I use my mobile phone to listen to podcasts whlie I commute and WMP doesn't 'save' your place in an audio file between executions. After some searching I found MortPlayer which was serviceable, but not really clean. You couldn't turn off the device and have the player continue, but you could set it to automatically turn off the screen after a period of time. It worked, but wasn't 'natural' to me.

In the end, I'm glad I switched back to the Treo 755p, but there certainly pros and cons to the Treo 755p and Samsung i760. While the 755p also supports Exchange integration, there are a few minor shortcomings. It does not support syncing tasks, and it doesn't (by default at least) allow you to move mail into any of your exchange folders. However, it does the main functions just as well. It pushes email, calendar, and notes in real time, and you can handle calendar invites. Other than this, the 755p is superior. The form factor and user interface is simply easier and more intuitive (to me). While I like having a fully featured device, I use it as a phone and audio player 80% of the time. Dialing a phone number on the Treo is dead simple, and while the i760 isn't horrible, it just isn't as easy. A specific case, on the Treo you can dial the first letter of the first name and then the first letter (or couple) of the last name. You can kind of do this on WM, but you need to put a space between the letters. Not earth shattering, but an example of how the Treo is just 'easier'. The Treo home screen with the default 'speed dial' buttons that can be assigned to applications or contacts (or other choices as well) make every commonly used contact or application available via a few D Pad clicks.

In the end, I'm glad I ended up with the 755p, although it is clear that Palm needs to get its act together with the OS and come out with the next generation that will provide better support for advanced features (WiFi, better multitasking, sexier displays) without sacrificing the existing 3rd party application catalog or usability. But for now, I'm still on the Palm bandwagon.

See my next blog post for the Treo 755 Initial Config and Must Haves

Feed Bankrupcy

There have been a reasonable number of people around 'the net' claiming email bankruptcy. They simply get too much email and have fallen so far behind that they just delete it all and start over.

Well, luckily for me I'm not nearly popular enough to have that issue. However, I've created a similar issue for myself.

I checked my Google Reader earlier this week and it listed over 900 unread posts. While I was tempted to simply declare feed bankruptcy, I instead spent much of an evening powering through most of them. In the end, I'm pretty sure I'd have been better off just skipping them. Reading that many posts at once was very draining and I'm pretty sure my comprehension level was low by the end, but I didn't want to miss anything!

What I do need to to is continue to trim down my feeds. However, it's hard to prune them as each feed I added had some value (at least when I added it).

So for now I'm mostly caught up, but I know I need to do some pruning to avoid regular repeats.

This also explains why I haven't posted here for a couple weeks.

Wheels Coming off at Motorola?

Motorola has lost both their CEO and CTO recently. What is going on over there?

I recently had the privilege to hear Padmasree Warrior speak. She didn't spend of her talk on the PR prepared slides but instead had a conversational talk with the audience about the state of mobile technology and how she envisioned things developing. I thought she did a good job answering questions about the iPhone and the carrier dominated market here in the US.

I've been a long time fan (and brief employee) of Motorola, so I wish them the best. Hopefully they can find new leaders quickly who can help them focus.

Bubble 2.0

I don't usually propagate YouTube videos, but I think this one makes a solid point:



In all seriousness, I do think there is room to be concerned. In the first bubble, the big paydays were the IPO. Of course many who did IPO had only a brief success while many others never got there. There were other exits, but the IPO market was a huge propeller.

This time around it seems like there are almost no IPOs, and the major exits are the tech giants. Google, Microsoft, Yahoo, EBay, etc. are the main sources of the 'crazy' valuations. What is going to happen when these guys slow down their acquisition pace?

Either way, enjoy the video.

Rose Bowl Bound

Go Illini. After three horrendous seasons the Illinois football team has earned a trip to the Rose Bowl. And with a reasonably young team, and an amazing sophomore and freshmen quarterback/receiver combo, the next few years are looking up as well.

Electronic Book (eBook) Readers

I'm a reader. Not just the internet, but actual real life books. Being someone that is interested in technology I've been anxiously awaiting the mass adoption of electronic books. To that end, I spent some quality time with Sony's eReader. I found that I actually liked it better than reading a paper book. While there was certainly room for improvements with the Sony product (button placement, page refresh rates), I really enjoyed reading with it. It was actually more comfortable than holding a book. The biggest obstacle I had to buying one was that I use the local Library for much of my reading, and they didn't have any mechanism to 'loan' an eBook. Therefore I would have ended up spending a lot of additional money to read books.

The latest addition to this space, Amazon's Kindle, has been widely panned in many of the blogs I read. Now, I haven't done enough research to have a well founded opinion on the product itself, but I'm excited to see additional progress in this space by someone who can be a game changer. Amazon has the power and volume to make a real difference. And while for all I know, the initial stock could have been 10, Amazon apparently sold out within 5 1/2 hours.

I hope the Kindle is a success. The cost and impact of printing, shipping, and disposing of all these books is unnecessary in the current day and age. And why shouldn't you be able to take an entire library with you on a trip, instead of one 600 page book that is larger and heavier than your laptop.

The Kindle may not be the next 'iPod', but it is a step in the right direction, and innovation in a space that has been lacking it for a long time.

Redacted

There have been a few minor spats regarding the move Redacted. First, the director, Brian DePalma, is frustrated with the studio (Magnolia Pictures, owned by Mark Cuban) over their refusal to include certain images in the film. There is a short YouTube Video of an press conference where DePalma and a studio rep verbally spar.

Second, Mark Cuban and Bill O'Reilly have been sparring over this film. Apparently O'Reilly feels that it is unpatriotic. The film depicts an alleged incident of rape and murder of Iraqi civilians by US Soldiers. Bill seems to feels that the film will motivate 'the enemy'. Mark has a summary of the interactions in blog posts here, here, here, and here.

One of Mark's main points against Bill is that he judged the move based only on the summary. He didn't actually watch the movie (it had not been released yet). Well, I have HD Net, which showed a preview of Redacted, so I was able the entire film in the comfort of my own home (for free). I'm glad it was free.

Frankly, it wasn't a very good movie. My biggest issue with it is that it is a 'fake documentary'. All of the movie is fake camcorder footage recorded by one of the soldiers, fake security camera footage, and fake television reports. I did not find this style compelling. I dislike reality television, but this felt like the worst of both worlds. It played like reality television, and the performances seemed to target style, but it was scripted so you ended up with actors following a script trying to act like they are being 'real'. It didn't work.

Second, I just didn't find the actual issue compelling. Yes, the alleged act is disgraceful, and only makes it more difficult to be successful with the mission. However, the whole movie encompasses what is essentially a subplot in every war movie. Platoon deals with the very same issues, with a much deeper level of emotional involvement. The characters in Platoon seem much more 'real' than in Redacted. I think the fake documentary made them less real instead of more. I'm sure there are incidents like this in nearly every war we've fought. It isn't right, and the people should be punished, but I just don't see this as a shocking or even particularly interesting film.

Football is Soccer

I saw this shirt on Scrubs and thought it was pretty funny:



Turns out Busted Tees sells it. I'm not sure your European friends will get it. Frankly, I'm not sure your American friends will get it either.

Memory Leak Kills Princeton's DARPA Entry

bThe Slashdot version of this story has the headline: "C# Memory Leak Torpedoed Princeton's DARPA Chances" This is sort of accurate. The issue isn't with Microsoft's implementation of C# or runtime, but with Princeton's code.

Bryan Cattle has a good writeup of what happened. Essentially, objects they thought were getting garbage collected were not because there were still references held to them. In this case the objects were registered as subscribers to events. By forgetting to unsubscribe the objects when they were done with them, they ended up with a 'memory leak'.

They eventually tracked down the problem with the use of the ANTS profiler. This is a great example of why it is important to really understand how the 'magic' parts work, and to verify that they are behaving as you expect. In this case, by not carefully tracking all the references to these commonly created objects, they ran into big problems.

Every 'real' developer should be proficient with profilers and use them as part of the development cycle to verify the system is behaving as expected. You won't necessarily catch every issue, but you'll have a lot better understanding of how things really work.

I find today that with the current generation of development tools, developers can function without really understanding what their code is doing. This usually works fine for small and mid-sized web or client applications, but can really cause problems with a project that needs to scale or function for long periods of time.

RubyConf Mac Monoculture

Tim Bray wrote a summary of the recent RubyConf. He did have one comment that caught my attention:

Everybody had a laptop, and it’s almost but not quite a Mac monoculture.
A Mac monoculture, among developers? It isn't news that the Mac makes a great development platform for any code that is deployed on *nix. The popularity of the Mac UI on top of the *nix platform makes it idea. It has long been gaining in rodes in the Java community, but I'm still a bit surprised to see a Mac monoculture at a non-Apple conference.

This is why there was such an uproar about Java and Apple recently. Like Ruby, Java developers find the Mac platform ideal for developing their server applications. Unfortunately, Apple isn't giving them the love back.

Still, Apple seems to do well anyway. So while I think Microsoft 'gets' how to build developer support a lot more than Apple, I don't see Apple hurting because of it. I still believe in the long run some additional attention to the developer class could really benefit Apple.

Writers Strike to Help Online Advertising?

Much has been written about the ongoing writers strike. As a fan of (mostly quality) scripted dramas, I'm bracing for dearth of television this year.

Several of my regular shows were already slated to start mid year. Law & Order, Battlestar Galactica, and Lost all begin their seasons in 2008. Already, it appears Lost may cut the season short. And from what I had read previously, Lost had stockpiled more shows for the spring than most shows.

Marc Andreessen has a long post about how to Rebuild Hollywood in Silicon Valley's Image. This is an interesting read, but I think the part he doesn't discuss is advertising.

The growth of online advertising has been impressive so far. A prolonged writers strike will even further reduce the appeal of traditional TV advertising. With new shows limited to reality TV, people will spend more time online. The dollars will chase they eyeballs. If the strike goes on for very long, look for a banner year for online advertising in 2008.

iTunes Export 1.3.2 Released

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 is provides a few bug fixes for handling '*' and '+' characters, as well as songs with invalid "Location' entries.

http://www.ericdaugherty.com/dev/itunesexport/

Don't be afraid to suggest new features or bug fixes (eric@ericdaugherty.com).

Daylight Savings Time

Today, my clocks adjusted back to standard time. Unfortunately, my children did not.

Apple Hates Java

Apparently Apple shipped OS X without updating to the most recent version of Java. Welcome to the joys of living in a walled garden.

As a Java fan, I'm pretty disappointed that Apple is not more supportive of Java. I've long believed that OS X is a nearly ideal development environment for Java with is *nix base and polished UI. PowerBooks have been taking over the Java developer market for a while, although this latest turn of events certainly won't accelerate that process.

However, as much as I think this is just stupid on Apple's part, I can't say that they seem to be hurting because of it. Apple is just lucky that the main threat is Windows, which most people left for OS X anyway. I don't think Vista will be winning them back, even if they are stuck on JDK 1.5

Apple OS X Leopard Blue Screen of Death

An OS X BSOD, who would have thought it was possible? John Gruber outlines the issue on his blog. As a possible future Apple Fanboy (as defined by John of course) I find Apple's products appealing, and believe that they are more stable than Windows. But, let's not kid ourselves. Apple, and OS X, are not perfect. And as Apple's market share continue to grow, you are going to see more and more issues with people doing things with Apple devices that Apple did not intend. The number of bricked iPhones is another obvious example.

The problem is, people see computers (Windows, OS X, iPhones, etc) for what they are, multi-purpose devices. They figure out how they work and take advantage of undocumented features. This has been going on for years with Windows, and as regular readers of The Old New Thing blog know, Microsoft has made plenty of 'hacks' to their operating system to support applications that leveraged 'undocumented features'. This brings up the two different approaches that exist at Microsoft and Apple.

Microsoft: Support Everything
OK, not EVERYTHING, but Microsoft seems to spend a significant amount of time testing existing products and applications on their operating system. When they find issues, they are even willing to make changes to the OS to fix it, even if the application is 'wrong'. This makes live much easier for application developers and application users who may be using applications long abandoned by their authors.

Apple: Upgrade
Apple does not seem to be much of a fan of backwards compatibility. And they are certainly not very tolerant of you playing outside the box. They may not shut you down right way, but somewhere down the line your life will become very difficult.

Microsoft's approach is obviously more user friendly in the short term. I think a lot of Apple's reputation for reliability and ease of use comes from their walled garden/clean upgrade approach. I'm torn between the two. On one hand, I like the idea of clean system that does not make concessions to poorly written programs. However, being someone that is prone to writing his own poorly written programs, I appreciate the wiggle room Microsoft affords people. I'm a guy who won't buy an iPhone until I can deploy 3rd party applications, so while Apple is appealing, I'm not a 'switcher' yet.

The bottom line is, John is correct. The BSOD upgrade problem is not Apple's fault. Just like how many of the BSODs on Windows are not Microsoft's fault. Apple and Microsoft still get blamed whenever there are issues like this with their operating systems. It isn't necessarily fair, but your average user can't distinguish between an OS issue and a faulty driver.

Apple, welcome to real market share, and all the associated joys.

The Upgrade Catch-22

I have a compulsion to upgrade. Whenever there is new release of any software or driver that I use, I MUST upgrade. The problem is, most of these upgrades/updates just cause problems.

This classic situation arose last night. Excel 2007 has been crashing recently when I used the build in scroll function of my ThinkPad T60p. I figured it was worth downloading the most recent drivers from IBM (OK, Lenovo). I used their auto-update tool, which of course found tons of updates to run, including the BIOS, etc.

It all seemed to go well until after the wireless card driver was updated and I re-entered the WEP key to reconnect. BSOD (Blue Screen of Death). After a couple reboots to make sure it wouldn't 'work itself out', I booted into safe mode (which took forever), and disabled the wireless driver. I then rolled back (using the nifty 'rollback button'. This solved the BSOD but I still couldn't connect. So I ended up downloading the newest driver again and installing, but it didn't seem to take. So I found a more recent driver I installed earlier this year and reinstalled it. It didn't work either. Well it did, but it took me a while to realize I was entering the wrong WEP key.

Bottom line, updates are necessary for security and often do improve functionality, but more often than not, when I update I find myself hacking/fixing something to get back to 'normal'.

This will have no impact on my reaction to the next shiny update though. I will still install immediately.

Oh, and I still don't know yet whether any of this fixed my Excel 2007 scroll problem. We'll see.

Education

Marc Andreessen is writing a series of blog posts about career planning. His second post discusses education. Reading this post I cannot stress enough how right Marc is. He pretty much nails what I believe to be the best approach to building your skills.

Starting with a college education, build a foundation for success. A degree in Science, Engineering, or Mathematics is highly valuable regardless of whether or not you pursue it as a career. General Liberal Arts degrees are just stepping stones to something else, and essentially a waste of time. Graduate degrees can be useful (or required) in certain fields but in general you will be better off launching yourself into the working world. PhD's are nearly worthless unless you want to make a big impact in a very specific field.

Get real world experience while you are in college. Absolutely.

Be excellent at something (or two). Before you become a jack of all trades, demonstrate your ability to learn something in-depth. Once you've been a rock start in a certain field, you'll find it much easier to tackle the next one.

Get a broad set of experiences. Once you've tackled an area in depth (or better yet, while you are doing so), build the basic skills needed to handle the working world. Speaking, Management, Sales, Finance, International (an area have a lot of room to develop).

Read the post, it is dead on. Of course, I may be biased given our shared pedigree. Of course, while we both worked for the NCSA, Marc was writing Mosaic while I just worked in Mosaic customer support (for the Mac no less). Oh, I think Marc has sold a few more companies than I have as well. I guess I need to work on my skills.

NetBank Fails

NetBank, was closed by the Office of Thrift Supervision and the Federal Deposit Insurance Corporation (FDIC) was named Receiver. My bank failed. Not something people think about on a regular basis, but it does happen.

Granted NetBank isn't just any bank. As Internet's oldest online only Bank (up until Friday at least), there is some inherent risk. However, NetBank had been around over 10 years and wasn't some fly by night operation. See Wikipedia's summary.

So this is what FDIC insurance is for. There is almost no immediate impact for customers with FDIC insured accounts under the maximum threshold. The existing website, checks, ATM cards, etc. are still functioning and they money is intact. However, money over the FDIC limit will probably only be recouped at 50%.

ING Direct purchased the existing NetBank accounts from the FDIC immediately and provides a clean transition. In the near future (~60 days) they will be working with account holders to transition into ING accounts and close the existing NetBank accounts. From what I can see on the website I'm not sure ING Direct offers checking accounts so I'm not sure how they will transition checking accounts.

As an early adopter of Internet banking (I was also a customer of the short-lived WingSpan Bank) I'm not sure this will scare me away, but I may be a little more selective in the future, and I'll certainly be conscious of the FDIC insurance levels.

Let this be a reminder to everyone. Banks do fail. Make sure you are covered.

The Day TiVo Died

Maybe the title is a bit sensational. The post is really about the day my HD DirecTiVo got traded in for a DirecTV HD DVR.

Up until Monday, DirecTV had been transmitting their HD signal using MPEG-2 encoding, which my HD DirecTiVo happily displayed. Yesterday DirecTV rolled out new HD channels using MPEG-4 encoding, which required me to update to the new model.

The new model, a DirecTV HR20-700 High Definition PVR, does not use the TiVo software, but instead uses DirecTV's own software. From a capabilities standpoint, the boxes are pretty similar, with the HR20 probably having a few additional 'future options' included in the hardware.

My biggest problem is that I think in TiVo. I've been using a TiVo since ~2002 and that is my only interface to TV. I've transformed my thinking into the way TiVo views the world. Now I have to readjust my thinking to this new and less elegant world.

After a few days I'm pretty confident that this new box will serve me will and allow me to do what I want. The new HD channels are certainly worthwhile. I'll be watching the Illini trounce Penn State (one can hope) this weekend in High Definition on the Big Ten Network. I'm also really looking forward to FX and Sci-Fi's HD roll out this fall.

Java Email Server 1.5 Released

After a three year hiatus, a new version of Java Email Server (JES) is available.

The new version, 1.5, adds the ability to use a SMTP server that required authentication as the default gateway. As ISPs continue to crack down on spam (a good thing), they are instituting policies that can make it more difficult to run your own email server. One of these policies is to require all outbound email to go through their SMTP server, and requiring you to authenticate with that server. With this new addition JES can now work correctly in these environments.

No other changes were made to this version. JES is stable software in maintenance mode. New features or changes are minimized to insure stability.

This feature was added by Matthew Lohbihler of Serotonin Software (serotoninsoftware.com). Thanks Matthew, and thanks to everyone in the community who has contributed over time to help fix and improve this software.

You can download the new update from the JES homepage:

http://www.ericdaugherty.com/java/mailserver/

Time is the key to Google Success

I've written a couple of open source applications that have achieved a modest level of success. Both iTunesExport and Java Email Server (JES) have had both staying power and regular level of interest.

I quantify 'modest success' with the following yardsticks:

Google Search
Both projects are the top ranks for intuitive search terms (OK, so their name helps):
'itunes export' and 'java email server'

I think the JES rank here is especially impressive considering the second result is the Apache project JAMES, which is also an open source Java email server.

Google PageRank
iTunes Export: 4/10
Java Email Server: 6/10

OK, so we're not talking about the slashdot.org homepage here (9/10 BTW), but still a pretty impressive showing.

Downloads
Java Email Server: ~1000 downloads/month
iTunes Export: 4,500 downloads/august

You can tell from these links that JES is very stable while iTunesExport is still ramping up and has really taken off the last few months, in part thanks to a high profile post on LifeHacker.

Contributions
At this point both projects are primarily driven by contributions from the community. In the case of iTunes Export, Jeff Donnici has stepped up and taken care of many new features and updates. Java Email Server has contributions from quite a few people, including a recent contribution from Matthew Lohbihler of Serotonin Software who submitted a contribution I still need to release.

Time
The point of this post isn't to talk about the stats for these applications, but instead talk about why I think they have been (modestly) successful. I think it boils down to:
  • Niche
  • Free/Open Source
  • Treat your users well
  • Time
First, they both attack a specific niche that is large enough to support. In the case of JES, I purposely kept the application small and easy. If you want all the bells and whistles you can just use JAMES. If you want something you can get running in 15 minutes and can understand ALL the source code yourself, JES is for you.

iTunes Export does just one thing, allows you to use your iTunes playlists in other applications. iTunes is a great product, and even if only 5% of the people want this feature, there will still be a huge potential user base.

The fact that they are free, as in both beer and speech helps. For JES a lot of users have made key modifications to make it useful for their specific environment. Most of these changes were rolled back into the main release. For iTunesExport this has been true, although to a lesser degree, but the free as in beer aspect certainly is a big plus for both.

I respond to every user's email. My email address is posted on the website and I respond to all emails, even if my answer is 'I don't know'. In several cases, I've improved or patched an application within days of an email and put out a new release. I believe that this make users more loyal and more likely to post links to my applications elsewhere.

The real key though is time. iTunes Export is nearly 4 years old, and JES is over 6 years old. Over this length of time, many people have found them useful, and linked to them from various sites. Initially I got really excited when I came across a new site in my referrer log. Now, I subscribe to Google Alerts and see new links (especially to iTunes Export) on almost a daily basis.

I've never done any real extensive work to publicize them, although I think there were some key actions:

I registered both projects on freshmeat.net and updated the entries for each release.

I named the projects well. The names match well with what people would type into Google to find these solutions.

I kept the applications updated. Initially this was my own effort, but as the applications reached a critical mass, I just incorporated the contributions of the community.

Conclusion
If you want to write a (modestly) successful open source tool, there are a couple of things to do: Find a niche and own it. Name it appropriately. Make it free. Leverage free advertising. Be responsive. Keep with it.

If you find a niche and write a moderately useful application, as long as you stick with it and treat your users well, you'll be successful.

Greed is Good

The actual quote is: "The point is, ladies and gentleman, that greed, for lack of a better word, is good. Greed is right, greed works. Greed clarifies, cuts through, and captures the essence of the evolutionary spirit. Greed, in all of its forms; greed for life, for money, for love, knowledge has marked the upward surge of mankind. And greed, you mark my words, will not only save Teldar Paper, but that other malfunctioning corporation called the USA" (thanks IMDB).

A great movie (Wall Street) that grew larger and larger as time passed. It sounds like Gordon Gekko may be making a comeback in a new film called "Money Never Sleeps". The Telegraph has an article that discusses the stature of Wall Street and the ideas behind the new movie.

I'm interested, but mindful that most sequels fail to recapture or improve on the initial magic that the first hit provided.

Shortlived

Not to turn this into a soccer blog but...

The U-20 team was sent home by an obviously superior German team. The US played well but were simply outmatched. Since they were lucky to escape group play with their poor performances in the first two games, I simply can't criticize their result in the second round.

Beckham. He is out 6-8 weeks, which is most if not all of the remaining season, with a sprained knee. LA was a long short before the playoffs before Beckham showed up, and I have to said I'd be pretty surprised to see them in the post season now. I do know there will be a lot of disappointed ticket holders for the remaining LA games this season, home and away.

There are a lot of other new players in the league under the 'Beckham rule'. Unfortunately for the Chicago Fire, New York's Angel scored the only goal in a victory over Blanco and the Fire. Both Angel and Blanco are new to the league and delivering a lot of new fans and exciting plays for both teams. There are a lot of interesting players to watch in the, with or without Becham.

Soccer

It has been a while since I've posted, and the wealth of interesting Soccer recently has been partly to blame. The fact that my daughter was born this month may have had an impact as well.

U-20 World Cup

The US team made a disappointing showing in the U-19 world cup. They got through group play but lost to Austria 2-1 in the Quarterfinals. Freddy Adu and Josmer Altidore were exciting but didn't have the consistent play necessary to really make run.

U-17 World Cup

The US team managed to squeak through group play with one play and two losses. Luckily, 2 other teams also had a 1-2-0 record and the US won the tie-breaker. They really didn't deserve to move forward, but hey, luck is luck. They play their Second Round next game early Thursday morning against Germany, and hopefully they perform better than they did in the first two games.

MLS Stars

I've already mentioned Beckham's arrival and the excitement that it generated. Beckham continues to have an impact, although he hasn't turned around LA's fortunes yet. There are several other players that are making as big or bigger impacts on their teams though. Cuauhtemoc Blanco, a Mexican club and National team star has joined the Chicago Fire and is helping them make a run at the playoffs. He is also helping increase attendance, both at home and on the road. Not to the same degree as Beckham, but it will also probably be a more sustained increase. Also, players like Juan Pablo Angel and others are making similar impacts around the league.

Womens' World Cup

The US Women completed their final warm up match for the World Cup, which kicks off next Month. With a 40+ game unbeaten streak, anything short of a win will be a letdown.

With so much soccer to watch, and so much of it occurring overseas, I'm glad I have my TiVo so I can watch them at my leisure. Also, it is times like these that I appreciate soccer's low popularity. I don't have to worry about hearing spoilers before I sit down to watch the games!

Rails on GoDaddy

I decided to play with Ruby on Rails a little more and was just reminded of the painful process to get Rails working at GoDaddy.

First, you can have Java or Rails, but not both. But as I posted earlier, Java is near useless at GoDaddy anyway.

So, the key steps to getting your Ruby on Rails app deployed at GoDaddy are:

Setup at GoDaddy:
1. Log in to the GoDaddy Hosting Control Center
2. Make sure Java is disabled (under Language Options). If it is enabled, you can't deploy a Rails application. Change the setting to none (and you'll need to wait 24 hours for your site(s) to be moved to a new server).
3. Log into the CGI control panel and create a Rails application directory.
4. Create a symbolic link to your newly created rails directory.

Local Edits:
1. Freeze your gems: `rake rails:freeze:gems`
2. Edit your dispatch.* files to reference #!/usr/local/bin/ruby

Upload:
1. Upload your rails application to the rails directory.
2. Chmod the dispatch.* files to 755 (in FileZilla, right click and select File Attributes).
3. Wait. GoDaddy won't recognized new .htaccess files for about an hour, so go do something else and come back later.

Test:
1. Test your app. Hopefully it works. If not, good luck. A couple things you can try:
1a. Enable your Error Log in the hosting control panel, wait an hour, try again and view your log file in the CGI control panel.
1b. Download the /log/production.log log file.
2. Change to FastCGI. Update your .htaccess file and change the dispatch.cgi reference to dispatch.fcgi.

I omitted the DB setup. You'll need to create a database using the control panel and update your database.yml file with the appropriate information.

It isn't great, but if you already have GoDaddy hosting, it is workable.

Web Development Tools

Regardless of what language you use to build your web applications, there are a couple common tenants and tools that I feel are useful.

First, I strongly believe in the idea of permanent URLs. I agree with pretty much everything this W3C article says. All your URLs should be permanent, obvious, and technology agnostic. While this isn't strictly a tool, I think it is important for everyone building public websites to at least consider and realize the trade-offs they are making by breaking these guidelines.

Firefox. Yes, you should also test in IE, Safari, etc. but Firefox is a great tool for your primary development. It provides great information out of the box. Plus, there is a great set of plugins that are very useful:

Web Developer - It provides great introspection information, and on the fly CSS editing. The list goes on. This is a must have.

FireBug - A true JavaScript debugger. Breakpoints, watches, etc.

YSlow - A Yahoo add on to FireBug that provides insight on how to improve your page load time.

Live HTTP Headers - Watch the HTTP Header information exchanged between the browser and web server.

Extended Statusbar - Displays information about how fast a page loads and how big it is. I've found this one interesting but not critically useful. Anyone have a better suggestion?

ColorZilla - Allows you to grab color information from images/pages.

Does anyone have any other must have tools?

Thanks LifeHacker

For the second time iTunes Export has been featured on LifeHacker. The first story drove a bit of traffic this second (and more in-depth) mention drove about 60% of my normal monthly page view traffic in a single day.

In fact, when I first looked at the traffic graph I was pretty sure something was wrong because the spike yesterday made the entire rest of the month look like it had no traffic! It was only after I looked at the referrer traffic that I saw the LifeHacker post.

The LifeHacker article also has about 1000 digs at this point, so it will probably drive some incremental traffic for a while.

Anyway, thanks LifeHacker for the mention, and I'm glad that people continue to find the tool useful. I guess it is time to get another release out.

Beckham Arrives

ESPN certainly made a spectacle of Beckham's first game. They started with the MLS AllStar game against Celtic FC where they had Beckham as the half time guest and talked quite a bit about his arrival.

Then, on Saturday, they had the friendly game between the L.A. Galaxy and Chelsea. Beckham is just coming off of an ankle injury would not have played at all if it were not for the hype that was built up around the event. As it was, he just stepped on the field for about 10 minutes and was fairly obviously still hurting.

As a soccer fan, I'm excited to see Beckham and the attention that he brings to soccer. I'm not sure why it was neccessary to interview the Governator and Jennifer Love Hewett during the game though. It was certainly a smart move to have him play in L.A. Still, I'm curios to see how many celebrities show up for his 10th game in the league, let along is 30th.

Whether the excitement is permanent or not, this season the LA Galaxy are selling out games in just about every city they play in, while carrying one of the worst records in the league. If Beckham can make them successful (or just better), and if they can drive enough ticket sales, maybe the MLS will have enough money to sign more high profile players and continue to build attendance and revenue.

However, I find the excitement and spectacle of his arrival amusing. While this certainly isn't the same thing, I recall the attention that Freddy Adu brought to soccer when he started in the MLS (at the age of 14). At the time, I didn't really understand the fascination. While Freddy is a great player, the mass sports media seemed to make him the second coming. While Beckham is a much more established player, the level of expectation around him is absurd. While I hope it isn't the case, my guess is that the attention paid to Beckham will fade away just like Freddy's attention. Hopefully I'm wrong.

New Phone - Final Decision

So I've been waffling on what phone to buy for a while, and it is time to make a decision. I'm looking for a PDA/SmartPhone, so the major players are Treo 755 (Palm/Sprint), Treo 750 (WM/AT&T), Treo 700wx (WM/Sprint), Mogul (WM/Sprint), and the iPhone.

I have a Sprint Treo 650 now, which I've been very happy with.

I've had some hands on time with the iPhone, and I have to admit it is the best web browsing experience I've ever had on a phone. The zoom and scrolling is great, even if the network is S L O W (if you are not on WI-FI). However, I'm just not sold at this point. The lack of 3rd party apps, the ability to tether (use it as a modem for your laptop), and the weak syncing (no Notes, TODO) are not enough. The media features seem cool, but I'm just not the target audience for that. So while my next phone may very well be an iPhone, this one won't be.

So, that leaves a couple decisions, Palm or WM. Sprint or other.

If I stay with Palm OS, the obvious choice is the Treo 755 with Sprint. Compared to my Treo 650, it offers more memory (64 ->128), the same 320x320 screen, same processor, similar size, although the external antenna is gone, a little lighter, and a much better camera (.3 MP -> 1.3 MP). It also speeds up connectivity with EVDO (Rev 0 though, not Rev A) instead of 1xRTT. All in all, it is a pretty straight forward upgrade with very little real pop. You would certainly expect more changes for the 2.5+ years I've had the Treo 650.

I found this comparison to be very useful for comparing the current Treo models.

If I go WM, the question is really between the Mogul (Sprint), and the 750 (AT&T), or the old school 700WX.

The 700wx really appears to be the 755p with Windows Mobile and an external antenna. Same memory, smaller screen (240x240 instead of 320x320). Not really compelling.

The 750 very much appears to be identical to the 755 hardware, again with the smaller screen (is this a Windows Mobile limitation?).

The Mogul is at least interesting. It has Windows Mobile 6 (all the Treos have 5, although the 750 is upgradeable). 240x320 screen, 2.0 MP camera, Built in WIFI, and its dimensions appear to be smaller than the Treos ( 4.3" x 2.3" x 0.7" vs. 4.4" x 2.3" x .84" (755p)). It also provide EVDO Rev A (upgradeable at least), which allows voice and data access simultaneously. I had some quick hands on experience at my local Sprint store (they didn't have them stocked but one of the Sprint Employees had on). My first impressions were how less 'tuned' the OS was for quick (one handed) usability. For example, dialing contacts... on the Treo you can type the first letter of the first name and first letter of the last name (eg. ed -> Eric Daugherty) to pull up a contact quickly. WM does not work this way (out of the box at least). Other simple navigation issues seemed a little clunky, although the scroll wheel did seem to be the key for easy one handed navigation (a huge plus in my book). I've also read about some issues with the Bluetooth stack in the Mogul, although I would hope that could get cleaned up with a software update.

From a pure hardware perspective, it appears the Mogul is the best bet. So the question boils down to this, do I want to stick with Palm (an OS on its last legs, soon(?) to be replaced by a Linux version), or make the move to Windows Mobile.

The answer? I don't find any of these phones to be compelling enough to buy and lock myself into a contract for. I think the iPhone has real potential to be interesting, and I really was impressed at how useful the browser was (for everything expect speed). If Apple opens it up to real third party apps, and releases a 3G version I want to be free to jump on board. For now, I'll take the money and buy a Bluetooth GPS receiver or something that I'll be able to use on my next phone as well.

CUPS Purchased by Apple

An interesting story came out recently that Apple has 'purchased' CUPS.org. Since CUPS is an Open Source project, this may seem slightly surprising.

It appears that Apple has hired the primary developer and he has reassigned the copyright for the code to Apple.

From the commentary I've read, it appears that this is a purely defensive move by Apple to prohibit CUPS from moving to the GPLv3 license (it is GPLv2 now). Apple uses CUPS in OS X to configure print sharing. There are some significant changes in GPLv3 regarding treatment of patents, and as I commented in my previous post, this is causing headaches for several companies. I have not dug into all the implications of GPLv3 yet, but this is a space to watch.

Microsoft and Novell and Software Pattents

So I've personally sworn off of Software Patents. The stated goal of a patent system is to foster innovation. The concept being that if a person or entity can be guaranteed a limited monopoly on their innovations, they are more likely to invest the time/money to innovate.

I get this, and I think it makes sense, or at least it does for certain markets. However, the online world is one where interoperability is key. In fact, the major feature of the internet is a common set of standards that are used to communicate between different operating systems, clients, and tools. One reason we can't 'fix' email SPAM is that the world has agreed on a standard (SMTP) and implemented it over and over again. HTTP, FTP, etc. These have been around forever, have been implemented tons of times, and these open and agreed upon standards have enabled the amazing growth we've seen.

I had a recent discussion with a friend familiar with Samba and SMB/CIFS. While I am not an expert on the topic, the general goal of Samba appears to be to facilitate the ability for Open Source software to be able to interoperate with windows clients and servers by reverse engineering the client and server code written by Microsoft. This is a classic example of an effort that may violate Microsoft's Software Patents, but provides greater interoperability for people who want (or need to) to run mixed environments. It also allows them to avoid paying licensing fees to Microsoft.

While I will conceded that based on our current laws and regulations, the Samba folks may be violating Microsoft's Software Patents, I would vigorously argue that the system is wrong. There is no real need to have these patents, and the goal of protecting innovation is simply not a valuable return for the immense costs necessary to maintain and enforce them.

What I find more than slightly amusing is the current situation Microsoft faces regarding Software Patents. As the Cory Doctrow's post explains (certainly not a Microsoft fan, so take it for what it is worth), and the underlying Groklaw post explains, the changes for the GPL 3 license and Microsoft's previous dealings with Novell may have put Microsoft in a position where they now must license their Software Patents to all Linux users. Now, this is very much NOT an open and shut case, but the fact that no one is really confident about the situation is a concern by itself.

While I do find this amusing, I actually sympathize for Microsoft and see this as yet another example of the absurdity of the system we are now in. If Microsoft, with its cadre of lawyers can be trapped in a situation like this, than how can Joe on the street have any hope of leveraging this system to protect his innovation? How can anyone claim this system is helpful to anyone but the massive players (IBM, Microsoft, etc), and that simply isn't what America is (should be?) about.

Now, there is a big difference between a software patent and copyright. I firmly support the existing copyright law. It should not be legal to steal, or decompile and reuse, software that is not explicitly licensed to allow that.

Why people love Google and mistrust Microsoft

A friend of mine asked me this weekend why people have such different opinions of Microsoft and Google. After all, both are near monopolies, and both have a lot of information about YOU.

It is a good question to examine, and while Google has received some criticisms, the overall attitude towards them seems to be much more positive than Microsoft.

While I'm sure there are a lot of reasons that can be cited, I personally find two very compelling reasons:

1. Most people don't pay Google any money.
2. Google is pretty open with integration and reuse, Microsoft is (somewhat) aggressively closed.

1.
Google makes a lot of money, but it primarily comes from advertisers. The general public as a whole simply receives a 'free' service from Google. Search, Email, Maps (web and 3D), RSS Readers, Document and Spreadsheet applications, etc. The list goes on. All 'free'. It's hard to get too uptight about someone who is providing you a 'free' service. (Yes, 'free' is in parenthesis. You 'pay' by viewing and clicking on ads, but most people are already used to that, and they are pretty unobtrusive).

In fact, in addition to being 'free', Google actually pays people. It is very easy to setup AdWords advertisements on a website (I should know, check out my opens source pages). While the revenue may not be competitive with targeted web advertising, for 15 minutes of effort you can at least make back your hosting charges.

Contrast this with Microsoft. You must pay for (nearly) all of its software. And it forces you to download software to verify that you've actually paid for it. Even if you have paid for it, Microsoft may still refuse to update your machine (As many as 20% false positives? Even if it is 1/2 that, that is a major pain).

2.
Google is pretty open about people leveraging, reusing, integrating, and extending their services. Even some things that are pretty blatantly misusing their services (GMail Drive) are tolerated. Let alone all the Mashups that exist for Google Maps, facilitated by their open API that is free for up to 50,000 requests per day per. You can embed Google search into your site, etc.

If you are a developer, you can use the web framework (GWT) Google developed for its web applications for free. They also release several other open source tools, such as Guice, which I blogged about before. The list goes on...

Now, you can certainly claim that I'm not being fair to Microsoft here. They do have some open source release, and their Live Search Virtual Earth has an API too right? Sure. They even offer a free version of Visual Studio, which of course was a topic of a previous post. The problem is, Microsoft is just playing a different game.

Microsoft makes money from licenses. When you enable features in the free version of Visual Studio, they see that (rightly?) as an attack on their revenue. When you reverse-engineer their file sharing protocols, or file formats, you are attacking their revenue. I understand their point, but that doesn't change people's perceptions.

When you do nearly anything with Google, you are driving more eyeballs to their service offerings. To Google, eyeballs = revenue. To Microsoft, too much of what people want to do is seen as an attack that they must defend against. So while Google is out there encouraging people to do just about anything, Microsoft is playing defense. It isn't hard to understand how that results in the current perceptions.

How does Microsoft fix this? Well, that'll have to be the topic of a future post.

Google moves (further) into the Enterprise

Google announced their acquisition of Postini today. I won't rehash the deal here, but I thought

iPhone Hype

As we count down to the iPhone launch, the hype is reaching a feverish pitch. There are even people discussing the people who are already in line.

As I posted earlier, I'm a long time Treo user and seriously considering the 755p. I've held off to date so far because my Treo 650 still manages to do everything I need it to, and I'm hesitant to jump on the last Treo model before the new Linux based OS debuts this fall/winter.

So now the initial reviews are out, and Walt seems to think the iPhone is pretty cool. His assessment of the typing is impressive, especially as he is also a long time Treo user. The lack of keyboard is one of the major drawbacks in my mind (in addition to the lack of the '5 way' button on the Treo which I do most of my navigation with. He does point out that several tasks are more difficult (more steps) due to the lack of 'real' keys.

He also points out the concerns around it being locked to AT&T, on a slow(er) data network. Apparently it does not have a traditional SIM card, so you can't do the SIM card swap GSM users are so used to. Being a long time Sprint user I can't complain about this too much but if I were used to the option I would be annoyed.

I do have to give AT&T credit for brining out plans (including data) that seem pretty reasonable. The base plan ($59/month) includes unlimited data and 450 rollover minutes, which I find reasonable. It certainly could have been worse.

Overall, I still don't think the iPhone is for me, but I do think it will find a reasonable market of users who will be fans. It still appears to me to be an iPod/gadget first, and a business phone second, but since that was likely their goal I can hardly fault it for that. It just isn't for me.

However, version 2.0, that includes 3rd party apps, GPS, and a faster network (on another carrier) and I could be converted.

Hopefully Palm will come out with something impressive this fall to keep me on board.

Sopranos Finale

As Bart Simpson said... 'meh'.

While I didn't like it at first, I have to admit that I'm not sure it wasn't the best choice available. Short of actually killing Tony, there is no real resolution to the show. This ending will be talked about, probably more so than any other choice.

The high point of the episode was Tony's musical selection of course, Journey. I always find that the music in a show or movie can have a huge impact on my lasting interest. Some of my favorite (and most watchable movies) are as much for the music and immersion as for the actual content. This also holds true for the greatest series finale ever.... Six Feet Under

The gold standard for series finales is still Six Feet Under. There is no other more appropriate satisfying, and 'true to the series' finale. The last 5 minutes of that finale were phenomenal.

Next up, The Shield series finale.

Edit (6/13): Here is the last 6 minutes of the Six Feet Under finale.

Microsoft vs. TestDriven.Net

I came across a post (from TheServerSide.net) regarding an issue between TestDriven.Net and Microsoft.

I think this typifies the general difference between 'open source' development platforms and 'closed source'. Microsoft's main concern here appears to be driving people to purchase full versions of Visual Studio by handicapping Visual Studio Express (which is free) as much as possible. You could argue it was 'nice' of them to release it at all as a free option, but who am I to give Microsoft credit. :)

Even if Microsoft is legally correct here (which I think the intent is, but the language is VAGUE), it just seems like a stupid move. Microsoft is successful because they own the platform. The Operating System, Office, Exchange, Etc. It all ties together and is of course optimized to work with all the Microsoft tools.

If you look at Microsoft's revenue breakdown for 2006, you will see that 'Servers and Tools' make up 22%. I believe (but have no specific facts) that the tools portion of this is a minor part.
Microsoft would be better served to just release all the developer tools for FREE and drive people to use their platform. By upsetting and criminalizing their developers because they develop useful tool for the 'free' version is just wrongheaded. Even if they don't release them for free, it doesn't seem to make sense to actively pursue this fringe revenue.

After all, I thought it was all about the developers.

Palm announces Foleo

Palm today announced their long awaited 'mystery device'. It turns out to be a full size keyboard/monitor for your smartphone. My first reaction was a big yawn.

However, it reminded me of a conversation I'd had several years ago about the future of computing. In that conversation, I suggested that the ideal situation would be for everyone to carry around a 'wearable' computer. This block would contain a basic processor and data store. There would then be a universal protocol to allow this data block to be plugged into other devices. A basic 'laptop' device would immediately become your computer. If you needed to do 'heavy lifting' you could plug it into a workstation with big monitors and supplemental processing power, etc.

The Foleo is not a realization of that dream, but it is much more interesting if you view it as a first step down that path. Your smartphone becomes your primary local data store, and your gateway to 'the cloud', which stores the rest of your data, etc.

However, at this point I have to say I don't find it compelling. For road warriors without laptops (are there any?) it may be a cheaper alternative to the main functionality they need, but I'd rather use my smarthphone as a modem and actually work on my laptop.

Moving from CVS to Subversion at SourceForge

I host several open source projects at SourceForge. For the most part, the service is effective and it is a great service. They have certainly had periods where they've been overwhelmed but for a free service I've been fine with it. I'm excusing the fact that their site design hasn't really changed in 5+ years and it isn't the most usable site.

I do seem to recall that I used to be able to 'press a button' and have my CVS repostory converted to SVN. That was great and I did it for several of my projects. However it now seems that that option is gone and I need to download the entire CVS repository and run the conversion script myself.

Not fun. Anyone have any turn-key options, or am I missing anything at SourceForge?

(Edited 5/30 - Updated Title, thanks Rich)

ReadyNAS Dynamic DNS Hack

I found a pretty interesting hack to get your ReadyNAS to serve as a dynamic DNS client.

I have not tried it out as it looks like you can only schedule it to run up to every 4 hours, and I'm not ready to commit to a 4 hour outage if my IP changes at the wrong time. But, if that were the last service I needed before I shut down one of my servers I'd jump on it.

In theory the next version (4.0) of the ReadyNAS software will open up SSH/Admin access, which would allow you to do just about anything. I'll hold out hope for that for now.

Shared iTunes LIbrary

I've finally found a way to setup iTunes to share write access to a single library.

I maintain a single integrated iTunes library for my family. However, everyone wants to maintain and edit their own playlists. iTunes' built in sharing allows you to play from a single library, but does nothing to allow you to edit that single library remotely.

I recently moved my entire library to my NAS and, inspired by a recent lifehacker post, I setup all the iTunes applications installed in my house to use the shared music and iTunes Library (.itl) share.

My steps were pretty simple:

1. Map network share on all computers to M:\
2. Move entire MP3 library to M:\Music
3. Copy iTunes files from My Music to M:\Music
4. Hold down the shift key while iTunes loads
5. Select the .itl file I copied to M:\Music
6. I had to go toe Edit/Preferences/Advanced and change the iTunes Music File Location from M:\Music\iTunes Music to just M:\Music.

Now I can control my iTunes Library from any machine as a 'first class citizen'. LifeHacker seems to be a pretty cool site that I guess I need to add to my RSS reader.

ReadyNAS NV+

My current storage configuration consists of a big hard drive in my main windows desktop and a couple hard drives in my Linux server as backup hard drives. I use rsync to make sure everything important lives on at least two hard drives. Fairly time consuming to step but pretty effective.

Unfortunately I just ran out of space on my desktop and I'm running out on the server. So instead of buying more or bigger hard drives (the Linux server is already full so I'd need a new controller card anyway) I decided to suck it up and get a Network Attached Storage (NAS) device. I ended up choosing the ReadyNAS NV+. I also bought 3 500 GB Hard Drives to start, which delivers ~ 1 TB of space using X-RAID (basically expandable Raid 5).

The initial setup and boot up was easy. There are removable trays for the hard drives so you just put in 4 screws for each hard drive and you are done. No wires or anything to connect. I then just plugged it in to my network and power (with UPS of course) and it 'just works'.

It has a nice web based interface to perform all the managment tasks and it is fairly easy to use. So far I've setup a few shares and copied files over using CIFS (Samba), Rsync, and FTP.

Unfortunately I ran into a problem with it crashing when I did my initial copies. A little debugging and some posts in their forums revealed that it was my old school NetGear RT-314 that was the problem. Since its firmware hadn't been upgraded since 2001, and I bought it several years before that I wasn't too upset. A quick $30 switch (NetGear FS108) fixed the problem and I've copied over 200+ GB already with a lot more to go.

This device also runs several servers (iTunes, SlimServer, UPnP AV, and Media Server) that I'll dig into later but so far I'm pretty happy.

My goal is to turn off my Linux server. The only real service I use on it that I can't repalce at this point is the DNS server and SSH shell. However, the next update for the ReadyNAS NV+ firmware should enable SSH access and hopefully I'll be able to add DNS as well.

Does anyone know of a Gateway/Router that provides local DNS service?

iTunes Export 1.3.1 Release

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 is just a bug fix for the 1.3.0 release. Unfortunately I didn't sufficiently test the release and due to differences in how the development and production builds are performed the GUI version crashed on startup.

This versions is just a fix for the 1.3.0 GUI version. No other new changes have been made.

http://www.ericdaugherty.com/dev/itunesexport/

I have received several new feature requests and bug reports recently and I plan on getting to them soon. Don't be afraid to ask for new features (eric@ericdaugherty.com).

Google Analytics Update

Google recently updated their Google Analytics product to a new beta version. They've slowly been releasing to individual accounts and I just got my invite today.

I must say I'm very impressed with the new version. It pulls up the information I'm really interested in (page views, visits, traffic sources, etc) into a nice dashboard view for the last 30 days by default. You can then easily drill down into each one.

You can also add new items to the dashboard for full reconfigurability, but so far I'm pretty happy with the defaults.

In the old version I had to dig through the left menu to find the specific reports I cared about, and it always took much longer than I wanted it to, and therefore I use it less.

The bad news is that this site doesn't appear to be building to MySpace levels, so I doubt I'll be getting a call from Rupert any time soon.

Outlook 2007 and Google Calendar Sync

While I still haven't made the move to a Treo 755p yet, I did finally change my current Treo to sync with my work Outlook instead of Palm Desktop. For a long time I've been keeping two calendars manually to keep my work and personal calendars separate (but synchronized). My personal calendar (Palm Desktop) would sync with my Treo so I had to copy all my work appointments into that to stay updated. This is of course a horrible approach.

So, I made the move to use Outlook as my primary calendar. It syncs with my Palm and is always current for my work events. The only problem now is keeping in sync with my Google Calendar that I use for personal appointments and to share with my family.

So my new process is:
Use Outlook for work.
Use Google for personal.
Synchronize the two so that each has BOTH work and personal appointments.
Synchronize Outlook with the Treo so it has ALL my appointments.

Since Outlook and Google don't support this type of sync out of the box I had to find a tool to help. So far gSyncit seems to be working fine. It is only $9.99 but has a free (nag) trial that you can use.

I've used it for a day or so and I'm still pretty happy. At first it was fairly painful, but after cleaning up the initial duplicates and issues, it seems to be sycning fine without errors. By default it syncs every 15 minutes which I found to be way too aggressive. I think I have it set to every two hours now. I've found that it seems to hang up and get pretty slow on occasion but since it executes in the background (or at least doesn't steal focus) it isn't too big of deal.

Guice Burned By GoDaddy

I've been working on a little app to display optimized train schedule information online in Java. I'm writing it more to play with new libraries, etc. than because I really want the functionality, but that's irrelevant to the story...

As I mentioned in my previous post 'Juiced about Guice', I wanted to play with Guice and see how it worked 'in the real world'. So, I used it to help configure my application.

I deployed it on GoDaddy and hoped it would 'just work'. Unfortunately it was not to be. After a long debugging cycle (see footnote), I finally tracked it down to this error:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
java.security.AccessControlCont
ext.checkPermission(AccessControlContext.java:264)
java.security.AccessController
.checkPermission(AccessController.java:427)
java.lang.SecurityManager
.checkPermission(SecurityManager.java:532)
java.lang.SecurityManager
.checkMemberAccess(SecurityManager.java:1662)
java.lang.Class.checkMemberAcce
ss(Class.java:2125)
java.lang.Class.getDeclaredMeth
ods(Class.java:1762)
sun.reflect.annotation.Annotati
onType.(AnnotationType.java:81)
sun.reflect.annotation.Annotati
onType.getInstance(AnnotationType.java:64)
sun.reflect.annotation.Annotati
onParser.parseAnnotation(AnnotationParser.java:202)
sun.reflect.annotation.Annotati
onParser.parseAnnotations2(AnnotationParser.java:69)
sun.reflect.annotation.Annotati
onParser.parseAnnotations(AnnotationParser.java:52)
java.lang.Class.initAnnotations
IfNecessary(Class.java:3031)
java.lang.Class.getAnnotation(Class.java:2989)
java.lang.Class.isAnnotationPre
sent(Class.java:3001)
com.google.inject.Scopes
.isScopeAnnotation(Scopes.java:106)
com.google.inject.BinderImpl
.bindScope(BinderImpl.java:150)
com.google.inject.BinderImpl.(BinderImpl.java:111)
com.google.inject.Guice
.createInjector(Guice.java:75)
com.google.inject.Guice
.createInjector(Guice.java:53)
com.google.inject.Guice
.createInjector(Guice.java:43)
org.apache.jsp.test_jsp.
_jspService(test_jsp.java:62)

Apparently, GoDaddy doesn't allow reflection. This pretty much disqualifies Guice from working. So, it looks like I'll have to rewrite it without Guice.

I just recently consolidated all my hosting on GoDaddy from my own managed box because I didn't want the hassle. GoDaddy supports Rails and Java, so I figured I was covered for all eventualities.

However, now that my Rails fascination is waning, maybe I should look for a better pure Java hosting environment. Suggestions welcome. :)

Footnote:
GoDaddy only allows you to reload/restart your web application nightly when they do a global restart of Tomcat. So, each debugging cycle takes 24 hours (or more since I don't bother with it every day). You can get SOME stuff done by throwing up new JSP files intra day, but this cycle can be VERY frustrating and is totally unacceptable for any 'real' application needs.

iTunes Export 1.3.0 Release

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 is mainly due to the efforts of Jeff Donnici. He has done great work on the code base and is helping move iTunes Export forward.

The major fix in this release is for internationalization (i18n). Apparently you need to use the m3u8 file extension instead of m3u on non-US versions of Windows for the file to be interpreted correctly. Thanks to all the help from the many users who emailed us about this issue and helped us track it down. It was actually Wikipedia that finally gave us the key clue in its m3u article.

Jeff also added several other fixes (see the change log), and is already hard at work on the next release.

http://www.ericdaugherty.com/dev/itunesexport/

I have received several new feature requests and bug reports recently and I plan on getting to them soon. Don't be afraid to ask for new features (eric@ericdaugherty.com).

Treo 755p

Word that a new Palm based Treo (the 755p)will be released next week made me wonder if it is time to upgrade my old 650.

I've been a Palm user since the Palm Personal, and while I find the new WM OS interesting, it is not yet compelling. I really like the simple navigation of the Palm, and I know its apps really really well by now.

I am interested in the newly announced Palm Linux platform, but I'm not sure I'm willing to wait for something that might be cool.

The iPhone of course is coming out soon, but with no qwerty keyboard I'll have to wait and see if people REALLY like it over time. I'm not saying they won't be great, but I do have my concerns.

So, I think a 755p is in my immediate future, unless someone can convince me otherwise.

Silverlight

So, I'd comment on Silverlight, but...

I downloaded it, ran the setup file, restarted FireFox, and all the Silverlight applications either do nothing or give an error.

I'm curious, but not enough to actually launch IE.

Spoiled Spouse

I like to think I have a pretty nice setup at home. I have my computers, routers, and TiVos all on batter backup (UPS).

So when the power was out last night, my wife wasn't surprised at all that the internet continued to work from her laptop. "Doesn't everybody's?" she asked.

Laptops also make a pretty good flashlight in a pinch.

Back to Java

I've played with Ruby on Rails quite a bit in the last year or so. Over that time, I've been both excited and frustrated with it.

I think RoR is a great tool, and it can be leveraged for a lot of web applications that are traditionally written in Java or .Net. A lot of developers and companies would be well suited to add it to their toolbox.

However, what I've personally found is that I am unable to devote the time I need to become proficient. It is pretty easy to write a quick application in RoR. The syntax is easy to pick up, and the documentation is good enough that I can muddle my way through. However, without having it as part of my day job, my one-off projects aren't enough to for my personal knowledge to reach critical mass.

The triggering event of this decision was a recent effort to build a small application recently. It is based on an implementation of a public spec, and there were several RoR and Java libraries that provided the functionality I needed. After digging into the RoR libraries, I got frustrated and found it difficult to find the hooks I needed to build what I wanted. The usage just wasn't natural enough. I gave up and went back to the warm comfort of the Java libraries.

So, while I believe that I *COULD* be more productive in RoR, I *AM* more productive in Java. Based on the total time I've spent with RoR, I've decided to give up and refocus on Java. It is hard enough keeping up with everything going on in Java and .Net, I just can't spare the time to track RoR too.

Apple, EMI, and DRM

Apple announced they are selling EMI music DRM free, for a mere $0.30 premium.

First, I'm excited to see mass market adoption legitimate of DRM free content. That is good news, period.

However, I find Steve's position on DRM a bit, well, convenient. See, for a couple of reasons Steve wants Apple to sell music without DRM. However, he's also on Disney's board, hence the following question during the Q&A:

Q: I take it then that you are going to advocate taking the DRM off of the videos you sell on iTunes. Any particular [inaudible] you could do that with the Disney company?
A: You know, video, uh... I knew I'd get that question today. Video is pretty different than music right now because the video industry does not distribute 90 percent of their content DRM free; never has, and so I think they are in a pretty different situation and so I wouldn't hold the two in parallel at all.

Ya, sure Steve, they are totally different. I don't think any one can seriously argue that Steve really BELIEVES that DRM-free content is better. I'm also not sure it matters.

The deal is convenient for everyone. The labels get to sell music at a premium ($1.29 instead of $0.99), Apple gets to look good in the face of the EU anti-trust case, and consumers get DRM free music.

Not a perfect deal, but it's better than many of the alternatives. Just don't believe that this deal was done for any altruistic or idealistic reasons.

The Shield

Season 6 of The Shield started today on FX. The Shield has consistently been an amazing show, and season 6 appears to be no exception. At the end of the (extended) season premier, I found myself wanting more, more, more.

Anyone who isn't watching this show really should go back and enjoy the entire run. Find the DVDs and enjoy. This show demonstrates what TV should be. Unfortunately shows of this quality only seems to be found on HBO, FX, and a few other examples (Battlestar Galactica on Sci-Fi).

OpenID Intro

OpenID is quickly becoming 'the next big thing', and so I had to take a closer look.

The goal of OpenID is to provide an open framework to allow end users to control their own authentication process, and use it anywhere. This is similar to what Microsoft's Passport, or the Liberty Alliance tried to do. These systems both failed because no one really wanted to trust their information to a single (or group of) controlling entities.

The difference with OpenID is that you can use ANY OpenID server to manage your authentication. A simple example. Many sites offer OpenID credentials. You sign up there and get a URL that is YOU. Let's say http://example.com/eric.daugherty. Then when you log in to Digg.com, you specify http://example.com/eric.daugherty as your login. Digg.com will then redirect you to example.com to authenticate. Once you do, you are returned to Digg.com and are logged in.

This is pretty interesting, but I think one of the advanced features are much more interesting. If you own your own URL (say, http://www.ericdaugherty.com), you can use that as your login. All you have to do is edit the HTML page to specify what OpenID server and login to use. So, I could edit http://www.ericdaugherty.com to login using http://example.com/eric.daugherty. This allows me to maintain a single identity over time but use different OpenID servers as I see fit.

One major component is that you can't trust that just because someone has an OpenID that authenticates, that you really know anything. It seems like it would be very easy to setup an 'open relay' server that would authenticate any URL. So if you want to collect a 'known good' email address during registration for a website, you still have to manage that yourself. You can't really trust any data from the OpenID server that you can't verify yourself.

It will be interesting to see how this develops, and I'm going to try to find some more time to play with it and see how hard it is to implement an OpenID server.

Podcasts, Justin.tv, and How Size is Relative.

I was listening to the latest TWiT podcast (92) and also came across a post on Vallyewag about Justin.tv. The combination of these two drove me to comment.

First, I am a fan of podcasts. Whether it is BattleStar Galactica, TWiT, or the Java Posse, they keep me entertained as I commute to and from work.

On the TWiT podcast, there was a group of podcasters and video bloggers talking about various topics related to the subculture. One interesting point was when Leo mentioned that most podcasters find that they can't really break a peak audience (measured as downloads) of about 200k-300k. They went on to talk about how international their audiences are. When you break that down, it is actually a VERY SMALL number of Americans who consume this type of media at all, let alone a specific podcast. Contrast this with what one of the callers (yes, the podcast has callers) talked about. She does her own podcast, and was struggling with the growth of her audience from 7 to 700. For most people, this is a huge number of people to be interested in you and what you have to say. The caller was concerned about how to deal with this notoriety. The guests talked about how they started to be concerned about what public information they had posted online, etc. but continued to say that they all had pretty good experiences with their fans and enjoyed their mini-fame.

Podcasts are both huge and tiny at the same time (whereas this blog is mostly just tiny). I think this is cool, but it will be relegated to something that is done for fun, and not profit for a long time to come. Leo was very up front about the struggles that he has with his podcasts (he has more than 10 in his network) getting sponsors. Leo is a 'famous' personality who used to host a TechTV show and now has a nationally syndicated radio show. He is an industry guy who is a known quantity. However, his (big) audience is still way too small for advertisers to pay any real attention to. If you want to reach millions of people, negotiating deals for 200k at a time is very time consuming (which translates to expensive). I think many semi-popular websites also struggle with this as they become too popular to manage part time, but are not big enough to really attract advertising dollars outside of a network.

On to Justin.tv....

I think they Valleywag article nails the Justin.tv phenomenon pretty well. It is another illustration of how big something can be that < 1% of Americans ever know about, and how crazy we are. Why are people so fascinated with the minutia of individual's lives? The Valleywag article makes several great points including how we've been here before (JenniCam) and how cruel everyone can be, when you take what we say in 'private' and expose it to the world. I have to admit, I'm tempted to go check out Justin.tv, but so far I'm holding strong.

Of course, this blog is my own vanity project that I hope will propel me to fame and fortune, so take all of this with a big grain of salt.

Socket over HTTP (SOHT) Java Client 0.6.1 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 fixes a bug that prohibited the Java Client from using ports higher than 32767.

http://www.ericdaugherty.com/dev/soht/

I want to thank Danilo for finding and fixing this bug. A great example of Open Source development at work.