CK knows Wayne

Facebook laws for idiots

Published at by Christian Kruse, updated at
Filed under: college humor, facebook

I am hereby immune to gonnorhea!


Emacs: run rails test at point

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

Lately I’ve been writing a lot of tests. To shorten the round trip times and for some comfort I wanted to run tests in Emacs: I don’t need to switch to the console and I can simply hit enter on an error message to get to the right file at the right position.

While projectile-rails supports running rake tasks, rake can only run the complete test suite or single test cases, not just a single test. This increases the round trip time too much for me, so Emacs to the rescue! I wrote some elisp to run a single rails test:

(defun get-current-test-name ()
    (let ((pos)
      (re-search-backward "test \"\\([^\"]+\\)\" do")
      (setq test-name (buffer-substring-no-properties (match-beginning 1) (match-end 1)))
      (concat "test_" (replace-regexp-in-string " " "_" test-name)))))

(defun run-test-at-point ()
  (let ((root-dir (projectile-project-root)))
    (compile (format "ruby -Ilib:test -I%s/test %s -n %s" root-dir (expand-file-name (buffer-file-name)) (get-current-test-name)))))

This little snippet runs the test at point, so the test the cursor is currently located in. I bound it to C-cct.


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.