Things I’m currently quite excited about
There’s a few tech things I’m pretty excited about at the moment.
Firstly, Scala is now at the point where it is actually productive. Scala 2.9.0 RC1 has just come out and it’s got freaking parallel collections in the standard library. Finally, I can stop looking so longingly at Clojure. As far as I can tell, you’ll be able to do something like this:
Array(1,2,3,4,5) par map (_ * 2) seq
And it’ll make an array, turn it into a ParArray, map it, and turn it back into a sequential Array. That’s pretty cool.
Then there’s Scalatra. Scalatra is Sinatra but for Scala. And the setup is very simple. Once you’ve written the app, you get a WAR file, which you can upload to…
Elastic Beanstalk. Finally, Amazon have delivered a Heroku-like experience. This is really exciting for hacking stuff together. For 2¢ an hour, you can host JVM apps on an EC2 micro-slice, but without having to touch the operating system: you literally go to the website, pick a subdomain and upload a JAR file. The Hello World I wrote in Scalatra was about 5Mb.
Completely unrelated: WebGL. Holy moley is that exciting. If you are running Chrome or Firefox 4, go and ogle this. It’s beautiful. I’m not nearly clever enough to do 3D programming, but just imagine a world of composable 3D objects with URIs and a universe of RDF-esque ties between them. Virtual objects roaming the one Web intermingled with thoughts and data in some kind of bizarre interlinked Platonic ether. That was kind of the dream of VRML, right? And is sort of the reality that Second Life has. But we could go further.
Imagine Wikipedia with WebGL: you click a little link in Wikipedia, and the article fades slightly only for the objects the article is representing to appear in front of you. You can rotate them, download them, throw them around in physics demonstrations, attach them to your avatar. But then each part of the WebGL model could have RDF metadata attached: this particular set of polygons is supposed to represent a particular type of material. You click and all the other virtual objects made of iron or copper or polyurethane or semi-transparent blue plastic or plutonium appear before you. As you are exploring Wikipedia, you copy a few items you find into your personal inventory, a sort of 3D version of your web bookmarks. Then you come across the Wikipedia article on nuclear reactors. And you are a curious sort, so you start seeing what happens if you chuck all sorts of strange things into the nuclear reactor. What happens if you drop this 3D model of Thomas Jefferson in to the reactor? Suddenly, our mashups have stopped being dumping crime figures on Google Maps and they’ve become shockingly real world and Grand Theft Auto-ish.
What else? Open Election Data. This one’s a simple one: a new link in the Web of Data, joining data.gov.uk up with dbpedia. Haters gonna hate, right, but making it so that when one dataset is talking about “the Monster Raving Looney Party”, they use an identifier that is linked to all the other representations of the same thing is the absolute start of the Web of Data. We may have to have these proxy projects to sit as intermediaries between governments and more direct community-created resources like Wikipedia/Dbpedia. This is an interesting start.
One final thing: Wikimedia. I’ve only got back into Wikipedia recently, and there’s loads of fun stuff we can do with the data. I’ve got a list of hacks as long as my arm. I may work on one tomorrow at Rewired State.