AUG
12
2008

Michael Pyne

A Short Intro

  • Age: 24
  • Located in: Georgia (and under the ocean)
  • Occupation: submarine officer
  • Nickname on IRC: mpyne
  • Claim to Fame: kdesvn-build
  • Fav. KDE applications: I really like a lot of the KDE applications. I often use Konqueror, Konversation, K3b, and Kontact.
  • Hardware:
    • home: AMD Athlon64 dual core setup, which I built with a mind toward quieting. It's called midna
    • work: Whatever computer is available
  • Blog: http://purinchu.net/wp/

The Interview

In what ways do you make a contribution to KDE?

I developed and maintain kdesvn-build. I also help work on JuK, and beyond that I do lots of random bugfixing, bug triage, and general helpfulness on the mailing lists. Time permitting, of course. ;)

So what is kdesvn-build?

It's a program that downloads KDE from its Subversion sources, builds, and installs the modules for you. You can use it to keep your KDE-from-Subversion up to date as well.

How is JuK different from other music players?

JuK is designed to be more of a music manager, although obviously it can play back music. A lot of work has been put into it to make it useful for managing the metadata. For instance, there's a dedicated tag editor window where you can select tracks and edit their metadata by right-clicking on them. With other music players out there, that gives Scott Wheeler (wheels) and I the latitude to avoid being pressured into including features that don't really fit with JuK.

When did you first hear of KDE? Of Linux?

I had first heard of Linux when I was in high school (1998), but I didn't hear about KDE until 3 years later (2001) when I actually obtained Linux (SuSE 7.2), when I was entering college.

By that time I had managed to learn enough programming to do some simple stuff using Win32, with a Borland C++ 5.02 compiler which I got from a $20 book. I was trying to adapt my knowledge of the Win32 C API to the Linux GUI. The closest equivalent to Win32 C was, I thought, GTK+. However, the transition was bumpy and drove me to a similar toolkit in C++ called Qt. Which was used with this desktop called KDE.

So I learned C++. I really appreciated having a good programming toolchain as well, because there were no good free compilers on Windows. Plus having good documentation helped. All I had on Windows was a Win32 API .hlp file which I'm pretty sure the Borland guys forgot they'd left on the CD. ;) But it was enough to write simple programs and get me started.

How and when did you start getting involved in developing for KDE? For JuK in particular?

I liked coding, but I didn't really have anything I wanted to write. So I subscribed to some KDE mailing lists. After lurking, I started looking through source code. I went to kdeadmin and made trivial fixes. And I took a look through JuK's code. The source seemed complex, but I felt I could grasp it. So I started bugging the author (Scott Wheeler), and I did bugfixing. I think this was around the KDE 3.2 timeframe. By the time KDE 3.3 was released I was contributing features to JuK.

What was your most recent commit to KDE?

I've actually just committed a couple of bugfixes to kdelibs this week.
The most recent commit would have been a commit to stop KPixmapCache from crashing due to shared memory usage (Bug 160284).

I think I'm supposed to ask if you're being paid to work on KDE, but I think that's a big fat "No". Am I right?

Ha.
Yes, BIG FAT NO. ;)

Do you think the U.S. Government is likely to use open source software in the near future?

Parts of it have been users of open source since before it was popular. Its use is increasing, too.

How much time a week do you usually spend on KDE? And your work schedule must be kind of odd, since half the time you're underwater... How does that affect things?

I would say about 10 hours a week on KDE. My work schedule is kind of varied. Obviously, I spend no time on KDE while I'm underway, but even when in port sometimes I simply have no time left in the day to work on it. But you just try to get back into a useful mode once you get back in port.

What sorts of things do you do in that 10 hours?

I'll check the mailing lists and see what kind of things are being reported or worked on. From there i'll develop as the mood takes me. I committed a lot of JuK bugfixes when I first got back. More recently i've been going through bugs.kde.org and trying to fix some of the more egregrious kdelibs bugs. Of course, those usually take more time.

