- AI Agent: a cheap junior employee who has root access to your system and production and will fake competency and waste your money. Have fun.
- All-in-one calendar/messenger/file sharing app: oh, look, they generously manage your most sensitive data with good intent and cheap costs: your security and privacy is not a problem it seems. Run away even if it's free.
- Anti-AI: someone using AI but bitter about it officially.
- Application logs: something you stare at while thinking about the sense of your life.
- Backups: something everyone is supposed to do but never does. Tip: you can have world-class data backups for free, feed them to some LLM prompt or share them in private LinkedIn messages or in private GitHub repo, they will likely leak later in some hack or some LLM output.
- Bugs: something that occurs to you because you didn't RTFM.
- CDN: a disaster waiting to happen.
- CI/CD pipeline: a glorified shell script that compiles your code, usually wrapped in YAML or in Groovy or a messy mix of both. Nobody cares it until it breaks. If you are a developer, blame any pipeline failure onto the CI/CD tooling pretend your code works on your machine.
- Coding: some ancien art you go back to after wasting 4 days debugging AI-generated code.
- Contabo: cheap plastic VPS.
- Cloud: a big garage with computers, related to random outages and expensive certifications.
- CloudFlare: a tool to protect robots from humans trying to use internet.
- DevOps person: someone debugging your code and your production environment.
- Docker: a packager for your bloated app and your dependency hell.
- DuckDuckGo: a private search engine hosted by big tech and using big tech search results and funded by big tech. Yeah very private.
- Ecosia: a green washing search engine.
- Git: a simple version control tool to make your life miserable.
- Google search: a search engine for ads.
- Hetzner: cheap VPS for your
piracystuffself hosted business applications. - Home hosted: piracy stuff or very sensitive stuff running on a Raspberry with zero backup. Do not mixup with Self hosted.
- JavaScript: sugar for the web.
- Kubernetes: because Docker wasn't complicated enough, this is a glorified infinite loop that restarts your bloated apps when they crash, and they will. It's also good to have on a resume.
- LLM: a tool for text generation you can use to save you from developing skills. Some people call it general AGI. Ok, AGI, go win the lottery for me.
- Newsletter: legal spam nobody reads.
- Passkeys: a tool to prevent humans from using a tool on multiple devices.
- QR Codes: links that force you to be glued to your phone and run a crappy app to avoid talking to human beings. It's the modern way to ordering anything. If you want I can generate infinite QR Codes for only 10$ per month.
- Quantum: a marketing term to make any bullshit sound more legit. Oh, there is it, a quantum LLM.
- Reboot: something you do when you are too lazy to RTFM.
- RTFM: reading the manual is something you never do unless to prove someone else wrong or when it's time to understand the programming language you are using for ten years.
- Self hosted: some barely secured docker containerized app running in some cloud like Hetzner. What is "self" about it? You decide. Maybe the fact it's installed by some human following a recipe. Impressive.
- Spotify: a scam acting like a glorified Winamp clone that randomly removes content from your favorite playlists, rob you and artists.
- Substack / Bearblog / Dev.to and other blog platforms: a recycle bin for your ideas.
- Seedboxes: A place for exchanging free Linux distributions,.NOTHING ELSE of course.
- the Onion, Le Gorafi: satire websites that compete with D. Trump for the most stupid headlines.
- URL shorteners: a good legal way to ease phishing attempts. It's also a tool used to hide mostly useless sometimes good links behind magic ephemeral links. You remember that good site? Was it blb.lb/8378hdkf? Or goo.gl/hdk792? Who knew it would be such a terrible idea. Oh, did you see this new quantum URL shortener?
- VPN: a glorified proxy.
- Web scraping: a way to fix the lack of APIs. Also a lazy yet professional way to CTRL+C / CTRL+V content from websites.
- YouTube: ads streaming service.
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. This is the prompt I use when I want to optimize for retro-compatibility and avoid too much diff between old and new code.
[SPEC, aka insert-here your own description of your problem to be solved by ChatGPT/LLM, with instructions, followed by the text below]
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.
Show me the final file with the modifications.
Do not omit code for brevity, keep untouched code same as before, with no new comments and no change to existing code styling, syntax, indentation and comments.
[CODE, aka Insert here the original code to be maintained/modified/debugged by the LLM]
When ChatGPT is done with the code generation, I output the original and newer versions of the code in something like my favorite diff viewer for code changes, or something like https://www.diffchecker.com/text-compare/, and I review the differences. When it seems good, I test, then I commit.
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
- Source: https://gitea.zoemp.be/sansguidon/snippets/raw/branch/main/cron/generate_indieblog_daily_rss.php
- Feed URL: https://classic.zoemp.be/indieblogv2_feed.xml.
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:
- Audible ➡ AudioBookShelf (or Plappa on iOs), alternatively Jellyfin (also supported by AudioBookShelf).
- 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 instead ideally.
- 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.