Monday, April 23, 2007

Email.. Thunderbird failes me again

I saw all the news about Thunderbird's latest 2.0 release, and since I use Thunderbird for 2 of my accounts, I thought I'd give it a try. For my trivial usage, i.e. as a secondary email client, I see almost no functional improvement versus the previous releases. It has all these great features like GMail support, Tagging, and Search. It still doesn't address my biggest annoyance.

I use Outlook for my work email and GMail for the majority of my personal email. Thunderbird is just used for 2 legacy accounts that I have around for historical reasons. One is POP, the other is IMAP. Both are sssllloooww. The IMAP is via SSL. For both accounts, when I send email, I sit there with Thunderbird blocked on the send, for a few seconds. That happens for every message. Worse... because of SSL, the sends pop up a username/password dialog. But it takes seconds before it does so. By that point, my impatience has moved me on to some other task.

Here is what I'd love to see improved to make me rave about Thunderbird:
1) It knows it will need a username/password, and that it doesn't have one one file. Why did it wait?
2) The reason I don't let it 'save' my username/password is because it doesn't encrypt the saved username/password. If they added strong encryption of this, then that whole issue would go away.
3) It prompts me about expired SSL Certificates too often. Why can't I just click an 'always allow' check-box and get on with my life?
4) We live in a multi-threaded world. Why is send/receive still blocking? If Linux ran better on my laptop, I've be running Evolution, which I vastly prefer over Thunderbird. The main reason is that all mail server interaction is done in the background. I can delete/move/etc to my hearts desire and not have to sit and wait for every option to finish before I get interactivity back.

Don't get me wrong. Thunderbird 2.0 is better than the previous version. I am using it on a daily basis. For a free product, I feel guilty asking for more. Still ... resolving the above issues would make me a much happier customer.

It made me laugh out loud

I love me a good comedy, but I'm not one to laugh out loud that often. (Which has lead many friends to question whether I'm enjoying that movie that left them rolling on the floor...) I don't know why I'm that way, but I am happy to say that given the right fodder, you will indeed hear me guffaw and see me approximate rolling-on-the-floor laughing.

What provoked such unusual antics? Hott Fuzz. Probably the funnies movie I've seen in a long... long while. A bit more gore than might be strictly necessary, but done with the same comedic skill as Sean of the Dead. I was also very pleased to note that unlike so many Hollywood action flicks, the Hero doesn't shoot to kill. The movie isn't all violence though. The dialog is excellent, there is actual story progress and character development (as compared to 300, which I watched last week). I'd have pre-ordered it from Amazon if I could.

warning: if you don't like British humour, B-Movie comedic gore, or have no sense of humour, you will probably not like the movie. If you liked "Sean of the Dead", go see Hot Fuzz ASAP.

Tuesday, April 17, 2007

Apple Delays Leopard

It has been all over the net, and every one seems determined to speculate wildly as usual. On Apple's top news site they report that the next OS X release (code-named Leopard) will be delayed until October. They state that the reason is because "we had to borrow some key software engineering and QA resources from our Mac OS X team" to ship the iPhone on schedule. The net is speculating wildly about this, and it even deserved mention on This Week in Tech. A lot of people think that Apple is just using the iPhone as an excuse to delay Leopard.

I've never worked at Apple, but I worked at Microsoft for years. Apple's line makes perfect sense to me. On TWiT, they quipped that Apples explanation must be bogus because that would imply that apple is so small that moving a few people would impact the release so significantly. I think the TWiT folk are missing an honest understanding of how software development for products like Leopard and the iPhone really works. A few key developer can really have that much impact.

Jobs claimed that the iPhone was running a version of OS X, and that it includes a version of Safari. There have also been nasty rumors that the iPhone prototypes have horrid battery-life. That implies to me that they probably had to pull (A) kernel developers and (B) top/senior performance developers. Those are some of the rarest resources at a development company. Maybe 1 in 100... Maybe.

If they needed to pull testing resources, they probably needed to pull their top testing talent. The ones that have experience building test frameworks, and can handle a new, unfinished platform. Again, they are picking the cream of the crop.

