Category archives: Snaking
Discussions of programming, particularly of programming Python
Metaclassing for fun and profit (Sometimes you get too deep)
Written by
on
in
Snaking.
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)
Written by
on
in
Snaking.
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 dad ...
Testing can be a bit of a PITA (But it does tend to make you refactor ugly old code)
Written by
on
in
Snaking.
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 to ...
And there's the cmon instance back (Only 3 levels of seperation left...)
Written by
on
in
Snaking.
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 failing scanner any more" ...
Deadlock broken (Yes, gentle readers, the deadlock is broken)
Written by
on
in
Snaking.
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 already, ...
Think it's time to declare defeat for the night (Irresistable Mikey meets immovable bug)
Written by
on
in
Snaking.
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...)
Written by
on
in
Snaking.
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 ...
How do I manage to find so many holes in PostgreSQL? (You'd think I was doing something out-of-the-ordinary)
Written by
on
in
Snaking.
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 ...
And now it's working again (Argh, debugging is hard when the debugged thing stops failing...)
Written by
on
in
Snaking.
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 things. Problem ...
Patience sparrow, trust the code (If I'd just waited it would have been a less critical error...)
Written by
on
in
Snaking.
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 the ...