IrRegular Expressions

IrRegex version 0.7.0 is now available here:

A fully portable and efficient R[456]RS implementation of regular expressions, supporting both POSIX syntax with various (irregular) PCRE extensions, as well as SCSH’s SRE syntax, with various aliases for commonly used patterns. DFA matching is used when possible, otherwise a closure-compiled NFA approach is used. The library makes no assumptions about the encoding of strings or range of characters and can thus be used in Unicode-aware Scheme implementations. Matching may be performed over standard Scheme strings, or over arbitrarily chunked streams of strings.

IrRegex is portable between R4RS, R5RS, and R6RS; and almost completely PCRE compatible. Very nice!

(via comp.lang.scheme)

The Soundex Algorithm

Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for names with the same pronunciation to be encoded to the same representation so that they can be matched despite minor differences in spelling[1]. Soundex is the most widely known of all phonetic algorithms and is often used (incorrectly) as a synonym for “phonetic algorithm”. Improvements to Soundex are the basis for many modern phonetic algorithms

Wikipedia Entry
(via Vijay Matthew)

Computers are a metamedium

The computer is a medium that can dynamically simulate the details of any other medium, including media that cannot exist physically. It is not a tool, although it can act like many tools. The computer is the first metamedium, and as such it has degrees of freedom for representation and expression never before encountered and as yet barely investigated. The protean nature of the computer is such that it can act like a machine or like a language to be shaped and exploited.

— Alan Kay
I’ve never before heard it put quite so well.
(via R.P. James)

Easy FTP mirroring with wget

There are a lot of tools out there for mirroring data, but sometimes you just want to do something very simple: download the latest contents of a FTP directory while leaving what you have already downloaded alone. wget supports a mirror command that provides this exact functionality. Just enter the directory where you would like to store the mirror and execute this command:

wget --mirror [prot]://[username]:[password]@[hostname]/[directory to mirror]

Lisp Style Rules

Riastradh’s Lisp Style Rules are a wholly holistic and unscientific take on Lisp style rules. They have helped me not only to get a better sense of how Lisp people do things, but also why. There is other stuff like this around the Internet, but this is the only I’ve found that I enjoyed reading.
While there are a lot of good rules in the guide, not all of them were new to me, so I only took notes on the ones that I found interesting for one reason or another.
Continue reading “Lisp Style Rules”