# Monthly Archives: April 2013

## Reading List for 26 April 2013

Tom Murphy :: learnfun & playfun: A general technique for automating NES games

Wow.

This suggested to me that it may be time to automate the playing of NES games, in order to save time. (Rather, to replace it with time spent programming.)

Ha! I've done that with some (far, far simpler) Android games (e.g. Six Towers, Flow). Beating them is satisfying. Figuring out the rules which best beat them is more satisfying. Teaching those rules to an idiot-savant computer is more satisfying yet.

NYTimes :: William Poundstone :: Unleashing the Power — ‘Turing’s Cathedral,’ by George Dyson

At his 1926 doctoral exam, the mathematician David Hilbert is said to have asked but one question: “Pray, who is the candidate’s tailor?” He had never seen such beautiful evening clothes.

Amazing. I hope my defense is 1% this awesome. I'm seriously considering paying one of my friends to ask this during my talk, just to see how the committee reacts. (Via John Cook)

Stack Overflow :: John Skeet Facts

• When Jon Skeet points to null, null quakes in fear.
• The Dining Philosophers wait while Jon Skeet eats.
• Q: Can Jon Skeet ask a question that even Jon Skeet can't answer?
A: Yes. And he can answer it, too.
• Jon Skeet does not use exceptions when programming. He has not been able to identify any of his code that is not exceptional.
• Jon Skeet can throw an exception further than anyone else, and in less time.
• Jon Skeet only solves NP-awesome problems.
• There simply is no Halting Problem within a 10-meter radius of Jon Skeet, because computers are rightfully afraid to halt in his presence.
• Jon Skeet is beyond Turing-complete; he is Turing-invincible.

True to form, John Skeet's answers are the best ones on the page.

Moneyness :: JP Koning :: Why the Fed is more likely to adopt bitcoin technology than kill it off

e-Literate :: Elijah Mayfield :: Six Ways the edX Announcement Gets Automated Essay Grading Wrong

This could be usefully referenced after pretty much any media discussion of Machine Learning systems.

Turing's Invisible Hand :: Reshef Meir :: Should technical errors disqualify conference papers?

Ken Norton :: How to Work with Software Engineers

Huub de Beer :: Using LaTeX as a Historian

Of all the things I'm worried about w.r.t. transitioning out of academia and into the private sector, potentially being forced to write things in Word again is very, very high on the list. Please, future employer, do not condemn me to the swamps and mires of WYSIAYG.

## Ruby

Coding Horror :: Jeff Atwood :: Why Ruby?

I've always been a little intrigued by Ruby, mostly because of the absolutely gushing praise Steve Yegge had for the language way back in 2006. I've never forgotten this.

For the most part, Ruby took Perl's string processing and Unix integration as-is, meaning the syntax is identical, and so right there, before anything else happens, you already have the Best of Perl. And that's a great start, especially if you don't take the Rest of Perl. But then Matz took the best of list processing from Lisp, and the best of OO from Smalltalk and other languages, and the best of iterators from CLU, and pretty much the best of everything from everyone.

Amen. My Ruby still isn't as idiomatic as I would like it to be, but even with my intermediate level I'm so pleased how it gets out of the way lets me do what I want no matter what paradigm I'm thinking in at the time.

Atwood has this to say himself, which also gets my thumbs-up:

Ruby isn't cool any more. Yeah, you heard me. It's not cool to write Ruby code any more. All the cool people moved on to slinging Scala and Node.js years ago. Our project isn't cool, it's just a bunch of boring old Ruby code. Personally, I'm thrilled that Ruby is now mature enough that the community no longer needs to bother with the pretense of being the coolest kid on the block. That means the rest of us who just like to Get Shit Done can roll up our sleeves and focus on the mission of building stuff with our peers rather than frantically running around trying to suss out the next shiny thing.

I suppose it's in the nature of craftsmen to get a bit giddy about their gear, but at a certain point enough is enough. (This lead to some frustration when I was learning photography a couple of years ago; photography amateurs seem especially prone to gear obsession.) Yeah, definitely choose the right tool for the job, but don't forget the point is the job, not the tool.

I've endured far too many conversations in the break room, and at barbecues, and at happy hour about the supremacy of various languages.

I don't care which languages people are going to be drooling over at SIGPLAN this year.

I don't care what static analysis theorems you can prove using which language.

I don't care how cool your tools are.

I care how cool your results are.

## "Social networks in fact and fiction"

The Endeavour :: John Cook :: Social networks in fact and fiction

