Roboinvasion @LinuxTAG 2007

Ever since Sun Studio compilers and tools started to support Linux we've been present at various Linux shows and LinuxTAG in Germany has always ranked pretty high on the list. This year, however, we had a very special reason to make it to LinuxTAG: it just so happened that the release date for Sun Studio 12 (our first release ever to officially support Linux at the same level Solaris has always been supported) coincided perfectly with the LinuxTAG 2007 in Berlin. Add to it the fact that Solaris Express Developer Edition 6/07 was supposed to have its release around the same timeframe and it doesn't take a genius to figure out that we had to do something extraordinary for all those hardworking C, C++ and Fortran developers out there. The real developers. We had a couple of ideas like having a contest similar to the Google's Summer of Code or just bringing a couple of kegs of beer on site but they all either were too heavyweight to pull off in just a couple of weeks or downright illegal. Finally we've asked ourselves a very basic question: since we all are, in fact developers, what would we, personally, get excited about? I hate to say it but it turned out that the BSD community had beaten us to a punch with the idea that was unanimously deemed to be the most exciting one, so we had to opt out for programmable robots. After all, it is much easier to control a robot, you know.

And that's how controlling a LEGO Mindstorm NXT robot using Solaris Express Developer Edition and Sun Studio has become THE whole point of the contest:

Here's a funny bit of trivia about the poster we've made: it turns out that there's an established conference in Germany called Wizard of OS. We honestly didn't know that. So you could imagine our surprise when an angry dude (somehow associated with it) showed up and demanded that we take our posters down. Now in my book that's irony at its best: after all, most of the OpenSource folks feel pretty strongly about things like fair use yet when it comes to somebody fair using their stuff some of them get stiff and proper and reach for their phone to call a lawyer or two. We told the dude to beat it, but somehow the net result of it all was that the organizers of the expo had to take down one of the posters located right at the entrance to the show.

Now, as I mentioned the rules of the contest were pretty simple: the first one to make the Alpha Rex robot move wins it. Of course, the fact that the robot is sold not as a robot per se, but as a box full of LEGO pieces (Mindstorm NXT kit) made our evening right before the conference an exiting one to say the least. Personally I was using jetlag as a reason to dodge real engineering work, but my comrades can now rightfully add "LEGO builder" to their resumes...

...or may be not, because you see, on the opening day of the conference we proudly brought our robot to the booth only to discover that we forgot to insert the batteries. Of course inserting them meant reassembling the whole thing. Nice!

Right from the first day the very presence of a robot in our booth created a steady stream of curious folks who wanted to know what was it all about. We didn't, however, have any serious contenders for the prize until Adriaan de Groot showed up and asked us to install Solaris on his laptop so as to satisfy the big rule #1 of the contest

He hacked around the robot a bit but then told us that more Googling and reverseenginering of the protocol seemed to be needed and went home.

Next morning a couple of guys came by and asked us about the robot and our contest. They even got Solaris installed on their laptops but just as Adriaan they seemed to need more time for Googling. They were almost ready to call it a day, when the most amazing thing happened -- Adriaan dropped by, connected his laptop to the robot and made him squeal! That was, of course, just enough of a reason to made Arne and Sebastian unpack their bags and enter into a coding race for the amazing squealing Robot

And what a race it was! These two teams were basically hacking in real time passing a USB cable connected to a robot back an forth and generating quite a crowd in our booth as a byproduct. They also were, I must say, extremely gentle and fair to each other. And even though in every contest, like in life, there's only one winner I felt pretty sad that we didn't have two Mindstorm LEGO sets to give away. But I digressed. They were going head-to-head for 5 hours. Basically reverse engineering the protocol and experimenting with it all from within Solaris and Sun Studio
(to which one passerby remarked: Hmmm... this Sun Studio thing looks like a decent IDE I didn't expect to see that). But it all came down to a climactic stand off when they both had it almost working but Arne and Sebastian were quicker to hack their way through by broadcasting to all the motors at once:

Now that was a fun moment to witness!

It was also quite fun to analyze their code later on and see how different styles of programming can be either helpful or hurtful under certain circumstances. Don't believe me just yet? Well, see for yourself:
Adriaan's code
Arne and Sebastian's code
And not just see, but feel free to improve on the original code so that one day we can have a compelling Mindstorm NXT programming environment for Solaris OS!

What more is there to tell? Well, of course, we had an award ceremony for Arne and Sebastian on the last day

and they seemed to be really happy. Adriaan, who by the way turned out to be one of the most delightful people I met at LinuxTAG, seemed to be happy for them as well and not one bit sour (he now has an account of all of this written in his own blog). As for me, I'm now trying to figure out what else can we do to make C, C++ and hey! even Fortran development with Sun Studio more fun. Perhaps one of these days we can have an event similar to the always impressive Hacking Contest at LinuxTAG. Of course, ours would be in English and more developer than systems oriented. And, by the way, if you happen to have any ideas on how to run the cool contest for developers -- please let me know. That's what blogs have comments sections for, right?

I just wanted to point out that this is not our usual coding style. ;-) Arne

Posted by Arne on June 12, 2007 at 04:10 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed



Top Tags
« June 2016