Thursday, October 28, 2010

A micro-review of Stieg Larsson's Salander trilogy

Here's a feeble attempt to condense all three books into a single short review (you want longer reviews, there are plenty of places to find them!):

  • The Girl With The Dragon Tattoo is an almost-perfect mix: one part action thriller, one part character study, one part modern Swedish history. Delicious!

  • The Girl Who Played With Fire is almost pure action thriller. It's a roller-coaster adventure ride, and will leave you completely breathless. If you like Thomas Harris, Jeffrey Deaver, authors like that, you'll be enthralled.

  • The Girl Who Kicked The Hornet's Nest swings the needle back the other way: it's about three-quarters modern Swedish history (politics, journalism, public policy, etc.) and about one-quarter action thriller. Moreover, the action thriller part of the book is a lot less action, and a lot more things like high-tech computer espionage, psychological maneuvering, etc. Thankfully, the dry parts occupy the first half of Hornet's Nest, and the second half moves along quite nicely; I suspect most readers, having experienced books one and two, will give Larsson the courtesy of being patient while he addresses things that must have felt important to him (I know I did).



The nice thing about the books is that you'll probably know within the first 50 pages of Dragon Tattoo whether the books are your thing or not.

Saturday, October 23, 2010

Giants are in the World Series!

Great 6th game! Can't wait for the series to start!

Learning from the active debates on Open Source

Several interesting debates regarding the future of "Open Source" are currently underway. I'm more than just an interested observer, since I'm a committer in Derby, an Apache open source project. However, I think that these discussions are interesting for anyone who is interested in software and how it is developed.

Firstly, there is the discussion over the future of Java, where there have been multiple developments during 2010, including:

  • Oracle's purchase of Sun

  • Oracle's suit against Google's Android software

  • The upcoming JCP elections and the changes underway to the JCP

  • Apple pulling back from Java


I've covered a lot of these events on my blog earlier; here's a couple of follow-ups with some recent news:

  • Regarding Apple's position on Java, James Gosling posted a short essay last night. In it, he points to the recent article on MacRumors.com, as well as to the on-going SoyLatte project to provide an OpenJDK port to Mac OS X. According to the MacRumors.com article, Steve Jobs defended Apple's decision by saying:

    Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.

    and that seems like a very valid and reasonable perspective, from Apple's point of view. But it's still not clear to me what alternative there will be: will Oracle be providing Java for Mac OS X? Is Apple hoping/expecting that the community will provide Java for Mac OS X? As Gosling notes, "in the early days, they were insistent on doing the port themselves", but Apple seems to be saying very little in this area right now, leaving a big void where people are trying to guess what will happen.


  • Regarding the JCP elections, Doug Lea, one of the most active and most important researchers in the Java world, has placed a short letter online describing his perspective on the current Java situation, and why he has decided not to run for re-election to the JCP, but rather to devote his efforts to the OpenJDK process:

    I believe that the JCP is no longer a credible specification and standards body, and there is no remaining useful role for an independent advocate for the academic and research community on the EC.

    ...

    I cannot recommend to anyone that they use the JCP JSR process, as opposed to some other group/organization/body, to gain consensus for proposed specifications. So I expect to see fewer submissions as people begin to realize that other venues provide
    better opportunities.

    When I saw the JCP ballot, I was surprised to see that Professor Lea was not running, as he has been an extremely visible and popular member of that community for many years, so it is quite interesting to see how things look from his point of view.

  • Stephen Colebourne posts another short essay about the JCP elections here.



Another big discussion in recent weeks has been the Android-versus-the-world discussion. First we had Oracle's lawsuit versus Google regarding the development of Android. Then, this week, we had the big debate about whether Android itself is open or not, and what that might mean, fueled by Steve Job's 5 minute speech/comments at the Apple quarterly earnings announcement, and some rather unusual responses from the Android developer team (tweeting your build instructions (!) ).

For a fairly independent perspective, Joe Hewitt has a very well-written essay on his web log about what it means to be open, fueled by years of his experience working with the Mozilla Foundation, which is definitely one of the most open development processes around. Hewitt says:

I cut my teeth in the software industry working on the Mozilla open source project, so when I hear others talk about openness, but see them omitting important facets like a public source tree and outsider commit privileges, my bullshit radar goes off. Mozilla's commitment to openness is about as genuine as you can possibly get, but then, the world of desktop browsers is hard to compare with the world of mobile operating systems. If Firefox had required subsidies and advertising to reach 20% market share, Mozilla may have had to make compromises too.


From my point of view, I agree with Hewitt that what makes "open source" open is all about the process, not about the code. My experience has been primarily with the Apache Software Foundation, and specifically with the Derby project, but I think that most Apache projects are broadly similar. The best description of the Apache process, I believe, is found on their web site: How the ASF works. I'd particularly highlight this aspect:

The Apache projects are managed using a collaborative, consensus-based process. We do not have a hierarchical structure. Rather, different groups of contributors have different rights and responsibilities in the organization.

This, fundamentally, is what distinguishes a process such as Linux, Mozilla, or Apache, from efforts such as the JCP or Android. Tweeting your build instructions is definitely not an open source process, and Rubin should know better than to claim it is; neither does your choice of license, by itself, define an open source process: although Android uses the Apache license, Android is not an Apache project.

Although I had other reasons (I'm fascinated by DBMS internals; I needed to use the software for several internal projects) for getting involved in Derby, one of the reasons that I got involved was to learn about open source development and about the Apache process. It's been a very interesting experience, and I recommend it to every developer. There are a wealth of open source projects out there: find one that interests you, and get involved. Learn about the process, learn about how open source development works. You won't regret the investment of time; it will make you a better software developer.

Anyway, as I said to start, they are interesting discussions. Hopefully the links and pointers give you something worth reading for your weekend.

On an unrelated note, I'm off to Canada for a 4 day business trip.

Posting will be light; I'm hoping the rain will be light as well :)

Friday, October 22, 2010

System sizes at the high end.

Here's a very impressive writeup of the recent Hadoop World conference in New York City, from David Menninger of Ventana Research.

Menninger notes that Hadoop installations are much larger than you might think:

How big is “big data”? In his opening remarks, Mike shared some statistics from a survey of attendees. The average Hadoop cluster among respondents was 66 nodes and 114 terabytes of data. However there is quite a range. The largest in the survey responses was a cluster of 1,300 nodes and more than 2 petabytes of data. (Presenters from eBay blew this away, describing their production cluster of 8,500 nodes and 16 petabytes of storage.) Over 60 percent of respondents had 10 terabytes or less, and half were running 10 nodes or less.

(in the above quote, "Mike" is Mike Olson of Cloudera.)

Curt Monash has been keeping track of some of these stupendous database installations, and shares some of what he's learned in this note.

At my day job, we had an internal presentation the other day from one of our larger customers, who reported that they've constructed a single node with 3 terabytes of RAM-SAN as a cache ahead of their main database disk array.

Our customer didn't think that was particularly large. They were just noting that it was plenty large enough for their use, at the moment.

Thursday, October 21, 2010

Apple is changing their support for Java on Mac OS X?

I'm a bit confused about whether the Apple announcement regarding Java on Mac OS X is significant or not.

Here's The Register's view.

Here's CNET's view.

In general, building and maintaining a JVM for a platform is very expensive, and it's not clear that we need multiple JVMs on a platform. So if Apple no longer builds their own Java environment for the Mac, will there be a Sun/Oracle version? Will there be an OpenJDK version?

Just so long as there is something...

Dropbox looks pretty useful

I don't know why I hadn't been paying attention to Dropbox before. It looks pretty useful. I'm not quite sure how long it's been around, but it seems to be fairly mature, and from what I've heard it's pretty reliable.

Other than on the Dropbox site, are there good usage stories out there about people who use Dropbox, what they use it for, and what their experiences have been? I found this nice writeup, are there other similar articles I should read?

JCP Elections

The 2010 Java Community Process Executive Committee Elections are underway.

You can find some interesting discussions about the candidates here and here.

I think they are all good candidates; it is a healthy thing to see such a long list of strong candidates. For the time being, at least, it shows that interest in making the Java community work remains alive.

By the way, I'm not a voting member, don't know anybody who's a voting member, and don't have any particular candidates to recommend.