<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2022-03-07:3893442</id>
  <title>Sam Hartman</title>
  <subtitle>Sam Hartman</subtitle>
  <author>
    <name>Sam Hartman</name>
  </author>
  <link rel="alternate" type="text/html" href="https://hartmans.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://hartmans.dreamwidth.org/data/atom"/>
  <updated>2025-10-25T17:07:02Z</updated>
  <dw:journal username="hartmans" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2022-03-07:3893442:101727</id>
    <link rel="alternate" type="text/html" href="https://hartmans.dreamwidth.org/101727.html"/>
    <link rel="self" type="text/xml" href="https://hartmans.dreamwidth.org/data/atom/?itemid=101727"/>
    <title>My First Successful AI Coding Experience</title>
    <published>2025-10-25T17:07:02Z</published>
    <updated>2025-10-25T17:07:02Z</updated>
    <category term="hacking"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&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="https://www.dreamwidth.org/tools/commentcount?user=hartmans&amp;ditemid=101727" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
