Tuesday, June 22, 2010

maspeghi

I am currently at the new MASPEGHI workshop. I was interested to hear talks on "Modular Composition and State Update in Plaid" and "Reverse Inheritance in Statically Typed Object-Oriented Programming Languages". Unfortunately, the first talk was rescheduled earlier, so I missed it, and the second was cancelled due to Skype difficulties. Luckily, the third talk I am interested in - "Pass-by-subclass Parameters" looks like it will go ahead shortly...

Towards a Semantic Model for Java Wildcards

Alex Summers just presented our work (with Sophia and Mariangiola) on semantic models for Java wildcards. He gave (I thought) a very good talk. It was a hard talk to make because the work is very technical and complex, and the joy is very much in the details. Alex managed to describe our proofs using tree diagrams in a very intuitive way, I think I understood the work better than when I was actually doing it!

I think we got a lot of interest, and certainly we had some good, interested questions.

ECOOP 2010

I'm at ECOOP 2010 in Maribor, Slovenia. I will write a few posts about papers in the upcoming days. I am not presenting (Alex Summers is about to present our paper to FTfJP), so it should be a bit relaxing.

Maribor is a very nice city, and I find it quite nice to be somewhere 'foreign' - different language, different architecture, etc. Quite the change after a year in australasia.

There has been quite a lot of grumbling about the location - too hard to get to, to hard to get around, not enough organisation. And some of these comments are fair, but I found the journey not too stressful, and the organisers are pretty organised (although some info has been pretty late in arriving). And I think it is great to have the conference somewhere less usual, it is a good oportunity to see a lovely country which I would otherwise never have visited.

My hotel is also lovely, particularly nice is the wide variety of saunas in the basement - it's a miracle I've made it to the conference really. What is less lovely is that access is by gondola only, once an hour until 10 - which is pretty restrictive.

Finally, I was not expecting many people to be here, from what I heard; but actually, there are many people I know, and it is very nice to catch up...

Tuesday, May 25, 2010

Papers

It's a been a god few months for paper publishing (and I have been a little lax about reporting on it): "Encoding Ownership types in Java" (with James Noble) has been accepted to TOOLS, "Towards a Semantic Model for Java Wildcards" (with Alex Summers, Maraingiola Dezani-Ciancaglini, and Sophia Drossopoulou) has been accepted to FTfJP, and "Tribal Ownership" with James Noble and Tobias Wrigstad has been accepted to OOPSLA. Which all makes me very pleased indeed! I think they are all good work, and I very much enjoyed working on them, learning a lot from my collaborators in the process - thanks guys!

These papers should be appearing shortly on my research page.

Thursday, May 13, 2010

Impact

A blog posting day today. This one has been swirling in my mind for a while actually.

Robert O'callahan (Mozilla) gave a talk at Vic recently (blog link), in essence, on the impact of one's work in the world. I missed the talk, but read the slides and had a chat with Rob about this, and it got me thinking. A lot.

What impact does my work have? Well as a theoretical researcher, I'm used to the answer being none. And I've been pretty comfortable with that, I get satisfaction from the intellectual challenge, rather than the real-world impact. If one of my ideas trickles down into something useful one day, then that is a bonus.

But, thinking about this a bit more, impact is like risk - it's a two dimensional idea, in the case of impact, there is magnitude (how many people, how much you impact each person) and 'positivity' (I can't think of a better name, I mean how positive the effect is). I've always thought in terms of magnitude, implicitly assuming I would be making things better, not worse (no intention of doing research for the military, for example). But I think it is important to think in terms of both - one should strive to make one's impact better, as well as bigger.

Not sure what any of this means in practical terms, but it is a musing in the spirit of the blog's name.

UK elections - postscript

So, a dissapointing showing for the lib-dems after predictions of greatness. But a tory-lib-dem coaliation is probably the best result that could be hoped for. Insha'allah, the lib-dems will temper the uglier side of conservative social policy, but the tories will get to fix the economy (whatever that means). On the other hand, it could all fall apart in a few months, time will tell. At least Labour are out of power (if you told me ten years ago that I'd be saying that, I'd have laughed in your face). Hopefully, the kicking will be taken for a comment on the home (civil liberties, "broken Britain" stuff) and foreign (war) policies of the last few years. We should remember that, Labour did a lot of good things for the country too...

Fingers crossed for some good things from the new boys (talking of which, it really is boys, where are all the powerful female ministers?), and hopefully proper voting reform at some stage...

Thursday, April 29, 2010

UK Elections

Bit of a departure from the usual, but it's election time, so why not?

Who to vote for - no-one looks conviincing, labour are tired and have made a total mess, plus there is that unpleasent Tony Blair taste left over. The size of the british state is getting ridiculous and the infringements on civil liberties frightening.

