Archive for August, 2009

Froscon Day 2.

After a good night sleep, I went back to the conference location for day 2 of Froscon. I started with an overview of what PHP 5.3 will bring us. Stuff like namespaces, separated with the ‘\’ sign. Indeed wtf. The remark about using the euro sign instead of that sign was quite funny. In PHP all variables have a $ prefix, so using the euro sign as namespace separator would have been quite amusing….

Half way through I left and went to a presentation about the vulnerability of the usual ADSL routers we buy. Especially the cheap ones, tend to be very easily hackable. The presenter showed several ways of attacking the router, which could also be done by abusing the computer behind the router. So, don’t buy cheap routers. If a hacker has access, he can do whatever he wants. Nobody turns of his ADSL modem at night, and they are smart enough to abuse the ADSL modem between midnight and 9 for example. Would you notice? Presentation of the day for me.

The keynote was from Dries Buytaert. He is the founder of Drupal and current project lead. He explained how the community grow from 25 developers at the first Drupal ‘Conference’ to 1400 developers at the last conference. And that’s indeed developers, not users. That means drupal is size wise comparable with KDE. Just to put it in perspective. But tit looks like the attitude is completely different within that project. Less policies/rules, more chaos, no roadplans. For each release large parts are rewritten, without respect for backwards compatibility, but with respect of the users data. Not something we can do within KDE, but sure something to keep in mind.

After that there was a presentation about the encryption of harddisk. Something I personally find every distro should do by default. But the presentation was about the user experience of it all. Currently the user gets asked for the unlock password at boot time, after that the user has to sign on in KDE or GNome again. The version he created asks the username and password at boot and then also logs in automatically in KDE or Gnome. Way to much overhead for way to few benefits in my eyes. Especially since you already can auto login into KDE.

After that there was a great presentation about how to organize a backup location for your services. Say you are a company and get hit by a fire, how can you make sure that you are up and running within a certain amount of time. I learned several new techniques, and the presentation was spot on highlighting the problems and gave practical solutions to them. Not something theoretical, but you can notice how he has first hand experience organizing such fall back systems. Probably one of the presentations with most value for me.

The last presentation was also useful, it was about Redmine. Redmine is a sourceforge like tool, also comparable with Trac. We use this system at work to host all our open source projects and it is open for external parties to use. For example the famous OpenTaal-project is hosted on our platform (http://sf.own-it.nl). The presentation was in German, so I probably missed some details, but it was informative. I learned you can close issues with commits, for some reason I just assumed that was only possible within KDE and never looked for it in Redmine. Such presentations are really great to discover these things.

After that I went home. Passing by Subway to eat something. While eating a Wasp found the food interesting too. In the confusion which was created by me panicking the wasp put his rear end into my arm. Quickly removed the complete wasp from my arm, begging that I would not be allergic for it. The train from Siegburg via Koln to Amsterdam broke down, so I did not get further than Koln. The promised spare train did never arrive and after one hour with little to no information, the original broken train was repaired and re-arrived at the platform. So I will get home much later than expected and with a sore arm, but nothing to problematic.

Froscon Day 1.

This year I decided to go to Froscon. I had planned to go the last couple of years, but I never actually did it. And I must admit that I like it very much. The differences with for example Fosdem are huge. The developer tracks are really of the level of Getting Things Done instead of talking about it. Also the location is quite ok. The rooms are tidy, I can sit perfectly (something I can’t say about Fosdem), the heat in the rooms is bearable and also the acoustic is very good. Most tracks are in German, but some are in English. Just the right ones.

The rest of this blog is about the presentations I saw, so if you don’t need those details, skip the rest ;-). The first presentation I saw was about the Spider engine for MySQL. Most of you know MyISAM and InnoDB. Spider is another one. This one makes it possible to store tables on different servers. The spider enabled server forwards the request to the remote server and passes it back to the requester. Not so useful you might think. Well, it also has the ability to forward sections of a table to different servers. Say you have 2000 records, you can store id 0-1000 on one server and 1000-2000 on another one. When a client requests id 1500, it will be passed on to the right server. As that server only holds 1000 records, the record is easily found and returned. For the client this whole process is transparent. You can imagine that searching for a keyword on two servers with half the records in parallel is much faster than searching it in one server which holds all records.

