This page contains random thoughts and impressions by me.

  1. 2020-07-02

    • Christian Kruse

      Software I miss for the Linux desktop:

      • a power user mail client like MailMate
      • a good graphical Git client like Tower
      • a software like Soulver or Numi (yes, I know about NaSC , but the project is Elementary-only project and seems dead)
      • a todo management software working and syncing between the desktop and my iPhone
      19:48
  2. 2020-06-25

    • Christian Kruse

      TIL: there is an aggregate function mode() WITHIN GROUP (ORDER BY sort_expression) in PostgreSQL. It returns the most frequent value of a group. So, for example when you have this table:

      CREATE TABLE foo (id serial, user_id integer, task_id integer);

      You can get the most frequent task ID for each user ID by using this aggregate function:

      SELECT user_id, mode() WITHIN GROUP (ORDER BY task_id)
      FROM foo
      GROUP BY user_id;
      05:15
  3. 2020-06-16

  4. 2020-06-11

    • Christian Kruse

      While I don’t need it (and thus don’t buy it): the PineTab is a pretty interesting device.

      05:29
  5. 2020-06-10

    • Christian Kruse

      I’m hurt again. A torn muscle fiber. At least 4 weeks no running 😭💩

      16:11
  6. 2020-06-09

    • Christian Kruse

      In reply to https://wwwtech.de/notes/479

      I’m seriously considering to switch again to a different distribution. Maybe back to Arch or something like that.

      19:21
    • Christian Kruse

      I get why Canonical hypes Snaps that much. But seriously, why do they have to be so fucking slow to start? A simple application I already use for ages, Hexchat, now takes more than 20 seconds to start. It feels like being back on spinning disks again, and worse, even slower.

      19:18
  7. 2020-06-03

  8. 2020-06-01

  9. 2020-05-31

  10. 2020-05-29

  11. 2020-05-27

  12. 2020-05-26

    • Christian Kruse

      Today’s training: 2km warm-up, six 1500m intervals at 03:45 min/km and 400m rest at 04:30-05:00 min/km, 4km cool down. Purpose of this training: practise to metabolize lactate.

      I love these long intervals 😍

      17:39
    • Christian Kruse

      Call me immature, but I actually enjoy Shera. I just started watching season 5.

      12:13
    • Christian Kruse

      Oh, the Microformats2 parsing specification has been updated. Guess I have something to do for the next few evenings.

      12:03
  13. 2020-05-24

  14. 2020-04-26

    • Christian Kruse

      I’ve been running 78km this week. After my injury last year I never thought I would get this far again. I’m more than satisfied with this progress 😁 while I can’t run the competitions I was planning to run I aim for a 3 hours marathon next year (I just assume that running competitions are possible next year again).

      I just love running. 💖

      17:45
  15. 2020-04-23

    • Christian Kruse

      Seems like the bathing season has begun… I walked along a local bathing lake on during the dog walk. There were at least 20 cars parking. That‘s ridiculous… global pandemic my ass.

      15:08
  16. 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?

      18:59
  17. 2020-01-28

    • Christian Kruse

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

      06:39
  18. 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

      12:00
    • Christian Kruse

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

      06:46
  19. 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.

      09:55
  20. 2019-11-15

    • Christian Kruse

      A repost of https://maffulli.net/2019/10/17/why-richard-stallman-doesnt-matter/

      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.

      09:08
  21. 2019-11-10

  22. 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.

      07:17
  23. 2019-11-02

    • Christian Kruse

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

      11:34
  24. 2019-10-30

  25. 2019-10-06

    • Christian Kruse

      A repost of https://williamyaoh.com/posts/2019-10-05-you-are-already-smart-enough.html

      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.

      14:12
  26. 2019-09-19

  27. 2019-08-26

  28. 2019-07-02

  29. 2019-06-24

  30. 2019-06-14

  31. 2019-05-27

  32. 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")
      end

      This works thanks to pattern matching 😍

      12:53
  33. 2019-05-19

  34. 2019-05-17

  35. 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! 👍

      06:26
  36. 2018-09-19

  37. 2018-09-12

    • Christian Kruse

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

      19:25
  38. 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) {}
      foo(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.

      09:23
  39. 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!

      05:24
  40. 2018-08-23

  41. 2018-08-15

  42. 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.

      Enjoy!

      14:29