Archive for June, 2007

Ryan McMinn from UnSpace

Ryan McMinn speaks at a free software symposium. Video at: http://unspace.ca/innovation/speak

Great ideas:

  • user involvement, iterate, agile
  • don’t work on something fulltime — users need time to absorb. maybe work 3 days a week and they can use for two days and provide feedback
  • “musicians make the best developers” (@ approx 13:30) — software should be a passion

PNG transparancy, Rails and IE

I’m very, very glad I’m not a fulltime web designer, because problems such as IE 5.5 and 6 not rendering PNG transparency correctly would drive me around the bend. For what it is worth, I used a Rails plugin and some css trickery to get around the problem, but was that ever a waste of several hours.  Thanks Internet Explorer.  I wish I could bill Microsoft for the time.

Java Bytecode

Just reading about Java Bytecode manipulation in Ted Neward’s article on The Server Side, something I haven’t really made any investigations into before. Having done a little assembly in my past, it seems fairly straight forward. I guess the key points are:

  • javap is a bytecode disassembler
  • constants are defined in the constant-pool
  • opcodes manipulate operands from the execution stack
  • the execution stack is populated with operands
  • categories of opcodes:
    • stack manipulation
    • branching and control flow
    • arithmetic
    • object model instructions (creating arrays of objects, setting fields, invoking methods, casting)
    • block synchronization
  • exceptions are handled by an exception table that handles ranges of bytecode
  • there are 212 current opcodes, with room for 46 more (all documented in JVM specification)
  • Bill Venners book “Inside the Java Virtual Machine” would be a great place to start if I wanted to look into this further.

Incremental Compilation and Automatic Testing

I’m not going to make the same argument for background compilation that Jeff Atwood made again, but I thoroughly agree. If Eclipse didn’t have incremental compilation I do believe I would have gone crazy by now.

In the same way, since working with Ruby on a daily basis, I’ve also found continuous local testing (via autotest in ZenTest) to be invaluable.

picture-1.png

Now I know the instant code changes break my tests. This is particularly important with a dynamic language that doesn’t compile.

Google Gears and TiddlyWiki

Made a quick post to the TiddlyWiki development list about the potential for TiddlyWiki to use Google Gears.  Some people think that the necessity to download a browser add-on could limit the portability of TiddlyWiki, but I’m fairly sure it could be transparent (i.e. use TiddlyWiki as you do now OR use it in online/offline Gears mode without having to change anything), but I guess I’ll have to look into this further when I get a chance.  It’s good to see Jeremy Ruston (TiddlyWiki’s awesome creator) has already put some thought into this as well.

Google Developer Day Sydney 2007

I spent yesterday at Google Developer Day 2007 here in Sydney, where we were lucky enough to be the first of the ten worldwide developer days. I was even interviewed by Google TV, so I’m glued to YouTube to catch my cameo appearance (there’ll be a link here when it is posted).

Of all the presentations the most relevant and amazing was Google Gears (presented by Aaron Boodman of Grease Monkey fame), which allows web applications to be as usuable offline as well as they are online, and even improves the online and offline capabilities with threading. They were billing it as an incremental improvement to the internet, but I think it could be a little more revolutionary than that. I’ve already got a couple of ideas about apps I’d like to use in this offline/online way (MonkeyGTD for instance).

The rest of the day was VERY map-centric.  I guess maps makes sense for Google since they can make more money via advertising local business, but to the general developer I don’t believe this is really all that relevant.  Of course there are some great map mashups out there, but really most developers are not going to be involved with this.

Here was the first coverage of the day: SMH covers Google Gears

image028.jpgimage029.jpgimage030.jpg