Why don't you have time when "underway"? What can you say about that?

While underway we typically operate on an 18 hour day.

In other words, you don't have much free time?

Exactly.
Especially since required ship-wide training, drills, and so on must also get done.

Wait, so when you're off the boat, is your time totally your own?

No.

Really?

We still go in to work every day, in a training cycle. Our priority after exchange of command is to help the other crew get underway. After that we have to re-certify various submarine skills to take the boat back once the other crew returns.

So what kind of time off do you get?

In port days the hours are more like 7:30-4:30 or even to 5:30 or 6:30. Plus you stand duty every 4 days or so in my case. Where you don't leave the boat at all that day.

I'm not sure you're selling me on the Navy here.

lol.

What are some good things about it? (You know you want a future as a recruitment guy!)

It's hard work but it can be rewarding. You definitely learn a lot. The pay can be good too if you stick around long enough. (But don't do this for the money, please. ;)

Do you get to look out the window of your sub and see fish?

There are no windows.

Too bad.

I have seen fish through the periscope though (while going to periscope depth).

Have you been attacked by giant squid?

No.

(Just checking.) No portholes? So sad... not even something digital?

One interesting thing about subs is that they operate in the most extreme environment routinely visited by people. The pressure differential underway is much much greater than in space for instance. Nope, no digital stuff either.
Just sonar. Really what would we see though? There's no light that deep.

Wacky glowing fish-type creatures? Vulacnism? But back to KDE... Which section of KDE is underrated and could get more publicity?

I'd say kdesdk, with KCachegrind and the various scripts available to make development easier. I should really make some TechBase articles one of these days about making your life better with kdesdk. A close second would be the kdebindings in general, but I think that's turning around.

What do you think is still badly missing in KDE?

I'm not really sure that we're *badly* missing stuff by this point. I'm still holding out for focus-follows-mind in KWin though. :)

But there are some features that people really want, how come those don't get coded right away? How many core kdelibs devs would you say there are? Enough? ;)

lol.
I'd say about 10-15 or so. There's lots of people who have done work on kdelibs. But I think that is a fairly good figure for active kdelibs developers who work mostly on kdelibs.

I ask because I'm curious why it seems that sometimes only a specific person can seem to develop some highly demanded features.

Because that person is the "guy" who works on that feature. Which really means he's the only one who cares deeply enough about it.

Others could write it and do it well but they don't have the experience of implementing it yet, which would usually take a lot of time to get up to speed on. And when you're dealing with kdelibs you also need to deal with the API design. More to the point, the other kdelibs people are busy doing what they do. ;)
Everyone seems to have too much stuff on their plate.

How many active developers are on JuK? Do you need more?

Well we have 2 active developers, but I typically have little free time, and wheels doesn't really have much more. More help is always appreciated of course.

What motivates you to work on KDE? How do you keep that motivation? (You've been doing KDE stuff for how many years now?)

I've been doing KDE stuff for about 5 years I think. Yikes!
Well, I've always loved programming so in that regard i'm just doing what I like to do. Whenever I felt exhausted though i'll typically just take a break from the internet or coding and go do some other things.

Do you think that free software developers are taken for granted? Users are pretty demanding these days. :)

Well I think for the most part users understand the limitations of the development process and are appreciative of the software they receive.

Some users can be pretty demanding but they've been a sharp minority in my experience. Most users appreciate the work put into making an application even if they don't know themselves how to do it. A lot of that has to do with how open the development process is though, which is why I think the various "Planet" sites are good things.

And what about some of the common Dot flames? Like the people who say that some of our software is a duplication of effort? Or the general "you released KDE4 too early" ones?

We strive to provide a complete desktop. The KDE philosophy has always been that he who codes decides, and that decisions of the project are made on technical merits and not simply buzzword compliance.

