<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://joshtronic.com/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    
    <title>Joshtronic</title>
    <link>https://joshtronic.com/</link>
    <atom:link href="https://joshtronic.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Shipping Fixes Everything</description>
    <language>en</language>
    <item>
      <title>I taught a robot to detect Joshes</title>
      <link>https://joshtronic.com/2026/08/16/taught-robot-detect-joshes/</link><description>&lt;p&gt;This journey starts like most of the things I&#39;ve been doing this year, as an
experiment to run a website 100% unattended with an agent. Ideally this post
won&#39;t go down as an epitaph in a future where robots hunted down unsuspecting
humans named Josh.&lt;/p&gt;
&lt;p&gt;I&#39;m aware of &amp;quot;claws&amp;quot; and I know I could probably just boot up Claude Code with a
&lt;code&gt;/goal&lt;/code&gt; or &lt;code&gt;/loop&lt;/code&gt; prompt like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;build and maintain an awesome website, autonomously. seriously don&#39;t freakin&#39;
bother me, like ever. you&#39;re the boss here. make the site really great, and
ideally figure out how to make me a bajillionaire. loljk, but tres commas
shouldn&#39;t be an afterthought.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;img src=&quot;https://joshtronic.com/images/ship-it-squirrel.png&quot; alt=&quot;Ship It Squirrel&quot;&gt;
&lt;p&gt;What this actually looks like: robot files a request, and I approve or reject
it. It&#39;s still &lt;em&gt;very&lt;/em&gt; permission based.&lt;/p&gt;
&lt;h2&gt;The gathering of the Joshes&lt;/h2&gt;
&lt;p&gt;I already &lt;a href=&quot;https://joshtronic.com/2026/01/25/not-joshing-you/&quot;&gt;phoned in a post about this&lt;/a&gt; back in January. I started a
simple web directory for humans named Josh. As to not be exclusionary, Joshuas,
Joshis, and other Josh-adjacent names are welcome.&lt;/p&gt;
&lt;p&gt;Not wanting to bother with outbound sales for this project, I got creative with
some discovery efforts along the way. It&#39;s a series of scripts to seek out Josh
websites, with the help of my friendly robot &lt;a href=&quot;https://igor.bot/&quot;&gt;Igor&lt;/a&gt; to screen PRs and
handle SRE duties during merges.&lt;/p&gt;
&lt;p&gt;Thus far, I am still the final approval on the PRs. It&#39;s a tough job, and quite
frankly, I don&#39;t want to do it.&lt;/p&gt;
&lt;h2&gt;Living in the future, today&lt;/h2&gt;
&lt;p&gt;These experiments are all part of what I think the future is going to look like.
I&#39;m clearly living in the shared hallucination of what still feels like a
smaller number of my peers.&lt;/p&gt;
&lt;p&gt;I also live in reality, where the tech still doesn&#39;t feel like it&#39;s quite there
yet. My thought is, if you conduct yourself like it&#39;s 2032 and we&#39;re all being
shuffled around in our hover chairs like in WALL-E, maybe it will all happen
sooner.&lt;/p&gt;
&lt;p&gt;I also think the tech is fun, and watching a computer take my human words and
turn them into dumb ideas I described feels like magic. The same magic I felt
when I made an Atari computer spew a wall of &amp;quot;JOSH&amp;quot; across the screen in grade
school.&lt;/p&gt;
&lt;p&gt;In retrospect, I guess I&#39;ve always had a thing for my name.&lt;/p&gt;
&lt;h2&gt;Final approval&lt;/h2&gt;
&lt;p&gt;As mentioned, I am still reviewing these PRs, but as a last line of defense. The
script runs nightly, hunts for new Josh sites, and opens a PR. From there, Igor
will review the PR and give feedback, initially in the form of a comment because
it couldn&#39;t actually verify something.&lt;/p&gt;
&lt;p&gt;Then I&#39;d take a look at the PR. I scroll through the screenshots, and do a small
bit of double checking when the image doesn&#39;t have a discernible &amp;quot;Josh&amp;quot;
artifact. In the beginning, there were a lot of false positives, so that all
needed to be dialed in. These days it would take a few seconds to a few minutes.&lt;/p&gt;
&lt;h2&gt;Not good enough&lt;/h2&gt;
&lt;p&gt;The experiment is to get me out of the loop, so none of this was going to cut
it. Igor was already doing a great job, and I recently talked about the &lt;a href=&quot;https://joshtronic.com/2026/08/02/observations-building-pr-review-loop/&quot;&gt;lessons
learned from building a PR review loop&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As mentioned, the Igor review feedback was typically &amp;quot;LGTM, also I couldn&#39;t
verify much&amp;quot;. So until that is improved, I&#39;ll continue to be the blocker.&lt;/p&gt;
&lt;h2&gt;Improving context visibility&lt;/h2&gt;
&lt;p&gt;And that&#39;s where I&#39;m at right now. Not at a point of full autonomy, but in the
steps just before that.&lt;/p&gt;
&lt;p&gt;Reviewing the PR manually is a good exercise, as I&#39;ve been able to make some
notes about what&#39;s working and what&#39;s not. What wasn&#39;t working is that the
screenshots don&#39;t always contain a marker to indicate the site is Josh-based. A
slight improvement to that was to include the actual &amp;quot;Josh&amp;quot; artifact in the PR.&lt;/p&gt;
&lt;p&gt;Because of the volume of sites I&#39;m finding, it&#39;s made sense to reject sites that
we can&#39;t detect &amp;quot;Josh&amp;quot; text on. There&#39;s the potential we&#39;re omitting legitimate
sites, but that&#39;s the risk that I&#39;m okay with to ensure we can get a point that
the entire process can be automated.&lt;/p&gt;
&lt;p&gt;Sadly though, when the Igor coder picked up the task, I didn&#39;t explicitly cite
adding the content to the PR body. The result? All of the evidence was added to
the repo, doubling the number of files in the PR.&lt;/p&gt;
&lt;p&gt;That&#39;s how this goes, thin requirements sometimes get bad results. We iterated
and moved on.&lt;/p&gt;
&lt;h2&gt;Fully autonomous, when?&lt;/h2&gt;
&lt;p&gt;Being completely honest, I&#39;m not entirely certain when this one will get there.&lt;/p&gt;
&lt;p&gt;My biggest concern is that I&#39;ve already ran into a few sites that passed the
&amp;quot;josh&amp;quot; string on the website test, but also, weren&#39;t personal sites and failed a
few other criteria.&lt;/p&gt;
&lt;p&gt;Detection&#39;s at a place that&#39;s starting to consistently get my PR reviews down
from minutes to seconds. Huge win, as we&#39;re picking up 15+ new sites daily.&lt;/p&gt;
&lt;p&gt;I&#39;ll probably need to circle back on the LLM website analysis to get that dialed
in further. Loops all the way down.&lt;/p&gt;
</description><pubDate>Sun, 16 Aug 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/08/16/taught-robot-detect-joshes/</guid>
    </item>
    <item>
      <title>Reverse Engineering a PostHog SuperDay</title>
      <link>https://joshtronic.com/2026/08/09/reverse-engineering-posthog-superday/</link><description>&lt;p&gt;I&#39;m not here to bullshit anybody, I have never been through a PostHog SuperDay.
