OSDC 2008, day 1

Ok, first “real” day of the conference.

The opening keynote was made by Chris DiBona, Google open source manager and license extraordinarie (or something along those lines.) He made some points about the grown of Summer of Code in Australia (with the sad note that only 7 students registered, even with 68 tutors), the number of licenses used by Google, Google usage and contribution of open source code… And yes, suddenly, it start sounding like “Here, Google is a friend Open Source!” propaganda, but DiBona manage to point that most of what he was talking was to make a point to other companies and how they could make a step into and alongside open source. But, apart from the little propaganda side (I can guess that it was completely unintentional), the graphs he showed, like the number of students and tutors through the years of Summer of Code in Australia and the number of licenses used by Google and other small peals, where really interesting.

The first session I saw after the opening keynote was Michael Neale talking about “Rule based systems – using rules to manage business logic”, mostly because I worked with a system written in C where we had to write all the business rules and such. Well, I surely wasn’t expecting a talk about decision trees, expert systems and logical programming, but it was interesting nonetheless. The interesting bits to me were some talk about logical programming and how rule based systems approach that. Even more interesting was knowing that Clips can generate rules by analyzing other rules.

Then I went to see Nicolas Steenhout talk about “Web accessibility and Content Management Systems”, mostly ’cause I’m terrible annoyed by websites that force me to use the mouse (looong time memories of using Lynx/Links ’cause it was the only thing that run properly on Linux and because I’d like to be a “real nerd”) and ’cause I really dislike the way sites are built these days. He pointed the current state of WCAG (Web Content Accessibility Guidelines): 1.0 is too old and 2.0 is not finished yet. He also mentioned the problem that the Sydney Olympics 2000 website had due not having any accessibility (they were sued about that) and how Target was also sued for not providing accessibility in their website.

Third session was Tennessee Leeuwenburg and “Google AppEngine + ExtJS prototyping demonstration.” That was one presentation that didn’t went well. Because the wireless was down and everyone had no internet at all, there was no prototyping and, obviously, no demonstration. So we saw some nice screenshots about AppEngine and some ExtJS screenshots and… that was it. I’m pretty sure the 30 minute space to talk about a topic was also a problem.

Next was Thomas Lee and “Python Language Internals: From Source to Execution”, which was a pretty good demonstration of the Python code. And by Python code I mean the very core of Python. What he did was, using the trunk code of Python, add a new command, from the parser, to the very end of creating a bytecode for it. Really impressive and, honestly, a big surprise that Python code is clean even when it’s not written in Python (most of the changed code was C code.)

Then Andrew Bennetts and “Python’s Unittest module: an under appreciated gem”. I was expecting a lot of weird tricks with unittest, but it seems that after a whole year using it, there was nothing new I could get from it. On the other hand, I got some pretty good list of extensions for Unittest, which provide a few more things that I may use in the future. The canonical (pun intented, as you’ll see) of such extensions is in Pyunit-Friends project in Launchpad.

“Extending Nagios with Python Plugins” by Maneschi (whose name I managed to completely lose somewhere) was more about Nagios than Python which was completely my fault. Anyway, it was an interesting talk, pointing some code used to collect information to Nagios.

Lastly, I went to “Getting Your Average Joe to use Open Source Software” by Peter Serwylo. Nothing new, I know, but he pointed some “gentler” methods to make people use Open Source (like keeping the user files and such — something that I barely thought after being constantly annoyed by “technical support” calls from my parents.) I think the way he described his methods were more in the way of “show the users what they can do” than “convert them!”, which seems to be the most commom way of making people use free software.

And I completely skipped the Lightning talks, and the Dinner Keynote.

OSDC 2008, Day 0

No, I’m not using a developer’s way of counting (’cause every good language starts counting in 0, anyway — like the GPL v2 had a “rule 0”), but the first day I can’t really call it a “conference”. It was more like “Google Showing You What They Have — And helping you building stuff with that”.

They shown three of their open technologies: OpenSocial, OpenLayers and AppEngine.

OpenSocial is the API for building social network applications, something like the Facebook API for applications. Not hard, just a bunch of JavaScript commands you can use to get the current user, the
user who’s the owner of the profile, the profile information of the user looking at the page and things like that.

OpenLayers should be the API for accessing Google Maps but the really gem in the presentation was Mapstraction, a JavaScript API layer abstraction (what a mouthful) to several map providers, like Google Maps and OpenStreetMap. And, because it’s an abstraction, you can easily switch between providers without having to rewrite your whole application.

AppEngine is the famous web-app development environment that Google provides for free, unless you have a huge userbase and need more space/bandwidth. Honestly, it looks a lot like Django, except that
the configuration files are WAAAAY simpler and the API looks a little bit more logical to me: you have an URL, which points to an object, which should have a get() and a post() methods, which are called depending on the HTTP call the application received. The hard bit is the DataStore object. You create your databases model much like Django models (with a few diffrent properties) but there is no relational
references in that. Google answer is that it’s hard to keep relational data safe when you’re using a cloud and massively distributed databases and, with my experience with a simple MySQL replication I have to agree with that. So, because you don’t have relationships, you need to build things using a flat table all the time (in other words, goodbye database formal norms.) It’s a little bit tricky to get over it, but not impossible.

The coolest thing of that is that, after about 20 to 30 minutes of explanation and some URL pointing, you were given a task to build something using those tools. And you had like one hour to put something together. I failed my OpenSocial application (still want to complete that), my Maps looks a little bit cool (you can see it here) and I had some issues with that flat structure of DataStore, so I couldn’t finish my project (but I still want to complete that and put it online.)

Besides that, nothing else. But, for a “Developers” conference, it was pretty cool.