Dev8D 2012
Today I got back from three days in London, where I attended this year's Dev8D. Dev8D is quite a remarkable conference (or more accurately perhaps, a conference, unconference and workshops all in one). It is aimed at developers in Higher Education, but open to anyone interested. It offers a great opportunity to learn new skills, get a feel for what is being discussed and important in certain areas, and meet people with the same interests as you.
I went last year for the first time (it has been running for four years now), and I was very happy to go back. The format of the event seems to have changed slightly every year, but what remains constant is the focus on hands-on-learning, and the informal atmosphere.
As there was so much going on at once, I can only write about a fraction of the sessions from first-hand experience, but for anybody interested in the event I would recommend reading the relevant DevCSI blog posts (there's lots of videos and interviews in there).
Some of the sessions that were held were decided on only during the event, through votes from all participants. Out of the fixed events, I had chosen to attend the Python and Javascript sessions. There was also a session on Coffeescript following the Javascript one, but I eventually decided against it as I would rather first know Javascript very well (also I'm not sure about having a language on top of another language; but people seem to have been impressed by it, and I remain curious). Then I learned there was an Arduino workshop on, something that I had missed out on last year. It turned out to be a great experience. We worked in pairs, and I did more of the software part, but mostly followed what my partner was building. And it was nice seeing the results immediately, LEDs flashing, varying potentiometer strength being translated into sounds, and the "grand finale", turning a motor in a certain pattern of slowing down, then picking up speed again. This must be great to do with children.
There is a lot one could say about the Arduino, and also about the "other guy" that was used for embedded programming in some sessions, a much more powerful microcontroller whith more periphery, including analogue-to-digital translation, though not open-source like the Arduino (or Freeduino, which seems to be what we were using). There were also 3D-printing machines in the room, but I did not attend the session on that unfortunately. Anyway, you can watch a talk about the Arduino workshop by its organiser Gary Bulmer, and here is 3D Printing with Graham Klyne. I see the ST Micro Cortex-M4 STM32F4 (that's the full name of the other microcontroller) had its own workshop, and there's lots of information in the description if you are interested.
The Python and Javascript "Core skills" sessions were also very good. The Python session was billed like this: "It will be presented as a Coding Dojo, with pairs of programmers operating the terminal, being assisted by the rest of the room." That was exactly what we did, with Richard Jones, who ran the session, either dictating what was to be written, or setting up little exercises. I found that this format worked very well, because you could follow along well with people typing, and it was also a good experience being in the "driving seat". I had previously started learning a bit of Python, but it is just so valuable having the particular aspects of a language being pointed out to you by somebody in the know, and then especially in this interactive way. Also, after the session, some of us were shown briefly how to use web.py in a development environment, and we created a mini web application, a calculator taking input from a query string. If you are a Python beginner, check out the Cottage Labs Python Cheat Sheet.
I also got a lot out of the Javascript session. There were two presenters, Juliette Culver and Graham Klyne, who took it in turns presenting a whirlwind tour through the Javascript language, and jQuery respectively. All the examples were available as files, so it was possible to recap afterwards. On the way to the conference I had started my third read of "Javascript the good parts", and it was useful hearing some of the main points being explained again (e.g. what 'this' means in different contexts; don't use a constructor function directly, only in a wrapper). It looks like I'm going to do a lot of Javascript in the coming months, so this is a good starting point.
On the last day I went to a session about ebooks. While I probably won't be needing this soon, I still found it very interesting that creating something in .epub or .mobi format is not actually that difficult. Although I feel that creating something looking nicely formatted and presentable might be a different story. I did not stay till the end of the session and don't know if authoring iBooks got covered in any detail, but it seemed to me that there was not all that great an interest in the class.
There were lots of other things I would have been interested in (there was a session on git for example) and I regret a little that I did not go to any of the panel sessions this year. Maybe next year!