The last 10 posts tagged personal are shown here. You can find a list of all posts tagged personal here or subscribe to the RSS feed or Atom feed to be notified of future posts.

This is a personal blog, so all posts are personal in some way and would deserve this tag, but I try to limit it to posts which are more about the world interacting with me than they are about my interactions with the world.

The categorisation can be a bit arbitrary as its a rather personal decision…

Newbie contributor: A decade later

a cow calf and her mother standing around in a beautiful landscape
Image by ilyessuti on pixabay

Time flies. On this day, 10 years ago, a certain someone sent in his first contribution to Debian in Debbugs#433007: --dry-run can mark a package manually installed (in real life). What follows is me babbling randomly about what lead to and happened after that first patch.

That wasn't my first contribution to open source: I implemented (more like copy-pasted) mercurial support in the VCS plugin in the editor I was using back in 2008: Geany – I am pretty sure my code is completely replaced by now, I just remain being named in THANKS, which is very nice considering I am not a user anymore. My contributions to apt were coded in vim(-nox) already.

It was the first time I put my patch under public scrutiny through – my contribution to geanyvc was by private mail to the plugin maintainer – and not by just anyone but by the venerable masters operating in a mailing list called deity@

I had started looking into apt code earlier and had even written some patches for me without actually believing that I would go as far as handing them in. Some got in anyhow later, like the first commit with my name dated May the 7th allowing codenames to be used in pinning which dates manpage changes as being written on the 4th. So then I really started with apt is lost to history by now, but today (a decade ago) I got serious: I joined IRC, the mailing list and commented the bugreport mentioned above. I even pushed my branch of random things I had done to apt to launchpad (which back then was hosting the bzr repository).

The response was overwhelming. The bugreport has no indication of it, but Michael jumped at me. I realized only later that he was the only remaining active team member in the C++ parts. Julian was mostly busy with Python at the time and Christian turned out to be Mr. L18n with duties all around Debian. The old guard had left as well as the old-old guard before them.

I got quickly entangled in everything. Michael made sure I got invited by Canonical to UDS-L in November of 2009 – 6 months after saying hi. I still can't really believe that 21y old me made his first-ever fly across the ocean to Dallas, Texas (USA) because some people on the internet invited him over. So there was I, standing in front of the airport with the slow realisation that while I had been busy being scared about the fly, the week and everything I never really had worried about how to get from the airport to the hotel. An inner monologue started: "You got this, you just need the name of the hotel and look for a taxi. You wrote the name down right? No? Okay, you can remember the name anyhow, right? Just say it and … why are you so silent? Say it! … Goddammit, you are …" – "David?" was interrupting my inner voice. Of all people in the world, I happened to meet Michael for the first time right in front of the airport. "Just as planned you meany inner voice", I was kidding myself after getting in a taxi with a few more people.

I meet so many people over the following days! It was kinda scary, very taxing for an introvert but also 100% fun. I also meet the project that would turn me from promising newbie contributor to APT developer via Google Summer of Code 2010: MultiArch. There was a session about it and this time around it should really happen. I was sitting in the back, hiding but listening closely. Thankfully nobody had called me out as I was scared: I can't remember who it was, but someone said that in dpkg MultiArch could be added in two weeks. Nobody had to say it, for me it was clear that this meant APT would be the blocker as that most definitely would not happen in two weeks. Not even months. More like years if at all. What was I to do? Cut my looses and run? Na, sunk cost fallacy be damned. I hadn't lost anything, I had learned and enjoyed plenty of things granted to me by supercow and that seemed like a good opportunity to give back.

