This is the last of four interviews with Summer of Code 2007 students in KDE (read the first, second, third).
What is your Summer of Code project for KDE?
Marijn Kruisselbrink: Music Notation support for KOffice. I'm working on implementing a music notation Flake for KOffice, mentored by Boudewijn Rempt. When this project is finished it will become possible to embed pieces of music in any of the KOffice applications. I thought of this idea because it had often annoyed me that no existing music notation application integrated nicely with any existing office suite.
Alexandr Goncearenco: Strigi: Chemistry and Biology Support. To dramatically improve user experience, the way we interact with data on our desktops, an idea of Semantic Desktop has been proposed. The Nepomuk-KDE project gears this ideas to KDE 4. Strigi is the groundwork: it extracts meta data from what we have on desktop, indexes, stores and searches. My project focuses on making KDE4 a productive environment for Chemistry and Biology. Strigi-chemical can help chemical information to be semantically marked up, and easily retrieved. I am working under the supervision of Egon Willighagen and Jos van den Oever.
Emanuele Tamponi: Painterly features in Krita. That means, drawing on the computer as with real paint (with colors that blend, paint that drips and dries, gravity, lights, etc). My mentor was Bart Coppens. The overall idea was pretty exciting, but, really, I got more and more involved with it while I was working on it. The complexity is way larger than what I imagined, and the maths, physics and calcula that are behind the scene are very interesting.
Vladimir Kuznetsov: Step: Interactive Physical Simulator for Education. Step works like this: you place some bodies on the scene, add some forces such as gravity or springs, then click "Simulate" and Step shows you how your scene will evolve according to the laws of physics. During the SoC I've implemented more advanced features like gasses and softbody simulation, error estimation (you can enter values like 1±0.1 for any property and errors for all dependent properties will be calculated taking into account both user-specified errors and simulation errors), measurement instruments (graph, tracer, meter, controller), Wikipedia integration. My mentor is Carsten Niehaus and he helped me a lot during this Summer.
Is the Summer of Code your first experience of KDE development, or are you a longer-term KDE contributor?
Marijn Kruisselbrink: Before the Summer of Code started I already did a little bit of KDE hacking; I fixed some stuff in KSpread's Excel import filter, and implemented an OSX version of KGlobalAccel. But besides those small hacks, this is my first real contribution to KDE.
Alexandr Goncearenco: It is the first time and I really enjoy the spirit of the KDE team. Except for some bug-reports and KDE advocation, I have no prior contribution.
Emanuele Tamponi: I participated in the Summer of Code with Krita in 2006 too. I've had a developer account since then.
Vladimir Kuznetsov: I've started working on Step in the January 2007, one month after it i've joined kde-edu and ported Step to KDE4 (from Qt4-only). When I heard about the Google Summer of Code I decided that it is a great opportunity for me to spend the whole Summer working on Step.
What was your most recent commit to KDE? How has your project progressed so far?
Marijn Kruisselbrink: My most recent commit improved the loading of saved documents containing music. I think my project has progressed quite nicely so far. It is already possible to create quite basic pieces of music, and save them. Loading is still far from perfect (multi-voice music is loaded completely wrong, and lots of other things aren't working yet), but everything you can edit with the music shape is saved perfectly, and after extracting the music (which is stored in MusicXML format) programs like Finale and Sibelius don't seem to have any problems loading it.
Alexandr Goncearenco: My recent commits are about the representation of large containers of molecules (SD files) as directories with kio_jstreams and chemical data extraction from PNG images. More than 80% of the initial project goals will be complete by the official GSoC end, and we already have great plans beyond the scope of this GSoC. The schedule and the priorities have been evolving in the course of the project: almost every week something new happens in the Open Source (cheminformatics) world. I most like the flexibility and the dynamic nature of my project.
Emanuele Tamponi: After the end of the SoC I commited some fixes in various parts of my code, nothing interesting to say. As I said, the complexity of my project was bigger than what I expected, so I've not completed my work and also the parts I wrote are still to be finished. The main difficulty I got was on the "color mixing" front. You know that colors are stored in computers as triplets of number (like RGB) or with 4 numbers (like in CMYK). The only thing you know about a color so far are these 3 numbers. The problem is: they're not enough to say how the color will "mix up" with others. For example, in the real world YELLOW + BLUE = GREEN. But with RGB, you would obtain Gray, or White. So I needed to code a "Colorspace" (that is, a way to store colors) that contains all informations I need to mix colors in a realistic manner. This is a really difficult task, that involves various mathematics steps, and that I'm finalizing just in these days (I hope!).
Vladimir Kuznetsov: The most recent commit was showing context-help during creation of new objects on the scene. I've implemented everything that was planned for SoC, but I have a huge list of post-SoC ideas...
How much time do you usually spend on KDE?
Marijn Kruisselbrink: This varies a lot; during the last few weeks I think I have spent about 30 hours a week on KDE, but during the first weeks of SoC I was so busy with other things I was lucky if I was able to squeeze in a couple of hours of hacking a week.
Alexandr Goncearenco: At first it was quite irregularly. Now I spend most of my time on KDE. On average during SoC that would be around 30 hours per week.
Emanuele Tamponi: Around 3-5 hours a day during Summer, a lot less throught the rest of the year.
Vladimir Kuznetsov: During the SoC I've worked on my project full-time.
When did you first hear of KDE?
Marijn Kruisselbrink: I'm not entirely sure. I certainly used KDE somewhere around 1999/2000, but I think a couple of years before that I also at least tried to install it, but I believe my computer back than didn't have enough memory to run KDE fluently.
Alexandr Goncearenco: I installed Mandrake 5.2 with KDE 1.0 somewhere in 1999.
Emanuele Tamponi: When I installed Mandriva 8.0... I don't remember the year :-)
Vladimir Kuznetsov: Long time ago, probably it was in times of RedHat 6.0 when I was playing with Linux for the first time. Several years later I've installed Debian and KDE (that was 3.0 from some unofficial packages) as my permanent OS and since that time I'm using KDE daily.
Which section of KDE is underrated and could get more publicity?
Marijn Kruisselbrink: I can't really think of any sections right now, but perhaps I just haven't found them yet because they are underrated and don't get enough publicity.
Alexandr Goncearenco: Inside KDE - features that exist in software we already use. Let the user become a power user. We all know the feeling of "discovering" a "new" feature which actually was there for ages. That's why I like the "what's new" welcome page of KMail and Digikam, for example, or "tip of the day" windows. Applications should advertise their own features. What I think is underrated and should get more publicity outside KDE, is the interoperability of the applications in KDE, the possibilities and benefits of integration.
Emanuele Tamponi: KOffice always needs new developers, I hope that it will become more popular with the time, because it has really a big potential (in the API, and in the community).
Vladimir Kuznetsov: Probably KIOSK. It could be a killer-feature for deploying KDE in schools but people often simply do not know about its existence.
What do you think is still badly missing in KDE?
Marijn Kruisselbrink: What was badly missing was a decent music notation program that provided nice integration with KOffice, but that gap should be filled when KOffice 2.0 will be released :-P
Alexandr Goncearenco: What I could mention here - is already under development, so I'm quite happy the way it is. There is always a large space for improvements in Handbook documentation.
Emanuele Tamponi: A good network manager. KNetworkManager is not powerful enough and still a bit buggy.
Vladimir Kuznetsov: A good photo editor (but Krita 2.0 is very promising!). A good todo tracking application with ability to easily attach items like documents, mails, contacts to todo entries (probably like in Basket plus some NEPOMUK integration), handle dependencies between entries, handle time tracking like KArm.
Do you have any plans for KDE 4?
Marijn Kruisselbrink: Besides making KOffice a nice, simple and useful music notation editor, I'd also like to make sure that KDE 4 has decent support for OSX, preferably nicely integrated with other OSX applications.
Alexandr Goncearenco: Continue working on Strigi and switch to KDE 4 completely in my everyday desktop activity.
Emanuele Tamponi: I hope to continue working on Krita, but I had some patches for Konqueror in 3.5 (very rough ones). If the same issues are present in Konqueror 4, I could write them for KDE 4 too. But I'll concentrate on Krita.
Vladimir Kuznetsov: My plan is to make Step included in kdeedu module for KDE 4.1.
What motivates/keeps you motivated to work on KDE (apart from the SoC money!)?
Marijn Kruisselbrink: The lack of a great music notation editor for KDE, and of course the awesome community supporting KDE.
Alexandr Goncearenco: Well, many other motives indeed. This work is tightly related to my specialization: I am a bioinformatician and making the desktop environment useful for my research is natural. Second, I always had a passion for search engine development. Third, I am proud to be on the cutting-edge of semantic desktop research and development. Finally, I love the spirit of this team, and of Open Source in general.
Emanuele Tamponi: The great, great, great community and its big potential.
Vladimir Kuznetsov: I just like my project ;-) I like physics and I like programming so Step is a perfect task for me. KDE programming in general is very attractive for me too: I like design of KDE code and I like the community around it.
What chances do you see in your country (and educational institution) for KDE as a desktop platform?
Marijn Kruisselbrink: Most people I talk to outside the Computer Science department at the university have never heard of KDE or GNOME, though I'm quite sure that at least for some of them if they'd have KDE installed on their computers instead of Windows they wouldn't mind at all.
Alexandr Goncearenco: This question is not applicable anymore. Desktops in my institution have KDE preinstalled (SuSe) and in my previous place of employment we mainly used KDE (Debian) desktops as well.
Emanuele Tamponi: Very poor ones... but KDE would be ready for Universities at least, if only government gets really aware of it and drops Microsoft, finally.
Vladimir Kuznetsov: Currently most schools in Russia are using pirated copies of Windows, but this Summer there was a battle to replace it with something legal. Unfortunately Microsoft has won, but Linux still has a chance: it will be installed as a second OS in some regions as an experiment. Most probably that will be some local Linux distribution and it's still unclear whether it use KDE or not.
Which text editor do you use? Why?
Marijn Kruisselbrink: For my KOffice hacking I mainly use Kate on OSX, or when some bugs temporarily prevent it from working properly on OSX, XCode, but for other stuff I use almost always vim.
Alexandr Goncearenco: I have spent lots of time writing configs over the SSH as a sysadmin, that is why I like console tools. I prefer something fast and easy: mcedit or vim. Kate and Eclipse are my second choice.
Emanuele Tamponi: Kate. Because it's integrated, powerful and easy to use.
Vladimir Kuznetsov: Vim. It is very convenient and has lots of powerful features and plugins which I miss using other editors.
Which distribution do you use? Why?
Marijn Kruisselbrink: Besides doing a lot of my development on OSX, I use Kubuntu on my machines running Linux. I don't really have a reason for choosing Kubuntu, except that I always liked the package management in Debian, but I haven't really ever tried anything else.
Alexandr Goncearenco: Debian Unstable. Perfect match.
Emanuele Tamponi: I used to use Gentoo for a very long time, but since some weeks I'm using openSUSE :-)
Vladimir Kuznetsov: Currently Kubuntu, before it was Gentoo and Debian. Kubuntu just works on my laptop and there is a local mirror of its repositories in my network.
What is KDE's killer app? Why?
Marijn Kruisselbrink: I'm not really a die-hard KDE user, so I can't really comment on this, but everytime I do use a KDE application I'm happily surprised by how easy it is to use and to configure it to do things exactly the way I like them, so I'd say the killer feature of KDE is its great configurability.
Alexandr Goncearenco: Kontact, thanks to the integration.
Emanuele Tamponi: I don't think it has a "one" big killer app. But the environment in its whole is really powerful.
Vladimir Kuznetsov: Hard to answer, there are many of them! Probably for now I choose Digikam - I like photography and use this program every day.
What does your desktop look like?
What attracts you to Open Source? What makes you contribute to KDE instead of the competition?
Marijn Kruisselbrink: The thing I really love about KDE is how easy it is to start contributing. My experience with other projects is that is is really hard to get commit access, but in the case of KDE I got one after only sending my first patch to kde-core-devel, without any other references. I also really like the friendly community that surrounds KDE.
Alexandr Goncearenco: I can't imagine my life without Open Source. This is probably the only concept that will survive and Open Source already proved itself to be a viable business model. Anyway, can you really close the source? Object files are machine readable, closed file formats, protocols can be reverse engineered and in fact they are. Working on opensource you meet brilliant people, enlightened and open-minded, this is inspiring and keeps you going. KDE is my environment, I live in it, why should I contribute to any other DE then.
Emanuele Tamponi: The possibility of sharing ideas without duplicate code and waste time is a great advantage of Open Source. I contribute to KDE because it's powerful, complete, written in C++ and has a great community!
Vladimir Kuznetsov: Open Source is like a science. Lots of people are doing it together and helps each other instead of hampering each other like in closed source. Just imagine how our world could look now if many years ago Newton would not share his invention but prohibited others from learning it! I've chosen KDE instead of the competition mostly because its clean design of Qt and KDE itself, later I've also found that KDE has a very friendly community of developers.
Are you planning on continuing your work in KDE after the Summer of Code concludes?
Marijn Kruisselbrink: I definitely am planning to continue my work. I can think of tons of improvements I can make to my project, and I never expected to be able to implement everything I'd want to during the few months that SoC lasts.
Alexandr Goncearenco: Yes.
Emanuele Tamponi: Sure! But I have a lot less time when Summer finishes (university, friends, studies...)
Vladimir Kuznetsov: Yes, I have lots of plans for Step...
If you could be any part of the KDE platform, what would you be? Why?
Marijn Kruisselbrink: I can't really think of any.
Alexandr Goncearenco: Strigi. I like to put everything into place, organize the information to make it analyzable.
Emanuele Tamponi: Difficult question... can I skip it :-) ?
Vladimir Kuznetsov: Some abstract class in kdelibs ;-)
What is your most brilliant KDE hack?
Marijn Kruisselbrink: Since I haven't contributed much yet to KDE I don't think I really have made any brilliant KDE hacks yet.
Alexandr Goncearenco: It is not hacked yet, I'll tell you when I hack one. Nothing really brilliant in my previous commits.
Emanuele Tamponi: I don't think I can code in a "brilliant" way. But I think I can be proud of my algorithms for the Magnetic Outline Selection ("Magnetic Lazo" in Photoshop) and in the code for color mixing that applies Kubelka Munk theories.
Vladimir Kuznetsov: Probably it is the meta object system in StepCore.
What is your most embarrassing KDE moment?
Marijn Kruisselbrink: Probably that my very first SVN commit broke kdelibs. It didn't take me long to fix it, but still I felt quite embarrassed for my first commit.
Alexandr Goncearenco: In my GSoC proposal draft I had "the KDE".
Emanuele Tamponi: Whenever I break SVN trunk - it could happen in every moment...
Vladimir Kuznetsov: Delaying this interview ;-(
Were you at Akademy in Glasgow this year? Will you go to the conference next year?
Marijn Kruisselbrink: I was there, although only during the first weekend. Unfortunately I had exams in the week of aKademy, which prevented me from staying longer. If next years aKademy will be at a date where I can come, I definitely love to come again. I think the whole atmosphere at aKademy was awesome.
Alexandr Goncearenco: Nope, but I have prepared two slides on Strigi-chemical for Jos's talk on Strigi. Akademy almost overlapped with ISMB conference on computational biology where I had to present my research, that's why I had no chance to be in Glasgow this year. Hope to see you at Akademy 2008.
Emanuele Tamponi: Yes, I was in Glasgow (without baggage!). I hope to be able to attend to Akademy next year too, I don't know yet!
Vladimir Kuznetsov: No, I really hope to be at Akademy next year!
What course do you do, and what educational institution do you attend?
Marijn Kruisselbrink: I'm a Computer Science student at the Eindhoven University of Technology.
Alexandr Goncearenco: I have just finished my Masters in Bioinformatics at the University of Cologne and now looking for a PhD position.
Emanuele Tamponi: I study Electronic Engineering at the Università degli Studi of Cagliari, Sardinia.
Vladimir Kuznetsov: Physics at Moscow Institute of Physics and Technology (MIPT).
Tell us about your educational institution...
Marijn Kruisselbrink: I can't really think of anything interesting to tell about it... As far as I know it's just a quite normal although sometimes a bit unorganized/chaotic university.
Alexandr Goncearenco: Cologne University Bioinformatics Center (CUBIC) is a real Open Source stronghold. I should mention the following Open Source projects tightly related to CUBIC: Chemistry Development Kit (CDK), JChemPaint, Bioclipse. The University of Cologne is the largest university in Germany and you can probably imagine student parties in a big way, especially during the Winter carnival. Unfortunately we've had a crammed schedule with weekly exams during the course, basically missing all the fun. Here is the picture of my supervisor Egon and me during the first GSoC meeting in our CUBIC lecture room.
Vladimir Kuznetsov: MIPT is probably the most famous physical institution in Russia, there are many famous people who have teached or studied here.
Who or what in your life would you say influenced you most?
Marijn Kruisselbrink: The Google Summer of Code of course, for really getting me started hacking for KDE :P
Alexandr Goncearenco: My family, the Internet, CUBIC.
Emanuele Tamponi: Certainly the meeting with the movement of Communion and Liberation, and the friendship with with Felice, Paolo, Biagio, Luigi, and the other people of CL here in Cagliari.
Vladimir Kuznetsov: Very hard to answer, there was many people and events...
Is your best friend from the physical or online world?
Marijn Kruisselbrink: Physical, although most contacts with people from the physical world are conducted online...
Alexandr Goncearenco: Physical.
Emanuele Tamponi: Physical world! But I do not have *one* best friend, it's difficult for me to write an ordered list of them :-)!
Vladimir Kuznetsov: From the physical world.
What is the best birthday present you could receive?
Marijn Kruisselbrink: I always find it incredibly hard to think of things I'd like to get; I just like to be surprised with something nice and fun.
Alexandr Goncearenco: Good news.
Emanuele Tamponi: A good laptop!
Vladimir Kuznetsov: A suprise ;-)
Richard Stallman or Linus Torvalds?
Marijn Kruisselbrink: I don't know enough about either of them to make an informed decision :P
Alexandr Goncearenco: I really am in sympathize with Linus, a hacker of the new generation. But if you force me to choose between rms and Linus, I say Stallman. He defined FOSS how it is now.
Emanuele Tamponi: Linus Torvalds! But I don't know very much about neither of them, I say this just because I think Linus is way more likeable.
Vladimir Kuznetsov: Both are very important. The work of Stallman is a long-term investment: freedom of learning can allow more people to learn and became Linus II in the future, but that goal is quite harder to achieve without people like Linus.
How would you describe yourself?
Marijn Kruisselbrink: Calm, but also quite chaotic, and sometimes spending a bit too much time hacking and not enough time doing other important things. I'm also someone that finds it difficult to answer personal questions.
Alexandr Goncearenco: Persistently curious.
Emanuele Tamponi: A very lucky man, that even if he doesn't merit anything, has been given all that he needs.
Vladimir Kuznetsov: I'm a person who hates describing himself ;-)
What would you do more of if you had the time?
Marijn Kruisselbrink: Hacking on KOffice and other parts of KDE, what else?
Alexandr Goncearenco: Most probably all the same, but twice as much.
Emanuele Tamponi: Code, code, code, and play piano, play piano, play piano...
Vladimir Kuznetsov: Study more. Something related to Physics, Math or Programming. Or go and travel with my camera.
What do you see from your window?
Alexandr Goncearenco: What you can see on the picture is a view from my student cell where I've spent the last year. It was very nice in Spring. Now I'm traveling and do not have a permanent window sight.
Emanuele Tamponi: A street in the outskirts of Cagliari... nothing valuable!
What do you get passionate about?
Marijn Kruisselbrink: I'm not really the kind of person that gets passionate about anything...
Alexandr Goncearenco: Good people. Teamwork. Life sciences.
Emanuele Tamponi: Singing (polyfonic songs!), playing piano, and a lot of other things.
Vladimir Kuznetsov: Theoretical physics and programming. I also like photography, traveling and their combination.
What does "success" mean to you? What do you want to do after you graduate?
Marijn Kruisselbrink: Success means being satisfied with doing what I'm doing. I'd love to work on Open Source software perhaps even KDE-related after i've graduated, but I think it will be quite hard to find a job where you can do that.
Alexandr Goncearenco: Success for me is a work done well. I will start my PhD studies after the GSoC.
Emanuele Tamponi: I'd answer to the first question... but not here, and not in English, because I'm not able to :-) About my future... I don't know what I'll do exactly, but I think I'll try to find some work in the IT sector, or in the research front.
Vladimir Kuznetsov: Success is when I don't distinguish between work time and spare time. In other words it is when I like what I'm are doing all the time.
What do you do in your spare time?
Marijn Kruisselbrink: Besides hacking on KDE, I play French Horn in a symphonic wind orchestra.
Alexandr Goncearenco: Go out, meet people, read a good book.
Emanuele Tamponi: Play guitar, code, read some good books, stay with friends...
Vladimir Kuznetsov: See the answer above ;-)
What is your favourite place in the world?
Marijn Kruisselbrink: I'm not really attached to any place, so I also don't really have any favourites.
Alexandr Goncearenco: Let me see the world first to answer your question.
Emanuele Tamponi: Cagliari!
Vladimir Kuznetsov: Mountains. So far I've seen only Crimean and Carpathian mountains but I'm dreaming about a journey to a bigger ones like Alps or even Tibet!
Alexandr Goncearenco: I would like to encourage other developers to have a closer look at KDE-Nepomuk and Strigi technologies. Semantic desktop will make it only with the applications' support. Writing Strigi analyzers for meta data extraction is essential. Do not hesitate to ping me on #strigi if you need help.
Emanuele Tamponi: Come and code, KOffice needs YOU!