Weeknote 52/23
12/31/23
This will be a note spanning several weeks, since there hasn’t been much time to write lately. The last weeknote was for week 47, so there is a bit of ground to cover.
- I’m still learning to use my Glove80 keyboard. Turns out it’s not as easy as I thought it’d be.
- I dropped all efforts for using a different key layout, it’s just not worth the time. I will learn to type properly with the German Qwertz layout and that’s it.
- For a long time, I haven’t used any note-taking program and instead used pen and paper. Although I will continue to write my thoughts on paper, I started to use Notion for project planning and note-taking. It’s not perfect, but they have an iPhone App, and it can be used with a browser. I initially wanted to do something more geeky, like Vimwiki or Obsidian, but Notion seems to be the most convenient and mature solution.
- During this month, I solved the first seven days of Advent of Code. I used Golang and uploaded my solutions to GitHub. It was fun, but at times a lot of work, and I learned a lot about Go.
- I decided to stop learning C++ and focus on Rust instead. There are good arguments for learning C++, but also a lot of pain points. My main issues were the cumbersome build system and the state of compilers. C++20 has a module system that looks great on paper, but it’s not fully implemented in most compilers, 3 years later. Memory safety is another thing. I believe C++ is on a good path with its new safety features, but I don’t want to wait another 3-6 years for that to be available in clang. Rust has the great advantage of built-in tooling that just works. I like the pattern matching and how it makes variables immutable by default. It seems to move faster and in a good direction and there is a large community around it. What I really dislike about it is that Rust seems to create a kind of religious fervor in the people using it.
- With my new Rust decision, I will now continue to create little WASM gaming projects in Rust instead of C++ and I’m going to use Bevy for that. I’m currently trying to recreate the snake game for the browser. I already started that with C++ before, where used emscripten and SDL. In Rust it seems a bit harder to get going, because Bevy uses an entity component system which is harder to grasp initially.
- I use roadmap.sh to learn and review Computer Science and Rust concepts.