Archive

JavaOne 2008: Part 1

JavaOne is a pretty intense experience, simply by virtue of the size. If CommunityOne was twice the size of OSCON, then JavaOne is three times the size of OSCON, and it shows . There was an immediate change in feel and atmosphere once JavaOne got into full swing. You could barely move sometimes, and there were a bunch of people whose job was to corral the crowds into some semblance of order.

JavaOne 2008

As a Sun employee, I was on a restricted badge, which made it hard to get into sessions (you are basically flying standby). On the other hand, I had plenty to do. I participated in a dynamic languages panel for press and analysts (who have their own track), which was pretty fun. The discussion was lively enough that we could have gone for another hour. There was one persistent fellow who really wanted there to be just one language, or wanted us to declare language X better for task Y. When I got started in computing, people learned and worked in several languages. Its only been recently that a language (Java) was popular enough that people could just learn one language, and the growth of web applications pretty much guarantees a multi-language future because of server side and client side differences. In the end, we’re back to finding and using the best tool for the job, or at least the most comfortable tool for the job. This is probably going to cause heartburn for big IT shops, but developers seem to be happy about it.

JavaOne 2008

I took a walk through the Java Pavilion with Tim Bray one afternoon. He got into the AMD booth’s aromatherapy display (and yes, he has a similar shot of me doing the same thing). One of the highlights of that excursion was Tim introducing me to Dan Ingalls, who made a number of very substantial contributions to Smalltalk, including its original VM and the BitBlt graphics operation. I am a great admirer of the work that was done in Smalltalk, and it was an honor to meet Dan and have him explain the Lively Kernel to me. A short (and probably not quite fair) description of the Lively Kernel is to take the lessons learned from Smalltalk/Squeak and implement them in the browser using Javascript, AJAX, and SVG.

JavaOne 2008

Unsurprisingly, I got the most value at JavaOne from the networking. And that means dinners, hallway conversations, and yes, the parties. Usually when I go to conferences, I am just a party attender. This time, I also worked at some of the parties. It was a little different to walk around the SDN party wearing a t-shirt with “SDN Event Staff” painted large on the back. I still had a good time. Between the T-shirt and the camera, I definitely had some good conversations.

JavaOne 2008

Another benefit of being at a huge is company is that they can really throw a big party. Like hiring Smash Mouth to play for a private concert:

JavaOne 2008

I’ve uploaded the rest of my photos from the conference to this Flickr set.

I actually do have some technical commentary, but I am going to put that into another post.

CommunityOne

Live or semi liveblogging conferences has been getting more and more difficult for me to do. The combination of meetings, networking/parties, and photographs means that it takes longer to assemble the requisite material. Here’s a bit on CommunityOne, which took place on Monday.

Many people (mostly Sun folks) have been asking me if this is my first JavaOne. My answer is, “it’s not, but it is my first one in ten years”. It’s been quite some time since I’ve been to a conference run by a big company like Sun (as opposed to an O’Reilly or open-source community conference). Even though the basics are the same, I definitely feel a kind of culture shock. I was asked to be on a panel during the general session, first thing in the morning, in order to get miked up and to run though the flow. Production values are much higher than I am used to. I keep thinking of CommunityOne as a small event, but in reality it is huge. I am told that registration was around 5000 people, which is twice the size of OSCON, which is the largest conference that I’ve been to in the last 4 or 5 years. Some pictures might help with the scale and production values:

CommunityOne 2008

CommunityOne 2008

The panel was on community models, although the content was closer to the edge where companies and open source communities meet/collaborate/fight. I think that I had two or three chances to speak, including the final set of remarks before the close of the panel. I have some more thoughts on that topic, but they are deserving of their own post, so that will be showing up after JavaOne is over.

Probably my favorite thing that happened at CommunityOne was the demonstration of ZFS’s reliability in the face of hardware failures. Sun Fellow Jim Hughes has demonstrated this a few times at Sun Tech days, and I’ve been meaning to write about that. I got to meet Jim before the keynote, and I had a very good seat to observe the hardware failure.

CommunityOne 2008

Jim usually destroys 2 of the drives in the ZFS pool, and it looked like Rich Green (EVP of Software) was going to get to smash the other one, until Jeff Bonwick, the inventor of ZFS, showed up to do the honors himself.

CommunityOne 2008

Smashing things makes for cool demos - you can watch the video replay if you like.. I’ve been paying more attention to ZFS ever since Theo Schlossnagle sat with me and a few other people in a bar at ApacheCon in Atlanta last year. We were talking about the voracious storage needs of photographers, and Theo was really singing the praises of ZFS. There were so important things that happened to ZFS for OpenSolaris 00805 (which was launched at CommunityOne). The most important is that you can now boot off of a ZFS volume. I hope (but don’t know for sure) that the work that made this possible will make it possible for Macs to boot off of a ZFS volume. My photo storage is getting all fragmented, and I could really put ZFS to good use. I suppose that I could build a ZFS storage appliance based on OpenStorage, but at the moment that is more work that I want to do.

