So, I've now moved to New Zealand, and in time there will be a post about all that, but right now I am back in the UK, in fact back in York, my childhood home - weirdly this is the longest I've spent in York for about 8 years and I'll have circumnavigated the globe to do it.
Anyway, ETAPS is at York university, which is very pretty - lots of grass and a lake and some ugly old buildings. It also, apparently, has the highest duck to student ratio in the UK. The downside of the venue is that most of us are staying in student halls, which although cheap(-ish) are not particularly luxurious. Pokey is a word that comes to mind - I at first mistook the bathroom for a cupboard. They also have a temporal-tardis-like effect - they appear older on the inside than on the outside!
Anyway, the first two days had interesting sounding talks, but were well outside my area of knowledge and so I gained little. Once ESOP started, however, there were many interesting talks and I will describe these in the following blog posts (over a few days).
I'm a research engineer at Mozilla working on the Rust compiler. I have history with Firefox layout and graphics, and programming language theory and type systems (mostly of the OO, Featherweight flavour, thus the title of the blog). http://www.ncameron.org @nick_r_cameron
Friday, March 27, 2009
Sunday, January 25, 2009
ESOP paper
As I noted below (I think), my supervisor (Sophia) and I have had a paper accepted to ESOP 09 which is in march in York, England. The title is existential quantification for ownership variance and it can be downloaded here.
I'm moving to NZ tomorrow and looking forward to starting some proper research, as opposed to continuously correcting my thesis. Although not looking forward to the 27.5 hr flight so much.
I'm moving to NZ tomorrow and looking forward to starting some proper research, as opposed to continuously correcting my thesis. Although not looking forward to the 27.5 hr flight so much.
Sunday, January 04, 2009
Busy, busy,...
A quick update: on the academic front I have submitted my thesis and passed the viva with minor corrections, which I am working on now. Sophia and I have a paper accepted at ESOP 09 (link coming soon) on existential ownership for variance. Other than that I've been trying to learn Coq, which turns out to be very difficult. On the personal side, I got married and have been busy saying bye-bye to relatives and friends before we head off to NZ; talking of which, I got my visa yesterday, so now all I need to do is finish my thesis corrections and pack.
Thursday, October 23, 2008
Things I don't like
Specifically, things I don't like in programming languages. When I design the world's perfect programming language, none of these things will be in it. I'm not going to justify any of these things, I am after all meant to be finishing my thesis.
arrays
overloading
pointers
inner classes
primitive types
raw types
private/protected/public annotations
Java-style reflection
non-reified generics
almost everything to do with concurrency
wildcards (the syntax, the underlying idea is nice)
packages
non-virtual inheritance
friend functions
\* *\ comments (rather then \\)
These are mainly OO/Java-ish things, I'm sure I could think of as many from other paradigms, but I'm a bit OO focused at the minute.
Some we just have to put up with because there is no neat, all round solution (eg primitive types). Others are not as good as they could be (reflection, concurrency support), and others just shouldn't exist (statics, arrays, most of the rest)
arrays
overloading
pointers
inner classes
primitive types
raw types
private/protected/public annotations
Java-style reflection
non-reified generics
almost everything to do with concurrency
wildcards (the syntax, the underlying idea is nice)
packages
non-virtual inheritance
friend functions
\* *\ comments (rather then \\)
These are mainly OO/Java-ish things, I'm sure I could think of as many from other paradigms, but I'm a bit OO focused at the minute.
Some we just have to put up with because there is no neat, all round solution (eg primitive types). Others are not as good as they could be (reflection, concurrency support), and others just shouldn't exist (statics, arrays, most of the rest)
Wednesday, October 15, 2008
Feynman Quote
"Physics is like sex. Sure, it may give some practical results, but that's not why we do it."
Substitute "PLT" for "physics"...
Substitute "PLT" for "physics"...
Fun
Surprisingly, this is not going to be a post about functional programming, nor about the existential types calculus, Fun; but, about fun, as in "having fun" or something being fun to do. More specifically, programming.
OK, most people who know me will know that I hate programming. Well, that's not really true, I love programming, but I hate all the crap that goes with it. Writing neat, elegant code to achieve some task and see it work is more fun than most (but not all) things I can think of. However, testing, debugging, writing documentation, writing boiler plate code, maintaining code, all of these are about as much fun as a kick in the nuts.
I believe the fun aspect of programming is important, it motivates lots of people to write open source and free software and to code in their spare time "just for fun"! It pretty much explains why anyone would work in the games industry. Even in well paid development jobs, I think that tasks that are fun to do are given priority, done with more enthusiasm and concentration, and, therefore, done faster and with less mistakes.
So here's an idea for language design, how about making a language that maximises the fun in using it? It would maximise the time spent on fun things and try and make the not-fun things more fun, rather than more efficent or more safe or whatever other software-engineering-ey things are considered important nowadays.
Of course, you would need to find out precisely what was fun and why and how to put these ideas into a programming language, but maybe that will be fun to do itself.
How's that for a research project that will never get funded and will never happen?
OK, most people who know me will know that I hate programming. Well, that's not really true, I love programming, but I hate all the crap that goes with it. Writing neat, elegant code to achieve some task and see it work is more fun than most (but not all) things I can think of. However, testing, debugging, writing documentation, writing boiler plate code, maintaining code, all of these are about as much fun as a kick in the nuts.
I believe the fun aspect of programming is important, it motivates lots of people to write open source and free software and to code in their spare time "just for fun"! It pretty much explains why anyone would work in the games industry. Even in well paid development jobs, I think that tasks that are fun to do are given priority, done with more enthusiasm and concentration, and, therefore, done faster and with less mistakes.
So here's an idea for language design, how about making a language that maximises the fun in using it? It would maximise the time spent on fun things and try and make the not-fun things more fun, rather than more efficent or more safe or whatever other software-engineering-ey things are considered important nowadays.
Of course, you would need to find out precisely what was fun and why and how to put these ideas into a programming language, but maybe that will be fun to do itself.
How's that for a research project that will never get funded and will never happen?
Sunday, August 17, 2008
Papers
I'm currently writing the background chapter of my thesis, and this involves a lot of re-reading of papers. Several times now I've thought "if only I had read this two years ago! This would have been so helpful, I could have avoid so many mistakes!" Of course, I had read the papers two years ago, and I thought at the time that I understood them (in the same way that I think I understand them (better) now). So, maybe, I should have put a lot more effort into properly understanding these papers when I first read them? Well, yes, I probably should, it would have saved me a lot of pain and effort. But, I can't help thinking that maybe I had to do all the work and suffer all the mistakes before I really could understand them. I like to think so, because then I don't feel so bad about wasting months on bad ideas that I could have avoided by spending a few days more on a paper.
p.s. I would particularly like to single out the two variations on the variant parametric types paper by Atsushi Igarashi and Mirko Viroli. It seems to be the paper that keeps on giving; I've read it at least five times now, each time in some detail, and yet everytime I seem to get more out of it!
p.s. I would particularly like to single out the two variations on the variant parametric types paper by Atsushi Igarashi and Mirko Viroli. It seems to be the paper that keeps on giving; I've read it at least five times now, each time in some detail, and yet everytime I seem to get more out of it!
Tuesday, August 05, 2008
Egypt
Currently I am in Egypt, to be precise I am in Dahab in the south Sinai. My mission is to write my thesis. I figured that it is a lot cheaper than London and there are a lot less distractions. So far I am doing quite well, I have written more than I think I would in London even though I have been busy moving into an apartment and settling in etc. Now I am ready to accelerate to never before seen levels of productivity! This is kind of dependent on the air con in my apartment getting fixed because otherwise it is too hot too sleep and far too hot to think, but, insha'allah, it should be fixed today.
My other reason for being here is that it is the freediving capital of the world. There is lovely warm, clear, and, most importantly, deep water 3 minutes from my apartment, loads of people to freedive with (most of whom are very good) and some great people to take some coaching from. I am pretty much on my pb from last year (41m) and it feels easy. I am taking it slowly, doing lots of dives to about 40m, and have some technique to learn, but I hope to be hitting 50m and more soon. So these are my goals for the summer - one complete thesis and 50m+. My schedule is pretty much work in the mornings, noon, and evenings and freedive in the afternoon. No late nights, no alcohol, no noxious London pollution; by the end of September I should either feel more healthy and alive than I have done in years, or a complete physical and mental wreck, we'll see...
Update, well I seem to be edging toward the physical wreck end of the spectrum, had a bit of boo-boo freediving and was spitting a little blood afterwards. Apparently not too much to worry about, but need a few days rest and to take it easy for a week. That will teach me for being so optimistic! On the bright side it means I have even more time to write my thesis, so I am plowing ahead with the background chapter!
My other reason for being here is that it is the freediving capital of the world. There is lovely warm, clear, and, most importantly, deep water 3 minutes from my apartment, loads of people to freedive with (most of whom are very good) and some great people to take some coaching from. I am pretty much on my pb from last year (41m) and it feels easy. I am taking it slowly, doing lots of dives to about 40m, and have some technique to learn, but I hope to be hitting 50m and more soon. So these are my goals for the summer - one complete thesis and 50m+. My schedule is pretty much work in the mornings, noon, and evenings and freedive in the afternoon. No late nights, no alcohol, no noxious London pollution; by the end of September I should either feel more healthy and alive than I have done in years, or a complete physical and mental wreck, we'll see...
Update, well I seem to be edging toward the physical wreck end of the spectrum, had a bit of boo-boo freediving and was spitting a little blood afterwards. Apparently not too much to worry about, but need a few days rest and to take it easy for a week. That will teach me for being so optimistic! On the bright side it means I have even more time to write my thesis, so I am plowing ahead with the background chapter!
Saturday, August 02, 2008
PostDoc in NZ
Slightly belated news, but I wanted to blog the other things before I forgot them all. From 2009 I will be working for James Noble in New Zealand. We wrote a grant proposal (with more than a little help from Sophia - thanks!) to study existential types for ownership types and other mechanisms for making ownership types more flexible. Our proposal was accepted (yay!) and so I'll be starting work in NZ just as soon as I finish my thesis and get married. This is obviously very exciting and I'm really looking forward to moving to NZ and to working with James. We already seem to have too many ideas for two years and I still have a bunch of things to do with wildcards, so hopefully I won't be stuck for something to do.
Friday, August 01, 2008
A visit to an Najah University, Nablus.
After leaving Cyprus I went to Israel, to visit a couple of friends and to do a few days sightseeing in the West Bank. After a couple of days in Jerusalem and Bethlehem, I headed north to visit a friend; he lives on a Kibbutz in a little corner of Israel squeezed between Lebanon and the Golan Heights. It was very beautiful there and as he had to work during the days I got some work done too - thesis writing and some proofs, occasionally interrupted to cool off by swimming in the beautiful, and freezing cold, river Dan.
After a few days of this it was back to Jerusalem and straight on to Nablus, where, on the bus I met some very nice Palestinian guys, one of whom put me up for the night in Nablus. All of his house mates were students at the university, so I was taken along to a few lectures the next morning.
An Najah university is the largest Palestinian university and has 16,500 students in 3 campuses around Nablus. The campus I visited was very modern and the buildings were much nicer than, for example, Imperial College. Furthermore, as it is quite high on a mountain overlooking Nablus, it has probably the best views of any university I've ever visited. The facilities do not seem too bad either, plenty of computers, etc. Nicest of all it seems very relaxed, other than the slightly over-keen security at the gates, there is none of the background tension that permeates most Palestinian towns. Also, if you have travelled in Palestine, you may wonder where all the young women are, the answer seems to be that they are all at university, there seemed to be (and apparently this is the case) far more female than male students, especially in engineering and science, apparently - which makes a bit of a change from Imperial!
Mostly the place reminded me of any other university, lectures seemed pretty much like lectures anywhere else. There were a few differences: students talk a lot more in lectures than you'd get in England, the classes were a bit smaller, some lectures were in Arabic (although its amazing how much of an Arabic statistics lecture you can understand!), and there are probably more martyrs posters than you'd find in an English university.
I sat in on an English lecture and listened to a very nervous girl speak about colours. And was then press ganged into talking in English and probably confused everyone a great deal. Most students seemed more interested in chatting about why I was there and which football team I supported than anything about English, but I guess it is all practice.
After a late breakfast I knocked on the door of the head of Information Technology to try and find out a little about computer science in Nablus. He was a very nice guy and we were joined by a couple of professors who were also very nice, one of whom had done his PhD in program verification, so we had a little chat about my work and on PLT. They had the kind of problems you'd expect, not enough staff, not enough money, not being able to travel. Even though many of the lecturers have PhDs, they don't have time to do any research. In fact they seem to have lot of clever people (in contrast to say Addis Ababa, where all the lecturers with PhDs left to work in the states), but not enough time and money. They teach pretty much what you'd expect of a computing course, Java and C++ and databases, hardware, etc. Less maths and theory than at Imperial and more general options - the first year is a bit liberal arts like and they continue to do English and other options throughout.
Anyway, what was nicest was to meet so many friendly people, it was amazing how many people wanted to chat or say hello or were interested in this that or the other. Overall it was a great experience and I wish I'd had longer there; the staff wanted me to give a seminar on my research and it would have been nice to meet more of the staff and maybe sit in on some CS lectures.
After all this fun it was time to go back to Jerusalem, which entailed lots of waiting and queuing at checkpoints and very young and nervous (but always polite) Israeli soldiers pointing guns in my direction and general tension. I won't go into it here, but suffice it to say that the Palestinians really suffer for the security measures.
After a few days of this it was back to Jerusalem and straight on to Nablus, where, on the bus I met some very nice Palestinian guys, one of whom put me up for the night in Nablus. All of his house mates were students at the university, so I was taken along to a few lectures the next morning.
An Najah university is the largest Palestinian university and has 16,500 students in 3 campuses around Nablus. The campus I visited was very modern and the buildings were much nicer than, for example, Imperial College. Furthermore, as it is quite high on a mountain overlooking Nablus, it has probably the best views of any university I've ever visited. The facilities do not seem too bad either, plenty of computers, etc. Nicest of all it seems very relaxed, other than the slightly over-keen security at the gates, there is none of the background tension that permeates most Palestinian towns. Also, if you have travelled in Palestine, you may wonder where all the young women are, the answer seems to be that they are all at university, there seemed to be (and apparently this is the case) far more female than male students, especially in engineering and science, apparently - which makes a bit of a change from Imperial!
Mostly the place reminded me of any other university, lectures seemed pretty much like lectures anywhere else. There were a few differences: students talk a lot more in lectures than you'd get in England, the classes were a bit smaller, some lectures were in Arabic (although its amazing how much of an Arabic statistics lecture you can understand!), and there are probably more martyrs posters than you'd find in an English university.
I sat in on an English lecture and listened to a very nervous girl speak about colours. And was then press ganged into talking in English and probably confused everyone a great deal. Most students seemed more interested in chatting about why I was there and which football team I supported than anything about English, but I guess it is all practice.
After a late breakfast I knocked on the door of the head of Information Technology to try and find out a little about computer science in Nablus. He was a very nice guy and we were joined by a couple of professors who were also very nice, one of whom had done his PhD in program verification, so we had a little chat about my work and on PLT. They had the kind of problems you'd expect, not enough staff, not enough money, not being able to travel. Even though many of the lecturers have PhDs, they don't have time to do any research. In fact they seem to have lot of clever people (in contrast to say Addis Ababa, where all the lecturers with PhDs left to work in the states), but not enough time and money. They teach pretty much what you'd expect of a computing course, Java and C++ and databases, hardware, etc. Less maths and theory than at Imperial and more general options - the first year is a bit liberal arts like and they continue to do English and other options throughout.
Anyway, what was nicest was to meet so many friendly people, it was amazing how many people wanted to chat or say hello or were interested in this that or the other. Overall it was a great experience and I wish I'd had longer there; the staff wanted me to give a seminar on my research and it would have been nice to meet more of the staff and maybe sit in on some CS lectures.
After all this fun it was time to go back to Jerusalem, which entailed lots of waiting and queuing at checkpoints and very young and nervous (but always polite) Israeli soldiers pointing guns in my direction and general tension. I won't go into it here, but suffice it to say that the Palestinians really suffer for the security measures.
Subscribe to:
Posts (Atom)