The Sing-Song of Old Man Java
With apologies to Rudyard Kipling.
Not always was Java as now we do behold him, but a Different Language with very short types. He was small and he ran slowly, and his hype was inordinate: he danced on a TV set in the middle of California, and he went to Big God Gosling.
He went to Gosling at six before breakfast, saying, ‘Make me different from all other languages by five this afternoon.’
Up jumped Gosling from his fortress on the multicore and shouted, ‘Go away!’
He was small and he ran slowly, and his hype was inordinate: he danced on a set-top-box in the middle of California, and he went to Middle God Steele. He went to Steele at eight after breakfast, saying, ‘Make me different from all other languages; make me, also, wonderfully popular by five this afternoon.’
Up jumped Steele from his virtual reality and shouted, ‘Go away!’
He was small and he ran slowly, and his hype was inordinate: he danced on desktop in the middle of California, and he went to the Little God Gilad. He went to Gilad at ten before dinner-time, saying, ‘Make me different from all other languages; make me popular and able to run anywhere by five this afternoon.’
Up jumped Gilad from his office in Palo Alto and shouted, ‘Yes, I will!’
23.12.10
The Myths of Object-Orientation
The Myths of Object-Orientation. An after-dinner speech at ECOOP 2008, reprinted in ECOOP 2009. Spotted on Lambda the Ultimate. From the appendix:
14.12.10
Instructionless learning about a complex device

Jeff Schrager and David Klahr, Instructionless learning about a complex device, International Journal of Man-Machine Studies 25(2):153-189, August 1986.
A list is an odd creature, take 6

9.12.10
Pionen: WikiLeaks and James Bond
30.11.10
Blame for All

Several programming languages are beginning to integrate static and dynamic typing, including Racket (formerly PLT Scheme), Perl 6, and C# 4.0, and the research languages Sage (Gronski, Knowles, Tomb, Freund, and Flanagan, 2006) and Thorn (Wrigstad, Eugster, Field, Nystrom, and Vitek, 2009). However, an important open question remains, which is how to add parametric polymorphism to languages that combine static and dynamic typing. We present a system that permits a value of dynamic type to be cast to a polymorphic type and vice versa, with relational parametricity enforced by a kind of dynamic selaing along the line proposed by Matthews and Ahmed (2008) and Neis, Dreyer, and Rossberg (2009). Our system includes a notion of blame, which allows us to show that when casting between a more-precise type and a less-precise type, any failure are due to the less-precisely-typed portion of the program. We also show that a cast from a subtype to its supertype cannot fail.
The Arrow Calculus

We introduce the arrow calculus, a metalanguage for manipulating Hughes’s arrows with close relations both to Moggi’s metalanguage for monads and to Paterson’s arrow notation. Arrows are classically defined by extending lambda calculus with three constructs satisfying nine (somewhat idiosyncratic) laws; in contrast, the arrow calculus adds four constructs satisfying five laws (which fit two well-known patterns). The five laws were previously known to be sound; we show that they are also complete, and hence that the five laws may replace the nine.
29.11.10
A list is an odd creature, take 5
And a fifth entry in the stakes to illustrate a list, or at least recursion. Thanks to Mitchell Wand, who found the original here.

26.11.10
A list is an odd creature, take 4
A fourth entry in the stakes to illustrate a list. Thanks to Eugene who posted this item from Cyriak's collection (click here for the animated version):
Previous entries:

17.11.10
Mandelbrot Maps - now on an album near you

