Category archives: Snaking

Discussions of programming, particularly of programming Python RSS

RSS feed of Snaking

Metaclassing for fun and profit (Sometimes you get too deep)


The computer is basically rebuilt. Spent 3 or 4 hours on mechanism to mock up entire SNMP plants, then switched to doing the metaclass presentation. The presentation is going well. Working out kinks in the original, expanding more on what "meta-programming" is, with far more detail on use-cases for metaclasses as examples of meta-programming.

Yay new toy! (Well, just a hard-disk, but important nonetheless)


Ken dropped off the hard-disk a few minutes ago. Suppose I should start planning how to move over to using it. However, for now, work on creating a full-plant simulator in TwistedSNMP. Then track down why we hang with > 3500 modems on a single CMTS, then do something about tomorrow's visit by mom and ...

Continue reading

Testing can be a bit of a PITA (But it does tend to make you refactor ugly old code)


So, how does one test an entire Cable Plant with 7000 modems where the need is to test, not a few modems, but interactions with the entire system, when the system itself can't (obviously) be put into a given state at will (and, in fact, will never get back to the state you need ...

Continue reading

And there's the cmon instance back (Only 3 levels of seperation left...)


For some brain-dead reason the zopectl script doesn't take the parent environment's PYTHONPATH for the loaded Zope. Result is that the code was using the old version of the code with the new version of the database. Nice to have movement again. Though now I'm back to the "don't have the ...

Continue reading

Deadlock broken (Yes, gentle readers, the deadlock is broken)


Finally managed to convince PostgreSQL to import an older version of the database, so I'm now working through various minor glitches (version mismatches) on my way to actually being able to determine whether the old scanner really is hosed... you know, that sounds dumb even to me. I mean, I knew it was hosed ...

Continue reading

Think it's time to declare defeat for the night (Irresistable Mikey meets immovable bug)


I'm getting precisely nowhere with this, and the cycle of attempts is so long it's silly. There's obviously something hosed on my machine, or a bug in PostgreSQL itself. Either way, I'm not going to fix it by continually installing, wiping the database and attempting to load it.

PyTable Release while I'm screaming (Upgrading and importing, and crashing and importing, and throwing machine out window...)


Well, since the absolutely newest code needs a new feature of PyTable I decided to do a release while I was waiting. Mostly this just makes working with the DBRow objects a little more intuitive. Setting a field to NULL deletes the value, and setting a foreign-key field to a DBRow instance tries to find ...

Continue reading

How do I manage to find so many holes in PostgreSQL? (You'd think I was doing something out-of-the-ordinary)


Am I just abusing this poor little PostgreSQL installation on Win32? Is it just the flaky disks? I mean, infinite running time for a simple select * from table and some freaky error with clogs getting started, remembered, but not retained... you don't really hear about this being the normal experience of PostgreSQL users. Of ...

Continue reading

And now it's working again (Argh, debugging is hard when the debugged thing stops failing...)


Looks as though they've continued migrating modems off the old CMTS, so cmon has dropped below whatever magical threshold was causing the weirdness with PostgreSQL. I really do need to get TwistedSNMP to the level where it can simulate an entire Cable plant if I'm going to be able to properly debug these ...

Continue reading

Patience sparrow, trust the code (If I'd just waited it would have been a less critical error...)


I'd forgotten that the manager process actually terminates hung scanning processes after a given period. Doesn't help with fixing the bug, but does at least mean the scanner can keep scanning everything else... though with a multi-hour glottal stop in the middle :( . The real thing it proves is that it's just scanning ...

Continue reading