Audible Ping

Tony Garnock-Jones wrote “Does your internet go away occasionally? Do you have a computer hooked up to a moderately loud stereo system? Want to know as soon as the link comes back? Here’s a script (put it in a file, e.g. ~/bin/audible-ping) that pings some outside host, playing a short .wav file when ping finally starts to get…”

From Stateful Parsing to Transactional Parsing

Tony Garnock-Jones wrote “Thinking further on the problem of stateful parsing (from yesterday’s article), the way we’ve done it in the past (essentially by using Scheme’s parameter mechanism) is a special case of a transactional system, with rollback on error and commit after each toplevel expression parsed. This suggests that if Scheme had an implementation of a Software…”

Extensible Parsing Systems

Tony Garnock-Jones wrote “Francis reminded me of the Packrat Parsing algorithm the other day, so I took another look at the Scheme implementation I’d thrown together a few months ago for my ThiNG prototype. Currently, it’s just the basic parsing combinators and support data-structures, but I’d like to make it into an extensible reader, just like for codename.…”

Semantics in HTML via typographic convention

Michael Bridgen wrote “There’s a summary of an interesting discussion regarding semantics in HTML over on fantasai’s blog. Is the HR element only presentational or does it convey something about the content? It does seem to have a semantic role, but one which comes from it being a typographical convention of using a row of asterisks to mark…”

Sun’s disabling coffee beans

Matthew Sackman wrote “As widely reported (even enthusiastically by people other than Sun themselves), Java 1.5 (otherwise known as Tiger, otherwise known as 5.0) has generics. This is done by erasure originally for reasons of backwards compatibility. The idea was that Sun wanted to be able to compile source code with generics in it and run the generated…”

Sound Conclusions in Scala

Matthew Sackman wrote “Scala is a programming language which tries to mix pure object orientation (data only) and functional programming styles. It currently compiles to Java bytecode but there are plans to enable compilation to the .Net CLR bytecode too. It supports generics/templates within Scala but does not support Java’s generics so you’re back to the pre-1.5 Java…”

StoJ Open-sourced

Tony Garnock-Jones wrote “I’m pleased to announce the open-source release of StoJ. The code is being released under the MIT license, and can be downloaded from this github project. $ git clone git:// Alternatively, you can download a snapshot.”

The Web interface divide

Michael Bridgen wrote “Matthias and I were talking about website ‘templating’ — that is, making Web pages parameterised on the content. We weren’t discussing the technical rationale behind it — constructive laziness is axiomatic — but how best to accomplish a separation of concerns between contributors. For example, frequently we co-operate with companies or individuals that specialise in…”

Browser-side XForms

Matthias Radestock wrote “At last there appears to be a working implementation of [XForms]( that is written in Javascript and runs entirely inside a browser: [FormFaces]( The clear separation of content from presentation, and the declarative nature of XForms have always appealed to me, but the lack of a browser-side implementation has so far put me off from…”

TiddlyWiki adaptation

Michael Bridgen wrote “I’ve started work on an adaption of TiddlyWiki. The things I want to improve: – TiddlyWiki has a degree of reflection — editing the node ‘MainTitle’ changes the displayed title, for example. It does these inconsistently though, with bits of privileged markup. I’d rather it kept them as nodes and simply styled those nodes specially…”

Searching IMAP in Gnus

Matthias Radestock wrote “I spent a good few hours trying to convince [Gnus]( to search my IMAP folders, under XEmacs. Googling turned up quite a lot of stuff, but most of it is wrong/irrelevant. In the end all I needed to do was: – stick `(require ‘nnir)` in my XEmacs init file – add `(nnir-search-engine imap)` to my…”

RESTful AJAX Continuations

Matthias Radestock wrote “I saw Avi Bryant talk about Seaside yesterday. Seaside is quite a neat framework. TonyG and Andy have been playing with it for some time. Avi mentioned that Seaside’s continuation-based model of web application development is in some sense the [old link:] anti-RESTful – there is a lot of state kept on the server.…”

Squeak Scheme

Tony Garnock-Jones wrote “A few days ago, I mentioned the idea of building a Scheme machine atop the existing Squeak VM and image. I’ve started some work in that direction: I’ve built (yet another) S-expression reader for Squeak, with associated data types and a unit test suite, and I’ve started building an interpreter that I intend to use…”

SuperCollider 3

Tony Garnock-Jones wrote “A few months ago, I pulled SuperCollider 3 from CVS and built it. Just yesterday, while replacing the strings of my guitar, I needed a guitar tuner and so turned to SuperCollider to build one. Finding the help text somewhat skeletal, I updated my CVS checkout and rebuilt the application. The documentation has been significantly…”

Nevow Jukebox

Paul Crowley wrote “I am currently engaged in writing another shared jukebox. If you search Freshmeat for the word “jukebox”, you’ll find several distinct kinds of software. Mostly, you’ll find software like, say, XMMS, which provides an unnecessarily complex GUI for choosing and queuing up tracks for local play. Secondly, you’ll find packages like GNUMP3d which serve a…”

The Design of a Pretty-printing Library

Tony Garnock-Jones wrote “This paper is hard going, but very rewarding. The author concentrates on two ways of transforming a formal, algebraic specification into an implementation, starting with very simple examples and working up to a pretty-printing library. The reason this paper is worthwhile is that, by moving very slowly and by demonstrating the same theme over and…”