T-DOSE 2008 in review

by Sander Marechal

This year was the third installment of the Technical Dutch Open Source Event (T-DOSE). Just as last year it was held at the Fontys University of Applied Science in Eindhoven. This years speakers included Arnoud Engelfriet (European patent attorney) and Ywein van den Brande on GPLv3 compliance, Roy Scholten (Drupal), Bas de Lange (Syllable), Jean-Paul Saman (VideoLan), Jörn Engel (logfs), Bert Boerland (Drupal), Tim Hemel (TMTTD) and many, many other speakers. Unfortunately your editor was only able to attend on Sunday, but the talks were great. Here are the details.

I arrived shortly before 10 AM. Much like last year it wasn’t very busy when the first talks started. People were probably sleeping in a bit after Saturdays Social Event. The atmosphere was good though, and from what I heard the day before had been a great success. You can see it for yourself. CityTV recorded quite a few presentations and they are available on their website (see the left-hand column). Shortly after 10 AM the opening keynote started.

Presentations

The Dangers of DRM and software patents - Ciaran O'Riordan

The opening keynote was given by Ciaran O'Riordan from the Free Software Foundation Europe. He is heavily involved in lobbying activities in Brussels. While more and more of the FOSS code development is being done by corporations, lobbying is an activity that has to be done by the community. In code development the GPL helps facilitate cooperation between people who do not share the same goals. There’s no equivalent in lobbying. The FSFE’s two main targets are software patents and DRM.

Ciaran first gave an overview of why software patents are bad, a subject that has been posted about in the past on this website and which I won’t rehash in details. One interesting sound bite was that companies never file patent infringement suits against small companies. They only target successful projects and ventures. This is quickly becoming a real problem. Any software potentially infringes on hundreds of patents because of the runaway patent system, but by the time you learn about this (because someone notifies you or files suit) you have already invested heavily in your software, so the only way out is to settle. FOSS actually has an advantage here because of iṯs open nature; It is much faster and cheaper to code around the patent.

The FSFE is putting software patents back on the agenda after the issue died down a bit in Europe after 2005. In 2005 an important proposal for software patents in Europe was blocked after an 8 year fight. Back in 2005 the mainstream media were very much against software patents, but that position has diluted somewhat over the last few years. The FSFE has multiple ideas on how to do that. Check http://stopsoftwarepatents.eu for more information.

DRM is a much vaguer issue. A few years ago it looked inevitable, but after the costly fiasco's of Zune, Sony and other initiatives, and after most music companies started offering DRM-free music in 2008 it looks like the community finally has a real chance to do away with DRM for good, at least on the computer. But therein lies a real problem, because computing is moving more and more to small devices like PDAs, smartphones and other appliance-like gadgets where DRM is more ingrained. We need to make sure to stop DRM in that area as well. After all, if the next generation of hardware is not programmable then the next generation of people will be non-programmers!

One important step against DRM is take the lobbying to the next level. Lobbying the EU for example is sometimes problematic. When the community starts lobbying against proposals like the DMCA or IPRED when they come to the EU and the US then we’re already too late. The decision to implement them has been taken five years earlier in the UN and in WIPO treaties. That’s where the lobbying needs to start.

Logfs: Efficient data structures - Jörn Engel

Jörn’s talk about efficient data structures was a continuation of his similarly named presentation last year. He shortly recapped last years presentation. In essence it’s about the myth of RAM. Most developers think that RAM is (a) fast and (b) random access—it doesn&8217;t matter in what order you access elements. The reality is far from that. L1 and L2 cache versus the rest of the RAM create a situation similar to the old situation of RAM versus the hard drive. Most importantly, The CPU caches are read by line (cache line) which are usually 64 or 128 bytes. So, if you need to read 4 bytes then you use cycles to load that entire cache line. This means you can read the rest of the line “for free”, as in without spending extra cycles. Putting as much information as possible in these cache lines will speed up your data structure if you access them randomly. The two most used data structures&mdah;doubly linked lists and hashes— perform quite poorly. Radix trees perform better for densely packed data and the great many varieties of B-trees perform much better on sparse data. His main point was: if in doubt, use a B-tree.

That was the theory. The last year Jörn has spent implementing the B-trees in logfs and this has proved significantly more difficult. For starters he needed three differently sized B-trees; 32 bit trees for storing segment numbers, 64 bit trees for storing device addresses and 128 bit trees for storing inode numbers and file offsets. All these implemented on architectures of different size (32 bit and 64 bit) which often also had different alignment requirements.

Next Jörn walked the audience through the actual btree implementation that he wrote. Although I am not nearly as good with C as even beginning kernel developers, I found the code surprisingly easy to follow given the complexity of the problem, though we were probably spared most of the really gory details.

When discussing the differences between 32 bit and 64 bit architectures, Jörn also made a startling observation about the Microsoft Windows platform, one that explains why Windows-64 is a flop and there are so few applications written for it. On every platform and architecture the size of an unsigned long is the same as the size of a pointer: 32 bits long on 32 bit systems and 64 bits long on 64 bit systems. Except of Windows-64. For some unholy reason Microsoft thought it was a good idea that the unsigned long and integer on Windows-64 are 32 bits long and introduced the new long long datatype for 64 bit numbers. This makes developing 64 bit applications on Windows-64 a royal pain in the ass.

