UPDATE: video from the talk, expertly shot by Jyri Engestrom, is now available.
I'm heading to Helsinki in a few days for the next Thinglink workshop. My lovely hosts Ulla-Maaria and Jyri have organised a chance for me to give an Aula talk on "the Open Data Movement". I'm honoured to be part of a series that has included Ben Cerveny, Henry Jenkins, Joi Ito and Lawrence Lessig.
Here's the invitation:
OPEN DATA MOVEMENT - THE NEXT WAVE OF OPEN SOURCE
Matt Biddulph
www.hackdiary.com

Thursday August 17th at 18:00
Helsinki Institute for Information Technology (HIIT)
6th floor, Pinta-building, High Tech Center (HTC), Ruoholahti
Tammasaarenkatu 3, Helsinki
Tilaisuus on avoin ja maksuton. Luento on englanninkielinen.
Welcome - Tervetuloa!
* * *
The Wikipedia is only the tip of the iceberg of information that is becoming freely accessible on the internet. Following the success of open source, an open data movement is occurring online that seeks to gather, publish and enable the reuse of rich machine-readable datasets - like all programs ever broadcasted by the BBC.
By opening up these wellsprings of information, which were previously only accessible to large institutions, the open data movement has unleashed a new wave of creativity on the Web. Programmers, students, and companies are building mashups by overlaying photos, blog posts, and other objects to open datasets like the BBC Programme Catalogue, Wikipedia, Open Streetmap, and Thinglink.
As a case in point, Biddulph will describe how the BBC's database of programming from the 1950s to the present day was transformed from an internal green-screen application to a public Web 2.0 service using Ruby on Rails. Expect to see some playful examples of what you could do with it and other open datasets.
* * *
Matt Biddulph is a freelance software developer based in London. He previously worked at BBC Radio and Music Interactive as the leader of the software architecture team, aka Head of Plugging Things Into Other Things. He blogs on Hack Diary (www.hackdiary.com).
* * *
The event is organized by Aula (www.aula.org) in collaboration with HIIT. Aula is an open network that promotes the exchange of ideas across boundaries.
The nice people at O'Reilly invited me to Foo Camp this year. On August 24th I'll be packing up my bags and leaving Amsterdam for sunny California.
After Foo Camp, I'm planning to stay in San Francisco until at least mid-October, and (having worked my arse off for the last couple of months) I'm going to be able to mostly treat it as a holiday.
Shockingly, I've never visited San Francisco before, so I'm looking out to my extended network for fun people to meet, exciting companies to visit, and places to stay in SF.
If anyone has a housemate who's going to be out of town, a geek apartment they want to sublet or just a comfy couch they can lend me for a few nights, please do let me know. Tips on cheap hotels also very much appreciated.
This is going to be so much fun. Hope I see you in California.
This week I'm doing some Rails consulting work for a company that's already developed and deployed a major application. Getting to know a new codebase takes a little time and every diagram or visualisation helps. To help me understand their ActiveRecord model relationships, I knocked together a quick script to scan the associations between models and output it in the Graphviz DOT format.
A quick Omnigraffle import later, and I get useful diagrams like this fragment from the BBC Programme Catalogue codebase:

Here's the code, ready for running from the top of any Rails project (ymmv, etc):
#!/usr/bin/env ruby
require "config/environment"
Dir.glob("app/models/*rb") { |f|
require f
}
puts "digraph x {"
Dir.glob("app/models/*rb") { |f|
f.match(/\/([a-z_]+).rb/)
classname = $1.camelize
klass = Kernel.const_get classname
if klass.superclass == ActiveRecord::Base
puts classname
klass.reflect_on_all_associations.each { |a|
puts classname + " -> " + a.name.to_s.camelize.singularize + " [label="+a.macro.to_s+"]"
}
end
}
puts "}"