First Okular Sprint ever at Barcelona

In May a group of three Okular developers met for four days at the Blue Systems Barcelona office to hack on the KDE universal document viewer.
Albert Astals Cid, Luigi Toscano and Fabio D’Urso

The first day the team triaged a lot of bugs resulting in …

2014 Calligra Sprint in Deventer

From the fourth to the sixth of July, the Calligra team got together in sunny Deventer (Netherlands) for the yearly developer sprint at the same location as the last Krita sprint. Apart from seeing the sights and having our group photo in front of one …

KDE Ships Third Beta of Applications and Platform 4.14

KDE has released the third beta of the 4.14 versions of Applications and Development Platform. With API, dependency and feature freezes in place, the focus is now on fixing bugs and further polishing. Your assistance is requested!
A more detailed lis…

KDE Ships July Updates and Second Beta of Applications and Platform 4.14

This week KDE released updates for its Applications and Development Platform, the third and last in a series of monthly stabilization updates to the 4.13 series. This release also includes an updated Plasma Workspaces 4.11.11. Both releases contain …

Plasma 5 Brings a Cleaner Interface on Top of a New Graphics Stack

Plasma 5.0

The first release of Plasma 5 is out now. We have worked long and hard over the last three years to tidy up the internals and move to new technologies to bring a solid foundation for KDE’s Plasma desktop for years to come. The UI has bee…

KDE Ships First Beta of Applications and Platform 4.14

KDE has released the first beta of the 4.14 versions of Applications and Development Platform. With API, dependency and feature freezes in place, the focus is now on fixing bugs and further polishing. Your assistance is requested!
A more detailed list…

KDE Frameworks 5 Makes KDE Software More Accessible for all Qt Developers

Today, the KDE community has made available the first stable release of Frameworks 5. At the Randa Meetings back in 2011, we started work on porting KDE Platform 4 to Qt 5. But as part of this effort, we also began modularizing our libraries, integrat…

People of KDE is back

As Michael Bohlender (known to some e.g. for his GSoC project about Kmail Active last year) needed to do some interviews for his anthropology course at the university he decided to reactive the People behind KDE series or, as they are now named, the Pe…

KDE Commit-Digest for 4th May 2014

In this week’s KDE Commit-Digest:
KDE-PIM sees huge performance improvement for POP3 users with large maildirs
KAddressbook adds a category filter
Krita implements support for more types of palettes
Also in Calligra, Docx export filter has partial supp…

KDE Commit-Digest for 27th April 2014

In this week’s KDE Commit-Digest:
Umbrello adds find text in tree view, current diagram and all diagrams feature
KDE Telepathy can share images over common image sharing networks
Sflphone-kde adds security evaluation framework with GUI
Punctuation data…

Randa Meetings Interview One: Cristian Oneț


Cristian Oneț

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 Kicks Off 2.9 Development Effort with a Kickstarter Campaign


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:

Plasma 5 Second Beta Needs Testing

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 do…

KDE Ships June Updates to Applications, Platform and Plasma Workspaces

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 a…

KDE releases 3rd beta of Frameworks 5

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 th…

Kate and KDevelop sprint in January 2014

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.


Clang diagnostic

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:

2014 Krita Sprint in Deventer, Netherlands

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:

Fundraiser
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!

Releases
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.

Translations
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.

Krita Foundation
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!

SIGGRAPH
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!

User Sessions
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!

Book Sprint
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!

Sunshine
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!
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!

Dot Categories:

Ian Wadham, Venerable KDE Programmer

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.

Companies?
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…

FOSS Projects?
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?
Edsger Dijkstra.

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:

KDE Commit-Digest for 20th April 2014

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 completi…

KDE Commit-Digest for 13th April 2014

In this week’s KDE Commit-Digest:
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 togg…