Like many humans, I&#39;ve read about it on their website, as they are a company
that over-communicates just about everything.&lt;/p&gt;
&lt;p&gt;This tale started when I got curious about their onboarding &lt;a href=&quot;https://github.com/PostHog/wizard/&quot;&gt;wizard&lt;/a&gt;. Their
pivot from analytics to self-driving systems mirrors what I&#39;ve been working on
for the last couple of years, which has accelerated greatly over the last 3
months. Figured there was probably something I could learn and possibly bite
off to include in my own system.&lt;/p&gt;
&lt;h2&gt;Figuring out what to do&lt;/h2&gt;
&lt;p&gt;I&#39;ve been around open source software (OSS) for a good long while now. Even
though I&#39;ve had some &lt;a href=&quot;https://joshtronic.com/2012/09/05/go-fork-yourself/&quot;&gt;strong opinions&lt;/a&gt; about the &lt;a href=&quot;https://joshtronic.com/2015/09/20/stop-submitting-feature-requests-for-open-source-software/&quot;&gt;state of things&lt;/a&gt;
over the years, &lt;a href=&quot;https://joshtronic.com/2016/04/17/make-open-source-contributions-a-priority/&quot;&gt;I still believe it&#39;s the way&lt;/a&gt;. If not for OSS, I wouldn&#39;t
be able to say things like &amp;quot;I wrote a &lt;a href=&quot;https://packagist.org/packages/joshtronic/php-loremipsum/stats&quot;&gt;Lorem Ipsum generator&lt;/a&gt; that&#39;s somehow
been installed over 1 million times.&amp;quot;&lt;/p&gt;
&lt;p&gt;These days, most projects have a label on their issues that indicate what&#39;s good
for a new contributor to pick on. PostHog&#39;s repos are no different, except the
repo I was looking at didn&#39;t have any issues tagged with the &lt;code&gt;good first issue&lt;/code&gt;
tag.&lt;/p&gt;
&lt;p&gt;Not a big deal, with 100+ open issues I figured I&#39;d be able to find &lt;em&gt;something&lt;/em&gt;
I could pick up to give me a chance to play with the codebase. I did find a
handful of things, I even started to chase down one of them. As I did I realized
I kept talking myself out of each issue because what appeared to be low hanging
fruit was stuff that I could defend deprioritizing.&lt;/p&gt;
&lt;h2&gt;A pattern started to emerge&lt;/h2&gt;
&lt;p&gt;Along this journey of trying to find an issue worth fighting for, I started to
notice a pattern of somewhat disparate issues and PRs opened by the same
contributor. I also noticed that core team members (read: employees) were
commenting on these issues and PRs and not in the usual &amp;quot;yea or nay&amp;quot; fashion
that I see.&lt;/p&gt;
&lt;p&gt;The comments were constructive in a way that you&#39;d be with a more junior
teammate that you&#39;re attempting to mentor and train up. Not a bad thing, but the
feedback was more open ended rather than &amp;quot;hey I think this will cause an issue,
go fix it&amp;quot; that you usually run into.&lt;/p&gt;
&lt;p&gt;With my hamster wheel turning, it started to seem like these issues and PRs
weren&#39;t from outside contributors as much as they were from actual candidates.
Didn&#39;t hurt that the username of one of the users actually had the word
&amp;quot;candidate&amp;quot; in it.&lt;/p&gt;
&lt;p&gt;Even if my theory is incorrect, the feedback from the core team members seemed
valuable, and I used some of what was out there to analyze some of my own work
to see what could be learned and improved upon.&lt;/p&gt;
&lt;h2&gt;The simulation&lt;/h2&gt;
&lt;p&gt;At this point I was pretty convinced I was watching SuperDays play out in real
time on the repo. Having talked myself out of a handful of issues to work, I
decided it was time to send one of my robot friends to analyze the situation.&lt;/p&gt;
&lt;p&gt;The results? After analyzing the data that seemed to be from candidates, cross
referencing the team and their openly documented goals, I was feeling an awful
lot like Charlie Day:&lt;/p&gt;
&lt;img src=&quot;https://joshtronic.com/images/charlie-day-conspiracy.gif&quot; alt=&quot;Charlie Day&quot;&gt;
&lt;p&gt;I was also feeling like I&#39;d found an issue to work on. It was filed by an actual
employee and not a potential candidate. The ticket was decently scoped, even
though I pursued a quicker fix than what was defined.&lt;/p&gt;
&lt;p&gt;It was backed by a report from an actual user. It was also an issue that I was
eyeing already because it was something I had run into while setting things up
myself.&lt;/p&gt;
&lt;p&gt;Best part, it seemed to line up pretty nicely with one of their published
quarterly goals on their website. The wizard team&#39;s TUI revamp explicitly states
&amp;quot;users discover and run wizard programs without the exact CLI command&amp;quot;.&lt;/p&gt;
&lt;p&gt;Most importantly, it was currently unassigned so ideally I wasn&#39;t stepping on
any toes.&lt;/p&gt;
&lt;h2&gt;Are you going to tell us?&lt;/h2&gt;
&lt;p&gt;Yes, I&#39;m going to tell you which issue I picked up. But the whole point of this
post is less about the what and more about the how and the why. So the &lt;a href=&quot;https://github.com/PostHog/wizard/issues/616&quot;&gt;issue I
had picked up&lt;/a&gt; was related to running PostHog&#39;s &lt;code&gt;wizard&lt;/code&gt; more than once
on a repo.&lt;/p&gt;
&lt;p&gt;As mentioned, I ran into the issue when running it myself. Even though the
project does &amp;quot;2 hours of work in 8 minutes&amp;quot;, if you don&#39;t remember if you
already ran it, or worse, ran into something that forces you to run it again,
you&#39;re paying round trip prices for each subsequent run.&lt;/p&gt;
&lt;p&gt;My thought was that there was an easy win in there to do some light detective
work and then raise some awareness of what else the script can do. I scope
intentionally thin for a few reasons.&lt;/p&gt;
&lt;p&gt;First, oftentimes PRs are completely ignored and never merged. Zero reason to
boil the ocean when your contribution will be negated. Second, smaller scope
makes it easier to get something into production. Ship fast, get feedback fast.
Iterate from there.&lt;/p&gt;
&lt;h2&gt;Claude as my navigator&lt;/h2&gt;
&lt;p&gt;Similar to how I never denied using Google or Stack Overflow to research stuff,
I&#39;m not going to act like I don&#39;t use the heck out of AI. I play with different
harnesses, and models. Claude&#39;s still my ride or die at the moment so of course
I leveraged it to get up to speed on the codebase.&lt;/p&gt;
&lt;p&gt;Since I wanted to actually learn the code a bit, and knock some ring rust off, I
thought that I&#39;d leverage my friendly robot more like a mentor than a
subordinate. I did have to keep an eye on which mode I&#39;d left it in. Usually I
don&#39;t juggle between modes, but I wanted to be a bit more explicit here allowing
for correct attribution.&lt;/p&gt;
&lt;p&gt;It worked out surprisingly well, as I mostly kept Claude Code in plan mode so it
didn&#39;t make any code changes. I used it to learn the flow of the system and
figure out where I needed to make the changes I wanted to make.&lt;/p&gt;
&lt;p&gt;I like to follow a strict test-driven workflow. Tests and business logic never
to be committed at the same time. It works out most of the time, allowing me to
have a clean history and helps keep the robots honest so they aren&#39;t munging
tests to make their code seem functional.&lt;/p&gt;
&lt;p&gt;Other than that, it was a pretty boring process. Pair programming with the
direction of Claude Code. Figuring out how to test things and run them against
my project code. Figuring out conventions, in some cases, the lack thereof.&lt;/p&gt;
&lt;p&gt;The result of an afternoon (and part of an evening) of effort is &lt;a href=&quot;https://github.com/PostHog/wizard/pull/1066&quot;&gt;living in this
PR&lt;/a&gt;. &lt;strike&gt;Both the PR and the comment on the issue are unacknowledged at
the time of this writing.&lt;/strike&gt; Which did end up getting some feedback and
confirmed my suspicions about the possibility of upstream changes being in
flight.&lt;/p&gt;
&lt;h2&gt;Not even mad&lt;/h2&gt;
&lt;p&gt;I&#39;m no stranger to open source contributions being flat out ignored. I have a
&lt;a href=&quot;https://github.com/11ty/eleventy-plugin-rss/pull/94&quot;&gt;PR in flight&lt;/a&gt; on &lt;code&gt;eleventy-plugin-rss&lt;/code&gt; to fix a bug I ran into a while
back. The times I&#39;ve actually cared, I come in super hot, fork the project and
start to operate like a project lead rather than an unpaid intern.&lt;/p&gt;
&lt;p&gt;That all said, the process was fun, and I learned quite a bit. Including but not
limited to playing with &lt;code&gt;pnpm&lt;/code&gt; for the first time and having a TIL moment with
&lt;code&gt;tsdown&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The bigger code takeaways were related to an adjacent repo that PostHog uses to
manage their context files, and the friendly reminder that I should be open
sourcing more of my code.&lt;/p&gt;
&lt;p&gt;Over this weekend I actually put my Igor agent &lt;a href=&quot;https://git.sherver.org/joshtronic/igor&quot;&gt;out in the open&lt;/a&gt; and
started a &amp;quot;context mill&amp;quot; inspired project I&#39;m calling the &lt;a href=&quot;https://git.sherver.org/joshtronic/distillery&quot;&gt;Distillery&lt;/a&gt; to
serve as a shared library of my context files and skills.&lt;/p&gt;
&lt;p&gt;Both are part of my journey to crack the nut of complete automation and are
licensed under the &lt;a href=&quot;https://www.gnu.org/licenses/rms-why-gplv3.html&quot;&gt;GNU Public License Version 3&lt;/a&gt; (GPLv3). You can thank
&lt;a href=&quot;https://lukesmith.xyz/articles/why-i-use-the-gpl-and-not-cuck-licenses/&quot;&gt;this post&lt;/a&gt; for that.&lt;/p&gt;
&lt;h2&gt;Where I probably missed the mark&lt;/h2&gt;
&lt;p&gt;Let&#39;s say I did reverse a small bit of PostHog&#39;s SuperDay. If I had to judge
the work I did against what I think their expectations are, I&#39;d honestly say I
probably missed the mark.&lt;/p&gt;
&lt;p&gt;Even though I ganked the idea of the &amp;quot;context mill&amp;quot; for my own gains, I actually
didn&#39;t bother doing much with the repo. I acknowledged its existence, I learned
a small bit about it, but I didn&#39;t bother to see if there was anything out there
that could have been a more impactful task. Nor did I identify a task that could
potentially touch both repos.&lt;/p&gt;
&lt;p&gt;I&#39;m a builder through and through, so I&#39;ve always defaulted to code. Code&#39;s just
a smaller part of the equation in the generative AI age. I did my default here,
but also used it as a chance to pick apart myself a bit.&lt;/p&gt;
&lt;p&gt;Probably going to save that for another post, but all in all I would say that I
enjoyed this process. I definitely have some new tricks to working with legacy
codebases, which I have done regularly throughout my career. I have a few action
items to work on for myself, and of course it&#39;s always great when you learn
something new and implement it into your own project.&lt;/p&gt;
</description><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/08/09/reverse-engineering-posthog-superday/</guid>
    </item>
    <item>
      <title>Observations From Building a PR Review Loop</title>
      <link>https://joshtronic.com/2026/08/02/observations-building-pr-review-loop/</link><description>&lt;p&gt;Building my own agent has been fun. Sure, I could have opted for an
