CK knows Wayne

Things You Should Never Do

Published at by Christian Kruse, updated at
Filed under: development, mistakes, software

Last night I was reading an article about the worst mistake in software development: a complete rewrite of the companies flagship software.

I can definitely confirm that it is a really bad idea in general to do a complete rewrite: by personal experience because I for myself did that mistake and by second hand experience - I have several friends struggling with the same problem.

On the other hand it can be a very good idea to cut off old code and replace it by new code: have a look at the openssl/libressl. Another example may be the nginx project, which is able to outperform Apache just because the code base is not that crufted.

I can’t tell you what the right way for your project is, but I thought it might be a good idea to share that link from above. It is an interesting read either way.


Risiko-Abwägung (German)

Published at by Christian Kruse, updated at
Filed under: media




Trouble at the Koolaid Point

Published at by Christian Kruse, updated at
Filed under: feminism, gamergate

I didn’t want to say something to “gamergate” since I’m not even a real gamer, just a casual. But I find it simply horrible what people are able to do, and death threats and harassment should be punished with jail or a very substantial money fine. This has nothing to do with “free speech,” your freedom ends where the freedom of the other begins.

That said I’d like to point you to a very interesting blog post by Seriouspony. It talks about a phenomena called “the kool-aid point”. It describes that in the beginning people who don’t like you or your ideas ignore you and as soon as you get attention they get nasty, because they think that you don’t deserve this and because they want to get some kind of revenge.

I can totally confirm that theory. I made similar experiences (although not that hard, I never got death treats but I’ve been doxed and harassed).

This is serious, people. It’s not less serious because you do it on the internet. It is even more serious, because people can still read it after years.


Lena Reinhard: This is bigger than us: Building a future for Open Source

Published at by Christian Kruse, updated at
Filed under: development, foss, open source

Diversity is the default. If it’s not diverse, it’s broken.


PostgreSQL full text search is good enough

Published at by Christian Kruse, updated at
Filed under: postgresql

LostProperty wrote a nice blog post about the PostgreSQL full text search in which they state that for most use cases it is “good enough”. It gives a nice overview about the capabilities of the PostgreSQL full text search, you should read it if you are new to this field.


Emacs: more convenient unique buffer names

Published at by Christian Kruse, updated at
Filed under: emacs

In Emacs each buffer has a unique name. For file buffers the name is derived from the file name, so for example a buffer associated with the file README is named README. This is fine as long as you don’t open files with the same name. To ensure the uniqueness of the buffer name Emacs will append a number to the buffer name, for example README<1>.

This makes it somewhat hard to distinguish file buffers. Gladly there is a solution for that: Uniquify. This module lets you choose a different variant to generate unique buffer names: directories. It will use parts of the directory to make the buffer name unique, for example cforum/README instead of README.

I configured it to append the directory parts to the buffer name instead of prepending it, in this way the name is still the most prominent info:

(require 'uniquify)
(setq uniquify-buffer-name-style
      uniquify-separator ":")


Bug necromancers

Published at by Christian Kruse, updated at
Filed under: bug, out of date

The last two weeks I got two mails about bug reports that I submitted or participated in in 2004. The first one is a feature request for Kate, an text editor for KDE. I requested to be able to fold by the often-used VIm and Emacs folding markers, as Kate invented their own. This finally has been implemented now 10 years after requesting it. Yay!

The second one is a bug report for Firefox. For documents coded in ISO-8859-1 Firefox sent (I don’t know if this is stil the case, as today in the age of Unicode and UTF-8 it is a no-issue for me) text entered by the user in a weird mixture of Unicode escape sequences and Windows-1252 coded text, despite the accept-charset attribute. This clearly is silly as you won’t be able to reliably reconstruct the text a user enters. This bug has been marked as “WONTFIX”. Hm, would be interesting to check what today’s behaviour is, but on the other hand… just use UTF-8, NN4 and IE<6 aren’t around anymore. This bug report has been around for ten years as well.

I’m really amused that now, after 10 years, they’ve been closed, one even with a fix ;)


Pendulum wave demonstration

Published at by Christian Kruse, updated at
Filed under: pendulum, physics

A very impressive demonstration of pendulums:

Nothing new but impressive nonetheless.


"Fast, secure, safe: the web that can still be" by Chris Morgan

Published at by Christian Kruse, updated at
Filed under: programming, rust

As a fan of strong and statically typed languages I’ve been enjoying a talk about web programming with strong, statically typed languages:

Hope you will enjoy it, too!


ErgoDox: after the re-learning

Published at by Christian Kruse, updated at
Filed under: ergodox, ergonomic, keyboard

Recently (well, kind of) I've been building an ErgoDox keyboard. It was the cheaper choice between an Maltron or Kinesis keyboard and since it is open (in the sense of open source) it also is the ethically better choice.

I've been touch typing in my own, self-made, grown 8 fingers system, which I learned by doing and never thought about it. To avoid RSI problems induced by this system I also switched to the Dvorak keyboard layout. So I had to completely re-learn typing and learn touch typing.

The first days were extremly frustrating. I went could turkey and I felt as if I was a rookie again. I had to re-learn especially keyboard shortcuts the hard way (by typing the wrong ones again and again). My productivity was at an all-time low, I barely managed to get a line of code written. Very soon it was obvious to me that this is not the way I would've been successful.

Thus I switched to a different learning strategy: I've been using the ErgoDox for an hour per day. After a few days I've been using it two hours a day, then three, then four and so on. This approach was much more promising, it wasn't so hard to sit through and I noticed real progress. And tadaa! Today was the first day where I've been using the ErgoDox the whole day and I didn't feel as if I've been driving with brakes.

Regarding my RSI (or something like that) symptons: I have to say, it seems to help. The last few days (except the weekend) my hands didn't hurt at all or just hurt a bit at the end of the working day. I don't know if it is the Dvorak keyboard layout or the ErgoDox or both, but I'm very happy and very relieved that it's helping!