Required reading for software engineers: The Inmates are Running the Asylum

After reading the Inmates are Running the Asylum, by Alan Cooper, it’s very easy to see its influence on Bret Victor.  Unfortunately, for the software industry, this book is as true in 1998 as it is today.  My two takeaways were: Interaction Design, i.e. how humans interact with a product, is hard and if software engineers are left to design the product, it will lead to a frustrating experience.

The book is well worth a read to anyone who has experienced, as Cooper described, “Computer Tourettes.”  For example, I have an extremely feature rich thermostat; it can do all sort of things like tell me the time, vary its temperature at different times of the day, and I’m sure other things.  I still can’t figure out how to change the temperature setpoint RIGHT NOW.  This is in contrast to my barometer, where I can simply compare the setpoint marker to the current pressure.  I would much rather have the interface from my barometer on my thermostat.

Without looking at the instructions, which button(s) are required to set the temperature?
Without looking at the instructions, which button(s) are required to set the temperature?
I'm starting to realize that when "old people" grumble about analog vs digital, what they really mean is "good design" vs "bad."
I’m starting to realize that when “old people” grumble about analog vs digital, what they really mean is “good design” vs “bad.”

Continue reading “Required reading for software engineers: The Inmates are Running the Asylum”

Hi, I’m Tom Pynchon

There are a handful of authors for whom I eagerly wait their next book: Neal Stephenson, William Gibson, Haruki Murakami (ok, I wait for the translation of his books), and Thomas Pynchon.  Bleeding Edge is Pynchon’s latest book and it will be released on September 17th; I already have it pre-ordered.  I was first introduced to Pynchon by way of Gravity’s Rainbow, which was an experience and I’m looking around for a house on top of which I can grow a banana farm.

To build even more anticipation for the book (not that any is really needed), Penguin Press released a Pynchonesque book trailer.  From the t-shirt, to the glasses, to the hours at Zabar’s, this trailer is hilarious.

Continue reading “Hi, I’m Tom Pynchon”

Innovation and The Future of Programming

Bret Victor is one of the best presenters I have seen.  With very simple slides, he delivers powerful messages.  I first learned about Bret by watching his Inventing on Principle presentation, which was inspiring in its own right. But his recent “The Future of Programming” delivers another faith-shattering punch.  You should go watch it.  Seriously.  I’ll wait.

Continue reading “Innovation and The Future of Programming”

Double Doctorow

Between my fall and winter quarters, I finished two great books by Cory Doctorow.  I also read Herman Hesse’s Stepphenwolf, but I don’t think I am ready to get into that one at the moment.  The two Doctorow novels were Little Brother and Pirate Cinema and I’m a bit surprised at myself for waiting this long.

How can I blog about Cory Doctorow and not include relevant XKCDs?!?!

I was in college when Cryptonomicon by Neal Stephenson was released and that book inspired me to study the field of network security and cryptography.  So much so, I left a rather geeky acknowledgment to Neal Stephenson in my undergraduate thesis.  Little Brother would have been equally inspiring had I read it when I was 19.  This is an amazing novel.  While technically a young adult novel, it deals with critical social issues involving privacy and technology.  It’s also filled with references to actual projects and privacy fighting technologies (complete with bibliography!).  In the true spirit of the book, it’s available to read for free (and for remixing) via a Creative Commons Licence from the website.  The afterward by Bruce Schneier is a nice touch.  For the security minded, Bruce has a great blog and according to the “Insider’s TSA Dictionary,” is now a verb.

After that I burned through Pirate Cinema, another great read.  Perhaps more appealing to a general audience, this book focuses on copyright issues specifically involved with digital media.  Like Little Brother, this book is also available for free on the website.  Not surprisingly, it has been recommended for a Prometheus Award by the Libertarian Futurist Society.  Little Brother was awarded the honor in 2009 and Ready Player One, another great book which is filled with 80s references, was awarded the prize in 2011.  Fittingly, RPO’s audiobook is narrated by Will Wheaton (strong emphasis on the wh).

Another good one is here.

