Agentic Driven Development (ADD): AGENTS.md, Skills, and the Full Workflow
How I use AGENTS.md files, agent skills, multi-agent reviews, and GitHub CLI to give AI agents real codebase context.
Software architect writing about open source, observability, agentic development, and home automation.
How I use AGENTS.md files, agent skills, multi-agent reviews, and GitHub CLI to give AI agents real codebase context.
Have you ever waited endlessly for an important package or mail to be delivered? Have you ever dealt with a package being stolen from your mailbox? In this guide I'll show you how to see packages will arrive today and notifications when it's delivered as shown below with the help of Home Assistant ! This guide will also show you how to bring in mail and packages sensors from various different…
Over the last decade there has been some really great software products that have been shut down with little to no warning. This is getting so common that someone created a website called Killed by Google . After Google shutdown Reader in 2013 , I spent months trying to find a replacement. During this research I determined I should try to find solutions to services I use everyday that wouldn't be…
When I first came across the ESPHome project a year or so ago. I thought it was interesting and something that I would use if I was building a smart device from scratch. I thought of all the things I could do, but I didn't really like the idea of all the maintenance I could foresee. ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them…
Create a practical smart home presentation workflow with planning tips, recurring maintenance habits, and choices that keep systems understandable over time.
I'll be giving a talk at North Dallas Developers on Building and maintaining a smart home on August 5, 2020 at 6:30 PM Central Standard Time. Visit the link above to RSVP to the virtual talk. Overview I'll be covering my experiences building and maintaining a smart home. Starting from nothing to having a fully automated house can be overwhelming. We’ll cover many topics like choosing future proof…
Use NFC tags to trigger smart home automations with practical event-action patterns, safeguards, and tuning tips that reduce misfires and improve reliability.
This post is going to cover normalizing all media_player volume levels with Home Assistant and Node-RED . If you haven't already, I'd recommend reading my previous blog post on sending Text-to-Speech notifications which dives a bit deeper on the optional accessibility Subflow this Flow consumes. This automation normalizes all volume levels in my home based on the time of day using the Amazon Alexa…
Build practical Home Assistant and Node-RED text-to-speech notifications with reusable flows, intent cues, and speaker-routing options that improve alerts.
Explore practical smart home accessibility improvements for switches, lights, and automation interfaces so systems stay usable for everyone and every condition.
Learn practical lessons from a decade of remote work, including communication patterns and focus habits that sustained coding velocity across major changes.
Set up Home Assistant on Ubuntu with practical installation steps, service checks, networking basics, and recovery tips for reliable smart home automation.
A practical 2020 Home Assistant upgrade guide comparing hardware choices and tuning options that improve automation reliability, responsiveness, and stability.
Review practical habits for tracking smart home power usage, identifying noisy devices, and applying small adjustments that reduce monthly energy waste.
I've decided to start off 2020 by converting my blog to Hugo and start blogging again! This is my first of many posts on home automation! This post is going to cover generically detecting battery levels with Home Assistant and Node-RED . TLDR: Use the Function node defined in the Node-RED snippet here to properly handle all the edge cases. I decided to share my experiences based on seeing what…
I'll be giving a talk at From BAM-Big Data, Advanced Analytics, Machine Learning Scaling Your Applications and Skill Set on January 15th! Overview Blake will lead a discussion regarding the struggles around starting and using open source projects to build software solutions for customers. Going from having no customers, to doing 3+ billion requests per month in Azure was a sometimes painful…
I'll be giving a talk at Central Wisconsin IT Conference on Exception Driven Development on October 6th! Overview What is "Exception Driven Development"? If customer-facing issues are your top priority, then you already adhere to the primary principle of Exception Driven Development. It's a pretty simple concept: Collect application data, especially regarding errors and crashes, and then focus on…
I'll be giving a talk at Northeast Wisconsin Code Camp on Exception Driven Development on March 24th!! Overview What is "Exception Driven Development"? If customer-facing issues are your top priority, then you already adhere to the primary principle of Exception Driven Development. It's a pretty simple concept: Collect application data, especially regarding errors and crashes, and then focus on…
I'll be giving a talk at Milwaukee Code Camp on Exception Driven Development on November 11, 2017 Overview What is "Exception Driven Development"? If customer-facing issues are your top priority, then you already adhere to the primary principle of Exception Driven Development. It's a pretty simple concept: Collect application data, especially regarding errors and crashes, and then focus on fixing…
I'll be giving a talk at North Dallas .NET User Group on Exception Driven Development on November 11, 2017 Overview What is "Exception Driven Development"? If customer-facing issues are your top priority, then you already adhere to the primary principle of Exception Driven Development. It's a pretty simple concept: Collect application data, especially regarding errors and crashes, and then focus…
I'll be giving a talk at Milwaukee .NET Conference on Exception Driven Development on November 11, 2017 Overview What is "Exception Driven Development"? If customer-facing issues are your top priority, then you already adhere to the primary principle of Exception Driven Development. It's a pretty simple concept: Collect application data, especially regarding errors and crashes, and then focus on…
Compare practical JavaScript IDE choices around editing, debugging, and extension support to choose the environment that fits your daily coding workflow.
Learn why Exceptionless went open source and how to use it for centralized exception tracking, faster diagnostics, and lightweight self-hosted workflows.
Implement GoTo Line in a custom Visual Studio editor with command wiring and UI patterns that speed large-file navigation during debugging and refactoring.
I had spent considerable time trying to open a new document window and then set the document text to the result of the generated template text. I found this to be an almost impossible task and proposed this on the Microsoft Visual Studio Extensibility forums . The response that I got was that after looking into this functionality the best approach would be to save the text to a file and then open…
Get a practical overview of CodeSmith Generator 6.0 and the Visual Studio Template Editor, including productivity gains for maintaining templates at scale.
Extend CodeSmith Generator PLINQO templates with patterns for cleaner generation, faster model iteration, and conventions that keep data access consistent.
Every now and then I need to create a new Oracle user to test the CodeSmith Generator OracleSchemaProvider. I wanted to outline the steps that I use to create a new user as well as change the password of an existing user. The first step one needs to take is to create a new user but you may not remember your login information if it has been a while. At this point I always open up SQL Plus from the…
The Windows SharePoint Services 3.0 software development kit (SDK) has been released and contains conceptual overviews, programming tasks, samples, and references to guide you in developing solutions based on Microsoft Windows SharePoint Services 3.0. Source Microsoft
I have read many technical books over the years and this is one is one of those books that you know you better keep handy. I really like how Robert has this book laid out and how he introduces you to Silverlight. I've been a .NET guy since version 1.0. But like most developers, I haven't had the chance to really dive into Microsoft's latest technologies like Silverlight until they have a few…
Rename generated CSLA properties with a repeatable pattern that preserves intent, reduces churn, and keeps custom business logic easier to maintain over time.
Store metadata in SQL stored procedures to preserve custom CSLA logic during regeneration, keeping bespoke validation and behavior while automating output.
Use partial methods in CodeSmith CSLA templates to preserve custom logic and support active regeneration without losing hand-tuned behavior over time.
Understand how private backing fields alter CSLA 4.0 property changes and how to stabilize generated object updates across templates and runtime environments.
I have done a few of these upgrades for a few big sites like bink.nu and Sober.com . Here is the safest way without a ton of headaches. Please contact me if you need help, I'm willing to do the upgrade for people as well... Please do SQL backups after every step! Database Instructions Upgrade from Community Server 2.1 to 2007.0 Create a SQL backup. Run SQL Compare against a fresh database of…
There may come a time where you need to rename a column in your generated entity for whatever reason. The following tip and trick article will show you how to quickly accomplish this. Let's assume you have a generated property for the column AccountId and it is defined like this: [System.CodeDom.Compiler.GeneratedCode("CodeSmith", "5.0.0.0")] private int _accountId = default(int); /// <summary>…
Upgrade CodeSmith CSLA templates from version 3.8 to 4.0 with a practical checklist for regeneration, template differences, and cleaner post-upgrade behavior.
We have been working with Microsoft over the past few months to ensure that CodeSmith Generator works with Microsoft Visual Studio 2010 . The currently released version of CodeSmith Generator 5.x already supports Visual Studio 2010 Integration. Although the current support is titled as beta we have ran into very few Visual Studio 2010 bugs and will completely stand behind Visual Studio 2010.…
Learn practical ways to unit test CodeSmith-generated CSLA templates so you can catch regressions early and keep custom regeneration output reliably stable.
In a previous article , I had mentioned that we added support for Microsoft SQL Server CLR Stored procedures and Functions in the release of CodeSmith Generator 5.2 . Since then there has been a few questions since then on how to add this to your existing templates. The great news is, you can add the functionality in a few easy changes. To enable SQL function support you need to set…
This article will help you upgrade your solutions templates safely and easily to the latest major or minor version. The latest templates can be found on our repository and the latest nightly build can be found here . The first thing to do is to download the template framework you wish to update. After the templates have been downloaded and extracted. Remove or Replace the old templates with the…
CodeSmith Generator now supports Microsoft SQL ServerFunctions and Microsoft SQL Server CLR Functions with the release of CodeSmith Generator 5.2 . I will quickly show you how to add Microsoft SQL Server Function support to your CodeSmith Generator template. The first thing you need to do in order to use SQL Functions is to set the IncludeFunctions Property on any type that derives from…
Recently, I built a CodeSmith Generator sample UITypeEditor that allows a user to enter in custom data into a DropDownList. In the following article I'll show you what you need to do in order to build your own UITypeEditor. First you need to create a public class that will hold the data of the drop down list. In this example I named my class DropDownListProperty . public class DropDownListProperty…
During each release of CodeSmith Generator , one thing we always do is test upgrade scenarios between each versions and check for backwards compatibility among other tests. Recently, I was amazed at how much change has taken place between CodeSmith Generator 4.x and the latest CodeSmith Generator 5.1.x release when it comes to the user interface. CodeSmith Generator has made a huge effort to make…
Explore CodeSmith Generator CSLA v1.0 and enhancements that improved template usability for cleaner, faster business object generation and customization.
We have updated the Tips & Tricks: Debugging CodeSmith Generator with the changes needed to debug CodeSmith Generator on Microsoft Windows 7.
In Part 1: The Introduction was an overview of the CodeSmith Generator CSLA templates we are developing at CodeSmith . In this post, I am going to go over how to use the CSLA quick start and the new improvements resulting from customer feedback (Keep the feedback coming!). First launch CodeSmith Generator Studio and under the Frameworks node open the CSLA Folder. There are a couple of folders in…
Diagnose .NET 3.5 SP1 fatal execution and silent death errors with practical checks that reduce crash surprises and make deployments much more stable.
There may come a time when you want to implement some extra features or maybe an Easter egg into your application using keyboard shortcuts. I was recently tasked with creating an Easter egg so we could test some functionality in CodeSmith. After countless searches looking for an elegant solution (I found a few ugly solutions and some nicer ones) I came across Method #3. I'll First touch on the one…
So far I have been very impressed with the CTP builds of Microsoft Visual Studio 2010 . There are some really welcoming changes that are apart of Visual Studio 2010 like UI Unit tests and a completely new IDE written in WPF. The only area where I thought was lacking was the responsiveness of the application. Last night a few members of the Visual Studio team announced that one of there main goals…