About release schedules, I think Aaron Seigo's argument at the time is the right one. Linus Torvalds has made the same point. At some point you have to put your code in the hands of users for more testing. People don't download alpha's, beta's, or release candidates

Because they assume that someone else will, and who wants a buggy desktop? So they let someone else do the testing for them. Which is their perogative.

I think it's easy to say that we should have held off a 4.0 release, but I think we did the right thing in the end. If only because it focused our bug fixing efforts. I think the BugSquad is a great thing. Bugzilla is full of bugs, many of which have not been triaged for years.

Which text editor do you use?

gvim all the way, with some kde-devel.vim action from kdesdk/scripts. ;)

Which distribution do you use? Why?

I use Gentoo as it simply works with a minimal amount of distribution added patches. In addition I don't have to install 40 libraries to install applications which appeals to the obsessive-compulsive in me.

What does your desktop look like?



Always running?
JuK, Kontact, Konqueror, and Konsole with an attached GNU Screen of some sort with 5-6 tabs open. Three of which will have vim on average. And Qt Assistant if i'm coding.

What is KDE's killer app? Why?

I would tend to pick K3b based on its (in my opinion) good usability and for quickly becoming the best-of-breed program of its type on any platform. Konqueror is also a good choice, as it shows what you can do with the KDE libraries available to an application.

Would you complain about its K name? That seems to be the hot new trend.

I wouldn't throw the K in the name anymore just because it's a KDE application. But K3b is quite a distinctive name on its own.

If you were shipwrecked and had to share an island with a KDE contributor who would it be?

I'd say Scott Wheeler. He's a pretty interesting fellow and could at least play music to occupy the time.

What kind of music would he play?

I'd say some electronic slow groove. Or maybe a banjo if we're stuck on an island. :P

If you could be any part of the KDE platform, what would you be? Why?

I'd be KFileMetaInfo... the king of essentially useless knowledge. For some reason, i've always had a knack for remembering little tidbits that are effectively useless trivia.

Have you ever broken KDE SVN trunk?

I don't recall any specific time but after having commit rights for 5+ years I'd be very, very surprised if I hadn't broken trunk at some point.

What's your advice to people who want to get into KDE development-type stuff but don't know where to start?

  1. Figure out if you want to "develop-develop" or if you would be better at non-coding but still important types of tasks. I got my start in KDE doing documentation even though I knew coding at the time. When I decided I wanted to help with JuK the first thing I did was fix the documentation as much as I could, which helped me learn the codebase, that proved useful too.
  2. If you do plan to do coding and you don't know programming, start learning now. You can learn KDE and programming in parallel but you can't start on C++ (or Python, etc.) too soon.
  3. Learn Qt first.
  4. Finally, absorb information. :) You can do this by lurking on mailing lists, by hanging out in IRC development channels, and by reading TechBase. You'll find out there's more you need to know than just programming, but many skills will translate well even to non-programming tasks so it doesn't hurt to learn.

You seem to be reclusive, in terms of meeting fellow developers, is that intentional? Will you go to Akademy this summer?

Due to my current commitments, I tend to not have time for Akademy or any other KDE events. I almost got to go to the KDE 4 release party in California, but that did not work out. To my knowledge no one even lives near me so there we are.

You're also the only one that has met Maksim Orlovich, another known reclusive. What can you tell me about that?

Well at the time I lived near Charleston. I didn't have time to show him the sights, unfortunately. We did manage to eat at a restaurant and talk about some coding stuff (I don't remember what specifically). One of these days i'll get time to work on the thornier kinds of problems like KHTML and kdelibs, and maybe Maksim and I will be able to collaborate again.


Personal Questions

I know you're married, but for how long?

Almost 5 years now.

Tell me about your children. Any pets?

I have one son, Ian.



I also have two cats: Sabrina and Boots.

How old is the kid? He seems to be wearing the geek clothing, what are you doing to turn him into a proper geek?