Mandelbrot Maps was written by Iain Parris as an MSc project, and updated by Edward Mallia and Taige Liu. (Here's the original.) Jim Hanks used it to generate the cover for his latest album Dedication. That's a nice recognition of Ian, Edward, and Taige---well done, folks!
2.11.10
A list is an odd creature, take 3
I mentioned to my first-year students that a list is an odd creature: it has only a head and a tail, where the tail is itself a creature with only a head and a tail, and so on. I challenged them to produce a picture, and Dan Benveniste came up with this:

I like the recursion, but it's not really a creature, is it? Further attempts encouraged! Previous entries:

I like the recursion, but it's not really a creature, is it? Further attempts encouraged! Previous entries:
23.9.10
Science is Vital

My colleague, Maria Wolters, writes:
I'd also like to mention the Science is Vital campaign, which is orchestrated by biomedical researchers but aims to be as inclusive as possible. There will be a march in London on October 7, a letter writing campaign, and potentially much more ... I know it's incredibly tempting not to do anything because politicians don't listen anyway, but if we don't complain loudly enough now, we might as well stick a sign on our backs saying "Doormats - If You Need Funds, Take Them From Us."
Portsmouth Sinfonia
A colleague recently referred to EPSRC's approach of appointing program managers untrained in the areas they manage as like the Portsmouth Sinfonia.
22.9.10
Twelve Virtues of Rationality
"These then are twelve virtues of rationality: Curiosity, relinquishment, lightness, evenness, argument, empiricism, simplicity, humility, perfectionism, precision, scholarship, and the void." By Eliezer S. Yudkowsky. Spotted via Conal Elliott. Thanks for the tip, Conal, it's a great read.
10.9.10
ed lambda Meetup
30.8.10
What Sequential Games, the Tychonoff Theorem and the Double-Negation Shift have in Common
A recent paper by Escardo and Oliva, to appear in MSFP 2010, relates diverse aspects of computing, in the form of a literate Haskell program. I've written a further note inspired by theirs, also as a literate Haskell program. My code improves on theirs in a few ways, notably by using type classes to characterize valuation types, and by using QuickCheck to describe and check relevant properties. My note can be read stand-alone, but is best read in conjunction with Escardo and Oliva's paper. (The photo above is Cantor Set by Kevin van Aelst.)
Does Your Language Shape How You Think?
From an article in the New York Times by Guy Deutscher, describing linguistics view of the Sapir-Whorf hypothesis, seventy years on. Taken from his book Through the Language Glass: Why the World Looks Different in Other Languages. Spotted on Lambda the Ultimate.
For instance, some languages, like Matses in Peru, oblige their speakers, like the finickiest of lawyers, to specify exactly how they came to know about the facts they are reporting. You cannot simply say, as in English, “An animal passed here.” You have to specify, using a different verbal form, whether this was directly experienced (you saw the animal passing), inferred (you saw footprints), conjectured (animals generally pass there that time of day), hearsay or such. If a statement is reported with the incorrect “evidentiality,” it is considered a lie. So if, for instance, you ask a Matses man how many wives he has, unless he can actually see his wives at that very moment, he would have to answer in the past tense and would say something like “There were two last time I checked.” After all, given that the wives are not present, he cannot be absolutely certain that one of them hasn’t died or run off with another man since he last saw them, even if this was only five minutes ago. So he cannot report it as a certain fact in the present tense.I wish all scientists were trained in this language!
26.8.10
L'Illusionniste

L'Illusionniste, Sylvain Chomet's second film and Jacques Tati's last, is a remarkable film; The Guardian gave if five stars. The film also reflects a tortured family history. Among other things, it is a love letter to Edinburgh, with loving depictions of many familiar locations. I saw it in the Cameo; how often do you watch a film that includes a scene in the very place you are sitting? While many of the settings are easy to identify, I could not place one key location, the 'Royal Music Hall' (see below)---did this actually exist in Edinburgh, and if so, where?

The Economics of Programming Languages
Network effects are clearly significant in the spread of programming lagnuages. I've often thought it would be good to team up with an economist to see if one could say something more forceful than just that simple qualitative observation. Meanwhile, I'm pleased to find the web page linked to above, which covers at least the obvious correspondences. (NB., the picture is from a different page.)
Programming Language Popularity
24.8.10
Sights and sounds of sorting
Nifty visualisation with sound of several sorting algorithms. It covers insert, bubble, selection, merge, and gnome sort; a related video tackles heap sort. Could be useful for teaching. Below is a second visualisation with robots.
11.8.10
Masterminds of Programming wins JOLT award
3.8.10
The Bull, the Bear, and the Python (Part 2)
1.7.10
Visualization of Natural Deduction as a Game of Dominoes
29.6.10
Information is Beautiful: How Will The Budget Impact the Deficit?

24.6.10
Why Undergraduates Should Learn the Principles of Programming Languages
SIGPLAN's Education Board has produced a document describing why undergraduate education in programming languages is essential. It's aimed at academics who are not specialists in programming languages. Please read and comment to help SIGPLAN improve it!
18.6.10
19.5.10
Sausalito, CAP
Catching up on the DB world. Learned of Sausalito from my old colleague Dana Florescu. Read Developing an Enterprise Web Application in XQuery and Building a Database on S3. Also read a description of the CAP Theorem.
22.4.10
The Bull, the Bear, and the Python
Functional languages have recently seen increased use in the financial industry, including Jane Street Capital, Standard Chartered, and Credit Suisse. Of particular interest is work on composing financial contracts in functional languages, as pursued by LexiFi. I don't know how well this work could transpose to Python.
It has been proposed that SIGPLAN file a response to the SEC's request for comments. I am interested to hear the views of the programming language community. Should we support Python? Or should we suggest alternatives to Python, and, if so, what should we point the SEC towards?
21.4.10
Object and Representation
"Alexa Meade, 23, is a Washington, DC-based artist who paints on top of her subjects and puts them in real life settings. (No, you can't see the pixels. This is real.) From Meade's artist statement:
"'The reverse trompe l'oeil series is Alexa Meade's spin on reality. Alexa has invented a painting technique that makes 3 dimensional space look flat, blurring the lines between illusion and reality.
"'Typically a painting is an artist's interpretation of the subject painted onto another surface. In Alexa's paintings, she creates her artistic interpretation of the subject directly on top of the subject itself. Essentially, her art imitates life - on top of life.'"
Spotted via Boing Boing, which is the source of the above quote.
20.4.10
Eyjafjallajokull
Programming language researchers are among those dislocated by the flight ban caused by the eruption. FLOPS in Japan was seriously disrupted, and Barbara Liskov was forced to extend her visit to Edinburgh (where she spoke at the BCS/ACM Visions conference) so I had the benefit of a tutorial on distributed programming from her this morning.
The ash plume of southwestern Iceland's Eyjafjallajokull volcano streams southwards over the Northern Atlantic Ocean in a satellite photograph made April 17, 2010. The erupting volcano in Iceland sent new tremors on April 19, but the ash plume which has caused air traffic chaos across Europe has dropped to a height of about 2 km (1.2 mi), the Meteorological Office said. (REUTERS/NERC Satellite Receiving Station, Dundee University, Scotland)
Lava and lightning light the crater of Eyjafjallajokul volcano on April 17, 2010. (REUTERS/Lucas Jackson)
16.4.10
Apple bans Scratch from iPhone and iPad
14.4.10
RADICAL 2010
RADICAL 2010, International Workshop on Relations and Data Integrity Constraints and Languages. May 10-11, 2010, Microsoft Research, Cambridge, UK.
RADICAL is a workshop on databases and programming languages, with an emphasis on connections between databases and recent advances in type systems and logics, especially dependent type systems incorporating data constraints.
Organising committee:
* Andrew D. Gordon (convenor), Microsoft Research
* David Langworthy, Microsoft Corporation
* Philip Wadler, University of Edinburgh
Check out the web page, and drop us a line if you'd like to attend.
RADICAL is a workshop on databases and programming languages, with an emphasis on connections between databases and recent advances in type systems and logics, especially dependent type systems incorporating data constraints.
Organising committee:
* Andrew D. Gordon (convenor), Microsoft Research
* David Langworthy, Microsoft Corporation
* Philip Wadler, University of Edinburgh
Check out the web page, and drop us a line if you'd like to attend.
5.4.10
Digital Economy Bill
The Digital Economy Bill is slated to receive it's second reading on Tuesday 6 April, the day the government plans to call for election. This timing will enable it to go into a 'wash up', a process by which bills are approved on the action of the whips alone without scrutiny by MPs. Controversial parts of the bill could be rushed through with as little as 90 minutes of debate. This is particularly disturbing because of the bill's effect on civil liberties.
The bill's 'three-strikes' provision would allow an entire family to be disconnected because a teenager downloaded songs or videos in violation of copyright, without due process in the courts. The same provision may make it difficult for internet cafes, hotels, or universities to allow internet access. The bill also could make it difficult to offer any website that stores material for users, since in theory the stored material may violate copyright. Provisions of the bill may also be used to shut-down public interest websites such as WikiLeaks (which publishes leaked, and hence copyrighted, work).
A detailed description of how your service could be cut off is given by Digital Wrong. An assessment of the civil rights implications is given by Liberty. An article summarizing the bill appears in The Guardian. Organizations campaigning against the bill include Open Rights Group and 38 Degrees. The latter link takes you to a web application that will allow you to send an e-mail to your MP in only a few minutes.
The bill's 'three-strikes' provision would allow an entire family to be disconnected because a teenager downloaded songs or videos in violation of copyright, without due process in the courts. The same provision may make it difficult for internet cafes, hotels, or universities to allow internet access. The bill also could make it difficult to offer any website that stores material for users, since in theory the stored material may violate copyright. Provisions of the bill may also be used to shut-down public interest websites such as WikiLeaks (which publishes leaked, and hence copyrighted, work).
A detailed description of how your service could be cut off is given by Digital Wrong. An assessment of the civil rights implications is given by Liberty. An article summarizing the bill appears in The Guardian. Organizations campaigning against the bill include Open Rights Group and 38 Degrees. The latter link takes you to a web application that will allow you to send an e-mail to your MP in only a few minutes.
2.4.10
31.3.10
9.3.10
LaTiKi, a Wiki for LaTeX
Stuart Beard has been developing LaTiKi, a Wiki for LaTex, as a UG4 project under my supervision. He writes as follows:
I am pleased to announce that LaTiKi is now available as a public beta.
LaTiKi accepts LaTeX syntax as input rather than the wiki syntax that is standard across many wiki implementations. This Wiki enables LaTeX users to collaborate on papers, edit, and track each paper. It is entirely based upon the open-source and widely used platform MediaWiki. I am looking for interested users to contribute, try out how well the system works and how useful the system really is. I also hope that any major underlying bugs are identified.
I have prepared a sandbox wiki with some of Philip Wadler's papers on the site to demonstrate how the system works. Note that to be able to edit papers on the sandbox you MUST sign up to the site and confirm your email address. This is available at http://www.stuartbeard.com/wiki.
Feedback is greatly appreciated.
If any readers are interested in this project and would like to do a similar thing with their own papers then a tarball is available at http://www.stuartbeard.com/projects.
1.2.10
Dimensions
Self-Description
(Be sure to read the mouse-over.) Imagine the applications to cryptography! From XKCD, a webcomic of romance, sarcasm, math, and language, by Randall Munroe.
25.1.10
Burns night
Two videos of the Informatics Burns night. Thanks to Steve Ewing for the oration, and to Andrew Mitchell for the videos.
12.1.10
Designing Effective Action Alerts
By Phil Agre. Sensible advice, crafted by someone who knows. Thanks to my colleague Conrad Hughes for pointing this out.
Subscribe to:
Posts (Atom)