Arto's Essays
My scribblings on various topics, also via RSS.
Featured Essays
- A Thousand Lakes of Red Blood on White Snow2010
Here follows a brief history of the little-known subarctic origins of the Molotov cocktail in the epic Russo-Finnish Winter War of 1939-40. It is a true tale of a people who stood up to the depredations of an evil empire, and, against all odds, prevailed. Along the way you'll gain a pretty good idea of what exactly the Finnish word "sisu" means, despite English lacking an exact and equivalent translation.
- The Road to Enlightenment Is Littered with Irritating, Superfluous Parentheses2007
My Road to Lisp survey response, which lays out, in some detail, how I came to be a smug Lisp weenie.
- Set Your Code Free2010
Today is Public Domain Day, in honor of which I'm hereby relicensing (or more properly, unlicensing) all of my software into the public domain. As the public domain is these days unfortunately somewhat an obscure concept to many people, and disclaiming copyright interest in open-source software seems at present a relatively rare phenomenon, I will elaborate some on the rationale and implications.
- Dissecting the Unlicense: Software Freedom in Four Clauses and a Link2010
I've previously written on the motivation that led us to formulate the Unlicense, a template for dedicating your software to the public domain. Today, I will elucidate the rationale for and the provenance of each of the four brief paragraphs (plus footer) that constitute the Unlicense.
- Licensed, License-Free, and Unlicensed Code2010
As discussed on the Unlicense.org mailing list, the notion of "licensing something under the Unlicense" is a not infrequent misunderstanding that calls for better explanations as to the essential difference between licensed, license-free, and unlicensed code. I will attempt to break it back down to the fundamentals and work upwards from there.
- The Unlicense: The First Year in Review2011
It's Public Domain Day again, and it's now been exactly a year since I first introduced the Unlicense.org initiative: an easy-to-use template and process intended to help coders waive their copyright and dedicate all their code to the public domain with no strings attached. It seems a good time for a brief recap of the happenings on this front over the last 365 days.
All Essays
- Open Letter to Marc Andreessen
December 27, 2023
My response to Marc Andreessen's Techno-Optimist Manifesto, wherein I highlight the city-state of Dubai as the epitome of techno-optimism and mankind's first large-scale terraforming project.
- The Unlicense: The First Year in Review
January 1, 2011
It's Public Domain Day again, and it's now been exactly a year since I first introduced the Unlicense.org initiative: an easy-to-use template and process intended to help coders waive their copyright and dedicate all their code to the public domain with no strings attached. It seems a good time for a brief recap of the happenings on this front over the last 365 days.
- What's New in RDF.rb 0.3.0
December 30, 2010
RDF.rb 0.3.0 adds transactions, basic graph pattern queries, and fast parsers and serializers for RDFa, Notation3, Turtle, and RDF/XML.
- Licensed, License-Free, and Unlicensed Code
December 19, 2010
As discussed on the Unlicense.org mailing list, the notion of "licensing something under the Unlicense" is a not infrequent misunderstanding that calls for better explanations as to the essential difference between licensed, license-free, and unlicensed code. I will attempt to break it back down to the fundamentals and work upwards from there.
- A Thousand Lakes of Red Blood on White Snow
August 12, 2010
Here follows a brief history of the little-known subarctic origins of the Molotov cocktail in the epic Russo-Finnish Winter War of 1939-40. It is a true tale of a people who stood up to the depredations of an evil empire, and, against all odds, prevailed. Along the way you'll gain a pretty good idea of what exactly the Finnish word "sisu" means, despite English lacking an exact and equivalent translation.
- How RDF Databases Differ from Other NoSQL Solutions
April 22, 2010
RDF databases are the only standardized NoSQL solutions, built on a simple, uniform data model and a powerful, declarative query language.
- Parsing and Serializing RDF Data with Ruby
April 21, 2010
A tutorial on parsing and serializing the various RDF-based Linked Data formats with the RDF.rb library for Ruby.
- RDF for Intrepid Unix Hackers: Transmuting N-Triples
April 5, 2010
How to install and use the Raptor RDF parser toolkit to convert RDF data from one serialization format to another, such as to N-Triples.
- RDF.rb: A Public-Domain RDF Library for Ruby
March 9, 2010
Introducing the first release of RDF.rb, its design philosophy and object model, with a tutorial on using its core classes.
- RDF for Intrepid Unix Hackers: Grepping N-Triples
March 4, 2010
How to process RDF data in the line-oriented N-Triples format by pipelining standard Unix tools such as
grep,cut,awk,sort, anduniq. - Dissecting the Unlicense: Software Freedom in Four Clauses and a Link
January 23, 2010
I've previously written on the motivation that led us to formulate the Unlicense, a template for dedicating your software to the public domain. Today, I will elucidate the rationale for and the provenance of each of the four brief paragraphs (plus footer) that constitute the Unlicense.
- Set Your Code Free
January 1, 2010
Today is Public Domain Day, in honor of which I'm hereby relicensing (or more properly, unlicensing) all of my software into the public domain. As the public domain is these days unfortunately somewhat an obscure concept to many people, and disclaiming copyright interest in open-source software seems at present a relatively rare phenomenon, I will elaborate some on the rationale and implications.
- Inflation and the Fall of the Roman Empire
August 11, 2009
This is a transcript of Prof. Joseph Peden's 50-minute lecture "Inflation and the Fall of the Roman Empire" given at the Seminar on Money and Government in Houston, Texas on October 27, 1984. The original audio recording is available courtesy of the Mises Institute. I have commissioned this transcript in the hope that you may find it as interesting and educational as I did.
- A Timely History Lesson from the Weimar Republic
October 9, 2008
Excerpts from Adam Smith's "Paper Money" on the hyperinflation in 1920s Germany, timely in the midst of the 2008 financial crisis.
- Rediscovering the Lively Road Not Taken
May 27, 2008
Dan Ingalls' Lively Kernel, a self-hosting development environment in JavaScript, carries on the essence of Smalltalk and the Lisp machines.
- Envy, Ignorance and the Semantics of a Zero-Sum Delusion
April 26, 2008
On Larry J. Sechrest's talk on the anti-capitalists, and the envy and economic ignorance that feed the zero-sum delusion.
- A Brief History of Cutting Code in a Universe Three Doors Down
March 28, 2008
A brief history of programming languages as cutting tools, from the assembly flint knife onward.
- Finding Clojure, or How I Learned to Stop Locking and Eval the JVM
March 26, 2008
Clojure, a new Lisp for the JVM, effortlessly stands out from the bunch of nascent Lisps.
- R5.97RS Scheme Considered Harmful
August 13, 2007
The ballot I submitted against ratifying the final R6RS draft of the Scheme standard, with my reasons.
- Opinionated Best Practices Elucidated
July 26, 2007
Why Ruby on Rails is named the way it is, and how its opinionated constraints can be liberating.
- Good Weather Guilt
June 20, 2007
On good weather guilt, a long-suffering affliction of mine, and the role of Finland's climate in the genesis of Linux.
- God Sure Didn't Write in Java
April 21, 2007
On the folly of building artificial intelligence in stone-age programming languages, and why Lisp is uniquely suited to the task.
- Pushing the Envelope for Private Spaceflight
March 21, 2007
SpaceX's Falcon 1 has reached space on its second test flight, a significant step in the privatization of spaceflight.
- Five Tidbits You Didn't Know About Me
January 31, 2007
Five random, trivial tidbits about me, from the header photo of my website to my Finnish origins.
- Lessons from the Science of Nothing at All
January 4, 2007
On Richard P. Gabriel's essay "Lessons From The Science of Nothing At All", about the ethereal nature and real importance of software.
- The Road to Enlightenment Is Littered with Irritating, Superfluous Parentheses
January 1, 2007
My Road to Lisp survey response, which lays out, in some detail, how I came to be a smug Lisp weenie.
- The Universal Timeline Aggregator
December 29, 2006
A web service that renders any Atom or RSS feed as an interactive timeline, using the MIT Simile project's Timeline widget.
- Easier Drupal Debugging with Trace
December 3, 2006
Trace, a Drupal module for tracing hook invocations, PHP errors, and database queries, complete with stack traces.
- Our New Solar System
August 24, 2006
The International Astronomical Union has demoted Pluto to a dwarf planet, leaving our solar system with eight proper planets.
- Spam Filters, Alien Technology and Ruby on Rails
July 5, 2006
On applying the statistical text classification of spam filters to another problem at work, using CRM114 and Ruby on Rails.
- GeoIP API for Chicken Scheme
June 19, 2006
A Chicken Scheme egg for MaxMind's GeoIP library, which maps IP addresses to countries.
- Poor Man's MySQL API for Gambit-C
June 11, 2006
A lazy man's MySQL API for Gambit-C Scheme, wrapping the
mysqlandmysqladmincommand-line utilities. - Congratulations, Bro!
May 30, 2006
My brother Alex has won the Slashdot redesign contest.
- Static Page Caching for Drupal 4.7
May 28, 2006
A Drupal module that caches pages as static files, serving anonymous visitors without touching PHP or the database.
- Conway's Game of Life in JavaScript
February 26, 2006
Conway's Game of Life, hacked up in an afternoon to get to grips with the new HTML Canvas element.
- Drupal vs Mambo
February 8, 2006
My 2005 article on why we abandoned Mambo for Drupal at Xaneon, republished at the request of readers.
- Macro Expansion Hook for Gauche
January 12, 2006
A snippet for debugging Scheme macros in Gauche, inspired by Common Lisp's
*macroexpand-hook*. - Courier-IMAP to Dovecot Migration Script
November 3, 2005
A shell script for converting Courier-IMAP maildirs to Dovecot format, which saves a fair bit of typing when migrating hundreds of mail accounts.