Comparison of Haskell and Scheme

Here’s a nice comparison of Haskell and Scheme [raganwald]. Not a “vs”, but a thoughtful, informed, and reasoned look at a number of their respective features.

I’m still on my Haskell learning curve, and I can vouch for the incomprehensibility of monads. Thankfully I haven’t had to do anything yet that required actually understanding them, though I have used them… :-)

This paragraph grave me pause:

If you’ve got a class full of first year computer scientists, you can teach them to read and understand the full formal semantics of Haskell. You can make it completely non-mysterious. Everything can be explained by the standard lambda calculus α, β, and η rules, with no hidden complexities. It’s all remarkably straightforward.

In fact, it made me sigh, imagining first years getting formal semantics, lambda calculus, and even, well, Haskell. Another world…

“Intuitive” means “familiar”

Jef Raskin (12 years ago): “Intuitive” means “familiar” [raganwald]

His story of the Finnish teacher doesn’t surprise me. In my first job (ie in about 1995 or so) a colleague reported showing one of the admin girls a mouse (upon upgrading her computer from DOS to Windows), and her doing exactly the same thing: lifting the mouse up and waving it around in the air. You’d have a hard time reproducing this result now, I guess, because even someone who’s never used a mouse (think: your gran) has probably seen them used on TV, for example.

Happy-slapping and protester-tasering: ban it all!

There’s a story in today’s Guardian about banning happy-slapping videos on sites such as Youtube. The journalist understates the difficulty and complexity of this issue beautifully:

The issue is likely to be raised when MPs debate the violent crime reduction bill next week, but it is unlikely an amendment on such a complex area of broadcasting freedom could be put together in an acceptable form over the weekend.

Unlikely? Over the weekend? D’ya think?

It reminds me of the debate over the hate-speech bill, one of the counter-arguments to which was that the law, as framed, would also in fact exclude much comedy. Gladly this doesn’t seem to have transpired, but still, the powers are there and could be used.

In particular, if you ban YouTube from hosting disturbing videos of indiscriminate and unwarranted violence, that law could well ban videos such as these, of protesters being tasered. Some of these are truly disturbing, and not the kind of thing you’re going to see on BBC News any time soon – but their availability is progress in the battle towards an open society.

Robert Fisk was on Desert Island Discs yesterday. Say what you like about him, he spoke well, and clearly sees the job of the journalist as telling the truth – whatever it is, however unsavoury. Youtube and its ilk are an opportunity for anyone to engage in telling the truth as they see it, and in documenting world events. News is a highly politicised monetised commodity (hello Mr Murdoch), and any movement towards decentralising news gathering/distribution to the public at large is progress. Something else Fisk said, IIRC, was that if the public saw the reality of war as he had seen it, “the dogs eating the corpses of children” as he put it, they would never, ever, support any war. A law which bans violent videos from the internet runs counter to that trend.

The only mitigator would be a “public interest” clause, I suppose. So if you seeing a violent video law being framed without such a clause, protest. Even so, I’d argue it’s problematic…

Brazil collision: Too much precision a bad thing?

Insightful and non-intuitive – just the way I like it: increased precision in avionics arguably increases the risk of mid-air collision.

How statistics won the war

It wasn’t all cryptography, you know; or physics; or thousands of men lobbing hot fast-moving shards of metal at each other repeatedly.

Oh no… Stats was critical too [schneier].

Design patterns as responses to programming language deficiencies

We teach a third-year/MSc module called “Design Patterns and Generic Programming”. Instantiated by Oliver Kullman, and now taught by Chris Whyley, it introduces these topics in the context of C++ (and is, for most of our students, their first exposure to that language).

On Friday I suggested something to Chris which I’d been mulling over for a while, namely an “anti-patterns” lecture at the end of the module. It would be “anti” in two senses… First, a discussion of the idea of antipatterns: things to avoid. Second, and more interestingly, a discussion of the idea that patterns are just a stop-gap response (albeit a highly rational one) to deficiencies in your programming language, and that more advanced languages make them trivial or meaningless. Chris thought this sounded good, so now I’ve got to gather my thoughts. In timely fashion, along comes this piece (via raganwald) expounding the very same idea. (Disclosure: it’s not my idea, it’s something I’ve been seeing mulled over and expressed in varying depth and eloquence on the blogosphere of late.) This post is particularly interesting in that it looks for pre-GoF patterns, recognising that patterns aren’t a specifically Object-oriented phenomenom, but rather a general software development phenomenom, and we can excect to see new patterns in the future, as the patterns of today fade into the undistinguished background.

4 TFTs… That’s just being greedy!

Drool…

Tail call optimisation at Raganwald

I command all of my students reading this to go and read this piece on tail call optimisation. If you’re anything like me, you’ll need to read it at least twice, write out the ruby examples by hand so they actually enter your brain (maybe I just needed more coffee), and follow many of the links for further explanation. It will be well worth it. This man has intelligent things to say, with which it is worth being familiar, if not intimate.

The Daily WTF

In the spirit of the RISKS Digest, with which regular Gimbolanders will be familiar, The Daily WTF looks like it’s worth reading to remind oneself of the crazy and unexpected stuff that can go wrong, and the stupid stupid STUPID!!! things our beloved colleagues sometimes force us to endure [raganwald].

The other reason to read WTF right now is that picture of Boomer in their sidebar – miaow.

And in other JVT news…

Wow. JVT gets a mention on Lambda The Ultimate. Proof that he’s made it.

Next step: Thumbnail for JVT Must Prove P=NP