Archive for the ‘Personal’ Category

Working Upstream.

Wednesday, August 18th, 2010

On the website of an Austrian (no kangaroos!) newspaper, I read an interview with Canonical’s Jono Bacon. In this interview, Jono talks about the process of developing central components of the desktop inside Canonical. The process is basically that Canonical’s design department, Ayatana develops components. When they are finished, they’re offered for inclusion into GNOME, which was not a successful in all cases yet. According to Jono this is "working upstream", explaining that in this context Ayatana is the upstream. GNOME is seen as a provider of components, building blocks for Ubuntu’s user experience.

The definition Jono handles of upstream development is quite different from how it works for me. I can speak of personal and professional experience in this context, as I have been working quite a lot on central components of the Plasma Desktop (and Netbook as well). I have done this work both, as a voluntary contributor in my Free time (pun intended), and continue to do so in my working hours for open-slx. open-slx happens to sell and support Linux deskop operating systems.

Nowadays, many of my contributions to Plasma and KDE in general are paid for by my employer, open-slx. As part of my job, I am allowed and intended to work inside KDE during working hours, this includes "hacking on Plasma stuff" as well as taking on some organizational load, such as working in the release team and the KDE e.V. Board. open-slx’ philosophy behind this is that it is essential to play nicely in the community as a company, and that selling a product which heavily relies on its user experience is made easier, not harder by working directly in the context and infrastructure of the project we intend to merge our creations into. In my case that’s KDE, and especially the Plasma team. This means that I commit my work directly to KDE’s source code repository, that design and technical decisions are being taken in the approriate upstream communities. This can happen for example during sessions at Akademy, at sprints, on IRC and most importantly on mailing lists such as plasma-devel@kde.org and kde-pim@kde.org.

The latter two are a nice example for a project I’m currently working on, the Akonadi-based email notification system. During Akademy, I sat together with a bunch of the KDE PIM developers, to design the new email notification system that will likely come along with Plasma and KDE PIM 4.6.0 next January. Over the past weeks, I’ve spent quite some hours on working out the plans. I’ve committed my changes to the code right away to KDE’s SVN to share them with others. Once the code is "good enough", it’ll be submitted for review and inclusion into Plasma or PIM, whatever makes more sense from a packaging point of view. It will be released together with Plasma 4.6 next year and through openSUSE 11.4 will be part of open-slx’s next product, the boxed version of openSUSE. This way, these contributions, the working hours my employer pays for trickle back into our product via downstream projects such as KDE Plasma and PIM teams, and openSUSE. The initial design of the new Plasma email notifications has actually been born during Camp KDE 2009 on Jamaica, but that’s a different story altogether. If you now are interested how that actually looks like, that will be the topic of another entry on this blog.

Let me get this straight, though. It makes sense to provide modifications to the user interface as add-ons that other companies with a similar product don’t ship. Also products based on Free Software need unique selling points in order to make their whole enterprise commercially interesting and viable, and thus make money flow into the development of Free Software.

On the licensing side, this is expressed in making it possible to write proprietary components, for example by using the LGPL license for libraries — Qt, kdelibs and libplasma are all licensed under the LGPL for exactly that reason. Technically, systems such as Plasma’s widgets which can replace any part of the whole Plasma Shell, be it the display of notifications (which Aurelien has actually proven by writing a Plasmoid that displays notifications according to Ayatana style guides), the taskbar, or all kinds of online services. From a branding point of view, the simplest case is probably slapping your branded wallpaper onto the default install. More advanced usages would be a customized Plasma theme, or maybe even "fingerprint animations", that make using your desktop feel a bit more special. For open-slx, Plasma turns out to be an excellent choice of toolkit to build an improved user experience upon, and that is true: we can virtually turn Plasma into any kind of product we like functionally, we can make it behave and look like exactly as we like, and we can maintain a clear separation between aspects we think are the unique selling point of our product, and the contributions we make directly upstream as part of being a good citizen in the KDE community.

