Category archives: Snaking
Discussions of programming, particularly of programming Python
Very productive day (Major feature finished for 2.0)
Written by
on
in
Snaking.
Spent the bulk of the day on two projects. The first was eliminating stalls in the scanning process where the scanner is processing huge numbers of modems. Previously I was using a batching mechanism (actually, multiple batching mechanisms) that was (were) rather fragile and required lots of testing for each mechanism.
Started off looking for ...!-->!-->
PyCon audio is up (Not as bad as I'd feared, not as good as I'd been told...)
Written by
on
in
Snaking.
The audio recording for my PyCon 2005 talk is available now. The pre-slides-coming-back stuff wasn't as bad as I'd feared, in fact, I prefer it to the stuff after the slides appearing, especially as there's a lot of dead air where I'm wrestling with the computer rather than talking to the audience.
There's nothing recorded ...!-->!-->
Mmm ctypes goodness and chocolate (Shane gave me dark-chocolate raspberries!)
Written by
on
in
Snaking.
So, after everyone left I went back to work on the ctypes version of PyOpenGL. Finished the pointer-setting functions, mostly just a matter of generalising the code so that it creates all of the various permutations for the Pythonic wrappers.
Then I started in on making the API look like the original, so importing everything ...!-->!-->
Rework all of the tests? (Or try to make it work...)
Written by
on
in
Snaking.
So, it turns out that Twisted has some serious problems related to starting and stopping the reactor multiple times during a run, which is, of course, what we do all the time when doing test-driven development in the "normal" (twisted.trial-like) style.
Have just spent more than 2 hours trying to build something that would let ...!-->!-->
Was that really only 5 functions? (Hope the rest of it is not this slow...)
Written by
on
in
Snaking.
Began work on creating wrappers for ctypes that work approximately the same as the ones planned for the 3.0 release (though written in Python, rather than C). Basically each function that needs array processing gets a number of annotations with callable objects. Those callable objects will eventually be written in C (for the performance critical ...
Hmm, first comment spam invades (Guess I'll have to put something in to stop that...)
Written by
on
in
Snaking.
Wouldn't it be nice if we could just issue network-death-penalties for comment spammers? Of course, then the spammers would start using it as a DOS technique, or even an extortion technique. Blah.
[Later] Doesn't look as though CoreBlog has anything to use for eliminating the spam other than turning on comment-moderation. Really don't like doing ...!-->!-->
Long day's hacking (Forgot how fast the time goes when listening to lectures as I work...)
Written by
on
in
Snaking,
Tuxedo.
I've only recently fixed the sound on my machine so that I can reliably play sound files without requiring a reboot before I start MythTV. So far I've been listening to music, but today I decided to pick up with one of the lecture series to which I'd stopped listening just a few chapters in. ...
Long day's typing (Post-meeting discussions on twisted-list)
Written by
on
in
Snaking.
Had a mite of trouble debugging a small Twisted app this afternoon. Spent most of the afternoon and evening discussing that trouble with the Twisted folks. My hands are pretty much chutneyed at this point. Think I need to take a break and relax.
I should write now (But I feel like sleeping instead)
Written by
on
in
Design Theory,
Snaking.
Switched over to the development branch today for testing. Went fairly well, just a few bugs that crept up due to differences between the test framework and the real system. Pretty good considering it's an entirely new CMTS and Modem type being added to the system.
I should take an hour or two to write. ...!-->!-->
No, it really was that subtle (Moreso than I'd thought...)
Written by
on
in
Snaking.
Turns out the device-view bug was one of those situations where procedural thinking and event-driven thinking were being applied separately and resulting in a collision.
(More detail than anyone cares about...)
Modems go out and find their identity, then send a message telling the rest of the world about their identity. CMTSs ask each modem ...!-->!-->!-->!-->