Category archives: Snaking

Discussions of programming, particularly of programming Python

RSS feed of Snaking

Need to speed up PySNMP 3.5.x (PySNMP-se (let alone PySNMP) is still too slow...)


In one of those cases where I'm too clever for my own good, I coded Cinemon to automatically back off from SNMP v2c to SNMP v1 when there were timeouts with the v2c software. The problem is that with v2c I get timeouts all the time due to the rather slow processing of the (large) ...

Continue reading

Minor TwistedSNMP release is up (0.3.13)


This release just adds an errback so that failures during tabular-retrieval message integration (which shouldn't, but apparently can, occur) will cause the overall table retrieval to raise the error (instead of reporting an uncaught exception). You can get it from the TwistedSNMP homepage, as normal.

Why isn't the inclusion of ctypes the biggest news in 2.5? (I would be sleeping, but the poor little project stared at me with its big brown eyes...)


Did well over a full day's work on Cinemon yesterday, another full day today, but when I was wrapping up today I figured I really did need to get some work done on the VoIP project. So here I am, hours later, with a bit of a caffeine buzz.

Did anyone else note that the ...

Continue reading

Cleaning up the history of a project (Things you need to do on really long-running projects...)


I spent much of yesterday (when I wasn't trying to recover from multiple caffeine-driven nights this week and last) working on code cleanup for Cinemon. Cinemon is a rather old project, having had 3 or 4 major revisions (despite the 2.0 version number). The current code-base started off as a spike test to rewrite the ...

Continue reading

Dratted memory leak appears (Haven't figured out how yet...)


We have a line-of-last-defense script that monitors a Cinemon server for failures/performance problems and kills/restarts the server if problems are detected. It's been running perfectly well for months upon months on multiple machines, but somehow it's started leaking memory on one (production-but-running-CVS-head) machine.

It's a ridiculously simple script (intentionally). It just retrieves a page using ...

Continue reading

Why does accounting software lead to mental gridlock? (When money is involved with poorly-defined operations things go all to heck...)


Having one of those headache-inducing days. Adding "unlisted number" features to the VoIP billing system. It's a common situation in accounting software; an event occurs at some unknown time (exporting the values for the telephone book), at some other (known) time, the user may change whether they want the feature or not for "a month", ...

Continue reading

New features a springing (But I managed to break an older one...)


I've now implemented a fairly nice feature (read it costs you $10,000 as a stand-alone product from other companies) for Cinemon, namely being able to see the last 14 days of graphed upstream channel signal-quality and transfer history (about 10,000 data-points per channel per property with 5 properties). We've had limited (one or two day) ...

Continue reading

Beginnings of work on the Win32 port for OpenGL-ctypes (Unfortunately, can't check the changes into SourceForge)


Did some more work on profiling. Tried specialising each version of the wrapper call method. It's ever so slightly faster, but it's still ~60% overhead above the calls it makes.

Then borrowed Rosey's laptop to work on the Win32 port. A few of the functions are working, but basically anything that uses an array is ...

Continue reading

Categorising OpenGL-ctypes performance (Category: pretty good)


Have been playing with profiles (using RunSnakeRun) of some OpenGLContext VRML viewer runs on real-world-ish worlds. There are a few big hotspots in the OpenGL-ctypes layer:

* wrapper.Wrapper.__call__ — as expected, this is very heavy, as it's doing basically the same work as SWIG does statically at run time. May try choosing specialised versions ...

Continue reading

Tweaks to the laptop configuration (And the glories of graph layout)


This was one of those days where I get to the end of the day and wonder where all the time went. There was an hour or two that disappeared in a meeting, and some little bits of billable time here and there, but mostly I spent the day testing and checking and correcting things ...

Continue reading