<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Sam Hartman</title>
  <link>https://hartmans.dreamwidth.org/</link>
  <description>Sam Hartman - Dreamwidth Studios</description>
  <lastBuildDate>Sat, 25 Oct 2025 17:07:02 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>hartmans</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
<item>
  <guid isPermaLink='true'>https://hartmans.dreamwidth.org/101727.html</guid>
  <pubDate>Sat, 25 Oct 2025 17:07:02 GMT</pubDate>
  <title>My First Successful AI Coding Experience</title>
  <link>https://hartmans.dreamwidth.org/101727.html</link>
  <description>&lt;p&gt;Yesterday, I had my first &lt;strong&gt;successful AI coding
experience&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I’ve used AI coding tools before—and come away disappointed. The
results were underwhelming: low-quality code, inconsistent abstraction
levels, and subtle bugs that take longer to fix than it would take to
write the whole thing from scratch.&lt;/p&gt;
&lt;p&gt;Those problems haven’t vanished. The code quality this time was still
disappointing. As I asked the AI to refined its work, it would randomly
drop important constraints or refactor things in unhelpful ways. And
yet, this experience was &lt;em&gt;different&lt;/em&gt;—and genuinely valuable—for
two reasons.&lt;/p&gt;
&lt;p&gt;The first benefit was the obvious one: the AI helped me get over the
&lt;strong&gt;blank-page problem&lt;/strong&gt;. It produced a workable skeleton for
the project—imperfect, but enough to start building on.&lt;/p&gt;
&lt;p&gt;The second benefit was more surprising. I was working on a problem in
&lt;strong&gt;odds-ratio preference optimization&lt;/strong&gt;—specifically,
finding a way to combine similar examples in datasets for AI training. I
wanted an &lt;em&gt;ideal&lt;/em&gt; algorithm, one that extracted every ounce of
value from the data.&lt;/p&gt;
&lt;p&gt;The AI misunderstood my description. Its first attempt was laughably
simple—it just concatenated two text strings. Thanks, but I can call
&lt;code&gt;strcat&lt;/code&gt; or the Python equivalent without help.&lt;/p&gt;
&lt;p&gt;However, the second attempt was different. It was still not what I
had asked for—but as I thought about it, I realized it was good enough.
The AI had created a simpler algorithm that would probably solve my
problem in practice.&lt;/p&gt;
&lt;p&gt;In trying too hard to make the algorithm perfect, I’d overlooked that
the simpler approach might be the right one. The AI, by
misunderstanding, helped me see that.&lt;/p&gt;
&lt;p&gt;This experience reminded me of something that happened years ago when
I was mentoring a new developer. They came to me asking how to solve a
difficult problem. Rather than telling them it was impossible, I
explained what would be required: a complex authorization framework,
intricate system interactions, and a series of political and
organizational hurdles that would make deployment nearly impossible.&lt;/p&gt;
&lt;p&gt;A few months later, they returned and said they’d found a solution. I
was astonished—until I looked more closely. What they’d built wasn’t the
full, organization-wide system I had envisioned. Instead, they’d
reframed the problem. By narrowing the scope—reducing the need for
global trust and deep integration—they’d built a local solution that
worked well enough within their project.&lt;/p&gt;
&lt;p&gt;They succeeded precisely because they &lt;em&gt;didn’t&lt;/em&gt; see all the
constraints I did. Their inexperience freed them from assumptions that
had trapped me.&lt;/p&gt;
&lt;p&gt;That’s exactly what happened with the AI. It didn’t know which
boundaries not to cross. In its simplicity, it found a path forward that
I had overlooked.&lt;/p&gt;
&lt;p&gt;My conclusion isn’t that AI coding is suddenly great. It’s that
&lt;strong&gt;working with someone—or something—that thinks differently can
open new paths forward&lt;/strong&gt;. Whether it’s an AI, a peer, or a less
experienced engineer, that collaboration can bring fresh perspectives
that challenge your assumptions and reveal simpler, more practical ways
to solve problems.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=hartmans&amp;ditemid=101727&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://hartmans.dreamwidth.org/101727.html</comments>
  <category>hacking</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