He's about 18 months old right now. As far as training he loves to bang on my keyboard, especially when I'm using it. :)

I cannot step away without locking the screen. Sometimes i'll lock the screen and let him go to town on the keyboard. That works well in general, but I had to leave myself a TODO note for next kernel compile: disable Magic-SysRq keys. :)

Normally when he gets tired of playing he'll sit on my lap while i'm coding and just watch. Still have some work to do before i'm going to teach him computers though, i've got higher priority items on my list of things for him to learn. ;)

So you made the Navy seem like a lot of work... Do you enjoy it? Would you do it all over again?

It is a lot of work, and I do enjoy it at times. The men I work with will probably be lifelong friends, which i'm not sure you can say about most workplaces. As far as doing it again, I guess it depends. If i'd found a programming job earlier, then I would not have joined the Navy.

Ironically, had a contracting offer from a large corporation who knew of me from my KDE work after i'd already signed up for the Navy.

Surely you will your recruitment officer sad with that answer! :D Would you encourage someone else to do it?

It's been a good deal for me so I can't complain. And it would depend on the someone. Like I said, it is a lot of work so it's not for most people. If you like being the smartest one in the room the job is not for you. =D

Interesting. So full of smart people.

Oh yes. Especially in the sub fleet, but I'm biased. ;)

Do you do much in the way of Linux advocacy? Do your family members all use Linux now?

I don't do a lot of advocacy, simply because not many people in my family use computers much. However, my sister had a $200 PC purchased for her so she uses Linux now, which I was interested to hear. So price was driving Linux advocacy for my sister. *laughs*

And your wife? Surely she uses linux?

She is a happy Linux user.

What is your favorite submarine movie? What is the silliest that you've seen?

Das Boot is a classic, for many good reasons. One of my favorites though, is Down Periscope (with Kelsey Grammer).

What is the silliest one that you've seen?

Probably one called Sub Down IIRC.
It was just completely dumb. I think it had a "reactor" the size of a 5-gallon drum, with plastic tubes coming out of it. And for some reason the Commanding Officer was the only one knew who knew how to fix it. It was a horrible movie, but the whole crew was laughing so in that regard it was a good movie night. ;)

How does your family cope with your KDE work? How do you balance time between family, being away under the sea for long periods of time, and KDE? That's got to be pretty hard...

Well, it is.
My wife and I try to plan to do things together as much as we can in the time I have. Luckily we live near a pool and park for instance so we'll often take Ian there.



Even when I'm on the computer I get pulled away at a moment's notice. ;)
They get first dibs on my time.

How would you describe yourself?

I'd say someone who has exceeded the rather pessimistic expectations I had of myself 10 years ago. I just hope to improve as much over the next 10 and beyond.

To what extent is your outlook towards life reflected in your free software activites?

Not much. My outlook on life is fairly pessimistic I think but I don't let that affect what i'm doing. Although sometimes it leads to rants on my weblog.

You don't seem that negative!

It depends on the time of year but I don't like to complain about stuff for no reason either so unless I can fix it or offer a suggestion i'll generally just not mention it.

What book are you reading? What's one of your favorite books? Genres?

The book I've been reading most recently is Joel on Software by Joel Spolsky. One of my favorite books would probably be Cuckoo's Egg, by Cliff Stoll. I also really like How Much for Just the Planet?, by John M. Ford, which is probably one of the funniest novelsiI've ever read, in spite of the fact that it's a Star Trek book. As far as genres, I like non-fiction the most, in addition I have a big collection of old Star Trek books I got from an uncle, most of which are pretty good.

I do read all kinds. ;) ...programming books, followed by World War II histories and a few sub books. I even have some non-fiction crime stories.

Who or what in your life would you say influenced you most?

I'd say probably my dad, in a lot of ways. For "what influenced", probably the Navy.

What about developers? Who in KDE-land has inspired you and helped you start out? Is there anyone surprising?

Scott Wheeler is obvious. Chris Lee (clee) helped me out a lot at first as well. Really i've gotten help from lots and lots of developers at some point or other.

What is the best birthday present you could receive?

I'd say a babysitter so that my wife and I can watch a movie. :)

So what movie? :D

Depends on what's out. Ideally something with Jackie Chan. Any martial arts is good but in Jackie Chan's best movies he's just hilarious, which I admire.

How old were you when you first started coding?

I *think* I was 8 when I got my Apple IIc+ (which I still have somewhere). And I could type in programs from books from the library. I didn't end up really coding until a high school class.

How close do you feel you are to people you've met via KDE, given that you've only met one of them face-to-face?

I'm good friends with a lot of people i've met online, but I don't know how close you are to someone you know only over email and IRC. I get along great with Maksim, but it's also not like we call each other on the phone: IRC is much more efficient. However, I am looking forward to meeting up with more developers in the future.

This is silly, but I'll ask: Richard Stallman or Linus Torvalds?

I'd assemble FOSS-TRON out of them both and destroy all opposition.
But RMS and Linus are both huge pillars of the Free and Open Source communities.
So the combination of the two would be highly formidable.

And more seriously, you need both kinds.

If you were to get a free-software-inspired tattoo, what would it be of?

I'd find a clever program written in Piet and get it tattooed in.

When you sleep, do you ever have dreams about KDE? If so, can you describe them?

I don't dream often, but I have dreamed about JuK bugs before. Sadly the dream never ended in an epiphany about what to do. I just dreamed that I was debugging JuK, and as soon as i'd figure something out the dream would reboot. Very weird.

How does a dream reboot?

It starts over from the beginning. ;) I don't even remember the bug. There may have been no bug. There was only me running JuK in gdb, over and over and over.

Do you find yourself trying to solve bugs as go about your daily life?

Yes. Not during anything in particular, just when I have free time.

What would you do more of if you had the time?

Obviously if I got more time my wife and son would probably get the lion's share. ;)

What do you see from your window?

What do you get passionate about?

Simple improvements that have a large impact. Like when GCC added visibility support and KDE picked it up and got it working.

And non-codewise? :D

Not too much. I'm a fan of tennis, football, and video games. Big fan of Civilization-type games as well.

And which wins out?

Usually KDE wins out but sometimes i'll take a siesta from the PC and just relax.

So what are some of your favorite video games? Classic and modern. What was the first system you played?

First system I ever played was NES.
Favorite classic? Definitely Super NES. Super NES had Super Metroid, Zelda: A Link to the Past, Final Fantasy 4 and 6, the Mega Man series, and Super Mario World 1 & 2.

As far as modern goes, I only have Wii right now due to the large backlog of games I have yet to beat. But i'd probably grab PS3 next.

What is your favorite place in the world? Do you like traveling? I hope you at least like traveling underwater.

I didn't like it as much when I was younger, but I can't think of many places i've been that are as nice as my family's farm in western Pennsylvania. I'm not a big fan of traveling at all. Traveling underwater is ok though.

Football or hockey?

Football football or soccer football?

You tell me. :D

Football (American)
Although I do like both soccer and hockey. Just not as much.

Your favorite drink?

Boat water. Our distilled water is the best water i've ever had, bar none. Starbucks Mocha frappuchino that you can buy at the stores is a close second, but i'm trying to wean myself off.

Do you do alcohol?

Nope.

Do you drink tea? or has that stereotype of kde people gone away?

I drink tea.
Sweetened and iced though.
So I haven't needed to use kteatimer yet.

How about other KDE stereotypes: music: metal or classical?

Either one. I'm not a big fan of either but I there's songs from both types that I like.

What is the stereotypical KDE person these days? Is there one?

Nope. We've had all kinds, even back before KDE 3.

What's your .sig?

I have none, but I always type in "- Regards,\n Michael Pyne"