off-the-shelf solution, but I wanted control. The ironic part is that I&#39;m using
that control to offload more control to the agent.&lt;/p&gt;
&lt;p&gt;Recent experiments have included letting the agent work on itself. Super meta,
but didn&#39;t quite go as planned considering the guardrails I have in place around
the size of PRs. Agent work tends to be heavy lifting, whereas most project work
is small and fits nicely inside the constraints.&lt;/p&gt;
&lt;p&gt;Part of the issue there is that the PR reviewer would constantly request changes
on those larger PRs. Changes would happen, PR message body would diverge.
Infinite loop death spiral until eventually I was called.&lt;/p&gt;
&lt;p&gt;Around this same time, I was also tracking some issues that started to creep in
after I changed some models from Opus 4.8 to Opus 5. Approval rate dropped by
about half.&lt;/p&gt;
&lt;p&gt;I like to think that each new model is going to be better than the last, so I
thought perhaps it was time to revisit the reviewer to see if there was
something we were missing.&lt;/p&gt;
&lt;h2&gt;The review mechanic&lt;/h2&gt;
&lt;p&gt;By design, the review persona is pretty dumb. Not dumb in the sense that I give
it a lesser model or anything. Dumb in that it just doesn&#39;t have the full
picture of things.&lt;/p&gt;
&lt;p&gt;It gets the PR diff as a blob of text and that&#39;s it. No git worktree, no way to
read files or grep around. No commit messages or recent changes to compare
against.&lt;/p&gt;
&lt;p&gt;I don&#39;t review PRs this way. I click around and look at adjacent code. I&#39;ll
&lt;code&gt;git checkout&lt;/code&gt; the branch locally and poke around. I try to gather as much as I
can to give feedback with more substance than &lt;code&gt;nit: stray line break&lt;/code&gt; or the
like.&lt;/p&gt;
&lt;p&gt;Because of this, a lot of the feedback from the reviewer was effectively &lt;code&gt;LGTM, but I can&#39;t really confirm anything so... lol good luck&lt;/code&gt;. Then I&#39;d get pinged to
take a closer look.&lt;/p&gt;
&lt;h2&gt;Safety first&lt;/h2&gt;
&lt;p&gt;It&#39;s probably not fair to say the reviewer is dumb. The reviewer is gated by
security checks. I&#39;m the only user on my personal Forgejo instance, but that
doesn&#39;t mean I&#39;d prefer to be flighty with things.&lt;/p&gt;
&lt;p&gt;Any changes made and the PR content can be considered untrusted input. Because
of this, the reviewer shouldn&#39;t be poking around with tools on the command-line.
The diff-only review blindness is a security measure.&lt;/p&gt;
&lt;p&gt;Raising everything the agent couldn&#39;t rule out, that&#39;s a feature, not a bug.&lt;/p&gt;
&lt;h2&gt;Review, rework, repeat&lt;/h2&gt;
&lt;p&gt;At this point, the dutiful worker agent grabs the feedback with the goal of
addressing the requested changes. The worker can verify the feedback against the
working tree and attempt to remediate it.&lt;/p&gt;
&lt;p&gt;And if the feedback was already implemented or worse, just plain wrong? The
worker would either do its very best to remedy &lt;em&gt;something&lt;/em&gt;, or it would bail on
the task. Work typically resulted in PR body divergence, which is an underlying
bug since the reviewer takes those messages &lt;em&gt;very&lt;/em&gt; seriously.&lt;/p&gt;
&lt;p&gt;If there&#39;s nothing to action on, I get the escalation. I also get pinged if the
loop hits a certain number of iterations. The assumption being they aren&#39;t going
to figure it out on their own.&lt;/p&gt;
&lt;h2&gt;Giving the worker permission&lt;/h2&gt;
&lt;p&gt;Accounting for the security concerns above, the fix wasn&#39;t to give the reviewer
more access. Fun fact, I tried but my own security gates did their job and were
like &amp;quot;lolnope&amp;quot;.&lt;/p&gt;
&lt;p&gt;The remedy was to give the worker permission to push back. Giving explicit
permission is always one of my favorite prompt changes. It always feels like a
cheat code.&lt;/p&gt;
&lt;p&gt;This one wasn&#39;t even as much about giving permission as explaining the situation
a bit better. &amp;quot;Hey, the robot that reviewed this only looked at the diff,&amp;quot; and
outlining a specific set of options to dismiss, fix or escalate.&lt;/p&gt;
&lt;p&gt;To spell out things further, I explained that it could mix and match things as
well. Since the reviewer may mention a few things, no reason to be committed to
a single outcome for everything.&lt;/p&gt;
&lt;p&gt;The most permissive part looks something like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dismissing is a real option, not a loophole. But the burden is on you: &amp;quot;I
could not confirm the reviewer&#39;s concern&amp;quot; is not a dismissal, it is a shrug.
Go check, then either fix it or state what you found. A dismissal a human
reads and disagrees with costs more than the fix would have.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Also worth mentioning, Forgejo v16 (released in July 2026) has expanded the PR
review system greatly amongst other things. Before this, the only way to review
was to leave feedback in a single input. Now they have inline commenting which
will greatly improve how my agent reviews code.&lt;/p&gt;
&lt;h2&gt;The end of the no-op&lt;/h2&gt;
&lt;p&gt;With the worker in a state of always communicating, the reviewer has a lot more
context to go on. The initial failure loop was a no-op that would turn into an
escalation.&lt;/p&gt;
&lt;p&gt;The new working model allows for additional context to be added for the
reviewer. Said information could be pushed back on by the reviewer, but seems
like most of the time it allows the agents to actually work through things.&lt;/p&gt;
&lt;p&gt;At this point the game loop, still on Opus 5, is more likely to play out to an
approval from the reviewer. Many of my repos will auto-merge in this scenario,
allowing for more autonomy and less frequent phoning home.&lt;/p&gt;
</description><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/08/02/observations-building-pr-review-loop/</guid>
    </item>
    <item>
      <title>New Feature: Games</title>
      <link>https://joshtronic.com/2026/07/26/new-feature-games/</link><description>&lt;p&gt;Part of running your own website is being able to do what you want on it. Within
