Quick post to point out a tiny tool that I’ve found useful while hacking together various webby thing that use and expose open graph meta tags and microformats.

It’s a VERY simple tool, that when passed a URL, will mine the page for Open Graph and Microformat data (using my Open Graph library, and Barnaby Walter’s fantastic MF2 parser). You can even execute it from the command line if you have the CLI version on your path, which I find handy.

Anyway, code on github, and you can see it running on skunk.

» See it running on skunk…

» Visit the project on Github...

During one of the intervals at the recent TEDx Oxford conference, after Peter Millican’s session in which he used simple computer programs to gain insights of the world around him, I was approached by a very good friend of mine. She was keen, as are a number of my friends, male and female alike, to learn how to code, but she was struggling with how to get started.

The issue she was having with the currently available classes were too formal, often very demanding on time, and she often found them to be very competitive. This didn’t produce a very supportive or effective learning environment. Online courses on the other hand were often were very simplistic, and were hard to stick to, possibly because they were often worked at in isolation.

As a teacher, she is keen to try and get something short, with a large practical element, which would fit in the few weeks every year that all teachers have free at the same time – the summer break.

How did you learn?

The conversation turned to how I learned to code…

While I had some formal education it is true, which was good to address gaps in my theoretical knowledge, I had learnt the bulk of my coding skills long before I sat in my first Computer Science class at 15. Despite having not been formally “taught” how to code, I had managed to absorb a comprehensive understanding of the subject, so how did this come about?

Through our conversation, I realised that it seemed I had largely learnt through self directed play (aka, pissing about trying to do cool shit), combined by having a couple of more experienced friends, who helped guide me when I got completely stuck. Another aspect that helped was the weekly computer club I attended, together with Ben Werdmuller and a few other friends, where (as well as playing Monkey Island for hours) we demoed our latest code, and exchanged tips hand tricks we had learnt.

This provided a supportive environment in which to sharpen my tools, and the aura of good natured competition the weekly informal show and tell generated didn’t hurt.

What could this look like as a course?

So, could this experience be replicated? Could we put together a course, which would be fun, nurturing, fit in with people’s limited time and allow people to drop in and out without falling behind? I’m assuming this is going to be for adults here, but I can’t imagine it being a significantly different problem for children.

I imagine this working more like a club or craft group, rather than a course, where students play with various bits of kit and work on their own projects. Where they’re encouraged to learn off other students, and where more experienced people are largely there as mentors rather than to set agendas. For complete beginners, perhaps an orientation session covering some of the basic basics would be useful to bring people up to speed, but I think lectures and theory should be minimised – this should be hands on!

What are your thoughts?

The internet as we know it is under threat as never before. Surveillance, government censorship and secret corporate power plays threaten to destroy the Internet as a free and open platform for communication.

Much of the problem originates from the fact that the Internet has become ever increasingly centralised. In recent years, powerful encumbered players and elites have seen their power threatened, and have systematically attempted to “manage” the internet.

Communication and the free flow of information is too important a thing to allow to be threatened in such a way, so is it time that the citizens took control?

Citizen network

So, here’s a few thoughts on what this might look, and what I would like to see.

What I’d like to see are a range of local mesh networks grow up, providing free local connectivity to users. Initially, these will be highly local, but as the edges of the network expand, they’ll start to see other local networks and automatically negotiate routing between them. For networks further afield, perhaps an edge node which also has internet connectivity could provide a tunnelled link over the wider internet.

Hard encryption should be baked in, rather than added as an afterthought, and the network should aim for a situation where no unencrypted traffic is seen.

It should be possible to construct this sort of network with inexpensive and freely available hardware and software; perhaps, for small areas, a network of wifi repeaters, and for larger links perhaps a mixture of technologies – inter-network radio or microwave links, or even laying of fibre depending on the budget of those involved.

The goals of these networks should be to provide free access to anyone, and freedom for anyone to run a node on the network. With any luck, this will eventually kill the ISP business, and, in the UK at least, break BT’s stranglehold on connectivity.

There are a few local net projects about of course (they’re quite popular in Greece, apparently), but so far I don’t think we’ve seen much of an attempt to build them elsewhere, or to connect them together.

It’s a big job, but we built the Internet once, could we do it again?