Category archives: Snaking
Discussions of programming, particularly of programming Python
os.write() can hang, apparently
Written by
on
in
Snaking.
Wound up spending the whole afternoon tracking down an "only happens in production" bug where a sub-process would just hang, but only when big chunks of data were involved. Seems that os.write() was trying to write more than the target pipe could handle, so was winding up blocking. To tired to actually confirm that tonight, but ...
Started on Win32 for PyOpenGL
Written by
on
in
Snaking.
Booted into Windows to get the PyOpenGL xml-generation branch started on extension management. So far not working, as the extension querying mechanism (which is itself an extension) doesn't show up with wglGetProcAddress. Annoying thing is that it *did* show up while debugging once, but not since then. I'll likely find a few more bugs once ...
Integrated Graphics Really Does Suck
Written by
on
in
Snaking,
Tuxedo.
So apparently I forgot to re-install the fglrx driver after updating my laptop to Kubuntu 13.10. So as I've been testing PyOpenGL I've been amazed by how cr*ppy the GL performance has been, and I kept running into "this doesn't work at all" bugs for newer features. It did make me actually look at what ...
So Far the Nexus 5 is a Nice Step Up
Written by
on
in
Snaking.
My youngest threw my (ancient) Motorola Milestone (Android 2.1 era phone) across the room onto a tile floor. Amazingly, the phone still worked, and I've been using it broken for a while now. I almost talked myself into just keeping it, as after all, a few minor cuts on the finger-tip from broken glass don't ...
Testing a Fresh Checkout Encounters Errors
Written by
on
in
Snaking.
So it turns out that the xml-generation branch for PyOpenGL was entirely broken. I'd cleaned up a module (OpenGL/constants.py) that shouldn't have been necessary any more, as the types and constants were moved into the OpenGL/raw/GL hierarchy. Oops, turns out that everything imports that module. Spent a ridiculous amount of time fixing that (i.e. making ...
PyOpenGL from spec almost there
Written by
on
in
Snaking.
Was stuck with no internet today, so the world gets a bit of work done on PyOpenGL...
So the branch in which PyOpenGL is generated directly from the Khronos API specification (xml) documents is almost workable. There are a lot of (internal) changes, particularly the OpenGL/raw APIs are pretty heavily rewritten, and I've landed a ...
Bit more forward motion on PyOpenGL-from-spec
Written by
on
in
Snaking.
The spec-xml-generated wrappers are getting pretty close, only the glGet constant handling is preventing the test_core suite from passing, and I want to rework that to use the spec's enum groupings to provide better coverage of those and be able to flag missing GET enum specs on generation. Haven't started into GLX/EGL/WGL etc yet, just ...
Moving forward with PyOpenGL XML Generation
Written by
on
in
Snaking.
So I finally (with some prompting) sat down to create a code-generator based on the Khronos specification xml documents (the things that khronos uses to generate the official OpenGL (GL and GLES), EGL, GLX, and WGL headers. Originally I was trying to use Khronos own generator code, but in the end I just wound up ...
Multicast and Performance Binds
Written by
on
in
Snaking.
Networking fun this week.
The big nasty that bit me was that a .bind( ('',port) ) on a multicast socket will get all packets sent to any local socket listening to that port, even if this socket has not registered membership in the group. So if you have two capture processes, each trying to listen ...
My Raspberry Pis Seem Cursed
Written by
on
in
Snaking,
Tuxedo.
I've lost track of how many SD cards I've lost now. No one I talk to seems to have these issues.
Today I lost another one, this one because it was physically broken, that is, the whole front corner of the card was broken off, so it no longer hits the little spring that indicates ...