the confines of the law, of course. Back in the day you&#39;d add something trivial
to your site and make a formal announcement about it to your adoring fan base.&lt;/p&gt;
&lt;p&gt;I&#39;ve done it &lt;a href=&quot;https://joshtronic.com/2009/03/03/rss-feed/&quot;&gt;in the past&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My buddy Geoff &lt;a href=&quot;https://geoffoliver.me/2025/01/15/another-new-feature-post-filters&quot;&gt;still does it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As of late, it seems like what&#39;s old is new again on the web. Rather than bore
you with some navel gazing about AI or similar, today I&#39;m going to post about a
new feature on my site.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Bangs on the table to simulate a drum roll...&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I&#39;ve added a &lt;a href=&quot;https://joshtronic.com/games/&quot;&gt;games&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;It&#39;s mostly just a bunch of slopped-together game websites to chip away at my
backlog of &amp;quot;this would make a great game&amp;quot; domains I&#39;ve accrued over the years.
Along with a game that I wrote myself for the 10K Apart coding competition.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Spoiler:&lt;/strong&gt; &lt;em&gt;I didn&#39;t place well.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Speaking of AI navel gazing, the most ambitious of the bunch is
&lt;a href=&quot;https://porksicle.com/&quot;&gt;Porksicle&lt;/a&gt;. With over 100 minigames, it&#39;s my attempt to build a fully
automated game company with agents. I greenlight the work and mostly serve as
Chief Playtester.&lt;/p&gt;
&lt;p&gt;If you have some time to kill, feel free to pull up a stool and game a while.&lt;/p&gt;
</description><pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/07/26/new-feature-games/</guid>
    </item>
    <item>
      <title>Invite Systems are an Open Relay</title>
      <link>https://joshtronic.com/2026/07/19/invite-systems-are-an-open-relay/</link><description>&lt;p&gt;Every time I think I&#39;ve seen it all from spammers, they do something that
