Prompting tips for maintenance tasks – Part 2

This blog is also a living document for myself so I can improve and reference this working pattern in the future.

Model selection

If using ChatGPT for coding tasks, especially maintenance tasks, opt for o1, other models are crap and will hallucinate or forget more of the original code.

Avoiding regressions

If the goal is to alter existing code, ChatGPT risks breaking existing code by removing as part of the end result, a good prompt is something like below, to reduce the amount of feedback loop and future debugging.

[insert-here your own description of your problem to be solved by ChatGPT/LLM, with instructions]

Here is the code to be modified. I want the complete code as the final result, with the same number of functions as in the original.

First, tell me the list of ALL the functions you see, and which ones you will modify.
Show me all the resulting code from each modification.
Show me the final file with the modifications
.
Do not omit code for brevity, keep untouched code same as before.

[Insert here the original code to be maintained/modified/debugged by the LLM]

See also

A daily RSS summary for indieblog.page

As a gift to the community of content curators and RSS addicts, here is a simple script to generate a daily summary of all indie blogs visible in indieblog.page, because their RSS feeds only expose a few random posts while my FOMO obligates me to try to get them all 😅.

The script that resulted from my obsession is half cooked thanks to some LLM and is adapted to my needs so I'm excluding blog posts based on language or keywords in the title, feel free to adapt to your needs. So I encourage you to adapt the script to your need. And if not, just subscribe to the feed URL below.

Links

Demo

And here is a preview of what it looks like:

Hope it helps

Resilience

There are days when I find myself completely unable to do anything productive because I’m trapped in a very negative, depressive state of mind. I’ve noticed that external triggers often amplify these feelings—if someone criticizes me and I sense there’s truth to it, it can hit me hard. I’ll retreat deep inside myself, erasing any ideas and motivation from my thoughts. On top of that, I become extremely self-critical, turning everything in my life into a disaster—or at least convincing myself that it’s a disaster and that I’m worthless.

In those moments, I can’t even escape through hobbies like writing or drawing. Instead, a sort of darkness overtakes me, paralyzing any sense of positivity, and I end up viewing the world around me through a harsh, cynical lens.While these feelings may sound familiar to some, I’m fortunate in that I can often break free by changing my surroundings or simply letting time pass.

After a while, the negative energy tends to get replaced by a more measured perspective, and little by little, I manage to pull myself out of that awful swamp of self-defeat.What usually follows are lighter, more positive stretches—thankfully—along with a renewed sense of optimism, energy, enthusiasm, patience, and creative inspiration.

However, going through these cycles feels like being a shaken-up bottle. I never quite know where I stand, and I find myself swinging from one extreme to the other. The only comforting thought is that it does eventually pass and, for a time, I end up in a better place.This isn’t exactly new for me. I’ve experienced these ups and downs since at least my late teens, around the age of 17.It’s easy to withdraw into yourself when you don’t have to shoulder the responsibilities of a family you’ve built and love.

Love truly is the greatest gift I’ve been able to nurture and experience. But I can’t say the same for the family I didn’t choose—the one that shaped who I am today, but from which I’ve distanced myself, for better or worse. There are some roads we simply don’t want to revisit, out of fear they’ll reopen old wounds we’re not prepared to face.Unfortunately, many of us realize far too late just how much our childhood influences the adults we become.

I can’t help feeling some bitterness when I see how I’m still dealing with damage caused by adults who, looking back, were less responsible than I would have hoped. In a way, I was accustomed to extremes from a young age, and I’m learning—slowly but surely—to accept them in my life and to handle them with a bit more nuance. Since I’m not above blame or guilt myself, I’m also learning to be more forgiving of other people’s extremes, especially when they’re beyond my control. Some influences lift us up; others drag us down and fill us with anger because they leave us little say in the matter.

In the end, what truly matters is recognizing that these spells of darkness, overwhelming as they may feel, are neither permanent nor definitive of who we are. Each low point offers an opportunity to better understand our emotional triggers, to establish healthier boundaries, and to rediscover our inner resilience. And when the fog finally lifts, we emerge stronger, more compassionate toward ourselves, and better prepared to navigate whatever challenges lie ahead.

Alternatives

In the recent years, as I feel powerless facing the enshittification in mainstream tech and social media, I've opted for alternatives to many of my previous favorite digital places and tools, namely:

  • Google search engine ➡ DuckDuckGo.
  • Chrome browser ➡ Brave.
  • Google Calendar ➡ Fastmail.
  • Gmail ➡ Fastmail.
  • Google Tasks ➡ TickTick.
  • Google Office ➡ Obsidian.
  • Google Reader ➡ InoReader ➡ FreshRSS ➡ Miniflux.
  • Google Authenticator ➡ Aegis and Vaultwarden.
  • Google Play Store ➡ F-Droid, Aurora Store.
  • YouTube ➡ SkyTube (Android).
  • Browser* Passwords Manager ➡ Vaultwarden.
  • Trello ➡ Google Tasks ➡ TickTick.
  • Spotify ➡ Navidrome, Seeker (Soulseek client), DSub (Navidrome client), AntennaPod (Podcasts).
  • WordPress ➡ After looking for SSGs, I'll likely go raw HTML/CSS.
  • Wallabag ➡ Shaarli and with my own tool, Tapas.
  • InvoiceNinja ➡ Replacing with my own invoicing software.
  • Netflix, Amazon Prime Video ➡ Plex.
  • Windows ➡ Linux, MacOS.
  • GitHub ➡ Gitea.
  • LinkedIn ➡ Account closed, didn't attempt alternatives.
  • Facebook ➡ Account closed. Attempted Mastodon, didn't like it.
  • Instagram ➡ Account closed. Attempted Pixelfed, but it's too buggy.
  • WhatsApp ➡ I use it mostly because everyone is on it, but I use Signal with security concerned minds.
  • SensCritique ➡ Account closed due to their authoritarian moderators.
  • Lobste.rs ➡ Account closed due to their elitist culture.
  • Twitter ➡ Account closed due to their enshittification. Attempted Mastodon, didn't like it.
  • OVH ➡ Account closed. Hostinger.
  • Docker Hub ➡ Docker Registry self hosted.
  • Dropbox, iCloud ➡ Replacing some of it with Syncthing.
  • Zerobin ➡ Privatebin.
  • Most Newsletters ➡ Kill the Newsletter! + Miniflux, alternatively Changedetection.
  • Last.FM ➡ ListenBrainz / MusicBrainz.

This is an ongoing list and non exhaustive, plus it's only about my digital life. I have a lot to say about work and housing as well. Opting for alternatives has also expanded my technical knowledge and independence (see also https://sive.rs/ti).

The main lesson: diversify, stay in control of your life, stay curious and choose freedom, privacy and security over convenience.


Soulless code

Code isn’t just a tool—it’s a reflection of the coder’s mind, a part of their soul turned into logic. When I write code, it becomes mine. I take care of it, I understand it, I think about it. Even when I stop working, the code stays with me, like a thought I can’t let go. It feels alive, like something I’ve created, something that matters.

But when the code comes from an LLM or someone else, it’s different. I might use it, but I don’t really make it mine. I don’t take the time to fully understand it. I let others—or the machine—do the hard work. And often, it feels easier to just start over or forget it.

This kind of code feels distant, like it has no home. It’s less work for me, and that can feel good, like letting go of something heavy. But at the same time, it feels empty—like something is missing.

Maybe when we stop owning our code, we lose more than just control. Maybe we lose a piece of what makes coding human.

// Functionally correct. Morally bankrupt.  
// Just like the rest of us.