This page contains random thoughts and impressions by me.

  1. 2020-03-26

    • Christian Kruse

      I have to admit: I’m bored. Due to the „stay at home“ policy and most of the things being closed I need a new side project. Something which gives me the opportunity to learn Rust would be nice. Has anybody a good idea?

  2. 2020-01-28

    • Christian Kruse

      You know this day will be great if it begins with a compiler bug 🎉

  3. 2020-01-24

    • Christian Kruse

      It’s fascinating to see how Intel has one PR desaster after the other and still manages to earn record high revenues

    • Christian Kruse

      Note to myself: UPDATE tbl SET foo = fun(id) in a trigger is a bad idea 😜

  4. 2020-01-14

    • Christian Kruse

      TIL: in Emacs you can persist the helm-rg result list with M-b. This opens a persistent buffer with the list of search results.

  5. 2019-11-15

    • Christian Kruse

      A repost of

      Too many people have joined the chorus of cacophonous conversations online about booting Richard Stallman from the free software movement. They claim that his social behavior has prevented more people from joining. There are conspiracy theories claiming a hit job by an evil corp. The point that everybody misses is that Stallman’s views on software don’t matter anymore.

      A very interesting article about how the views of the FSF and Stallman completely ignore the essential problems in IT and society in current day and age.

  6. 2019-11-10

  7. 2019-11-05

    • Christian Kruse

      Whoever thought it would be a good idea to use email as a second factor should be punished. And whoever thought it would be a good idea to use email as a second factor and let the code be only valid for five minutes should be punished even more.

  8. 2019-11-02

    • Christian Kruse

      Halfway to the second exercise for the chest and I am already feeling sore 😂

  9. 2019-10-30

  10. 2019-10-06

    • Christian Kruse

      A repost of

      Whether you’re coming to Haskell from another language, or if you’re interested in writing programs that, y’know, actually do things, participating in the Haskell community can feel like you’re a second class citizen. […] If you’ve already learned another language, you can learn Haskell. And even if you haven’t, learning Haskell is no harder than learning any other programming language.

      My experience when learning Haskell was that it is a really hard language to learn. A lot of very foreign concepts with a lot of foreign words.

      But in hindsight it wasn’t that hard; the documentation I tried to learn with was just not very good.

  11. 2019-09-19

  12. 2019-08-26

  13. 2019-07-02

  14. 2019-06-24

  15. 2019-06-14

  16. 2019-05-27

  17. 2019-05-24

    • Christian Kruse

      Today I learned: you can specify a binding position in an Ecto query via parameter:

      def apply_some_filter(query, binding_position, field_name) do
        from([{rel, binding_position}] in query, where: field(rel, ^field_name) == "foo")

      This works thanks to pattern matching 😍

  18. 2019-05-19

  19. 2019-05-17

  20. 2019-04-27

    • Christian Kruse

      It’s fascinating to see how Rammstein still manages to create controversy and attention, even though they are in the business that long. First there „Deutschland“ video, where a lot of mainstream media weren’t able to see the criticism on German history and called fascism. And now „Radio,“ a homage to the German band „Kraftwerk,“ a nostalgic view back on DDR history and, again, criticism on German history. And again all media is reporting.

      Well done, Rammstein! 👍

  21. 2018-09-19

  22. 2018-09-12

    • Christian Kruse

      Public service announcement: Math.max(…[]) returns -Infinity - took me about an hour of debugging to locate this problem.

  23. 2018-09-11

    • Christian Kruse

      Currently I am working on a TypeScript project. During this project I wanted to give the TypeScript compiler the hint that I expect a class object as a parameter. I couldn’t find something in the documentation. But since you can use expressions as type declaration I tried to use typeof:

      class Bar {}
      function foo(val: typeof Bar) {}

      Surprisingly this works. Now after I knew what I had to look for I could find a hint in the documentation as well:

      Next, we then use the class directly. Here we create a new variable called greeterMaker. This variable will hold the class itself, or said another way its constructor function. Here we use typeof Greeter, that is “give me the type of the Greeter class itself” rather than the instance type.

      Maybe this saves you a few headaches.

  24. 2018-09-10

    • Christian Kruse

      Over the weekend my good friend Jeena was visiting me. We had a lot of fun and tons of interesting talks. It was a pleasure, Jeena!

  25. 2018-08-23

  26. 2018-08-15

  27. 2018-08-12

    • Christian Kruse

      EmacsCast: A journey into Emacs is a podcast of a programmer diving into Emacs. While I didn’t listen to it, yet, I thought I should share it because there is not very much Emacs content out there. In the first episode he introduces hilself and explains why he, as a SublimeText user, dives into Emacs.


    • Christian Kruse

      After a pause of 14 days it is surprisingly easy to get back into running. 17,8km in 01:21:33, 04:35 per km 🏃

  28. 2018-08-11

  29. 2018-08-10

  30. 2018-05-14

    • Christian Kruse

      It’s one of those days where I want to throw away ten years old code and just rewrite it…

  31. 2018-05-02

  32. 2018-04-15

    • Christian Kruse

      Quick tip: use gsettings set org.gnome.desktop.interface show-battery-percentage true to show the battery percentage.

  33. 2018-04-14

  34. 2018-04-12

  35. 2018-03-18

  36. 2018-02-24

    • Christian Kruse

      I hate running in the winter. The first 15 minutes it‘s fucking cold. Then up until about 10km its warm enough. Then for the rest of the run it is cold again. ❄️

  37. 2018-02-15

    • Christian Kruse

      I have started to work with React during the last few months. I have to say, I am really impressed how well everything works and how easy it is to create good, working UIs with it.

  38. 2018-02-10

    • Christian Kruse

      I understand now why so many users hate Windows 10… doing some support for relatives, fuck, this is unbearable. Windows seems to get worse every release.

  39. 2018-02-09

    • Christian Kruse

      Current status: BEAMing due to working with Erlang and Elixir (get it? Get it? BEAMing!)

  40. 2018-02-03

  41. 2018-01-29