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
What are your thoughts about cutting back on software development?
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?
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?
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!
How did you come to KDE? And how long have you been part of KDE?
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?
You maintain several KDE applications, mostly games. What are they?
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?
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?
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?
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?
It's hard to beat the computer at KJumpingCube. Do you have any strategy tips?
What would you recommend to young programmers?
Can people learn to program when they are older?
Windows, Mac or Linux? Why?
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.