Author archives: Mike

RSS feed of Mike

Django JQuery File Upload

I'm sure there must be a really nice packaging of this, but so far all I've found is example projects that don't quite do what I'd want... so here's the basic setup; you have a Django model with File fields that you want to convert to using JQuery File Upload.  For now, we'll assume you ...

Continue reading

Build PIL on a custom Python2.6 on recent Ubuntu

If you need PIL in your custom Python 2.6 build (your build needs to be custom if you want to target LTS Ubuntu Server's default Python while working on a more recent Ubuntu), you will likely find your PIL build doesn't work (because, of course, you have a 64-bit build of Ubuntu and the libraries ...

Continue reading

First Lessons in Programming, Software Carpentry Review

As mentioned a few times, Matt Davis and I taught the Python section of the Software Carpentry Boot Camp this past week.  Overall the experience was positive.  We had approximately 4 (stretched to 5) hours, and developed our own curriculum with a fairly strong narrative.  Almost every exercise focused on a task, taking a CSV ...

Continue reading

Software Carpentry Collaboration

Matt Davis and I are going to teach the Software Carpentry session on Python tomorrow at University of Toronto.  Pretty happy with how the collaboration worked so far.  We loaded a bzr repository into Dropbox then both branched the (local) repository, pushing, rebasing etc on our file:/// urls.  We got pretty-much instance notices when things ...

Continue reading

Green Fields are Fun!

Sitting down and playing with "what needs to be in the box" for OpenGLContext 3.0 (the most boring working title I can come up with). Time constraints suggest I'll have to do a migration rather than a re-implementation, so the name is probably apt.  The GUI-library integration is fine, the scenegraph engine, node-paths, matrix calculation, ...

Continue reading

Phenomenal Enterprise-Grade Messaging: Itty Bitty Message Size

(Read that in Robin Williams' Genie Voice) A project I used to work on has been informed by certain rabbit-mq types that they should not send messages > 15KB on a RabbitMQ server because it would "chew up all the subscription threads and limit throughput"... which... wow, dropped off a robustness/scalability/credibility cliff there.

Planning to use Numpy Structured Data Types

One of the things I'd like to have for a revised OpenGLContext/scenegraph API is a nice, efficient, friendly, mechanism for processing buffer data.  I currently tend to follow VRML97's OpenGL 1.1-style array model, which is very dated these days. Each component of a vertex is separated out into position, normal, and textureCoordinate arrays and the ...

Continue reading

Corner cases do crop up, don't they?

So I've been playing with cutting down OpenGLContext into something like a modern scenegraph engine.  The first step there is to eliminate the old tree-traversal rendering mechanism, as the "flat" rendering engine is both simpler and much more easily optimized.  No big problem, really.  A lot of OpenGLContext's demos/tests just ran with only minimal changes, ...

Continue reading

Want to display MathML? MathJax

We have lots of MathML from the DocBook manuals for PyOpenGL.  The latest versions of the manuals are now using MathJax to provide rendering of the matrices, equations, etceteras (see, for example, the glRotate manual page).  We've previously had to tell people to update/replace their browser or install a MathML-specific plugin.  This solution will (hopefully) ...

Continue reading

pip install --link-system?

Just ran into the little wonder that is "pip install PIL", which results in a useless PIL (i.e. one without JPEG, PNG or TrueType support, but which imports, so doesn't trigger the "I don't have PIL code paths").  There's other cases with e.g. PostgreSQL drivers, or complex GUI libraries, where if you don't happen to ...

Continue reading