<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Mike Zornek</title>
    <link>https://mikezornek.com/tags/ai/</link>
    <description>Recent content in ai on Mike Zornek</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>mike@mikezornek.com (Mike Zornek)</managingEditor>
    <webMaster>mike@mikezornek.com (Mike Zornek)</webMaster>
    <lastBuildDate>Fri, 22 May 2026 08:57:53 -0400</lastBuildDate>
    
	<atom:link href="https://mikezornek.com/tags/ai/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>The Moral Struggles of AI Coding</title>
      <link>https://mikezornek.com/posts/2026/5/moral-struggles-of-ai-coding/</link>
      <pubDate>Fri, 22 May 2026 08:57:53 -0400</pubDate>
      <author>mike@mikezornek.com (Mike Zornek)</author>
      <guid>https://mikezornek.com/posts/2026/5/moral-struggles-of-ai-coding/</guid>
      <description>&lt;p&gt;This is more of a personal journal entry than a typical helpful blog post. Normally, I&amp;rsquo;d keep this in my private notebook, but since I want to link to these thoughts, I figured I&amp;rsquo;d post them on the blog.&lt;/p&gt;
&lt;p&gt;Background: I am a programmer with nearly 30 years of experience who makes my living through freelance and consulting work, typically focused on programming &lt;a href=&#34;https://elixir-lang.org/&#34;&gt;Elixir&lt;/a&gt; and related web technologies.&lt;/p&gt;
&lt;p&gt;AI coding is a complex and heavily debated tool for modern developers. I do not use AI coding to generate large swaths of code. I tend to use AI to check my work, offer typeahead suggestions (while honoring the patterns I&amp;rsquo;ve intentionally chosen), explore ideas, and debug complex/unfamiliar codebases. I&amp;rsquo;ve been slow to adapt to AI tools compared to many of my peers. Even now, I continue to struggle, trying to find balance between my industry&amp;rsquo;s expectations and my personal moral objections.&lt;/p&gt;
&lt;p&gt;Some of the reasons why I dislike AI include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Illegally and immorally sourced.&lt;/strong&gt; The manner in which these language models are created, without respect to ownership or license, breaks my fundamental beliefs about law and my ethical appreciation for personal ownership.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environmentally unsustainable.&lt;/strong&gt; The immense amount of electricity and water resources used to build and run AI services is unsustainable. The monopolization of resources and the pollution (noise and materials) are a blight on every community they affect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Economically unsustainable.&lt;/strong&gt; The cost of AI tokens is hugely subsidized, and that will not last forever. If you become dependent on them and the price increases drastically, will you be able to afford it?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decayed software quality.&lt;/strong&gt; I&amp;rsquo;ve been of the opinion that software quality was already on a sharp downward trajectory well before AI. The increased speed of development we are seeing with AI, alongside questionable code quality and fewer people in the process, creates an environment where software is unstable and ultimately miserable to use and work with.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clogged Internet.&lt;/strong&gt; The current internet was built and is scoped for human activity. The increased growth of bots will lead to both an unacceptable ratio of noise to signal and the breaking of fragile infrastructure, e.g., the Tragedy of the Commons.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Endless cleanup.&lt;/strong&gt; I worry that my profession will become endless days of debugging someone else&amp;rsquo;s hastily built vibe software. I described this vision to my accountant as the person cleaning up the elephant poop in a parade.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mass surveillance&lt;/strong&gt; AI enables a dystopian level of privacy violations, as historically large datasets can now be spun together in order to profile and categorize all of your movements and speech, for the highest bidder. Reinforcing the loop, the more you use AI, the more data you feed the machine. These data sets are now owned and sold by third parties over whom you have little legal authority.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Self-identity through my work.&lt;/strong&gt; After spending my adult life having built my identity through my profession, what does it mean if I no longer write code? I cannot find my identity through a process of managing agents who write code for me.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;nonetheless-i-use-ai&#34;&gt;Nonetheless, I use AI&lt;/h2&gt;
&lt;p&gt;With all that on the table, yeah, I use AI &amp;ndash; and I kind of hate it. I am nowhere near the zealots who are creating AI agents for everything, but I do use it.&lt;/p&gt;
&lt;p&gt;There are some out there who draw a hard line and refuse to cross. They do their best to find as pure a path as they can to live and dodge the madness.&lt;/p&gt;
&lt;p&gt;If I had the means, I might consider joining them—but the reality is I&amp;rsquo;m an aging, self-employed programmer. I live on my own, and I support myself. I find it impossible to imagine staying in this career and having an absolutist refusal to use AI. Any company looking for my work will have a baseline level of AI-use expectations. Perhaps in the future I will find other ways to support myself and enable more choices here, but for now these are the cards I have been dealt.&lt;/p&gt;
&lt;h2 id=&#34;where-i-find-value&#34;&gt;Where I find value&lt;/h2&gt;
&lt;p&gt;Some things I have found helpful with AI tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can throw a mishmash of crash logs, screenshots, and other details to help identify bugs and security issues.&lt;/li&gt;
&lt;li&gt;You can update dependencies and have the AI look over the code for impactful call sites related to the code diffs and changelogs. Ideally, you are familiar enough with the codebase to have your own gut feelings, but in extremely large or otherwise unfamiliar projects, this can help root out issues to watch for.&lt;/li&gt;
&lt;li&gt;Many developers hate doing code review, and while there is room for improvement, I find some of the commentary I get out of automated code review to be helpful. I do personally review and apply my own fixes, but the notes are a valuable second set of eyes.&lt;/li&gt;
&lt;li&gt;When present in an unfamiliar codebase (common as a consultant), I get value from asking AI to find and summarize things.&lt;/li&gt;
&lt;li&gt;I spel baad oftun and get value from spell checkers like Grammarly. Again, I tend to avoid having any tool write for me, but finding spelling and grammar issues is very helpful.&lt;/li&gt;
&lt;li&gt;Sometimes I need to do one-time ETL of data (CSV, etc), and I have found AI to be helpful at reformatting things. I will say this often feels high-risk, since I can rarely confirm that each row is transformed without error, but in my limited use, it seems to work well.&lt;/li&gt;
&lt;li&gt;I sweat details when it comes to naming things. I get value from using AI to brainstorm alternative terms of art for things.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;endless-existential-anguish&#34;&gt;Endless Existential Anguish&lt;/h2&gt;
&lt;p&gt;I get very introspective over AI coding because it is my career, livelihood, and identity. It is a very fluid and evolving thing. The &amp;ldquo;fun&amp;rdquo; thing is (and I can not render satirical quotes any larger), once you start down this rabbit hole, you might also question:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The overseas slave labor used to build my computer and phone.&lt;/li&gt;
&lt;li&gt;The disadvantaged migrants who harvest the food I eat.&lt;/li&gt;
&lt;li&gt;The exhaust from my car that pollutes the environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why is it that I struggle with AI coding so much more in my head than with the slave labor to build the computer? It is the same industry after all.&lt;/p&gt;
&lt;p&gt;All proper questions for a therapy session &amp;ndash; and with that, since we are losing the plot, I&amp;rsquo;ll end it here.&lt;/p&gt;
&lt;h2 id=&#34;related-reading&#34;&gt;Related Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ky.fyi/posts/ai-burnout&#34;&gt;Do I belong in tech anymore?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://testdouble.com/insights/in-the-age-of-ai-were-in-this-together&#34;&gt;In the age of AI we’re in this together&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>GitHub Copilot and Unhonored Branch Protection</title>
      <link>https://mikezornek.com/posts/2025/10/github-copilot-and-unhonored-branch-protection/</link>
      <pubDate>Wed, 15 Oct 2025 10:40:25 -0400</pubDate>
      <author>mike@mikezornek.com (Mike Zornek)</author>
      <guid>https://mikezornek.com/posts/2025/10/github-copilot-and-unhonored-branch-protection/</guid>
      <description>&lt;p&gt;I was using the GitHub Copilot web chat experience yesterday for client work. I needed to migrate some issues from a third-party CSV export into GitHub Issues. (It mostly worked, but there was still a lot of data massaging after the fact, which the chat could not do.)&lt;/p&gt;
