RFC3339: Simple, canonical date parsing and formatting for Python

Tony Garnock-Jones wrote “As part of a customer project some years ago, we wrote an [implementation](http://github.com/tonyg/python-rfc3339) of the interesting parts of RFC [3339](http://www.ietf.org/rfc/rfc3339.txt) for Python. The abstract for the RFC says > This document defines a date and time format for use in Internet > protocols that is a profile of the ISO 8601 standard for > representation…”

Network server programming with SML/NJ and CML

Tony Garnock-Jones wrote “My experience with [SML/NJ](http://www.smlnj.org/) has been almost uniformly positive, over the years. We used it extensively in a previous project to write a compiler (targeting the .NET CLR) for a pi-calculus-based language, and it was fantastic. One drawback with it, though, is the lack of documentation. Finding out how to (a) compile for and (b) use [CML](http://cml.cs.uchicago.edu/) takes real stamina. I've only just now, after several hours poring over webpages, mailing lists, and library source code, gotten to the point where I have a running socket server. Read on for a full, commented, example.”

Snarl: A Growl-like notification system for Squeak Smalltalk

Tony Garnock-Jones wrote “I’ve just released Snarl, a Growl-like notification system for Squeak. To use it, Snarl label: ‘Something happened’ body: ‘What could it have been?’ I’ve recorded a quick demo: (It’s pretty blurry, so I’ve uploaded it to vimeo too, but it’s still in the queue for conversion; when it’s converted, it’ll be here.) The code is…”

HTML email from Squeak using Seaside

Tony Garnock-Jones wrote “Recently, as part of a Seaside-based application running within Squeak, I wanted to send HTML-formatted notification emails when certain things happened within the application. It turns out that Squeak has a built-in SMTP client library, which with a small amount of glue can be used with Seaside’s HTML renderer to send HTML formatted emails using…”

Achieving Scale with Messaging and the Cloud

Tony Garnock-Jones wrote “On the 9th, last Thursday, I spoke at the Online Gaming High Scalability SIG at Skills Matter. The talk covered – an introduction to Messaging (what it’s for, why you might like to use it), – a couple of pointers in the directions of examples of Messaging being used at scale in the cloud, and…”

PubSub-over-Webhooks with RabbitHub

Tony Garnock-Jones wrote “RabbitHub is our implementation of PubSubHubBub, a straightforward pubsub layer on top of plain old HTTP POST — pubsub over Webhooks. It’s not well documented yet (understatement), but that will change. It gives every AMQP exchange and queue hosted by a RabbitMQ broker a couple of URLs: one to use for delivering messages to the…”

Yahoo doesn’t know what an email address is

Tony Garnock-Jones wrote “Many websites refuse to accept email addresses of the form `myusername+sometext@gmail.com`, despite the fact that the `+sometext` is perfectly legitimate1 and is an advertised feature gmail offers for creating pseudo-single-use email addresses from a base email address. My guess is that the developers of these sites think, because they’re either lazy or incompetent, that email…”

OpenAMQ’s JMS client with RabbitMQ server

Tony Garnock-Jones wrote “OpenAMQ has released their JMS client for using JMS with AMQP-supporting brokers. This afternoon I experimented with getting it running with RabbitMQ. After a simple, small patch to the JMS client code, to make it work with the AMQP 0-8 spec that RabbitMQ implements (rather than the 0-9 spec that OpenAMQ implements), the basic examples…”

Reverse HTTP == Remote CGI

Tony Garnock-Jones wrote “I’ve been working recently on Reverse HTTP, an approach to making HTTP easier to use as the distributed object system that it is. My work is similar to the work of Lentczner and Preston, but is independently invented and technically a bit different: one, I’m using plain vanilla HTTP as a transport, and two, I’m…”

Streamlining HTTP

Tony Garnock-Jones wrote “HTTP/1.1 is a lovely protocol. Text-based, sophisticated, flexible. It does tend toward the verbose though. What if we wanted to use HTTP's semantics in a very high-speed messaging situation? How could we mitigate the overhead of all those headers? In this post, we invent a simple alternative syntax for HTTP that drastically reduces the wasted bandwidth. For the specific example of the OPRA feed, the computed bandwidth requirement of the experimental syntax is only 11% higher than the raw data itself — nearly 300% better than ordinary HTTP.”