Feb 22

Calendar Zero: The next step

Tech with tags: , , No Comments »

Busy Calendar

I am a fan of Inbox Zero, and enjoyed having Merlin Mann show up to give his talk at Google.

Managing email can be time consuming, and I am very glad that I have moved from the huge number of folders and magic filters that I used to use in Outlook land.

Giving in to the stream, archive, and search mentality of Gmail has been an improvement, but I would be lying if I said that I was a master of the email domain. I often substitute “Archive” with “just leave it and ignore it”.

The real pain that I see is the busy calendar. It is so easy to say yes to various meetings and before you know it they are recurring, and your “Day view” looks like a quilt.

2008 is the year for Calendar Zero for me. There is a very easy way to measure if it is working. You should never need to use a daily view. Ideally, your default view should be monthly, and you should be fine.

Here’s to the end of the quilt. Will you join me?

“Pack one bag, plus the guns. I’ll make the pancakes” – Sarah Conner’s first corny line from the new show that I am watching on the plane.

Feb 21

Google if Jack Black ran it

Google, TV / Movie, Tech with tags: , No Comments »

Google Sweded

Jack Black’s movies can be friggin funny, or too weird for me.

I hope that Be Kind, Rewind is a good one, and at least I now know what Jack’s Google interface would be like…. I wonder what it would be like working for him ;)

Feb 21

Google Gears API supported by Aptana Jaxer

Gears, Google, JavaScript, Tech with tags: , No Comments »

Man I love it when I can delete code. Seeing the line count go away and leaving a small amount of text is a sight for sore eyes. I got to delete a lot of code today thanks to the kind folks at Aptana.

I recently wrote a shim that allows the Google Gears API to run as is on the server side. It wraps the Gears Database API with the Jaxer one.

What is particularly cool about this is that you can then write some code and:

  • If the user has Gears installed, it runs client-side
  • If the user doesn’t have Gears installed just run it on the server

I want to setup a nice way to make this trivial to setup.

The majority of the code was a simple wrapper around the result set, so Aptana decided to directly support the Gears API itself which allowed me to get rid of it all!

This makes the shim as simple as this:

// -- Wrap this code so it is available if using a proxy call
function oncallback() {
  // Make up the namespaces to mimic Gears and a place for Jaxer holders
  google = {}; google.gears = {}; google.gears.factory = {}; google.gears.jaxer = {};
  // Create sets up a database instance to be used
  google.gears.factory.create = function(className, version) {
    if (className.indexOf('database') < 0) {
      throw new Error('I can only do Database work right now');
    return new google.gears.jaxer.Db();
// -- The Database Wrapper
  google.gears.jaxer.Db = function() {
    this.db = null;
  google.gears.jaxer.Db.prototype.open = function(name) {
    this.db = new Jaxer.DB.SQLite.Connection({
      PATH: 'resource:///../data/' + name + '.sqlite',
  google.gears.jaxer.Db.prototype.execute = function(sqlStatement, argArray) {
    var rs = (argArray) ? this.db.execute(sqlStatement, argArray) : this.db.execute(sqlStatement);
    return rs;

Philip Maker has also taken GearsORM and made it work with Jaxer. Very cool indeed.

Feb 20

Finally, it is time to be an adult

Personal with tags: 4 Comments »

It has taken awhile. I have been married for close to a decade. I am a father. You would think that I would thus feel like I am adult.

However, I feel like my adult moment has just taken place. I am currently on a 777 heading back to Blighty. This normally gets me in a reflective mood. For one, what else can do? No internet to keep me catching up to the constant present.

I have been pushed over the edge due to the fact that I am listening to Simon Mayo and Mark Kermode do the critique thing. Hearing someone take a part an email gets you more in the mood to psychoanalyze yourself :)

I have had the pleasure to live in many different places. My journey has taken me from London to Minneapolis (don’t ask) to Boulder, Colorado, back to London (to show my lovely American wife what Europe is about), then to Cambridge, Mass, back to Madison (phase one: settle down time?), and now to Silicon Valley. The Hollywood for computer geeks.

Visiting places is fine. Living in them is life. I am happy to have made friends in all of these locations, which is also a bane. I am the kind of person who would love t have all of my friends and family in one place. I love to take the various worlds, as George from Seinfeld put it, and seeing them collide. Connecting people is something I really enjoy… especially people I respect.

The more places you visit or live in, the more you want to do so. The thought of doing a stint in Australia is exciting, for example.

Finally though, I am ready to say “no more”. It is time to settle down. It is time to set roots, and to know that in a few years, I will be going to the same grocery store, and my kids to that good school over there.

Just saying this is a relief. Ahhhhh. The thought of now moving into a new house every few years. Of not learning how things work, and where things are, especially a couple of great friends to share life with.

Now I just need to make sure that we are in the right spot to do that settling down. I need to spin around like a pup does before he goes down for a nap. What feels right?

All this being said, the thought of moving many years from now isn’t a bad idea. I would love to take my American kids to life somewhere else one day in the future…. to show them that there are other places, and other ways of life out there… and, they aren’t worse.

Feb 20

Swing is drowning

Java, Tech with tags: , 22 Comments »


Sun needs to do something drastic else Swing will drown. Although many people tease about the complexity of Swing, it does do a lot of things right.

Unfortunately the ship has not turned fast enough to reach its potential, and it is losing the race fast to the Web, Air, and WinForms.

Sun seemed to put its might into JavaFX and left Swing itself with a skeleton crew that I feel sorry for. A lot of the top Swing folk have actually left. Some for Google, and some for Adobe.

How many people do you think are working on the Swing core? I bet you would be shocked. I think that more people live at Ben’s house :)

How many young developers do you hear jumping into Swing development? The “cool” factor isn’t there. It is all about the Web and Air. The Air development team is growing fast.

Who can save Swing? Sun needs to put its hands in its wallet, but it doesn’t appear to be doing anything other than hoping that JavaFX can compete. Ouch.

Update: I got a lot of emails and comments on this, so I have written up more thoughts on my reasoning.

Feb 20

Interview Day: HTML / CSS

Comic, Tech with tags: , , 1 Comment »

Interview Day: HTML / CSS

What about the other languages?

Got some good ones for other languages like Fortran, BASIC or assembly?

Feb 19

StrtpCmp: Building for Selling

Comic, Tech 2 Comments »

StrtpCmp: Building for Selling

This isn’t aimed at StartupCamp itself, but rather other events that I have seen where people in general get together and talk tech rather than the idea itself, or how they want the make a compelling user experience.

I often fall into this category myself. I may want to play with some new technology for the sake of it. This isn’t all wrong of course, but it can be :)

Feb 19

Interview Day: COBOL

Comic, Tech with tags: , No Comments »

Interview: COBOL

Solve this Y2K problem…

What about the other languages?

Got some good ones for other languages like Fortran, BASIC or assembly?

Feb 19

JSF Coding Standards

Comic, Java, Tech with tags: 2 Comments »

JSF Coding

It is fun to see the comments on the Joint Strike Fighter coding standards documentation from AT&T.

Mostly people are arguing over recursion in C/C++ and embedded devices.

I had the same thought as OMouse though: “Why aren’t they using Ada?”

Feb 18

Why I still hate iTunes: This computer is not authorized to play YourMovie

Apple, Comic, Tech with tags: 4 Comments »

iTunes Pain

Believe it or not, I have not been an iTunes purchaser. I didn’t want to deal with the DRM and the mess associated with multiple computers and syncing.

However, I was waiting for my flight from SFO to LHR and thought I would finally give it a whirl. The experience was very poor.

The first problem was in purchasing the darn film I wanted. iTunes kept giving me a generic “Error, try again” message. It finally worked on the five try for some reason.

Then the kicker. The airplane food was over, so I could sit back and relax wit the show of my choosing. I go to play, and get:

“This computer is not authorized to play “Your Movie”. Would you like to authorize it?”

This is why I hate iTunes. I want to be able to just download and play things without all of the hoops. I have just purchased the movie on this computer so LET ME PLAY IT :/

Instead, I have to choose between Bee Movie and Elizabeth: The Golden Age. I choose my RSS reader, podcasts, and a good book.