But there was so much to do. The cache had to grow dynamically (remember "mmap ran out of room" and feel old), commandline interfaces needed to be adapted, the resolver… oh my god, the resolver! And to top it all of APT had no tests to speak of. So after the UDS I started tackling them all: My weekly reports for GSoC2010 provide a glimpse into the abyss but before and after lots happened still. Many of the decisions I made back then are still powering APT. The shell scripting framework I wrote to be able to perform some automatic testing of apt as I got quickly tired of manual testing consists as of today of 255 scripts run not only by me but many CI services including autopkgtest. It probably prevented me from introducing thousands of regressions over the years. Even through it grew into kind of a monster (2000+ lines of posix shellscript providing the test framework alone), can be a bit slow (it can take more than the default 30min on salsa; for me locally it is about 3 minutes) and it has a strange function naming convention (all lowercase no separator: e.g. insertinstalledpackage). Nobody said you can't make mistakes.

And I made them all: First bug caused by me. First regression with complains hitting d-devel. First security bug. It was always scary. It still is, especially as simple probability kicks in and the numbers increase combined with seemingly more hate generated on the internet: The last security bug had people identify me as purposefully malicious. All my contributions should be removed – reading that made me smile.

Lots and lots of things happened since my first patch. git tells me that 174+ people contributed to APT over the years. The top 5 of contributors of all time (as of today) list:

  • 2904 commits by Michael Vogt (active mostly as wizard)
  • 2647 commits by David Kalnischkies (active)
  • 1304 commits by Arch Librarian (all retired, see note)
  • 1008 commits by Julian Andres Klode (active)
  • 641 commits by Christian Perrier (retired)

Note that "Arch Librarian" isn't a person, but a conversion artefact: Development started in 1998 in CVS which was later converted to arch (which eventually turned into bzr) and this CVS→arch conversion preserved the names of the initial team as CVS call signs in the commit messages only. Many of them belong hence to Jason Gunthorpe (jgg). Christians commits meanwhile are often times imports of po files for others, but there is still lots of work involved with this so that spot is well earned even if nowadays with git we have the possibility of attributing the translator not only in the changelog but also as author in the commit.

There is a huge gap after the top 5 with runner up Matt Zimmerman with 116 counted commits (but some Arch Librarian commits are his, too). And that gap for me to claim the throne isn't that small either, but I am working on it… 😉 I have also put enough distance between me and Julian that it will still take a while for him to catch up even if he is trying hard at the moment.

The next decade will be interesting: Various changes are queuing up in the master branch for a major break in ABI and API and a bunch of new stuff is still in the pipeline or on the drawing board. Some of these things I patched in all these years ago never made it into apt so far: I intend to change that this decade – you are supposed to have read this in "to the moon" style and erupt in a mighty cheer now so that you can't hear the following – time permitting, as so far this is all talk on my part.

The last year(s) had me not contribute as much as I would have liked due to – pardon my french – crazy shit I will hopefully be able to leave behind this (or at least next) year. I hadn't thought it would show that drastically in the stats, but looking back it is kinda obvious:

  • In year 2009 David made 167 commits
  • In year 2010 David made 395 commits
  • In year 2011 David made 378 commits
  • In year 2012 David made 274 commits
  • In year 2013 David made 161 commits
  • In year 2014 David made 352 commits
  • In year 2015 David made 333 commits
  • In year 2016 David made 381 commits
  • In year 2017 David made 110 commits
  • In year 2018 David made 78 commits
  • In year 2019 David made 18 commits so far

Lets make that number great again this year as I finally applied and got approved as DD in 2016 (I didn't want to apply earlier) and decreasing contributions (completely unrelated but still) since then aren't a proper response! 😉

Also: I enjoyed the many UDSes, the DebConfs and other events I got to participate in in the last decade and hope there are many more yet to come!

tl;dr: Looking back at the last decade made me realize that a) I seem to have a high luck stat, b) too few people contribute to apt given that I remain the newest team member and c) I love working on apt for all the things which happened due to it. If only I could do that full-time like I did as part of summer of code…

P.S.: The series APT for … will return next week with a post I had promised months ago.

Winning the Google Open Source Lottery

lottery ticket with some boxes ticked and a few euros alongside it
Image by jackmac34 on pixabay

