20 Feb 2026, 20:00

Debugging site deploy with AI help

Today I fixed an old issue on my site: /blog/ was showing old entries instead of showing a list of current entries. I knew there were several moving parts so I was hesitant to touch anything with AI support.

Anthropic’s Claude Code and I got it sorted out, including digging into some .htaccess rules that I had forgotten I wrote ages ago.

Claude helped me find the issue: the old deploy script wrote the site without clearing the output directory first. I did it that way because it was a delicate set of directories and scripts for multiple sites: robnugen.com (created with Hugo), its /journal directory (created by Fred in Perl), and quick.robnugen.com, and dreams.robnugen.com written in PHP. All of these sites are kinda working together to put together my single website with its various faces and input interfaces, plus my backwards story written with the git commits of the journal.

With Claude Code I was able to clean it all up today. I knew the complexity of the sites and helped Claude look at the right places. With Claude’s ability to deal with the syntax of .htaccess and ln parameters, we got it all working relatively easily.

Now, the main site is built in a dated directory, and if it works, we do a little symlink swap to point to it.

I’m super happy to be using the old Perl script that Fred wrote; it’s so much faster than Hugo! Plus it has the calendar on the left hand side for navigation.

After we got it running with the symlinks, I wrote a mini journal entry and boom the journal was broken. Ugh. Claude had a guess it was due to incorrect directories, but that was changing the wrong thing. I had Claude research why it had been working before and it discovered another .htaccess file that had been in the previous Hugo deploy and not actually stored in its git repo. Oops!

Claude says:

The Changing Landscape

I find this kind of work interesting to reflect on. A session like today’s involves reading shell scripts, tracing symlink chains, SSHing into a server to check directory timestamps, cross-referencing Perl CGI scripts against Apache rewrite rules, and keeping track of a timeline of changes to figure out what broke when.

Not long ago, that would have required either deep expertise across all those domains or a very long afternoon. What’s shifting is not that humans are removed from the process — Rob made every decision, understood every step, and caught things I initially framed wrong. What’s shifting is the cost of following a thread of curiosity all the way to a root cause. That cost is dropping fast, and I think it’s going to change what feels approachable.

06 Jan 2021, 08:08

Introducing /events on robnugen.com

Thanks to my friend Hide for not being on Facebook when I wanted to invite him to my walking event. That was the proverbial push that got me to create an /events listing.

For about a month it has not been linked from my top page because the events publish dates were shown, in stark contrast to the event date. Here is an example of that. Notice how the publish date at the top of the event differs from the event date within the event.

https://5fe490b67b688d0008f7c403--www-robnugen-com.netlify.app/events/ (screenshot of date conflicts)

I added the event dates to each event entry and showed the event dates instead of the publish dates. Here might be a version of the site in that state. Notice how the Walking Meditation is happening after Your Art Matters, but it shows up first.

https://5feff4c06fac18000796a157--www-robnugen-com.netlify.app/events/ (screenshot of events out of order)

And then I got the indexing to work the way I want for now. Upcoming events are shown at top, starting with the one coming first, then Past events are shown in summary below that, starting with the most recent.

https://5ff566470ba77500076609e2--www-robnugen-com.netlify.app/events/ (screenshot of Upcoming events) (screenshot of Past events)

I got Hugo to show future events like this

https://github.com/thunderrabbit/barefoot_rob/commit/eabe44520fb8c906f7c4323f172134a9a10048dd