I have a few toy utility apps that I run 24/7 on cloud infrastructure. One example is PicoShare, a simple web app that makes it easy for me to share files with friends and teammates. There are several convenience apps I would run if it were easy to run them constantly. But there’s enough friction to running even a simple app 24/7 that I don’t do it. In the past, I’ve tried running toy apps on my home server.| mtlynch.io
Recently, when I’m having trouble sleeping, I look for software to fuzz test. Earlier this week, I thought back to Fady Othman’s post “Meta Bug Bounty — Fuzzing ’netconsd’ for fun and profit.” It’s a good tutorial about fuzzing code exhaustively. Like most fuzzing blog posts, I found the work a bit difficult to reproduce because it requires the reader to figure out how to replicate the author’s environment and toolchain.| mtlynch.io
Fuzz testing is a technique for automatically uncovering bugs in software. The problem is that it’s a pain to set up. Read any fuzz testing tutorial, and the first task is an hour of building tools from source and chasing down dependencies upon dependencies. I recently found that Nix eliminates a lot of the gruntwork from fuzz testing. I created a Nix configuration that kicks off a fuzz testing workflow with a single command. The only dependencies are Nix and git.| mtlynch.io
Highlights My wife and I became parents. I realized that caring for a newborn takes more time than I expected. I’m unsure what to do with my partially-finished Hacker News course. Goal Grades At the start of each month, I declare what I’d like to accomplish. Here’s how I did against those goals: Finish recording my course Result: Baby arrived early, and I only recorded 20% of the material. Grade: N/A Recording the course took longer than I thought, and the baby arrived a few weeks earli...| Retrospectives on mtlynch.io
Nix is a broad product with a steep learning curve. It’s capable of everything from installing a single package to managing every file and application on your OS. One useful thing you can do with Nix, even as a complete beginner, is manage your dev environments. Nix lets me have multiple projects on the same system that each have their own independent view of what dependencies are available. I can have one legacy project running Python 2.| mtlynch.io
How I chose parts, built, and configured my first custom home storage server.| mtlynch.io