Mar 03

Pair Programming Productivity

Comic, Tech with tags: , 4 Comments »

Pair Programming Productivity

I was chatting with a developer last week about how his productivity increased when he started to pair at work, due to the social aspect of things. Later that same night I spoke to someone who had the opposite experience, which I will save for another day :)

Mar 03

xssinterface and Google Gears

Gears, JavaScript, Tech with tags: 1 Comment »

I mentioned the cross domain library, xssinterface, created by Malte Ubl on Ajaxian the other day.

His library abstracts on top of postMessage() and browser hacks to give you cross domain work. No sooner than I say “It would be nice if the library used cross domain workers if Gears is installed.” than Melde comments “Thanks for the hint to google gears. It is now implemented in trunk :)”. How about that for service!

Below is his first version that uses cross domain workerpools and the database to keep a message queue going. Very nice!

var wp       = google.gears.workerPool;
wp.allowCrossOrigin();
wp.onmessage = function(a, b, message) {  
  var origin = new String(message.origin);
  var parts  = origin.split("/");
  var domain = parts[2];
  parts      = domain.split(":"); // remove port
  domain     = parts[0];
 
  var recipient = domain;
  var channelId = message.text;
 
 
  var db = google.gears.factory.create('beta.database');
  db.open('database-xssinterface');
  db.execute('create table if not exists XSSMessageQueue' +
     ' (id INTEGER PRIMARY KEY AUTOINCREMENT, recipient_domain TEXT, channel_id TEXT, message TEXT, insert_time INTEGER)');
 
  // delete (and thus ignore) old messages
  var maxAge = new Date().getTime() - 2000;
  db.execute('delete from XSSMessageQueue where insert_time < ?',[maxAge]);
 
  // find new messages for me
  var rs = db.execute('select id, message from XSSMessageQueue where recipient_domain = ? and channel_id = ?', [recipient, channelId]);
 
  // there is a new message for the recipient
  if (rs.isValidRow()) {
          var id   = rs.field(0);
          var text = rs.field(1);
          db.execute("DELETE from XSSMessageQueue where id=?", [id]); // unqueue message
          wp.sendMessage(text, message.sender)
  }
 
  rs.close();
}
Mar 02

Lisa Awards: Lifetime Achievement

Comic, Tech with tags: , 4 Comments »

Lisa Awards: Lifetime Achievement

Donald Knuth is a god. Someone recently told me that he was at an event where everyone in the room were well known heavy hitters, and when Donald came in the room they all quietened down.

The Art of Computer Programming is an amazing tomb, and thus he gets the award:

Donald Ervin Knuth is a renowned computer scientist and Professor Emeritus of the Art of Computer Programming[2] at Stanford University.

Author of the seminal multi-volume work The Art of Computer Programming (”TAOCP”), Knuth has been called the “father” of the analysis of algorithms, contributing to the development of, and systematizing formal mathematical techniques for, the rigorous analysis of the computational complexity of algorithms, and in the process popularizing asymptotic notation.

In addition to fundamental contributions in several branches of theoretical computer science, Knuth is also the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces.

A prolific writer and scholar, Knuth is also creator of the WEB/CWEB computer programming systems designed to encourage and facilitate literate programming, as well as designer of the MMIX instruction set architecture.

What about the other awards?

Got some ideas for awards you would give?

Mar 01

Firefox 3 Proto Interface for Mac

Tech with tags: , , , 4 Comments »

Firefox 3 Proto Interface for Mac

In general I think the new Firefox 3 Mac interface “Proto” is nicer. I keep seeing new versions come along, but they are all wonky for me, and I think it is due to my 1Password icon. The favicon.ico is always in the wrong place (as above).

I do think that that the buttons and elements are too big and roundy. I prefer the simpler Safari layout, and it doesn’t use as much room before the URL bar itself. It seems that people like to go crazy over these interface changes “waaaaah I liked it how it was!” but I am glad that they are playing with things…. and with Aza, I hope we see more ;)

Mar 01

Lisa Awards: Community Waiting for an Update

Comic, Tech with tags: , , , 2 Comments »

Lisa Awards: Community Waiting for an Update

Man, what a wait. 10 years and counting? The community has started to take hold and have updated Perl 5 a lot recently, which most people outside of the core community never see as they wait for the Big One. When Perl 6 and Parrot really hit primetime, I wonder what will happen?

What about the other awards?

Got some ideas for awards you would give?