Adding distributed version control to TiddlyWiki

Tony Garnock-Jones wrote “After my talk on Javascript DVCS at the Osmosoft Open Source Show’n’tell, I went to visit Osmosoft, the developers of TiddlyWiki, to talk about giving TiddlyWiki some DVCS-like abilities. Martin Budden and I sat down and built a couple of prototypes: one where each tiddler is versioned every time it is edited, and one where…”

TiddlyWiki, Quining, and Smalltalk

Tony Garnock-Jones wrote “Yesterday I visited Osmosoft, the developers of TiddlyWiki, to chat about getting some DVCS-like functionality into TiddlyWiki. Jeremy mentioned in passing that TiddlyWiki is, if you squint, a slightly cheating kind of a Quine. It struck me this morning that TiddlyWiki has strong similarities to another famous almost-Quine, the Smalltalk system. TiddlyWiki is a composition…”

Late-binding with Erlang

Tony Garnock-Jones wrote “Upon browsing the source to the excellent MochiWeb, I came across a call to a function that, when I looked, wasn’t defined anywhere. This, it turns out, was a clue: Erlang has undocumented syntactic support for late-bound method dispatch, i.e. lightweight object-oriented programming! The following example, myclass.erl, is a parameterized module, a feature that arrived…”

JONESFORTH ported to PowerPC and Mac OS X

Tony Garnock-Jones wrote “A couple of weeks ago, Richard W. M. Jones released JONESFORTH, which I thought was pretty exciting. Today I spent a few hours porting the assembly-language part to PowerPC on Mac OS X 10.3.9. It ended up being 600 non-comment lines of code in total, and took me about eleven hours in total to write…”

Ambient authority and Sleepycat Java Edition and stateful services

David Ireland wrote “I’ve recently written an RMI service which has state – transactions. The service is implemented using Sleepycat Java Edition collections, and the transactions map to sleepycat transactions. The StoredMap class depends on ambient authority: it determines the current transaction from the thread. The methods will all be invoked in on separate threads, so we need…”

Folds and continuation-passing-style

Tony Garnock-Jones wrote “In normal, direct-style programming in (mostly-)functional languages such as scheme and ML, folding is an operation that crops up all the time in various guises. Most list-manipulation libraries for such languages include implementations of left-fold and right-fold as standard. But what about the situation when you’re programming in continuation-passing style (CPS), such as when you’re…”

Only two things are infinite

Tom Berger wrote “YAHOO has announced that it will soon be offering unlimited storage to users of its free web-mail product. What does it really mean, and what can we learn from this about the marriage between engineering and marketing.”

Maude I/O

Matthias Radestock wrote “In my [continued experiments](/blog/2006/06/05/language-design-in-maude) with [Maude]( I have been investigating its I/O system and, more generally, how to integrate Maude with other systems and extend its built-in capabilities. Libraries are arguably Maude's weakest point. The standard libraries are very rudimentary. Furthermore, there is no FFI, so there is no easy way to hook in third party libraries. As we shall see, this is actually less of a problem than it may seem.”

Language Design in Maude

Matthias Radestock wrote “I have been intrigued by Maude for a few years. Recently I finally found the time to play with it.”

Traits, Monads, and language design

Tony Garnock-Jones wrote “I’ve been amusing myself recently by designing a programming language. Over the past few weeks, to explore some design ideas for it, I implemented a small traits system and a runtime-checked overloaded monad implementation in Scheme. For those interested in learning more about what I’ve been doing, I’ve just written up an article covering some…”


Michael Bridgen wrote “Subtext is a demonstration of a novel model of computer programming, with interactive program modification and prototypes.”

Io – Prototypes for ordinary people

Tom Berger wrote “Some programming languages look like they were designed especially to secure their authors a place on LtU - sort of 15 minutes of fame for language mavens. That's not the case with Io, although it does sport some neat features that are not common enough in today's language universe (and it did make it to LtU, which is how i found out about it).”