&lt;p&gt;Early in the process, the chat took my command of &lt;code&gt;make the issues&lt;/code&gt; to make markdown files in an &lt;code&gt;issues&lt;/code&gt; folder on the &lt;code&gt;main&lt;/code&gt; branch instead of making actual GitHub Issues.&lt;/p&gt;
&lt;p&gt;This repo &lt;strong&gt;has&lt;/strong&gt; branch protection rules that should disallow direct commits on &lt;code&gt;main&lt;/code&gt;, but I guess &lt;a href=&#34;https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#about-branch-protection-rules&#34;&gt;because I am an organization admin&lt;/a&gt;, it just does it.&lt;/p&gt;
&lt;p&gt;This series of events kicked off unwanted deploys and commits. It was a solid reminder about the dangers of putting these MCP chat servers anywhere near production systems.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m starting to get marketing from Render as to the availability of its own &lt;a href=&#34;https://render.com/docs/mcp-server&#34;&gt;MCP services&lt;/a&gt;, and I&amp;rsquo;m very hesitant to use them.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Elixir Rap Song</title>
      <link>https://mikezornek.com/posts/2023/3/elixir-rap-song/</link>
      <pubDate>Tue, 14 Mar 2023 14:43:35 -0400</pubDate>
      <author>mike@mikezornek.com (Mike Zornek)</author>
      <guid>https://mikezornek.com/posts/2023/3/elixir-rap-song/</guid>
      <description>&lt;p&gt;Had too much fun asking ChatGPT to generate haiku poems and rap songs about programming tools and languages. Here is one about Elixir.&lt;/p&gt;