Obviously, not everyone they pulled is upper echelon, but I be they pulled a lot of senior experience onto this project. That will have serious consequences for the teams that lost those people. 4 months delay isn't really that long in software development, especially when it includes August (or December) which is notorious for being when everyone takes their traditional family vacation.

Besides... The only Apple customers that really need Leopard are those lucky few with the new 8-core Mac Pro. The shipping version of OS X already puts Vista to shame. There is nothing in Leopard that motivates me to want it now. I can wait and laugh maniacally while I try and get Win XP and Vista to function near the level of elegance that my (now old) PowerBook had out-of-the-box.

Monday, April 16, 2007

May 15th 2007, RIP Internet Radio

ArsTechnica has a great summary of the most recent ruling regarding the updated internet-radio royalty rules. I've been a big internet radio listener for years, and am sad to see this particular change. I'm sure the next target will be podcasts. I'm all for artists getting appropriate royalties, but I am sorry to see such an open forum killed by profits. The only salvation is the explosion of good podcasts.

Sunday, April 08, 2007

Microsoft is Dead...

Paul Graham's Microsoft is Dead essay seems to be creating quite the conversation. Don Dodge. Dave Winer. lots more. I'm amused that so many people do not get his meaning. Or maybe they just don't want to listen. Didn't they read Innovator's Dilemma?

Maybe I'm just biased by being ex-MSFT and still knowing a lot of people there. Here is how I read the tea-leaves: At Microsoft, 5 years ago people talked about leaving their team, now they talk about leaving the company. Virtually every individual I know and respect at MS talks about leaving. What was the last thing that Microsoft did that really mattered? Vista? me laughs. XBox 360? that is evolution, not revolution. Zune? maybe by V3. Office 2007? cool new toys...

Then there is the fact that I replaced my parents aging, zombie-ified WinME Dell box with an iMac and am helping my neighbor replace a dying Toshiba laptop with a new MacBook. In my humble opinion, most any non-techie who has the money should be buying a Mac, not a PC. User Interface matters, and Macs just work. The Web has finally become what Gates feared it would... Web+Html is the OS for most casual computer users.

Everyone is right... Microsoft is still a gorilla. But you know where the profits are coming from? Cannibalization. They are turning a team of amazing people into a lot of mediocrity. That isn't to say that there aren't great people at MS; just that there very few islands of real talent left.


Lack of elegance is viral

I've been playing with PHP to build a simple web app. Amazingly, I've never really used PHP before. I have toyed with it (as well as many other many other web frameworks)but little more. Many years ago, I made my living writing Perl CGI scripts, but the state of the art has made some serious advances since then. PHP is not one of them.

PHP did make me realize just how spoiled I am. Programming in PHP makes me feel like I'm back in college, where I don't know the idioms and have half-baked libraries. The PHP language isn't really any worse than Perl. The PHP libraries are amazingly rich and I bet I could find something that could find the solution to world hunger somewhere in there. But that hints at my first problem with PHP. How the hell do you find the right library for your problem? It seems like there are 2 implementations of everything, probably because nobody could figure out to find the first implementation. There is absolutely no standardization across the APIs. The documentation is impressive in its quantity, but definitely not it's quality.

The biggest problem? All this ugliness encourages ugly programming. The best way to encourage good programming is a framework that is itself elegant. This is a large part of why Ruby (and Python) have such a following. I would argue that framework elegance is more important than anything else. PHP's mess encourages ugly programming because that the whole language/libraries collection is ugly. It is so hard to write clean code when every library call interrupts the flow.

This is one of the reasons for Lisp's cult following. You can mold the language to fit your purposes. Good code is about clean flow that makes the the logic of the code clear. When I look at the PHP code I tossed together, the presentation logic and the app logic are all a giant pile of ugly mush. While building and testing my trivial app, I would make stupid mistakes simply because I could barely read the code.

Ruby on Rails has gotten a lot of press as the future of web app development. I've seen startups advertise their use of Ruby On Rails as a hiring tool. A lot of people have weighed in on why Ruby and Ruby on Rails has garnered such attention. I think the reason is that the core language and the Rails framework are good examples of elegant design that encourage elegant application code.