Monthly Archives: May 2008

OO is not the One True Paradigm, but Haskell still sucks at it

I just read osfameron’s Readable Perl talk. It’s a pretty typical language advocation talk, nothing special, but it reminded me of Perl. Those who have not been reading my blog since 2005 may not know that I used to be a Perl nut. I was even on the Perl 6 design team, [...]

The Moment last Monday

Last Monday, “The Moment” (def: Nolan and whoever else) had a jam session at my house. I got my whole rig out, indicating this was a special occasion (first jam in more than a month).

1 – Great funky track. It’s rough going now and then, but has some incredible passages, and is definitely [...]

How to play improv that doesn’t suck

Before we begin, a little shameless peddling: SNW was my band before it, er, disbanded. I consider that “improv that doesn’t suck”. If you think it sucks, then you probably won’t agree with my conclusion.
Two weeks ago I attended an open mic night at Cafe Babu, a fabulous musician-supporting cafe in Boulder. [...]

Making Twilight Imperium a bit less random

Twilight Imperium is a marvelous board game introduced to gamedev by Hagan Koopman (“King Koopman?”) some time ago. It is ridiculously complicated, has a 60 page dense rule book, and takes 15 hours to play if everybody already knows how to play. I used my roommates’ TI parties as an excuse to go [...]

Know any good GUI languages?

Recently an urge has been growing inside me. I have been wanting to play with graphical programming; I believe the age of textual programming is nearly over1, and I want to experiment with the next phase.
I’m asking for recommendations for languages or libraries in which to create this experiment. It’s purely an experiment, [...]

Symphonic Poem no. 2

Here is the second in my series of symphonic poems. Still not happy with the ending, not because it’s not a good ending, but because it comes too soon. I want this piece to be about three minutes longer. I love it though, it is possibly my best work, so its length [...]

Isabelle you bitch!

I finally got Isabelle working. The installation instructions on the website make it seem simple. And it is. It’s just that many things can go wrong and they don’t account for them.
Here’s what I did: Got the source for polyml, built and installed it in /usr/local. Got the [...]

Session Types are cool

I just read a tutorial on Session Types. Session Types are a means for statically verifying a protocol between two (or with the new release, more) parties. It is what Erlang’s type system would be if Erlang had a type system.
The tutorial is very good, so I won’t belabor the point by reintroducing [...]

Enumerating a context-free language

Here is a familiar context-free grammar for arithmetic expressions:

S ::= add
add ::= mul | add + mul
mul ::= term | mul * term
term ::= number | ( S )
number ::= digit | digit number
digit ::= 0 | 1 | … | [...]

Set Selectors

I am writing a poker game, and I got mildly annoyed when I went to write the hand classification functions. There was a disparity between the specification and implementation of poker hands; I had to come up with an algorithm to match each type. I didn’t like this, I want the code to [...]