Epistemic Status: wilted flower Wilting

I haven’t updated this in a while, and I think other pages have started to take over some of the role of this one, e.g. My Programming Path. I might clean it up and revive it later, or it may end up removed.


While I don’t try to “keep up” with the bleeding edge of technology, there are some projects that excite me, some of them are new and some of them have been around for a while.

This is a short list at the moment, and definitely not exhaustive.

Systems Tools

  • Nix and NixOS — Nix is a tool that takes a unique approach to package management and system configuration, in order to make reproducible1, declarative and reliable systems. NixOS is a Linux distribution built on the Nix package manager.

Programming Languages

  • Rust — “A language empowering everyone to build reliable and efficient software.”2
  • Elixir — After not looking at this for a long time, I’m giving it a more serious look now. Mostly because a bunch of companies I’ve been looking at have been using it to great effect. There’s no one solution to a problem, so there’s no one programming language that will solve all problems, but it’s another one in the toolkit.
  • Unison — “A friendly programming language from the future: statically-typed, functional, and a lot of fun.” There are some really interesting ideas here, and I think they deserve more consideration. Around things like what we mean by source code.
  • WebAssembly — “Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.”. Web assembly’s potential use as a “safe” application plugin is something I want to explore more.
  • Smalltalk — It’s old but it has lots of good ideas that I think we should revisit with a modern eye.

Footnotes

  1. Apparently there is some contention around the term “reproducible”, so I’m now somewhat reluctant to use it despite Nix itself using it up until September 2, 2023. I don’t think restricting it to only mean bit-by-bit identical to be that useful, but my goals are different than the author of that post. This post was written before that, so I’m leaving it as it was when I wrote it.

  2. To be honest, I think I’m falling out of love with Rust, and I’ll have to explain why.