The second talk was about phpunit. This framework makes it possible to make unit tests for your php applications and libraries. He talked a lot about the reasons to do it and best practices. As I work on quite some php applications during day time, I think it makes sense to start using such a framework when possible. I think it also tells a bit about the matureness of an application when it contains unit tests. There are also some tools that can show which lines of your code are unittested. Something I did not know existed. I wonder if such a tool exists for C++ and if it does, what amount of lines are unittested within KDE libs.

After that I attended the keynote about Cloud Computing. Simon Wardley is a prefect keynote speaker. He brought statistical graphs, fighting cats and Tom Cruise together in something like 369 slides, without getting boring for a second. Although the topic was about Cloud Computing, it gave a good insight about the evolution of a technological invention. From the invention through a product until it reaches a service and about how that cycle has all the room for improvements, related inventions. I think I’m going to watch the video of the presentation to get a good understanding of everything he explained. Presentation of the day in my book.

After that the only possibility is disappointment of course. And it was. The presentation about a new mysqltuner was not so good. She arrived late, the beamer would not cooperate nicely, the laptop had issues with the mysql server and the presentation was largely about what the current mysqltuner script is doing wrong and at 5 minutes before the finish line she started to very quickly show the version she has written. I don’t consider the new version so much better, the mysqltuner script gives a nice summary of the state of your mysql server, after that you can start investigating what to do to make the thing faster. I don’t think any script can give a complete overview about how to tune the mysql-server best. Ah well, she has improved the output of some things, so it’s not that bad, I just expected more. Like output in html, a database which stores results over time, a deeper analysis of the most common queries, or whatever.

After that I returned to the main track where Alexandra Leisse had a talk about Community Building 101. It was something completely different and that was nice. I enjoyed the presentation very much, I think she used 5 slides for the whole presentation and they mostly contained pictures, hurray! She talked a lot about the aspects of maintaining a healthy community within a project. Some of that was really obvious, at least for me, but it’s nice to have it spelled out, some things are not so obvious and I learned some new tricks. Maybe I’ll now manage to create a community behind RSIBreak or Mailody ;-).

Finally I ended with a presentation about common mistakes in php unit testing. unfortunately it contained quite some overlap with the earlier presentation about phpunit, but that one too contained some things I did not know and things to remember when I ever start using testcases in PHP.

So tomorrow will be day 2. I’m looking forward to that. I made a list of things I want to attend, now the challenge is to not forget that list, like i did today.

Lancelot launcher

I decided to try out the Lancelot launcher. And I like it. I’ve even replaced the default KDE launcher with it. As I’ve limited needs to have a menu, I know what I want and I want it fast. And that’s what Lancelot provides. The first tab just shows everything I need:

[img_assist|nid=288|title=Lancelot|desc=|link=none|align=center|width=550|height=500]

On the right half it gives instant access to the menus where less used applications are at. In the center there are the favorite applications, which you can alter as usual with the Right Mouse Button. At the bottom there a row to lock and shutdown the computer and at the top you can search for applications. On the left are more tabs, the computer tab shows your favorite folders and the contact tab lists all your IM-contacts. The Documents gives you quick access to recent documents and a way to quickly start new documents, spreadsheets, etc.

But the first tab is the winner tab, it provides 90% of what I need on a day. The normal KDE launcher hides the favorites, applications and leave in three separete tabs. Also I still have problems navigating through the different applications quickly within that launcher, navigation is not intuitive for me. The simple way Lancelot does that is much better, the groups move to the left and you see the apps on the right. A screenie clarifies I hope:

[img_assist|nid=289|title=Lancelot Applications|desc=|link=none|align=center|width=550|height=500]

Yay for choice of application launchers. Yay for Lancelot.