In a nutshell, the authors hope to get some insight into whether a myth is based on fact by seeing whether the social network of characters in the myth looks more like a real social network or like the social network in a work of deliberate fiction. For instance, the social networks of the Iliad and Beowulf look more like actual social networks than does the social network of Harry Potter. Real social networks follow a power law distribution more closely than do social networks in works of fiction.

Cool.

I vaguely remember reading about some astronomer's using Homer's descriptions of constellations to pin down dates for various events in the Odyssey. Perhaps it was this PNAS paper by Baikouzis & Magnasco?

It seems however that an accurate historical account might have a suspicious social network, not because the events in it were made up but because they were filtered according to what the historian thought was important.

Indeed. Although I suspect this form of Narrative Bias would be less of a problem with Beowulf, the Illiad, etc., because the composers of those tales, and their audiences, had less exposure to the way fiction is "supposed" to be.

I would like to see someone do similar analysis for contemporary non-fiction. I prefer authors who tell a sprawling, tangled, less narratively driven story (Keay, Mann, Lewis, and Mukherjee come to mind) to one that fits a more conventional structure.  It's difficult for me to accept a story that takes place in a high causal density environment and yet somehow only a couple of people have any agency.

Nate Silver apparently feels the same way:

When we construct these stories, we can lose the ability to think about the evidence critically. Elections typically present compelling narratives. Whatever you thought about the politics of Barack Obama or Sarah Palin or John McCain or Hillary Clinton in 2008, they had persuassive life stories: reported books on the campaign, like Game Change, read like tightly bestselling novels.
— The Signal and the Noise, p. 59

Those are not the books I'm interested in.

NLP is very much not my area, but I can't help but wonder about automatically generating some sort of metric about this for a book. Count up how many proper names appear, and build a graph of them based on how closely together they are linked in the text. (That is, two names appearing often in the same sentence are more closely linked than two which appear in consecutive paragraph.) Perhaps simply looking at the histogram of name occurrence frequency might give you some preliminary ability to separate books into "realistic social structures" and "fiction-like social structures."

## Conway's Game Of Life in APL

APL is the sort of thing I imagine "Programmer-at-Arms" Pham Nuwen used in Vernor Vinge's "Zones of Thought" books. It seems both incomprehensibly magical while also impeccably rational, forming the shortest bridge between what the programmer is thinking and what the computer is calculating.

Of course it also seems like you'd be building a bridge no one else could walk over. Not even you-one-year-from-now. I have a hard enough time figuring out what I was thinking when I read Ruby I wrote a year ago.

For more, here's a written tutorial by the same fellow. It had this helpful poscript regarding "glider guns"

Artillery in a finite manifold is a dangerous business.

Aficionados of the 1979 arcade game "Asteroids", which took place on a torus, will recall that the manufacturers thoughtfully gave their canon a range just short of the screen's circumferences.

Found that out the hard way back in undergrad when we wrote a genetic algorithm which learned to play Asteroids.

## Reading List for 11 April 2013

StackOverflow :: Strangest language feature

JavaScript: I love you, but what the hell? Just... why?

A lot of the oddities listed here are aggressively, in-your-face strange or so quirky you'd never know they're there unless you seek them out. The JavaScript ones would make good examples if Hannah Arendt were to re-write Banality of Evil but make it about 21st century coding: strange enough to be dangerous, but normal enough to be insidious. (Via JamulBlog)

HBR Blog Network :: David Court :: The Case for Crafting a Big Data Plan

The Endeavor :: John D Cook :: How loud is the evidence?

New career goal — get a paper published in which I report my results in decibels.

Coyote Blog :: Warren Meyer :: Government Prioritization Fail: Adding Staff When It Is Least Essential

Marginal Revolution :: Alex Tabarrok :: A Brilliant New Method of Price Discrimination: Flip to Fly

Brilliant indeed. Sign me up.

Would this be better or worse, for both consumers and airlines, if you could list <i>n</i> potential destinations instead of just two?

Turing's Invisible Hand :: Ariel Procaccia :: The economic Turing test

Over a recent lunch, Boris Bukh suggested the following variant of the Turing test: a human and a computer play a game (in the game-theoretic sense). A judge who is observing only their moves must decide with confidence who is the human and who is the computer. The premise is that the human would play irrationally (he’s just a random person off the street), and the computer’s goal is to also play irrationally to avoid detection.

A couple of years ago I worked on an IARPA-funded project which was trying to model cognitive biases of intelligence analysts. They were sinking a lot of money into what Procaccia cleverly calls "Artificial Stupidity."

The Economist: Babbage :: G.F. :: Stick a pin on it

