Site map
All Pages
- 3-MOVE: a multi-user networked online text-based programmable virtual environment
- Multiuser BBS for DOS: an ancient dialup BBS system for DOS
- Blogs: Links to the blogs I write or have contributed to.
- Libraries and Programs for Chicken: Some libraries and programs I wrote for the excellent Chicken Scheme compiler.
- How to get hold of me: Contact details
- CVSZilla: transactions/changesets for CVS, plus Bugzilla and ViewCVS integration
- Large-scale Message-broker Federation: experiments in the direction of a large-scale messaging network.
- gAlan, a Graphical Audio Language: a graphical tool for constructing sound processing pipelines.
- Gyre: a weblog/CMS written in python
- Tony's LShift Blog Posts: Overview of all the posts I made to the LShift blog over the years
- Projects
- Tony Garnock-Jones: About me.
- An Ajax Erlang Jukebox: a quasi-distributed web-based music indexing and playback application.
- Programming Languages and Runtimes: some of the older work on languages and runtimes I've done over the years.
- Operating Systems and Personal Computing: experiments in OS construction, and thoughts on my ideal personal computing system.
- Newmoon: a naïve Scheme compiler with multiple backends.
- Erlang Userland for OpenMoko
- Parsing Tools: libraries I've written for building scanners, parsers, tree-walkers etc.
- Pyle: a WikiClone in Python
- RabbitMQ and AMQP: An implementation of an AMQP server, and its attendant ecosystem.
- ReverseHttp: a protocol for enrolment and participation in HTTP networks
- StoJ and Modelling of Biochemical Pathways: a foray into biocomputing.
- Synchrotron: a DVCS for JSON objects, written in Javascript, integrating with TiddlyWiki.
- Talks and Presentations: Recordings and slides from various talks and presentations I've given.
- Tangents: A page for projects that don't have pages of their own.
- Programming Language Experiments: recent work on programming languages and runtimes.
Mirrored LShift Blog Posts
These are mirrored copies of all the posts I made to the LShift blog between 2005 and 2010, most recent posts first.
- RFC3339: Simple, canonical date parsing and formatting for Python
- Network server programming with SML/NJ and CML
- Snarl: A Growl-like notification system for Squeak Smalltalk
- HTML email from Squeak using Seaside
- Achieving Scale with Messaging and the Cloud
- PubSub-over-Webhooks with RabbitHub
- Yahoo doesn’t know what an email address is
- OpenAMQ’s JMS client with RabbitMQ server
- Reverse HTTP == Remote CGI
- Streamlining HTTP
- Jeff Lindsay on Web Hooks
- Erlang/OTP’s global module
- Erlang’s GC only runs when you’re running
- Where did all my space go?
- Toy raytracer in Python
- Listening to your Webcam
- Smalltalk vs. Javascript; Diff and Diff3 for Squeak Smalltalk
- Slides from our Erlang Exchange talk
- RabbitMQ XMPP gateway released
- OMeta for Scheme
- Adding distributed version control to TiddlyWiki
- Mercurial merge technique
- TiddlyWiki, Quining, and Smalltalk
- diff3, merging, and distributed version control
- Late-binding with Erlang
- Diff for Javascript, revisited
- Ubuntu on EeePC is fairly slick
- E4X: Not as awful as I thought
- STOMP adapter updated for RabbitMQ 1.3.0
- Unit testing in Java vs. Smalltalk
- Using AMQP to do cron-like scheduling
- How to run RabbitMQ’s experimental STOMP adapter
- Some simple examples of using Erlang’s XPath implementation
- New .NET/C# client library for RabbitMQ
- NDocProc bug fix for empty namespaces
- GNU Smalltalk Cairo Clock Demo
- GNU Smalltalk 2.95h on Mac OS X 10.3.9
- The OLPC uses forth at a low level
- Openembedded Bitbake recipe for Spidermonkey Javascript 1.7.0
- iPlayer: needs RSS
- Erlang SMTP code updated
- Astral Plane characters in Erlang JSON/RFC4627 implementation
- NDocProc updated for C# 2.0 with Generics
- XML CDATA and escaping
- Your very own 32-way SIMD machine
- JONESFORTH ported to PowerPC and Mac OS X
- Proper Unicode support in Erlang RFC4627 (JSON) module
- Minimal Erlang SMTP, POP3 server code
- .NET is an endless supply of fascinating puzzles
- Erlang on Neo1973 cellphone
- Most exciting programming language I’ve seen in months
- NDocProc: Javadoc-like documentation for .NET
- How should JSON strings be represented in Erlang?
- Closing over context still not easy in mainstream languages, Film at 11
- Squeak and OpenEmbedded
- Updated AJAX Erlang Jukebox
- Deadlocks are annoying
- Folds and continuation-passing-style
- Interesting things you find on SqueakMap
- RFC 1982 limits itself to powers of two unnecessarily
- JSON and JSON-RPC for Erlang
- An Alphabetical Google Zeitgeist
- Rabbits, rabbits, rabbits
- Debian Etch on Dell Optiplex 320
- An AJAX Erlang Jukebox
- Smalltalk UK meetings, 20-21 Oct
- How fast can Erlang send messages?
- How fast can Erlang create processes?
- Erlang processes vs. Java threads
- Diff for Javascript
- Icing snapshot 20060721
- HTML Email is hard to get right
- A Rhino at the Seaside?
- Why there’s been no news regarding Icing
- Overview of Javascript modes for Emacs
- E4X: I want my S-expressions back
- Bruce J. MacLennan’s Programming Language Design Principles
- Linux on Palm Tungsten T3
- Icing: Lightweight web development in Scheme
- Hacking on core Squeak
- Exporting Squeak Presentations to HTML+PNG
- XHTML considered harmful
- Parallels between Smalltalk and Linux
- Best. Language comparison. Evar.
- Arithmetic is the Simplest Thing That Could Possibly Work
- Thunderbird’s Ridiculous Menu Structure
- GRIN as intermediate representation for Lazy Functional Languages
- Slate
- Spoon and the Object Visualiser
- Something about early, and often?
- xxexpr.ss - an SXML-to-XML converter
- Simple AJAX (with JSON) Chat Application for ASP 3.0
- pregexp over streams, and other random hackery
- Continuation-Passing Style in Javascript
- A SRFI-10-style extension to JSON
- Spring-loaded Zooming UI
- JSON for MzScheme, and a Portable Packrat Parsing Combinator library
- How hard can it possibly be?
- JSON, Squeak, and Seaside
- From Stateful Parsing to Transactional Parsing
- Audible Ping
- Extensible Parsing Systems
- StoJ Open-sourced
- SuperCollider 3
- Squeak Scheme
- The Design of a Pretty-printing Library
- TiddlyWiki - a reusable non-linear personal web notebook
- A Lisp Interpreter for Squeak