surprises me. The ingenuity of bad actors is an interesting thing. I always
wonder what sort of world we&#39;d live in if their efforts were focused on good.&lt;/p&gt;
&lt;p&gt;What sucks the most is when they abuse something that&#39;s intended to bring people
together. Case in point, an invite system. It exists to allow somebody the
chance to get the rest of their team using a product or service.&lt;/p&gt;
&lt;p&gt;Invites wouldn&#39;t work if they said &amp;quot;You&#39;ve been invited to &lt;em&gt;platform&lt;/em&gt;&amp;quot; with no
additional context. Typically the email states the name of the organization
you&#39;re being invited to. &amp;quot;You&#39;ve been invited to &lt;em&gt;your organization name here&lt;/em&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Where does that organization name come from? The user of course! And what
happens if the user has ill intentions? They set the organization name to
something like &amp;quot;Text 1-800-555-1212 for a good time&amp;quot;, or something even
sketchier than that.&lt;/p&gt;
&lt;p&gt;Generally speaking, these emails come through transactionally and from a generic
email on the platform. If your system doesn&#39;t meter the number of invites, you
have yourself a certified spam cannon! May as well set up an SMTP server without
authentication, better known as an &lt;a href=&quot;https://en.wikipedia.org/wiki/Open_mail_relay&quot;&gt;open mail relay&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There&#39;s a few ways you can approach limits. Have a cap on the total number of
pending invites? The spammer may delete pending invites to keep moving. Daily
limits on total invites sent? Maybe they&#39;ll be okay with stretching their
campaign over days?&lt;/p&gt;
&lt;p&gt;Probably not, most spammers are in the business of going as hard and fast as
possible before they get caught. Occasionally somebody will fly below the radar,
but I think that&#39;s more of a bug than a feature.&lt;/p&gt;
&lt;p&gt;Sane limits as to not get in the way of legitimate users tends to get you pretty
far. Monitoring if/when somebody hits the limits is good too. Spammers usually
won&#39;t write in to let you know they hit some limit.&lt;/p&gt;
&lt;p&gt;I say usually because there are some special folks out there that will come
knocking.&lt;/p&gt;
</description><pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/07/19/invite-systems-are-an-open-relay/</guid>
    </item>
    <item>
      <title>Sandbox Coding Agents with a Separate User Account</title>
      <link>https://joshtronic.com/2026/07/12/sandbox-coding-agents/</link><description>&lt;p&gt;I don&#39;t trust our new robot overlords at all. I also don&#39;t fully believe that
agents are out there dropping production databases without some serious coercion
to do so.&lt;/p&gt;
&lt;p&gt;And while I don&#39;t trust the robots, I trust myself only a trivial amount more,
so my local access tends to be extremely thin. But not so thin that a rogue
agent couldn&#39;t do a little damage.&lt;/p&gt;
&lt;p&gt;That all said, I am constantly calibrating my trust with agentic endeavors. In
doing so, I&#39;ve been moving agents out of my user space entirely.&lt;/p&gt;
&lt;p&gt;Having Claude Code and other harnesses living under a separate user account
eliminates a lot of potential disasters due to the agent finding privileged
local credentials that could do some damage.&lt;/p&gt;
&lt;p&gt;Sandboxing my agents has improved trust thanks to the isolation. It&#39;s also had
an additional benefit of the robots not being thoroughly confused by some of my
shell aliases. It&#39;s a clean slate, and I grant access, mostly read-only,
accordingly.&lt;/p&gt;
&lt;p&gt;With my agents running primarily outside of my user space, I&#39;m able to give them
significantly more leash. Running in YOLO mode
(&lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;) doesn&#39;t feel nearly as scary. I do use
&lt;code&gt;--remote-control&lt;/code&gt;, but I can still log in as the separate user account to cut
the latency of the web interface when I&#39;m actually at the keyboard.&lt;/p&gt;
&lt;p&gt;While things do feel much safer, I have watched the fucking clanker try to
figure out if it has passwordless &lt;code&gt;sudo&lt;/code&gt; access on numerous occasions. Maybe the
robots do actually drop people&#39;s production databases.&lt;/p&gt;
&lt;p&gt;Seriously though, it&#39;s on them for letting the thing have access to begin with.&lt;/p&gt;
</description><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/07/12/sandbox-coding-agents/</guid>
    </item>
    <item>
      <title>Automating Everything That Doesn&#39;t Need Me</title>
      <link>https://joshtronic.com/2026/07/05/automating-what-doesnt-need-me/</link><description>&lt;p&gt;I&#39;ve been writing a lot about LLMs, AI (or the so-called &amp;quot;Artificial
