The last year has been filled with moments of me oscillating between being dismissive and absolutely terrified by how AI tools will affect the software development industry. Over the last couple of months I’ve gotten my feet wet, but I figured why not ramp it up a notch? I’m going to try to spend an hour a day exploring these tools for the next year and record my successes and failures. At worst at the end of the year I’ve spent a lot more time on personal projects. At best, I’ll feel a lot more comfortable with the future of software development! So let’s get into it!
at the moment my tools of choice are
I like openrouter for its freedom of which models to talk to. I’m sure over the course of the year I’ll be switching up models constantly as I get better at using them as well as shiny brand-new ones coming out! I’ve had trouble getting into some of the other “AI Integrated” editors since the good ones I could find were all vscode forks. I’ve become a HUGE fan of Jetbrains products of the last couple of years. Aider lets me use the best of both worlds by being terminal based with some interesting hooks with watching files to get a fake IDE integration. All the responses you’ll see below will be formatted like aider outputs them.
Day 1 - Beefing up the ol’ Blog
What better place to start than getting this blog updated? (Wow I’ve really been slacking recently). I use a tool called Hugo for my blog. In mine time off there’s a couple of things that need changed to jump start blogging again!
Clean up git
I noticed that I had some files git thought needing staging. That shouldn’t be the case as I’m just getting started! I looked and saw it was tracking my .idea folder. Like I mentioned I’m full in on the Jetbrains stack now and this folder has a bunch of files not necessarily relevant to the project itself.
Prompt:
can you remove the .idea folder from my git tracked files, but still leave them on the underlying filesystem?
Response:
you’ll need to run the following commands to remove the .idea folder from git tracking while keeping it on your filesystem:
Remove the .idea directory from git tracking (–cached means it won’t delete the actual files)
Commit this change to your repository
Verdict: ✅ Got it right! and saved me looking at a man page :)
Get the blog building
I hadn’t run the server on this computer yet so I wanted to see if it could install the dependencies for me.
Prompt:
great, can you get the blog running locally for me?
Response:
I’ll help you get the blog running locally. Based on the files in your repository, it appears you’re using Hugo for your blog. To run it locally, we need to make sure Hugo is installed and then start the local server.
Since I don’t need to make any changes to your existing files, I’ll just provide the commands to get your blog running:
hugo server -D
This command will start a local development server with draft posts enabled. The -D flag includes draft posts in the local preview.
If you don’t have Hugo installed yet, you’ll need to install it first:
sudo apt-get install hugo
Or if you prefer using snap:
sudo snap install hugo
Verdict: ❌ It’s definitely close, but I’m on tumblweed so apt-get wouldn’t be right. The response was close though! I feel like that one was a bit unfair so I installed the packages manually through yast for now.
The blog didn’t build?
I ran the run command and was met with a “Page not found” error? :panic:
Prompt:
I’ve got the server running, but when I navigate to the localhost:1313 it just says “page not found”
Response:
I need to investigate why your Hugo site is showing “page not found”. This could be due to several reasons:
Missing theme
Configuration issues in config.toml
Missing index template
Could you please add the following files to the chat so I can diagnose the issue:
config.toml - This contains your site configuration
Any files in the layouts/_default/ directory, especially single.html, list.html, and baseof.html
Any files in the themes/ directory (or at least tell me which theme you’re using)
Once I have this information, I can help fix the issue.
Tokens: 6.2k sent, 139 received. Cost: $0.02 message, $0.07 session.
config.toml
Add file to the chat? (Y)es/(N)o/(D)on’t ask again [Yes]: y
I see you’ve shared your config.toml file. Looking at it, I can see you’re using the “hugo-theme-monochrome” theme. The “page not found” error is likely because the theme is missing or not properly installed.
Let’s check if the theme is installed and install it if needed:
ls -la themes/hugo-theme-monochrome
Verdict: ✅ Right again, I incorrectly clone the repo since it’s been so long!
Let’s get building
With the submodule installed I tried building and got actual compilation issues this time. So I asked my pair for help!
Prompt:
can you run the hugo server for me and suggest fixes for the errors it encounters?
Response:
I’ll help fix the errors in your Hugo site. The main issue is that the theme is trying to use Google Analytics templates that are no longer available in the current Hugo version.
To fix this, I need to see the content of the theme’s head.html file. Please run this command and share the output:
Once I see that file, I can provide the proper SEARCH/REPLACE blocks to fix the issue.
Tokens: 8.6k sent, 102 received. Cost: $0.03 message, $0.17 session. cat themes/hugo-theme-monochrome/layouts/partials/head.html Run shell command? (Y)es/(N)o/(D)on’t ask again [Yes]: y Running cat themes/hugo-theme-monochrome/layouts/partials/head.html Add command output to the chat? (Y)es/(N)o/(D)on’t ask again [Yes]: y Added 52 lines of output to the chat.
can you fix the error?
I’ll fix the error in your Hugo site. The issue is that the theme is trying to use the Google Analytics template that’s no longer available in the current Hugo version.
Let’s create a custom Google Analytics template to replace the missing one:
layouts/_internal/google_analytics_async.html
<<<<<<< SEARCH
=======
{{ with .Site.GoogleAnalytics }}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ . }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ . }}');
</script>
{{ end }}
>>>>>>> REPLACE
Now, let’s modify the theme’s head.html file to use the GA code from your config:
<<<<<<< SEARCH
{{ if (.Scratch.Get "params").ga_code }}
{{ template "_internal/google_analytics_async.html" . }}
{{ end }}
=======
{{ if .Site.GoogleAnalytics }}
{{ template "_internal/google_analytics_async.html" . }}
{{ end }}
>>>>>>> REPLACE
After applying these changes, run the Hugo server again:
hugo server -D
This should resolve the error by providing the missing Google Analytics template and updating the theme to use the standard Hugo configuration for Google Analytics.
Verdict: ❌ What it suggested might have worked, but it missed the point. What I really needed to do was update my hugo theme to be one that didn’t contain references to a removed hugo feature. Thankfully I didn’t have any breaking changes and the site was building!
One last step
Everything was building, but I want these posts on their own category like my dev logs (which I think this series will help immensely!)
Prompt:
for the blog post for today’s date, can you change the category to “Hour a Day: AI” and make sure generating feeds and having a selector works for that?
Response:
To change the category for today’s blog post and ensure feed generation and category selection works, I’ll need to examine and potentially modify these files:
content/post/2025/03/2025-03-26-new-blog-post.md - To change the category in the front matter
layouts/_default/rss.xml - To check/modify feed generation
Possibly config.toml - To ensure the new category is properly configured
Could you please add these files to the chat so I can see their current content and make the necessary changes?
Tokens: 3.1k sent, 118 received. Cost: $0.01 message, $0.43 session. config.toml Add file to the chat? (Y)es/(N)o/(A)ll/(S)kip all/(D)on’t ask again [Yes]: y content/post/2025/03/2025-03-26-new-blog-post.md Add file to the chat? (Y)es/(N)o/(A)ll/(S)kip all/(D)on’t ask again [Yes]: y layouts/_default/rss.xml Add file to the chat? (Y)es/(N)o/(A)ll/(S)kip all/(D)on’t ask again [Yes]: y
I’ll make the necessary changes to implement the “Hour a Day: AI” category and ensure it works with feeds and selectors. Here are the changes:
First, let’s update the blog post to include the new category:
content/post/2025/03/2025-03-26-new-blog-post.md
<<<<<<< SEARCH---title:"NewBlogPost"date:2025-03-26T00:00:00-04:00draft:truecategories> :
- "Hour a Day: AI"
tags:
- blog
- ai
---
=======
---
title: "New Blog Post"
date: 2025-03-26T00:00:00-04:00
draft: true
categories:
- "Hour a Day: AI"
tags:
- blog
- ai
---
>>>>>>> REPLACE
Now, let’s add the new category to the navigation menu in config.toml:
The RSS feed template looks good as is - it will automatically include the new category since it’s using the site’s regular pages.
After applying these changes, you’ll have:
Added the “Hour a Day: AI” category to your blog post
Added an AI tag to the post
Added the new category to your navigation menu
The RSS feed will automatically include the new category
To test these changes, you can run Hugo’s server:
hugo server -D
Verdict: ✅ I was really surprised by this one, I didn’t think I gave it nearly enough context to figure out how to do this. Especially since I added the theme to the .aiderignore file.
Overall I thought the first day went really well! The ratio of successes to failures is about in line with my previous attempts to use AI. I’ve read a lot of blog posts, and talked to my coworkers about ways to increase the success rate, so I’m excited to start trying those methodologies out! Tomorrow I’m going to see how quickly a tool can be whipped up to make adding the prompt + response sections of this blog faster!