11|08 Big drink phone client

I've been playing with Asterisk for a few days and decided to write a dialplan that allows CSH members to drop drinks via any telephone in the world. To use the phone client, you need to get a PIN number for your CSH account. Once that's done, simply call (360) 469-0196 and follow the hideously robotic sounding prompts.

How it works: You pick up a phone and dial the 360 number, the call is routed to IPKall, a DID provider in Washington State. The IPKall switch (probably running Asterisk) looks up the number you called in their database and associates it with a SIP server. IPKall connects to my virtual machine running Asterisk on CSH using SIP.

Asterisk throws you in the inbound context, followed by the drink context when you press '1'. It reads a six digit pin number from you and passes it off to a Python script running under AGI for authentication. The Python script checks the pin number database and returns the result to Asterisk.

Once the user is authenticated, the list of all drinks in Big Drink are read back to the user using Festival, an open source text-to-speech engine. Once you've selected a drink, the extension number is passed to another AGI script that talks to Drink with the Sunday Protocol and drops your drink. If any errors are sent back from the server, they are spoken to the user via Festival.

It's not a perfect system. Currently, usernames and passwords must be stored as plaintext in the database. When we get the new LDAP server running, the PIN will be associated with the user in LDAP and I won't ever have access to the usernames and passwords. For now, all users are trusting me not to look at the data. I have no need to steal anybody's drink money, that's not cool.

11|07 Finished moving

I've finished tweaking the theme, archiving the old site, and installing all sorts of administrative goodies (mint) in order to get things underway. My old blog has been relocated although I was not able to get the old posts imported successfully.

Way back when I first started blogging, WordPress, TypePad and all these other fun publishing systems didn't exist. It was LiveJournal or bust. Being that I had just learned PHP, I wrote my own blog in PHP with a fairly simple backend using XML files for storage.

Over the years, I've iterated through a number of different handbuilt blog systems built in PHP, Python, and Bash. Sadly, I'm not able to keep up with all of the latest Web 2.0 trends anymore. On the bright side, things have progressed a bit since LiveJournal, and I was able to get WordPress running with very little trouble.

Now, back to the point of the story... Years ago when I wrote that first XML based blog, I didn't know much about proper data storage and showed no regard for date and time formatting. I've been able to adapt every blog I've had since then to be able to work with that ugly format, but WordPress just wasn't able to grok it.

In theory, I could write a script to convert all of the timestamps to a common format and output to a more standard convention, but I didn't keep with the same formatting rules through the different blog systems so some posts have different formats than others. I've decided that its best to just leave those posts behind in a world of non-compliant data entry and am moving toward a standards based world.

So, that's the long winded reason you don't see an archive of three years of posts behind this one. I hope to make up for it by adding lots of interesting and useful content here.

To kick off this new blog, I've been working on an implementation of Conway's Game of Life in ASCII using Python. The code isn't quite complete yet, but I plan to eventually add it to my growing collection of telnet servers that are available to the world.

11|04 Upgrade?

I’ve finally decided to become another ranting blogger on WordPress, with few distinguishing characteristics from my blog to the next. I’ll be importing the old posts soon and customizing the theme a bit. Feel free to comment (I haven’t had that feature for at least a year) and let me know what you’d like to see here. The Subversion repository is now synced to this server once every hour. More content on the way as soon as I figure out how to use this newfangled WordPress thingy.