Archive for July 5th, 2009

Pinax

Sunday, July 5th, 2009

I’ve successfully whipped up a Pinax project that only has tribes and bookmarks, and plugged in feedjack as a separate tab.

However, it appears that feedjack isn’t designed to play well with others in the Pinax style. It doesn’t use RequestContext objects on any of the views it returns, or the context processing machinery of Django at all. This means I’ll have to violate DRY and hardcode media URLs in the templates for feedjack.

Besides that, everything seems to be going smoothly. I’ll work on hardcoding the URLs for media later this week and once I get everything using the same stylesheets I’ll work on making up a new theme and CSS.

TinyPy

Sunday, July 5th, 2009

After my last talk at the local OSUG, I’ve thought of a new long-term project/topic I’d like to talk about. TinyPy. I think a talk on tinypy internals and virtual machines in general would be totally awesome.

Now the trick is that I don’t actually know much about them, so I have to go through and learn how tinypy works. To learn tinypy, I’d like to write “elucidative programming” style documentation of tinypy and cleanroom style informal proofs (expected functions, black boxes) of how it works. Definitely a large project, but I’ll start with the core and move outward from there. Since compilers are the core of computer science, I think it’ll be worthwhile. Plus I’ll get to practice using Sphinx and cleanroom re-engineering.

A vague idea I had, which probably isn’t workable, is to make tinypy such a strict subset of bigpy. The things that would primarily change would be the lack of distinction between dicts and object and some of the metaprogramming stuff. This only crossed my mind because it appeals to my sense of aesthetics.

Another crazy idea would be to experiment with type annotations and emitting C code, and eventually making tinypy self-hosting. PyPy is already doing this, but they’re a lot smarter than I am and are working on a tracing JIT, my goals would be much less ambitious. Perhaps I could build something on top of the Apache portable runtime, since that makes C more bearable.