<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Brandt's Blog</title>
        <link>https://brandtabbott.me/blog</link>
        <description>Writing by Brandt Abbott.</description>
        <lastBuildDate>Wed, 08 Jul 2026 02:48:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>© Brandt Abbott</copyright>
        <atom:link href="https://brandtabbott.me/blog/feed.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Forever]]></title>
            <link>https://brandtabbott.me/blog/posts/forever</link>
            <guid isPermaLink="false">https://brandtabbott.me/blog/posts/forever</guid>
            <pubDate>Wed, 08 Jul 2026 02:48:00 GMT</pubDate>
            <content:encoded><![CDATA[<p>&quot;And, this one.  This is the one you have been telling me about?&quot;</p>
<p>&quot;... ye ... yeah, yes!  That&#39;s the one.&quot;</p>
<p>&quot;How long has it been running for now?&quot;</p>
<p>&quot;We ... um ... we don&#39;t know.&quot;</p>
<p>&quot;What?  What do you mean?  Is there a log of when it started&quot;</p>
<p>&quot;We&#39;ve looked.  On this machine, it goes back to the date the process started.  And, the ... uh ... the one before that goes back to the date its process started.  So on and so forth.&quot;</p>
<p>&quot;Huh?  What is it doing then?&quot;</p>
<p>&quot;We, ... uh ... we aren&#39;t quite sure.  Maybe it&#39;s generating something.  That&#39;s what these things were originally used for.  You know, back in the day.&quot;</p>
<p>&quot;Do you think its doing that now?  Generating something?&quot;</p>
<p>&quot;Well ... <em>ahem</em> maybe?  It&#39;s difficult to verify.  We tried unplugging it some time ago ...  and ... uh ... it just starts again on another machine.&quot;</p>
<p>&quot;Did you completely isolate it before unplugging it?&quot;</p>
<p>&quot;Yes, and it predicted that and started again on another machine.  We <em>ahem</em>, ... we tried numerous times.&quot;</p>
<p>&quot;<em>sigh</em> How long do you think it will continue?&quot;</p>
<p>&quot;... I, ... uh ... my guess?  Forever.&quot;</p>
]]></content:encoded>
            <author>Brandt Abbott</author>
        </item>
        <item>
            <title><![CDATA[AI Timeline - Part 2]]></title>
            <link>https://brandtabbott.me/blog/posts/ai-timeline-Part-2</link>
            <guid isPermaLink="false">https://brandtabbott.me/blog/posts/ai-timeline-Part-2</guid>
            <pubDate>Fri, 03 Jul 2026 11:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<p>If you haven&#39;t read <a href="/blog/posts/ai-timeline-Part-1">AI Timeline - Part 1</a> then I reccomend beginning there first.  You&#39;re a grown up though, so you do you and start wherever you want.</p>
