24.12.09

Climategate


Three references I've found useful on Climategate:

George Monbiot: Pretending the climate email leak isn't a crisis won't make it go away

George Monbiot: The climate denial industry is out to dupe the public. And it's working

Marc Sheppard: Understanding Climategate's Hidden Decline

The last is by a climate change denier, but contains the only clear explanation I've seen of what the leaked e-mails refer to as "Mike's Nature Trick". Anyone know of an explanation from a more reputable source? Or what current science makes of what the first IPCC report referred to as the "Medieval Warming Period"?

Time management: How an MIT postdoc writes 3 books, a PhD defense, and 6+ peer-reviewed papers — and finishes by 5:30pm


Cal Newport, a post-doc at MIT who writes the blog Study Hacks, has an interesting method of getting important work done. He calls it "fixed-schedule productivity." The idea is easy to understand, but perhaps harder to execute: determine your goals, and focus on those, not the myriad interruptions that arise each day. Perhaps a resolution for the new year? (Spotted via Boing Boing.)

14.12.09

Happy Chanukah!

http://www.avakesh.com/images/2007/12/04/chess.jpgTony Karom, quoted by JfJfP:
In a country occupied by a Western power, the locals are faced with a choice. Some have opted to reconcile their own traditions with those of their occupier, borrowing from Western ways that open the path to philosophy and science, and integrating themselves into a wider culture. Others fiercely resist, waging a bitter and bloody war not only on the occupier, but also on those in their own community who seek to collaborate or integrate with the occupiers who are denounced as defilers.

If this were contemporary Afghanistan-Pakistan, you’d know who was whom, right? But before you bite into that latke or sing the dreidel song, you may want to consider that in Judea in the second century BC, the Taliban role is played by the Maccabees. And it is the Maccabees, of course, who are lionized in the Hanukah tale.

In fact, they pretty much invented the holiday to celebrate their victory over the Greeks and all Jews who would embrace their ways, the “Hellenizers.” Hanukah is not mentioned in the Torah. It’s not really a religious holiday at all — the bubbemeis about an oil lamp burning for eight days was tacked on as an afterthought, and a way of smuggling God into what was a ritual celebrating a very temporal insurgent military triumph.

There is, of course, a spectacular irony in the celebration of Hanukah in its contemporary incarnation as a kind of kosher Christmas that has everybody saying “Happy Holidays” to avoid giving offense. The irony, of course, is that celebrating Hanukah as a major religious holiday is the ultimate triumph of latter-day Hellenization. It hardly exists as a serious religious holiday — even when I was growing up in South Africa, the likes of Simchat Torah and Succoth were far more important. Yet today, in America, it appears to rank up there right after Rosh Hashana/Yom Kippur and Passover as important Jewish holidays. The point, of course, is that this has only been done to compete with Christmas, to adapt Jewish tradition to make it fit the rhythms and rituals of the wider, non-Jewish society.
(Image: Maccabees vs. Hellenists Chess Set.)

11.12.09

Computer Science Education Week

This week was declared Computer Science Education Week by the US Congress. I heard when the declaration was made a couple of months ago, but heard nothing at all this week. Anyone across the pond care to comment on how it is preceding? Getting the public to understand that computing is an academic discipline rather than just a technology on their desks and in their pockets is a vital task, and this week is one of our best opportunities to accomplish that.

National Petition for Libel Law Reform

The recent Ben Goldacre case and ongoing Simon Singh case show that Enlish libel laws threaten the free and public conduct of science. Sense about Science has joined with English PEN and Index on Censorship to launch a National Petition for Libel Law Reform

20.11.09

A list is an odd creature, take 2

A second entry, from Timothy Abraham.

I have created this animal which represents a list, it's a snake whose tail consists of heads, in the end you'll see that the snake releases air with the empty list in it, this symbolizes the empty list, because the empty list is like air it is something but it is also nothing.

17.11.09

A list is an odd creature

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 Saulius Lukauskas came up with this:
I have just remembered your request for a picture of a creature, with lots of heads and a tail.

The closest to this I was able to come up is a shark eating another shark eating ... etc.

Let's think of shark's head as an element in the list. This way one could think of ":" as shark teeth 'connecting' to other shark (Cons even look like a mark from a bite!). Then the head of the smaller shark is the head of new list, and the tail of the list is the bigger shark.

If we assume that water is [], then it also works in the bottom case with no elements in the list (no sharks) - only water. And water swallows the shark up to it's head so this also work (shark : []).

