opinions and rants on software and...things
July 22, 2008
I'm utterly thrilled to discover that a Chinese technology blogger has written a post about taggable-mixin. I know that my enthusiasm utterly betrays my naivete and general uninvolvement with open source software, but please, indulge me. This experience is made a little special for me by seeing that someone has written a helpful expository article about software that I wrote, and she's from a part of the world that I have never been to. Very cool.
Many thanks to you, antlite! Life, Love and Dream!
June 21, 2008
Although nobody ever visits this blog, I'm going to pretend that I have a bevy of faithful readers for this post, so I can proudly announce that the site has undergone a cosmetic makeover and has benefited from some bugfixing.
I think that the new, purply-dark-pastel thing is much easier on the eyes than the old psychedelic orange look-and-feel. It feels cool against my eye balls rather than stabbing and searing hot. That's a nice sensation. Also, there a several largely-invisible bug fixes. The About link at the very bottom now functions correctly.
The fact that the About link was previously broken brings up an important subtlety about coding for Google AppEngine on a Windows machine, as I do. It seems that whatever flavor of UNIX (or is it Plan 9? I read about it, but forgot) that AppEngine runs on has a filesystem that treats case significantly; about.html and About.html are two different files. To Windows, however, they are the same file. When my application went looking for About.html in my development, it found about.html, and it was happy, but when AppEngine went looking for About.html, it wasn't going to settle ...
read moreMay 22, 2008
I have just packaged up a bit of the code that is part of this blog, the part that manages tags, and released it as a Google Code-hosted open source project: taggable-mixin.
Taggable is a Python mixin class that can be added to any AppEngine Model class to give it the ability to have tags associated with it. It does so without modifying the Model itself; the tags are stored in a completely separate Model of their own, and they are associated by Key. The tags are managed efficiently, so they are never duplicated. A single tag instance can be associated with any number of different model instances.
I think that it is a pretty neat, clean and compact solution to the problem of tagging. I'm very much looking forward to getting feedback from my fellow AppEngine developers, as I am still a relative newbie to Python. I have learned a great deal about it since I began working with AppEngine, but I am hardly a veteran coder, familiar with Python idioms and such. I also want this to be as valuable a contribution to the community as it can be, but unless I hear back from those using ...
read more