I spent much of the rest of CommunityOne at the Redmonk unconference. I was drafted for an impromptu discussion on dynamic and other programming languages, which included a drop in from David Pollak, developer of the very cool lift framework for Scala, and organizer of the Scala liftoff which is happening on Saturday, right after JavaOne. There was also a very active session on Twitter - probably the biggest of the unconference. Jim Jay Evans Edwards from Twitter came along to participate in that one

CommunityOne 2008

I have a bunch more photos from CommunityOne. At the rate that things are going, I will probably just do a single post on JavaOne. There are plenty of other people doing liveblogging, for those who need a bigger information flow.

Update: corrected Jay Edwards’ name. Thanks to @monkchips

Next Stop: CommunityOne/JavaOne

I’ll be in San Francisco for CommunityOne and JavaOne. My schedule is fairly full for CommunityOne, but I am only on the hook for one official program thing during JavaOne. I’ll be around till the end of the Scala liftoff unconference on Saturday the 10th.

The last time I attended JavaOne was when I worked on porting Java to the Newton back in the late 90s, almost 10 years ago. I have no doubt that it will be quite the madhouse. If you’d like to get together, you can leave a comment, or send mail. Once the conference starts, the best way to reach me will likely be direct messaging me on Twitter, since that goes directly to my phone via text messaging. With any luck, this will be my last conference without a modern cellular/wifi handheld device. Bob Lee has posted a good directory of people to watch on Twitter.

The Open Screen project

Around this time last year, Adobe open sourced its Flex framework for rich internet applications. Today Adobe announced the Open Screen project, which encompasses a number of things, probably most importantly, the removal of the license restrictions on the SWF file format used by Flash. The other aspects of the announcement relate to Adobe’s Flash Player, and while they are steps towards openness, Adobe’s player will remain closed. The importance of opening Adobe’s player has decreased because dropping the file format licensing should make things easier for the Gnash folks. The worry then is that we’ll end up with incompatible versions of Flash, which is in almost nobody’s interest. That’s probably the next problem that needs addressing.

(Finally) upgraded to Leopard

At the beginning of the month I got my work laptop, one of the early 2008 MacBook Pro’s. It came wit h 10.5.2 preinstalled, so I took the opportunity to upgrade to Leopard. It’s been an interesting experience sitting on the sidelines watching everyone else explore the new features, but I don’t regret it. I had a few hiccups moving things over, mostly related to installing Python packages. But I had fewer migration problems than I expected, especially given how customized a setup I am running.

Spotlight is actually fast now. It’s not absolutely lightning fast, but it is now fast enough to be usable, at least for me. This might also be partially related to the 7200RPM disk in the new laptop, but either way, I am happy, because this is the thing I wanted the most from Leopard.. Well, except for the fact that mds still sometimes shows up as the top CPU consumer on the machine.

Mail.app improved a lot. There was a bug in the reply all command that made moderating Apache mailing lists a pain. Gone. Account setup, and more importantly, self-signed certificate support is hugely improved. No more trips to Keychain Access to make things work. If only it could remember the position of multiple viewer windows across restarts.

I used one of the virtual desktop managers on my Powerbook and then stopped, so I didn’t expect much out of Spaces. It turns out that spaces is actually pretty good. It works with multiple displays and plays well with Expose. I’m using it all the time I just wish there were shortcuts to go to a particular Space.

Against my better judgment, I’m using Time Machine for primary backups at the moment. This is due to an unfortunate fragmentation of external Firewire disks. After JavaOne I need to spend some time rearranging stuff on various hard drives, so that I can put a SuperDuper! backup into the rotation again. I don’t yet have complete faith in Time Machine’s reliability. Just yesterday, I successfully used Time Machine to save my bacon, and then later in the day, a Time Machine backup just failed with an error. Running Disk Utility over the backup disk didn’t find any problems, and after a reboot, backups seemed to work again. Doesn’t exactly inspire confidence, though. I also tried to use a USB disk that is attached an Airport Extreme, and Time Machine could never finish its initial backup. I like to work with a large display, so wireless Time Machine is not a huge deal to me, but it really ought to work. It’s likely to be several more point releases of 10.5 before I really feel like I can rely on Time Machine.

Quicklook is useful when I remember to use it. I’m getting tons of PDF slideshows in e-mail, and Quicklook is good for those. I really wish there was a Quicklook plugin that work on OpenOffice documents.

The next one is dumb but true. I really like having pictures for my desktop backgrounds. The translucent menu bar isn’t a factor in this. Apple provided a nice set of pictures for the backgrounds, and I have it set to rotate the background fairly often. All I need to do now is find some time to pull some of my own pictures into the rotation. The new animations for the picture folder screensaver is also cool - it drops the new pictures on top of the older ones, so that over time your screen looks like a pile of photographs.

