automation
-
🧹 zephyr-snmp v0.1.0 - a huge cleanup!
zephyr-snmp adds SNMP v1 and v2c support to the Zephyr RTOS. It started as a port of the lwIP SNMP code, and along the way I concluded it would be easier to maintain if it went fully Zephyr-native: Zephyr code style, Zephyr APIs, etc. What …
-
🧩 From PCB change to mechanical model in one script
KiCad and FreeCAD both expose command-line and Python interfaces, so a PCB change can flow into the mechanical assembly with a single script.
-
🔌 API + CLI + Skills = the Future of AI Agents
DHH’s recent post offers a glimpse into the future: “So while we keep cooking on actually-useful native AI features in Basecamp, we’re launching a fully agent-accessible version today. We’ve revamped our API, created a brand-new CLI, and w…
-
👥 The release is a language everyone understands
A release is a good way for developers to communicate with everyone else: What got done What changed How to use or build the latest version Where to get support or provide feedback A regular cadence for communication A standard format ever…
-
🔀 What is the difference between MVP and Release First?
MVP (Minimum Viable Product) is a concept from Eric Ries’ Lean Startup methodology. The idea is to build the smallest possible version of a product that lets you test a hypothesis with real users. Instead of spending months building a full-…
-
☝️ What do we mean by "First"?
What do we mean by Release “First”? Several things: First in the timeline of development. First thing we focus on during implementation. First priority. Simply put, implement the Big Green Button before implementing the actual deliverable…
-
🟢 What is in the Big Green Button?
As previously stated, the Big Green Button enables teams to quickly and confidently release. But what is the Big Green Button? Several things come to mind: Automation that translates code/design/docs/models into assets others can use. Auto…
-
🟢 The Big Green Button
The word “release” can be a noun (what gets released) or a verb (the process of producing a release). “What” and “How”. Many teams produce complete high-quality releases that allow them to produce or deploy something at some point in time. …
-
🔮 Can we predict product development schedules?
Estimating or predicting product development is difficult. Teams often end up adding a 2-3x padding to any estimate, because bitter experience has taught them not to depend on their own estimates. There will always be a high degree of varia…
-
🚀 How to make releases painless
In the olden days, releases were a lot of work. The process involved manually building/testing, uploading to a distribution location, sending out notifications to interested parties, etc. Supporting multiple platforms meant even more work. …
-
🎬 Is a Demo the same as a Release?
Some development teams have a weekly demo where they might show what they are working on to others in the company or the customer, which is a great idea as it encourages hitting milestones and early feedback. However, is the “demo” just ano…
-
⏱️ How do you find time for higher value tasks?
Do you (and by extension your organization) find yourself mired in minutia and struggling to find time for higher value tasks? What is the solution? You can hire more people to do the lower-value stuff (a perfectly valid approach). You can …
-
🤝 A release is what unifies Engineering and Business
Some feedback on yesterday’s post (What is a release): What specifically flows into the two points? Value? Effort? Perhaps a better way to phrase this is these are the two points of focus that unify the development team with the rest of t…
-
🔄 Platform Thinking is a habit
Platform Thinking in the context of product development has many parallels to effective habits in personal life. With personal exercise, healthy eating, getting enough sleep, and reading good books - these are difficult to start, but easy o…
-
📦 CDPD - Container Driven Product Development
When updating the Simple IoT documentation, the question arose - how to install mdbook and a few plugins? Of course pacman has part of what is needed. In the past cargo has been used, but that is slow and not a good fit for shared tools. Th…
-
🚀 RDPD - Release Driven Product Development
Yesterday we talked about Test-Driven Product Development. Release-driven product development is another perspective. Build the release/deployment mechanism before implementing the design. Automate as much of the release as possible. This …
-
🧪 TDPD - Test Driven Product Development
We’re familiar with TDD (test-driven development) in the software world. Basically the idea is to create unit tests before implementing a feature. What if we extend this to systems, hardware, and even mechanical? Write end-to-end system te…
-
🚀 The BIG Release vs. 🌊 a Continuous flow of Value
How do we look at a product release? As a big one-time event, where we spend heroic efforts to pull it over the finish line? Or as a continuous flow of high-quality value into the product (even before the customer ever sees it) that is main…
-
🤝 The benefits of sharing
I wrote my first Claude plugin that packages up some commands that I use in about every project I work on. This plugin allows me to have these commands globally so I don’t have to keep copying them from project to project. Although the comm…
-
🛠️ The new Artisan Age
We live in a world of powerful tools. Milwaukee battery-powered hand tools, high-end PCB design suites, cloud platforms, open-source tools, etc. And while these tools get us a good way toward the goal, they do not do everything. Additionall…
-
🔓 You should not be needed
An effective process, team, or organization should be able to continue on if any individual steps away for a bit, or forever. But, most people are insecure and like to be needed, so subconsciously structure things to require them to be pres…
-
🚧 Three things that hinder product development
Not using new tech when applicable. Doing the same work over and over again instead of automating. Lack of collaboration.
-
⚖️ Technical debt compounds with you doing nothing
Technical debt is like any other kind of debt – it accrues when nothing is done. This is perhaps the most insidious aspect of debt. How does technical debt work? Mainly that software (and technology in general) moves on (especially OSS), an…
-
🌀 Complex systems are hard to predict
My wife makes sourdough, which is a multi-day process and at times unpredictable. Recently, the current batch was a little sluggish and not expanding like it should, so she “fed” it and left it on the counter. It took off during the night a…
-
📊 Simple data formats + powerful tools scale
There is an ongoing shift in data analysis tools. Another example is datavzrd. datavzrd is a zero/low-code, interactive, visual, server-free, browser-based reporting tool for tabular datasets. The paper makes an interesting statement: Most…
-
📚 Documentation never has to go out of date again
AI is really good at updating documentation after implementation. While I strongly advocate writing the documentation to drive AI, inevitably, the implementation takes some unanticipated turns, so making sure everything is in sync after imp…
-
💰 Ways to reduce your AI costs
AI is not free, as there are significant costs associated with training and hosting modern AI models. Some ideas on how to reduce costs with tools like Claude Code: If you do something that is somewhat repetitive, have AI generate scripts …
-
🔄 AI and documentation - close the loop
Starting with good documentation is often a better way to use AI. However, you can also close the loop and have AI update the documentation when it is finished. It can fill in details, clean things up, etc. This closes the loop. Then repeat…
-
✨ Anyone can write scripts now
With Claude Code (and likely many other AI technologies), anyone can write scripts now. Instead of writing in a technical language like Python or Bash, you can now write a sequence of commands with some rules in plain English, and Claude tr…
-
🤖 How I use Claude Code to help publish this blog
I have been using Claude Code to help with the following tasks on this blog: proofread (including detecting passive voice) add tags add an emoji to the title These are not rocket science, but they also take time and are something AI does …
-
🎉 200 posts
This marks the 201st post I’ve sent – 2/3’s of the way through the 300 bad posts. How is it going? I still enjoy the process and the thinking it brings. However, it is getting a little bit more difficult recently to keep the discipline, esp…
-
🌿 A natural way to get more testing/automation
One thing I’ve noticed is when I release more frequently, I tend to automate. If releases only happen once every year, it is easy to neglect automation, CI/CD, etc. Automated tests are not needed as it is just quicker to manually test every…
-
🤏 Handling the small details
We’ve discussed the necessity to fulfill your small commitments as a stepping stone for fulfilling larger commitments. We can expand this thinking – handling the small details well enables you to focus on bigger things. In product developme…
-
🧩 The three legs of YOUR Platform
Automation – start with a checklist. Collaboration – #1 rule is don’t view email as a permanent place to store information. Process – the habits of your organization.
-
🔧 envsetup.sh -- a very useful automation technique
During a Android development stint, I learned about the envsetup.sh concept. This is a script that contains numerous functions get populated in a shell envrionment when the script is sourced. There two ways to source the file – you can type…
-
✅ What is the simplest form of automation?
The simplest form of automation is a checklist or playbook. If there is something you need to do more than a couple times that involves multiple steps, a checklist is a great place to start. Then we no longer have to dread doing a multi-ste…