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 …
PiKVM Build Part of the Project Logs series. For the past few years, every once in a while I'd search something like "IP KVM," look at the prices, and remember why I always quickly abandoned this search. Until sometime earlier this year, that is, when I stumbled across …
Expanding the Ubiquiti Cloud Key Gen 2+ with a 3.5” Hard Drive Part of the Project Logs series. This post walks through my successful expansion of Ubiquiti’s Cloud Key Gen2+ to use a 3.5” hard drive instead of a 2.5” drive. Motivation In January 2021, I upgraded my Cloud Key to a 5TB hard drive, which is the maximum …
Thermal Camera Photos of Wemos D1 Mini ESP8266 Board I'm not 100% sure how accurate the displayed temperatures are for the ESP8266 module itself, since using my inexpensive thermal camera I need to set emissivity manually, and the emissivity of the PCB material is substantially different from that of the main chip's metal case. This …
HTTPS Requests with a Small Set of Root Certificates on ESP8266 + Arduino Part of the Getting Started with ESP8266 + Arduino series. In yesterday's post, I walked through best practices for making secure HTTPS connections using a root certificate store on ESP8266 with Arduino. In that example, I used Mozilla's full list of trusted root certificates for my certificate …
HTTPS Requests with a Root Certificate Store on ESP8266 + Arduino Part of the Getting Started with ESP8266 + Arduino series. As part of my exploration of the basics of the ESP8266/Arduino/PlatformIO development experience, I wanted to learn how to make HTTPS requests. I figured this would be more challenging than using Golang on a Raspberry Pi, for example, because …
Shipping Data to InfluxDB using Arduino + ESP8266 Part of the Getting Started with ESP8266 + Arduino series. While learning to write applications for the ESP8266/Arduino platform, I wanted to make sure I could post data from the microcontroller to my home InfluxDB instance. The result of this is the influxdb branch of my esp8266-basic-wifi repository on GitHub. …
Initial Impressions of ESP8266 + Arduino Part of the Getting Started with ESP8266 + Arduino series. I've spent some time over the last few weeks toying with Arduino development on the ESP8266 platform, using PlatformIO and Wemos D1 Mini boards. The result is this GitHub repository with some simple Arduino + ESP8266 demos; and in this …
Environmental Data Logging to InfluxDB using BME280/AM2301 Sensors on Raspberry Pi Part of the Home Energy and Environment Monitoring series. I've deployed a couple sensors outdoors to log temperature, humidity, and atmospheric pressure data to InfluxDB. This is partly because I'd like to keep a history of temperature/humitidy/pressure (weather forecasts are easy to find and …
Log your Ecobee data in InfluxDB with ecobee_influx_connector Part of the Home Energy and Environment Monitoring series. Earlier this year, I wrote ecobee_influx_connector, which logs your home's temperature/humidity readings and HVAC equipment runtime to InfluxDB using the Ecobee API. Thanks to Andy Blyler, there's an easy-to-deploy Docker image available too! The …
Working around the “Untrusted Developer” bug on iOS 15 Part of the iOS 15 Bugs series. One of the must infuriating bugs, for me, on iOS 15 is that I can't run my own software on my phone. I can install my app via Xcode, but running it presents this dialog, and crucially nowhere in Settings can …
Reusing an ESP8266HTTPClient Part of the Getting Started with ESP8266 + Arduino series. In my ESP8266/Arduino/PlatformIO HTTPS demo project, I make two consecutive HTTPS requests, to different sites, from the same function. You can see the code in question here. I'm doing this work using the ESP8266HTTPClient library, which is …
How to enable debug logging for Arduino's ESP8266HTTPClient with PlatformIO Part of the Getting Started with ESP8266 + Arduino series. While working on my ESP8266 Arduino HTTPS demo project, I wanted to enable debug logging from the HTTP client. It took me a few minutes to figure out, likely due to my lack of experience with this platform & toolchain (Arduino, …
ESP8266 + PlatformIO Serial Console Monitoring with Exception Decoding Part of the Getting Started with ESP8266 + Arduino series. As part of my efforts to debug a crash during an ISR on ESP8266, using the PlatformIO toolchain, I had to figure out how to get the PlatformIO device monitor tool to decode stack traces printed to the serial console. For …
Debugging an Intermittent Arduino/ESP8266 ISR Crash Part of the Getting Started with ESP8266 + Arduino series. I've been playing with Wemos D1 Mini ESP8266 boards lately, in preparation for some upcoming project ideas, and just because learning new things is fun. I have some ideas for a series of blog posts about these boards; debugging …