<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Coding</title>
  <subtitle>Software engineering, architecture, systems, and lessons accumulated the hard way.</subtitle>
  <link href="https://coding.infoconex.com/feed.xml" rel="self" type="application/atom+xml" />
  <link href="https://coding.infoconex.com/" />
  <id>https://coding.infoconex.com/</id>
  <updated>2026-08-29T20:10:19-07:00</updated>
  <author><name>Jim Scott</name></author>
  
  
  <entry>
    <title>Out With the Old, In With the New: Rebuilding Coding</title>
    <link href="https://coding.infoconex.com/post/2026/08/29/out-with-the-old-in-with-the-new-rebuilding-coding" />
    <id>https://coding.infoconex.com/post/2026/08/29/out-with-the-old-in-with-the-new-rebuilding-coding</id>
    <published>2026-08-29T00:00:00-07:00</published>
    <updated>2026-08-29T00:00:00-07:00</updated>
    <summary type="html">After years on BlogEngine.NET, Coding has a new design and a new foundation built on Jekyll, GitHub Pages, Git, and Markdown.</summary>
    <category term="Blogging" /><category term="GitHub Pages" /><category term="Jekyll" /><category term="Markdown" /><category term="Software Development" />
  </entry>
  
  <entry>
    <title>CopyGitHubRepo v0.1.0 Released to the PowerShell Gallery</title>
    <link href="https://coding.infoconex.com/post/2026/08/22/copygithubrepo-v0-1-0-released-to-powershell-gallery" />
    <id>https://coding.infoconex.com/post/2026/08/22/copygithubrepo-v0-1-0-released-to-powershell-gallery</id>
    <published>2026-08-22T00:00:00-07:00</published>
    <updated>2026-08-22T00:00:00-07:00</updated>
    <summary type="html">CopyGitHubRepo v0.1.0 is now available from the PowerShell Gallery, marking the first stable release of the PowerShell tool for safely copying GitHub repositories.</summary>
    <category term="GitHub" /><category term="PowerShell" /><category term="Automation" /><category term="Developer Tools" />
  </entry>
  
  <entry>
    <title>Understanding What We Ask AI to Do</title>
    <link href="https://coding.infoconex.com/post/2026/08/17/understanding-what-we-ask-ai-to-do" />
    <id>https://coding.infoconex.com/post/2026/08/17/understanding-what-we-ask-ai-to-do</id>
    <published>2026-08-17T00:00:00-07:00</published>
    <updated>2026-08-17T00:00:00-07:00</updated>
    <summary type="html">As AI takes on more complex work, humans still need enough understanding of what it produces to make good decisions and remain responsible for the outcome.</summary>
    <category term="AI" /><category term="Human Oversight" /><category term="Leadership" /><category term="Software Engineering" />
  </entry>
  
  <entry>
    <title>Copy GitHub Repo – Clean Snapshots Without Carrying History</title>
    <link href="https://coding.infoconex.com/post/2026/08/09/copy-github-repo-clean-snapshots-without-history" />
    <id>https://coding.infoconex.com/post/2026/08/09/copy-github-repo-clean-snapshots-without-history</id>
    <published>2026-08-09T00:00:00-07:00</published>
    <updated>2026-08-09T00:00:00-07:00</updated>
    <summary type="html">Copy GitHub Repo is a PowerShell utility for creating clean repository snapshots or preserving full history with explicit planning, verification, and recovery safeguards.</summary>
    <category term="GitHub" /><category term="PowerShell" /><category term="Automation" /><category term="Developer Tools" />
  </entry>
  
  <entry>
    <title>AI Flywheel CLI for Python – Operating the Flywheel Safely</title>
    <link href="https://coding.infoconex.com/post/2026/07/31/ai-flywheel-cli-python-operating-the-flywheel-safely" />
    <id>https://coding.infoconex.com/post/2026/07/31/ai-flywheel-cli-python-operating-the-flywheel-safely</id>
    <published>2026-07-31T00:00:00-07:00</published>
    <updated>2026-07-31T00:00:00-07:00</updated>
    <summary type="html">The Python AI Flywheel CLI provides local commands for inspection, validation, lifecycle operations, installation, and upgrade with explicit safety boundaries.</summary>
    <category term="Python" /><category term="AI" /><category term="AI Flywheel" /><category term="CLI" />
  </entry>
  
  <entry>
    <title>Testing the AI Flywheel Framework with Durable Evidence</title>
    <link href="https://coding.infoconex.com/post/2026/07/27/testing-the-ai-flywheel-framework-with-durable-evidence" />
    <id>https://coding.infoconex.com/post/2026/07/27/testing-the-ai-flywheel-framework-with-durable-evidence</id>
    <published>2026-07-27T00:00:00-07:00</published>
    <updated>2026-07-27T00:00:00-07:00</updated>
    <summary type="html">The AI Flywheel testing project separates framework implementation from repeatable prompts, fixtures, runners, and durable evidence.</summary>
    <category term="AI" /><category term="AI Flywheel" /><category term="Testing" /><category term="Software Engineering" />
  </entry>
  
  <entry>
    <title>AI Flywheel Framework – Turning the Spec into an Operating Model</title>
    <link href="https://coding.infoconex.com/post/2026/07/26/ai-flywheel-framework-turning-the-spec-into-an-operating-model" />
    <id>https://coding.infoconex.com/post/2026/07/26/ai-flywheel-framework-turning-the-spec-into-an-operating-model</id>
    <published>2026-07-26T00:00:00-07:00</published>
    <updated>2026-07-26T00:00:00-07:00</updated>
    <summary type="html">The AI Flywheel Framework turns the specification into an installable .flywheel operating model with explicit startup, state, governance, and lifecycle artifacts.</summary>
    <category term="AI" /><category term="AI Flywheel" /><category term="Framework" /><category term="Software Engineering" />
  </entry>
  
  <entry>
    <title>AI Flywheel Spec – From Agent Loop to Compounding System</title>
    <link href="https://coding.infoconex.com/post/2026/07/15/ai-flywheel-spec-from-agent-loop-to-compounding-system" />
    <id>https://coding.infoconex.com/post/2026/07/15/ai-flywheel-spec-from-agent-loop-to-compounding-system</id>
    <published>2026-07-15T00:00:00-07:00</published>
    <updated>2026-07-15T00:00:00-07:00</updated>
    <summary type="html">The AI Flywheel specification defines an evidence-driven operating model where execution improves the system used by future execution.</summary>
    <category term="AI" /><category term="AI Flywheel" /><category term="Agentic AI" /><category term="Software Engineering" />
  </entry>
  
  <entry>
    <title>All Progress Depends on the Unreasonable</title>
    <link href="https://coding.infoconex.com/post/2026/01/01/all-progress-depends-on-the-unreasonable" />
    <id>https://coding.infoconex.com/post/2026/01/01/all-progress-depends-on-the-unreasonable</id>
    <published>2026-01-01T00:00:00-08:00</published>
    <updated>2026-01-01T00:00:00-08:00</updated>
    <summary type="html">All Progress Depends on the Unreasonable</summary>
    <category term="Leadership" /><category term="Change" /><category term="Progress" />
  </entry>
  
  <entry>
    <title>Dependency Inversion Principle (DIP) – Depend on Abstractions, Not Details</title>
    <link href="https://coding.infoconex.com/post/2025/07/01/dependency-inversion-principle-dip" />
    <id>https://coding.infoconex.com/post/2025/07/01/dependency-inversion-principle-dip</id>
    <published>2025-07-01T00:00:00-07:00</published>
    <updated>2025-07-01T00:00:00-07:00</updated>
    <summary type="html">The Dependency Inversion Principle keeps high-level policy from being tightly coupled to low-level implementation details.</summary>
    <category term="C#" /><category term="SOLID Principles" /><category term="Dependency Inversion Principle" />
  </entry>
  
  <entry>
    <title>Interface Segregation Principle (ISP) – Keep Interfaces Focused</title>
    <link href="https://coding.infoconex.com/post/2025/06/30/interface-segregation-principle-isp" />
    <id>https://coding.infoconex.com/post/2025/06/30/interface-segregation-principle-isp</id>
    <published>2025-06-30T00:00:00-07:00</published>
    <updated>2025-06-30T00:00:00-07:00</updated>
    <summary type="html">The Interface Segregation Principle keeps abstractions focused so clients depend only on the behavior they actually need.</summary>
    <category term="C#" /><category term="SOLID Principles" /><category term="Interface Segregation Principle" />
  </entry>
  
  <entry>
    <title>Liskov Substitution Principle (LSP) – Subtypes Should Keep Their Promises</title>
    <link href="https://coding.infoconex.com/post/2025/06/29/liskov-substitution-principle-lsp" />
    <id>https://coding.infoconex.com/post/2025/06/29/liskov-substitution-principle-lsp</id>
    <published>2025-06-29T00:00:00-07:00</published>
    <updated>2025-06-29T00:00:00-07:00</updated>
    <summary type="html">The Liskov Substitution Principle is about making abstractions trustworthy: subtypes should preserve the behavioral expectations of their base types.</summary>
    <category term="C#" /><category term="SOLID Principles" /><category term="Liskov Substitution Principle" />
  </entry>
  
  <entry>
    <title>Open/Closed Principle (OCP) – Building for Extension, Not Modification</title>
    <link href="https://coding.infoconex.com/post/2025/06/28/open-closed-principle-ocp-building-for-extension-not-modification" />
    <id>https://coding.infoconex.com/post/2025/06/28/open-closed-principle-ocp-building-for-extension-not-modification</id>
    <published>2025-06-28T00:00:00-07:00</published>
    <updated>2025-06-28T00:00:00-07:00</updated>
    <summary type="html">The second principle in the SOLID family is the Open/Closed Principle (OCP) . It’s a simple but powerful idea:</summary>
    <category term="C#" /><category term="SOLID Principles" /><category term="Open-Closed Principle" />
  </entry>
  
  <entry>
    <title>Single Responsibility Principle (SRP) - Only one reason to change</title>
    <link href="https://coding.infoconex.com/post/2025/06/28/single-responsibility-principle-srp" />
    <id>https://coding.infoconex.com/post/2025/06/28/single-responsibility-principle-srp</id>
    <published>2025-06-28T00:00:00-07:00</published>
    <updated>2025-06-28T00:00:00-07:00</updated>
    <summary type="html">The Single Responsibility Principle is the first of the five SOLID principles of object-oriented design, introduced by Robert C. Martin (Uncle Bob). It helps make software easier to understand, maintain, and extend.</summary>
    <category term="C#" /><category term="SOLID Principles" /><category term="Single Responsibility Principle" />
  </entry>
  
  <entry>
    <title>Create better software by applying SOLID principles</title>
    <link href="https://coding.infoconex.com/post/2025/06/13/creat-better-software-by-applying-solid-principles" />
    <id>https://coding.infoconex.com/post/2025/06/13/creat-better-software-by-applying-solid-principles</id>
    <published>2025-06-13T00:00:00-07:00</published>
    <updated>2025-06-13T00:00:00-07:00</updated>
    <summary type="html">SOLID is an acronym for five design principles that are considered fundamental to object-oriented programming. These principles, when followed correctly, can help to create more robust, flexible, and maintainable code.…</summary>
    <category term="C#" /><category term="SOLID Principles" /><category term="Open-Closed Principle" /><category term="Single Responsibility Principle" /><category term="Liskov Substitution Principle" /><category term="Interface Segregation Principle" /><category term="Dependency Inversion Principle" />
  </entry>
  
  <entry>
    <title>The CrowdStrike Outage Is a Reminder That Deployment Safety Matters</title>
    <link href="https://coding.infoconex.com/post/2024/07/20/the-crowdstrike-outage-is-a-reminder-that-deployment-safety-matters" />
    <id>https://coding.infoconex.com/post/2024/07/20/the-crowdstrike-outage-is-a-reminder-that-deployment-safety-matters</id>
    <published>2024-07-20T00:00:00-07:00</published>
    <updated>2024-07-20T00:00:00-07:00</updated>
    <summary type="html">The CrowdStrike outage is a reminder that even trusted software can cause enormous damage when an update goes wrong, and that staged rollouts and recovery plans matter.</summary>
    <category term="Software Engineering" /><category term="Reliability" /><category term="Deployments" />
  </entry>
  
  <entry>
    <title>.NET 8 Feels Like the New Normal</title>
    <link href="https://coding.infoconex.com/post/2023/11/14/net-8-feels-like-the-new-normal" />
    <id>https://coding.infoconex.com/post/2023/11/14/net-8-feels-like-the-new-normal</id>
    <published>2023-11-14T00:00:00-08:00</published>
    <updated>2023-11-14T00:00:00-08:00</updated>
    <summary type="html">.NET 8 feels less like an alternative to the old .NET Framework and more like the default starting point for new .NET development.</summary>
    <category term=".NET" /><category term=".NET 8" /><category term="Software Development" />
  </entry>
  
  <entry>
    <title>Countdown to New Year&apos;s with the Observer Pattern</title>
    <link href="https://coding.infoconex.com/post/2022/12/27/countdown-to-new-year-s-with-the-observer-pattern" />
    <id>https://coding.infoconex.com/post/2022/12/27/countdown-to-new-year-s-with-the-observer-pattern</id>
    <published>2022-12-27T00:00:00-08:00</published>
    <updated>2022-12-27T00:00:00-08:00</updated>
    <summary type="html">One design pattern that you might find fun to relate to New Year&apos;s Eve is the Observer design pattern. The Observer design pattern is a behavioral design pattern that defines a one-to-many dependency between objects, so…</summary>
    
  </entry>
  
  <entry>
    <title>Decorating the tree for Christmas</title>
    <link href="https://coding.infoconex.com/post/2022/12/26/decorating-the-tree-for-christmas" />
    <id>https://coding.infoconex.com/post/2022/12/26/decorating-the-tree-for-christmas</id>
    <published>2022-12-26T00:00:00-08:00</published>
    <updated>2022-12-26T00:00:00-08:00</updated>
    <summary type="html">As a software developer, I&apos;ve always been fascinated by design patterns and how they can help solve common problems in software design. This holiday season, I&apos;ve been thinking a lot about how some of these patterns can…</summary>
    <category term="Design Patterns" /><category term="C#" />
  </entry>
  
  <entry>
    <title>ChatGPT Looks Interesting</title>
    <link href="https://coding.infoconex.com/post/2022/11/30/chatgpt-looks-interesting" />
    <id>https://coding.infoconex.com/post/2022/11/30/chatgpt-looks-interesting</id>
    <published>2022-11-30T00:00:00-08:00</published>
    <updated>2022-11-30T00:00:00-08:00</updated>
    <summary type="html">OpenAI released ChatGPT today, and while I have not had a chance to spend much time with it yet, the idea of a conversational AI system is interesting.</summary>
    <category term="AI" /><category term="ChatGPT" /><category term="OpenAI" />
  </entry>
  
  <entry>
    <title>.NET 6 Feels Like the Version I&apos;ve Been Waiting For</title>
    <link href="https://coding.infoconex.com/post/2021/11/08/net-6-feels-like-the-version-ive-been-waiting-for" />
    <id>https://coding.infoconex.com/post/2021/11/08/net-6-feels-like-the-version-ive-been-waiting-for</id>
    <published>2021-11-08T00:00:00-08:00</published>
    <updated>2021-11-08T00:00:00-08:00</updated>
    <summary type="html">After watching .NET Core evolve over the last several years, .NET 6 feels like the point where the old and new .NET worlds are finally starting to come together.</summary>
    <category term=".NET" /><category term=".NET 6" /><category term="C#" /><category term="Microsoft" />
  </entry>
  
  <entry>
    <title>Twenty Years After September 11</title>
    <link href="https://coding.infoconex.com/post/2021/09/11/twenty-years-after-september-11" />
    <id>https://coding.infoconex.com/post/2021/09/11/twenty-years-after-september-11</id>
    <published>2021-09-11T00:00:00-07:00</published>
    <updated>2021-09-11T00:00:00-07:00</updated>
    <summary type="html">Twenty years after September 11, remembering the people who were lost and the importance of passing that memory to a generation that was not there.</summary>
    <category term="September 11" /><category term="Remembrance" />
  </entry>
  
  <entry>
    <title>Six Months Into COVID</title>
    <link href="https://coding.infoconex.com/post/2020/09/15/six-months-into-covid" />
    <id>https://coding.infoconex.com/post/2020/09/15/six-months-into-covid</id>
    <published>2020-09-15T00:00:00-07:00</published>
    <updated>2020-09-15T00:00:00-07:00</updated>
    <summary type="html">Six months after sending everyone home, masks, social distancing, and remote work have become part of everyday life.</summary>
    <category term="Covid-19" /><category term="Remote Work" />
  </entry>
  
  <entry>
    <title>eBay suspends my account</title>
    <link href="https://coding.infoconex.com/post/2020/04/07/eBay-suspends-my-account" />
    <id>https://coding.infoconex.com/post/2020/04/07/eBay-suspends-my-account</id>
    <published>2020-04-07T00:00:00-07:00</published>
    <updated>2020-04-07T00:00:00-07:00</updated>
    <summary type="html">I had created an account with eBay back in the beginning and had not used it in a long time. I reset my password because I had forgotten it and upon login I was informed my account had been suspended. I sent them a requ…</summary>
    
  </entry>
  
  <entry>
    <title>Sending Everyone Home</title>
    <link href="https://coding.infoconex.com/post/2020/03/11/sending-everyone-home" />
    <id>https://coding.infoconex.com/post/2020/03/11/sending-everyone-home</id>
    <published>2020-03-11T00:00:00-07:00</published>
    <updated>2020-03-11T00:00:00-07:00</updated>
    <summary type="html">I am in India while the coronavirus situation unfolds back home in Seattle, and today I made the call to send everyone home from the office.</summary>
    <category term="Covid-19" /><category term="Leadership" /><category term="Remote Work" />
  </entry>
  
  <entry>
    <title>.NET Core 3.0 Might Finally Be Ready for My Existing Applications</title>
    <link href="https://coding.infoconex.com/post/2019/09/23/net-core-3-0-might-finally-be-ready-for-my-existing-applications" />
    <id>https://coding.infoconex.com/post/2019/09/23/net-core-3-0-might-finally-be-ready-for-my-existing-applications</id>
    <published>2019-09-23T00:00:00-07:00</published>
    <updated>2019-09-23T00:00:00-07:00</updated>
    <summary type="html">.NET Core 3.0 adds Windows Forms and WPF support, making me take a more serious look at whether some existing .NET Framework applications could eventually move over.</summary>
    <category term=".NET Core" /><category term=".NET" /><category term="C#" />
  </entry>
  
  <entry>
    <title>Microsoft Is Buying GitHub</title>
    <link href="https://coding.infoconex.com/post/2018/06/04/microsoft-is-buying-github" />
    <id>https://coding.infoconex.com/post/2018/06/04/microsoft-is-buying-github</id>
    <published>2018-06-04T00:00:00-07:00</published>
    <updated>2018-06-04T00:00:00-07:00</updated>
    <summary type="html">Microsoft announced today that it plans to acquire GitHub, and I am still trying to decide how I feel about it.</summary>
    <category term="Microsoft" /><category term="GitHub" /><category term="Open Source" />
  </entry>
  
  <entry>
    <title>.NET Core 2.0 Is Starting to Feel Ready</title>
    <link href="https://coding.infoconex.com/post/2017/08/14/net-core-2-0-is-starting-to-feel-ready" />
    <id>https://coding.infoconex.com/post/2017/08/14/net-core-2-0-is-starting-to-feel-ready</id>
    <published>2017-08-14T00:00:00-07:00</published>
    <updated>2017-08-14T00:00:00-07:00</updated>
    <summary type="html">.NET Core 2.0 is out, and this release feels like a much more practical option for real application development.</summary>
    <category term=".NET Core" /><category term="ASP.NET Core" /><category term=".NET Standard" />
  </entry>
  
  <entry>
    <title>.NET Core 1.0 Has Arrived</title>
    <link href="https://coding.infoconex.com/post/2016/06/27/net-core-1-0-has-arrived" />
    <id>https://coding.infoconex.com/post/2016/06/27/net-core-1-0-has-arrived</id>
    <published>2016-06-27T00:00:00-07:00</published>
    <updated>2016-06-27T00:00:00-07:00</updated>
    <summary type="html">Microsoft released .NET Core 1.0 today along with ASP.NET Core 1.0 and Entity Framework Core 1.0, marking a very different direction for .NET.</summary>
    <category term=".NET Core" /><category term="ASP.NET Core" /><category term="Microsoft" />
  </entry>
  
  <entry>
    <title>Validating your SSL certificate is properly installed for SMTP - POP3 - IMAP - HTTP</title>
    <link href="https://coding.infoconex.com/post/2016/03/16/validating-your-ssl-certificate-is-properly-installed-for-smtp-pop3-imap-http" />
    <id>https://coding.infoconex.com/post/2016/03/16/validating-your-ssl-certificate-is-properly-installed-for-smtp-pop3-imap-http</id>
    <published>2016-03-16T00:00:00-07:00</published>
    <updated>2016-03-16T00:00:00-07:00</updated>
    <summary type="html">I recently installed a new SSL certificate on one of my Linux boxes and wanted to verify that my email server was using the new certificate. For HTTP this can be easy as you simply go to the secure URL and check your br…</summary>
    <category term="SSL" /><category term="Linux" />
  </entry>
  
</feed>