Voting Tory would be like selling one's soul to Satan (remember the '80s?), plus Cameron looks like Blair 2.0. The liberal democrats have some good policies (civil liberties, imigration) and actually have a chance of getting some votes this year, but have some stupid policies too (abolishing tuition fees, no nuclear power, etc.). Perhaps a lib-dem/tory coalition might work. What we really need is a proper liberal party - in both economic and social terms. And one with the guts to radically reform the health service (take power away from the GMC, reform doctor training and the doctor's/GMC monopoly) and education (let universities charge what they like, abandon the stupid target of getting stupid people through universities, fix primary/secondary schools a bit (although God knows how to do that)).

So The Economist is probably right, as repulsive as it seems, the tories are probably the best bet for a vote. Now that is a sorry state of affairs, glad I don't actually live in the UK right now.

Wednesday, April 14, 2010

You wait months for a good seminar...

...and then three come along at once!

Following Monday's seminar Robert was scheduled to talk again on tuesday, this time at the NZCSRSC (student research conference). It sounded like an interesting talk - "How to change the world" is not a modest title. And having perused the slides I am very disappointed not to have attended - it looks like there were a lot of good things, and thinking about your work in terms of impact is an interesting perspective, and one which I have not thought of since working in PLT.

Anyway, I couldn't attend because I was attending another seminar, this one from Rusten Leino on the Dafny language/verifier and other verifcation stuff going on at Microsoft research. It was a very interesting seminar with a very good demo of verification in action. Pretty impressive amount of bugs caught and all proofs done automatically - it was kind of like magic! Really solved the problem I have with a lot of these things, which is that no-one wants to prove their programs. The annotation overhead is still quite high, and I think only a minority of programmers will be able to write the specifications. But, with a little practice, I can imagine writing code with specs in Dafny in a practical way.

Rusten also summarised some of the other verification efforts he is associated with and they have acheived some pretty cool stuff.

"Dynamic framing" sounds cool, and I should try and understand it better.

Overall, I got the feeling that right there was the future of 'safe' programming languages, or at least a sneak peak of it. And, since it's at Microsoft, it actually has a fighting chance of making it into the real world!

Monday, April 12, 2010

Who would have thought...

...that a talk about standards would be interesting? But it was! Robert O'Callahan (Mozilla) just gave a talk about web standards. Standards are dull, and people who care about them tend to be even duller, but this was not a dull talk! It was interesting! Lots of interesting things about the web.

One nice thing is that short interations seem to work better for standards too, just like software. I think this is one of those fundamental computer science truths, kind of like "you can solve any problem with an extra indirection", for any task, shorter iterations are better.

Also, interesting parsing problem - "herebedragons", its obvious what is intended, but how should you parse it? And make a tree that can be manipulated by Javascript etc. And we all thought syntax had been solved thirty years ago. In fact, the web seems to be a whole new world of interesting computer science problems (see the post on Javascript VMs). Now what would be an interesting research topic?

Wednesday, December 16, 2009

VM talks and assembly language

Google are currently developing two (at least only two are public) VMs: Dalvik and V8. Dalvik is a Java VM (but not a "JVM" - it doesn't run Java byte code) targeted at mobile devices (part of Android), V8 is a Javascript interpreter and part of the Chrome browser. There are talks on both:

Dalvik: http://www.youtube.com/watch?v=ptjedOZEXPM

V8: http://www.youtube.com/watch?v=lZnaaUoHPhs

I recommend you watch both, they are both good, the V8 one in particular really got my juices going (man, I'm such a geek).

I think it is interesting to compare the two as the tackle a similar problem in very different ways. Obviously the source languages are different, in particular, V8 does lots of interesting stuff to optimise Javascript out of the dynamic language tar pit. The goals are different: Dalvik's main goal is to minimise space (also, time, but mainly space) and battery life; V8 is a pure speed machine. Dalvik doesn't do any JITing, V8 is (as I understand it) all JITed. Dalvik is optimised by using a new set of byte codes and a more compressed file format and some neat tricks on internal libraries etc. V8 is optimised by using classes and caching call sites. There's tons more on both VMs in the talks, and lots more stuff for an interesting comparison.

All of this machine hackery inspired me to look again at x86 assembly and architecture (and maybe I'll look at ARM next). I used to think x86 assembly was a big scary mess and best shyed away from. I've always output JVM or MIPS assembly in compilers etc. for this reason. Bu actually, x86 is not too bad! There's a few more instructions that do some pretty interesting things, but it really isn't much worse than other assembly languages. And I find it really interesting finding out how the processor works; maybe there's a closet bit-jockey in me after all.