When Charlie Loyd wanted a job at a mapping firm, he did not send out resumés or make calls. Instead, he posted a message on Twitter that linked to a side-by-side comparison of satellite imagery of Cape Morris Jesup, Greenland's northernmost tip. On the left was a lacklustre image with no real detail captured by a NASA satellite and widely used by Mr Loyd's prospective employers; on the right, his own version.

This is inspiring. Literally, it gives me inspiration for ways to up my chances of getting hired.

Wow. That is amateurishly bad. I really hope Fidelity is better at managing money than they are at managing crypto.

I'm routinely surprised (is such a thing possible?) at how lax security is on banking websites. As an example, of the seven different financial institutions I log into weekly, BofA is the only one that bothers to authenticate itself to me. It's 2013. Is two-way auth really that much to ask?

writeLaTeX

How did I not know writeLaTeX existed? This is useful stuff.

(Sidenote: check out this foldable dodecahedron calendar someone created with just a few lines of TikZ.)

## Manfred Mohr

I saw this post on Manfred Mohr's (very!) early digital art literally minutes after picking up a book about Mohr's work from the library yesterday. Total coincidence.

I like a lot of the pioneering digital artists' work. I think the restraints gave them a lot of focus. (Limits boost creativity.) You don't see many of those first generation guys still producing like Mohr does though. It's also refreshingly unusual that Mohr hasn't gotten bogged down in self-consciously retro, 8-bit, glitch kitsch.

(Dear [far too many digital artists]: I also remember that sprite animations were once a cutting-edge thing. Move on.)

Back when I was taking Computational Geometry I remember getting sidelined working out an algorithm based on the six dimensional rotations in Mohr's space.color.motion. At some point I need to dig my notes out for that and implement it.

If you like Mohr you may want to check out this interview as well. I like what he says at the beginning about taking a simple idea and running with it. Also the questions about an artist working like a scientist were good. This also stood out:

So I went higher and higher in dimension and it got more and more complicated. I could do different things, but I could not explain to people because it was so complicated. '6-D cube, what kind of crap are you talking about?'

I've had that experience. Here's a free tip for you: do not try to explain something to a room full of psychologists by beginning "So if you were to imagine yourself moving around on the surface of a 35-dimensional hypercube..."

This interview also displays the link between algorithmic art and political economy. Mohr sets up a system, and lets it do its thing. The artwork emerges from the software. Legislators and regulators and executives set up a system and it does its thing. The economy emerges from society. Mohr's work, like all good algorithmic art, reminds me of Hayek's description of spontaneous order: "of human intent but not of human design."

PS Prosthetic Knowledge points out that Mohr also maintains a very thorough YouTube channel. Would that all digital artists did similar.

## Reading List for 2 Apr 2013

Alan Winfield's Web Log :: Extreme debugging — a tale of microcode and an oven

"Components on the CPU circuit board were melting, but still it didn't crash. So that's how I debugged code with an oven."

If that's not a closing line that gets you to click through, I don't know what is.

Forbes :: Tomio Geron :: Quantopian Brings Algorithmic Trading To The Masses

Why didn't this exist five years ago? I would have had *so* much fun. But no, it can't get invented until I'm up to my ears in dissertation and have already adopted half a dozen new hobbies in the last two years. (Via the Lab49 Blog)

Marginal Revolution :: Alex Tabarrok :: Cognitive Democracy: Condorcet with Competence

More generally, if the voter competences levels are $\{p_1, p_2, p_3\}$ then the cognitively most efficient voting scheme gives each voter a weight of $\log \left(p_i/(1-p_i)\right)$ the result is remarkable for a being such a simple formula of the voter’s own competence level.

There are a ton of links between voting, structured finance, and machine learning ensembles. For example, the logit equation Tabarrok gives is also used to weight members of Bayesian Model Combination ensembles, and is closely related to the weighting scheme used in AdaBoost.

I have every intention of writing about the overlaps between these topics one day, but until that day...

Leonard's critique is brilliant in its simplicity. RTWT.

Very briefly: if it is in fact so simple to "nudge" people between sets of preferences, how can you even claim they have real preferences? If people's preferences for apples or cookies is all an artifact of which comes first in the cafeteria line then central planners aren't allowing people to act on their low discount rate preferences instead of their high discount rate preferences, they're creating those preferences. David Henderson has a more in depth summary, but do read the original.

chrmoe :: LED Cube 8x8x8 running on an Arduino

Now that I've got a Raspberry Pi up and running I need to dive into Arduino.

I'm going to build one of these to cut my teeth, then before you know it I'll be giving Leo Villareal a run for his money 😉