Engineering and re-engineering over the long weekend.

Aug 31, 2008

If you normally browse my website directly (i.e., not using an RSS feed aggregator of some kind) you'll see that I made some major changes to the front page late last night. For the past couple of days I've been profiling load times and such like, and discovered that I could improve the code and structure markedly with some changes. I've been using the Firebug and YSlow plugins to see where the bottlenecks were, and as a result I removed a half-dozen or so badges from weblog directories that did little else but add to the page loading time. I also restructured the links along the sidebar so that it was better organized and put the useful bits near the top and the archives at the bottom, which flows better visually I think. The Delicious links are rather incongruous; I'll figure out what to do with them later.

The tag cloud? Had to go. It kept trapping search engines.

Yesterday afternoon the folks down at HacDC had a free afternoon class on Python, an object-oriented scripting language on just about every platform you could care to mention. Just as was said in XKCD, it really is that easy. Because you don't have to worry nearly as much about variable typing (even less so than in Perl) and it does a lot of heavy lifting (like error detection and handling). I also very much like the fact that it's mature enough that people are writing whole applications in it. For example, many Gnome apps.

Note to self: Clear my next project with $boss before starting on it. After class was over Timball and I sat down to start working on the VOIP PBX for the HacDC space. Of all the things we've got at the site, the one thing we don't have is a working telephone, oddly enough. However, we do have a working DSL line (go figure) and probably one or two dozen phones (including a payphone.. don't ask) that can be used. A couple of weeks ago, Elliot, one of the members of HacDC, was injured when we sent him out to pick up dinner for everyone, and he didn't have any way of contacting anyone for help. We found out hours later when he was already at the hospital being treated for a broken hand.

Elliot's up and around, now, but his hand's immobilized and is held together by a couple of surgical steel pins.

The basic plan is this: We have a server running Ubuntu Linux running in the HacDC loft that's hooked into the LAN with a length of CAT-5 cable. We have a DSL line providing net.access to the loft. We can get ATAs (Analog Terminal Adaptors) to connect regular telephones to the LAN. We can hack the payphone to turn it into a regular telephone and set it up in the loft so that it can recieve calls from the outside. The trick will be setting up calls from the outside. I think that if we ask the Telephreak project nicely, they'll set us up an extension or possibly even a phone number that anyone can dial to contact the HacDC loft.

Because Ubuntu is a Debian derivative, it was simple to download and install Asterisk, an open source VOIP PBX/switch/voicemail system/framework for interesting hacks. Working from the starfish book (full text legally downloadable as a .pdf), I wrote a simple dialplan that set up three extensions for software phones (one on Windbringer, one on Timball's iBook, and one on the Ubuntu box) which allowed us to call each other. It worked, so our proof of concept system is in place, so now we need to get a real phone set up in the space for the next phase.

Timball and I went out to dinner at a little el Salvadorian restaurant not too far away from St. Stephen's called Justine's. It's a hole in the wall, literally: Think of your grandmother setting up the dining room in the basement and you won't be too far off. The food there is all made on-site: from the rice to the (incredibly hot) jalapeno/habanero hot sauce to the pounded chicken to the tortillas the tacos are served on, it was made in the kitchen just a few minutes before. There's a bit of a wait but it's worth it. I had the beef taco/papusa combo platter there; I don't recall what Timball had. I can say authoritatively that the food was really good. I'm not a fan of diced, grilled beef - just ask Lyssa, who orders the steak when we go out to eat while I order the salad - but I thoroughly enjoyed it.

Total time to set up the PBX: one hour.

I got up this morning around 1030 EST5EDT; Laurelinde came over, and the three of us went out to lunch at Amphora late this morning. We got home a few minutes after Jason arrived because the three of us were headed for the Eastern Market of DC, while Laurelinde was headed for home to work on a couple of things. I plugged my GPS unit into the TARDIS and we set off for downtown DC and Capital Hill Books, a bookstore specializing in rare books, first editions, and unusual texts.

Sounds ominous, doesn't it? It isn't. Capital Hill Books is built in what used to be a house, which is packed floor to ceiling in most every room (even the bathroom, though there are shelves of books for sale in there, too), on all three floors (even the basement). It's incredibly claustrophobic in there, also; Jason and I had a difficult time navigating in there because the walkways and stairways are so small. It's very difficult to find what you need in there because you'll have to hunt for the right set of shelves and then you'll have to pull piles of books off the shelves to look at the books behind them. Usually, books are stuffed three layers deep on the shelves, so be sure to have a lot of time to spend looking and perservere. If the book you need is there, you'll probably find it. If you're going to just browse the stacks, you'll be overwhelmed.

We didn't see a lot of the western market, though we did visit a large flea market inside the fence just past the bookseller's. There, we found everything from books to CDs, from comic books to Tibetan artwork, from designer knockoffs to a working antique radio, vacuum tubes and all, and running on a car battery, if you can believe it.

Lyssa and Jason had lunch at a little cafe' called Bread and Chocolate, on the edge of the Eastern Market. I'd had lunch kind of late, so I wasn't really hungry, but I have it on two good authorities that the French dip and crepes are excellent.