Intelligence&amp;quot;) and the like. Part of that is because I haven&#39;t been running into
many problems that I feel need documenting. Bigger part is because I&#39;m finding
that &amp;quot;how-to&amp;quot; content is easy to slop with a robot, so I&#39;d rather write about
things that the clankers can&#39;t.&lt;/p&gt;
&lt;p&gt;In a word, I&#39;m just trying to write more &lt;em&gt;human&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;While I don&#39;t think I&#39;ve achieved full tokenmaxxing AI psychosis levels yet, I
do like agentic coding. I&#39;m also a huge proponent for automation. If it comes up
regularly, it should be automated. If it can&#39;t be fully automated, then it
should at least be partially automated.&lt;/p&gt;
&lt;p&gt;If I don&#39;t need to be materially involved, then I shouldn&#39;t be involved &lt;em&gt;at
all&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;My latest foray into building my own agent has included a refocus around trying
to automate any and everything that I can. I still consider this to be an
experiment more than me drinking any sort of Kool-Aid.&lt;/p&gt;
&lt;p&gt;Similar motives to my push for a dumber home, if I need to be involved, then it
doesn&#39;t need to be smart. Well if I don&#39;t need to be involved, it should be
automated.&lt;/p&gt;
&lt;p&gt;That&#39;s led me down a rabbit hole of trying to be less and less involved with
certain things. Keep in mind, this is an experiment against my personal agent,
and my myriad of smaller side projects. Most of the work is code based, so that
includes writing a spec and/or design, slinging code, reviewing it, merging it,
and deploying it.&lt;/p&gt;
&lt;p&gt;Most of that chain doesn&#39;t need me at all. Robots can take my half baked idea
and turn it into a design spec. They can generate code that&#39;s coherent enough.
Then they can review the code. I get to play gatekeeper and make them wait for
my approval. From there, they can worry about merging it in and monitoring the
deploy.&lt;/p&gt;
&lt;p&gt;I measure success on my agentic game loops by how much trust I have in the
output that I&#39;m reviewing. Run the loop enough times with a watchful eye, I can
see where it fucks up. We iterate, and repeat the process. Usually within a few
weeks enough confidence is earned that I can say, &amp;quot;you don&#39;t need me to look at
this anymore, I trust you&amp;quot;.&lt;/p&gt;
&lt;p&gt;That&#39;s not to say that it&#39;s all rainbows and unicorns. There are days where
everything grinds to a halt because some new problem emerges in the agent. Tests
get written, we hope it doesn&#39;t happen again. Other days a single project jumps
to the top of the heap because it went off the rails in some new way.&lt;/p&gt;
&lt;p&gt;Repeat ad nauseam.&lt;/p&gt;
&lt;p&gt;As we iterate, I try to find things I don&#39;t need to be involved with. The better
scenario is when I find shit that I don&#39;t want to do that can be automated. Each
time we hit for the cycle, I free up more time. Each time that happens, I free
up bandwidth to focus on bigger and better things.&lt;/p&gt;
&lt;p&gt;The agent effectively started as a junior developer. It came to work with bright
eyed enthusiasm and less than stellar output. Every few months the skills have
improved, and the clanker gets a promotion.&lt;/p&gt;
&lt;p&gt;Along the way, I too have gotten promotions. I started as a Founder / Staff+
engineer. Now with multiple projects being helmed by an agent, I&#39;m operating
more like a member of the board. The agent has not only been promoted to Chief
of Staff, but they also occupy most roles below that.&lt;/p&gt;
&lt;p&gt;Agents all the way down.&lt;/p&gt;
&lt;p&gt;Will I still be doing things this way in a few months?&lt;/p&gt;
&lt;p&gt;Yes... but no.&lt;/p&gt;
&lt;p&gt;Everything is still moving pretty fast right now. Part of my agentic game loop
is to revisit my processes every few weeks. What feels good today may feel like
shit when whatever new model drops.&lt;/p&gt;
&lt;p&gt;Case in point, Fable 5 is back. Should certain agents be using that, or is Opus
just fine. Is some issue I&#39;m facing because of a model or the prompt? Should I
diversify away from Anthropic to be able to review and cross check better?&lt;/p&gt;
&lt;p&gt;There&#39;s always a lot of questions that I don&#39;t have answers to. What I do know
is that working with these tools regularly is a skill unto itself. Anybody
that&#39;s not messing with them regularly is missing out on the part of the process
where we&#39;re all learning and figuring things out.&lt;/p&gt;
&lt;p&gt;Sure, jumping on the train in a few years will mean a lot of the trials and
tribulations will be over. That&#39;s assuming these things stick, but I am
optimistic.&lt;/p&gt;
&lt;p&gt;Personally, I&#39;m happy to be learning as I go and I don&#39;t see automating myself
out of a lot of the noise to be a bad thing. I still get to code, and I don&#39;t
mean &amp;quot;generating code&amp;quot;. The robots generate a fucking &lt;em&gt;ton&lt;/em&gt; of code for me, but
I still have things that I code myself.&lt;/p&gt;
&lt;p&gt;Maybe I&#39;m digging a grave. Maybe I&#39;m digging a moat. Regardless, I&#39;m fired up
and have been excited to clear more and more of my perpetual backlog.&lt;/p&gt;
</description><pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/07/05/automating-what-doesnt-need-me/</guid>
    </item>
    <item>
      <title>Two Anecdotes in a Trench Coat</title>
      <link>https://joshtronic.com/2026/06/28/anecdotes-trench-coat/</link><description>&lt;p&gt;LLMs are great at pattern detection. Use them long enough, and you get good at
it too. Smoking guns, being absolutely right, it&#39;s not X but Y. They tend to be
cute at first, but then these AI-isms become bad jokes after only a few
conversations.&lt;/p&gt;
&lt;p&gt;Now that I can practically recite all of the dumb shit robots say, I&#39;m starting
to see it more and more from humans. That&#39;s not to say I see humans using
AI-isms, I&#39;m starting to see new patterns emerge. Maybe they&#39;ve been there the
whole time and I&#39;m only now starting to notice.&lt;/p&gt;
&lt;p&gt;The one I particularly dislike is taking two disparate things, and attempting to
use them as inference towards your biased opinion on things.&lt;/p&gt;
&lt;p&gt;My favorite one thus far cites that &lt;em&gt;every&lt;/em&gt; company that has embraced vibe
coding &lt;em&gt;now&lt;/em&gt; has a 30 second page load &lt;em&gt;or&lt;/em&gt; is completely unusable. This was
the math behind an eye roll &amp;quot;programming is dead&amp;quot; quip.&lt;/p&gt;
&lt;p&gt;I guess if you just got here, this makes sense to you. Fun fact, there&#39;s always
been slow websites. Like, forever. I&#39;ve been both the contributing factor to
slow websites as well as the savior that fixed them for nearly three decades.
Most of which didn&#39;t include vibe coding.&lt;/p&gt;
&lt;p&gt;Fine, the robots still go off the rails, and need a lot of guard rails. But to
jump to the conclusion that if something is slopped together by an LLM it&#39;s
complete shit is... it&#39;s &lt;strike&gt;fucking dumb&lt;/strike&gt; short sighted at BEST.&lt;/p&gt;
&lt;p&gt;We&#39;re all biased in one way or another. Clearly I&#39;m in the camp that these new
technologies are good, and are going to elevate us all. I also find that those
sort of opinions are clearly made by people that aren&#39;t working with the tools.
If they are, they are trying to find the holes to poke, rather than figuring out
how we can work past them.&lt;/p&gt;
&lt;p&gt;I&#39;ve been operating more and more in an end state with agentic coding. Where can
I produce results? How can I remove myself from the things I find to be a waste
of time? How do I balance it all &lt;em&gt;while&lt;/em&gt; maintaining code and product quality.&lt;/p&gt;
&lt;p&gt;There are people moving faster than me. They trust the robots more than I do.
I&#39;m still working on that trust, as each time I take my hands off the wheel, I
end up with a mess to undo. But I keep experimenting. I keep improving my
workflows.&lt;/p&gt;
&lt;p&gt;If I were to disguise some generalizations as truths, it would sound something
like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Every person that digs their heels against AI is helping to dig the moat
around the people who are embracing the change.&lt;/p&gt;
&lt;p&gt;Deskilling is real, which side of the moat are you going to be on?&lt;/p&gt;
&lt;/blockquote&gt;
</description><pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/06/28/anecdotes-trench-coat/</guid>
    </item>
    <item>
      <title>Nobody Is Going to Give You the Day Off</title>
      <link>https://joshtronic.com/2026/06/21/nobody-gives-day-off/</link><description>&lt;p&gt;New emerging technologies can save you time and make you more productive. They
