Friday, April 24, 2009


Welcome to Code Think.

Here, I will be chronicling some of my experiences in working on code, mostly open source code. By placing my thoughts on design and implementation in public, I hope to invite some scrutiny and constructive criticism. Ideally, some of this will also be useful to the people reading it. Finally, the blog will act as a record for future reference, so that any mistakes that are made do not get repeated.

A few topics/projects of interest, most of which are likely to get posts of their own at some point:
  • Ways to integrate Python and Vala together. There are two components to this. First, I want to assemble a toolchain for automatically exposing Vala classes as CPython extension types, possibly by taking advantage of PyBank. Second, I want to expose as much of the Python/C API itself to Vala, so that it is possible to write custom extension types with special behavior or performance characteristics in Vala.
  • Working on Concordance XMPP, which I want to see enhanced to the point where it will perform as a basis for an Atom over XMPP Pubsub implementation, among other neat things.
  • Playing with the Strophe JavaScript XMPP client library. There is potential for this to act as the base for some zero-configuration-required dynamic web application stuff, but only if it can do anonymous XMPP login and uses the XHR-via-IFRAME trick or some BOSH session multiplexing magic to allow browsers with small per-domain connection limits to have many tabs/windows open.
All three of the above are vaguely foundational in nature. Until such time as I have useful implementations running, I'll leave it as an exercise for the reader to determine what they might be foundations for.