What software engineers bring to AI-assisted software development LLMs don’t mean the end of software engineering as a profession.
Why tech companies encourage their software engineers to use LLMs It's not news that many tech companies are encouraging or even requiring use of LLM coding tools like Claude Code. While reading Sean Goedecke's post about bad code at big companies, it occurred to me that tech companies are happy to have their software engineers use …
Streamlining my user-level CLAUDE.md This post follows up on my post about getting good results from Claude Code. I've recently streamlined my ~/.claude/CLAUDE.md based on: * Informal observations about what Claude does and doesn't do well * A desire to avoid conflicting with principles that seem to be built into …
Getting Good Results from Claude Code: Writing Good Prompts Key to getting good results from Claude Code (and similar LLM programming tools) is writing good prompts. This is one area where your own programming expertise comes into play; you need to use it to provide guidance to the LLM and nudge it in the right direction. Good prompts are …
Give your LLM Coding Tools Their Own Tools Model Context Protocol (MCP) allows LLMs to call "tools" that can do anything: interact with your filesystem, search the Web, hit an external API, or even help guide the LLM through a structured problem-solving process. A single MCP server provides one or more tools; for example, a research …
Getting Good Results from Claude Code An updated version of my user-level CLAUDE.md is featured in this post from December 2, 2025. I've been experimenting with LLM programming agents over the past few months. Claude Code has become my favorite. It is not without issues, but it's allowed me to write …
How to move Docker's data directory from /var/lib I recently had to move Docker's data directory on my home NAS (from the root filesystem to the storage array). I found some incomplete and inconsistent information on the Web about how to do this, so for future reference here's the process I used to do …
RIP: SaveTabs Chrome Extension GitHub - cdzombak/SaveTabs: Chrome extension to save all the tabs in your current window to a bookmarks folderChrome extension to save all the tabs in your current window to a bookmarks folder - cdzombak/SaveTabsGitHubcdzombak
RIP: OpenList Chrome Extension GitHub - cdzombak/OpenList: Chrome extension to open a list of URLs or search terms in new tabsChrome extension to open a list of URLs or search terms in new tabs - cdzombak/OpenListGitHubcdzombak
Considerations for a long-running Raspberry Pi Keeping a Raspberry Pi online and working with zero intervention for weeks, months, or years is somewhat of an art form. Several classes of things can go wrong, and you need to consider how your Pi will recover from each of them.
Stop using the Raspberry Pi's SD card for swap Using your Pi's SD card for swap space will, in time, kill the SD card.
Remote logging for easier Raspberry Pi debugging When something does go wrong, having collected logs somewhere other than your Raspberry Pi's SD card is very helpful.
Raspberry Pi SD cards: fsck them often If your Raspberry Pi is not using a read-only filesystem, I recommend setting the Pi to run a filesystem check on its root filesystem at every boot.
Mitigating hardware/firmware/driver instability on the Raspberry Pi Sometimes, through no fault of your own, something deep down will cause your Raspberry Pi to crash. Hard.
Maintaining a solid WiFi connection on Raspberry Pi The first issue you're likely to hit with a long-running Pi, particularly with a Raspberry Pi Zero, is the Pi dropping off your WiFi network for no apparent reason after days or just hours of operation.
Keep your software up and running on the Raspberry Pi This post reviews some of the options for keeping a systemd-managed service running persistently on a Raspberry Pi, or really any other Linux system.
Disable or remove unneeded services and software to help keep your Raspberry Pi online On long-running, single-purpose Raspberry Pis, I like to disable and/or remove some scheduled tasks, services, and other software. This may help with a few different reliability concerns.
Consider the risks before making any dramatic changes to your Raspberry Pi setup In my blog posts about making long-running Raspberry Pis more reliable, I've suggested a number of changes. Some of these are pretty large, dramatic changes; others are tiny and unremarkable. With any intervention, it's important to consider the risks involved and weigh them against your personal r…
Choosing the right SD card for your Pi There are thousands of dirt-cheap, no-name microSD cards available. Don't use them.
Fixing excessive Pi-hole lighttpd access log size when Netdata is installed Part of the Raspberry Pi Reliability series. Not running out of disk space is an important aspect of keeping tiny Linux machines with limited storage and RAM running reliably for extended time periods. On most Raspberry Pis and similar devices, I keep /var/log in RAM, either with a straightforward …
A complete table of Nikon 1 system battery compatibility It took me a while to get this data together, so I thought it might be useful for other camera hoarders collectors: Nikon 1 Camera Model Battery Type Compatible Charger V1 EN-EL15 MH-25 J1 EN-EL20 MH-27 J2 EN-EL20 MH-27 S1 EN-EL20 MH-27 V2 EN-EL21 MH-28 J3 EN-EL20 MH-27 S2 EN-EL22 …