November 2005 Archives
I’ve been re-looking at how to do runtime class sharing rather then the typical compile-time sharing. This started when i was implementing a proxy for class’ that you want to runtime share. So you can call methods on a class right away, even if it isn’t loaded yet.
There are several hurdles to overcome to make this work, the biggest, for me, was figuring out how to dynamically instance a class, from a string representation, at runtime.
One of the projects i’ve been slowly working on at home has gotten to a point where i’ve needed to understand the use of user generated exceptions. I have a basic understanding of how to deal with exceptions that are thrown by the Python interpreter, but i was unclear on when to define and use my own.
The following two articles, while both written for Java, have been very helpful in addressing my questions. “Exceptional practices” by Brian Goetz, and “Designing with Exceptions” by Bill Venners. They each have many links to other resources and articles, from basic “what are exceptions” questions to more advanced programme design issues. Good stuff if you are wondering when and how to use exceptions in your own software projects. Update here is a thread on c.l.p. about exceptions, which fills in the python-ness which is missing from the articles above (because they are about Java).
The c2 wiki has this to say about exceptions. Joel doesn’t like them but many people disagree with him.
This has, of course, led me off on a reading frenzy. So far, i’ve been sidetracked into reading about Design by contract and a py.test review, which is the third of three reviews of python agile testing tools. The other two reviews cover unittest and doctest.

Update I should have added that i created this avatar at the storTroopers site. Also, here is Ciara’s avatar.
I’ve moved all my del.icio.us postings over here, so they won’t clutter up peoples feed readers anymore. Since no one cares what i’m bookmarking anyway, and if they do they should just subscribe to my delicious RSS feed directly, i should have done this ages ago. Tinkering and cleaning, never enough time!
Conor watched Kiki’s Delivery Service last night, for the first time. I’m not sure how much of it he understood, but he was engrossed. Ha! Hook them early on Miyazaki, that’s what i say. None of that funny lookin’ mouse crap for Conor!
Ok, ok, i know, they are the ones that are distributing Miyazaki’s stuff, and there are good disney films, blah blah. But i still think his stuff is the best.
Conor has a cast on his leg. Not sure if its broken, or just a sprain. He is fine, no worries, he just hobbles around like a pirate with a peg-leg. Happened on Sunday, he was jumping off the couch, and landed poorly. Cried anytime he tried to put weight onto his left leg. He was fine so long as he didn’t try to walk, so we waited till the next day (Monday) to see if it would get better. Monday morning, he was able to walk on it, but only with a serious limp, so we packed him up and headed over to Sick Kids. The x-rays didn’t show a fracture, but we got a splint (looks like a cast to me) put on. He will have that for a couple of days, then they will remove it, and if he is all better, that’s the end of that. If he is still limping, they do another round of x-rays, and will put a “real” cast on him. Again, he is fine, we are fine, etc etc. Although i do feel terrible for him, having a cast at 2 1/2, and scared of what this could mean for the future… If he can get into this kind of trouble already, what could possibly be coming?!
Also, my copy of “Access All Areas” arrived on Monday, so i’m just starting to work though it. Looks good so far. I also picked up “Fury’s Hour - A (sort-of) Punk Manifesto” which i finished last night. Very enjoyable, interesting look at Punk Rock. I really enjoyed how the author, Warren Kinsella, writes, and am going to check out his other books. If you are interested in Punk at all, this is a worthwhile book to read. It is short and fun.
And lastly, comments are back on. Still getting hammered by spam, but the filters are working well.
-
This is an excerpt of a talk given at BBN Labs in Cambridge, MA, in April 2001.
-
One of the very few 3d games done in flash that “works”
-
DRM (Digital Restrictions Management) is like the anti-shoplifting scanners in stores (the ones that beep if you try to take something out the door). Really that’s about all you need to know, but I’ll just make brief note of a couple small details where t
Over the past 2 nights i’ve been working on the backup system for our home network. The hardware is a NSLU2 connected to a 250 gig hard-drive. The software side is a Python script which does 7 day rotating incremental backups to the NSLU2. This way i always have a weeks leeway, in case i over-write something important. I’ve included the script below, if anyone is interested in it.
The NSLU2 has been hacked to do much more then was originally intended. Some pretty neat stuff there, but i’m not sure i’m comfortable hacking something that i just got running as my main backup system! But the NSLU2 is cheap (~$100/CDN), so if you are looking for a simple embedded linux system, this is the way to go.
I’ve had to disable all comments for all blogs for a bit. Even with the filters in place, we are getting hit once or twice a second with a spam comment. I’m hoping that by removing (renaming) the comment script, the spam bots will, eventually, mark this site as not having a comment tool.
The comments should only be offline for a day or two, and i’ll reassess then.
Sorry!
-
The Birdy is a bike that takes folding bikes to new levels. It has suspension front and rear, a lightweight 7005 aluminium frame and the complete bike weighs between 9.2 (black) and 10.7 (blue) kilos.
-
The Mozart Programming System is an advanced development platform for intelligent, distributed applications. The system is the result of a decade of research in programming language design and implementation, constraint-based inference, distributed comput
-
Limbo is a programming language intended for applications running distributed systems on small computers.
-
MINIX 3 is a new open-source operating system designed to be highly reliable, flexible, and secure. It is based somewhat on previous versions of MINIX, but is fundamentally different in many key ways. MINIX 1 and 2 were intended as teaching tools; MINIX 3
-
Croquet is an open source development environment for creating compelling multi-user collaborative 3D visualizations and simulations.
