Blog Archives

Poetic software

From David Jacobs: Code is like poetry; most of it shouldn’t have been written.

Tagged with:
Posted in Software development

Extreme syntax

In his book Let Over Lambda, Doug Hoyte says Lisp is the result of taking syntax away, Perl is the result of taking syntax all the way. Lisp practically has no syntax. It simply has parenthesized expressions. This makes it

Tagged with: , ,
Posted in Software development

Dogfooding

Dogfooding refers companies using their own software. According to Wikipedia, In 1988, Microsoft manager Paul Maritz sent Brian Valentine, test manager for Microsoft LAN Manager, an email titled “Eating our own Dogfood”, challenging him to increase internal usage of the

Tagged with: ,
Posted in Software development

Hacking debt

The term technical debt describes the accumulated effect of short term decisions in a software development process. In order to meet a deadline, for example, a project will take shortcuts, developing code in a way that’s not best for future

Tagged with:
Posted in Software development

A web built on LaTeX

The other day on TeXtip, I threw this out: Imagine if the web had been built on LaTeX instead of HTML … Here are some of the responses I got: It would have been more pretty looking. Frightening. Single tear

Tagged with: ,
Posted in Software development, Typography

Wrapping a function in a burkha

Terrific quote from Jessica Kerr via Dan North: If you feel like you’re missing an inside joke, here’s an explanation. In object oriented languages, languages that don’t simply support object oriented programming but try to enforce their vision of it,

Tagged with:
Posted in Software development

Can regular expressions parse HTML or not?

Can regular expressions parse HTML? There are several answers to that question, both theoretical and practical. First, let’s look at theoretical answers. When programmers first learn about regular expressions, they often try to use them on HTML. Then someone wise

Tagged with: ,
Posted in Software development

Randomized studies of productivity

A couple days ago I wrote a blog post quoting Cal Newport suggesting that four hours of intense concentration a day is as much as anyone can sustain. That post struck a chord and has gotten a lot of buzz

Tagged with: ,
Posted in Software development

Teaching an imbecile to play bridge

From Data and Reality: The thing that makes computers so hard to deal with is not their complexity, but their utter simplicity. … The real mystique behind computers is how anybody can manage to get such elaborate behavior out of

Tagged with:
Posted in Software development

Management principle from Dune

The other day Atamert Ölçgen quoted a passage from Dune in response to something I’d posted on Google+. I haven’t read the Dune books, but the passage puts generalists in a favorable light, and since I’m something of a generalist,

Tagged with:
Posted in Software development

Beethoven, Beatles, and Beyoncé: more on the Lindy effect

This post is a set of footnotes to my previous post on the Lindy effect. This effect says that creative artifacts have lifetimes that follow a power law distribution, and hence the things that have been around the longest have

Tagged with: , ,
Posted in Uncategorized

The value of typing code

Tommy Nicholas recently wrote a blog post advocating typing rather than copying-and-pasting code samples. I thought this was the most interesting paragraph from the post: When Hunter S. Thompson was working as a copy boy at Time Magazine in 1959,

Tagged with:
Posted in Software development

Top down, bottom up

Toward the end of his presentation Don’t fear the Monad, Brian Beckman makes an interesting observation. He says that early in the history of programming, languages split into two categories: those that start from the machine and add layers of

Tagged with: ,
Posted in Software development

Eight fallacies of declarative computing

Erik Meijer listed eight fallacies of declarative programming in his keynote address at YOW in Melbourne this morning: Exceptions do not exist. Statistics are precise. Memory is infinite. There are no side-effects. Schema doesn’t change. There is one developer. Compilation

Tagged with:
Posted in Software development

Rise and Fall of the Third Normal Form

The ideas for relational databases were worked out in the 1970′s and the first commercial implementations appeared around 1980. By the 1990′s relational databases were the dominant way to store data. There were some non-relational databases in use, but these

Tagged with:
Posted in Software development