A year after the third moment of project-size zen comes the fourth, celebrating the 2.1.0 release — and my birth year!
[javac] Compiling 1974 source files to /home/mquail/work/crucible/2.1/output/classes
The Buddha feels bloated.
A year after the third moment of project-size zen comes the fourth, celebrating the 2.1.0 release — and my birth year!
[javac] Compiling 1974 source files to /home/mquail/work/crucible/2.1/output/classes
The Buddha feels bloated.
Two meta blog posts in a row is a sure sign of a blog in peril, but I’d thought I’d give Alastair a nod regarding customizing the Sandbox theme.
My last attempt at a custom theme resulted in a great deal of bit rot, so when looking for a new theme I really shied away from anything that required any maintenance effort on my part. I thought that meant I had to find a theme that meet all my functional and visual requirements at once — seemingly a tall order.
Until I discovered child themes.
Great googamooga — child themes for the win. I recommend reading through Demetris’ How to make a “child theme” for WordPress post for all the gory details, but my resulting wp-content/themes/ directory looks like this:
themes/sandbox/ the standard Sandbox theme, unmodified. (Sandbox 1.6 as of this post.)themes/sandbox-madbean/ my child theme.themes/sandbox-madbean/style.css (copy as of this post).themes/sandbox-madbean/functions.php an override to add my own footer (copy as of this post).Some particulars:
display:none to hide sections I didn’t want. In the past this is what would have prompted me to make a full custom theme. But I can live with just hiding the divs.add_action() in functions.php to add my own footer text.Demetris has another excellent post An easy style-switcher for WordPress on using Theme Switcher Reloaded. After disabling WP Super Cache, Theme Switcher Reloaded allows you to override the theme used in a session-sticky manner.
However, I couldn’t get it to work with a child theme. So I developed my theme in a copy of Sandbox, then converted that diff to a child theme.
I use:
In the absence of regular blogging, I present to you this series of random updates. We will then return you to your regularly scheduled silence. Do not adjust your TV.
madbean.com has dutifully been wearing the same theme I whipped up when I originally installed WordPress in 2005. It had really started to show its age, so I decided it was time for a cleanup.
WordPress themes serve two (related) functions: templates for turning data into HTML, and visual styling (CSS). While I wanted to improve the visual styling, my main pain-point was the HTML generation: my theme was a copy of a very old example theme, and couldn’t support any of the new fancy WordPress features like Widgets. I went shopping for a new theme, but I couldn’t find anything that really hit my two requirements:
I almost gave up with shopper fatigue, but then I discovered Sandbox. It supports all the fancy WordPress features, outputs richly structured HTML (lots of orthogonal CSS classes), and doesn’t override any of the Browser’s default visual style — that is up to you.
So now we have what you see today (which is not perhaps what you might be seeing in the future). Here are screenshots of the three main themes madbean.com has worn over time:
Did you know I have a new baby son Benjamin? Now three months old, he joins Joshua (nearly four) as one of my main time sinks (which, truth be told, I don’t mind so much).
I recently got my nerd game on and wiped up Wiki4k. This is a fully featured Wiki (with embedded HTTP server) delivered in a 4KB jar file.
Having moved to Sydney then spending 12 months renting, we bought a nice little apartment withing walking distance of the city. The building has some very nice views of the harbour, but we are on the ground floor (sacrificing views for a large outdoor area).
My three year old — I mean three and a half year old — son Joshua loves everything spacey. In fact, one of his favorite cardboard boxes is the cardboard box we turned into a rocket ship.
On the weekend we took that rocket out to the local cosmodrome for a test run. The following is the result:
If, like Nick, you think I left poor little Joshy in the middle of a big car park, rest assured that the whole shot is a green screen effect. He never left the safety of our kitchen and Final Cut Express’ Chroma Key filter:

The green screen setup turned out to be reasonably simple: one king-size green bed sheet and a 500W work-light from the local hardware store. What took the longest (about 3 hours) was the motion tracking — making sure it looked like the rocket ship was sitting still on the ground while the hand-held camera jumped about. I started out reasonably fussy with the motion tracking, but got quite sloppy at the end (not that you can tell thanks to the soft-focus that is Youtube). Next time I’ll either try out some of the motion-tracking plugins you can buy, or just use a tripod.
It is JavaOne time again, and I arrived in San Francisco this morning. I’m finally getting used to the 13 hour flight from Sydney to SF. I don’t know if that is a good thing.
It is going to be a busy year this year. Some highlights below. If you are in San Francisco note that the Lightning Talks and Javabloggers meetup are tomorrow.
We are running a Lightning Talk session at Community One (12noon I think). I’m one of the speakers, my title is “You suck at webapps” (or will be if I can finish it between now and then). It should be fun. Be there, or … be one of the less square people in SF at the moment.
Atlassian is sponsoring the Javabloggers meetup at Thirsty Bear downtown San Francisco after CommunityOne. Free beer from 7:30pm proudly sponsored by Atlassian.
Conor and I are speaking at JavaOne on Thursday 4:10pm. “Pimp My Build: 10 Ways to Make Your Build Rock”. Come along, you’ll learn a little, cry a little, and come away feeling full of hope.
I’ll be at the Atlassian booth, come say hello, watch a demo and get an awesome t-shirt.
Check out this sequence of images of a NASA shuttle being prepared for a mission. Space is still cool. (Via boing boing.)

FishEye and Clover won Jolt awards this year! FishEye in the “Change and Configuration Management” category and Clover in the “Testing Tools” category.
They are “the Oscars of our industry” which — for better or for worse — is about right. But I still I have a fondness for the Jolt awards. The first time I saw the awards in Dr Dobbs Journal, I remember thinking how nice it was that this caffeinated beverage company targets us sleep-deprived code monkeys, and gets us enough to award us for our deeds. And fondness for the Jolt awards certainly has something to do with my fondness for Dr Dobbs Journal.
I’ve poured a lot of code into FishEye over the years. And we are still working quite hard at improving it, so it is sometimes hard to keep at the top of the stack the fact that a lot of people use it and think it is awesome. When non-nerds ask me what I do I give a standard response of “I develop tools for other software developers”, which most people seem to grok reasonably easily. This response took me a few years to refine and means such lines of conversation quickly get to the point where a change of subject is needed (to the relief of both parties). Conversations with other nerds run a little different. We can either be rather evasive, or overly detailed — seeing a fellow nerd’s face gloss over is a bad sign. It is a balancing act that I don’t always get right. But now, if someone’s curiosity matches my current grandiosity, I might just say:
I’ve won a Jolt.
Via the teaparty:
10:49:42 PM spud: it’s finally being pooped out http://paulgraham.com/arc0.html
10:52:58 PM michael: @spud: gentlemen, start your parentheses!
10:59:10 PM spud: “Arc only supports Ascii. I realize that supporting only Ascii is uninternational to a point that’s almost offensive … But the kind of people who would be offended by that wouldn’t like Arc anyway.” Well, now I don’t like it… shesh!
11:00:23 PM adrian: Ewwww.
11:00:37 PM conor: too full of himself
11:00:49 PM spud: that’s paul g all over
11:01:11 PM spud: I like the direction erlang went, it doesn’t have a char type, just uses lists of ints
11:01:17 PM conor: probably only 7bit ASCII
11:01:27 PM * adrian likes the name Erlang.
11:01:39 PM conor: Having done traffic engineering, I find it difficult to use a language called Erlang
11:01:48 PM spud: ?
11:02:10 PM adrian: Erlang is the unit of measurement of telecommunications traffic.
11:03:28 PM adrian: 1 erlang = 100% occupancy
11:02:57 PM spud: wow didn’t know that
11:03:07 PM michael: so it’s for stupid mono-lingual programmers writing software for other stupid mono-lingual programmers without funny accents in their names? please!
11:03:57 PM spud: I’ll wait for Erlang 2.0 then
11:04:02 PM peter: Riley (read any 2 yearold) = 2 erlang
11:04:09 PM conor: I’m a .5 Erlang developer
11:04:11 PM spud: @peter lol
11:05:49 PM spud: meh fuck lisp
11:06:18 PM spud: that took 16 mins
So I’m off to JavaPolis 07. If you — my trusted readers — are going to be there, drop me a line or pop in to the Atlassian booth and say hello.