Friday, 28 September 2007

Abstraction, Lies and Videotape

There's an interesting letter posted to CACM by (the) David Parnas. He points out that abstraction is good and important but if you abstract too far then the results can not be trusted. He quotes Dijkstra's definition: "An abstraction is one thing that represents several real things equally well." As Parnas puts it, a model that fails this definition is a lie. Interesting.

I'm sure that I've fallen into this trap in various papers, but we have been very careful in our recent work on C#3.0 to formalize our fragment in a way that works for all the other language features, even though we don't give them in the paper. This was a real pain, but I'm happier with the result even though it looks clumsy in places!

Thursday, 27 September 2007


Wow! It turns out there's a display bug in Excel!

Fire up Excel 2007. Type the number 850 in cell A1, 77.1 in cell A2, and the formula =a1*a2 in cell A3. The answer is not 2^16-1 but rather 100,000 according to Excel!

If you read the Excel team blog you'll see that this is a display bug rather than a calculation bug, so not quite as bad as it seems but still...

Wednesday, 26 September 2007

New languages

I'm attending OOPSLA this year. I plan to learn about two new languages whilst there by attending the tutorials: (1) Linden Scripting Langauge, and (2) Ruby (on rails).

I've just come across this, so maybe the second tutorial isn't so important :-)

Tuesday, 25 September 2007

In my in-tray

Normally the in-tray is full of research papers, but occasionally I come across something on the blogosphere that I want to read carefully. (Call me old-school, but that entails printing it out and reading it at my desk!)

One such article is the latest posting from Alex Buckley on null types and Java. (Alex is in charge of the JLS at Sun.) Alex always has interesting things to say - so I'm looking forward to sitting down with this one!

Unified C# specification

[I forgot to blog about this earlier.]

My colleague Mads Torgersen has worked incredibly hard to unify the C# 1.1, 2.0 and 3.0 specifications into a single spec. This is an amazing achievement (you'll understand if you've ever read any of them!). I spent a lot of time puzzling over parts of the spec whilst we were writing our OOPSLA paper. A couple of my suggestions even made it into the spec!

Take a look

Monday, 10 September 2007

SQL server installation woes

I spent/wasted much of today trying to install SQL Server 2005. I did a clean install of Vista a while ago (see earlier posts) and have been using Visual Studio 2008 Orcas Beta 1 quite happily (although that was a difficult install - don't get me started). Today I wanted to fiddle with the CLR integration in SQL Server 2005.

To cut a long story short, the installation continued to the end without any particular problems. Once finished I had a running MSSQLSERVER instance of the db engine, but no management studio, no server profiler, no tuning advisor, no nothing. I spent ages trying to figure out what had gone wrong.

After hours of reading msdn and blogs, restarting, I uninstalled and had another go. Then I figured out what was happening. In the installation process it does a check and offers a report. I spotted a "warning". Double-clicking gave the details: essentially as I had SQL Server Express installed (its installed as part of Visual Studio Orcas) the warning was that installation would fail!! Crickey - only a warning. What warrants an error? :-)

Tuesday, 4 September 2007

SQL injection

One of the big selling points of our Cw language was the elimination of SQL injection attacks. Finally people have noticed that LINQ offers similar functionality!

Monday, 3 September 2007

Gimme More

Something new to listen to when I'm not playing the New Young Pony Club album.

[Ug - these links don't stay up very long! Try this one.]

Additions to the (PPT) family

Today our research group expanded dramatically! We just gained two new postdoc researchers and another visitor:

What a great place to work! I'm really looking forward to these three being around.

Sunday, 2 September 2007

Farewell to Bob Harper

One of the great things we do in MSR is host academics on sabbatical. We've recently had the pleasure of Bob Harper's company. I've learnt a lot from Bob - primarily I now understand better the "judgemental" techniques that he and Frank Pfenning have been using over the past few years. This stuff is way cool!

On Friday we had a farewell dinner. It was quite an evening! Andy Gordon has posted some pictures on his blog.