Monthly Archives: February 2010

Feb 2010 New F# Compiler Bugs

I have been playing around with F# for over a year now, and I really love it. I *think* I have most of it mastered, except maybe active patterns and workflows — but I’m getting close to groking those. Recursion still makes me scratch my head for a bit, but I can recurse with the best of them once I get going.

What sucks is running into bugs — not mine, but the compiler’s. Here are two I ran into last week that’s caused a lot of pain (and information about a possible third one)

Continue reading

Share
If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Answering PG’S Arc Challenge: On the Road to a DSL

I’m building a new startup — it allows people to collect and share quotes from books and web articles. As you add each quote, you tag it. When people vote up or down your quote (or comment on it), the system trains itself to learn which tags each user likes. I may like quotes from American History. You may never want to see any quotes about politics. Over time, the system learns this and acts accordingly. That way you can have a broad range of subjects with a large user base and the app still has the feel of a private forum.

A while back, Paul Graham wrote a language called Arc. After he wrote it, he challenged other languages to create a simple set of web pages in as few tokens as possible. In Paul’s philosophy, the fewer tokens a language has (or needs) the more robust it is. Therefore the more likely it is to last a hundred years

I’ve been thinking about Paul’s assertion for over a year now. I’ve programmed in lots of languages — to me they’re just tools. Old friends. I can’t say I am crazy about one language or another, no matter how many tokens it has.

As I and others pointed out, you can make a computer language do almost anything in as few tokens as you like as long as you’ve set up a DSL (Domain-Specific Language) for the problem domain.

Since I’m building my product almost from scratch, I thought I would take you through a quick tour of how you end up with powerful “languages” that have maximum expressiveness and minimum tokens, no matter what tools you are using. For this discussion, we’ll stick to a (mostly) .NET stack, with some major modifications, but the stack is really not important.

Continue reading

Share
If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

The Outsider

I was reading John Graham-Cumming today — he makes the case that amateurs have a long tradition of helping scientists. He uses several examples, including his own discovery of a data error in some climate data — an error that was promptly acknowledge and fixed by the scientists involved.

Others have made the case that as science gets more and more complex, the amateur really has little to offer professional scientists. There’s simply too much complexity nowadays.

I don’t buy that, and here’s why:

Continue reading

Share
If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.