Friday, March 29, 2013

Why Test Driven Development is cool!

Test Driven Development (TDD) is cool! And useful. By writing tests for a method or class before implementing that class, work on that class is not finished, until all defined tests pass. Provided of course, that you wrote good and extensive tests, that cover as much as possible all the different cases and possibilities of how the method/class should behave.
And the upside is, that you can be sure that all your methods/classes keeps working later in the development process, because you have tests that continuously check if all classes keep behaving like you expect them to. If you would change something that would break the expected functionality of a method/class, then at least you will know, because some tests will fail. That's a few bug reports avoided!

Sunday, February 10, 2013

Roundup of FOSDEM 2013

Last weekend, was FOSDEM 2013, two days of talks about Open Source, almost 500 in total, spread over more than 20 developer rooms.

It started on Friday night, at the Delirium café in the center of Brussels, where a few hunderd developers had gathered for beer and socialising. I planned to meet some people, but finding them was not an easy task. Ironically, modern day tools like SMS proved useless : by the time the messages I sent reached them (hours later), I had already found them.

After a nightly walk to the hotel and a short night, it was time for the real stuff. First the opening talk by FOSDEM staff, with some practical info about the conference : the new logo, location of rooms and buildings, wireless network, sponsors, catering, first aid, devrooms, lightning talks and main track speakers; finished by the FOSDEM dance, which was a bit more complex than previous years.

Looking at the list of talks I have attended (with more than 20 simultaneous talks at any time during the conference, it was impossible to go to all 500 of them), I'll mention some highlights :

  • I went to quite a few talks about legal and licensing issues. Over the years I've come to realise this is an important part of the Open Source world. Choosing an Open Source license and publishing your work under it, being it software, hardware design, or other creative work, is one thing, making sure the license terms are not violated, is another. Although some talks were informative, some raised more questions than were answered.
    For example, if I publish my software under an Open Source license as a European citizen, will European law protect my copyright and license terms? If the software is used in the EU, this would probably be the case. But what about other regions in the world?
  • Maintaining a kernel subsystem : informative talk and good speaker. Although it was about maintaining a kernel subsystem, the methods he used, can be used to maintain any Open Source project.
  • Welcome to the Symfony2 World  gave an overview of the current state of the Symfony 2 framework, with some history and what components and possibilities it has.
  • Vehicular traffic estimation through bluetooth uses a Raspberry Pi and some Open Source tools, to track traffic connecting to bluetooth capable devices. Nice application of the Raspberry Pi.
  • What's new in BIND 10 and Samba4 : both telling a story about rewriting the previous software to come to a newer, better and improved version. Samba 4 will now support SMB3 protocol and Active Directory.
  • One of the most interesting talks explained what the actual problem is with UEFI SecureBoot, who the different players are (from users, over system builders, to hardware and OS vendors) and how the problem can be solved.
    Basically : Windows 8 requires UEFI Secureboot to be enabled (UEFI replaces the old BIOS), otherwise it will not start up. Secureboot ensures that the OS being started is valid, by checking it's signature with one stored in the UEFI chip. As such, this is not bad, but when you want to boot an OS that is not signed by a key, or the key is not present in the chip, it is impossible to start this OS, making dual booting linux/Windows 8 very difficult.
    Luckily some intiatives are done to make the dual booting possible, with the most recent one : Linux Foundation obtained a Microsoft key, making it possible to boot a linux distro on a device were Windows 8 is installed. (this happened after FOSDEM, so it was not mentioned during the talk)
    Of course, it is still possible to boot Linux, or any other OS, on a device with UEFI, when you don't want to use Windows 8. Then you can just disable the SecureBoot option.
And last but not least, I had my own presentation about the Present and future of phpMyAdmin in the MySQL and Friends devroom. About 50-60 people attended, although it overlapped with the final key note and was one of the last talks at FOSDEM. The talk went well, small hickup during the demo and there were some questions afterwards.

It was a nice weekend, lots of interesting talks, meeting a few current and previous team members of the phpMyAdmin and some people I've met at the GSoC mentor summits. Still only 51 weeks to go before the next FOSDEM.

Tuesday, February 05, 2013

Present and future of phpMyAdmin talk at FOSDEM

If you missed the talk about the Present and future of phpMyAdmin at FOSDEM 2013, you can get the presentation here. Only slides, so without the demo's. ;)

Summary of the talk : What's new in phpMyAdmin and what's coming up? An overview and some demos of the new features and changes in the current release (3.5) and what to expect in the upcoming 4.0 release.

