T-DOSE 2008 Review
I arrived shortly before 10am. 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 and from what I heard the previous day had been a great success. You can see it for yourself at CityTV, they 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.
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 may 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 because any software potentially infringes on hundreds of patents because of the runaway patent system and usually by the time you learn about this (because someone notifies you or files suit) you have already invested heavily and 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 most music companies started offering DRM-free music. 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 to 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 because we’re already too late. The decision to implement them has been made 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 are the CPU caches which 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 even 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 proposed 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 get into the flow and 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 liked 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.
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.
You cannot post until you login.