Latest News >> 2008-11-21

I love Why The Lucky Stiff and his crazy creative ways. His latest post about me and how nice The Ruby Community really is gave me chills. The great _why is actually mentioning me! I mean, sure he’s dissing me without really dissing me so that he can be an asshole while still being nice, but I got a mention on his blog!

2008-11-13

Well, DHH seems to be caught in a lie in his latest blog post on Rails myths so I feel I should correct it. An outright lie that Mongrel caused his 400 restarts/day problem. However, David must have forgotten that I have a full log of the chat where he admitted it, so let’s get into some nice clean truth for a change.

2008-11-11

I’m quickly coming to the end of my first semester in music school and am considering taking a consulting gig for the two month break we have. Not really sure what’s available these days, as I actually haven’t touched a computer for the entire semester.

2008-10-30

In this world there are these weird little dickheads who think that they have some kind of magical powers manipulating others to do their bidding. They spend their days making people around them dance like marionettes in a sick little play that only they find funny. The sad truth about manipulators is their machinations are only powerful and effective in their own mind.

UPDATE: Fixed the bzr repo for SoS.

We are a GO for the Wed September 3rd Freehackers Union meeting. I’ve got nearly everything ready to roll, so here’s the particulars:

I will be bringing equipment for sound, video, and projecting.

All you gotta bring is your performance for the show and give your 5 minutes to get in.

You should probably reflect on the Rules before you come. Feel free to email me for questions about what you can show.

Announcing “Son of Sam”

I’ve started a fun email server project I’m calling “Son of Sam”, or SoS for short. It’s really just an attempt to bring modern web development techniques to doing mail applications. I’m mostly just sick of duct taping together a shit ton of stupid processes just to get an email server to be smarter. Based on my experiments so far, doing a new email server isn’t really too hard, thanks to Python.

It’s still rough, but you can grab the source as it is now (GPLv3 licensed) from:

bzr branch http://zedshaw.com/repository/sos/

In there you’ll find the code and a sample application. It’s a little tricky to try it out right now, but take a look at the sample directory to see where I’m going with the application. I think in a few days it’ll be good enough for me to use on chaos2congress.us and freehackersunion.org. It already can route emails to various handlers that you can write based on regexes, process emails in stages using a Finite State Machine, and send emails that it receives. Up next is generating emails in response or to send to others and probably a bit of queue management.

Son of Sam came about because the easiest to use mailing list for freehackersunion.org was Minimalist and even that was a total bitch to configure. It involved aliases numerous times in different Postfix files, other files in a spool directory for minimalist, permissions being just right, and tons of tinkering with text files.

Compared to a modern web application framework like Django or Rails this was like doing raw cgi-bin processing. It seems like SMTP servers are just nowhere near as flexible or easy to modify as HTTP servers, and I’m sure email guys have their reasons, but I’m also sure all their reasons are total bullshit these days.

This lead me to check out what was available for a “WSGI for SMTP” and only thing I found was Sendmail’s milter version 8. Wow, what a piece of shit protocol. It’s really only documented in C code, and you have to build an entire Sendmail to get at just the library and headers. What amazed me though, is motherfuckers are actually selling milter clients based on this. I’m not sure if they’re making money, but that’s simply impressive. Like those African dudes who can build whole Vespas out of wood and raw metal.

After much annoyance at playing with milter I decided to see how hard it would be to do just a plain old framework in Python. Just something that looks and works like Django, web.py, TurboGears, PHP, Ruby on Rails, Merb, hell even video games have simplification engines and frameworks these days. Why is SMTP so brain dead?

A quick googling around and I find out that Twisted does SMTP (as well as shave dogs and smelt gold), but that plain Python does a decent enough job already (here’s the code). Lakin Wecker did a good job of breaking the difference down and showing the kernel of the idea. I took his pointers, and then went and read up on what’s available.

Python clearly is the email processing god. It has everything you’d ever need, and really I think only Perl would compare in pure number of libraries to do all the bizarre email tricks. With a nearly complete simple SMTP server already baked into Python, and full SMTP client libraries, plus all the other goodies from the web framework world (SQLAlchemy, Mako Templates) it didn’t seem too hard to crank out a little sample.

Started it on Saturday, worked for a few hours, hacked on it Monday for a few hours, and now I’ve got the start of a nice little framework for doing intelligent email applications. I’ve even got a simple Finite State Machine class that lets you hold conversations over email with the state of each step controlled and stored to disk between receipts.

So, if this works out, I’m gonna make it the mailing list software for freehackersunion.org to test it out. After that, I think it would work great as a first step in taking on some of the messed up incumbents who voted for FISA through chaos2congress.us.