A parser for Python 3 (and 2.6 onwards) that tries to be simple to use (the grammar is written in Python using a friendly operator syntax; it comes with a tutorial, examples, and full API docs) while remaining powerful and flexible.
RXPY is a related regular expression library.
A playlist generator written in Scala. This uses a graph of relationships inferred from Last FM's tag API. The database interface (code) uses Empire DB.
An introduction to programming languages that has been fairly popular (this is the second edition).
I was the first person to generate a hello world program in Malbolge, using a beam-search written in Lisp.
Otuto was a small interpreter that introduced the ideas of pattern matching to a "stack language".
Some photographs taken around Santiago, Chile during the summer of 2008/2009.
A map of military spending, generated using SVG and XSLT from data available on the web (with instructions).
Spirograph using Javascript generated SVG.
Design and typesetter for a minimal font - almost all characters are just two pixels wide.
From various projects I have been involved with over the years:
Links to interesting sites; technical fixes; occasional commentary:
RSS; BBC news (markets), radio 5, 6, 7; Guardian; Global Voices; El Mercurio (15 day weather, IPSA), La Tercera; FT, Alphaville; RGE Monitor; CLP/$ month, 2m, year, 2y; Santander, Banco de Chile; Banco Central; SAFP, SII.
Open·suse Java (APIs: 6, ee, 5): Spring API, manual; JFree API, demo, code; htmlunit; Commons io). Python³ (libs³: os³, path³, sys³, re³, time³, datetime³, __³, str³, []³): SQLAlchemy. GGroups; GMane (comp, iBatis); CUDA (forums).
Reddit (programming, compsci); Hacker News; 3 Quarks Daily; LRB; Crooked Timber; Boingboing; Metafilter; Slashdot; Techmeme; DP Review, Infosthetics; Artima; λ the Ultimate; PC Factory, SYM, BYM, BIP, WEI, Tecno, Rigam; Anandtech; Wikileaks, Cryptome; Santiago, La Serena; Cr·os·sw·or·ds (he·lp).
Mail; Wi·ki; Stats, Inlinks; svn; hg; ntop; cups, Printer; Squ·ee·ze; EW·FE KP·I SO·H; Facebook, LinkedIn, Twitter.
Everything here my own work, unless attributed otherwise, (c) 2000-2010 Andrew Cooke.
At first blush it may be thought surprising that one should have a right to do that which one ought not. Is it not better to confine rights to that which it is right or at least permissible to do? But to say this is to misunderstand the nature of rights. One needs no right to be entitled to do the right thing. That it is right gives one all the title one needs. But one needs a right to be entitled to do that which one should not. It is an essential element of rights to action that they entitle one to do that which one should not. To say this is not, of course, to say that the purpose or justification of rights of action is to increase wrongdoing. Their purpose is to develop and protoect the autonomy of the agent. They entitle him to choose for himself rightly or wrongly. But they cannot do that unless they entitle him to choose wrongly. - Joseph Raz, The Authority of Law (p 266)
When i looked up from my blank page, there was an angel in the room; / a rather commonplace angel, presumably of lower rank. / You cannot imagine, he said, the degree to which you're dispensible. / Of the fifteen thousand hues of blue, he said, / each one makes more of a difference / than anything you may do, or refrain from doing; / not to mention the felspar, or the great magellanic cloud. / Even the common plantain, unassuming / as it is, would leave a gap. not you. / I could tell from his bright eyes - he hoped for an argument, / for a long fight. / I did not move. I waited in silence until he had gone away. - The Visit, Hans Magnus Enzensberger
You are the ones who can hear airs. who can be frightened or encouraged. You can hold things and break them and fix them. I never felt at home here. This is an awful place to be dropped down halfway. - Galatea 2.2, Richard Powers
Como un equilibrista en la cuerda floja que no sabe ya cómo poner un pie delante de otro, sentía sólo la oscilante plataforma debajo de mí y me daba cuenta con horror de que los extremos del balancín que centellaban muy lejos, en los bordes de mi campo de visión, no eran ya, como antes, mis luces orientadoras, sino malignos señuelos que querían precipitarme en el vacío. De vez en cuando ocurría aún que se perfilara en mi cabeza un razonamiento con hermosa claridad, pero sabía ya, mientras eso sucedía, que no estaba en condiciones de retenerlo, porque, en cuanto tomara el lápiz, las infinitas posibilidadeds del idioma, a las que antes podía abandonarme con confianza, se convertirían en una mescolanza de frases de pésimo gusto. .... Si se puede considerar al idioma como una antigua ciudad, como un laberinto de calles y plazas, con distritos que se remontan muy atrás en el tiempo, con barrios demolidos, saneados y reconstruidos, y con suburbios que se extendien cada vez más hacia el campo, yo parecía alguien que, por una larga ausencia, no se orienta ya en esa aglomeración, que no sabe ya para qué sirve una parada de autobús, qué es un patio trasero, un cruce de calles, un bulevar o un puente. Toda la estructura del idioma, el orden sintáctico de las distintas partes, la puntuación, las conjunciones y, en definitiva, hasta los nombres de las cosas corrientes, todo estaba envuelto en una niebla impenetrable. - Austerlitz, W. G. Sebald (trad. M Sáenz)
I can't bring myself to throw these away, but the links are pretty old...