"Hey Julian" and email based servicing

About a year ago I launched a now expired site named "heyjulian.com" (as well as it's alias "mymailbot.com"). The idea was to leverage people who rather use email to do things traditionally accomplished by navigating web pages. (Its funny to use the word "tranditionally" and web together ;-)

One of the target applications was going to be an email based reminder/scheduling system. Behind the email system was going to be a natural language processor that would parse requests to be notified (via email) of specific events.

I'm giving it another shot. This time the site will be called "mailservant.com". I won't talk much here about it until I have made some progress, but it will leverage BLOGnBOX code and approach. I've even noticed a rather high profile startup getting into the email-as-servant business...



- Submitted by Todd Coram

Permalink | Sun 25 Mar 2007 10:25:10 AM EDT


MailSavant.com

How far can you go with email? Really. What do you do now through a desktop application or web page that would be so much easier through email? For me, the very act of going to a web page to blog (to "log in"; start typing and wondering when I will time out; to preview; fight the HTML editor; publish and then check to see if it looks right) is tiresome.

With email (and a suitable email client), I just fire off a message. BLOGnBOX does the rest. Well, mostly. Since BLOGnBOX polls pop accounts and must run on a PC at my house, it isn't quite that simple (well, blogging is simple but making sure the software is running is definitely not).

Well, I went ahead and registered the name "mailsavant.com" (lucky, eh?) and procured a virtual private server where I will attempt to install BLOGnBOX. Since this box is truly a server on the internet, I will attempt to launch an SMTP server component of BLOGnBOX -- this will reduce the latency of polling a pop server for messages.

Who knows... if I get this running well, I may open it to family and friends (so they too can blog via email).

Let the grand experiment begin!



- Submitted by Todd Coram

Permalink | Sat 24 Mar 2007 06:42:25 PM EDT


Some random GAWK code.

Here is some gawk code that I want to post just because I don't have a place to store them right now.

The first is an implementation of the blowfish encryption/decryption algorithm. It requires a bash shell and gawk. Why do blowfish in gawk? I dunno. It does have the neat feature of being very unix-ish (it encrypts to a plain text file that can be fed back into itself for decryption).

The second attachment is a handy utility (I use it at work) for converting between binary and decimal numbers. It uses a fairly interesting algorithm (not my own!) to do the conversion without every resorting to actual integers. The result: Arbitrary precision. You can make the numbers as big as you like.



1174329455-79121-blowfish.sh | 1174329455-79121-b2d.awk

- Submitted by Todd Coram

Permalink | Mon 19 Mar 2007 02:37:35 PM EDT


Crazy ideas

In my last posting I talked about making network processes out of BLOGnBOX scripts. Of course, upon closer inspection of how I laid out the master blog.sh script, I am already creating processes that last across "content entities" (email) via piping. I don't know if making these processes persistent across "sessions" makes any more sense.

This brings me back to some crazy ideas I've been mulling around for the past year: Unix as a full blown application environment. Twenty years ago this wasn't so crazy. This was the way things were (supposed) to be done. Lots of little tools would compose applications. Now we have the monolith. I've written about this extensively here.

I believe that we are at the point (processor-wise) where writing your "system" as a collection of small Unix programs makes sense again. I believe it can scale.

BLOGnBOX isn't quite there yet...

/todd



- Submitted by Todd Coram

Permalink | Fri 02 Mar 2007 02:04:42 PM EST


Ideas, ideas, ideas

I frustrate myself. I've got a ton of ideas; some related to this blog's software. But, I don't have a ton of time.

I doubt anyone cares about (g)awk anymore. At least, not as a programming language. I guess I am holding on to the original Unix idea of composing solutions with lots of little tools. Each awk script is a tool in a tool chain that composes this blog.

In my world, tiny tools still rule. You see, you take the big ideas, but then you break them down to their fundamental pieces and implement them as small-ish tools.

But, what about things that don't follow the venerable unix pipeline? With gawk, you turn the little tool into a small process that listens and responds over sockets. Each process has a mailbox (rather than a pipe end). It *should* be that simple.

Right now, BLOGnBoX is a pipeline of gawk scripts. I should be able to turn certain pieces into processes. I should be able to have a POP3 process that wakes up every 5 minutes to download new content from a POP3 server. After it downloads the email, it sends a message to the BLOGnBOX mailpiece parser process which parses and validates the content contribution. It passes the result to a BLOGnBOX builder process which then finally sends a message to the BLOGnBOX publisher which uploads the new blog site.

Why not do this as a monolithic pipeline (as it is now) scheduled by cron for every 5 minutes?

Well, I have a similiar setup for my EFX driven website. The problem is how do I subvert the process? What if I don't want to download POP3 messages, but just re-generate the site by hand? I have to stop the background pipeline so I don't step on its toes and re-run it. I could send it messages regarding what to do. But, that seems to cumbersome. With little BLOGnBOX processes, I pick which point of the pipeline I want to invoke and just send it a message. Simple. Sweet.

So, now I have to implement: bnb_pop3_fetcher, bnb_mail_parser, bnb_builder, bnb_publisher as little TCP processes.



- Submitted by Todd Coram

Permalink | Thu 01 Mar 2007 11:56:17 AM EST


Powered by BLOGnBOX