AI Journal: August 2025

Date: 2025-08-16

Contents

An Experiment

I've changed my mind about LLMs usefulness to me as a software engineer. There are all kinds of problems with it -- social, ethical, environmental -- and I can completely understand not wanting to use it for those reasons. The hyper-exuberance coming from companies with something to sell is off-putting. I was very anti-AI until recently.

What changed? At work, we were directed to start integrating Cursor into our software engineering efforts. If I'm going to do something, I want to do it well, so I decided to embrace the technology and master it. I dove in, learning, reading and doing as much as I could -- and I was surprised. I had been afraid that LLMs would sap the "fun" out of programming, and make me settle for mediocrity. What I discovered is that I could get code that met my standards and Cursor made me better at my job. My expertise plus the power tool of AI gave me a huge boost. More of my mental energy is now focused at a higher level, and frankly, it feels less stressful. In short, I've gone from sour skeptic to enthusiastic practictioner.

Now I'm trying to learn as much as I can. I've decided to publish a diary in addition to occasional blog posts.

08/07/2025

I use Syncthing, and I like to install it manually. I used Gemini Pro 2.5 to generate a Python installer script. It finds and downloads the latest version, checks the sha256, verifies the signing key, and installs it to a default directory.

I changed two or three lines of the script that was generated, but it mostly worked as-is. I read through it and I couldn't have done much better. In fact, it handled cases that I probably wouldn't have bothered with since it's just for my personal use. Of course, there are lots of other options for installing Syncthing, and it's not really hard to do the steps manually, but get the script from Gemini took less time than a single manual install and I have total control.

Game changer? Not even close. But still pretty useful.

08/14/2025

Read about MCP (Model Context Protocol) servers, both the theory and how to implement them.

https://modelcontextprotocol.io/docs/getting-started/intro

Used Cursor to diagnose a TTY error in a docker container. It correctly diagnosed the issue and gave me a workable solution. I researched the solution independently and learned something I didn't know. My co-worker had spent some hours trying to dig into this but LLM + human review solved it in minutes.

The thing I didn't know (this summary from Gemini):

The test -t 0 command checks if standard input is connected to a terminal, allowing a script to know if it's being run interactively. Conversely, test -t 1 checks if standard output is connected to a terminal, which determines if the script's output is being displayed on a screen. Together, these commands let a script adapt its behavior based on whether it's interacting with a user directly or with another program or file.

So if [ -t 0 ] && [ -t 1 ] let's us test we're running interactively.

Cool, and I learned something!

08/15/2025

Used Gemini 2.5 Pro to generate a small shell script and a README to go along with it. It wasn't complicated and would have been easy for me to do myself, but using the LLM freed up a little of my attention to go elsewhere.

I also used Gemini to help me set up my Gitlab CI build for Zola, something that's been on my list forever. Quick, painless, done.

Prior to this, since moving my blog from Cloudflare a few years ago, I was just building locally and pushing the public folder. It's fine, but a little clunky. With this new setup, I was able to remove the public folder and the processed images, but this still leaves them in git history.

So I decided to use git-filter-repo to clean up history. I glanced at the docs, and then prompted ChatGPT 5 for the command line. It confirmed my hunch, and told me how to make sure I was running this safely. I cleaned up history, tested everything, and force pushed it.

Again, I could have done all of this myself and LLMs are notoriously inaccurate, but the combination of competence/expertise/knowledge and a giant text engine assisting has been helpful to me.