For those who like to listen to author interviews, there is a good behind-the-scenes interview about Pirate Cinema over here.  Also Little Brother‘s sequel, Homeland, is scheduled for release this February.  Makers and Rapture of the Nerds (this guy writes a lot) both look fun but for the next ten weeks I’m submerging into two more graduate classes: Data Structures and Algorithms II and Advanced AI, so I’m not sure I’ll get to them anytime soon.  I may have to sneak in Homeland though, midterms be damned!  So between the classes and AI Winter, which I’m planning on attending, I’m going to be very busy.

Some remarks on *Some Remarks*

Neal Stephenson fans will love Some Remarks.  Eighteen articles dating from 1993 to 2012 and ranging from less than a page to the epic 118 page WIRED article, “Mother Earth, Mother Board.”  I had missed some of his short stories along the way, so I think the collection is a fun trip.  Short stories like “The Great Simoleon Caper,” detailing a country-free digital currency (think Bitcoin) make me want to go back and read Snow Crash.

The newest article with a clever name, “Arsebestos,” describes how sitting on one’s “arse” all day is killing us.  Of course, to those that have read REAMDE, one can’t help but to think of Skeletor, the once morbidly obese MMORPG player who replaced his chair with a treadmill and now has ridiculously low body fat.  Arsebestos expands on that idea with the standing desk concept: replace your desk at work with a slow speed treadmill.

But “Mother Earth, Mother Board” really is the centerpiece of the collection.  A mere essay by Stephenson standards, it is a Depth-First-Search into the cable laying industry of 1996.  Ok, it’s a bit dated, but it’s a true microcosm of Stephenson’s exhaustive writing style.  Lastly, the included forward to David Foster Wallace’s Everything and More, makes me want to go out buy that book. In the little I have read of DFW, I can see why he resonates with Neal.

In more mundane news, I’m a bit busier than usual at the moment with two classes: Operating Systems and Introduction to AI.  Both are fun so far, but very project intensive. The OS class will be a look into the linux kernel, after this first project implementing our own shell. When I get to write comments like :

Reap all Zombies!

How is that not fun?!?  The first project for AI is to write a solver for a sliding puzzle game in LISP. If I did any programming in LISP in undergrad, I can’t remember it.  But, the plus side is that my emacs-fu will be that much better after this!

Emacs Wizardry: markdown-mode


I have made an amazing discovery recently.  While its not quite an achievement like the Curiosity rover (Mr. Rover has been entertaining to follow on Twitter) it certainly has brought me great joy nonetheless.  It is Jason Blevin’s markdown-mode.

Back in this post I mentioned that I would be using Emacs more routinely, to include editing these blog posts which I have been doing so far.  But to get the formatting just the way I like it, I’ve been using html-mode and editing the raw html and then uploading it to WordPress.  This wasn’t all that bad, but I’d have to remember the paragraph tag for each paragraph, use the right href, etc… Word wrapping was an issue too and I would have to fill / unfill paragraphs prior to uploading as well.

This is no more.  Using markdown-mode I can edit in the lightweight markdown and after installing markdown (via brew install markdown on my mac), I can quickly generate the html from the text. I’ve used github’s flavored markdown (gfm) before, but it never clicked with me to use it for blogging until I did some googling. Conveniently, gfm-mode is also available.

emacs (specifically aquamacs24 built from source at github) with the top buffer in markdown-mode and the bottom buffer showing the html.

I realized that I’ve just geeked out on Emacs, but very much in the Neal Stephenson definition from “Tune On, Tune In, Veg Out” in Some Remarks, which I have been enjoying lately:

“To geek out on something means to immerse yourself in its details to an extent that is distinctly abnormal-and to have a good time doing it.”

My Emacs usage has drastically increased now that I’m back at work, so there will be more geeking out in the future.

But first, from that same article, another great Stephenson quote (that and I’m enjoying the simple blockquote markdown syntax):

“The few conservatives still able to hold up one end of a Socratic dialogue are those in the ostracized libertarian wing-interestingly enough, a group with a disproportionately high representation among fans of speculative fiction.”


Once in a blue moon or a Neal Stephenson public appereance

Neal Stephenson has really come out of his shell recently.  While never quite as recluse as Salinger, this is the same Stephenson who published an essay on why he is a bad correspondent (this essay used to be online, but it is now in his Some Remarks collection).  He has even tweeted thirteen times this year, almost matching his fifteen tweets since 2010.