Mandelbulb


The quest for the 3D-analogue of the Mandelbrot curve, with some remarkable photos. Passed on by my colleague Bob Fisher, who knew of my work with students on interactive application, Mandelbrot Maps. Thanks, Bob!

10.11.09

Transforming the Academy: Knowledge Formation in the Age of Digital Information

My favorite quote from Edsger Dijkstra comes from his Turing Award Lecture, The Humble Programmer:
"In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind."
I've just listened to the best defense of this thesis that I've ever heard, courtesy of Bob Constable. A paper on the same topic of his is linked above.

Other relevant papers on the same subject are Alan Bundy's Computational Thinking is Pervasive and Jeanette Wing's Computational Thinking.

I was also fortunate to see Jeanette Wing address this topic in her recent OOPSLA keynote. In the question period, I mentioned Dijkstra's quote, and also my interpretation of it. I believe that in his usual style, Dijkstra was exaggerating. I think there are two precedents: the invention of writing and the discovery of mathematics. Computing give us, with prose and mathematics, a third way to describe our discoveries.

Cell size and scale


A web app from the University of Utah, reminiscent of the Eames' Powers of 10 movie. It covers microscale but not macroscale. Any web apps that cover the opposite?

14.10.09

Conference Collected Wisdom Wiki

One output of WOWCS (the Workshop on Organizing Workshops, Conferences, and Symposia for Computer Systems) is a wiki to collect information on organizing conferences. I haven't looked at it in detail yet, but I'm putting the link here for future reference. Collecting experience in this way sounds like a good idea to me.

Robin writes a book (and you get a copy)

Here is your chance to be a patron of the arts. Robin Sloan, the author of Mr. Penumbra (see earlier blog entry), is writing a book. Sponsor him, and you get a copy and updates on the book's progress. Progress reports include use of Google ad-words to choose the lead character's name, and a short story about flying written during a flight from San Francisco to New York.

23.9.09

Mr. Penumbra’s Twenty-Four-Hour Book Store


William Gibson stopped setting his novels in the future, saying that the present had caught up with science fiction. Another illustration is this intriguing fantasy from Escape Pod, written by Robin Sloan and read by Stephen Eley. The story originated in a misread twitter, and was published on a blog, and adapted for this podcast.
Mr. Penumbra has a database, believe it or not. The books aren’t shelved according to title or subject (do they even have subjects?) so the database is crucial. It runs on an old Mac Plus, but I copied it onto my laptop and, over the course of a few customer-free nights, mapped it onto a 3D model of the store. (If this sounds impressive to you, you’re over 30.)
I was intrigued by the author's vision of the Google campus.

And while I'm at it, let me heartily commend Escape Pod itself, my favorite thing to listen to while doing the ironing. I'm slowly working through their back catalogue of two hundred stories.

Peter Landin obituary


Olivier Danvy delivered a lovely memorial to Peter Landin at this year's ICFP, but it was light on some of Landin's politics. Richard Bornat penned this excellent remembrance for the Guardian.

28.8.09

19.8.09

What's Under the Hood of Google's App Inventor for Android? Scheme!

Perhaps not too surprising, as Hal Abelson (of SICFP fame) is involved. Spotted by Mitch Wand. Thanks, Mitch!

5.8.09

Three resources on climate change


I recently came across two excellent resources on climate change, and also list a third which I encountered a couple of years back.

  • Sustainable Energy - without the hot air by David McKay. The following is quoted from the excellent ten-page synopsis. The entire book is available for free on the web
    Where numbers are used, their meaning is often obfuscated by enormousness. Numbers are chosen to impress, to score points in arguments, rather than to inform. In contrast, my aim here is to present honest, factual numbers in such a way that the numbers are comprehensible, comparable, and memorable. The numbers are made accessible by expressing them all in everyday personal units. Energies are expressed as quantities per person in kilowatt-hours (kWh), the same units that appear on household energy bills; and powers are expressed in kilowatt-hours per day (kWh/d), per person. ... [F]or example, driving an average car 50 km per day uses 40 kWh per day.... [and] covering 10% of the country with wind farms would yield 20 kWh per day per person on average.

    One reason for liking these personal units is that it makes it much easier to move from talking about the UK to talking about other countries or regions. For example, imagine we are discussing waste incineration and we learn that UK waste incineration delivers a power of 7 TWh per year and that Denmark’s waste incineration delivers 10 TWh per year. (1 TWh (one terawatt-hour) is equal to one billion kWh.) Does this help us say whether Denmark incinerates “more” waste than the UK? While the total power produced from waste in each country may be interesting, I think that what we usually want to know is the waste incineration per person. (For the record, that is: Denmark, 5 kWh/d per person; UK, 0.3 kWh/d per person. So Danes incinerate about 13 times as much waste as Brits.) By discussing everything per-person from the outset, we end up with a more transportable book, one that will hopefully be useful for sustainable energy discussions worldwide.
  • Software Engineering for the Planet by Steve Easterbrook, a presentation at ICSE 2009: slides part 1, slides part 2, discussion. Challenges computer scientists to tackle the problems that will let them answer the question "Daddy, what did YOU do during the climate crisis?" Lists the unique resources we have to bring to bear on one of the key problems facing humanity.

  • Heat by George Monbiot. Argues that we need to reduce carbon emissions by 90% by 2030, and lays out a plan to achieve this Herculean task. Attacks sacred cows on both sides of the arguments, both those with their eyes shut to the problem and those that think windmills on houses are the answer. Doesn't hesitate to point out radical solutions that could work (he envisions how we could replace most use of cars by a sensible network of trains and busses), or to reject solutions that can't work (after extensive consideration of the alternatives, he concludes with regret that the only way to reduce carbon from air travel is to reduce air travel).

4.8.09

Engineering Values in IT


A joint study by The Royal Academy of Engineering, the Institution of Engineering and Technology and the British Computer Society. The authors include Tony Hoare and Martyn Thomas.

"This study was undertaken by a group of Fellows of The Royal Academy of Engineering, the British Computer Society (BCS) and the Institution of Engineering and Technology (IET). The group focussed on how greater professionalism could be brought to bear on the tasks of specifying, procuring or developing software-based IT systems."

The report comes down strongly in favour of promoting chartered engineer status for IT professionals (which is currently rarely found in practice). The introduction notes university courses should reflect "the fact that most developments involve modifying or interfacing with pre-existing software." The conclusion points out "Testing is not enough" and "Errors should no longer be regarded as inevitable".

3.8.09

Objects as Modules in Newspeak

Objects as Modules in Newspeak, by Gilad Bracha et al.
We describe support for modularity in Newspeak, a new programming language descended from Smalltalk and Self. Like Self, all computation — even an object’s own access to its internal structure — is performed by invoking methods on objects. However, like Smalltalk, Newspeak is class-based. Classes can be nested arbitrarily, as in Beta. Since all names denote method invocations, all classes are virtual; in particular, superclasses are virtual, so all classes act as mixins. Unlike its predecessors, there is no static state in Newspeak, nor is there a global namespace. Top level classes act as module definitions, which are independent, immutable, self-contained parametric namespaces. They can be instantiated into modules which may be stateful and mutually recursive. Naturally, like its predecessors, Newspeak is reflective: a mirror library allows structured access to the program meta-level.
A simple, principled, and intriguing language design.

Decades ago, one of the major advances in programming language design was the claim that programming-in-the-small and programming-in-the-large require different constructs. Newspeak (along with Scala) reverses this trend, claiming classes are a good fit for both.

Type families represent a key example of program structuring that is difficult to support with current type systems (see, e.g., 'A statically safe alternative to virtual types' Kim B. Bruce, Martin Odersky, and Philip Wadler, ECOOP 1998). Newspeak, by virtue of using late binding everywhere and having no type system, supports type families easily. Thus, I view Newspeak as posing a key question: what is the type system that will support type families as elegantly as Newspeak?

Newspeak's innovation of prohibiting a global namespace is also interesting. Although Newspeak is very much an imperative language, this aspect is right in line with functional languages, as it argues that sometimes making a dependency painfully explicit is the better course, as it supports parameterization and reuse. In particular, this provides a simple and principled solution to the same problems tackled by complex frameworks for dependency injection.

31.7.09

Mirrors: design principles for meta-level facilities of object-oriented programming languages

Mirrors: design principles for meta-level facilities of object-oriented programming languages, by Gilad Bracha and David Ungar.
We identify three design principles for reflection and metaprogramming facilities in object oriented programming languages. Encapsulation: meta-level facilities must encapsulate their implementation. Stratification: meta-level facilities must be separated from base-level functionality. Ontological correspondence: the ontology of meta-level facilities should correspond to the ontology of the language they manipulate. Traditional/mainstream reflective architectures do not follow these precepts. In contrast, reflective APIs built around the concept of mirrors are characterized by adherence to these three principles. Consequently, mirror-based architectures have significant advantages with respect to distribution, deployment and general purpose metaprogramming.
One of the best OO design papers I have read. I'm convinced, mirrors are the way to reflect; I'm particularly struck by their importance for capability-based security.

