Strange Crew is a company owned and operated by Noah Roberts, a software and systems engineer with 25 years experience. I am located in WA State, USA – part of the “Pacific Northwest”. I specialize in development that leverages Linux as either a primary component or just an operating environment. I have specialized expertise in targeting this environment for C++ and/or Python development for a number of purposes including as a general service platform or research platform for neuroscientists. I have experience working under and helping design policies and proceedures for development in regulated industries such as ISO 13485/62304.

See the About page for more on me and my experience, the Showcase page for information on past clients and personal projects. The rest is my blog.

If you wish to talk to me about engineering, consulting, or training services please reach out by email: contact@strange-crew.dev

Recent posts


Guix/Nix Reproducible Environments

Distinct patterns for reproducibility

Guix and Nix use very different patterns for ensuring your build environments are exactly reproduced. Both systems use the concept of a “channel” that contains the Nix or Scheme code for its packages and services. When you ask the nix/guix package manager to install something it uses its list of channels at the versions it has checked out. So the same code could produce different environments on the same system if they don’t have the same set of channels and the same versions of those channels checked out. Updating your system involves updating your channels and then asking your system to check and build updates. When guix forked from Nix one of the things they addressed was this and so they have a time-machine you can use to create the exact version of guix used to build the original environment, which then will build that original environment. Nix doesn’t have a way of dealing with this unless you use the experimental flakes feature, which instead describes the channel dependencies and package build together. This means that with guix, if you want reproducible builds, you’ll be using at least two scheme files while in Nix it could all be in just one.

[Read more]

Winter Break

During December of last year I had some time to devote to my own company’s projects. I have a couple different ones brewing in my head that are actually rather large and difficult to narrow down. One big hard part to ideation is getting to the essential parts so you can actually create an acheivable plan. These projects are actually pretty tightly bound together, or at least could be. Those projects are:

[Read more]