📚 node [[2023 05 11]]

2023-05-11

  • In [[fighting]], it is often easier to [[move]] around a [[frame]] instead of trying to take the frame off.
  • Thursday, 05/11/2023 ** 18:37 STOP WHAT YOU"RE DOING AND DROP YOUR PHONE ** 22:31 Every time I pick up Rust again I'm radicalized by build times. I should be able to build a package from 0 - including downloading the compiler and its dependencies - off of a fresh git clone with a single command in 1 minute max. It's insane that Rust takes so long and pulls in gigs of information. This just isn't sustainable. My launch software didn't even work on my own system by default, even when using nix, when working in isolation... I'm missing some dynamic linking package that needs to be part of the path.

There are two paths we can take here;

  1. Use Java. The JVM solves our dynamic linking problem. HumbleUI is somewhat promising and I'll likely have access to most of the libraries I need. This code is 'fast enough' - but I'm not sure whether HumbleUI and Clojure desktop apps will have a future in industry at large.
  2. Use Zig. Write code at a low level with a toolchain that's focused on minimal interfaces and performance. Code is small and fast but at the cost of my time. Learning Zig is a huge pro. Supposedly the compiler iterates fast but there is also no package version control. Zig absolutely has a future but I'll have to learn more myself.

Zig is probably the way to go here. It'll take longer to get started, but the toolchain is fast and has a promising future. I'll be able to write very fast code and learn a lot about systems programming in the process. It'll allow me to help build good infrastructure, work with games code to make beautiful desktop apps, and contribute to a fresh ecosystem.

📖 stoas
⥱ context