Not that I’m counting his tweets (ok, some of those were retweets), but while he’s between books, it’s nice to hear from one of my favorite authors.  The topic of his public conversation lately has been a Kickstarter project about CLANG, a realistic sword fighting game / API.  A very detailed writer, “Umberto Eco without the charm” so says the NY Times about Snow Crash, Stephenson incorporated some swashbuckling scenes back in the Baroque Cycle, with which he was admittedly dissatisfied.  However, since then he wrote the Mongoliad, a western martial arts online-novel and now CLANG, to make up for it.

Continue reading “Once in a blue moon or a Neal Stephenson public appereance”

Visiting Turing’s Cathedral in NYC

NYC has some of the best places to read.  Reading on the bus or subway makes the trip to the East Village fly by and certainly there are plenty of places to sit and grab a coffee, but my absolutely favorite place to read is in the NYPL (Stephen A. Schwarzman Building) Rose Main Reading Room.  This beautiful 300 feet long room with 50 foot ceilings reminds me of the monk’s copy room from Umberto Eco’s Name of the Rose.  The room is filled with students studying, readers reading and visitors, well… visiting.  It is an absolutely incredible place to read and for anybody who enjoys books, or is a fan of Ghostbusters, the Stephen A. Schwarzman Building is a must see.

Rose Reading Room
NYPL Rose Reading Room via Wikipedia

What better book to read, than Turing’s Cathedral by George Dyson.  This book turned out to be a pleasant surprise.  Focusing on the a history of the Institute of Advanced Study (IAS) and the men and women who worked there in the first half of the 20th century, it also contains a detailed account of the creation of what we now know as the computer and thoughts on the future of computing, from 50 years ago.

According to Dyson’s account, we owe computing to the race for the hydrogen bomb and meteorology (or as some in the Navy affectionately refer to its Aerographer’s: “Weather Guessers.”) While weather prediction didn’t quite pan out, the computer at the IAS helped perform the calculations required for the H-Bomb.  This was Princeton with Einstein, Oppenheimer, Von Neumann, Goedel, Feynmann, Ulam and many other great minds.

I recommend this book for the history alone, however, what I found most fascinating were the predictions of the future of computing, from those that created it, compared to the state of the art today.  For example, the computer at the IAS was the closest manifestation of Turing’s Universal Machine for that time.  However, a more powerful concept of computing is to use an Oracle Turing Machine, which is a fictional machine that can answer yes or no to difficult questions.  One of Dyson’s insights is that we’ve come close to the Oracle with the Internet today.  With google, answers are a search (or O(1)) away.  Other applications enumerated by Dyson include digital self-reproduction, artificial intelligence, and politics.

Yet, after reading this book, I can’t help but to think of Neal Stephenson’s thoughts on Innovation Starvation.  The first applications of computing, the bomb, game theory, and more came from the original think tank, where useless knowledge was considered useful.  All of which have significantly impacted our lives.

I’ve noticed that I’m most productive and engaged when I’m working on a project that truly interests me, from procedurally generating quests to learning about John von Neumann.  And what better place to do all of this then in the NYPL Rose Reading Room.

Mine for gold at home

There are far more parallel, virtual economies in existence than I realized.  For example, I knew that one could spend cold, hard cash on World of Warcraft gold (it looks like 3,000 WoW gp goes for 6.76 USD).  After all, this was one of the inspirations for Reamde by Neal Stephenson, in which Chinese gold farmers create a virus with a probably-not-intentionally-misspelled moniker, “Reamde” which takes the user’s hard-drive hostage.  In the book, the form of payment required is the in-game currency, which has a

Stephenson's latest book, image via Wikipedia

convertible dollar amount.  This was actually quite low in Reamde, but anyway, Stephenson’s plot twists ensued.  The point is, USD can be converted in WoW gold, and back to whatever currency you like and quite a few people are doing just that.