&lt;h2 id=&#34;compose-a-rap-song-about-how-much-programmers-love-the-functional-programming-language-elixir&#34;&gt;Compose a rap song about how much programmers love the functional programming language Elixir.&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Verse 1:
Listen up y&amp;#39;all, let me tell you &amp;#39;bout a language that&amp;#39;s dope
It&amp;#39;s called Elixir, and it&amp;#39;s more than just a little bit of hope
It&amp;#39;s functional programming, and it&amp;#39;s built to scale
You can build web apps, IoT, and anything else you wanna unveil

Chorus:
Elixir, Elixir, it&amp;#39;s the language of the gods
Programmers love it, they&amp;#39;re never gonna stop
With its easy syntax and its powerful tools
Elixir&amp;#39;s the one that rules, yeah, Elixir&amp;#39;s the one that rules

Verse 2:
Elixir&amp;#39;s got it all, from concurrency to fault tolerance
And the syntax is so sweet, you&amp;#39;ll never want to go back to nonsense
It&amp;#39;s got pipes, macros, and pattern matching too
Elixir&amp;#39;s so efficient, it&amp;#39;s gonna make your code dreams come true

Chorus:
Elixir, Elixir, it&amp;#39;s the language of the gods
Programmers love it, they&amp;#39;re never gonna stop
With its easy syntax and its powerful tools
Elixir&amp;#39;s the one that rules, yeah, Elixir&amp;#39;s the one that rules

Verse 3:
So if you want to build something that&amp;#39;s fast and robust
Elixir&amp;#39;s the language that you can trust
You can build real-time apps and scale with ease
Elixir&amp;#39;s the future, it&amp;#39;s the one that&amp;#39;s gonna please

Chorus:
Elixir, Elixir, it&amp;#39;s the language of the gods
Programmers love it, they&amp;#39;re never gonna stop
With its easy syntax and its powerful tools
Elixir&amp;#39;s the one that rules, yeah, Elixir&amp;#39;s the one that rules

Outro:
So now you know why programmers love Elixir so much
It&amp;#39;s the language that&amp;#39;s got the perfect touch
If you&amp;#39;re not using it yet, you&amp;#39;re missing out
Elixir&amp;#39;s the future, it&amp;#39;s what programming&amp;#39;s all about.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;rapping.webp&#34; alt=&#34;Rabbit on stage&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>