Category archives: Snaking

Discussions of programming, particularly of programming Python

RSS feed of Snaking

2Day Python (Our Tutorial for Software Carpentry)

Went to the Ladies Learning Code Python session dry run this evening and it reminded me that we never got the Software Carpentry tutorial up.  It's now available for live reading at:

http://readthedocs.org/docs/2daypython/

and you can branch and alter/adapt the source (in restructured text) as you wish using:

bzr branch lp:2daypython

One thing that seemed ...

Continue reading

Announcing the Fussy Firmware Packager

As mentioned a while ago, I was looking for a firmware packager that would allow for "user uploads a signed bundle" style upgrades for hardware devices.  Esky is similar (even a similar on-disk layout), but focused on cross-platform and distutils-based "application" setup.  Fussy is intended for "core of a system" setups, where the entire user ...

Continue reading

Libraries Exposing 8-bit Binary Strings to Python 3, Best Practice?

Query came up on PyOpenGL-dev this morning about how to handle GLchar pointer arguments.  These are binary-specified arguments, they are human-readable text *most* of the time, ascii source-code and identifiers, that kind of thing, but nothing about GLchar pointer requires that they be ascii.  They *are* 8-bit character strings (that's what GLchar pointer means).

But ...

Continue reading

Firmware Upgrade Module?

I'm wondering if this package exists, preferably in Python (well, I *know* it exists, as I wrote it for a commercial project, and can't use it any more.  I'm hoping there's an Open Source version I can enhance for future use):

  • bundle a .tar.gz (signed, optionally encrypted) for delivery to embedded platforms
  • on platform, decrypt ...

Continue reading

Research in Action 2012

Spent the afternoon at Research in Action (at University of Toronto).  Highlights:

  • big classical (i.e. right out of the textbook) neural network used for road detection in satellite imagery; okay results, huge amounts of computing power involved; not sure it's really all that much better than a hand-coded solution, but it did seem to work ...

Continue reading

Make your nginx-proxied Django site detect SSL (HTTPS)

One of the nice new features in Django 1.4 is that it allows you to (easily) detect an upstream server's use of ssl using request.is_secure().  This means that your nginx configuration can use http or https on the same server and your Django site can detect it.  The magic is accomplished by *always* setting a ...

Continue reading

Any LibreOffice/OpenOffice/PyUno Gurus in the House?

I'm trying to code up a service that needs to auto-play presentations (mostly Powerpoint).  Users (who may not be at all technically savvy) need to be able to upload the files and have them advance regardless of whether they have properly specified auto-play settings (if they *have* set the advance properly, we want to respect ...

Continue reading

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