24 July 2026 by Phillip JohnstonI have always liked to have a make help target for my projects, which provided a target/command list and description. Normally, I managed this with a bunch of echo statements that printed it out to screen. I asked Claude to implement this for one of my projects, and I was Continue reading "Adding a Makefile help Target" The post Adding a Makefile help Target…
21 July 2026 by Phillip JohnstonOne of the more maddening parts about the widespread adoption of AI tools, for me, is the inescapability of AI writing. I see it in comments, posts, and newsletters. I even see my colleagues using it in their published articles. I agree with Zvi Mowshowitz on the problems with AI Continue reading "On AI Writing" The post On AI Writing appeared first on Embedded…
14 July 2026 by Phillip JohnstonI have a problem with the we re safe due to Jevons paradox, it ll increase demand for software argument that I m increasingly seeing. You see, Jevons paradox is the claim about the quantity of a resource consumed, its returns and distributions to labor are not the subject. Coal consumption can rise Continue reading "Jevons Paradox Shouldn t Comfort You" The post…
15 April 2026 by Phillip JohnstonThis article describes a shift in my development habits. I used to default to mirrored source and test trees, and now I tend to co-locate tests. Below, I cover the structure and the practicalities of organizing a build system to support this choice. Table of Contents: Mirrored Trees Co-location Build Continue reading "Practicalities of Co-locating Tests with Source…
I never end a workday feeling satisfied. This post explores why I think that is and describes a practice of intentionally finding satisfaction to end the workday. The post A Practice: Satisfied on Purpose appeared first on Embedded Artistry .
Elecia White asked what books we'd put on our engineering team's shelves. Here's my answer. The post Embedded Artistry s Essential Engineering Library appeared first on Embedded Artistry .
9 March 2026 by Phillip JohnstonToday, I needed to flash a Yocto image from my Macbook. These are the steps I used mostly this is a note-to-self, but maybe others will find it useful. Installation I installed bmaptool with homebrew, thanks to gallantcrusader s tap: brew tap gallantcrusader/bmaptool brew install bmaptool Finding the Device Run Continue reading "Flashing Yocto Images from MacOS" The…
20 February 2026 by Phillip JohnstonAn insidious C++ error related to my use of auto ended up driving me nuts for hours this week. I was revisiting a driver I wrote, and I noticed that my latest version was giving me consistent bogus readings. I checked an older version, which was providing correct values. I Continue reading "Convenience Gone Wrong: A C++ auto Story" The post Convenience Gone…
10 February 2026 by Phillip Johnston • Last updated 20 February 2026Perfectionism is my greatest obstacle as a creator. It s so evident to me when I look over my library of notes and articles. I count over 1,000 articles, glossary entries, and lessons that are 70–90% complete. So many of them are almost ready Continue reading "Battling Perfectionism in Creation" The post Battling Perfectionism in…
This article describes a git push option and a configuration setting that will push submodule commits along with the main repo. The post Pushing Git Submodule Commits Automatically appeared first on Embedded Artistry .
29 January 2026 by Phillip JohnstonBurnout has kept me away from several different projects for years, as my file timestamps frequently remind me. It s a good reminder that bit rot is a real thing my code didn t change, but the tools and the runtime environment did. This has been important from both a breaking Continue reading "Monorepo Tooling Update: Signed Commit Support in Git 2.52" The post…
28 January 2026 by Phillip JohnstonSometimes this comes as a question, other times it s just the default way that people approach consulting or contracting work. Here s one form, though many others are possible: Quote I have an opportunity to do some contract development work, and the client is ok with me doing the work Continue reading "The After-Hours Consulting Trap" The post The After-Hours…
26 January 2026 by Phillip JohnstonBurnout has kept me away from several different projects for years. I ve forgotten completely about some problems, the tools have changed underneath me, or both. In any case, I m looking at my monorepo setup with fresh eyes. I noticed several things that bother me: Setup takes a while, with a Continue reading "Configuring Git Remotes: Fetch Only One Branch and No…
5 December 2025 by Phillip JohnstonStarting again after burnout is tricky business. As I said there, and as I will say many times, I fear secondary burnout and need to find ways to navigate work in a healthy way. I have been collecting a lot of my thoughts on that topic, but they currently still Continue reading "What I ve Been Up To (20251205)" The post What I ve Been Up To (20251205) appeared…
3 November 2025 by Phillip JohnstonI have been dealing with burnout for several years now. And I mean real burnout not I m exhausted and need a vacation , but something I can only describe as a state of mental and physical collapse, of the body enforcing rest by saying no more and meaning it completely. Continue reading "Life After Burnout" The post Life After Burnout appeared first on Embedded…
13 October 2025 by Phillip JohnstonWhile reading Lorin Hochstein s post Caveat promptor, I was struck with realization. With the increasing use of AI tools applied to the programming process, software teams are largely automating away the parts of the job they actually enjoy and getting stuck doing more of what they don t like. What I Continue reading "Automating Away the Fun Parts" The post…
Zip files are easy for users, but present some challenges when trying to package and upload zips consistently as part of a CI/CD pipeline. The post Creating Deterministic Zip Files with Git Commit Timestamps appeared first on Embedded Artistry .
25 November 2024 by Phillip JohnstonI m part of a Papers in Systems reading club, which meets monthly to discuss a chosen paper. This month we read the lecture transcript from Donald Schön s 1970 REITH lecture series, session 2: Dynamic Conservatism (pdf). I found this to be a very enjoyable and insightful read, especially as someone who Continue reading "Papers in Systems: Schön on Dynamic…
4 November 2024 by Phillip JohnstonToday we have a guest post from Dave Goldberg. Dave is an embedded software engineer based in Boston, MA. He enjoys problem solving, mentoring junior engineers, and preaching the importance of quality and security. You can find Dave on LinkedIn. In this article we’ll investigate how a particular Wi-Fi connected Continue reading "Reclaim Your Data: Freeing a Wi-Fi…
31 July 2024 by Phillip JohnstonDuring 2022-2023, Embedded Artistry and Memfault teamed up to run a series of embedded-focused discussion panels. These discussion panels were rich with insight and advice for embedded teams. Even if you missed the live broadcasts, we hope you will take time to watch the recordings. Building Embedded Systems at Scale Continue reading "2022-2023 Quarterly Discussion…
15 January 2024 by Kayode AladeToday we have a guest post from Kayode Alade. Kayode is an IoT Solutions Architect with a knack for making things work. He considers himself a perpetual learner, always enthusiastic about acquiring new knowledge, whether from an engineering perspective or a business standpoint. You can find Kayode on GitHub and Continue reading "Exploring Serverless CI/CD for…
5 January 2024 by Phillip Johnston • Last updated 1 February 2024I ran into a situation recently where I wanted to perform a git cherry-pick operation, but I only wanted to pull specific files from the commit. The reasons for this itself aren t so important I just wanted to make a note for myself Continue reading "How to cherry-pick Specific Files from a Commit" The post How to cherry-pick…
1 January 2024 by Phillip JohnstonThe end of one year (or the beginning of the next) is always a great time to check in. In review, 2023 was quite a productive one: Published a total of 123 new items on the website: 26 blog posts, 23 Glossary entries, 42 Field Atlas entries, and 32 lessons Continue reading "2023 in Review" The post 2023 in Review appeared first on Embedded Artistry .
30 November 2023 by Phillip Johnston • Last updated 16 February 2024Embedded Artistry and Memfault are joining forces to host a quarterly embedded discussion panel that is focused on the technical aspects of building embedded systems at scale. We will be featuring guest panel members who are at the cutting edge of embedded development. Our Continue reading "Managing Issues and Improving Products…
8 November 2023 by Phillip JohnstonThis post is mostly a note-to-self, because I ve solved this before but have no notes on it. I also hope that publishing it on my website might save someone a few minutes or hours in the future. Short Summary If your commit history has case-sensitive rename operations and you re mucking Continue reading "Resolving Git Commit History Divergence Due to…
27 October 2023 by Phillip JohnstonThe article that has generated the most angry and aggressive comments over the years, usually via email but also occasionally as comments on places like Hacker News, is -Werror is Not Your Friend. I ve updated that article several times over the past 6 years to address some of the common Continue reading "Responses to the Commentariat on the -Werror Article" The…
20 September 2023 by Phillip Johnston • Last updated 28 September 2023Your toolchain is a useful place to start when incorporating security into your development process. There are several warnings and program augmentations that help harden your application. This article focuses on GCC and Clang, as that s what I primarily use. I m happy to take Continue reading "Leveraging Your Toolchain to…
28 August 2023 by Phillip Johnston • Last updated 21 December 2023Embedded Artistry and Memfault are joining forces to host a quarterly embedded discussion panel that is focused on the technical aspects of building embedded systems at scale. We will be featuring guest panel members who are at the cutting edge of embedded development. Our Continue reading "Best Practices for Safeguarding Your…
12 June 2023 by Phillip JohnstonHere’s a question I answered via email from the From Concept to Launch: What It Takes to Build and Ship a New Device panel discussion. We’re sharing the answer on our blog to make it available to a wider audience. For context, during the discussion, I pointed out that a Continue reading "Q A: How Do You Stay on the Path and Make it to Done ?" The post Q A: How Do…
8 June 2023 by Phillip JohnstonHere’s a question we answered in the Interrupt Slack channel after the From Concept to Launch: What It Takes to Build and Ship a New Device panel discussion. We’re sharing the answer on our blog to make it available to a wider audience. Quote Starting from “I have a Continue reading "Q A: How Many Iterations Do You Recommend for Scaling From a Prototype to Mass…