Long overdue catchup post

aka 'highlights of the last few months'

It's been quite a while since I posted anything and it's time I did.  The last few months have been pretty busy so I thought I'd write some notes about the main items in one post and then we can pretend that I'm current again.  I'm well aware that the sheer size of this post means it's unlikely to be read fully by most people.  There are some pics so perhaps that might be enough to hold your interest :)

Later this week, I'll write a separate post about the things I'm working on now and I'll try to keep more up to date from then onwards.  

All of the following covers October to December.

 

Silicon Valley comes to the UK

SVc2UK was a 5/6 day conference with events taking place in Cambridge and London.  The aim is to introduce students from universities to high-profile folks from the Valley and inspire the students to consider startups as a career path (either by founding or joining them).  I was involved in this conference back in 2009 and decided to join the the new team for the 2011 events.  This year the conference was preceded by a several 'Appathons' (read: hackathons), which took place at 6 Universities, including Cambridge.  You can find out more about the Appathon and the conference via www.svc2uk.com but here are some short notes and some pics.

-- Cambridge Appathon --

The hackathons were 2-day events aimed at students and the theme was open government data.  I ran the Cambridge event on behalf of Cambridge University Entrepreneurs and we had about 80 people taking part over the course of the weekend.  Representatives from Google, Facebook, Apple and the Technology Strategy Board were present to advise the student teams and folks from the local tech community also got involved.  At the end of the weekend, we awarded Amazon Kindles to three winning teams (as decided by audience vote) and everyone was encouraged to enter the national competition too.  One of the Cambridge teams also won the national prize (a trip to SV).  Yeay!

Given the sheer amount of brain-ache involved, I could (should?) write a separate post on how to run a hackathon.  Maybe I'll get around to it at some point but in the meantime, here's the team that actually pulled this together: Matko, Alastair and Andy, Ben, Ivan, Simona, Saar, Roger.  I'm also especially grateful to the sponsors/supporters of the event: Red Gate Software, Cocoa Controls, Nick (at Google), SVc2UK, ideaSpace and the Cambridge Computer Laboratory (who hosted us for a weekend).  Below are some pictures of the event itself and the national awards ceremony at Downing Street.

(download)

-- SVc2C Conference --

This was the main part of the conference and the guests from the Valley were in Cambridge for two days.  In that time, they took part in a pretty large number of events and hopefully met a lot of interesting students.  If you're interested in the list of guests, you can check them out via the link on the conference website.

You can find videos of this year's sessions on the Vimeo account.

 

Stanford online courses

I did all three of the inaugural classes. Machine Learning, Artificial Intelligence and Databases ... and I enjoyed them in that order.  The following is a short summary/review of each.

ML-Class was fantastic since you had to write actual scripts and I really looked forward to both the videos and exercises every week.  At times, the exercises felt a bit contrived (one line of code in a file) but there were occasions where I had to really think properly to *get* that one line.  Once you got the hang of matrix multiplication the exercises got easier.  The scores don't really mean anything since you could repeat the questions until you got a perfect score. At some point, I'll go back over the iTunes U content from the profs 2008 class.  It has more theory/maths and covers reinforcement learning, which the applied course didn't.  You can find my 'programming' exercises [on GitHub][Github ML Repo].

AI-Class was a very different course and it didn't seem as 'slick' as the ML class but I learnt *way* more maths, specifically about probability.  Since I was terrible at probability at school, I really wanted to get a better handle on it and this class really made me work.  I have pages and pages of calculations for some of the in-class questions and I hope I can retain what I've learnt.  At times there was only a cursory overview of a topic before moving on but I should have expected that from an "Intro to..." course.  This was the only class with *both* graded homeworks and exams. Overall, I was in the 'top 25%' according the statement I got (overall mark was 95%).

DB-Class was the one I least understood but the one I originally thought I was going to stick with.  Within the first few lectures, I knew I was going to find it tough.  Relational Algebra made no sense to me and the videos seemed to cover each example once and move on to something else.  Since I didn't have enough time to find additional resources, I ended up barely following along and basically flunked the course.  There was a mid-term and final exam and the homeworks could be repeated until you got a perfect score (but I ended up not bothering).  No idea what score I got but you needed >50% to get a statement and I didn't get one :)

