Author Archives: Philip Cunningham

What Developers Can Learn From Columbo

“You know, sir, it’s a funny thing. All my life I kept running into smart people. I don’t just mean smart like you and the people in this house. You know what I mean. In school, there were lots of smarter kids. And when I first joined the force, sir, they had some very clever people there. And I could tell right away that it wasn’t gonna be easy making detective as long as they were around.”

Columbo (1977)

Software developers work in the mental arena; they use their mind’s eye to abstract over concepts that often don’t exist in the physical realm and manipulate them to capture business rules and models. Consequently, they are notoriously careful about preserving the image of their own intelligence, substituting personal development for narcissistic self-preservation. Maybe if they were a little bit more like the fictional character Lieutenant Columbo, they could turn their intellectual naivete to their advantage by using it as an opportunity to learn from their peers and colleagues.

Columbo’s Skill

The characterisation of Columbo is an excellent study in Socratic irony — to the suspects in each episode he is a fumbling, feckless, frump of a man but to the audience he has no less deductive prowess than Baker Street’s finest. His comfort with his outward stupidity is what keeps others underestimating him and is what ultimately leads to their demise. Put as as coldly as this, you’d be forgiven for thinking he was a manipulative wretch, but he is otherwise professional and warmingly disarming.

What Are You Hiding?

Have you ever rebased a new feature to within an inch of its life because you didn’t want anyone to see the stupid commits in your feature branch? Pretended to know exactly what a colleague was talking about when you started at new company because you were afraid of being exposed as an imposter? Pushed an entire hobby project to Github in a single commit because you swore at yourself in a three of the original commit messages for being a bit of a shit gibbon? Sound familiar? If it does then you traded the opportunity to have a discussion for vanity.

Get Comfortable With Your Own Stupidity

It simply isn’t possible to be well-read in all areas of computer science, nor is it possible to be familiar with the ever-growing set of tools we have at our disposal. But by being open about, and accepting of, your lack of knowledge you open up yourself to the opportunity of having a discussion with your peers and colleagues — don’t preclude this by trying to save face because you’re the only one who’ll lose out.

Continue reading

Posted in News | Comments Off

Map from Reduce

def _map coll, fn
coll.reduce [] { |coll, val| coll.concat([fn.(val)]) }
end

_map [1, 2, 3, 4, 5], ->(x){x*x} # => [1, 4, 9, 16, 25]
Continue reading

Posted in News | Comments Off

Dwarf Fortress: First World

Continue reading

Posted in News | Comments Off

How We See Ourselves

When I was kid we drew pictures of ourselves and our school put them on a tea towel to sell to parents. Strange that even as a ten year old I knew I wanted to be a programmer (3, 10).

Continue reading

Posted in News | Comments Off

LittleLGP – Linear Genetic Programming in Clojure

LittleLGP is a little genetic programming (GP) project written in Clojure. It evolves populations of two distinct classes of programs that have a typical predator prey relationship. One class of program seeks to destabilize the environment whilst the other seeks to bring order.

This project was my first attempt at writing a GP program and my first program written in Clojure. Overall, I really enjoyed working on it, even if the final product isn’t great! The code is available to peruse on Github.

Continue reading

Posted in News | Comments Off

LittleLGP – Linear Genetic Programming in Clojure

LittleLGP is a little genetic programming (GP) project written in Clojure. It evolves populations of two distinct classes of programs that have a typical predator prey relationship. One class of program seeks to destabilize the environment whilst the other seeks to bring order.

This project was my first attempt at writing a GP program and my first program written in Clojure. Overall, I really enjoyed working on it, even if the final product isn’t great! The code is available to peruse on Github.

Continue reading

Posted in News | Comments Off

Computer Science and Religion

I have said that computer science is a lot like magic. And it is really good that it is like magic, because there is also a bad part in computer science that is a lot like religion.

– Harold Ableson (1985)

Continue reading

Posted in News | Comments Off

Computer Science and Religion

I have said that computer science is a lot like magic. And it is really good that it is like magic, because there is also a bad part in computer science that is a lot like religion.

– Harold Ableson (1985)

Continue reading

Posted in News | Comments Off

A Real Code Retreat

A real code retreat would be a month of slow hacking + tea brewing. No one would speak. We’d lake swim. We’d delete all the code at the end.

Alex McLean (2013)

Continue reading

Posted in News | Comments Off

A Real Code Retreat

A real code retreat would be a month of slow hacking + tea brewing. No one would speak. We’d lake swim. We’d delete all the code at the end.— Alex McLean (@yaxu) March 25, 2013

Continue reading

Posted in News | Comments Off