Monthly Archives: December 2007

Grassroots Extensibility

Back when I had time to think about extensible programming, I predicted that the most likely route to its realization was some vendor creating a new version of a wholly-owned toolchain.  After all, if Microsoft had decided that VB.NET source code would be stored as XML, in a format that allowed for arbitrary extension points, everyone else would be saying, “Gosh, that’s cool,” and racing to catch up.  But tools like Jester (a mutation tester for Java) are forcing me to re-think: while a uniform representation of source code would make what they do easier, it’s clearly not essential.

Now, would someone please create an extensible debugger for me? Please?

To Do

There’s a light dust of overnight snow on the streets this morning. Maddie’s upstairs playing “Climb On Mummy” while Sadie reads a magazine; seems like a good time to figure out my to-do list for 2008.

  1. Make Maddie laugh as often as possible (on purpose or otherwise).
  2. Do a major release of DrProject, and recruit at least 100 new users.
  3. Do a much better job of teaching my courses than I did this past term.
  4. Attend SIGCSE’08, ICSE’08, Agile’08, CAST’08, and SC’08. (I’m running a panel on “CS-1 for Scientists” at the former; I’d like to put together a workshop for the latter on Software Carpentry-type stuff.)
  5. Do some interesting research with my graduate students in time for them to finish their theses by January ’09. I’d like this to be one of the big ones—after all, it’s one of the major reasons I came back to academia—but I’m pessimistic about my ability to stay focused.
  6. Recruit and supervise four Summer of Code students from U of T.
  7. Institute a professionally-oriented master’s degree in Computer Science at U of T. (We have a strawman proposal, and will be doing a market survey early in January to tune it.)
  8. Retire the server this site is running on, and move to some kind of hosting service. (This’ll mean moving StreetKnit as well.)
  9. Finish and publish the “CS-1 in Python” book that we’ve been working on since early 2006.
  10. Go to B.C. for my parents’ fiftieth wedding anniversary.
  11. Lose 15 pounds (there’s a family history of heart disease, so the weight I’ve put on in the last 18 months is more than just a matter of vanity).
  12. Write a children’s picture book equivalent of Bryson’s A Short History of Nearly Everything. (I figure if I start now, it’ll be done in time for Maddie’s fourth birthday.)
  13. Arrange at least one good demo by a U of T student at every DemoCamp in 2008.
  14. Take Sadie somewhere nice for her birthday. Just the two of us—oh, and a cellphone, so that she can check in with the babysitter at regular intervals ;-) .

Losing the War Redux

Twenty minutes ago, I read a post by Diomidis Spinellis in which he cites instructions from the new Sony Ericsson K770i’s owner’s manual telling people to reboot their phone every day because of a memory leak. Fifteen minutes ago, I tried to buy a movie from Rogers On Demand (my cable provider) for the first time, and had to reboot my PVR twice as a result — apparently, “it’s a known issue, and we’re working to resolve it as quickly as we can”. *sigh*

Cover for “A Bottle of Light”

As I mentioned a couple of months ago, my next children’s book, A Bottle of Light, will be published in the spring.  It won’t be available through bookstores (it’s coming out as part of a new program for reluctant readers from Scholastic, and will be marketed directly to school boards), but as a consolation prize for a cold, dark morning, here’s the cover art:

A Bottle of Light

How Do You Distribute?

This poll at dev2ops.com reminded me that I still have to come up with a lecture on software deployment for next term’s CSC301 (“Introduction to Software Engineering”).  It’s a topic most of the classic texts ignore or skim over, but in my experience, getting software onto people’s desktops (or onto the app server, if that’s the route you’ve chosen), and getting it configured, is often as big a challenge as making it work in the first place.

So: what do you do? And what advice would you give someone who’s about to start doing it? I’m looking for something between an InstallAnywhere or RPM tutorial, and a hand-waving 10,000-meter overview full of irrefutable banalities.

Champions

This term’s winners of the Pink Hippo award (for the best Speed Scrabble client) were Geofrey Flores, Rubayat Hasan, Rob McWhinnie, and Clara Severino from Team Blizzard.  Congratulations!

Champions