Empathy in Partnership

Partnership—aka living together—can be challenging, but it also opens the door to step up and lead by example.

  • Don’t take it personally if your partner is mad at you. It could be they feel unsupported, overwhelmed, or just tired.
  • Don’t respond in anger or with resentment if your partner yells at you. Stay calm and see how your help or support can improve the situation.
  • Don’t try to convince your partner at a bad time, like when they’re in a rush. Maybe they just need some time alone.
  • Don’t get mad if your partner can’t decide about simple things. Instead, try taking care of some of their mental load.
  • Don’t get mad when your partner makes mistakes, and don’t “remember that” later just to make them feel bad. It’s hurtful.
  • Don’t answer right away—listen and acknowledge your own mistakes, even if you want to justify your behavior. Keep those explanations for calmer discussions.
  • Keep your harsh words in your head.
  • Support your partner when it’s very difficult for you or when you feel like you’re imploding, because that’s how you grow into the partner they need.

Real DevOps do/dont – a list

[hint: this is not a serious post, I'm sorry if you feel attacked by this]

Inspired by Google search results for "Real Devs dont" (https://www.google.com/search?q=%22real+developers+dont%22).

  • Real Devs don't use UI - they use CLIs instead (https://terminaltrove.com/).
  • Real Devs don't need an IDE like VSCode, instead they code in production using Vim (and of course real devs use Nano. No, Emacs, https://xkcd.com/378/ ).
  • Real Devs don't use frameworks, they use libs.
  • Real Devs don't comment their code, there is no time for that.
  • Real Devs don't test their code, instead they throw all changes in production to save time.
  • Real Devs don't use their trackpad, instead they do practice touch typing (https://www.typingstudy.com/) and learn every app shortcut by heart, or build their own.
  • Real Devs don't need unit tests, instead they build programming skills.
  • Real Devs don't use debuggers, instead they stare at the stack trace for hours.
  • Real Devs don't joke or laugh at work, instead they blame every failure on poor colleagues competency.
  • Real Devs don't use Website builders, instead they code in raw HTML and CSS and throw JS away.
  • Real Devs don't trust anyone.
  • Real Devs use mechanical keyboards.

Piracy is now the rule, not the exception

This is so to the point: OpenAI Furious DeepSeek Might Have Stolen All the Data OpenAI Stole From Us (404media.co), thanks to Y. C. for sharing.

The question: if Meta and OpenAI are allowed to steal copyrighted content and make money out of it and out of any legal consent, and if all the LibGen/ZLib/Anna's Archive content was sniffed by AI models it means each of those big tech companies consider it is legal to steal content and grow their business without respect for the law. I would assume so that if this kind of act of piracy is treated as necessary for businesses, piracy is de facto legalized and commoditized.

They are all pirating content directly or indirectly by using AI models or libraries that make this content accessible to any mere mortal and for every business.

I do agree with Anna & their team, this is a clear evolution of the jurisprudence and a copyright reform is therefore needed. Until then, there is no ethical distinction between big tech and "pirates". See also Copyright reform is necessary for national security (annas-archive.li)

Honest tech definitions for dummies

  • 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 piracy stuff self 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.

[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