I don't know about you, but I frequently get mails announcing that I was picked as the lucky winner of a lottery, compensation program or simply as "business associate". Obvious Spam of course, that never happens in reality. Just like my personal "favorite" at the moment: Mails notifying me of inheritance from a previously (more or less) unknown relative. Its just that this is what has happend basically a few weeks ago in reality to me (over the phone through) – and I am still dealing with the bureaucracy required of teaching everyone that I had absolutely no contact in the last two decades with the person for which I am supposed to be one of the legal successors now, regardless of how close the family relation is on paper… but that might be the topic of another day.

On the 1st March a mail titled "Google Open Source Peer Bonus Program" looked at first as if it would fall into this lottery spam class. It didn't exactly help that the mail was multipart HTML and text, but the text really only the text, not mentioning the embedded links used in the HTML part. It even included a prominent and obvious red flag: "Please fill out the form". 20% Bayes score didn't come from nothing. Still, for better or worse the words "Open Source" made it unlikely to be spam similar to how the word PGP indicates authenticity. So it happened, another spam message became true for me. I wonder which one will be next…

You have probably figured out by now that I didn't know that program before. Kinda embarrassing for a previous Google Summer of Code student (GSoC is run by the same office), but the idea behind it is simple: Google employees can nominate contributors to open source stuff for a small monetary "thank you!" gift card. Earlier this week winners for this round were announced – 52 contributors including yours truly. You might be surprised, but the rational given behind my name is APT (I got a private mail with the full rational from my "patron", just in case you wonder if at least I would know more).

It is funny how a guy who was taken aback by the prospect of needing a package manager like YaST to use Linux contributed just months later the first patch to apt and has roughly 8 years later amassed more than 2400 commits. It's birthday season in my family with e.g. mine just a few days ago, so its seems natural that apt has its own birthday today just as if it would be part of my family: 19th years this little bundle of bugs joy is now! In more sober moments I wonder sometimes how apt and I would have turned out if we hadn't meet. Would apt have met someone else? Would I? Given that I am still the newest team member and only recently joined Debian as DD at all…

APT has some strange ways of showing that it loves you: It e.g. helps users compose mails which end in a dilemma to give a recent example. Perhaps you need to be a special kind of crazy1 to consider this good, but as I see it apt has a big enough userbase that regardless of what your patch is doing, someone will like it. That drastically increases the chances that someone will also like it enough to say so in public – offsetting complains from all those who don't like the (effects of the) patch which are omnipresent. And twice in a blue moon some of those will even step forward and thank you explicitly. Not that it would be necessary, but it is nice anyhow. So, thanks for the love supercow, Google & apt users! 🙂

Or in other words: APT might very well be one of the most friendly (package manager related) project to contribute to as the language-specific managers have smaller userbases and hence a smaller chance of having someone liking your work (in public)… so contribute a patch or two and be loved, too! 💖

