Users’ names and usernames

A few years ago my friend Jack built a cute little application. It was a text message multiplexer. You could send it a text message and it would send that message to all of your friends. You signed up using your phone number and gave it your name. It was somewhere between addictive and annoying […]

Social media in the Sahara desert

My wife and I just finished a week long camel trek in eastern Morocco with Berber nomads. While our hosts had no formal education, no running water, no grid electricity (just a little solar), no flush toilets and no floors in their homes, no land lines and no computers they did have mobile phones. Pretty much everyone seemed […]

Implementing text pattern matching languages in LLVM

We use pattern matching languages all day long. From shell filename matching rules (fnmatch) in our shells and shell utilities like find and locate to regular expression matching in programming languages, configuration files and shell utilities like grep and sed. These have typically been implemented by parsing the pattern into data structures and walking those […]