Wednesday, January 30, 2013

talk about phpMyAdmin at FOSDEM 2013

A few more days and FOSDEM 2013 starts again. I've been looking forward to this since I left FOSDEM 2012. ;)

A lot of talks and presentations to go to, some people to meet (again), but most importantly : I will do a talk about phpMyAdmin!

If you are at FOSDEM and want to know more about the Present and future of phpMyAdmin, then come to room H.2214 (MySQL & Friends devroom) on Sunday, February 3rd, 2013 at 17:00.

I will talk about the new features in the current version (3.5.x) and what you can expect in the upcoming version 4.0.0.

Hope to see you there!

Tuesday, January 01, 2013

Ambitions 2013

After having reached some goals and having done some cool things in 2012, I set some ambitions and goals for 2013 (basically an updated version of the ones I set for 2012) :
  • pick up Java and/or C++
  • improve knowledge of OOP and design patterns
  • finish writing a first Android app
  • do a presentation/talk at a conference (FOSDEM, ...)
  • Improve pace and distance in running, after I recover from a knee injury. Next goal : 10 miles by April.
  • Improve swimming (technique, speed, stamina and style) : Build up stamina doing a slow front crawl. Next goal : 250m without a break
  • In 2012 I started wall climbing (bouldering), so I hope to improve my technique and muscular strength, as a preparation for some outdoor rock climbing.
  • Repeat the Car Free Day action, but this time on faculty level

This was 2012!

2012 was great, here are some cool things I did :
  • went to FOSDEM, attended the phpMyAdmin team meeting, and showed two friends around in Ghent, Antwerp and Bruges
  • got into the top 3 of most active contributors on ohloh.net
  • successfully suggested a commission at my university to make their reports available sooner
  • improved my OOP skills, implementing composite and singleton design patterns and further abstracting my Open Source framework
  • participated in TransitieUGent, a platform for setting goals and actions for UGent to become more sustainable by 2020/2050.
  • had a lot of fun building a piñata-like moose as a present for my sister's wedding
  • participated in an assessment test at work and passed
  • achieved swimming 2 km in less than an hour
  • created a document in LaTeX
  • holiday in Greece with some friends
  • released a first beta version of my web development framework, which is 100% compliant with PEAR coding style
  • started running and did 10 km in about an hour by the end of the summer  
  • made a linux server work as a TimeMachine storage device.
  • mentored Rouslan Placella for GSoC project : 'Removal of frames in phpMyAdmin'
  • subscribed for a weekly organic fruit package of De Wassende Maan
  • did a triathlon, doing swimming (2km), cycling (26km) and running (5km) on the same day
  • motivated his colleagues to come to work without a car, by pledging to run 100 meters for everyone that did, and eventually ran 4 km.
  • organised a trip for some friends to the opera 'La Damnation de Faust' by Berlioz, directed by Terry Gilliam. The opera was great, BTW.
  • attended Google Summer of Code Mentor Summit 2012 at Google HQ in Mountain View, California.
  • visited Yosemite National park again (organising the trip for some fellow Mentor Summit attendees)
  • started climbing (bouldering)
  • baked an apple cake for the first time and perfected it after a few tries.
  • got an award for 'motivating colleagues to come to work without a car'
  • released a first version of a lab instrument reservation tool at work
  • took on Android development, first creating a 'Hello World!' app and then starting to work on a small but a bit more complicated app, while exploring the possibilities of the Android framework
  • swam in a 50 meter swimming pool
And some other things that happened :
  • wedding of my sister
  • funeral of Wim
  • wedding of my steph brother
  • my other sister graduated as a teacher
  • mother moving to Hasselt
  • Brecht defended his PhD
  • wedding of Tho and Tine

Tuesday, October 30, 2012

Time to move on?

Today I discovered that the Symfony framework does almost exactly (and more) what my own framework (FoRMAiD) aspires to be(come).
Now what? Start learning to use Symfony2 and cease further development of my own framework? Rewrite my own framework so that it builds on Symfony2 and add what is not available in it? Or stubornly ignore Symfony2 and continue as planned?

The first option, and maybe the second, seem appropriate, but still it is a bit disheartening to realise that all the time and effort that has gone into FoRMAiD might have been better spent.

But then again, I managed to create a working OOP based PHP framework, that is fully compliant with the PEAR coding standard. So I learned a lot and gained some valuable skills doing so. :)