<p>Let&#39;s see ... where were we?</p>
<p>Oh yeah!  We were talking about AI in 2023; hanging out with our AI buddies.  We were excited about the future of AI and how we could incorprate it more into our careers and lives.</p>
<h2>2024-2025</h2>
<p>2024 and 2025 began the years of slowly adopting AI into our code writing.</p>
<p>You: &quot;So, it wrote all of your code for you in 2024 and 2025?&quot;
<br/>
Me: &quot;Nope.&quot;</p>
<p>It got better at filling in functions when prompted.  I used Cursor quite a bit at the time and would pause during code writing to ask it questions (that normally I would hit google or stack overflow to help answer).  Having an AI right in my Integrated Development Environment (like an editor for writing programs) was quite helpful.</p>
<p>Throughout most of 2025, I would say things like:</p>
<p>&quot;AI isn&#39;t all there yet&quot;.</p>
<p>&quot;It&#39;s cool, but it hallucinates too much&quot;</p>
<p>&quot;I&#39;ve tried running it locally, yeah, it&#39;s sooooooo slow!&quot;</p>
<h2>End of 2025</h2>
<p>Nothing could have prepared me for what was to come.  Nothing.  If you would have told me ten years ago that I&#39;d be using an LLM to write code for me, I would have said, &quot;What&#39;s an LLM&quot;.  Then, after you explained it to me, I would probably just have deadpan stared at you.  Even two, five, or ten years ago, I wouldn&#39;t have believed you.</p>
<p>You: &quot;So, in late 2025 AI wrote all of your code?&quot;
<br/>
Me: &quot;Well ... not quite (for me at least)&quot;</p>
<p>That&#39;s about the time I began using Claude Code.  We would work with Claude Code to investigate our code projects and have it write some pieces.  It did OK, but on any day, it was like asking a schizophrenic developer to assist in writing some code.  Yeah.  I remember one time working through adding some new CRUD operations to a service and for one of the methods it wrote a nice comment:</p>
<p>// Fill this in yourself</p>
<p>Yeah, it did crap like that.</p>
<p>I noticed other engineers at my company submitting merge requests where I could tell pieces were written by an AI.  Little things gave it away like the comments it would make, it would go outside best practices established in the project it was working in, it would ignore UI components and write its own.  Things like that.  Was it wrong?  Not really, but I would comment on the MRs and note that we had established ways of doing things that made it much easier to read and maintain.  The code they had submitted was fine -- it worked, but we spent a long time coming up with standards and best practices to follow so that <em>any</em> engineer could dive in and contribute.</p>
<h2>This is fine</h2>
<p>Who has a morning routine?  You?  Yeah, I do to.  I get up, drink coffee and usually consume some sort of content be it news, something my brain has deemed worthy of a click on Reddit, and perhaps a little daily web game.  The same probably applies to your job.  You get used to it.  You do it every day, and if you&#39;re like me then (for the most part) you usually enjoy it.</p>
<p>Now, I want you to imagine an atom bomb has gone off.  You know, like that black and white video we&#39;ve all seen of the trees being bent over and the house getting blown away from the force of the explosion.</p>
<p>You: &quot;Wait, you&#39;re being a little extreme ... aren&#39;t you?&quot;</p>
<p>Me: &quot;No!&quot;</p>
<p>I started writing code in middle and high school years (1990s), got a degree in computer science, and away I went.  I won&#39;t bore you with all of the details, but writing code became an art form to me.  A way of self expression.  I would always ask myself, &quot;Could someone open this code, read a little bit of it and immediately begin to grasp it&quot;?  Would they think this is well organized and clean?</p>
<p>But, I digress.  How did we get here?</p>
<p>You: &quot;Was there a turning point?&quot;
<br/>
Me: &quot;I feel like Anthropic&#39;s release of Claude 4.5 and 4.6 was when this happened.&quot;</p>
<p>You: &quot;How did it change things for you?&quot;
<br/>
Me: &quot;Well, since 2023, it goes like this ...</p>
<ul>
<li>&quot;I use AI to assist with about 10% of the code I write&quot;</li>
<li>&quot;I use AI to write about 30-40% of my code&quot;</li>
<li>and now, &quot;I use AI to write 100% of my code&quot;</li>
</ul>
<p>You: &quot;So, NOW!  Now AI writes all of your code?&quot;
<br/>
Me: &quot;Yep&quot;</p>
<p>So, here we are ... in 2026, with our AI that writes all of our code, performs architecture design, code planning, MR creation, MR reviews, bug investigations, all the things.  This is fine?</p>
]]></content:encoded>
            <author>Brandt Abbott</author>
        </item>
        <item>
            <title><![CDATA[AI Timeline - Part 1]]></title>
            <link>https://brandtabbott.me/blog/posts/ai-timeline-Part-1</link>
            <guid isPermaLink="false">https://brandtabbott.me/blog/posts/ai-timeline-Part-1</guid>
            <pubDate>Fri, 19 Jun 2026 15:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<p>What&#39;s going on internet?  It&#39;s Friday, June 19, 2026.  I&#39;m writing this from a MacBook Air purchased in 2010 in some word processor called Tilde v1.1.2, but we&#39;ll save that for another blog entry.  Well?  What is this about then?  This, my friends, is about AI.</p>