Disclaimer: I get no bonus for posting this nor are any other strings attached. Birthdays are just a good time to reflect. In terms of what I do with my new found riches (in case I really receive them – I haven't yet so that could still be an elaborate scam…): APT is a very humble program, but even it is thinking about moving away from a dev-box with less than 4 GB of RAM and no SSD, so it is happily accepting the gift and expects me to upgrade sooner now. What kind of precedence this sets for the two decades milestone next year? If APT isn't obsolete by then… We will see.


  1. which even ended up topping Hacker News around New Year's Eve… who would have thought that apt and reproducibility bugs are top news ;) 

Hello world!

The Internet is strange. It is full of websites and some even include lists. Lists full of talks for example like this one: https://summit.debconf.org/debconf15/all/

This APT has Super Cow Powers

DebConf15 talk on 2015-08-18 at 18:00 until 19:00 in Heidelberg/Germany:
Package management is a solved problem. Everyone knows how it works, nothing ever changes and there are enormous teams maintaining the tools involved which many people use and complain about everyday. In short: Fun is to be had elsewhere - or is it?
Confessions of an apt developer about the past, present and future of APT, the super cow powers in it and why you might want to care.

Don't worry, this post is really a Déjà-vu. In fact, it's even the fourth incarnation so by now it is a tradition – and traditions are good to reinstantiate old things like this blog¹. [Good boy, is it really four years later already… lets see if I can drop a few lines a bit more often here again now.]

This time around its the fault of "the stranger" through, as he proposed this himself (based on the fact that Michael did it last year, so its only fair if I do it now…).

This is the second Debconf for me now, after DebConf13 in Swiss, so I kinda know the drill now and it isn't a far away travel, but I am still near heart attack scared of what is ahead as this will be my first public talk in front of a big audience and as its gone be recorded I will be able to watch my mistakes on stage for all of eternity. 😉

Double exciting even as I signed up for DebCamp as well, so my DebConf experience will actually start tomorrow already. Tomorrow. weeeehh! See you there I hope. 😄

¹ Not actually this blog. The domain kalnischkies.de is new (more like 2 years old already, but I took my time to use it for what I wanted it for – to word it positively), but takes over the content of my old blog on Wordpress. This page is built with ikiwiki btw – much better. 🙂

Update: LWN covered the talk in an article and the video team provides a recording of my talk.

Hello world!

The Internet is strange. It is full of websites and some even include lists. Lists full of videos for example like this one: http://meetings-archive.debian.net/pub/debian-meetings/2011/debconf11/low/

Don't worry, this post is really a Déjà-vu. In fact, it's even the third incarnation

This stranger gets quite a bit of publicity it seems…

I mean, you are coming back from an exhausting offline week with 11 of "your kids" (>= 15 years; + 2 more "caregiver") involving walking 140 km in week and now that you can't move anyway anymore you want to relax a bit and watch the recordings (thanks video team btw!) of DebConf11 and you start with the loveliest sounding one - at least if you were GSoC 2010 student implementing Multiarch in APT - Multiarch in Debian: 6 months (or 6 years) on expecting a nice talk, some progress report, maybe some answers for questions and all that stuff and out of a sudden Steve drops your name…… three times in a single talk!

I am evaluating now solutions to the problem of becoming popular, so prepare to be impeached for mentioning my name in any kind of media in the future. I'm Batman! Shhh!. Every time such things happen it's harder for me to keep my beloved 'IANAD{D,M}' badge… how do you think my 'I am not responsible for this' claim will work without it…

More seriously through, I will go now and hunt down all my old school teachers and all the other people who where unable to pronounce my name after what felt like a trillion times of 'it's easy, just say "Day-vid Kahl-nisch-kies"'-remarks and show them a video of a non-native German speaker who is able to do it (mostly) correctly without this hint and straight from his memory!

But in the end, I am the last one who is able to complain about names as I have an inborn brain-defect which renders me unable to remember any name longer than a split-second… 😉

P.S. from 2015: This post was never published. It was only written and saved to a draft folder to be reviewed after I had a bit of time to recover… but I never went back to publish it, so now 4 years later…

Merry package management days!

There are times that everyone seems to be interested in package management and usually we call this time "Christmas". A single person gets the job of sending every child in the world more or less at the same time one or more presents - that sounds completely impossible. You know, there are even pseudo scientific studies that Chris Kringle would melt instantly in the try to travel fast enough… Yet alone, the production of all these presents at a single place hidden from the rest of the world. But is it really unrealistic? Linux has a marketshare under 1% and is therefore perfectly hidden for the majority of people. Debian provides more than 30.000 packages - more than any single person will ever need and such a number is by far not easy. Many people are working on this, still, there is a single team responsible for the final shipment: The release team, unbelievable that this works out… the release team has only a single advantage: Debian has no predefined release day - Debian releases then ready. 🙂

Anyway I am losing track, I want to say something completely different: I am personally not a big fan of this kind of "package management". I mean, why do we need special days to exchange gifts? Don't get me wrong, I love these days with the family and friends, but I am very happy that my family erased this strange requirement to get something for everyone as this generates only stress and even a whole new market-segment after Christmas which is happily served by eBay and co… (given that they even show ads regarding this each year after Christmas).

So, in conclusion, have fun with your family! (And be sure to trust your package management, you know that there is only one ;))

