Monday Jun 05, 2006


This is likely my last post on Code Complete. My last day at Sun was technically last Friday, as I started my new job today :). It's been a great six years at Sun, I've learned so much. However, it's now time to open a new chapter in my life, and try out something completely different. So -- I'm going to join the software team at Pixar, and make some movies. Completely different industry, completely different kind of company. Promises to be an exellent experience all around. As for Code Complete, maybe I'll actually have time to post here, should Sun move my blog to an "alumni" area, as I've heard they were planning to do. Otherwise, enjoy the archives!

Wednesday Nov 30, 2005

Subversion 1.3.0RC4

Subversion 1.3.0 RC4 is now officially released -- let the games begin. The release notes are here, and the detailed change log is here.

Tuesday Nov 29, 2005


Well, it's finally raining in the Bay Area. Soon, there will be enough snow in the Sierras to make my recent ski gear purchase worthwhile. I can't believe that it's taken this long for winter to finally arrive -- fire warnings and 80+ degree weather at the end of November is unnerving. Global warming at it's finest.

On the technical front, I'm anticipating the release of Subversion 1.3. I have been building and testing out the release candidates for the last month or so, and things are looking good so far. The current Blastwave Subversion packages use neon 0.24.x for WebDAV, but when I release the 1.3 packages, we'll bump to 0.25.4. One of the best improvements in neon between 0.24 and 0.25 is interruptability. If you've ever started a svn up operation on a huge repository, and then changed your mind, you'll know what this change will bring. Right now, pressing Ctrl-C to interrupt a long running svn client operation has no effect until the server responds. With neon 0.25, pressing Ctrl-C will cancel the operation immediately, removing one of the biggest annoyances from the svn command line client, IMHO.

Even better, there was an announcement this week that Google has awarded an internship to Justin Erenkrantz (of ASF fame) to work on Subversion. His primary project will be to develop the SERF WebDAV library, and integrate it with Subversion. While neon works fine for Subversion at the moment, it's usage within Subversion implements a protocol on top of WebDAV, defeating some valuable features of WebDAV. For instance, rather than using simple HTTP GET requests for most data, the client and server speak using custom REPORT requests. One downside to this is that proxy cache servers cannot cache REPORT operations, which limits the usefulness of caching to improve the speed of repository operations (e.g. cached diffs). Current plans are to have this functionality integrated in time for SERF to be a compile (or run) time option by the 1.4 release.

Monday Nov 28, 2005


It has certainly been a long time since my last post. Unfortunately, most of the activities I'm associated with at Sun are covered by NDA/CDA, so I'm unable to post anything about them. To exacerbate the situation, I've also been devilishly busy. Both excuses have conspired against my blogging habits. However, I'm now in a slightly better place in terms of the amount of brain power I can devote to blogging. With any luck, I'll be able to keep the ol' blog space updated regularly for at least the next six months! :).

I keep a pretty close eye on what is happening in the Subversion community. I have recently toyed with the idea of writing a regular series with a name like "This week on svn-dev", in a similar vein to This Week on perl5-porters. If you are interested in Perl development, this is the place to look. It summarizes the goings on of the perl5 development effort, including discussions on design of features and bug fixes. There are always interesting discussions on the Subversion development alias, most of which aren't well known by anyone except those that are able to filter through ~200 emails per week to find the good stuff.