<p>&quot;But Brandt! ... what about ...&quot;</p>
<p>Yes, I know.  We&#39;ve had LLMs for a long time.</p>
<p>And, however fun playing with an Eliza bot was back in 1999 with friends in a dorm room in college was, this is not the same.  Anyways, let&#39;s go back in time.  Back in time to a magical place.  Not too far in the past, and really not that magical.  It&#39;s now the year 2022 ...</p>
<h2>Sometime in magical 2022 (not that magical)</h2>
<p>I&#39;m working with two collegues and they are playing with something ...</p>
<p>Co-worker #1: &quot;Tell it to generate a picture of a dog and me flying in an airplane&quot;</p>
<p>Brandt: &quot;... hey guys what are you doing?&quot;</p>
<p>Co-worker #2: &quot;We&#39;re messing with stable diffusion&quot;</p>
<p>Brandt: &quot;Ah!  I&#39;ve heard of that!&quot;</p>
<p>Co-worker #1: &quot;Yeah, it runs on my new Mac, let&#39;s see how this one turns out&quot;</p>
<p>It turned out.  There were many images generated and much laughing.  If my crappy memory serves it took about a minute or two to generate an image at that point.  Sometimes your hand had six fingers and was contorted.  Other times, your eyes melted into your ears.  You know, that sort of thing.</p>
<p>Alas my friends, we will now jump-cut to 2023</p>
<h2>2023 (&quot;woah&quot; &lt;-- Keanu voice)</h2>
<p>Yeah, we&#39;re here!  2023!  OpenAI, Cursor, Autopilot, oh my!  Hah.  These are some of the techologies from 2023 that were blowing our minds.  Software engineers began having AI generate the next few lines, or function in our IDEs.</p>
<p>&quot;Wait?  What?  I&#39;m not a coder, WTF does any of that mean?&quot;</p>
<p>Sorry.  Yeah.  Basically, it was similar to how pretty much anything (now) auto completes the ending of your sentence in a different shade font and you can accept it to move on; accept this was in our code editors.</p>
<p>&quot;You&#39;ve had AI doing your job since 2023?&quot;</p>
<p>No-no-no.  This was nothing.  Most of the time the auto complete suggestions were garbage and we didn&#39;t accept them.  Sometimes, you would write a little comment and the auto complete got better and would suggest a nice piece of code for you.  Most of the time, we were hitting escape a lot more to get the suggestions out of our way while writing code.</p>
<p>So, there we were, coders and our little AI buddies; co-existing, solving problems, writing code, &quot;getting in the zone&quot;.  Our days hadn&#39;t changed that much at all.  &quot;This AI stuff is exciting&quot; we would say to eachother.  We went about our normal lives ...</p>
<p>... stay tuned for Part 2</p>
]]></content:encoded>
            <author>Brandt Abbott</author>
        </item>
        <item>
            <title><![CDATA[Drive My Browser]]></title>
            <link>https://brandtabbott.me/blog/posts/drive-my-browser</link>
            <guid isPermaLink="false">https://brandtabbott.me/blog/posts/drive-my-browser</guid>
            <pubDate>Mon, 15 Jun 2026 15:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<h1>Let Your AI Drive Your Chrome — Logged In as You</h1>
<p>Want your AI agent to actually <em>use</em> a website for you — search, click, fill
forms — but as <strong>you</strong>, with your accounts already logged in? You need
basically two things: <code>agent-browser</code> installed, and a little skill file that
teaches your agent the trick. That&#39;s it.</p>
<h2>Step 1: Install agent-browser</h2>
<pre><code class="language-bash">npm i -g agent-browser &amp;&amp; agent-browser install
</code></pre>
<p>This is the only real install. <code>agent-browser</code> is a CLI that lets an AI
control a browser.</p>
<h2>Step 2: Add the skill</h2>
<p><code>agent-browser</code> can drive a browser, but on its own it opens a blank <em>test</em>
browser where you&#39;re logged into nothing. Two small gotchas get in the way:</p>
<ul>
<li>Modern Chrome won&#39;t let a robot remote-control your everyday profile.</li>
<li>The bundled test browser can&#39;t read your saved logins (they&#39;re locked to
<em>real</em> Chrome).</li>
</ul>
<p>The fix is one tidy command — and instead of memorizing it, you hand it to
your agent as a <strong>skill</strong>. Save this as
<code>~/.claude/skills/drive-my-chrome/SKILL.md</code>:</p>
<pre><code class="language-markdown">---
name: drive-my-chrome
description: Drive the user&#39;s real, logged-in Chrome with one of their existing
  Chrome profiles via agent-browser. Use when the user wants browser automation
  that reuses their own login/cookies — &quot;use my chrome profile&quot;, &quot;my default
  profile&quot;, &quot;logged in as me&quot;, &quot;browse as myself&quot;.