The point here is that in order to sustain a Free Software eco-system such as KDE, or maybe GNOME (like in Canonical’s case) you need a healthy balance in your contributions to the upstream community, and your work to differentiate yourself commercially. It’s good practise to make a clear separation between the things you choose to be your USP and your Free Software contributions. Communicating clearly what your contributions are and where you are "commercially sensitive" is both essential: You want to create goodwill among developers that don’t get a paycheque from you (so-called "community support") when you need their help in a context that’s commercially sensitive to you, and which you want to keep separate for licensing and marketing reasons. Moreover, this clear distinction between your proprietary add-ons and your upstream contributions make it clear to customers why to buy your product, and not the competitor’s one.

Akademy Karaoke …

Thursday, July 8th, 2010

Tonight at karaoken koti killinki : 7/9 Aleksis Kiven Katu 13-15, 33200 Tampere, Finland http://m.google.nl/u/m/zb4Lpz

Surely, I’m going to Akademy, too!

Monday, June 28th, 2010

I’m on the first leg of my trip back to the Netherlands right now. I’ve spent a couple of days in Bretagne, France to celebrate the marriage of a close friend, who asked me to be his best man. The celebrations, which lasted for three days were terrific, but also pretty tiring as you don’t get to spend much time just by yourself. The main celebration was held in the "ridiculously beautiful" Chateau Domaine de la Bretesche, and in Pornichet, the home of the bride. I’m returning to the Netherlands right now, for three days of desk time (needed to prepare my Akademy talk and to get some last minute work done on the impending openSUSE 11.3 release). On Friday, I’ll be boarding a flight to Helsinki and then on to Tampere to take part in my fifth Akademy.

This year’s Akademy is significant to me for a number of reasons:

  • I’m running for a second term on the Board of Directors of the KDE e.V., the foundation backing KDE. I’ve taken this opportunity to re-focus on my activities there. I will be working towards improving the organisation’s transparency a bit more. Transparency of the of our activities sometimes falls behind a little, since we’re very much focused on getting things done, and there’s always something important to push a little further, at the same time, status information gets outdated rather quickly. With the launch of our Supporting Membership Programme, it’s even more important to get the word out what the KDE e.V. is doing, so that’ll be what I’m working on on that front.
  • Last year, Richard Moore and I started Project Silk, which has been silently tagging along. Silently doesn’t mean that we didn’t make progress, just that we didn’t talk about it as much as we could. We felt that we wanted to show results before talking a lot about it, so we sat down and wrote code, worked out concepts, talked to people in order to verify and improve on our ideas. I think we’re at a point now where we got some really compelling stuff to show, and to prove that what we have in mind is not only very viable, but also very important to move on. This year’s Akademy will in part be used to spread those ideas within the KDE team, and to get more people to think Silky. If you think that’s all too vague, attend my talk during Akademy. For the few of you, my dear readers who won’t make it, I’ll prepare some online resources over the next days, so you can catch up as well, and join the Silk bandwagon.
  • Meeting my fellow hackers from the KDE Plasma team. After our last meeting in February in Nuremberg, we’re getting together at Akademy next week to plan, hack, gather ideas talk and have fun. What I really enjoy about getting us together is the sparkling you can see above the table we’re working on after only shortly being together. I guess it’s the motivation, the friendliness, the shared love for beautiful, intuitive Free software but also the mutual respect that creates this atmosphere where we’re getting into hyper-creative mode. It puts us in the position to think about solutions for the really hard problems out there, which none of us could solve individually, and it has more than once been the start of exciting new features and sub-projects.

[break] So I just got home, into our hot top-floor appartment in Nijmegen, The Netherlands. Everything’s been taken care of by our terrific friends, the cat is better now after a bladder infection we had to leave it at home with last week. While I do like summery weather, temperatures beyond 30 degrees centigrade without a really cold room are a bit too much for me, and tend to have a bad effect on my productivity. Band-aid: Work at night as much as possible, keep the sleeping room as cool for as long as it lasts and stay in bed as long as I can to get the needed sleep. The laptop is already compiling an updated trunk, while I’m enjoying Brazil playing Chile (Robinho scores the 3:0 as we speak, so I guess my special friend Artur will be happy).

