13.6.11

The Economist notices


The concurrency crisis is upon us: Moore's Law will continue only if we learn to write parallel programs. This is important enough you might expect it to show up in the mainstream press, and at last it is. From the 2 June 2011 issue of the Economist:
Meanwhile, a group of obscure programming languages used in academia seems to be making slow but steady progress, crunching large amounts of data in industrial applications and behind the scenes at large websites. Two examples are Erlang and Haskell, both of which are “functional programming” languages.

Such languages are based on a highly mathematical programming style (based on the evaluation of functions) that is very different from traditional, “imperative” languages (based on a series of commands). This puts many programmers off. But functional languages turn out to be very well suited to parallel programming. Erlang was originally developed by Ericsson for use in telecoms equipment, and the language has since been adopted elsewhere: it powers Facebook’s chat feature, for example. Another novel language is Scala, which aims to combine the best of both functional and traditional languages. It is used to run the Twitter, LinkedIn and Foursquare websites, among others.

10.6.11

A combinator library for the design of railway track layouts


How cool is this? Barney Stratford, Journal of Functional Programming, 21(3), May 2011.
In the design of railway track layouts, there are only a small number of geometric configurations that are used in practice, and a number of constraints as to how those configurations can be fitted together to create a whole layout. In order to solve these problems, we construct a Haskell combinator library. The library has been used for the design of real-world track layouts.

RSAnimate


The RSA has a series of videos cleverly animated from lectures. I would love to illustrate a lecture this way! Spotted by Maurice Naftalin.

27.4.11

Case analysis


A Latin saying, heard on Escape Pod:
It is well to remember that there are five reasons for drinking: The arrival of a friend; one's present or future thirst; the excellence of the wine; or any other reason.

The Grim Threat to British Universities


From the New York Review of Books:
The British universities, Oxford and Cambridge included, are under siege from a system of state control that is undermining the one thing upon which their worldwide reputation depends: the caliber of their scholarship. The theories and practices that are driving this assault are mostly American in origin, conceived in American business schools and management consulting firms. They are frequently embedded in intensive management systems that make use of information technology (IT) marketed by corporations such as IBM, Oracle, and SAP. They are then sold to clients such as the UK government and its bureaucracies, including the universities. This alliance between the public and private sector has become a threat to academic freedom in the UK, and a warning to the American academy about how its own freedoms can be threatened.

25.4.11

VS Naipaul’s Seven Rules for Beginners


Following yesterday's post on Alfred Kahn, here is advice from VS Naipaul, winner of the Nobel Prize for Literature in 2001.
VS Naipaul’s Rules for Beginners

1. Do not write long sentences. A sentence should not have more than ten or twelve words.

2. Each sentence should make a clear statement. It should add to the statement that went before. A good paragraph is a series of clear, linked statements.

3. Do not use big words. If your computer tells you that your average word is more than five letters long, there is something wrong. The use of small words compels you to think about what you are writing. Even difficult ideas can be broken down into small words.

4. Never use words whose meaning you are not sure of. If you break this rule you should look for other work.

5. The beginner should avoid using adjectives, except those of colour, size and number. Use as few adverbs as possible.

6. Avoid the abstract. Always go for the concrete.

7. Every day, for six months at least, practice writing in this way. Small words; short, clear, concrete sentences. It may be awkward, but it’s training you in the use of language. It may even be getting rid of the bad language habits you picked up at the university. You may go beyond these rules after you have thoroughly understood and mastered them.

24.4.11

Alfred Kahn's memo

Alfred Kahn wrote a celebrated memo on writing with clarity. As described in The New York Times:
Though written long before the Internet age, the memo immediately went viral. It was published verbatim in The Washington Post, which also praised it in an accompanying editorial. It generated a marriage proposal from a Boston Globe columnist, who gushed: “Alfred Kahn, I love you. I know you’re in your late 50s and are married, but let’s run away together.” A Singapore newspaper suggested that Mr. Kahn be awarded a Nobel Prize. A Kansas City newspaper urged him to run for president. And, shortly after the memo’s appearance, he was appointed to the usage panel of the American Heritage Dictionary, a position he held until his death.

Here is the memo in full, spotted at here and here. Spotted via Boing Boing.

12.4.11

Sorting algorithms as folk dances

Bubble sort, shell sort, insertion sort, and selection sort, each as a Hungarian, Romanian, or Gypsy folk dance. Alas, all the algorithms are O(n^2). I long to see an O(n log n) waltz, or better yet O(n) leaping into buckets. Spotted via Boing Boing.

11.4.11

An Empirical Comparison of Seven Programming Languages

Lambda the Ultimate has a post describing a paper by Shane Markstrum bewailing the unjustified claims one finds in papers on programming languages. I completely agree with him, but his plan seems to be to thoroughly document the current poor state of the science; I wish that instead he would do one study of the form that he (and I) would like to see. Markstrum's bibliography lists a paper performing a study of that sort, by Lutz Prechelt of Karlsruhe, and I've listed it above. Here's to more such studies!

Another paper bewailing the lack of empiricism for computing generally is Experimental evaluation in computer science: A quantitative study by Walter F. Tichy, Paul Lukowicz, Lutz Prechelt and Ernst A. Heinz. (Yes, it's the same Prechelt.)