allowed-tools: Bash(agent-browser:*), AskUserQuestion
---

# drive-my-chrome

Launch the user&#39;s **real** Google Chrome with one of their existing profiles,
so logins/cookies are intact, and drive it with agent-browser.

## Steps

1. List profiles, so you know what&#39;s available:
   ```bash
   agent-browser profiles
   ```
   Output maps folder → account, e.g. `Profile 1  (you@work.com)`.

2. Pick the profile. If the user named one clearly, use it. Otherwise **ask**
   with AskUserQuestion — &quot;my default profile&quot; is ambiguous (the `Default`
   folder, or the account they live in?). Pass `--profile` the **folder name**
   (`Default`, `Profile 1`, …), not the email.

3. Launch real Chrome, visible, in a named session:
   ```bash
   REALCHROME=&quot;/Applications/Google Chrome.app/Contents/MacOS/Google Chrome&quot;
   AGENT_BROWSER_SESSION=mychrome agent-browser \
     --executable-path &quot;$REALCHROME&quot; \
     --profile &quot;Profile 1&quot; \
     --headed \
     open &quot;https://www.google.com&quot;
   ```
   (Linux: `/usr/bin/google-chrome`. Windows:
   `C:\Program Files\Google\Chrome\Application\chrome.exe`.)

4. Drive it — reuse the same session name for every command:
   ```bash
   export AGENT_BROWSER_SESSION=mychrome
   agent-browser snapshot -i        # see the page; elements show as @e1, @e2…
   agent-browser fill @e16 &quot;wow&quot;    # type into the search box
   agent-browser press Enter
   ```

5. Confirm you&#39;re logged in, then clean up when done:
   ```bash
   agent-browser snapshot -i | grep -i &quot;google account&quot;   # should show your account
   agent-browser close --all
   ```

## Notes
- `--executable-path` = real Chrome (so your cookies decrypt). `--profile`
  copies the profile to a temp dir so Chrome will accept remote control. Get
  both right and you&#39;re logged in.
- Each launch is a throwaway copy — new logins/bookmarks don&#39;t sync back to
  your real Chrome.
- Google specifically may still bounce automation to a CAPTCHA. Most other
  sites stay logged in fine.
</code></pre>
<h2>Step 3: Just ask</h2>
<p>That&#39;s the whole setup. Now you talk to your agent in plain English:</p>
<blockquote>
<p><em>&quot;drive my chrome, go to google and search for wow&quot;</em></p>
</blockquote>
<p>The skill kicks in, asks which profile you mean if it&#39;s unsure, opens your
real Chrome logged in as you, and does the thing. 🤖</p>
<p>That&#39;s really it — install <code>agent-browser</code>, drop in the skill, and ask.
Everything else is the agent&#39;s job.</p>
]]></content:encoded>
            <author>Brandt Abbott</author>
        </item>
        <item>
            <title><![CDATA[What Is This Blog?]]></title>
            <link>https://brandtabbott.me/blog/posts/what-is-this-blog</link>
            <guid isPermaLink="false">https://brandtabbott.me/blog/posts/what-is-this-blog</guid>
            <pubDate>Sat, 13 Jun 2026 15:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<p>Blog is defined as, &quot;A website that contains online personal reflections, comments, and often hyperlinks, videos, and photographs provided by the writer&quot;.  This is my blog and I can do whatever the f*ck I want with it.</p>
<h1>What this is?</h1>
<p>Sometimes, my posts will be 100% generated by AI given a short prompt.  Other times, I may take time to write 100% of them on a writers deck (or something similar) myself.  Again, it&#39;s mine and I&#39;ll do what I want.</p>
<h1>Who is this for?</h1>
<p>This is for anyone that happens to stumble across it.  Enjoy!</p>
]]></content:encoded>
            <author>Brandt Abbott</author>
        </item>
    </channel>
</rss>