# Arto's Essays

My scribblings on various topics.

- [Open Letter to Marc Andreessen](https://ar.to/2023/12/open-letter-to-andreessen.md) (2023-12-27): 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](https://ar.to/2011/01/unlicense-1st-year.md) (2011-01-01): 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](https://ar.to/2010/12/rdf-for-ruby.md) (2010-12-30): 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](https://ar.to/2010/12/licensing-and-unlicensing.md) (2010-12-19): 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](https://ar.to/2010/08/red-blood-white-snow.md) (2010-08-12): 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](https://ar.to/2010/04/rdf-nosql-diff.md) (2010-04-22): 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](https://ar.to/2010/04/parsing-rdf-with-ruby.md) (2010-04-21): 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](https://ar.to/2010/04/transmuting-ntriples.md) (2010-04-05): 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](https://ar.to/2010/03/rdf-for-ruby.md) (2010-03-09): 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](https://ar.to/2010/03/grepping-ntriples.md) (2010-03-04): How to process RDF data in the line-oriented N-Triples format by pipelining standard Unix tools such as `grep`, `cut`, `awk`, `sort`, and `uniq`.
- [Dissecting the Unlicense: Software Freedom in Four Clauses and a Link](https://ar.to/2010/01/dissecting-the-unlicense.md) (2010-01-23): 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](https://ar.to/2010/01/set-your-code-free.md) (2010-01-01): 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](https://ar.to/2009/08/inflation-and-the-fall-of-the-roman-empire.md) (2009-08-11): 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](https://ar.to/2008/10/a-timely-history-lesson.md) (2008-10-09): 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](https://ar.to/2008/05/the-lively-road-not-taken.md) (2008-05-27): 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](https://ar.to/2008/04/zero-sum-delusion.md) (2008-04-26): 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](https://ar.to/2008/03/cutting-code-three-doors-down.md) (2008-03-28): 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](https://ar.to/2008/03/finding-clojure.md) (2008-03-26): Clojure, a new Lisp for the JVM, effortlessly stands out from the bunch of nascent Lisps.
- [R5.97RS Scheme Considered Harmful](https://ar.to/2007/08/r6rs-scheme-considered-harmful.md) (2007-08-13): The ballot I submitted against ratifying the final R6RS draft of the Scheme standard, with my reasons.
- [Opinionated Best Practices Elucidated](https://ar.to/2007/07/opinionated-best-practices-elucidated.md) (2007-07-26): Why Ruby on Rails is named the way it is, and how its opinionated constraints can be liberating.
- [Good Weather Guilt](https://ar.to/2007/06/good-weather-guilt.md) (2007-06-20): 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](https://ar.to/2007/04/god-sure-didnt-write-in-java.md) (2007-04-21): 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](https://ar.to/2007/03/pushing-the-envelope-for-private-spaceflight.md) (2007-03-21): 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](https://ar.to/2007/01/five-tidbits.md) (2007-01-31): 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](https://ar.to/2007/01/lessons-from-the-science-of-nothing-at-all.md) (2007-01-04): 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](https://ar.to/2007/01/the-road-to-lisp.md) (2007-01-01): 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](https://ar.to/2006/12/the-universal-timeline-aggregator.md) (2006-12-29): 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](https://ar.to/2006/12/easier-drupal-debugging-with-trace.md) (2006-12-03): Trace, a Drupal module for tracing hook invocations, PHP errors, and database queries, complete with stack traces.
- [Our New Solar System](https://ar.to/2006/08/our-new-solar-system.md) (2006-08-24): 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](https://ar.to/2006/07/spam-filters-alien-technology-and-ruby-on-rails.md) (2006-07-05): 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](https://ar.to/2006/06/geoip-api-for-chicken-scheme.md) (2006-06-19): A Chicken Scheme egg for MaxMind's GeoIP library, which maps IP addresses to countries.
- [Poor Man's MySQL API for Gambit-C](https://ar.to/2006/06/poor-mans-mysql-api-for-gambit.md) (2006-06-11): A lazy man's MySQL API for Gambit-C Scheme, wrapping the `mysql` and `mysqladmin` command-line utilities.
- [Congratulations, Bro!](https://ar.to/2006/05/congratulations-bro.md) (2006-05-30): My brother Alex has won the Slashdot redesign contest.
- [Static Page Caching for Drupal 4.7](https://ar.to/2006/05/static-page-caching-for-drupal.md) (2006-05-28): 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](https://ar.to/2006/02/game-of-life-in-javascript.md) (2006-02-26): Conway's Game of Life, hacked up in an afternoon to get to grips with the new HTML Canvas element.
- [Drupal vs Mambo](https://ar.to/2006/02/drupal-vs-mambo.md) (2006-02-08): My 2005 article on why we abandoned Mambo for Drupal at Xaneon, republished at the request of readers.
- [Macro Expansion Hook for Gauche](https://ar.to/2006/01/macro-expansion-hook-for-gauche.md) (2006-01-12): A snippet for debugging Scheme macros in Gauche, inspired by Common Lisp's `*macroexpand-hook*`.
- [Courier-IMAP to Dovecot Migration Script](https://ar.to/2005/11/courier-imap-to-dovecot-migration-script.md) (2005-11-03): A shell script for converting Courier-IMAP maildirs to Dovecot format, which saves a fair bit of typing when migrating hundreds of mail accounts.