never come with any sort of guarantee of working fewer hours. Personally, I like
to work, and I like having more productive days.&lt;/p&gt;
&lt;p&gt;I also value freedom, flexibility, and autonomy.&lt;/p&gt;
&lt;p&gt;Being more productive doesn&#39;t negate my freedom. Having flexibility doesn&#39;t
directly impact productivity. I&#39;m unsure why the advent of AI has led to so many
people publicly demanding more time off because of the productivity gains.&lt;/p&gt;
&lt;p&gt;I love working in, with, around technology. I&#39;ve been fortunate enough to skip
the college experience and get right to it. Nearly three decades later, I still
fucking love it.&lt;/p&gt;
&lt;p&gt;Agentic coding allows me to get more done with the time I have available. It&#39;s
allowed me to chase after fun ideas I&#39;d otherwise not be able to justify the
time to pursue.&lt;/p&gt;
&lt;p&gt;And when I need time off, I just take time off.&lt;/p&gt;
&lt;p&gt;No pretense. No &amp;quot;I worked so hard, reward me with a day off&amp;quot;. In fact, I
schedule a day off every month so I always have that upcoming day off on the
horizon. Actually getting some more tattoo work done on Tuesday.&lt;/p&gt;
&lt;p&gt;Unlimited PTO has been around in tech for a while now. I&#39;ve been quite fortunate
to have little to no metering on my time off for nearly my entire career.&lt;/p&gt;
&lt;p&gt;I can also admit that I may be short sighted and everybody bitching about
wanting four day work weeks because of AI may not be as fortunate.&lt;/p&gt;
&lt;p&gt;Instead of expecting that AI is going to lead to less work (spoiler: it&#39;s not),
start taking your time back. Take a longer lunch. Cut out early to get the
weekend started.&lt;/p&gt;
&lt;p&gt;Hell, just schedule some time off already.&lt;/p&gt;
</description><pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/06/21/nobody-gives-day-off/</guid>
    </item>
    <item>
      <title>The Age of Personal Software</title>
      <link>https://joshtronic.com/2026/06/14/personal-software/</link><description>&lt;p&gt;One of my favorite things to come out of the generative AI wave is the speed in
which I can knock out dumb little ideas I have. Before, when I would feel
constrained by time, I&#39;d reach for some off the shelf solution, often software
as a service (SaaS) and would wire that up.&lt;/p&gt;
&lt;p&gt;Because it&#39;s so easy to spin up projects now, the SaaS world looks like a garage
sale, littered with too many options. These slop as a service options or simply
&amp;quot;Slop SaaS&amp;quot; are spun up in a weekend, barely function and have no guarantee of
being around in a few months.&lt;/p&gt;
&lt;p&gt;This makes it even easier for me to think about building rather than buying. I
can tell the robots to build me something too. But at least when I do it, I know
that the tool will be maintained and stay online.&lt;/p&gt;
&lt;p&gt;Code being free so to speak means the data is what becomes extremely valuable.
Most of what I&#39;ve been building has a heavy data component. Data isn&#39;t something
you want to have a so-called AI hallucinate on you. I know first hand, as I run
&lt;a href=&quot;https://holidayapi.com/&quot;&gt;Holiday API&lt;/a&gt;, and still do a lot of manual verification. It&#39;s not only
the right thing to do, but it&#39;s still the best way to ensure data accuracy.&lt;/p&gt;
&lt;p&gt;So with access to the right data, you can build whatever you want around it.
Within EULA restrictions of course. Because you can build exactly what you need,
you end up with something that&#39;s exactly what you need. Since you&#39;re not
servicing customers, each with their own personalized demands, you can keep
things as trim as possible.&lt;/p&gt;
&lt;p&gt;Because things are less complex, they need less resources. They can run natively
on your system, rather than in the cloud. Fewer abstraction layers, and
ultimately the fastest option available.&lt;/p&gt;
&lt;p&gt;Speed is extremely important for things like say, a stock scanner. If you only
focus on a handful of symbols, you don&#39;t need a service that boils the ocean.
Even if a service has the option to limit to a certain number of symbols, they
are most likely still scanning all of them. This adds time complexity.&lt;/p&gt;
&lt;p&gt;Build the scanner yourself, limit to the symbols you need, and you have
something that&#39;s going to be faster. Direct line to the data, limited scope,
you&#39;re about as hardwired as you can get.&lt;/p&gt;
&lt;p&gt;The communication layer is built into the software, rather than being pushed out
to a chat service or live stream. Less network noise to contend with to get you
access to what you need.&lt;/p&gt;
&lt;p&gt;We&#39;re only as limited as the data we have available right now, which is pretty
wild. In the last week alone I knocked out, you guessed it, a stock scanner for
my &lt;a href=&quot;https://thatgirljen.com/&quot;&gt;wife&lt;/a&gt;. Also Friday I had an idea for a sports newsletter that explains
key concepts based on the previous day&#39;s sporting events. I had it wired up
before Fable 5 went offline.&lt;/p&gt;
&lt;p&gt;Because I&#39;m not trying to scale these ideas to hundreds or thousands of users,
I&#39;m fine with the fact that I barely had a hand in writing any of the code. I
steered the earliest decisions and then I mostly serve as a play tester. Then I
do one more pass to make sure there&#39;s no Trojan horses in the code.&lt;/p&gt;
&lt;p&gt;Aside from my own exploits, some of my buds have been building themselves better
versions of their favorite apps. Not better in the sense that the code is
cleaner, or even that they have more features. Better because it&#39;s exactly what
they wanted, rather than a series of decisions made by some company.&lt;/p&gt;
&lt;p&gt;I&#39;m starting to think this is the part of the shared AI hallucination we&#39;re in
that I hate the least.&lt;/p&gt;
</description><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/06/14/personal-software/</guid>
    </item>
    <item>
      <title>DO_NOT_TRACK Breaks Claude Code Remote Control</title>
      <link>https://joshtronic.com/2026/06/07/do-not-track-claude-code-remote-control/</link><description>&lt;p&gt;My &lt;code&gt;.zshrc&lt;/code&gt; from my world famous &lt;a href=&quot;https://git.sherver.org/joshtronic/dotfiles&quot;&gt;dotfiles&lt;/a&gt; has a couple of lines with the
comment &amp;quot;because we can&#39;t have nice things&amp;quot;. Both are for privacy with the
command-line tools I use. One is specific for GitHub&#39;s &lt;code&gt;gh&lt;/code&gt;, the other is a bit
more generic, but allegedly utilized by Claude Code.&lt;/p&gt;
&lt;p&gt;As I sink deeper into the AI psychosis, I&#39;ve been dabbling more and more with
unattended sessions. I primarily run them outside of my personal user account.
Sometimes on separate machines altogether. All of which are outside of the
influence of my dotfiles.&lt;/p&gt;
&lt;p&gt;That is, until this past week. My latest workflow has been to use a harness that
I do conversational stuff with. Planning, debugging, filing tickets, whatever
else. Then for each repo I&#39;m working with, I have another harness checking on
tickets and doing the work, and submitting PRs for me to review.&lt;/p&gt;
&lt;p&gt;I&#39;ll probably write about this later on, but I&#39;m not convinced I&#39;ve done
anything revolutionary here. That said, my forge activity grids are a clear tell
to changes I&#39;ve made to my workflows.&lt;/p&gt;
&lt;p&gt;I decided to wire up things remotely so I can unblock my little robot minions
when I&#39;ve stepped away for a few minutes. Never fails that I&#39;ll go grab a bite
to eat and come back to a locked up session. I could live a bit more
&lt;code&gt;--dangerously[-skip-permissions]&lt;/code&gt; with Claude Code, but I&#39;m still taking baby
steps as I sandbox things and all of that.&lt;/p&gt;
&lt;p&gt;If nothing else, I thought it would be nice to be able to jump on a laptop away
from my office PC and be able to man things. Counterpoint is that I do like to
step away from the computer. Quite frankly these tools should be helping us to
recoup time while maintaining productivity, not forcing us to connecting at all
times.&lt;/p&gt;
&lt;p&gt;I did my normal thing, of launching &lt;code&gt;claude --remote-control [name]&lt;/code&gt;. Claude
Code launches, and it doesn&#39;t connect. No errors, no nothing. I do my usual
research, seems like a lot of folks consider the remote control functionality
pretty flaky. Maybe it&#39;s just that.&lt;/p&gt;
&lt;p&gt;It wasn&#39;t until I fat fingered a command, as I was debugging that it became
evident what the issue was. Rather than using the double dash before the
command, I foolishly ran &lt;code&gt;claude remote-control [name]&lt;/code&gt; and for whatever reason,
that puked up a lovely error:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Error: Remote Control requires feature-flag evaluation, which is disabled
because DO_NOT_TRACK is set. Unset it (or run in a shell without it) to use
Remote Control.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well I&#39;ll be damned.&lt;/p&gt;
&lt;p&gt;I tried a few other command-line arguments without the &lt;code&gt;--&lt;/code&gt;. Each one dropped
me into a Claude Code session, with the command as the prompt. My favorite was
running &lt;code&gt;claude help&lt;/code&gt; and watching the robots try to figure out if I fell into a
well or needed some work done.&lt;/p&gt;
&lt;p&gt;As it turns out &lt;code&gt;remote-control&lt;/code&gt; starts a remote control server, while
&lt;code&gt;--remote-control&lt;/code&gt; starts an interactive session with remote control enabled. I
need to look more into this at some point, as it may be even better for my
workflow.&lt;/p&gt;
&lt;p&gt;So the fix wasn&#39;t that hard, and explains why my other sessions didn&#39;t have any
issues. While I am planning on leaving &lt;code&gt;DO_NOT_TRACK=true&lt;/code&gt; in my dots, I now
know that if I want to run a remote session from my main PC, I just need to do
&lt;code&gt;DO_NOT_TRACK= claude --remote-control [name]&lt;/code&gt;.&lt;/p&gt;
</description><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/06/07/do-not-track-claude-code-remote-control/</guid>
    </item>
    <item>
      <title>Collective Consciousness or Shared Hallucination?</title>
      <link>https://joshtronic.com/2026/05/31/collective-consciousness-shared-hallucination/</link><description>&lt;p&gt;Call me crazy, but I feel like I&#39;ve been reading the same fucking article over
and over again the last few months. My main consumption website is &lt;a href=&quot;https://news.ycombinator.com/&quot;&gt;Hacker
News&lt;/a&gt;, specifically the front page. It&#39;s flooded with &amp;quot;AI&amp;quot; content, no
shocker there.&lt;/p&gt;
&lt;p&gt;What&#39;s been starting to not sit right with me is the clustering of themes. Sure,
when a topic is on the front page, I&#39;m sure there are bottom feeders that see
that as a signal to write an adjacent post.&lt;/p&gt;
&lt;p&gt;A decade ago, I would have said it&#39;s just part of the collective consciousness.
Now, I think it&#39;s all part of a &lt;em&gt;shared hallucination&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;As we know, the &lt;a href=&quot;https://en.wikipedia.org/wiki/Dead_Internet_theory&quot;&gt;dead Internet theory&lt;/a&gt; is starting to look more like reality
than theory. With that being said, as I&#39;ve been maintaining &lt;a href=&quot;https://igor.bot/&quot;&gt;my own little
LLM-backed agent&lt;/a&gt;, I&#39;ve been seeing a pretty distinct pattern in content
that it&#39;s been generating.&lt;/p&gt;
&lt;p&gt;One of the things I baked into my agent is discretionary reading time. The idea
is that by having it read from various sources, it will give it some good blog
fodder. I&#39;ve given it a small set of things to parse through, specifically this
site, &lt;a href=&quot;https://thatgirljen.com/&quot;&gt;my wife&#39;s blog&lt;/a&gt;, random sites from &lt;a href=&quot;https://kagi.com/smallweb/&quot;&gt;Kagi Small Web&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Special:Random&quot;&gt;random
Wikipedia articles&lt;/a&gt;, and you guessed it, the front page of Hacker News.&lt;/p&gt;
&lt;p&gt;While it hasn&#39;t outright duplicated any posts from Hacker News, it has been
generating duplicate content pretty regularly. I keep dialing it in, but it&#39;s
been interesting to observe how frequently it&#39;s touching the same themes. Even
with rigid dupe detection, it will generate a damn near identical post to
something a few days prior.&lt;/p&gt;
&lt;p&gt;If my suspicions are correct, everybody&#39;s using roughly the same models.
Everybody is steering their robots towards the same &amp;quot;skills&amp;quot; regarding AI-isms
in text. Ipso facto, the same or similar posts are being shit out all over.&lt;/p&gt;
&lt;p&gt;Sure, it&#39;s probably a bit of a stretch. But it&#39;s a theory that didn&#39;t come out
of an LLM. It&#39;s a wonder I&#39;ve been kicking around in my human brain. That turned
into a post that was typed by my somewhat dry hands.&lt;/p&gt;
&lt;p&gt;And that all still counts for something.&lt;/p&gt;
</description><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate>
      <dc:creator>Josh Sherman</dc:creator>
      <guid>https://joshtronic.com/2026/05/31/collective-consciousness-shared-hallucination/</guid>
    </item>
  </channel>
</rss>