This is one of our first interviews with the excited attendees of the Randa meetings and today you shall get a glimpse into the mind, workings and makings of Cristian Oneț who has been with KDE since quite some time now and has been a prominent contributor.
Could you describe yourself in a few lines and tell us where you're from?
My name is Cristian Oneț, I'm a software developer. I live in Timișoara, Romania. At my day job I work on developing/maintaining a suite of desktop applications on Windows (using Qt lately). I'm also a member of the KMyMoney development team.
How did you first chance upon KDE? Could you describe your journey in short?
My first contact with KDE was back in the 3.x days (I think it was 3.2). I was just starting to get familiar with Linux (first years at the Computer Science Faculty) and I was looking for a desktop that looked and felt good. KDE's workspace was my pick then and it stayed that way ever since.
Why is KDE so special to you?
It's the most visible part of my computer. By using it and contributing to its improvement it allowed me to grow as a developer. It feels good to be able contribute to something you find useful and to do it in a fun way.
Will this be your first time in Randa?
Yes it's my first time.
When did you first hear about the meetings in Randa and why do you wish to be a part of it?
I've heard about previous meetings in Randa from reading Planet KDE. I didn't really think that I'll ever participate but this year I was contacted by Mario Fux with the proposal to help port KMyMoney to KF5. After a short exchange of e-mails I decided that it would be nice to be there.
Which specific area of KDE software do you contribute to? Could you give a brief overview?
I'm a part of the team that develops KMyMoney the KDE personal finances manager application. I also had small contributions (mostly small patches) in other parts of KDE software (kdepim, kdelibs), most of these were fixes for problems that I encountered using KDE software or developing KMyMoney. Last but not least, I also contributed with Romanian translations since I believe that software should be properly internationalized.
As a KMyMoney developer one of the biggest task that I contributed to was porting it to KDE Platform 4. This was a great chance to get familiar with Qt's MVC programming. That period was one of the biggest wave of development on the project lately. After porting the application to KDE Platform 4 the port to Windows followed. That was also fun since I got to know some KDE Windows project members on the way.
How do you manage to balance your job and contribution to KDE?
I try to do both in a way that makes me happy with the work I'm doing. My KDE contribution can keep me happy as a developer which is not always possible at my job. There is also a limit to what I can do when it comes to contribution and if the time's consumed by my job I can't really contribute much. I'm usually productive as an Open Source contributor after my summer holiday. Contributions are also influenced by the feedback of the community and the development team. I find that it is usually easier to fix problems that effect a lot of people.
You work on the windows platform during your job and have an in-depth understanding of it. But you prefer to use Linux as your primary OS. Could you give us a few reasons why someone should make the switch to Open Source?
Yes, I always preferred Linux but that preference is pretty influenced by the way I relate to computers. I think that anyone who desires freedom of information should use Open Source, but of course, this is a disputable statement. The counter argument would be that one is only free if he has the knowledge and time to fix stuff that's broken. It's nice that the knowledge is out there but that does not really help somebody who just needs things to work.
I came a long way learning about computers by using Linux (Gentoo Linux that is) and I'm thankful for that. Still, I find myself once in a while after an update mumbling about some stuff that just broke because somebody thought it should be re-written from scratch. Not trying to send forth a wrong message, I know that there are problems on other platforms as well but on Linux they tend to be more frequent (probably caused by the faster release cycles). That's when the freedom to change stuff gets handy.
As a person who has been with KDE since his student days; what would your advice be to the students who are currently contributing to KDE to keep them motivated to continue development when they start working on a fully fledged job?
I would advise them to do what they enjoy doing. If they enjoy contributing to Open Source now then that probably won't change and they will keep doing it after they have a job. If they really enjoy Open Source they could be looking for a job on an Open Source project if they have the opportunity. Meeting the people they work with in Open Source could be also creating a kind of connection that would keep them contributing even when they have less free time in the future. Last but not least Open Source can be a kind of "escape" where one can really do the things they like when there is no such freedom at a job.
The Randa Meetings organizers use KMyMoney for their finances.
Since you are working on KMyMoney on both Windows and Linux could you describe the particulars of the development process in both and which one you prefer to work on?
I only developed KMyMoney on Linux, on Windows I only work on platform specific issues. But I can compare the two development platforms using the experience I have in C++ development on Windows at my job. My opinion is that except for the debugger; the tools on Linux are much more developer friendly. I use KDevelop, I love it's syntax highlighting, symbol navigation and documentation features but it still crashes once in a while (mainly while switching branches in Git). It's great to edit code but the integration with gdb does not seem so smooth as Microsoft Visual Studio's debugger. Code highlighting and navigation can also be improved on Windows with some add-ons. I have heard a lot about Qt Designer but I really like KDevelop and I can live with the debugger (it works 90 % of the time).
The KDE Platform is still pretty unstable on Windows and this was causing a lot of issues with the deployment once the application was ported. I guess this is caused by the fact that KDE software is mainly developed on Linux. The KDE on Windows team did a great job of trying to patch things to make them work on Windows but it seems it's hard to keep up with the pace KDE software is being developed. That's why, once we had our hands on a good KDE Windows release (that was 4.10.5 but it still needed custom patches), we stuck with it in the standalone installer that we provide. I would like KDE to focus on making the platform more stable than always looking at the next big thing in UI design.
I think that on Windows users only care about applications, if they would like to use the whole desktop they would definitely switch to Linux.
So the answer to your question is: I prefer to develop on Linux but I would also like the framework to be cross platform and so I would like to contribute to improve this situation.
Have you got anything in particular planned for Randa?
As I mentioned earlier hopefully I will be able to finish my task of porting KMyMoney to KF5 as well as meet KDE Windows project members, learn how KF5 will improve packaging on Windows and have fun while doing all that.
What will you be looking forward to the most in the Randa Sprint? Any expectations or hopes of what it will be like? Any particular people or projects you are looking to collaborate on/with in Randa? Any targets set on completing with respect to development?
The most interesting will be meeting the people that attend. I would start with some KDE Windows project members since I've been working with some of them while we ported KMyMoney to Windows. Packaging on Windows is still pretty hard so I would expect this to be improved. I would like to discuss about this and see if I could contribute since I'm at home in C++ development on Windows (it's my job).
What does KDE mean to you and what role has it played in shaping you as a contributor/developer?
It's my desktop of choice which I've been using for more than 10 years now. I really enjoy working with KDE/Qt as a developer since I think both have some of the most well designed API in the world of C++ frameworks/libraries. Since we use Qt at my job it was pretty useful to have previously worked with it.
Why do you think Meetings such as Randa are very important for KDE and for Open Source communities around the globe?
I've participated only once at a KDE related developer meeting. It was the KDE Finances Sprint in 2010. I felt that it was really nice that I could meet the people I was working with face to face. Such a meeting can create different kind of connections than an acquaintance using the usual (e-mail, irc) communication channels.
Why do you think supporting them is of importance and how has the support helped you as a KDE developer and an Open Source contributor?
Building on my previous answer I think that it's important to build well knit teams. People who meet in person work better together, at least that is the experience I've had while working on KMyMoney. Our meeting gave the team a big boost so if KDE is to move forward at a good pace it needs to encourage and support developer meetings. As for me as a developer it was a real pleasure to get to know my colleagues who came from different parts of the world to see the similarities and the differences between us.
Could you briefly describe a rough outline of what you'd imagine your typical day in Randa this time around to be?
I guess it will be similar to the days we had at the KDE Finances sprint. After breakfast meetings, lunch then meetings again then some socializing over a beer in the evening.
Is this your first time to Switzerland? Are you excited about being in another country?
Yes, I've never been to Switzerland before, being able to visit it was one of the reasons I've decided to attend the meeting. At first I've declined since the period was overlapping with my family holiday but after I found out that it would be OK to spend a few days working at the meeting and the rest I could spend with my wife (we will be there together) I've decided to go.
Thanks a lot, Cristian, for your time for the interview and dedication to KMyMoney and the KDE community.
Please support us in the organization of the Randa Meetings 2014.Dot Categories:
Krita Fundraiser on Kickstarter
Five years ago, the Krita team decided raise funds to raise Krita to the level of a professional applications . That fundraiser was successful beyond all expectations and enabled us to release Krita 2.4, the first version of Krita ready for professional artists!
Now, it’s time for another fundraiser, much, much more ambitious in scope! Dmitry Kazakov has worked full-time on Krita 2.8, and now we want him to work full-time on Krita 2.9, too. And it’s not just Dmitry: Sven, who has contributed to Krita for over ten years now, has recently finished university and is available as well.
So, we’ve setup a base goal that would cover Dmitry’s work, a stretch goal that would cover Sven’s work and a super-stretch goal that would cover porting Krita to the last remaining OS we don’t cover: OS X.
Since 2009, the Krita project has had three more sponsored projects, and all of them delivered: the Comics with Krita and Muses training DVD’s and Dmitry’s work on Krita 2.8. With Krita 2.4, Krita could be used by professional artists, with Krita 2.8, artists all over the world started taking notice and with 2.9, well -- we’ll make Krita irresistible!
Help us spread the word and make this campaign a big success!Dot Categories:
The next generation desktop from KDE is taking shape and the second beta is out now for testing. The developers have settled on a name - Plasma 5, and there is only one month to go until the first release so please test packages from your distro or download the Neon 5 Live ISO to see what is working and what needs fixed.
The main layout of the desktop remains similar to previous versions, no massive new workflows here, but it has been entirely remade in Qt Quick to give it a smoother, more dynamic feel. The new Breeze artwork from the Visual Design Group is taking shape and various elements made more consistent so the widget explorer, window and activity switcher now share a common feel. As with any major release some features are yet to be ported and some new problems will have slipped in, do let use know how you find it.
Today KDE released updates for its Applications and Development Platform, the second in a series of monthly stabilization updates to the 4.13 series. This release also includes an updated Plasma Workspaces 4.11.10. Both releases contain only bugfixes and translation updates, providing a safe and pleasant update for everyone.
More than 40 recorded bugfixes include improvements to Personal Information Management suite Kontact, Umbrello UML Modeller, the Desktop search functionality, web browser Konqueror and the file manager Dolphin. A more complete list of changes can be found in KDE's issue tracker.
Additional and noteworthy: this release of KDE Applications includes a number of important fixes for Kopete: a decrease in the exit time of Kopete with enabled statistics plugin, a fix for the compilation of jabber libjingle for non x86 architectures and another fix for voice call support in the jabber libjingle library. Without this last fix, voice calls worked only with the old Google Talk windows jingle client. Now after applying the patches it was tested with GMail web plugin, old Google Talk windows client, telepathy-gabble and other Kopete versions.
To find out more about the 4.13 versions of KDE Applications and Development Platform, please refer to the 4.13 release notes.Dot Categories:
Today KDE makes available the third beta of Frameworks 5. This beta release is part of a series of pre-releases leading up to the final version planned for July 2014.
This beta features multiple bug fixes, and the finishing touches required to ease the transition for developers to the newest iteration of the KDE Frameworks. This process has included contributions back to Qt5, the modularisation of the kdelibs, and general improvements to the components that developers can use to improve their applications and user experience. This pre-release improves co-installability with kdelibs4 and with future versions of KDE Frameworks (i.e. 6). This is also the first release with translations for Frameworks using the KDE's i18n translation system.
For more information about Frameworks 5, see this earlier article on the KDE News site.Dot Categories:
From January 18th to 25th, Kate, KDevelop and Skanlite developers met in Barcelona. The sprint was focused on the work of the upcoming few months, and covered a wide range of aspects of these projects.
left to right, back row: Kevin Funk, Gregor Mi, Dominik Haumann, Christoph Cullmann, Milian Wolff, Joseph Wenninger
front row: Sven Brauch, Aleix Pol, Heinz Wiesinger, Miquel Sabaté
One of the big initiatives that the developers have been working on recently is the KDE Frameworks 5 migration. During the sprint, Kate's port to Frameworks 5 matured while KDevelop received its first push towards the adoption of the new Frameworks. This is an important step because it lets the team think ahead about adopting the technologies that will be developed on for the next years.KDevelop
KDevelop also improved on the supported languages front. The new KDevelop Clang plugin got a big push, and, while it is not going to be released yet, it is expected to supersede the current C++ plugin in the long term. Clang is expected to improve the support for standard C++, and also offers an opportunity to support C projects properly. Eventually, an Objective-C plugin could be built on top of Clang. Clang integration reduces the maintenance burden compared to the self-written C++ parser. During the sprint, we carved out a roadmap for the Clang plugin and also extended what we already have so far. The main focus was on polishing infrastructure inside KDevelop for providing a solid base for integrating Clang's useful diagnostics and fixits module.
Currently, the kdev-clang plugin consists of only about 4000 lines of code, compared to nearly 55000 in the old plugin. Further good news—there will be a Google Summer of Code 2014 project that will take care of delivering a first releasable version. There's still *a lot to do* to make this as usable as the previous C++ support plugin. Read more about kdev-clang.
KDevelop's code assistant popup has gotten a revamp, which will -- after some polishing -- provide a more flexible and better integrated UI for the assistant features. The useful "blame" feature, which shows who touched each line in the current file as provided by the project's VCS, was improved as well. It now shows the commiter's name instead of the commit identifier and also works properly with dark color schemes. KDevelop's interface is now more customizable, toolviews can be detached (for example, source code documentation can be detached from the main window and moved to another screen). KDevelop's codebase was cleaned up and quite a few optimizations were added. This and other improvements will give a noticeable performance boost when operating on large projects consisting of thousands of files.
Find out quickly who the writer is Python
Much internal cleanup was done in Python support and some long-standing bugs were fixed, such as the debugger not working properly. Python 3 support is now finished, and future development will focus on that.Ruby
The KDevelop Ruby plugin was also greatly improved during the sprint. Lots of bugs have been fixed and a first stable release is closer now.PHP
The sprint also provided a good opportunity to improve the language support within the PHP plugin. A lot of progress was made on completing syntax support for the new features introduced by PHP 5.4. Most notably there is now full support for PHP's trait syntax. While catching up with newer syntax features is important, so too is improving support for older features. One of the most requested improvements for the plugin is proper support for PHP's namespace syntax. During the sprint we worked on making this a lot more usable. However, there are still some kinks to be worked out.Kate
For Kate, the focus was mostly on the Frameworks 5 port. The port already started back in December 2013, resulting in the KF5-ready KTextEditor framework and stable KF5/Qt5 versions of the Kate and KWrite applications. During the sprint, the Kate team worked on a lot of details, polishing the KTextEditor framework.KTextEditor Interface Cleanup
The KTextEditor interfaces are responsible for all the interaction between the editor component Kate Part and the host application (eg. KDevelop, Kile, Kate, ...). So it is important that these interfaces allow good integration of the editor into the host applications. During the sprint, these interfaces were cleaned up and optimized for speed. In addition, the default colors were extended to allow for better color schemas in the future.New Status Bar
Previously, Kate Part did not provide a status bar. All host applications (KDevelop, Kile, ...) had to write their own variant of a status bar, displaying the cursor position and similar information. In the KTextEditor framework, Kate Part will ship a default status bar, showing the cursor position, the edit mode, the modification state, the highlighting, encoding and the indentation settings. Further information can be found in this blogpost.KTextEditor Plugin Architecture
KTextEditor's plugin architecture was improved substantially. Plugins written for the KTextEditor framework will be available in all applications embedding Kate Part, making it possible to share a lot of features such as collaborative editing, search & replace in multiple files, and similar tools. This is possible because the plugin interfaces are now much more powerful than the former interface for shared plugins.
As a byproduct, the Kate application interfaces were completely dropped in favor of the KTextEditor plugin architecture. Most of the Kate plugins are already turned into KTextEditor plugins, such as the Documents sidebar, the Filesystem Browser, Search & Replace, the Build Plugin, the Backtrace Browser.Kate Application Changes
The Kate application saw several changes; among the most visible is the new built-in tab bar. Previously, Kate provided the Documents sidebar to navigate through files. The Documents sidebar has the advantage that it stays usable when working on a large number of files. However, a lot of users want an integrated tab bar for quick file navigation. Therefore, the Frameworks 5 version of Kate will have both—the Documents sidebar as well as the tab bar. Since the number of visible tabs is often limited, only the tabs that were most recently used will be displayed. Users will be able to navigate quickly through the files being worked on. Besides quick navigation, the tab bar also allows the view to be split the view vertically or horizontally, to show the quick-open view, and to maximize the currently active view by hiding all other view spaces. A preliminary version of this tab bar as well as a KF5 version of Kate is described further in this blogpost.vi mode
Kate's vi input mode also gained several improvements and polishing.Wrap-up
All in all, a lot of work was done under the hood in both Kate (detailed sprint wrap up report) and KDevelop. The Kate developers are still improving and extending the KDE 4 version of Kate, KWrite and Kate Part, while the KF 5 port is being finalized. The KDevelop team started porting to KF 5 as well, but continues to improve the KDE 4 version in the meantime. A major effort is being made to rework KDevelop's C++ language support to be more reliable, powerful and easy to maintain in the future.Thank you
Thanks to Blue Systems for hosting the Kate+KDevelop sprint in Barcelona! Your support is greatly appreciated!Dot Categories:
Though the Krita team was one of the first to start the tradition of having sprints, with the first Krita Sprint in Deventer, in 2005, Krita sprints are rather infrequent! But, of course, we also meet each other during the more regular Calligra sprints.
Anyhow... Krita developers and artists met again in Deventer in May 2014. It was the most awful weather you can imagine for a sprint—warm, sunny, bright, lovely to be outside! Long and lazy lunches, discussions out on the roof terrace until after midnight, walks through the park. Is it a wonder nothing much got done?
Wait, that's wrong! Bravely resisting the lure of the fine spring weather, three artists and six developers got down to some serious work! In the week before the Krita sprint, Boud, Dan, Arjen and Stuart already had a week-long sprint working towards the final release of Krita Gemini on Steam, and on Thursday the others started to arrive. And only by Tuesday the house was empty again...
Krita Sprint Team Let's see what got done:
We've been working on the Krita 2.9 Fund Raiser since April. It took more work than we'd ever imagined, but now we've got a great promo video thanks to Björn Sonnenschein, and together we set up and created the Kickstarter campaign. We've got ambitious goals here: not only do we want Dmitry to go on working full-time on Krita, we want to extend that and have Sven (who's been a Krita hacker for over ten years) work full-time on Krita, too. And if we exceed that goal, well, there's OSX to conquer! Stay tuned, we expect to go live really soon now!
Krita 2.9 will probably be the last release based on Qt4 and KDE4. It's a huge and ambitious release, with the fund raiser being based around 24 ambitious goals and then -- we also want to finish the resource bundle manager that Victor Lafon from Toulouse started and make it possible to have more than one image open in a window. After the 2.9 release, it's time to port to Qt5 and KDE Frameworks 5. We spent some time discussing which tiers from the Frameworks we want to use, and how to best approach the port.
With the interest in Krita growing by leaps and bounds—the Windows installer has seen more than half a million downloads—interest in translations is growing, too. It takes some effort to get the volunteers who want to work on translating Krita to push their efforts through the right channels, but that is working out well. And Dmitry Kazakov is in close contact with the Russian translation team. We discovered that Krita's terminology is a bit of an organically grown mess, and that there are many places where context is missing. So we decided to get Dmitry together with Alexander Potashev and Paul Geraskin in Russia, and they would go through Krita, figure out what needs fixing, and fix it. That effort is underway right now, and might already be merged by the time you're reading this.
The Krita Foundation was created to support the development of Krita by, well, actually paying for development. Time is money, and money gets us time, and accelerated development. Thanks to a big sponsor, Dmitry has been able to work full-time for the entire development period of Krita 2.8. The Foundation is pretty healthy, with money coming in from donations and sales of the DVD, as well as the Krita Development Fund, but we still want to grow and do more and more!
During the sprint, we got mail from Blender's Ton Roosendaal, proposing to cooperate on having a stand at SIGGRAPH 2014, the foremost conference and trade show for graphics. We've found at least one sponsor, and have already reserved some floor space. Now we need to furnish it and find money to travel to Vancouver. It's an awesome opportunity to be the first KDE project to show off at SIGGRAPH!
Last sprint, in Amsterdam at the Blender Institute in 2011, we sat down our attending artists and made them work with Krita for half an hour, videotaping and recording their work. They were allowed to gripe and whine to their hearts' content, and the developers were allowed to listen and make notes and fix Krita! Back then, Krita 2.4 hadn't been released yet, and Krita was, in the words of one of the artists, a very nice amateur application for amateur artists, but not suitable for production work. Well, we've come a long way! Sure, one artist made Krita crash (and we fixed the crash within fifteen minutes...), but there was almost no whining, no griping, people could just draw and paint. Still, Dmitry's notes were extensive, and we've got work to do!
One thing that's missing is a book on Krita. Wolthera is busy with the manual on userbase and Timothée Giet has proposed to organize a book sprint for Krita. He is currently investigating whether we can get a subsidy for the book sprint!
Yes, in the end, we did enjoy the sunshine, too... It turns out that our lunches were just as productive as the meeting and the hacking sessions, and it's true about the late nights on the roof, where we were busy sketching, painting, hacking, discussing and planning.
Thanks are due to KDE e.V. who sponsored travel for our hackers and artists! The Krita Foundation paid for the t-shirts. We managed to mostly fit into my place in Deventer, which helped keep the accommodation costs down. It was an awesome sprint, and we're going to make Krita better, better and better!
The KDE Applications 4.13 announcement highlighted the delightful new capabilities of Palapeli, the KDE jigsaw puzzle application. What the announcement did not mention is that the Palapeli maintainer, Ian Wadham, is celebrating 50 years of software experience. He’s ready to hand off Palapeli and his other KDE software development responsibilities. Albert Astals Cid called attention to Ian’s achievements and suggested a Dot interview.
A Portrait of the Programmer as a Young Man
Ian Wadham's bio at a glance
- 1938 - Born in England
- 1959 - Graduated in Physics and Mathematics at the University of Cambridge
- 1960 - Migrated to Australia
- April 1964 - Became a computer programmer 50 years ago
- KDE Games developer for about 12 years
- Currently lives in Melbourne, Australia
What are your thoughts about cutting back on software development?
Regret, but I have had a long innings. I will still potter around on my own, but not following any schedules. If something turns out well, I might commit it.
This is my second retirement. My first, from the workforce, was in 1998. This time I am withdrawing from writing programs for public use. I will continue to present a Science course for seniors at the local U3A (University of the Third Age) .
I seem to be getting involved in moves to make KDE's portability work better on the Apple Mac OS X platform. And my grandchildren are always a joy.
How did you get started as a coder?
I prefer to call myself a programmer - and never a hacker. A hacker is someone who carves wood with an axe. I see programming as a craft. Sometimes I hack, to get a quick answer to a question, but when I have the result, I always like to go back and program it "properly". If I do not, I find I cannot understand my own code a few months later.
How I started was one of those accidents of fate. My Ph.D. studies were not working out and I was looking for a new career. My girl-friend at the time was a programmer and she told me no qualifications were required, only an aptitude test, and that the job was interesting and the pay excellent. This was 1964 and I was nearly 26.
So I put in some applications and accepted the offer of my first programming job the night before I was interviewed as a Physics Instructor in the Australian Navy. All next morning I was saying that I had already accepted another job, but the military has its own ways of doing things. I went through the full medical check, the eye test, the IQ test, the psychology interview... Finally I entered a room with a long table and wall-to-wall admirals and captains - gold braid everywhere - and was finally allowed to deliver my news. "Oh, thank you for telling us," they said.
At that time in Australia, very few physicists were using computers. Computer use was more common in the US, UK and Europe, especially in large, well-financed organizations such as NASA, the Atomic Energy Commission and the US Military.
Computers for individual physicists were an exotic and trendy means of avoiding lengthy and tedious calculations, if you could afford the time and money to acquire one and learn how to use it, but were not yet a routine tool as computers became within the following 10 years.
What major technology shifts have you been involved in?
You name it. It was good luck to join in when transistor hardware, assembly language and Fortran II were taking hold. Some people were still using valve machines and machine language. As a programmer I was involved in the beginnings of operating systems, real-time systems, on-line screens, minicomputers, structured programming, supercomputers, LANs, desktop systems (Xerox Star), relational database systems, C and multi-host commercial Unix systems.
The best company I ever worked for was Control Data Australia, 1965 to 1969. We have a website of memories, and we still keep in touch. On 17 May, we had a biennial reunion. I do not know of any other company group like it.
Control Data Corporation, our US parent company, made the largest and fastest computers in the world. Our chief designer was Seymour Cray and for decades he designed the world's largest and fastest computers: later in Cray Research, his own company. At Control Data he insisted on seclusion and freedom to work in his private laboratory in his home town, Chippewa Falls, Wisconsin. There were many legends about him. One of my favorites is that each morning he would walk down to the river near the Falls and an eagle that nested there would fly down and perch on his shoulder.
CDC-160A Personal Computer
My first computer was one of Seymour's lesser-known designs, a Control Data 160-A. The desk in the foreground is the entire machine. Some say it was the first minicomputer, even the first PC. It was significant too because essentially the same design, shaped as a 20cm cube, went into the ten peripheral processors on the CDC 6600 supercomputer. The 160-A was a wonderful first machine because it was possible for one person to learn everything about it - something that has been impossible with most machines since.
This was your "personal" computer? Wow!
Er, no! I was a young, penniless guy and it cost US$60,000. I meant it was the first computer I worked on, not the first one I owned. It belonged to Australia's telephone research labs and I was programmer in charge, bureau manager and general dogsbody. If I stayed late at work, I could have a play...
KDE is my only official FOSS project, but I feel that, by avoiding the IBM and Microsoft worlds, I have been able to work on FOSS all along. Free because it came with the hardware and you could modify it or fix bugs (i.e. also free in the Stallman sense). In the 80s and 90s you could still obtain access to source code (UNIX) on minis and megaminis for a fee, but I never found the need.
How did you come to KDE? And how long have you been part of KDE?
Microsoft and its business practices had always turned me off. My first IBM compatible PC (1995) was mainly for work purposes. After retiring in 1998, I started programming again in 2000. My son gave me a set of SuSE CDs for Christmas and it included this new desktop system called KDE 1.
Among the source code, in the Alpha section, I found the first version of KGoldRunner, by Marco Krüger. I had always liked Loderunner's unique combination of action, strategy and puzzle solving and had always wanted to do something non-trivial in object-oriented programming, ever since Simula and Smalltalk days. So I set to work to learn C++ and Qt and with Marco's permission produced a new version of KGoldrunner, committed to kdenonbeta (a precursor of playground and review) in March 2002.
Akademy is being held this year in Brno, Czech Republic. Have you been to Akademy?
Yes, Akademy 2008 in Belgium. The talks were great and so were the BOF sessions on games. That Gouden Carolus beer on the river trip and on the dinner night at the brewery in Mechelen was something else again. I now know it to be one of the world's most powerful beers - and they were serving it in half-litre glasses! The high point of Akademy 2008 for me was to meet my fellow workers on KGoldrunner and take them to dinner in the main square at Mechelen.
You maintain several KDE applications, mostly games. What are they?
KGoldrunner, Kubrick, KJumpingCube, KSudoku and Palapeli. They are about 13% of the KDE Games, but 20-25% of the lines of code.
KGoldrunner is based on my all-time favorite game: Loderunner. One intriguing thing about it is the way bugs become features. One day I was sitting with my son (grown up) when he found out that it was possible for the hero to dig holes while falling through the air. Before I could fix the bug, he had made up a level that exploited it. Now that "feature" is an important part of many creative new games that people from around the world have contributed.
Kubrick was an effort to branch out into 3-D and OpenGL. It's fine, but I am no good at cubing and I wonder if others enjoy Kubrick.
KJumpingCube and KSudoku I rescued from unmaintained. In KJC I added features and AI to make it more intelligible and also more challenging. In KSudoku, there was a half-finished re-development which left it so that it would generate mainly easy puzzles - no good at all for a serious player like my wife. I found a Python puzzle-generation algorithm on the net and, with the author's permission, adapted it to C++ and KSudoku. I like KSudoku because it supports so many variations on the basic puzzle. I do not know of any other Sudoku game that does that.
My favorites games to play are KPat (solitaire card games), KSudoku (X and Aztec variations) and Palapeli.
You've gotten the applications into good shape, and are ready to hand them off. What type of person would you like to see take over? What will they get out of working on these applications?
I would like to see KDE set up a maintenance group and standards for "maintainability" of code. Programs that reach a reasonably good standard could then be maintained interchangeably by members of the group.
The group could be continually changing. Nobody can stay interested in such work for long. Also the group and its stock of programs would be a good source of Junior Jobs and a place for newbies to start. It would need to have some experienced members, or ready access to such people, because some bugs are too hard for trainees to solve.
This is not a new idea. It is roughly what has been happening everywhere I have worked since about 1967, when the burden of people quitting jobs and leaving behind unmaintainable, half-finished messes became intolerable for most organizations.
What was your experience in the various game transitions from early days to now? Did you play computer games when they were first available?
Games go back a very long way. Some of the earliest computers played music and a few played games. I remember a fellow-student in 1959 giving me a copy of a paper tape as a souvenir. It contained an EDSAC II program to determine if the king was in check.
Even the first supercomputer, the Control Data 6600, in 1966, had a game similar to KSpaceDuel (spaceships orbiting the Sun and shooting missiles). Only the elite and hardware engineers got time late at night to play games on those multi-megadollar machines.
Things became easier with minicomputers. In 1978 I was at a customer's DEC PDP-11 site presenting a new version of their application system and was asked to finish up early. Why? It was the night the users all got on the computer to play Adventure, the original adventure game. They had made a wall-chart mapping out all the caves.
On our first PC, an Apple IIC, my children and I played a lot of Loderunner and Zork ("You are in a maze of twisty little passages, all of them alike."). That was in 1983. We wore out several joysticks on Loderunner. We made up levels and challenged each other to solve them. Many of the current KGoldrunner levels come from that time. My Apple IIC still runs and can still play the Loderunner demo, but I used up the last gasp of the last joystick working out design details to be used in KGoldrunner. So I cannot play Loderunner now.
Later I had a Commodore Amiga 500 and became very hooked on Flood and Populous I and II. The Amiga had much better graphics and OS than the IBM PC and Windows, but sadly the Commodore company lost its way. My Amiga also is still in working order.
Later still, on Windows, I worked my way through Myst, Riven and Alpha Centauri. I never liked first person shooters, though.
You've added a lot to Palapeli, the jigsaw puzzle application. The new capabilities make it possible to do puzzles with a lot of pieces. It's fun and challenging. The manual is quite helpful, especially with a lot of pieces. What was the thought process to create the latest version?
Several of us in the KDE Games group had kicked around ideas in 2010. Johannes Löhnert wrote the puzzle Preview class then, but it did not get implemented.
The Book by Juan Gris in Palapeli; 320 pieces; main screen, right edge piece-holder, preview
It seemed necessary to resolve the issues with a practical test, so I bought a 1000 piece puzzle and tried to solve it on a small table, no larger than the completed puzzle, using only the table and the box to hold pieces. As I played, I noted difficulties that arose and how they could be overcome. At the same time, I was mentally trying out analogues of what might be feasible on a computer screen. And of course, I had already tried solving large puzzles with Palapeli 1 and had seen what physical difficulties arose there.
Most of the manual was already written by Johannes Löhnert and Stefan Majewsky. I just added the chapter on large puzzles.
When I was growing up, we often had a jigsaw puzzle on the dining room table. It was a social event. What about adding a capability for working with others on a puzzle with a lot of pieces?
That's a nice idea. I have never understood how networking is done in KDE Games. Maybe it is time I found out.
It's hard to beat the computer at KJumpingCube. Do you have any strategy tips?
Only what is in the Handbook. KJC is about to become harder. Inge Wallin has an AI library he would like to try out on it. You have met the AI players Kepler and Newton. Prepare to meet Einstein!
What would you recommend to young programmers?
Read as many of other people's programs as you can - even bad programs. Try and figure out what makes them good or bad, easy or hard to understand and maintain.
Can people learn to program when they are older?
Yes. My friend Glen, a retired airline pilot, taught himself on an IBM PC when he was fifty something. Within a year or two he became good enough to get work as an independent contractor.
Windows, Mac or Linux? Why?
Apple Macbook Pro, with OS X 10.7, Lion.
One day my Windows/Linux dual-boot system's hardware died suddenly. I bought a new machine and installed the latest OpenSuSE. When I booted up KDE, my carefully constructed four-part Plasma desktop had been long gone, and I found myself in some new, empty and quite alien-seeming version of KDE and Plasma. It took me two days just to find out how to get rid of the blue glow around active windows, which was hard on my tired old eyes.
Ian Wadham - older, wiser, still gaming
It was important for me to keep working rather than play with settings, so I turned to the MacBook I had been messing around with, which was also supporting my wife's iPhone and iPad (pre iCloud). I had some KDE and Qt software already installed, with MacPorts, and I was soon able to set up a KDE development environment. OS X really is quite a lot like Unix and Linux.
I like working on the Macbook. The desktop is quiet, unobtrusive and easy on the eyes. I can work for hours without getting tired or being distracted. Also the battery is long-lived, Time Machine does regular backups and the Spotlight indexer collects everything (even my source code) with no perceptible overhead. I feel I am more productive with Mac OS X than I ever was with Windows or KDE because I do not have to think about what the desktop is doing.
I feel as if I have come home.
The traditional KDE interview question—Richard Stallman or Linus Torvalds?
Thank you for the many years of work you've dedicated to the advancement of FOSS, and the KDE games in particular. Thanks also for sharing some of your experiences on the front lines of computer development over the fifty years of your active career.
Many thanks to Albert for the idea of interviewing Ian, and to Bob Potter for bringing in technical perspectives.Dot Categories:
In this week's KDE Commit-Digest you can find an interview with Aaron Seigo about KF 5 and a look into KDE SC on devices. And of course, the overview of the development effort is there as every week and includes:
- Ktexteditor adds keyword-based completion model
- Smb4k changes the implementation of notifications correctly, as a side-effect the notifications can be edited via system settings
- libtmdbqt adds basic tv show support.
- Exponential zoom in/out feature in "Solar System Viewer" of KStars
- Lessons pane gets expand / collapse all buttons in Parley
- Fixes to placement of KRunner on multi-screen setups
- More grid presets and shortcuts for toggle and snap, and improvements to the EXR file format converter in Calligra
- Fixes to opening documents in new tabs in Okular
- Speedups in item synchronization in Akonadi
- Notification support removed from KGlobalAccel
- Further progress in ktp-text-ui and libqgit2
- Dolphin starts to support being compiled with KF5.
It's the time of the year again when the Randa Meetings plan starts to get quite concrete. After a break last year, the 5th edition of the Randa Meetings will happen in the middle of the Swiss Alps in August 2014. So once again more then 50 KDE contributors will meet in Randa to hack, discuss, decide and work for a full week.
This year the following groups and projects will come together in Randa:
- Amarok/Multimedia/Phonon: to work on the next edition of Amarok and Phonon and some exciting new KDE multimedia applications
- KDE Books: to renew our great KDE development booklet and focus on KDE Frameworks 5
- KDE Edu and GCompris: to work on KDE language learning and math applications, and finish the port of GCompris to Qt
- KDE Frameworks 5 porting: to bring application developers together with KF5 specialists to port their applications
- KDE SDK: to create a simple KDE SDK
- Kdenlive: to reinforce one of the best video editing applications on Linux, and start a port to KF5
- Gluon: to put new energy in this KDE gaming framework
Even if you are not participating yourself, you can help make Randa Meetings happen. More about this below. Here is what former Randa Meetings participants think about this event:
Kévin Ottens: "It's important for sprints to be extremely focused for a few days. Randa is perfect for that, it is the ideal place to be away from our hectic lives and only work on what's needed for your sprint. At the same time the atmosphere and the nature around is relaxing a nice bonus which makes such sprints all the more efficient."
Aleix Pol: "I've been to Randa 3 times already, with 2 different teams. It's always been a really productive and intense week of working non-stop. Pure KDE hacking for everyone, it's how projects move forward."
Albert Astals Cid: "The Randa Meetings is the most amazing place to do a KDE Sprint. As a KDE contributor, attending the Randa Meetings gives you an amazing venue: a dedicated local team that lets you focus on the Sprinting, an amazing environment to air up your thoughts and the co-location of various sprints that creates great synergies between the various participants."
The Randa Meetings really bring KDE and its software forward. But as most of the participants are young people, students (and we try to bring new people to every KDE sprint), parents or just can't afford the travel costs, we need some help.
Here are some more concrete examples of what you can do with your money:
- With EUR 20 you can pay the accommodation for a Kdenlive developer for one night.
- With EUR 40 you can pay the Swiss train tickets (ticket from the airport to Randa) for a Marble hacker.
- With EUR 200 you can bring a KDE Edu hacker from somewhere in Europe to the meetings.
- And with EUR 1000 you can bring a great documentation writer from the US to our small village in the Swiss Alps.
With some additional costs for the house rental, we need a total amount of EUR 20,000 to cover the costs of the Randa Meetings.
More about the plans the developers have for Randa will be shared in additional stories in the coming weeks. So be prepared to learn more about GCompris, Kdenlive, KDE Frameworks 5 and other projects at Randa this August! And if you think that what we're doing is important please support us. Every bit means a lot! Also, help us spread the word and tell others what we're doing and why financial help directly benefits KDE software. The Randa Meetings are a quantum jump for KDE.Dot Categories:
- Plasma screen locker gains password checking
- Krita adds Background Color feature to KisImage
- Plasma MediaCenter fetches and stores genre metadata in media library
- Ktorrent implements a magnet manager; sees multiple optimizations
- Pykde5 adds Sonnet support.
KDE is pleased to announce that Plasma Next Beta 1 has been released. Plasma Next is the codename for the new version of our beautiful desktop workspace built on KDE Frameworks 5. It features the same familiar layout you will be used to but with a simplified and more slick look from the new KDE Visual Design Group. For the first time our desktop ships with its own font, the Oxygen Font. Internally much has been rewritten in QML to make it smoother to render and easier to develop. The source has been split into over 20 sources making it easier for distributions to package. We need as many testers as possible to iron out the many bugs we know still exist. Many distributions have started making packages so you can easily test it, listed on the unstable packages wiki page. The easiest way to try it out is to download the Neon5 ISO and boot from it on a USB drive, Neon5 has the latest daily builds of Plasma code. Please test it out and let the Plasma team know what to work on.