In general, I was very impressed by the dedication and effort the profs and the teams working with them put into the courses.  Although the profs were the folks centre stage, there were a group of largely unsung heroes who kept things running, put together exercises and enabled everything to happen.  This method of learning is really going to take off and if people can figure out how to deal with proper certification, then it might even challenge the notion of going to University.  There have been a slew of new courses available and I think I'll try two more if I can fit them in (i.e. Probabilistic Graphical Models and Model Thinking).

 

Learning to code

I've also been trying to keep up with learning Python via LPtHW (see GitHub repo for progress).  I'd describe myself as chugging along and I'm glad that I'm not finding anything too difficult.

The trickiest part is finding ways to actually fit some coding into things I need done.  Since I finished analysing my PhD data, I've not had the need to write scripts or manipulate data in any substantive way and I don't fancy re-writing any of my old stuff (NB I also tried to collate all of that and added it to GitHub too).  I'm sure I can find something worth doing and I suspect it might involve Django sooner than I thought.  

I also signed up to Code Academy's 'Code Year' but I've not opened any of their emails yet (and I suspect I won't have time). 

Lpthwbook

Events and occasional startup stuff

As always there have been a bunch of events and startup-related items in the last few months.  Normally I wouldn't bother mentioning these but I'm in a list-y mood.

Pics of Visit to Olympic Park (in May)

(download)

... and finally

I manged to get this done in October.  Took a while.

Thesis001

Lego is Amazing

(download)

I just spent the afternoon playing doing valuable research with Lego.  The pics above show my amazing creation but they don't do justice to the complexity of it.  I really didn't think I'd need the instructions but I was so wrong.

This was actually part of a research study that will be done with 4-5 year old children.  Essentially, the kids will be asked to follow instructions to build objects and the researchers are interested in the self-regulatory processes during constructive play ...  woosh ...  Me play with Lego. Me happy.

Apparently, the bus above is considered too complex, which doesn't surprise me since it took me a few hours to put it together.  Most of that time was spent rummaging around in the box for the right parts (that's part of the study design).  I didn't help myself by deciding part way through that I wanted it to be a right-hand drive bus instead of the left-hand drive that the instructions described (you might be able to spot the difference between pics 2 and 3).  That was fun.

Lego itself is pretty interesting and there are some really strict tolerances required in its manufacture.  If you've ever played with Lego, consider the following: the pieces are held together only by friction, yet you can create and dismantle fairly large and robust objects; if you build a wall of Lego, the plane of that wall is pretty smooth (no protruding bricks).  If you're manufacturing millions of these little things, you can only achieve that with some damn precise engineering.  Apparently the moulds are made within a tolerance of 2 micrometers.  For comparison, the width of a human hair ranges from 17-180 micrometers.  It's even more impressive when you consider that bricks from 1958 are still compatible with bricks made today.

Check out the Lego Wikipedia article for more info.

 

Richard Stallman on Free Software and your Freedom (lecture)

Lecture at Cambridge Computer Lab on 1 March 2011 - Sponsored by Software East (@markdalgarno)