On the infrastructure front, things seem a mixed bag. Things are snappy, but the machine also has 4GB of RAM in it. I have yet to see a kernel panic, but it seems less stable than 10.4. I’ve had a bunch of little problems: the issue with the Time Machine disk, loss of sounds after using Front Row to play a DVD, a bug that makes it impossible for file moves to work correctly in PathFinder, and syslog running amokfor no good reason. I had to turn off Growl because it was causing NetNewsWire refreshes to clog up. At the moment, anytime the machine makes a noise, the screen flashes (and yes, I did check the preferences for Universal Access). I’ve also been having a problem with my Firewire 800 disks just disappearing, sometimes during operations. Turning off one of the drives seems to be helping the problem, but that’s 500GB of storage that is offline. It makes me wish (again) that ZFS was going to be in 10.5.3, but alas, it will not. In any event, 10.5.3 will certainly be welcome. All these little problems are really starting to annoy me.

Erlang == CGI?

Jay Nelson, in the comments to Damien Katz’s Lisp as Blub:

The two relevant issues are system granularity and garbage collector behavior (if it is related to memory and garbage collection).

Erlang encourages an architecture of many small-granularity processes. To the extent that this approach is followed, failures are localized. It is possible to do this with other languages, but erlang does encourage the approach more so than other languages.

The other difference is that erlang uses a single-threaded garbage collector per process. This makes the garbage collection process simpler, more finely grained and distributed. Smaller processes mean less complicated memory structures, and thus the language encourages a simpler model with localized garbage collection failure. Determining the cause of overburdened memory usage (or any other resource because of the localized nature of small processes) becomes easier.

An erlang system can get wedged, but following the principle of many small processes makes it less likely to happen than in other languages which encourage large processes with shared memory structures.

It strikes me that this is a sort of CGI’ish view of the world (well except for the garbage collector). CGI scripts run, use (non-shared) resources, release them all and die. The entire post and comment thread is worth some pondering.

Speaking at OSCON 2008

This year at OSCON, I’ll be giving a talk called Open Source Community Antipatterns, which is all about the many ways to mess up an open source community.


OSCON 2008



Python at CommunityOne

CommunityOne is a free and open developer conference that is run by Sun on the day before JavaOne. This year, there will a space at CommunityOne dedicated to the Python community, complete with whiteboards and wifi. If you are in the Bay Area for JavaOne, or in the Bay Area, or just plain interested in Python, please register for CommunityOne — space is limited.

Registering for CommunityOne gets you a bag of swag, a free lunch the day of CommunityOne, access to all the CommunityOne events and sessions, and a free pass for Day 1 of JavaOne. When you register, put “Python/Jython” in for the referral code.

I will be on a panel on community models during the general session from 9:30AM - 10:45AM, and Frank Wierzbicki and I will be doing a Python/Jython panel. In addition to the usual developer stuff, there will also be a two day Startup Camp, and the folks from RedMonk will be back to do their day long unconference thing.

On Science Fairs

Last weekend the girls participated in the Washington State Science and Engineering Fair. I participated in science fairs from sixth through twelfth grade, so it was a familiar experience to me, at least in some ways. The basic premise is the same, which is that kids learn about the scientific process by doing experiments, creating a display, and presenting their work to a panel of judges.

Our girls are at the age where learning and building up excitement over science is more important than winning, but in the high school division the stakes are higher than I remember them being. When I did fairs, the top rewards were some kind of monetary award in the $50-$100 dollar range, and the chance to compete at the International Science Fair (now the Intel International Science and Engineering Fair). There is still all of that, although the slate of special awards is much much longer. Also, there were a number of college scholarships (some of them for 4 years) being awarded. Several students won enough scholarships to go to college several times over. Julie told me that last year an 8th grade girl won one of those scholarships. Another significant change from my science fair days, was the number of women participating. The gender ratios looked much better than what I remember, and the top two students, the ones going on to the Intel Fair, were women. The Kitsap Sun did a pair of articles on the fair.

A few notes about homeschoolers, since our girls are homeschooled. The people that organize the fair made a big effort to get homeschooled children involved. Apparently, kids in regular schools are too busy, between trying to pass the WASL (thanks No Child Left Behind) and sports, to participate significantly in a science fair. Indeed, the two top ranked academic districts, Mercer Island, and Bainbridge Island, were barely represented, if at all. In contrast, homeschoolers took 1/7th of the 35 first place awards given in the 1st-6th grades, a pretty impressive showing. It will be interesting to watch how/if these children progress over the years.

These fairs are an important way to expose kids to science and to help them develop enthusiasm, curiosity, and an understanding of how science works. If you’re reading this blog, you are aware of the importance of science and engineering for the future of our country and for all mankind, really. I just wish that there were more kids entering these fairs.

The big guys on umbrellas

A good way to learn something is to to hear multiple people give their views. Recently both David Hobby (the Strobist) and Zack Arias (Mr. OneLight) have written posts on the use of umbrellas with off camera lights.