<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on Dustin Burke</title>
    <link>https://dustin-burke.com/blog/</link>
    <description>Recent content in Blog on Dustin Burke</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://dustin-burke.com/blog/index.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Sat, 04 Jul 2026 00:00:00 +0000</lastBuildDate>
    <item>
      <title>Being unusually responsible as a professional software engineer</title>
      <link>https://dustin-burke.com/blog/2026-07-04-unusually-responsible-professional/</link>
      <pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://dustin-burke.com/blog/2026-07-04-unusually-responsible-professional/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m realizing that as a professional software engineer (someone who has accepted pay to create software), the bar has been raised for&#xA;how we conduct ourselves, especially when working in the open in front of other builders.  If we&amp;rsquo;re creating software that will be&#xA;seen by other software engineers - whether open source or internal to your company - we need to spend a little extra effort and tokens to &lt;em&gt;do the right thing&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Why?&lt;/p&gt;&#xA;&lt;p&gt;Practicing what you preach and modeling good behaviors was always important when mentoring junior engineers. However, now the field has widened&#xA;to enable a larger number of people to build software who are not professional software engineers.&lt;/p&gt;&#xA;&lt;p&gt;There was an implicit assumption among engineers that your code would likely only be seen and judged by other software engineers. Those engineers would hopefully have developed - with practice and coaching - the &amp;ldquo;sniff test&amp;rdquo; for code that should not be trusted or used with caution because it&amp;rsquo;s clearly not production ready. No automated tests? No CI/CD pipeline? No documentation for users or developers to contribute? Lack of recent contributions. Unpinned or outdated software dependencies. Unclear or messy code organization. There are a lot of &amp;ldquo;tells&amp;rdquo; that you can quickly scan a codebase for, without even needing to go deep on the implementation details.&lt;/p&gt;&#xA;&lt;p&gt;However, now your code will be seen by a lot more people who haven&amp;rsquo;t trained their nose to sniff out bad code. Or maybe it will be used by a coding agent, or worse - used as training data for LLMs. In both cases, this will reinforce bad behaviors rather than good practices for new software that is generated by humans and agents.&lt;/p&gt;&#xA;&lt;p&gt;As a profession, we&amp;rsquo;ve eschewed formal certification or licensing to become a software engineer, instead relying on guidance from &amp;ldquo;grown up&amp;rdquo; senior engineers in the room to ensure the right things are done and the business is kept safe. That used to be release managers, QA and tech leads who approved what got merged into the main branch and released to customers as the &amp;ldquo;gatekeepers&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Now, the shift has been for more senior engineers to encode their wisdom into the &amp;ldquo;agent harness&amp;rdquo; that will steer not only human engineers but also coding agents.  This is even more critical now that code can be generated so quickly which puts a lot more downstream strain on your senior engineers to review all that code and uphold the standards.  And teams are shifting to agent-assisted reviews or &lt;em&gt;human-over-the-loop&lt;/em&gt; (rather than &lt;em&gt;human-in-the-loop&lt;/em&gt;) workflows where a human engineer may not even see that code before it gets into production and used by customers.&lt;/p&gt;&#xA;&lt;p&gt;But spend some time looking at the public Github profiles for the hyper-productive software engineers who drum up hype for AI engineering practices that are making human engineers &amp;ldquo;cooked&amp;rdquo;.  (I won&amp;rsquo;t shame any individuals, but IYKYK who I&amp;rsquo;m likely referring to&amp;hellip;) You&amp;rsquo;ll notice a disturbing trend that although they are churning out hundreds of contributions per day across dozens of concurrent agent sessions in agent loops, the quality and maturity of these repositories are seriously lacking in good software engineering practices around supply chain management and security. They may pin dependency versions (which is good) but they&amp;rsquo;re not using Dependabot to keep these dependencies updated automatically? No &lt;a href=&#34;https://trivy.dev/&#34;&gt;Trivy&lt;/a&gt; or &lt;a href=&#34;https://github.com/anchore/grype&#34;&gt;Grype scanner&lt;/a&gt; for CVE security vulnerabilities? No static analysis (SAST) tool like &lt;a href=&#34;https://semgrep.dev/&#34;&gt;Semgrep&lt;/a&gt; to identify insecure coding practices (and there are a LOT of them so its very hard to remember all of them or realize you&amp;rsquo;re even suspectible to them&amp;hellip;).  Or &lt;a href=&#34;https://github.com/gitleaks/gitleaks&#34;&gt;gitleaks&lt;/a&gt; to prevent accidental inclusion of secrets in the codebase.  Dockerfiles that aren&amp;rsquo;t multi-stage builds and based on &lt;a href=&#34;https://www.docker.com/products/hardened-images/&#34;&gt;hardened container images&lt;/a&gt; from Docker or &lt;a href=&#34;https://www.chainguard.dev/&#34;&gt;Chainguard&lt;/a&gt; to minimize the surface area for vulnerabilities.&lt;/p&gt;&#xA;&lt;p&gt;Can a coding agent do the right things? Maybe, but it takes a human to give it the appropriate steering. And we built these deterministic tools for a reason and they do the task very well, so even coding agents should be using them.&lt;/p&gt;&#xA;&lt;p&gt;We should be shifting all the guardrails and &amp;ldquo;scorecards&amp;rdquo; for ensuring production quality software to be &lt;a href=&#34;https://github.com/pre-commit/pre-commit&#34;&gt;pre-commit&lt;/a&gt; hooks run on every git commit - whether by a human or agent - rather than relying on post-hoc discovery.  This is the &amp;ldquo;shift left&amp;rdquo; mentality from DevSecOps, but its even more relevant these days with AI-native engineering that has accelerated the inner loop of code generation.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m working on an open source tool generates a scorecard for any Github repository - &lt;a href=&#34;https://github.com/burkestar/github-repo-scorecard&#34;&gt;github-repo-scorecard&lt;/a&gt;. It integrates existing scorecards from the open source community. It&amp;rsquo;s available as a browser extension so you can see the scorecard directly in Github when navigating to a repository.  You can also use the scorecard tool from the command line or integrate it with your coding agent using MCP.&lt;/p&gt;&#xA;&lt;p&gt;What I&amp;rsquo;m saying is we need to practice what we preach.  And that means applying the same standards to all the code we write, not only the blesssed repos for the core product. Even the one-off side projects.&lt;/p&gt;&#xA;&lt;p&gt;I recommend:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;reviewing all your personal repos, identifying and fixing all the gaps (or at least the &amp;ldquo;smells&amp;rdquo; I mentioned above)&lt;/li&gt;&#xA;&lt;li&gt;at &lt;em&gt;least&lt;/em&gt; putting a disclaimer in the README to explain whether the code is alpha, beta or production quality so that others don&amp;rsquo;t make incorrect assumptions just because the repo looks polished.&lt;/li&gt;&#xA;&lt;li&gt;creating a reusable Agent Skill that can make fixing up your repos easy work.&lt;/li&gt;&#xA;&lt;li&gt;updating any repo bootstrap templates you use so all the best practices work out-of-the-box, deterministically, every time.&lt;/li&gt;&#xA;&lt;li&gt;normalizing not only git &amp;ldquo;badges&amp;rdquo; but also a &amp;ldquo;production readiness scorecard&amp;rdquo; directly in the README for the repo so builders can immediately understand the risks and gaps&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Inspired by the mantra to &amp;ldquo;be the change you seek&amp;rdquo;, I&amp;rsquo;ll be spending some time getting my own repos into shape.  You should do the same.&lt;/p&gt;&#xA;&lt;p&gt;Maybe we need to embrace the &lt;a href=&#34;https://thehippocraticoathofsoftwareengineering.com/&#34;&gt;hippocratic oauth of software engineering&lt;/a&gt; or the ACM&amp;rsquo;s &lt;a href=&#34;https://www.acm.org/code-of-ethics&#34;&gt;Code of Ethics&lt;/a&gt; and make it required reading for all builders. Or at least for professional software engineers, as a starting point.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>KPI = metric &#43; target</title>
      <link>https://dustin-burke.com/blog/2026-05-30-kpis-and-diagnostic-metrics/</link>
      <pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate>
      <guid>https://dustin-burke.com/blog/2026-05-30-kpis-and-diagnostic-metrics/</guid>
      <description>&lt;p&gt;Metrics are not KPIs!&lt;/p&gt;&#xA;&lt;p&gt;Key Performance Indicators (KPIs):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Key&lt;/strong&gt; - these are the most &lt;em&gt;important&lt;/em&gt; things to pay attention to&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt; - based on some outcome you want to happen&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Indicators&lt;/strong&gt; - for meaningful insights about the raw numbers and how to interpret and act on them&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Contrast that with a metric.  Metrics are just a number.  A measurement.  Data, not information.    They don&amp;rsquo;t have any meaning beyond that.&#xA;You have to interpret metrics to derive some meaning from them.&lt;/p&gt;&#xA;&lt;p&gt;Just because you measure something doesn&amp;rsquo;t make it a KPI.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;KPI = metric + target&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A KPI &lt;em&gt;does&lt;/em&gt; involve some metric.  But it also needs some &lt;em&gt;target&lt;/em&gt; to indicate the value (or range) which is &amp;ldquo;good&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Think 📈 + 🎯.  Plot the metric as a line on a graph and the target could be a horizontal line.  Maybe the metric is revenue ($) and the target is some specific $ARR that your business is aiming to grow quarterly sales.&lt;/p&gt;&#xA;&lt;p&gt;A metric moves up and down over time.  A KPI moves into or out of the target range over time.&lt;/p&gt;&#xA;&lt;p&gt;A KPI could have multiple metrics that are used to determine the desirable target range.  You might shoot at a target but fall just below the bullseye. The x-axis metric was on target, but not the y-axis metric.&lt;/p&gt;&#xA;&lt;p&gt;Some metrics are useful for &lt;strong&gt;diagnostic&lt;/strong&gt; purposes.  They allow you to break down the components and drivers which influence the KPI.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Why&lt;/em&gt; did the arrow fall short of the bullseye?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Arrow speed&lt;/em&gt; was too low? ➡ pull the bow back more strongly next time&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Wind speed&lt;/em&gt; was stronger than anticipated? ➡ aim higher next time&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Metrics need to be interpreted.  You need to understand the &lt;em&gt;dynamics&lt;/em&gt; for how all the factors interact and influence each other.&lt;/p&gt;&#xA;&lt;p&gt;It surprises me how often people confuse this and misuse the word KPI.  Maybe they come up with a list of KPIs for things that are actually just metrics and not directly related to the outcome they want.  And often I&amp;rsquo;ve found, it&amp;rsquo;s not even clear &lt;em&gt;what&lt;/em&gt; they want to achieve, or &lt;em&gt;why&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you find this interesting, you should read the book &lt;strong&gt;Measure What Matters&lt;/strong&gt;.  I highly recommend it.  It introduces the idea of &lt;strong&gt;Objectives and Key Results (OKRs)&lt;/strong&gt; which were all the rage in business for the last decade or so.  I&amp;rsquo;ve seen more unsuccessful uses of OKRs over the years than successful examples.  If you keep in mind the core insight I explained above, you&amp;rsquo;ll be more likely to hit the mark.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Writing as a human, and the AI pledge</title>
      <link>https://dustin-burke.com/blog/2026-05-30-ai-pledge/</link>
      <pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate>
      <guid>https://dustin-burke.com/blog/2026-05-30-ai-pledge/</guid>
      <description>&lt;p&gt;You&amp;rsquo;ll notice there are no emdashes or excessive use of emojis here.  That&amp;rsquo;s because it&amp;rsquo;s written by a human at about 20 tokens per MINUTE rather than an AI at hundreds of tokens per second.&lt;/p&gt;&#xA;&lt;p&gt;I think it&amp;rsquo;s great there are movements like Verified Human and Not By AI to &amp;ldquo;pledge&amp;rdquo; and visually indicate that content has been written by a human instead of AI.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://dustin-burke.com/assets/img/VH-combo-stacked-white.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;Verified Human&#34; width=&#34;300px&#34; height=&#34;auto&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&#34;https://byhumannotai.com/icons/100_written_by_human_light.svg&#34; alt=&#34;100% Written by Human&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://notbyai.fyi&#34;&gt;&lt;img src=&#34;https://dustin-burke.com/assets/img/Written-By-a-Human-Not-By-AI-Badge-black.png&#34; alt=&#34;Written by a Human, Not by AI&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;However, there&amp;rsquo;s more we need to do.  It should be more than the (raises right hand) &amp;ldquo;honor system&amp;rdquo;.  We should have these be verifiable in an automated and cryptographically sound way.  There&amp;rsquo;s nothing stopping bad actors or AI from including these badges in their own work, so it doesn&amp;rsquo;t truly help identify authentic human creative work.  Without this, we will lose the ability to discern what is true and authentic.&lt;/p&gt;&#xA;&lt;p&gt;The idea of &lt;a href=&#34;https://huggingface.co/blog/watermarking&#34;&gt;AI Watermarking&lt;/a&gt; is promising, but there are practical limitations.  There is a challenge to get the growing number of AI model providers to comply.  And that compliance needs to have repurcussions to hold them accountable.  And that would need to be bound by international law so its not confined to individual nation states.  Even if we solved the compliance challenge with human institutions across the world, it&amp;rsquo;s trivial for a bad actor to work around it and use an open source AI model to remove watermarks.&lt;/p&gt;&#xA;&lt;p&gt;This sounds like a wicked problem without a clear solution, or even a framework for how to solve it.  But I think it&amp;rsquo;s important we come up with a framework for how to solve it.  Socio-technical problems at the intersection of humans and technology are the hardest ones to solve.&lt;/p&gt;&#xA;&lt;p&gt;Even if we can&amp;rsquo;t cover 100% of all content with a watermark that certifies whether human or AI generated, making progress on having some critically important spaces in which the content in that platform &lt;em&gt;can&lt;/em&gt; carry those guarantees would be a meaningful step forward.&lt;/p&gt;&#xA;&lt;p&gt;Think places where the authenticity of the content has high consequences if we don&amp;rsquo;t get it right.  Evidence presented in court that has legal consequences that impact people. Information used to make life or death decisions, such as medical imagery.  Information used to make critical decisions for the successful functioning of human institutions, such as government voting records.  Maybe the content shown on the television or in a social media feed, which might not have immediate consequences but has a compounding effect of manipulating and influencing large groups of people to act a certain way or form a certain opinion.&lt;/p&gt;&#xA;&lt;p&gt;A necessary part of the solution would be end-to-end custody from production to consumption of the content, with a chain of trust that extends across all intermediaries from how that content gets transmitted from the originator who created it to the person that receives it.  So it can&amp;rsquo;t be manipulated and distorted.  Much like end-to-end encryption chat and video provided by WhatsApp and Signal to protect the privacy of your information as it flows through many computer networks across the world.  I think these platforms are actually best positioned to solve this.  But the hardest part is the producer side where the content is originally authored.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Upgrading my website, with Claude&#39;s help</title>
      <link>https://dustin-burke.com/blog/2026-05-29-upgrading-website/</link>
      <pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate>
      <guid>https://dustin-burke.com/blog/2026-05-29-upgrading-website/</guid>
      <description>&lt;p&gt;My website was stuck in the early 2000s. GoDaddy, Dreamhost, SFTP, and an &lt;code&gt;.htaccess&lt;/code&gt; file!  I kid you not&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s great to see old school webhosting companies survive all these years.  But there are nicer tools available nowadays.&lt;/p&gt;&#xA;&lt;p&gt;Time for a fresh start.  Cleaner layout.  A space for me to write and share ideas.&lt;/p&gt;&#xA;&lt;p&gt;I started as a freelance web developer in high school.  I loved creating sites directly in HTML, CSS and javascript.  And PHP when I needed.  No frameworks.  Just a text editor, some SFTP client, and a server somewhere hosting my files.  I remember when it was so easy.  The hardest part was setting up the DNS.  Mostly you wrote content and added a little bit of markup to style it nicely.  Then over the course of time things became much, much more complex, as inevitably happens.  Isn&amp;rsquo;t there some law of physics that entropy always increases?&lt;/p&gt;&#xA;&lt;p&gt;I couldn&amp;rsquo;t be bothered to spend time working on improving my website.  Most of my time and energy went to raising a family and working as a professional software developer in a fast moving industry (that continues to accelerate).  Just like the cobbler&amp;rsquo;s kids with poor shoes&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;But now with Claude and some AI model trained on the entirety of human written knowledge and code at my fingerpoints, I figured its time to upgrade.  And I didn&amp;rsquo;t have to spend a lot of mental cycles on it.&lt;/p&gt;&#xA;&lt;p&gt;I had Claude do all the heavy lifting to help me decide on the right framework for blogging.  That would have taken me the better part of the weekend to read a bunch of articles online, read the docs for a handful of the tools and frameworks, etc.  But we got it sorted in like 20 minutes.&lt;/p&gt;&#xA;&lt;p&gt;Together we settled on the following tech stack:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.sublimetext.com/&#34;&gt;Sublime Text&lt;/a&gt; editor to write directly in Markdown without any distractions (or AI agents)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Git and Github for hosting&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.netlify.com/&#34;&gt;Netlify&lt;/a&gt; hosting&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I kept DNS at GoDaddy, but pointed the nameservers at Netlify.&lt;/p&gt;&#xA;&lt;p&gt;Netlify is integrated with Github and automatically triggers on push to &lt;code&gt;master&lt;/code&gt; branch.  It deploys my changes live in ~10 seconds.  It&amp;rsquo;s amazingly fast and simple.&lt;/p&gt;&#xA;&lt;p&gt;I used to say at work &amp;ldquo;I remember the good old days of just SFTPing some files to a server&amp;rdquo; in the midst of some complex code deployment issues.  But I have to say this workflow is an even better experience.&lt;/p&gt;&#xA;&lt;p&gt;I can run &lt;code&gt;hugo server&lt;/code&gt; locally with a super fast live reload experience.  I can preview the Markdown directly in the editor or see the site live in my browser.&lt;/p&gt;&#xA;&lt;p&gt;Honestly, the hardest part was not getting tempted by Wordpress, Medium, Substack, Ghost and all the many other blogging options available.&lt;/p&gt;&#xA;&lt;p&gt;Keep it simple, silly (KISS 😘).&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Booting up</title>
      <link>https://dustin-burke.com/blog/2026-05-25-booting-up/</link>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <guid>https://dustin-burke.com/blog/2026-05-25-booting-up/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ll be using this space to write about human-centered AI, technology trends shaping the world and our place within it, and the craft of software engineering while humans are still fluent in programming languages before the machines take that away from us.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve long envied people who have maintained a blog for many years.  Some people have been blogging for 20+ years and are still active!  I&amp;rsquo;ve had many false starts over the years and it never took off.  I have a pretty extensive collection of ideas and partially formed thoughts in my journal which I have been diligent about contributing to for about 20 years now.  I plan to start shifting more of my work into the public space to shape ideas and future directions.  And if nothing else, maybe my words will have some infinitesimal influence on a few of those billion model weights in some future AI model.&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