P.S.: These days are the cause for my inactivity in any serious APT business but I will (hopefully) be back 2011, just in case you wonder…

Hello world!

website screenshot showing an excerpt of an interview with me

The Internet is strange. It is full of websites and some even include lists. Lists full of questions for example like the one shown above.

Don't worry, this post is really a Déjà-vu. My (now well known) stranger from across the street was interviewed by Raphaël Hertzog and reacted in a for him very typical fashion:

Would you accept to be interviewed?

My very first reaction was: Are you sure you wrote to the right person? Obviously, its unlikely that you mean somebody else with that name… But still: Interviewing me?

This internet thingy is really strange. Good that I am away now for the weekend with "my" kids (without internet of course), so I can relax a bit and be shocked again next week… "great" (at the time you read this, the interview or both, I am already away, so I can't link to it now, will include a link later)

But let me answer the question you very likely have on your lips: No, i am not sunburnt. The picture shows me in Italy (you might remember: ROMA 2010) so it could be cause of exposure to sun, but in reality the picture is very blue-tinted because of a bus-window between me and the camera (You don't trust me?), so this complexion is gimp'ed. As you can see, I am not a pro… but the other picture options would be even worse.

Its interesting, I was told already months ago that it was hard to find in the massive ROMA collection a picture depicting me. That caused a serious headache for my fellows trying to create a presentation with entertaining pictures to show at a revival without showing someone too often -- or too few in my case. I laughed after I was told it was so hard. You know, this horrible evil laugh nobody wants to listen to… And now I was hit by the very same problem… self-owned.

picture of me sleeping on a long train ride The only other option (expect of groupphotos maybe) can be seen on the left. If we would ask my kids, they would say that this picture shows all I did on the seventeen hours travel - and that's properly the truth. 🙂 Still, not very useful from an interview point of view.

So on the weekend now one of my goals will be to get some usable pictures. Who knows then the next website on the internet wants to show a picture of me together with my name…

But one interview is enough for now. It's not that it is bad to be interviewed, Raphael did a great job after all as I am not an easy client, but talking isn't one of my hobbies, even if its written talk (which isn't in conflict with writing a lot as you can see and as my kids can tell you).

So, and now enough of boring chit-chat. If you have additional questions, just ask.

Nothing to see here. Move along!

Ah, no, it's not that bad. It's just that nothing too exiting happened the last week(s). Okay, GSoC ended, I got my shirt, semester started, I created a new gpg key, my university annoyed me to death with the introduction of TuCaN('t), a great UDS happened, lots of talking, the DPL signed my new key while Michael can't, people nag me even harder to become DM eventually, I have still not started a key-transition, fixed a bunch of bugs, reading over the list of open bugs to close a few, started to work on some very funky very secret features in a not-yet pushed apt-next branch, my university annoyed me even more, exercises I have to do (but don't want) accumulate, working in various degrees on some young-group leader tasks, emails floating in and being answered maybe and all that stuff…

So, I am not death (jeppy!) just currently not motivated to write anything on my digital toilet walls - but if you want to change it, feel free to flattr me! (SCNR - but reading these kind of threads can be really interesting - and no, I don't have a flattr account, but I am not on the planet either :))

Anyway, you now know that everything is fine with and for me (mostly) , so no need to stand around here! Move along and fix a bug (or two) - or find another useful thing to do - instead! I guess we will read us soon again. 🙂

Week 15: live on a razor-edge

In Germany we have an idiom: "Gestern standen wir am Abgrund, heute sind wir einen Schritt weiter" (Yesterday we lived on a razor-edge, today we made a step forward). Another one is: "Lache und sei froh, es könnte schlimmer sein. Und ich lachte und war froh, und es kam schlimmer." (Laugh and smile, as it could be worse. And I laughed and smiled and it got worse.) Just to name a few: I still have a bit of a cold, my travel on Monday back home from university was delayed 2 hours and my first draft of this blogpost was eaten on Monday by wordpress site… A few other annoyances are solved by now, so its getting a bit better, for example: I am back on the gsoc-student-list after I was dropped approximately in early august for unknown reasons.

On the coding front, I fixed a few bugs, including serious or dumb or both, but nothing really noteworthy, even if some reporters have a different view obviously. They even asked for publishing the bug details on the debian.org frontpage as a big announcement…

In general I need to confess, I am a bit demotivated currently. I need to do a lot of (boring and dumb) university stuff including studying for an exam and finishing of bachelor project stuff (writing insane documentation mostly). This leads to something I haven't experienced much until now: I really care for weekends. Normally, I don't have a special favor for weekends as I don't dislike the weekdays in-between, but now… I currently have each weekend a nice action plan completely different to the weekday. On Friday I played a bit chaperon on a 18th birthday party in our fresh and cleaned up basement - its strange how different you can behave if you are "just" four or more years older. 😉 And its not just me, a fellow ROMA attendee invited all others to their new home. She is the same age as me (just half a year older or so) and ahmm, a bit shocked what was required to make a clean sweep after the evening…

Before that I was riding my bike a bit on Sunday or in other words Erbach to Marienthal and back which are around 25km in total. I guess I should have done it with a bit more preparation as my bike wasn't the best after being mothballed for more than a year, but okay, it was planed differently anyway.

So, as you can see, no really interesting stuff, especially not gsoc related in any way, so I really should come up with an interesting new schedule and title master plan. Lets see what happens after the last exam next week…

Week 11: Roma 2010

My GSoC sticker with washed out letters after a demanding week of ROMA 2010

As said, last week I was away with "my kids" - 21 + three more advisor + myself. Long travel - ~15 hours - in a special train for all 1000 participations from the diocese Limburg, to finally meet ~55.000 people on the Saint Peter's Square. A cool week full of program and fun but also quite demanding…

I am feeling like my backpack sticker below right now fighting against an enormous backlog, watching some debconf material and trying to speed up again on APT bugfixing. See you hopefully refreshed next week 🙂

Hello world!

Excerpt from the list of accepted student proposals for GSoC 2010 with my name included

The Internet is strange. It is full of websites and some even include lists. Lists full of names for example like this one shown above.

And my name is included. My name included on such a long list. My name included on the (long) list of accepted students for GSoC 2010.

I have looked for a while now at that list on my laptop screen. I see my name. I have read my name. Others have told me that my name is written there.

I know that I should be happy now. I am chosen! Just, it doesn't feel like this. It is more like as I read that an unknown stranger from across the street was accepted. Good for him, but it doesn't touch me much, as I am not him…

I was in the same situation a week ago. I had posted a little introduction to soc-coordination and was a few hours later a bit shocked by the responses this email generated and instantly thought: "Do they really mean me?"

And while thinking about it I am lately in this situation quite often. The first time was definitely at the time Michael has spotted my apt branch on launchpad. A short while after that my name was the first time included in the apt changelog. After a few more contributions an invitation to the UDS-L and the upcoming UDS-M followed. And now the whole "Google Summer of Code"-thing…

I hope for this stranger that he hasn't opened Pandora's box by applying for an APT project at Debian as APT needs a lot of love in general and he received quite a bit of premature praise already so he will have a hard time to fulfill all expectations in the upcoming weeks… I at least wish him good luck!

I guess I will need a few hours days to realize that the stranger from across the street is actually me, so try to be kind to me in the next days and help me as much as you can with my first task: "Community bounding" 🙂

( I will follow-up with a better introduction of me and my proposal - I just needed to write this down before… )