Building upon that, there are several other games that have similar currency markets.  Second Life has Linden, which is traded against most real, global currencies.  However, what I had heard of, but never really investigated, is a digital currency that exists in the “real” world, designed not to be a parallel economy, but as a fully functional, self standing currency.  It’s called Bitcoin (trades at 5.53 USD to 1 BTC at the time of this writing).

Somehow, I found myself doing a depth-first-search on Bitcoin information this weekend, when I should have been studying for my midterm.  Bitcoin could be a graduate seminar on economics and seeing how I only took Econ 101, which was 10 years ago, I am not qualified to talk to the Bitcoin economics.  There is, I believe, a lot of people spending real dollars on Bitcoin speculation and because of this, I recognize that Bitcoin has actual value.  Just like the WoW economy, someone is willing to pay 100 USD to buy a WoW character that is level X, or Y amount of Gold.  Otherwise, said individual would have spent hours doing that himself.

There is a lot to Bitcoin, and subsequently, there is a lot of information to digest.  However, there are some intriguing aspects to Bitcoin.  First of all, the creator of Bitcoin is an enigma.  Satoshi Nakamoto creates Bitcoin, and then vanishes.  He publishes his system design and then is no longer heard from.  In his wake, are numerous conspiracy theories worthy of Eco’s Foucault Pendulum and Prague Cemetery.  (Both excellent books).

Secondly, Bitcoins enter the economy through mining, and anybody can be a miner.  The mining process is quite a bit technical and relies on cryptography.  If you are content to know that mining can simply be done by running a computer program until it “strikes gold,” you are better off going to the next paragraph.  Otherwise, what this program tries to do is calculate a nonce, such that the SHA256 hash of a “block header” (in which, the nonce is stored), is below a certain target value.  For those that stuck around, a hash

The bitcoin logo
Image via Wikipedia

function is a “one-way” function where it is easy to calculate “in-one-way” but hard to go in reverse.  For example, given two prime factors (that you know are prime) it’s easy to multiply them together and produce a number consisting of prime factors.  However, given the number, it’s hard to find the prime factors.  So, Bitcoins are mines by your computer as it chops its way (computationally) at digital ore.  If you computer strikes gold, but solving the equation, you receive 50 BTC (at the moment, this value will change).  Just like mining for real gold was hard, so it is mining for Bitcoin.  See, that wasn’t so bad!

So, the cool thing is, you can be a Gold miner 🙂

Lastly, there is a degree of anonymity in this system, which is also interesting.  If Alice gives money to Bob through the Bitcoin network, the enter network will know that a transaction took place, but it won’t necessarily know who Alice and Bob are.  It again uses some cryptography,  this time based on Elliptical Curve Digital Signatures and Public / Private Key pairs, but I think I’ve pushed it with the mining bit.  (sorry, couldn’t resist the pun).

I think the idea of Bitcoin is fascinating.  The mystery behind its creation, its viral peer-to-peer network and its cryptographic foundation make it very interesting and I haven’t even touched upon the economic principles.  There are, I think, a few questions that aren’t satisfactorily answered.  For example, since there are a fixed number of Bitcoins, how is the currency not going to constantly deflate?  Also, like the gold rush, those that are selling the gold mining equipment are making the most profit.  In Bitcoin’s case, there are services where you can join a pool of Bitcoin miners, for a small percentage.

Would I put my life’s savings into it?  Nyet.  But I could see myself using it to buy shwarama in Midtown.

New Gibson

Coincidently, after just mentioning Gibson in the post below, I saw there is a new collection of his essays.  He has made a shift from future-set cyberpunk to novels set in the present, which at first disappointed me in Pattern Recognition.  I think I’ve become a better reader since then, where I realized that it is silly to react that way if an author deviates from his norm, like Neal Stephenson’s did in REAMDE, which I thoroughly enjoyed.  What I found ironic about this, is that Neal basically said he was doing this and wanted to write a pure plot based action novel, to which there was much grumbling when readers realized he delivered on his promise.  I’m sure Neal half-expected such a reaction.  Anyway, I deleted my only book review (ever) on Amazon of Pattern Recognition, a three-star and rated “not helpful” review, once I had this revelation.  But this series is interesting, as Gibson explores viral ideas in “the now” like brand-less clothing in Zero History, and locative art (previously mentioned).