Jumped!

Friday, June 11th, 2010

Last weekend, a couple of friends and I went to an island in the Dutch Wadden Sea to celebrate the bachelor party of a close friend of mine. It was all pretty awesome, I picked up the poor guy around noon last Friday (when he thought he’d have another good 3 hours of meetings that afternoon), so it was a good start. The night, we spent bbqing on the beach (had Jerk pork) and the next day we want to the small airfield on Ameland — Chris still not knowing what would be happening.

The next couple of hours we spent hanging out with the parachuters from Paracentrum Ameland, learnt a bit about safety, how you’d not break your legs, and what happens if you lose your contacts in mid-air. Then we boarded the small plane, one after the other, and climbed up to 3000m above the island, giving a fantastic view over all Dutch Wadden Sea islands. Then I was secured to my tandem master more tightly, put on the safety glasses, and open went the door. At that point, I just stepped out of the airplane onto the small step outside the airplane, stood there for two or three seconds, and jumped. We fell freely for a good 30 seconds until the parachute opened (probably wouldn’t be writing this if it hadn’t ;-)) at ~200km/h, and then spent another 5 to 6 minutes slowly decending onto the airfield again. Landing went smooth, as you can see on the photo.

I must say, that was an awesome experience, it’s a really weird moment when that door opens, but the view, the experience (and certainly the rush of adrenaline) make it absolutely worth it. I wonder if I’ve left behind my slight acrophobia on that flight. As to Chris, I think he still likes me. His face, in terms of Big Smile looked about the same as mine right after the jump.

If you’ve got friends that have you thrown out of a plane in mid-air, you don’t need enemies.

New challenges.

Thursday, May 27th, 2010

I’ve resigned my job at KDAB last month in a swift move towards more KDE-time. This all came pretty suddenly, but it felt like The Right Thing to do for me personally and for KDE, which I care a lot about. Since May, I’ve been working for Open-SLX, a German company that makes and supports the openSUSE boxed version. My focus in that work is the user experience of the product. The idea is to work upstream (in openSUSE and KDE / Plasma) as much as possible. While Open-SLX benefits directly from my work done in KDE, this is also a nice way to give back to the community, by making sure I get to spend enough time on things that are not directly related to the product. So now I’ve settled into my new job, and up until now, it’s been great. I’ve been able to catch up with a couple of areas in KDE, I didn’t get to spend as much time as I wanted in the past, and I have started working on some ideas I was dragging around in the back of my brain for a while). One of those things is Project Silk, which is a Project to boost and deeply integrate the web into KDE Plasma and applications. Its motto is no less ambitions than "Freeing the Web From the Browser", so there’s lots of work to do. ;-) Others have already shown off their cool creations, so I’ve got some catching up to do. I’ll share more detailed information about Silk in the next weeks, so if you’re interested in that, hang on just a little bit longer.

With this new job, I’m also able to spend a bit more time on KDE e.V. things. I’m a Board Member for some time already. Being able to sneak in a bit more of that structured desk time for things that need doing in the near future is surely a good thing. Regarding the e.V., I’ll travel with Ade to Berlin on Friday to meet Celeste, Cornelius and Frank there for an extended weekend of board work (and fun).

Blog moved.

Wednesday, May 26th, 2010

