Wednesday, April 26, 2006

My $0.02 on Sun's new CEO

I've not updated my blog in ages because I've been really busy recently. But I just had to comment on this one.

If you're a follower of Sun Microsystems (and if you're reading this, it's a pretty safe bet that you are!), you'll know by now that Scott McNealy has stepped down as CEO, handing over the reins to Jonathan Schwartz (Scott will continue to be chairman).

I've not (yet) met Scott, but I've had the pleasure of meeting Jonathan several times. He's a great guy, and I'm sure he'll do well mapping out Sun's future. I have great admiration and respect for both of these guys, and wish them all the best.

I was going to write more, but I think Jonathan says it best: Thank you, Scott, you are a hero to us all. Amen to that.

Saturday, April 01, 2006

New OpenSolaris project: /dev/recycle

I've just heard of this project from a colleague of mine, Avril Dummkopf. To use one one of John Clingan's expressions, Avril is a non-blogging heathan, so I thought I'd share the details of Avril's new project announcement here.

For many years Solaris has had a device, /dev/null, which is used as a bit bucket. Anything written to /dev/null is thrown away, and reads return EOF. Another device exists, /dev/zero, which is similar except that it returns an endless stream of 0 bytes when read.

I think that this is wasteful, /dev/null especially so. So with a nod of inspiration to Sun's environmentally friendly UltraSPARC T1 processor and T1000 and T2000 servers, I am pleased to announce an OpenSolaris project to implement /dev/recycle, sponsored in part by GreenPeace.

The idea of this device is simple: rather than simply discarding unwanted bytes like /dev/null, data written to /dev/recycle is stored for later recycling: reads from /dev/recycle will be satisfied from this pool. (When the Trusted Extensions to Solaris are used, there is one recycling depot for each MAC label. Data with a given MAC label can only be read or written by a process at the same label.)

I've done some benchmarking, and compared to using /dev/null, using /dev/recycle will result in huge byte savings: on the order of terabytes per year. Bytes are a finite resource, so it just makes sense to recycle them where possible (software engineers have long appreciated the benefits of recycled--aka reusable--code).

I hear that the Mustang (Java 6) team is planning to replace Java's garbage collector with something that uses /dev/recycle. Given that Java currently performs automatic garbage collection, moving to the practice of of automatic recycling collection leveraging /dev/recycle will result in considerable byte savings, which is a Good Thing.

Please join the eco-device community on for more details.

Looks pretting interesting to me, and I'm looking forward to contributing to this project.