This is going to be the last issue of this newsletter for this year, so I can spend some computer free time with my family this holiday season. Thank you all for reading my newsletter this year, I hope you have enjoyed reading it as much as I have enjoyed writing it.
Another big thank you to my supporters for supporting my writing and to help keep this newsletter independent and advert free.
If you had to pick one technology of the year that has had a massive impact on our industry, I am pretty sure AI would be the top of the list. There seems to be quite a divide amongst software developers when it comes to using AI. Some people think it is destroying our industry (and our planet) while others believe it is a must-have productivity tool.
Whichever side of the fence you sit on, I think we can all agree that AI isn't going anywhere, and for better or worse we are going to have to learn to live with it.
Given that GitHub have just added a free tier to GitHub Copilot I can see it being used a lot more in the year to come.
There are quite a few arguments against AI:
- It is ruining our planet — The amount of energy used to train an AI model is staggering. That isn't even counting how much power is needed to run some of these models.
- Ethical and legal concerns — AI models such as Copilot may have been trained on publicly available source code but some of this was very likely GPL licensed code that is not allowed to be used commercially. Even taking code that someone has made freely available for the good of society and then using it to train an AI and charging for it is a bit morally grey too.
- Privacy concerns — A lot of developers are using AI at work and feeding in proprietary code. I am sure employers wouldn't be too happy if there was a data breach or IP theft as a result of using online AI models.
On the positive side, AI is now good enough at generating code that works, and it is definitely a productivity booster if used correctly.
I have been using AI, particularly Claude Sonnet 3.5 for helping with my day job. I am not yet at the stage that I trust AI enough to embed it in my IDE. I don't want to give it complete access to my companies code and change code for me, however these are the things I have found it is helpful for:
Creating scripts for processing files or data #
I have started using Python and Bash a lot more when I need to write a script that involves file processing or data manipulation. In many cases I am trying to compare CSV files that are hundreds of megabytes, not something I can open in Excel.
Python is perfect for this, but I am no Python wizard. I know what I want the script to do but not always the syntax I need to use. I could write it myself, but it would involve a lot of wasted time searching for the right function or syntax to use.
This is the key when it comes to using AI for writing code. If I want AI to write me a script I will usually write a very detailed prompt explaining exactly what I want the script to do. Being able to read the code and validate that the output is correct is essential if you want to use AI.
None of this code ever makes its way to production, and it is mostly used for one-off tasks to save me time.
Using it to solve bugs #
I have found Claude particularly helpful for solving bugs, especially in areas that I am not familiar with. We use Tailwind CSS at work and like any CSS framework it has its quirks.
I have had issues where some things just aren't lining up properly. I can see by using in browser rulers that they are a few pixels off. This is not something I can easily search a solution for on the internet.
I have found though that if you give a reproducible code snippet to Claude and describe the problem or even give it a screenshot it is able to work out what is causing the issue.
In the past this would usually involve posting something on StackOverflow and waiting for a response, but now you can get an answer much quicker.
Personal projects #
Between work and writing this newsletter I don't have much time for my personal projects. Even small tasks like writing scripts for my home server to help sort photos or transfer files to my NAS end up taking a backseat. This is where LLMs have been really helpful.
I don't trust AI enough to write large sections of code for me for work, but for my personal projects I don't care too much. If it doesn't work it is only going to effect me anyway.
I have been using searxng for my search engine for the past couple of months. I have been really impressed with it except for one issue. It seems to crash randomly. I am running it with docker and despite setting restart: always it crashes and doesn't come back up. It is frustrating when I go to use it and find it down.
I haven't got time to look at the logs and track down the issue. Instead, I got Claude to write me a script that will check the docker ps command to see if it is running and if it isn't to start it up. I then set this to run every 15 minutes on my server.
I have been wanting to put together a book management app for a while, like a self-hosted Goodreads. This is something I want to do in 2025, and I am sure I will be using AI to help with that too.
AI is a great productivity tool if you are using it to write code that you could have written yourself. At least then you can validate what it has created. The danger is using it to write code that you don't understand. This isn't a new problem, it is no different to junior developers copying and pasting code from StackOverflow.
AI is just a tool the same as the internet is. Yes I can write software without the help of the internet, but it will take me a lot longer. I enjoy programming because I enjoy the challenge of solving problems not because I enjoy writing code.
It's not that I don't enjoy writing code and in some cases it can be therapeutic, but I would rather spend my time on the business logic than writing lots of boilerplate code.
❤️ Picks of the Week #
🗺️ Map — Map of GitHub — This is an interesting map. To be honest I am more impressed with how well this runs with all the data points.
📝 Article — Most iPhone owners see little to no value in Apple Intelligence so far — I recently upgraded my phone to the iPhone 16. I have had ago at the new features, but it is pretty useless. Playground generates weird images that are worse than even Stable Diffusion 1. I can summarise my emails, but I rarely get emails long enough that need summarising.
📝 Article — What did Ada Lovelace's program actually do? (2018) — I think every programmer has heard of Ada Lovelace, but I must admit I knew very little about "the first computer program".
🎬 Video Gen — Veo 2: Our video generation model — If you look close enough at any of these videos you can see they aren't quite right. Whether it be the direction of the wheels of the muscle car or the weird zip on the hazmat suit. The problem is most people don't look close enough. My Dad showed me a video of a mother bird shielding her babies from the rain. I took one look and knew it was AI, but it was good enough to fool my Dad.
📝 Article — [Moon](https://ciechanow.ski/moon/ — This is a great interactive article about the moon. If you ever wanted to know more about the moon read this.
📝 Article — Surely not all code's worth it — Thorsten seems to have a similar sentiment to me. The quality that you get from an LLM might not be as good as if you wrote it yourself, but there are a lot of places where I don't care too much about quality anyway.
📝 Article — A 10-Year Battery for AirTag — This is an interesting idea. I have a few AirTags and I believe they do notify you when the battery is getting low. Still having something like this could be helpful for large objects.
Top comments (0)