30 April 2009

What Happened; Persepolis

I finished two books recently.

What Happened is Scott McClellan's political memoir and the story of his time as press secretary under the Bush administration. It is a pretty good recap of the major scandals of the administration: the "sixteen words" controversy, the Valerie Plame leak and the subsequent special investigation, and hurricane Katrina.

What is really interesting is McClellan's assessment of Bush's character and of how the administration chose to deal with Congress and the media. In McClellan's eyes, Bush wasn't an idiot, but he was intellectually dishonest, never seeking out views opposed to his own. And Bush wasn't a liar, but many in his administration were. McClellan has harsh words for the Bush administration's strategy of constantly trying to manipulate the press for short-term gain, as if it had still been waging a campaign— the so-called "permanent campaign." Perhaps the height of hypocrisy was the Bush-authorized leaking of Valerie Plame's name from classified documents, for the purpose of discrediting critics of the administration.

So why was Bush so set on the Iraq war in the first place? Because apparently, he was gripped by an awe-inspiring vision of a democratic Middle East. It borders on the unbelievable that he put so many in danger to indulge this dream.

What Happened is a light-reading history of the Bush administration and an interesting look inside the White House. However, if you are a political junkie, which I'm not, I suspect you might not find enough of substance in here to keep you entertained.

Persepolis is a comic book, the story of a girl's coming of age during the Iranian Revolution. It's deeply moving to watch the installation of a theocracy through the eyes of a little girl who blossoms into a liberal-minded woman. Persepolis is both quite poignant and entertaining.

24 April 2009

High praise from CNet for Ubuntu 9.04 Jaunty

The 10th Ubuntu release 9.04/Jaunty, was made yesterday. Since I started using Ubuntu (I think I tried the very first release, 4.10, and have been using it full-time since 2006 or so) it has come a long way, although many of its core strengths have been there from the beginning.

This CNet headline caught my eye:

Ubuntu 9.04 as slick as Windows 7, Mac OS X

I suppose this is pretty high praise from almost mainstream press.

Good looks and good desktop interaction are important for attracting users, but the press rarely talks about the architectural/design qualities that help to keep users. Ubuntu (and many other GNU/Linuxes):

  • is a joy to use because it bends over backwards to fit my needs, instead of requiring me to adapt to the computer
  • being free software, is actually something I trust
  • is actually easy to acquire and install, and runs on almost anything

Windows and Mac OS have none of those qualities.

The total effect is that I have peace of mind that Ubuntu is something that I'll be able to use for as long as I care to use it, and that it's not a toy OS that I'm going to outgrow.

I'd like to offer my congratulations to the Ubuntu community on a great release (on time, I might add) and my thanks for a really remarkable gift.

16 April 2009

Software anachronisms

I love that the icon for the Synaptic Package Manager is, get this, boxed software, a CD-ROM, and, yes, a 3.5" floppy disk. Especially because these are all forms of distribution that are being rendered obsolete by, among others, Synaptic.

This is not to say that I might have done a better job at making an icon to illustrate something that is totally intangible.

14 April 2009

Inside Wine

Scott Ritchie has written an interesting post about the challenges that Wine developers face, as well as the value of regression testing (yeah! testing!) and the importance of a stable release process (yeah! stability!).

10 April 2009

xkcd considered harmful


Reminiscent of "GOTO Statement Considered Harmful" and "'GOTO Considered Harmful' Considered Harmful".

Vicious cycle

Argh... can't start refactoring until I have unit tests...

Argh... can't unit test code until I've done some refactoring...

Don't let this happen to you. Write testable code.

By the way, I just discovered the Model-View-Presenter architectural pattern. It is similar to MVC, but totally decouples the View from the Model. This makes unit testing the UI much easier.

05 April 2009

Internationalized Domain Names

I had no idea. Not only are internationalized domain names— domain names with non-ASCII characters— already here (at least, they work for me in Firefox 3.5), there is a cool URL-shortening service called tinyarro.ws that uses them to make really short URLs. For example: http://✿.ws/ਛ

I guess this is nice if you are using Twitter.

(There is a standard by which domain names with international characters are translated, at the client side, into longer ones that contain only ASCII characters.)

Given the phishing possibilities associated with IDNs, this is positively terrifying. Either web browsers will need to alert users to the presence of international characters, or people will have to use a completely different mental model of trust on the web when following hyperlinks.

Update, 4 August 2009: it is my understanding that Firefox shows the translated (i.e. ASCII-only) URLs in the address and status bar, but, unfortunately, only for certain TLDs (like .com).

04 April 2009

Plus ça change, plus c'est la meme chose

(This is the 100th post on this blog!)

I'm reading this NYT article about iPhone applications (yes, another one):

There are now more than 25,000 programs, or applications, in the iPhone App Store, many of them written by people like Mr. Nicholas whose modern Horatio Alger dreams revolve around a SIM card. But the chances of hitting the iPhone jackpot keep getting slimmer: the Apple store is already crowded with look-alike games and kitschy applications, and fresh inventory keeps arriving daily. Many of the simple but clever concepts that sell briskly — applications, for instance, that make the iPhone screen look like a frothing pint of beer or a koi pond — are already taken.

This reminds me of the 1990s, when there were about a million crummy shareware apps, most of them redundant (and, I imagine, unprofitable). This waste of resources is one of the costs of proprietary software development.