10 Dec 2008

Augmented Reality at £5 App Xmas Special

There's something right about £5 App running a demo/game/fun event as the Xmas special. I mean, how does this sound: I turn up at The Werks, icy cold, to be handed a lovely hot mulled wine by the Ribots, directed towards the mince pies, and then entertained with a range of funky technology stuff. Mmm.

This evening there were talks and demos covering: collaborative interactive fiction (a.k.a., group-generated text adventure), namely Spaceship; Emily demoing robot sumo; mobile phone Lightsaber dueling (no, not with the iPhone); eye controlled Pong, from Ben Rubinstein. All excellent.

Maybe it's because of the fun we had the previous day at the Flash Big Screen Bonanza, or perhaps it's because I'd been noodling with JavaFX, but I found Seb's Flash 3D and augmented reality demos great fun.

I'd say, of the evening, the biggest wow! was when Seb showed us the augmented reality stuff; and the biggest round of applause of the night was when he said "hey, all I've done is download it and compile it" :-)

But you don't even need to do that. From that last link, if you print out the PDF symbol, click the start button (and right click and select "USB camera" in settings, but you may not have to do that), and hold up the symbol you can try it yourself. It's not bad, eh?

The underlying tech seems to be from the C ARToolKit, which is available under the GPL and other licenses. Given that the documentation touches on support for SGI/Irix and VRML I think it must have a pretty robust history.

There's some mention of a Java bindings for it, but after a bit of digging it turns out there's a pure Java 6 port, and from what I can understand a version from the same author for the Android platform. I've not tried them; I've no idea if they work.

If you're interested in this area, there's documentation on how ARToolKit works.

13 Nov 2008

Brighton Scala User Group

Last night was the Brighton Scala User Group pub meet up. For the record the conversation covered:

  • The Scala Plugin for Eclipse, how it runs on the Mac, how it lives with Maven.
  • The power of Aspect Orientated Programming for fixing other people's code.
  • NIO.
  • The JVM language summit, and photos taken.
  • Neil Gafter, Closures In Java, what we think NG thinks of Scala.
  • Refinements, a.k.a. duck typing (see section 3.2.7 and specifically example 3.2.4 on page 22 of the Language Spec).
  • Invoke dynamic, tail recursion, catching multiple exceptions.
  • Is there a JSR for Java 7?
  • Java 7, do we care about Java language features now? We do care about the JVM.
  • Languages on the JVM with parity performance with Java: Scala, Clojure.
  • Idioms.
  • Mac keyboards as a way for Apple to lock in users.
  • What Scala language features Java developers like.
  • Using existing web frameworks other than Lift with Scala.
  • Focal length, depth of field.
  • Sun's war chest.
  • The Groovy/Grails/Spring Source deal.
  • Return early v. one and only one return.
  • Language features for nicely dealing with instanceOf tests.
  • Interesting corner-cases of the type system.
  • What *is* it about Scala that's so attractive? What problems is Scala solving?

The next event will be 17 December 2008.

15 Sep 2007

BarCamp Brighton 2007

Tick... I've now attended a BarCamp. I absolutely loved it: many topics + small groups = a great opportunity to learn and chat about lots of stuff.

Some of the stuff I managed to sit in on, included:

  • CSS Selectivity Snap. Earlier in the day I'd jotted a reminder: "must learn more CSS properly", and then Jon Linklater-Johnson (pictured above, right) steps in with a fantastic crash course in selectivity. Huge fun.
  • Jay Caines-Gooby chatting about backups. Nice idea: grab a NAS drive, stick Linux on it, and then schedule syncing to S3.
  • QR (quick response) codes, from Tristan Roddis. I didn't know QR codes were an ISO standard or that there were different variants. I hope Tristan's laptop has recovered from the water spill :-(
  • An enlightening presentation called "Take my wallet but don't hurt my face: Teenagers & the social web" by Daniel Morris. Another presentation I learned a hell of a lot from: teenagers don't use mobile internet, don't send MMSs, and visit a bunch of web sites I've never heard of (of course).
  • "Building a recommendation engine from tagged content": it was great to see the inside of an application exposed in terms of how worldreviewer.com is handling user recommendations. They're taking the tag cloud for users and for activities, and computing a dot product to get a measure. The problem is that if you want to do this real-time the calculations get expensive quickly. The solution being explored is to reduce the space to a fixed-size vector (manually at the moment, but they're looking to do some form of proper feature extraction).
  • Matthew Somerville's Is Cornwall Part of England? talk was superb. Turns out Cornwall probably has a case for an independent government, but best not to mention it. Statutelaw.gov.uk looks a fun place to spend a few hours.
  • Behaviour driven development (BDD), which is "TDD done well". Appears to be a good way to structure and express unit tests, and I need to go and check out JDave.

I spoke about Mac OS X Server, which is something no-one seems to use. I'll maybe write up my presentation at some point.

The hosts and sponsors were enormously generous, and the organizers really pulled it all together well. Thank you, Paul, Matt...well, so many people seemed to be making it happen. Check out the blog and the wiki to get an idea of how many people were involved.

The one particular memory I have is, surprisingly, not of the Champagne jelly. It's of sitting in a presentation on a warm summer's night. Through the window drifted sounds of the young and beautiful people of Brighton starting their evening of partying, while inside a group of 10 or so geeks sat around discussing dating and how it could all be "fixed" with a large and elaborate XML schema.

Label:

Richard Dallaway's Posterous

Director at Spiral Arm Ltd. We build stuff using Scala+Lift, offer consulting & create new projects. I live in Brighton, UK.