Reading List
The most recent articles from a list of feeds I subscribe to.
TinyPilot: Month 42
New here?
Hi, I’m Michael. I’m a software developer and the founder of TinyPilot, an independent computer hardware company. I started the company in 2020, and it now earns $80-100k/month in revenue and employs six other people.
Every month, I publish a retrospective like this one to share how things are going with my business and my professional life overall.
Highlights
- I think about how I can do a better job delegating product decisions and documentation.
- I compare my experience learning Nix to learning Zig.
Goal grades
At the start of each month, I declare what I’d like to accomplish. Here’s how I did against those goals:
Use a Nix Flake without Adding it to Git
When I work in my own repositories these days, I always add a Nix flake to the repo so that I can spin up a working development environment on any system with a single command.
What do I do when I’m working in someone else’s repo and they don’t want to adopt Nix flakes?
Normally, I’d just add the file to my copy of the repo and gitignore it locally so I don’t commit my personally-specific files with the rest of my changes.
Using Zig to Unit Test a C Application
Zig is a new, independently developed low-level programming language. It’s a modern reimagining of C that attempts to retain C’s performance while embracing improvements from the last 30 years of tooling and language design.
Zig makes calling into C code easier than any other language I’ve used. Zig also treats unit testing as a first-class feature, which the C language certainly does not.
These two properties of Zig create an interesting opportunity: Zig allows you to add unit tests to existing C code. You can do this without rewriting any of your C code or build logic.
Using Zig to Call C Code: Strings
Zig is a new, open-source programming language designed to replace C. I’m still a Zig beginner, so I’m trying to learn the language by using Zig to rewrite parts of existing C applications.
One of the first challenges I encountered with Zig is understanding strings. I couldn’t find detailed documentation about how Zig strings work when calling C code, so I’m sharing my findings in case they’re helpful to others who want to use Zig to call C.
TinyPilot: Month 41
New here?
Hi, I’m Michael. I’m a software developer and the founder of TinyPilot, an independent computer hardware company. I started the company in 2020, and it now earns $80-100k/month in revenue and employs six other people.
Every month, I publish a retrospective like this one to share how things are going with my business and my professional life overall.
Highlights
- I had a surprising amount of difficulty offering one-day shipping options.
- I attended the Handmade Seattle conference.
- I experimented with Zig and an open-source AI chatbot.
Goal grades
At the start of each month, I declare what I’d like to accomplish. Here’s how I did against those goals: