Monthly Archives: July 2008


Letters and cases

I was just looking at a travel itinerary sent through email, and it reminded me of something. There has been a great failure in the computing profession.

I’m a computing professional myself, so I feel some responsibility to repair this failure, and if my blog does nothing else, I’d love it if I could just get more awareness of this one particular issue. I feel the need to inform people in all walks of life of this one fact: computers can store and display letters in cases other than ‘upper’. Among the other cases that can be used in computer-mediated communication is the case ‘lower’. Just incorporating that one additional case into your repertoire would take us all a nice little step toward a better world.

Hmmm, maybe I should make a short slogan out of this concept to sort of help the meme spread. Let’s see…:

“Use lower case (in your computer-mediated communications, whether you are a computing professional yourself incorporating human-visible text into your software, displays, software configurations, error messages, etc., or whether you are someone who is directly or indirectly responsible for forming specifications for projects wherein the aforementioned computing professionals are presenting human-visible text on your behalf)!”


Serendipity’s fun

I like it when random things collide in an engaging way. I stopped “Blade Runner” in the middle to browse the web (yeah, I’m prone to random shuffling of activities), and found an interesting article on vagueness through a link on’s ‘recent’ list (which I’ve talked about before). The two come together nicely.

I also like the fact that I’m reading a paper from the world of sociology and it’s actually making some sense. OK, sorry, it’s from the world of “dynamic, critical interdisciplinary research at the interface of cultural geography, sociology, cultural studies, architectural theory, ethnography, communications, urban studies, environmental studies and discourse analysis”, as the journal’s ‘about’ page says.


Open source skillset

It’s interesting how one develops a different group of skills to work with open source elements that with closed source ones. ‘course, the skillset change is also related to the availability of the web and search engines, which are resources of inestimable value to software developers whether or not they’re working with open source elements.

Today I was investigating a problem with PyAMF, getting an exception that says “Unknown command operation 12”. In the old days, had PyAMF been closed source and the web not been what it is today, I’d have been forced to do the BBPD (Black Box Probe Dance). I’d have looked in the official docs, seen nothing of any help, so I’d spend the day messing with the context of the problem until I got some different results that eventually led me to understand the basic shape of the offending turd somewhere inside there. Then I’d devise a workaround (because there’s never time or money or vendor enough to get proper support from the library vendor), which in this case would probably be in the form of some sort of proxy class that would drop the incoming message before it got into the library (i.e. a turd shredder).

In the new days, I did the RFTS loop (Read, Fiddle, Test, Search). I searched for “Unknown command operation 12”, found only dead ends, found the line in the PyAMF code where the exception was coming from, read enough of the context to try a hack to basically ignore the operation, saw that that removed the exception, found the list of operations in the code, saw that 12 was not in it, searched for the text name of one that was in the list, found Adobe’s Flex 2 docs, discovered the list of names/numbers in Adobe’s docs matched those in PyAMF, hacked the doc URL to get the Flex 3 version, saw that DISCONNECT_OPERATION/12 was added for Flex 3, searched for “pyamf disconnect_operation”, saw that there was a patch to PyAMF for this problem and that it was equivalent to my hack, applied the patch so as to match PyAMF’s official code, and checked in the change to our repo.

It’s a very different process, very interesting to develop.

FYI, if you came to this page because you got “Unknown command operation 12”, try applying the patch.