I’ve moved my blog (and the rest of my personal website, vizZzion.org to a new host. Since we were having problems lately with the stability (in fact the disks’ stability) of the machine running api.kde.org, our online source code documentation, I’ve decided to move my blog to a virtual machine on slicehost.com, so we’d get rid of another detail in the setup of the disks on the machine running api.kde.org. Setting up the server at slicehost was painless, within 10 minutes after registering, I had a clean-slate virtual machine running Linux, and a bit later, after making myself comfortable — mostly setting up zsh and my usual set of aliases and bells and whistles in place, I installed and configured apache, mysql, migrated my data and was good to go. The DNS change has now trickled down into the DNS caches of the world.

Blog back online.

Tuesday, May 18th, 2010

Thanks to my unrestful ex-colleague and current coffee-buddy Ade, my blog is back online, as you can see. Now I have to figure out why Blogilo works fine on one machine, but has problems getting my blog’s metadata on another one (my laptop). Blogilo is another one of those applications from the category Internet I’d rather not live without. Writing blogs offline (on trains, for example), adding media (screenshots for example, those seem to be quite popular) to blogs is just so much easier if you don’t have to deal with the uploading yourself but get it done in the background. And now I’ve mentioned screenshots, I should probably also show one (since it’s that easy). I’ll pick the new interface details in the Network Management plasmoid. In the screenshot, you can see what you get when you click on a network interface, it’ll show you additional information about the interface, and if connected some basic traffic stats. For this, I’ve used the systemmonitor dataengine and the Plasma::SignalPlotter widget, so the patch to add this nice little feature weighed in at only about 50 lines of code. The widget only updates when the details are shown to save power cycles when it’s not in use, but you can switch to the details and then dismiss the popup (which happens automatically with our focus policy), and it will keep collecting data. If you switch back to the normal view (using the back button), it’ll stop updating. I’m also happy to have received Andreas Demmer’s first patch today, which looked good right away and has been merged already. He changed the back button in the details widget to be more consistent with other buttons, so that’s a nice addition. Andreas has been keeping an eye on the development of the networkmanagement plasmoid, and has been providing useful feedback in the process. So there’s another step on the ladder towards hacker-heaven. (Yes, Plasma development is *that* cool. :-))

Another thing that plays a rather important role in my daily workflow is the Quassel IRC Client, which is an IRC client that allows you to easily use different machines for your IRC needs, without the need of logging in and out all the time and losing the history of your conversations. So if you found my IRC presence to be wonky during the last days, it should be better now.

I hear you asking "The real relevance of this post is…?" Well, api.kde.org is also back online, so your Konqueror shortcut "kde:<classname>" works again — although I’d expect that by now, every sensible hacker has loaded this file into Qt Assistant (Edit | Preferences | Documentation | Add…) and have both Qt and KDE docs available in one place.

Interview with Pardus, Nouvelle Vague

Tuesday, October 20th, 2009

I’ve been interviewed again, and this time the resulting article is published in Turkish, in the Pardus E-Zine. There must be a theme that I always post links to interviews when only parts of the audience can read it. One day, I’ll get you all. The photo’s are universally legible, though. They’re also proof that I’m the most relaxed hacker in the world, an important thing if you ask me.

On Sunday night, I went to Utrecht to see Nouvelle Vague, a French band performing in Tivoli. It was a nice concert, musically on a very high level and with a good portion of fun. The girls, Melanie and Nadeah, were both entertaining and charming (how cute can you be, performing the Dead Kennedy’s song “too drunk to fuck“?), playing some kind of new wave version of good cop, bad cop with reversed dress colors, which gave the concert a very nice touch.

Weblog updated

Wednesday, September 23rd, 2009

I’ve finally taken the plunge and updated my weblog. Previously, I used my own RSS class, written in PHP many years ago. Posting to my blog involved editing an XML file which was then parsed into RSS and for the website. Pretty urgh altogether.

I’ve now moved over all the content to a wordpress install and integrated it with my website. It looks like a smooth transition right now, I kept the old mechanism in place (so URLs do not become invalid) and was able to import all my old posts (192) into wordpress. The old system was lacking a couple of things, and was in fact very 1990′s. New features in my blog are:

  • Comments. This wasn’t possible with the old system and something I’ve been missing for quite some time.
  • Search
  • OpenId login for posting comments
  • Categories
  • All the other goodness wordpress brings

The most important thing to me is a better blogging workflow though. I’m using Bilbo Blogger as local client. It provides a nicer wysiwyg editor, is able to save posts locally (and should work fine offline, I tend to write blogs on trains). It also makes adding pictures to your blog a lot less cumbersome. You can just refer to images on your local disk and bilbo will upload the image and change the link accordingly. There’s also spell-checking and previewing. Pretty nice and fairly silky.

All this didn’t go without the necessary hitch. An old post and an empty one popped up on the planets. Sorry for that!