21 Dec 2000 dhd   » (Master)

"Bell Atlantic is now Verizon", and they finally managed to install my loop, and I have DSL. I haven't had this kind of connectivity at home for ... probably the better part of a year now. Of course I have to abuse it for a little while ;-)

Napster seems to be marginally useful, so unfortunately I'm not ready to Burn All MP3s yet (though I've been steadily amassing Ogg Vorbis files of my vinyl/CD collection). I found the (fairly common but out of print) GISM bootleg CD whose name escapes me (with the tracks from "Detestation" and "M.A.N." on it) as well as the recent INFEST bootleg and of course the usual assortment of hard-to-find satanic heavy metal. Sounds like the new Catharsis album is rather good too, guess I'll have to buy it (being lame, I missed not one, but two shows on their tour ... one in Ottawa before I moved, then one in Pittsburgh after. Doh!)

Lots more Perl and XS hacking (fun) and some C (not as fun) at work. I'd forgotten how time consuming and aggravating it is to write networking and text-munging code (i.e. for text based network protocols) in C. But Perl and asynchronous I/O don't play nicely, and though POE is pretty awesome, it adds a lot of latency to the system which the telephony junk proved unable to cope with.

That said, I am rather proud of the design of the telephony server I've written to get around this problem. To satisfy the petulant telephony device it uses an async-I/O core driven by realtime signals (of course, I had to hack the driver to do proper siginfo based notification ...) then layers a single-threaded server on top of that to talk to clients and queue and dequeue events and data. Single threaded servers are good, people! Don't believe the hype!

It's unfortunate that AsteriskPBX is so keen on using threads for everything (grr), because otherwise we'd just use it since it already has exactly the architecture and hardware support we need.

Looks like sourceforge were moving when I had issues with them. So maybe I should edit out the comments below.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!