For those of you that don't have ACM access, here is another link.

28.7.09

Evaluation and Usability of Programming Languages and Tools (PLATEAU)


Finally, a workshop on scientific evaluation of programming languages! Kudos to the organizers, and to Onward! and OOPSLA for serving as host.

9.7.09

30.6.09

Pictures created from food


Spotted by Robby Findler. They are the creations of Carl Warner, who calls them Foodscapes (click through the orange square). Thanks to plragde for the link to the originals.

26.6.09

QML: Explicit first-class polymorphism for ML

Claudio Russo and Dimitris Vytiniotis, QML: Explicit first-class polymorphism for ML, ML Workshop, Edinburgh, August 2009.

This simple solution is along different lines than ML^F, FPH, and HML. I like the idea of allowing both explicit and implicit quantification, which was explored years ago by O'Toole and Gifford. I'm surprised that to make it work they needed to avoid permitting bound variables to be in scope, so their explicit constructs look (alas) quite different than the type abstraction and application of System F. I'd always thought that having 'rigid' type variables in explicit types was a good idea, but this paper makes an intriguing case otherwise.

The SIGSOFT Impact Project

As incoming Chair of SIGPLAN, one of my objectives is to explain to governments and the public why programming languages are important. Shiram Krishnamurthi points out to me that SIGSOFT has an Impact project with similar goals, and has produced several journal papers, including The impact of software engineering research on modern progamming languages.

9.6.09

Subtext

A visual programming language based on decision tables. This video describes unifying conditionals, switch statements, and polymorphism. Although the author, Jonathan Edwards, never mentions it, the language appears to be functional (although he compiles into Java).

1.6.09

George Monbiot: Captive Knowledge

Monbiot's Heat is my favorite book on climate change. Here is a column of his, pointing out to the general public the unwelcome, and potentially disastrous, government shift toward emphasizing 'economic impact' in research funding. Many academics make the same case, but it is good to someone outside the academic community backing this position.
Picture Charles Darwin trying to fill out his application form before embarking on the Beagle. "Explain how the research has the potential to impact on the nation's health, wealth or culture. For example: fostering global economic performance, and specifically the economic competitiveness of the United Kingdom ... What are the realistic timescales for the benefits to be realised?" If Darwin had been dependent on a grant from a British research council, he would never have set sail.
Spotted by Maurice Naftalin. Thanks, Maurice!

26.5.09

Frank Lloyd Wright Lego

Two more for the wish list. The Guggenheim and Falling Water. Spotted on Boing Boing.

Lambda Chair


Spotted by Shriram Krishnamurthi. Thanks, Shriram!

Slashdot: 'functional programming languages can beat C.'

Spotted on Slashdot by Greg Michaelson's brother.
John Fremlin has released what he believes to be the worlds fastest webserver for small dynamic content, teepeedee2. It is written entirely in LISP, the world's second oldest high-level programming language. He gave a talk at the Tokyo Linux Users Group last year, with benchmarks, which he says demonstrate that 'functional programming languages can beat C.' Imagine a small alternative to Ruby on rails, supporting the development of any web application, but much faster.

14.5.09

Robin Milner back in Edinburgh

Robin Milner has returned to Edinburgh as a visiting professor, and he just completed an enlightening series of lectures on bigraphs. This is how he began:
I always get nostalgic when I return to Edinburgh. On this visit, when I got off the train, a woman rushed up to me and asked "Are you Earnest?" I have a feeling that if I had said yes, I would be having a very good time right now.
(Audience rolls on the floor.)

Jan Wielemaker, Doxygen

Jan Wielemaker is speaking at ICLP on "Enabling serendipitous search on the Web of Data using Prolog". I wonder about whether there is some way to get web pages to publish logic formulas which could be used for inference during a search, and this looks like it might be close. RDF is aimed at this, of course, but I'm unclear on what sort of inference its triples enable; using Prolog sounds plausible for more serious inference.

Two Wielemaker papers of interest: Using Prolog as the fundament for applications on the semantic web and PlDoc: Wiki style Literate Programming for Prolog. The second mentions a popular non-Prolog documentation tool called Doxygen.

12.5.09

Hackers can sidejack cookies

A collage-homage to Guy L. Steele and Eric S. Raymond. Poetry in the 11 May 2009 New Yorker by Heather McHugh. Spotted by Ezra Cooper--thanks, Ezra!

11.5.09

A Brief, Incomplete, and Mostly Wrong History of Programming Languages

Several folk have pointed me at this, since Haskell and myself get a mention. I'm delighted to learn that "a monad is a monoid in the category of endofunctors"---anyone know where I can find a good tutorial?

6.001 RIP

Jerry Sussman has taught the last class ever of 6.001, Structure and Interpretation of Computer Programs, the introductory computing course at MIT. Here's a summary of the reasoning, taken from Dan Weinreb.
In 1980, computer engineering was based on starting with clearly-defined things (primitives or small programs) and using them to build larger things that ended up being clearly-defined. Composition of these fragments was the name of the game.

However, nowadays, a real engineer is given a big software library, with a 300-page manual that’s full of errors. He’s also given a robot, whose exact behavior is extremely hard to characterize (what happens when a wheel slips?). The engineer must learn to perform scientific experiments to find out how the software and hardware actually work, at least enough to accomplish the job at hand. Gerry pointed out that we may not like it this way (”because we’re old fogies”), but that’s the way it is, and M.I.T. has to take that into account.

My own take on this is that you need both. Yes, one of the great advances of modern times is that we have large systems with large libraries, and students must learn to work with that. But, no, that doesn't mean that fundamental skills taught in SICP are any less relevant.

As Joel Spolsky points out in The Perils of JavaSchools, it is vital that schools of computing continue to explode the minds of incoming undergraduates by exposing them to Scheme (or Haskell or Erlang or Prolog or anything else far from the mainstream).

21.4.09

Save Bletchley Park---your help needed

Sue Black writes:

Dear all,

Thank you so much for your support in the campaign to save Bletchley Park (BP) which I started last July. BP is not yet saved, but there have been several successes recently which are making the future seem much brighter. £900k has recently been pledged from English Heritage and Milton Keynes council towards the £10 million that BP need to ensure a secure future. This has meant that urgent repairs are now being undertaken :)

There has been a substantial amount of media coverage and award winning, and even celebrity endorsement: the wonderful Stephen Fry sent a tweet out via Twitter in February resulting in 8k hits on my blog in one day(!):

#bpark You might want to sign the Save Bletchley Park petition. Read @Dr_Black 's reasons why on http://is.gd/ikEh - BP won us the war! 2:11 AM Feb 4th from web

stephenfry
Stephen Fry

This is all really good news, and a good sign that the fortunes of BP are turning, but more help and support is still needed. The petition on the No. 10 Downing Street website is sitting at no. 5 with 20 099 votes and is not going to get any higher unless several thousand people sign it in the next month. This may be a tall order, but I am really hoping you can help.

Please sign the petition (it takes less than 1 minute) here:

http://petitions.number10.gov.uk/BletchleyPark/

and send this email to your colleagues, students, friends, relations and anyone else that you think might want to help save BP asking them to sign it too. If the petition gets to no. 1 it will show that there is a large amount of popular support and will ensure a response from government :)

Details of my campaign and achievements so far are on my blog:

http://www.savingbletchleypark.org/

Can we save Bletchley Park? Yes we can :)

Thanks very much for your time

Best regards

Sue

Dr Sue Black, Head of Department, University of Westminster, UK.

Famelab: What does logic have to do with Java?

Entry for Famelab 2009. Thanks to Nicola Hillhouse of VideoWiki for recording the video.

12.3.09

Nonreferential this

This month's CACM contains articles by Jeffrey Ullman and Dave Patterson on how to advise PhD students. I particularly enjoyed the following aside from Ullman on a key writing skill:
While it sounds pedantic at first, you get a huge increase in clarity by chasing the "nonreferential this" from students' writing. Many students (and others) use "this" to refer to a whole concept rather than a noun. For example: "If you turn the sproggle left, it will jam, and the glorp will not be able to move. This is why we foo the bar." Now the writer of this prose fully understands about sproggles and glorps, so they know whether we foo the bar because glorps do not move, or because the sproggle jammed. It is important for students to put themselves in the place of their readers, who may be a little shaky on how sproggles and glorps work, and need a more carefully written paragraph. Today, it is not that hard to find a "this" that is nonreferential. Almost all begin sentences, so grepping for 'This' will find them.

Cafe Scientifique