[pls excuse the typos & poor grammar. I'm typing this on the fly and unlikely to edit it before posting. Caveat emptor]
[edit: It was a long talk and I missed some chunks. Overall, he spoke for just over 90mins. Longer than I was expecting]

Bio: Richard Stallman launched the development of the GNU operating system (see www.gnu.org) in 1984. GNU is free software: everyone has the freedom to copy it and redistribute it, as well as to make changes either large or small. The GNU/Linux system, basically the GNU operating system with Linux added, is used on tens of millions of computers today. Stallman has received the ACM Grace Hopper Award, a MacArthur Foundation fellowship, the Electrical Frontier Foundation's Pioneer Award, and the Takeda Award for Social/Economic Betterment, as well as several honorary doctorates. [taken from: http://www.theiet.org/local/emea/europe/switzerland/stallman-2010.cfm see his website at stallman.org]

Stallman enters room and hush descends immediately. Cue joke about slides and "definitely not PowerPoint".

What is free software? It sw that respects your freedom. Think of free speech not free beer. A non free sw is digital colonization. It acts to divide and conquer people

A program is free if you have 4 freedoms
0 - To run it as you wish
1 - Have source to edit to run as you wish
2 - To share & distribute & help others, as you wish
3 - To distribute modified, copies if you wish

If sw does not obey these then it's unethical. Notice that these are not about the technical issues. The difference is an ethical, social and political distinction. The use of propriety sw is a social problem and we should aim to eliminate the problem. ie eliminate propriety sw. Goal of free sw is to make all sw free so that users are free. If you use a program without freedom 2 then you end up in a moral dilemma. If someone says "Hey, great sw. Can I get a copy?". In this case you should choose lesser of two evils, which is to violate the license and give your friend a copy. Being the lesser evil doesn't mean it's good though. When you've fully studied this dilemma what should you do? Option 1: don't have any friends! That what the proprietary debs would have you do. Option 2: don't have that sw in the first place so you don't end up in the dilemma in the first place. Note on Piracy: They attack ships. With arms. Freedom 0 - Essential so you can control your computing. No one else should have that control. Only you. There are proprietary programs that have licenses that restrict your freedom of speech (ie website software that means you cannot publish stuff disparaging to sw vendor)

Freedom 1 - Being a victim of malicious sw is something that ppl are subject to all the time. For example back-doors, DRM, spyware, handcuffs. The sw is not there to serve you but is actually a prison guard. Eg in MSFT sw can install stuff on pc w/out user consent or knowledge. Once windows has installed then it's no longer your machine. Apple is no better. They've even stolen the ability to install apps. They don't even agree w free sw. Also a back-door by which Apple can delete sw installed on users machine. Even apps exist that detect Jailbreak and refuse to operate. All these are Malware. Products include: Apple iMoan, Apple iBad, Amazon Swindle - "Kindle was conceived to burn books." (riffs on Amazon taking books off devices etc)

Even if devs of proprietary sw are good, they're human and make errors. ie bugs. Without freedom 1 you are a prisoner. Freedom 1 isn't enough. There too much sw and plenty of non-devs cannot edit it. That's why we need Freedom 3. To contribute to your community and spread benefits. Without this freedom what a waste it would be for people to write changes over and over. Every user can take part in Freedom 0 and 2 since it doesn't require any programming knowledge. Freedom 1 and 3 allow those who can to make improvements. With free software. Support is a free-market since everyone can study the code and master it. Hence people can get better support. Since support for proprietary sw is a monopoly, the support sucks.

The four freedoms together give us democracy. These are sufficient for people to have control over the sw. Without these the sw controls the ppl. Launched free software foundation in 1983. All operating systems were proprietary hence ppl immediately lost freedom when they had to install an OS. This was an injustice. As an OS developer, he could write the OS and then legally make it free. At the time, the free sw movement had no enemies at the time. Mostly because ppl thought the job was so big that it couldn't get done. Following the basic design of UNIX made sense. Then I gave it a name which was a joke. [digs in bag]. GNU = Gnu Not Unix. (riffs on the name and pronunciation). History of Linux. Aside: What is a free sw license? Why do we need them?
Copyright law automatically limits anything that's written so you have to explicitly grant the four freedoms. Even then there are distinctions. Eg copy-left licenses and non copy-left licenses. Specifically, user has to pass on the freedoms that have been passed on to him (copy-left). Torvalds made the Linux Kernel free under the GNU license.

The name matters. Linux does not have the same views on 'free' as GNU. Yet people using Linux think that most of the ideas came from Torvalds rather than GNU. Debate on Human Rights has continued for centuries. Yet the debate on free/proprietary sw has only gone on for about 20yrs. Therefore the debate on what human rights are applicable to sw have only involved the devs, who obviously have said "none". Another problem. Now ppl have another term: Open-Source. The ideas that surround this didn't include the ethical aspects of 'free'. Easy to lose freedom if you don't fight for it. There are now distros that contain proprietary sw and are no longer free. Free distros can be found at gnu.org/distros. Why did all this happen?
Because the idea of freedom wasn't important to people. They didn't appreciate it. We have to teach ppl to value freedom and demand it. Our greatest scarcity in FSF is not ppl to write sw but ppl to fight for the idea of freedoms. Freedom is now different since JavaScript in browsers means that things get installed in browser without your knowledge. 'Like' buttons even track ppl that don't use Facebook. Ppl need to be educated. Even SaaS is becoming pervasive and is worse than proprietary since the data goes elsewhere. There's no remedy for this, other than not to use it. Only a minority of things like this but need to be aware (eg GoogleDocs). Free software and Education
Schools must only teach free software. It's cheaper (but should be considered secondary benefit). Free stuff from proprietary vendors is simply a drug to get them hooked. Only free sw gives ppl the opportunity to learn from code of large Programs. Even deeper reason though. For goodwill and the moral imperative of sharing knowledge. Every school from nursery to university must practice this. The issue should always be an ethical one. Biggest obstacle to free sw is social inertia. Websites for more info:
Gnu.org
FSF.org
Defectivebydesign.org (against digital handcuffs)

[dresses up] St Ignuseus of emacs [riffs on emacs and free sw].

Applause
[ends]

Sent via mobile

How to discourage people from messing with your [insert object here]

(download)

This is on @nick_wood's desk. Yes, that's real hair. Yes, it's Nick's hair. So far you can see that it works on iPads and cakes.

Not sure how much my therapy* will cost but it's going on expenses :-P

* that's therapy and a dustbuster

 

Update: Turns out that it doesn't work as well on cakes as I previously thought.  I'd take another photo, but the cake is gone...

PhD Vivas: The Dutch do it better

(download)
I was at a good friend's PhD viva a couple of weeks ago and I was impressed with the 'pomp and circumstance' surrounding it.  Basically, the Dutch do PhD vivas/ceremonies way better than the Brits, especially given how much blood, sweat and tears are involved in getting to that stage.

There were lots of photos that day but I've managed to capture most of the story in the selection of pictures above. There are lots of differences between what I saw and the UK system.  

For example, it's obvious that the event is a public affair although seating is strictly limited so it's usually just friends and relatives of the graduand (he's the tall guy in the middle of the first pic).  There is a committee of examiners who can question the candidate, which includes his supervisor and the period of questioning lasts no more than 45 minutes.  That's it.  At the end of the 45th minute, the master of ceremonies (can't remember his official title) will stop whoever's speaking and usher the committee out to deliberate.  By contrast, in the UK, the event would be a private meeting with only two examiners (supervisor not present), lasting anywhere between 1.5 to 3 hours.

Having said all that, the comparison isn't really fair.  In the Dutch system, the viva is much more of a ceremony than an examination.  The Thesis will already have been read and approved long before the public defence takes place.   That's including any corrections that have been requested.  Therefore, barring allegations of plagiarism, the outcome of the viva is already known to everyone which lends a much more ceremonial air to the proceedings.  That doesn't make the questions any less tricky though.  Once the committee returns from it's recess, there are some proclamations and the degree itself is awarded (it's in the blue tube).  After that, there's a drinks reception and few family/friends head off for dinner.  Overall, a very civilised affair with the attention squarely on the graduate throughout.

Frankly, I thought the Dutch method of graduating was way better than the UK equivalent (the expense notwithstanding).  After spending several years working on research followed by the effort of writing it up, I've always felt the UK ceremony was a bit of a let down.  Over here, families sit in a large room full of strangers, and watch a procession of other strangers spend 30-45 seconds in front of a robed figure before picking up a sheet of paper on their way out of the back door.  There's a brief flurry of excitement as you see your <insert_relation_here> have their few seconds of attention followed by the realisation that you still have to sit through the remainder of the class before you can leave.  Not much of a celebration of the achievement in my opinion (not that I should disparage it too much since I have yet to finish myself!)

Given the fundamental differences in how PhDs are examined between the UK and the Netherlands, I'm not sure what we could do to introduce more of an 'individual ceremony', though it would certainly be nice to try.  If I ever get there, I'm making sure I mark the occasion properly ... which reminds me, back to work. :)

Cambridge ousts Harvard as world's best university

Cambridge University 

"Cambridge was voted best for research quality in a survey of 15,000 academics. It has an outstanding pedigree: famous minds who pushed back the frontiers of knowledge there include Newton, Darwin and Wittgenstein. Cambridge took overall first place in the rankings, which also use citation counts from a database of academic publishing"

The pic is of the first court in Emmanuel College, as viewed from the entrance