I am also looking into the possibility of writing some articles on PSH (specifically fmd) internals. I've done a good deal of work with FMA in my day job recently. In fact, I wrote an object-oriented Perl API around the fault management configuration and reporting tools provided with Solaris 10 (fmadm, fmstat, fmdump). I then implemented a number of utilities on top of that API which are used in the manufacture of most of Sun's products (Currently Sun Fire 2900/4900/6900/20K/25K and US-T1 platforms [Niagara]). The tool set is primarily used to check, count, and classify hardware faults. For instance, I wrote a tool which dumps the contents of the fmd error and fault logs (which are extended accounting files (see libexacct(3LIB)) as XML data which is stored for historical analysis of FMA performance in our manufacturing processes.

Perhaps I will be able to publish some initial articles this week -- only time will tell. Unfortunately, blogging is icing for me, not cake.

Thursday May 05, 2005


Wow. I mean... Wow. I just passed by Bill Walker's blog and found a link to this 'nerd test.' Of course, once I found it I knew I had to take it just to see how... uhh... not nerdy I am. So, here are the results:

I am nerdier than 95% of all people. Are you nerdier? Click here to find out!

That's right folks! Nerd God -- and I didn't even cheat on the test! Say it with me: "I, for one, welcome our Nerd overlord."

Wednesday Apr 27, 2005

Long time... no update

Yes, I realize it's been quite a while since my last update. Shame on me. However, things have been busy lately -- so much so that writing a blog entry was the last thing on my mind. Unfortunately, there are times when I just can't blog what I'm doing. Either that or I get lazy, take your pick. I'm not going to promise to update my blog daily this time, in hopes that the Universe won't hear me and give me even more work to do (jinx).

Now that I'm in one of the relatively few non-hectic periods in my career, in between major projects, I do have some time to update. I've updated several of the packages I maintain on Blastwave. The most significant is Apache 2.0.54, which is now split out to allow users to select either the prefork or worker multi-processing modules (MPM). This is a long standing request from the user community, who would like to run PHP, but are not quite ready to run it on the threaded worker MPM which was the default compiled-in MPM in the last Blastwave apache2 release. The default out of the box for Apache 2 is prefork, and so the default for Blastwave apache2 will revert to prefork. Those who don't rely on non-threadsafe third-party PHP libraries can continue to run their code on the worker MPM, if desired.

A new build of Subversion 1.1.4 using berkeleydb 4.3.27 will be released later this week as well, which should provide some performance and administrative benefits (e.g. automatically removing unused dblogs). XChat 2.4.3 was released today, with a bunch of improvements and bug fixes, and finally, new Subversion 1.2-RC2 and mod_perl 2.0.0-RC5 packages should be released some time this week or next for testing only.

Wednesday Dec 22, 2004


ollie I am a sucker for punishment. In addition to project deadlines, holiday shopping, and holiday traffic, my wife an I decided that it was time to try the dog thing again. Our last foray into dogville was difficult -- we adopted a field stray Golden Retriever from a local shelter. She had many latent health problems, and after about a month and a half with us, she passed. That was nearly a year ago, so we figured it was time to try again. We adopted a 3 month old Golden Retriever puppy two and a half weeks ago. While the stress of having a sick dog was significant, the stress of not knowing how to get a new puppy to (a) stop barking, (b) stop trying to eat the cat, or (c) stop rolling in various items in the yard is equally significant. Compounded with the aforementioned stress enhancers, I'm about one step away from a full on aneurism. Not really. It's easy to love that face -- say hello to Oliver.

Tuesday Nov 02, 2004

Liquid Layout

Yesterday evening, I thought I would log into the ol' blog from home, and type a few words about the really creepy movie The Grudge that I saw on Sunday night. Unfortunately, when I loaded up the page, the entire sidebar was scrolled off the side of the browser screen. I had taken special care to ensure the page would scale for other view sizes, but I guess somewhere along the way, something broke the very complex table based layout I use. I vowed to fix it as soon as possible.

Long story short (how often does that happen here?), I rewrote my page templates as a two column liquid layout, using CSS for positioning. I used the excellent Floatutorial from Maxdesign to get the basic structure of the page right. Then I inserted the Roller content tags, and voila! A page which scales correctly, and now even displays properly in text-only browsers like lynx! Not to mention that now I don't have to keep a score sheet next to my keyboard for tracking down missing table cell close tags.

Wednesday Oct 20, 2004

About Everything

Ok -- It appears that my blogging habits are a bit 'binge and purge' like at the moment. Multiple posts per day for a whole week, then nothing but crickets for a week after that. I have a good excuse, however, as I was taking a few days of much needed vacation time. I try not to touch a computer that isn't running a game during my vacations, unless I find some good reason to work on one of my Open Source projects. But I do make a concerted effort to stay away from work activities (including blogging :)).

After a couple of days of upgrade pre-planning, including making some much needed backups, etc., I installed my new MSI Neo2 Platinum motherboard. I struggled a bit with the new bolt-through heatsink designs used on newer motherboards. The MSI board comes with a support plate on the rear of the motherboard and a clip harness on the front for mounting of the standard CPU heatsink which comes with the Athlon 64 retail package. Of course, I bought the OEM version and a different heatsink which requires a different backing plate, and a different front-side assembly. The stock backplate was glued onto the back of the motherboard, and the process of prying it off with a screwdriver was a very high anxiety activity. I even ended up in the OpenForum on Ars asking whether this was normal, and how I should go about getting the plate off without destroying my board. Before I got a decent answer from the forum, I had managed to free the plate from the board -- no damage done. nice.

The heatsink installation went well after that, but I had exhausted most of an evening getting the heatsink installed properly. The next day, I stripped the old components out of my case and did a full brain transplant. Aside from the initial heart attack I had when I touched the power supply button and heard a spark, and got no power to the board, things went well. I had not connected the second 5V power connector to my video card (really, it's easy to forget to apply extra power to an expansion card, sheesh.), and I guess the card was trying to draw too much power or something, which was keeping the system from powering on. After connecting the extra card power, everything came up fine. I ended up with some additional headaches trying to get WinXP to boot after installation, owing to the messed up partition table on my boot drive, courtesy of Fedora Core 2 (I won't go into the details... therapy has just about erased this part of my memory). A bit of BIOS tweaking, and I was up and running. Everything is better now -- colors are brighter, digital birds sing louder, and that annoying growth on my .... oh wait... work blog. AND, I get sustained ~40fps in the Counter Strike: Source video stress test on highest quality settings. And this is untweaked -- I've been able to overclock my 2.2GHz chip to just over 2.3GHz without crashing, so I might be able to squeeze a bit more performance out using the Dynamic Overclocking Technology (DOT) that is provided by the MSI Neo2 platform.

Speaking of games, I really like the new Valve Steam service. It's kinda like what other companies have been promising regarding software as a service. You download the Steam client, and can browse the catalog of games (both Valve and 3rd party) available on the service. I bought the Half-Life 2: Silver pack, which allows me to download most of Valve's game catalog for play. I don't have to worry about game updates, content packs, or external server lists (e.g. gamespy), as Steam provides all of these features. When I re-install my system, I just have to enter into my account and it will download the bits I own to my system again. No trying to find the jewel case with the right serial number anymore. Cool idea.

Friday Oct 01, 2004

Using your HEAD

I found this interesting article about how to use CSS3 to display the content of HTML <meta> tags directly in your document. Great for maintaining a single copyright notice in a document. Support for CSS3 is not that wide spread at the moment, but it's still a cool technique. There are CSS3 browser compatability matrices here and here, but I haven't found one that includes Firefox 0.9.x or 1.0PR yet.

Thursday Sep 30, 2004

Give me caffeine or give me...

No, wait... I just want some coffee. The good graces of Sun keep my brain awash in caffeine from the time I arrive, until I collapse in a lifeless heap around 3:30PM from too much caffeine (not really). However, there are those who would interrupt my flow of this essential element, through their antisocial coffee etiquette faux pas. Here are the rules as I understand them -- there are few, but critical to survival (not really):

  1. When thou com'st upon an unfilled urn of coffee, fill't up.
  2. Thou shalt not drain the urn and not refill because thou shalt "miss thine meeting".
  3. If thine meeting is a grave matter, and lateness brings punishment, thou shalt drink of a lesser beverage (water?), or appoint an acolyte to fill the urn.
  4. Thou shalt not silently drain the urn, and convince thine self that it is truly not empty. It is.

Can't we all just get along?

Wednesday Jul 28, 2004


After much messing about, I managed to get the currency template modified to not use so many inline HTML formatting tags. Using CSS is much easier, and makes it easier to factor out common styles to be modified from one place. Many complements to the Roller community for producing a fine Open Source blogging interface.

I use Movable Type 3.0 on my personal website, and paid good money for it. Movable Type looks very nice directly out of the box, but requires reading a lot of documentation to get basic plugins, like photo gallery, installed and working. We on the blogs.sun site didn't have to do all of the tinkering, but then, neither do we get to modify the content of the velocimacros used to construct the site. This is probably my one chief gripe about Roller -- I can't get my site to validate to HTML 4.01 Transitional, because some velocimacro tags insert HEAD and HTML/BODY tags in the output. Is there some way to make these tags output more streamlined HTML?

At any rate, no more serious tampering with the HTML/CSS for this page (for now). I'ts prime time.




« April 2014