I've been invited to give a talk for Cafe Scientifique, 8.30pm Mon 16 March at the Edinburgh Filmhouse. Title and abstract below. I've been asked to speak without using overheads or visuals, which should be an interesting challenge! The link above takes you to the Facebook page for the event.

Proofs are Programs: 19th Century Logic and 21st Century Computing

As the 19th century drew to a close, logicians formalized an ideal notion of proof. They were driven by nothing other than an abiding interest in truth, and their proofs were as ethereal as the mind of God. Yet within decades these mathematical abstractions were realized by the hand of man, in the digital stored-program computer. How it came to be recognized that proofs and programs are the same is a story that spans a century, a chase with as many twists and turns as a thriller. At the end of the story is a principle for designing programming languages that will guide computers into the 21st century.

Similar material is covered in this article.

23.2.09

Conal Elliott on Type class morphisms

Just read Conal Elliott's draft paper Denotational design with type class morphisms. I thought the same point was made more succinctly and with more substance in his earlier paper Simply efficient functional reactivity. Many of us already know what is in the new paper, but it still makes a valuable point. However, I think it should be a Functional Pearl, and it might work twice as well if it were half as long.

Conal is right to put forward type class morphisms as a design principle. However, I think he oversells their utility. In Section 6, he states that the fact the laws of an applicative functor are satisfied for TMap come 'for free', but they are 'free' only because he assumes you have already verified the same laws for (->), which is isomorphic to TMap.

The principle of type class morphisms is closely related to a design principle elucidated by John Reynolds in his paper Using Category Theory to Design Implicit Conversions and Generic Operators: implicit conversions between types should be homomorphisms on generic operators (that is, on overloaded operations defined by both types).

11.2.09

Clay Shirky: Gin, Television, and Social Surplus

Clay Shirky on what we can accomplish if we stop watching tv.
So how big is that surplus? So if you take Wikipedia as a kind of unit, all of Wikipedia, the whole project--every page, every edit, every talk page, every line of code, in every language that Wikipedia exists in--that represents something like the cumulation of 100 million hours of human thought. I worked this out with Martin Wattenberg at IBM; it's a back-of-the-envelope calculation, but it's the right order of magnitude, about 100 million hours of thought.

And television watching? Two hundred billion hours, in the U.S. alone, every year. Put another way, now that we have a unit, that's 2,000 Wikipedia projects a year spent watching television. Or put still another way, in the U.S., we spend 100 million hours every weekend, just watching the ads. This is a pretty big surplus.

30.1.09

Wordle

Wordle lets you generate word clouds from arbitrary sources. The picture shows a cloud built from this blog.

IMU on Citation Statistics

A report from the International Mathematical Union on the use and misuse of citation statistics. Highly relevant with the proposed move toward citations counts as a basis for the new Research Evaluation Framework (REF, the successor to the Research Assessment Exercise, or RAE).
  • Relying on statistics is not more accurate when the statistics are improperly used. Indeed, statistics can mislead when they are misapplied or misunderstood. Much of modern bibliometrics seems to rely on experience and intuition about the interpretation and validity of citation statistics.
  • While numbers appear to be "objective", their objectivity can be illusory. The meaning of a citation can be even more subjective than peer review. Because this subjectivity is less obvious for citations, those who use citation data are less likely to understand their limitations.
  • The sole reliance on citation data provides at best an incomplete and often shallow understanding of research—an understanding that is valid only when reinforced by other judgments. Numbers are not inherently superior to sound judgments.

23.1.09

An off-by-one error heard round the world

At the inauguration of the 44th President of the United States, during the invocation Dr. Rick Warren stated 'Now, today, we rejoice not only in America’s peaceful transfer of power for the 44th time.' But of course, it was the 43rd.

9.1.09

JfJfP and SJJP

Today I became a signatory of Jews for Justice for Palestinians and Scottish Jews for a Just Peace. I should have done this years ago, but given the events of the past week I could not put it off any longer. If not now, when?

7.1.09

Well-typed programs can't be blamed

Philip Wadler and Robert Bruce Findler, ESOP 2009, LNCS to appear.

We introduce the blame calculus, which adds the notion of blame from Findler and Felleisen's contracts to a system similar to Siek and Taha's gradual types and Flanagan's hybrid types. We characterise where positive and negative blame can arise by decomposing the usual notion of subtype into positive and negative subtyping, and show that these recombine to yield naive subtyping. Naive typing has previously appeared in type systems that are unsound, but we believe this is the first time naive subtyping has played a role in establishing type soundness.