Category archives: Snaking

Discussions of programming, particularly of programming Python

RSS feed of Snaking

TwistedSNMP 0.3.12 released (Latency improvements, first public release of the PySNMP-v4 compatability code)


I've just released version 0.3.12 of TwistedSNMP, I didn't call it 0.4 mostly because the PySNMP-v4 code isn't yet usable (the PySNMP-v4 engine is just too slow to be useful in our applications). The changes to the version that uses v3.5+ are those mentioned earlier this week that reduce the latency during integration of ...

Continue reading

Mmm latency reduction... (Trading raw performance for scalability and responsiveness)


I've been working on extending the latency improvements from a few days ago throughout Cinemon. Some of the latency improvements are going into TwistedSNMP. I'm considering adding the parallel.py module to TwistedSNMP as well. The newest incarnation is very useful when you want to break up operations in a Twisted application which, though not "blocking" ...

Continue reading

Passable talk (Should have prepared more...)


PyGTA went well, not a huge crowd, but 16 or 17 I suppose. Took far longer than I'd hoped to get through the background material (some people had never heard of Asterisk before). I also forgot (stupidly) that the call-duration-callback demo only works locally. Oops.

I'll upload the final version of the slides next time ...

Continue reading

Connection decides to take a vacation (So much for demoing tomorrow...)


The VoIP connection from our service provider over the internet to my little Asterisk development box has decided it doesn't want to work any more... well, it "works" in the sense that it connects, but the call breaks up too much to transmit DTMF reliably, which makes demoing somewhat difficult.

Now would be a great ...

Continue reading

Comment spammers suck rocks (But I built a mass-comment manager in response...)


As some of you may have noticed, some low-life comment spammers have been trashing the comments here all day. So, I created a view that reduces the work of removing a comment down to a single click (three if I'm not sure the comment is spam) from 8 or 9 with the default CoreBlog install ...

Continue reading

Better parallel iteration for Twisted (Annoying to discover the problem is something so simple...)


I spent a solid 7 hours this afternoon/evening working on Cinemon. Over the last few days I've left the live system running with the code that traps blocks, and it had identified the two places where unreasonably long blocks were occuring.

The second of those two is the one that's been causing problems on the ...

Continue reading

Maybe a signal-based timeout watcher should be in every Twisted app (Just a little something to log any uncaught blocking...)


Very long day today. Some template rework on the VoIP project. Lots of debugging on Cinemon to try to catch a hanging condition. Eventually decided to use the trick from James Knight to track down every blocking operation in the application.

So far only found one block of 5s or more; the point where the ...

Continue reading

Shidan suggests a predictive dialer app (Doesn't seem hard, but is it what I want to do...)


Shidan was mentioning that they might be interested in a predictive dialer application. It's a fairly straightforward system, you have a statistical algorithm that tries to predict how many operators will become free over the next X seconds (taking currently length of each call into account), another algorithm figures out how many connections will go ...

Continue reading

Those features you just want to avoid (Impedence mismatch is a powerful disincentive...)


I've been avoiding one of the features on the todo list for the VoIP project for quite a while, mostly because it seemed poorly defined and not particularly useful. Decided to just go ahead and bash through it yesterday. Still not finished, but the poorly defined part is done, the rest is just figuring out ...

Continue reading