By Analogy

Wired: So, where are you headed? Are you trying mostly to understand human creativity? Or are you trying to replicate it?


Well, you catch me in a tricky dilemma here. I want any computer program that my students and I work on to delight me with its cleverness. I want it to outclever its programmers. But at the same time, if after 10 or 20 years of work my program composed a great novel, made a series of great mathematical discoveries, or wrote lots of great one-liners, I would be terribly distressed. I feel the human spirit is infinitely more complex than anything that we’re going to be able to create in the short run. And if we somehow did create it in the short run, it would mean that we aren’t so complex after all, and that we’ve all been tricking ourselves.

Take music. Some of my favorite composers are Chopin, Bach, and Fauré. There is something so deep about them. Or take Billie Holiday, singing with some of her accompanists in the 1930s – playing and improvising. Now, if all that incredible poignancy turns out to be something that can be mass marketed on a chip, it will destroy my image of something very deep and sacred to the human spirit. I’ll just have to eat my words and say, “Well, I guess all that complexity was just another kind of circuitry we can manufacture.” You want to write some new Bach music? Just type in b-a-c-h, hit carriage return, and, five minutes later, you’ll have a whole new Mass.

If that were the case, I would be devastated. If such minds of infinite subtlety and complexity and emotional depth could be trivialized by a small chip, it would destroy my sense of what humanity is about – what humans are about, what love is about, what caring about people is about, and what humor is.

Wired: But what if it took several centuries of hard work to make a device that could spit these things out? And what if it wasn’t a chip, but something about the size of a refrigerator? Would that make you feel better?


Only if the refrigerator had emotions as complex as ours. Let me read you a bit from Gödel, Escher, Bach: “A ‘program’ which could produce brilliant music would have to wander around the world on its own, fighting its way through the maze of life and feeling every moment of it. It would have to understand the joy and loneliness of a chilly night wind, the longing for a cherished hand, the inaccessibility of a distant town, the heartbreak and regeneration after a human death.

It would have to have known resignation and world-weariness, grief and despair.” The refrigerator couldn’t be stationary.

It would have to acquire its abilities by struggling in the world. By failing, succeeding, and socializing.

Read more

SML syntax coloring and indentation with Aquamacs

Figuring out how to get SML syntax coloring and indentation to work with Aquamacs was a little bit of a challenge. Assuming you have Aquamacs and sml already installed:

  1. Get sml-mode, available here. You’ll want the latest version.
  2. Open up the file ‘Makefile’. You want the directory ‘site-lisp’ to end up in ~/Library/Application Support/Aquamacs Emacs/ instead of /usr/local/share/emacs/ where it would install otherwise, so change the ‘prefix’,'datadir’, and ‘lispdir’ variables accordingly.
  3. The info doc will need to end up in /Applications/ instead of /usr/local/info, so change the ‘infodir’ variable accordingly.
  4. Open up terminal and cd to the folder where the sml-mode files are located. Run the command ‘sudo make file’. You will need to enter your administrator’s password.
  5. The files should have installed correctly, and Aquamacs should now have syntax coloring and indentation for SML!

For the lazy man who doesn’t want to muck with the Makefile, you can also just run the ‘sudo make file’ command and copy over the ‘site-lisp’ directory and ‘’ from their default install locations to the bolded locations above.

Browsing CloudApp files with Google

When you drag a file to CloudApp’s menubar app, it produces a link that you can share with whoever. While it is easy to guess “short links” and come upon random files (try and change some of those letters), it becomes nearly impossible to guess URLs as the links become longer. The “long links” are 20 alphanumeric characters.

Google’s indexing, however, makes it very, very easy to browse people’s “private files”. By using the “site:” search operator, you can browse files on CloudApp, including the 20 alphanumeric character links, without needing to guess 20 characters. Not sure how Google chooses which links to show.

Try it here. The long links start appearing on the second page of results.

Is this ethical? Not really sure. It is, however, a reminder that your files are really only private if they are encrypted. At least until this rolls around.

Minecraft Buddy updated to 1.1

I have updated Minecraft Buddy to reflect the changes in the Halloween update. If the app doesn’t appear to update, try deleting it and then re-downloading. Sorry for the annoyance, but I couldn’t quite figure out how to test whether the old database was actually being replaced by the new one. It should have worked in theory; still not sure if it did. I intend to add smelting recipes and plants eventually, as well as creating animated images for variable recipes. Get it here.

Lifehacker Evil Week

Probably the most interesting posts I’ve seen on Lifehacker, including how to pick locks, crack wi-fi passwords, and build bugs.

Evil week at Lifehacker.

Minecraft Buddy

While none of you were looking, I sneakily began playing Minecraft, got tired of switching out from fullscreen to view crafting recipes, and thus created a simple iPhone app called Minecraft Buddy. It lists all of the craftable recipes in a sort of free-form, searchable list (with vague categories). It’s a pretty simple app, but it was my first foray into Core Data, Apple’s way of handling databases. If you haven’t already heard about Minecraft, check it out. It’s a little difficult to explain without making it sound boring, but it’s basically an open sandbox world where you can craft items, mine blocks, and create fantastical structures and, more recently, circuitry. Try explaining that to people and they’ll scoff at you, but show them a demo, and they’ll want to watch you play for hours. Oh, and after you get sick of having to switch out from fullscreen, please check out Minecraft Buddy. It’s free and apparently semi-popular:

In the top 200 for utilities.

I haven’t updated it yet to reflect the recent Halloween Minecraft update, but I’ll get to it as soon as I have some time.

Sorting algorithms and their big O’s

Worst Case

Best Case

Average Case

Bubble Sort




Insertion Sort




Selection Sort




Merge Sort








Read the rest of this entry »

“The Greatest Story Ever Told”

A Sonnet

It happened long ago and far away,
A princess died and born to her, a son
He’d later use the force and save the day
But first Luke learned to use a blaster gun. Read the rest of this entry »

A conversation with Fat Tony and Dr. John

In his popular book The Black Swan, Nassim Nicholas Taleb provides an interesting alternative to modern statistical theory. He theorizes that the world is driven by singular events that are highly improbable and bear an extreme impact. Along the way, Taleb heavily bashes statistics, essentially calling it an irrelevant, concocted pseudoscience (he especially enjoys haranguing about the fallacies of the bell curve).

In one fictional example, Taleb tries to show why statistics is so irrelevant to the real world by facilitating a conversation between a street-wise Brooklyner, Fat Tony, and the prototypical nerd/stats star, Dr. John. Let’s have a look (Ch. 4 The Ludic Fallacy, or the Uncertainty of the Nerd): Read the rest of this entry »

Hello world!

iPhone apps that I have created are now on display over on the apps page. Head on over and check them out!

Flipcards was really made so I could learn Objective-C and get the ball rolling. There are certainly a ton of other flashcard applications currently on the market and I would suggest checking them out. If you’re looking for a cheap, simple alternative though, Flipcards does simple text-based flashcards. I’m open to suggestions on how to improve it (currently adding an edit button for individual cards and the ability to add pictures).

Coin Magic! is a unique, easy-to-use magic app. Check out the description on the apps page and the iTunes link for more. I’m really proud of the way it turned out, and, of course, I’m always open to suggestions. I’m currently working on adding different types of coins.

Go ahead and check out both of them, but I would definitely recommend Coin Magic! for anyone with an iPhone. It’s fun to fool your friends and play around with. And I’m not just saying that because I made it.