Categories
Programming

Squeaking towards ICFP 2003

I am waiting for the ICFP programming contest to start. I’ve even managed to remember that we’re currently in BST, and the contest starts at 0:00 GMT. What posessed them to start a contest at this time? This is taking geek obsession with zero-based numbering schemes to new levels of stupidity.

Anyhow, I am using this contest to test Squeak “in the real world”. I’ve done lots of small-scale programming using Squeak recently, but now I want to see if it stands up to a 24 hour coding frenzy (I’m only entering the lighting division). So, first and foremost this is a Squeak coding exercise, and if I eventually submit an entry that’ll be a bonus. I wonder if they’d given bonus points if I managed to submit working entries in five different languages?

I’ve been playing around with recording my desktop with vncrec. I briefly thought about recording the whole of my ICFP effort so I could review it later. It’s really trippy watching yourself programming. You notice how inefficient current GUI’s are. I’ve just watched a recording of myself trying to click a small button, and it takes several attempts to get just the right position. The same problem occurs when positioning the insertion point before typing. No wonder Apple’s magically zooming application launcher is such a good thing for mouse users, and no wonder that I prefer to keep my hands on the keyboard. I don’t like the way that keyboard shortcuts in Squeak change their meaning depending on which window you’ve got highlighted. I’d like alt-B to always bring up a browser, regardless of where the pointer is.

On a seperate topic, I intend to later add a ‘autocomplete selector’ feature to the Inspector window. Since smalltalk is dynamically typed, you don’t really get the same sort of autocompletion which is available in IntelliJ or Visual Assist. However, if you’re entering code in an Inspector window, you do know what type ‘self’ is, so you can do better than the command-Q shortcut which just autocompletes using every single selector in the world. Most of the time, I’m typing “self foo” into Inspector windows, so it’ll be useful for me.