FLOW(er) Power - Tim Hemel

Flow is a theory propsed by psychologist Mihály Csíkszentmihályi. It’s the mental state in which you are most productive. The challenge of the activity and your skill level are totally in tune. If it were any more challenging you would become frustrated. Any less and you’d become bored. There are a few things you can adjust to influence this, hence helping you to get—and stay—in the flow.

In agile software development for example, there is much better and faster feedback of your work thanks to extensive unit testing and continuous builds. Test driven development helps setting better goals and pair programming gives you nearly instant feedback. This helps you getting into the flow. FOSS in general gives you a better flow because people can choose to work on the things they prefer: They set better goals.

Getting Things Done (GTD) is a new productivity method developed by David Allen. The executive summary is simple: Gather all your thoughts in a &lduqo;trusted system”. Then process all those thoughts. File away anything that does not require any action such as reference material or things you’d like to do some day. For the things that remain you decide what the very next thing is that you need to do about them: the &lduqo;next action”, categorise them into contexts and put them in a list. This gives you an instant overview of what you need to do and when you can do them. GTD helps you getting into the flow by setting better goals (determining the next action) and providing instant feedback.

Tim then told us that he tried many different computer systems that help you build your “trusted system”. None of them worked the way that he likes to work (in a terminal, with a simple curses interface and many shortcuts) so he decided to build one himself: TMTTD, which is short for Too Many Things To Do. He then demonstrated his application while the audience did a brain dump of their thoughts, with Tim filing and processing them GTD-style. The program looked devilishly easy to use.

TMTTD is on the verge of the first public release and should be available on SourceForge any day now.

42 reasons your Open Source Project might need a NFP - Bert Boerland

Bert Boerland is a board member of the Drupal foundation. He discussed the pros and cons of setting up a foundation to help run your open source project. Unlike the title of his presentation suggests, he gave many reasons why you should not create a foundation (or at least, not yet).

Setting up a foundation can provide you with a lot of benefits. A foundation can defend your project from license violations (especially if contributors assign their copyright to the foundation), help defend their trademark, help spread financial risk and provide promotion and certification. But they have their own kind of problems as well, most of which have to do with money. Money usually creates far more problems than it solves.

Another problem is that a foundation can lead to inertia, a disease that many corporations suffer from. FOSS is unique as a development methodology because they “fail fast, fail cheap and are lazy”, a thing that most commercial businesses are incapable of doing. Just take a look at Vista. Someone should have shouted “This is the wrong way. We should throw it away and start over” but that didn't happen. Therefor it’s probably best that your developers are not the main part of your foundation. Keep them agile and have them do what they do best.

Bert gave many more tips and tricks with many colourful anecdotes in between. It was a real delight to hear him speak.

Monitoring MySQL - Geert Vanderkelen

Geert Vanderkelen works for MySQL AB (now owned by Sun Microsystems) on MySQL Cluster. When you start clustering MySQL servers it is very important that you monitor all those servers in a reliable way, since it’s not always obvious when a node fails. Geert started by showing off all the new things that will be coming out of MySQL, such as partitioning and row-based replication in MySQL 5.1 and MySQL Backup and the new Falcon storage engine in MySQL 6. Storage engines are a unique feature of MySQL. It allows you to choose the table type according to your needs (transactional or fast non-transactional). Falcon will be the new transactional storage engine. While MySQL already has InnoDB for transactions, InnoDB was recently bought by Oracle and MySQL wants to have a transactional engine of it’s own.

After the tour of the upcoming features Geert showed us various techniques to monitor not only the MySQL server process but also the host that it is running on. He showed us how you can use the results from the various logs and the SHOW GLOBAL VARIABLES and SHOW GLOBAL STATUS to calculate various KPIs (Key Process Indicators) for your server. He also showed us various tools that can make this easier, such as MySQLAdmin Extended, Maatkit, Innotop and Nagios.

Then a demonstration of MySQL Enterprise Monitor followed, a web-based application that allows you to monitor entire clusters in a very simple way. MySQL Enterprise Monitor is closed source but all the information it gathers comes from the same sources as Geert demonstrated earlier such as the SHOW GLOBAL * queries. There is no reason that the FOSS community cannot build their own equivalent to Enterprise Monitor.

Geert concluded with the announcement of the brand new Python MySQL connector, a new native implementation for Python. It should become available in the near future.

Conclusions

All in all I think that T-DOSE 2008 was a great success. The talks were very interesting and obviously pleased the audience. I have heard only one complaint this year: It wasn't as busy as it was last year. Saturday was about equal with last year, but on Sunday the audience was smaller, and a few of the stands that were manned at Saturday did not show up on Sunday. People pointed to the lack of advertising for the event as one of the main causes. I had a short chat about that with Jeroen Baten, one of the organisers of T-DOSE and he agreed with that. Due to time restrictions they weren't able to promote it as much as they did last year. They hope to resolve this in time for next year and promote T-DOSE 2009 much more heavily, so it’s likely that next years event will be the biggest yet.

All in all I would like to congratulate the organisation with a job well done. It certainly was very interesting and a lot of fun this year.

This article was originally posted on LXer Linux News.

Creative Commons Attribution-ShareAlike

Comments

Nobody has posted any comments yet.

Comments have been retired for this article.