Blog Archives

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

Python / Emacs setup

When I got a new computer a few days ago, I installed the latest version of Emacs, 24.2, and broke my Python environment. I decided to re-evaluate my environment and start over. I asked a question on the Python Google+

Tagged with: ,
Posted in Python, 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

Fractured work

Vivek Haldir’s recent post Quantum of Work points out something obvious in retrospect: programming is intrinsically fractured. It does little good to tell a programmer to unplug and concentrate. He or she cannot work for more than a few minutes

Tagged with:
Posted in Software development

My Channel 9 interview from Brisbane

Here’s an interview I did with Microsoft Channel 9 right after my talk in Brisbane. You can find the interview in multiple audio and video formats on Channel 9.

Tagged with:
Posted in Software development

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