Things nerds commonly have, but I don’t

Inspiration: https://forkingmad.blog/things-people-commonly-have-but-i-dont/

In a conversation recently with a colleague I casually mentioned I didn't have something. He was shocked... "but how then do you..." was the response.

So here's my list of don't haves

  • Spotify account. I have CDs and I've bought a CD player from KLIM. I just find the CD to be a very nice looking and collectible object, pleasant to listen to. Also I feel it's mine, and I like the creative goodies and packaging that you don't have with a digital copy of an album.
  • A NAS. I don't need a NAS to backup pictures or stream videos through Plex. I have a VPS where I run a Cloudron which hosts most of my web apps, one is for sharing my family pictures. And I also use Syncthing, and Dropbox to keep my photos in sync and backed up in several places. And next to that I use Plex but I just don't host it on my infra, I pay a provider for their generous bandwidth and for the fact they take care of streaming my content through Plex. It's so fluid. I couldn't and wouldn't maintain this at home.
  • A gaming machine nor a gaming chair. Seriously I do not see the point, because I consider most games do not require super advanced graphics or material to be fun. In fact I love minimalistic games with pixellated art. I'm old and also feel nostalgic of specific games that are all forgotten now. Anyway I'm developing the best game ever, which is the only one I play. More about this soon, when I'll buy the domain for the website, after I decide on a name.
  • A mechanical keyboard. Seriously, what's the deal is with those noisy expensive impractical keyboards.
  • A 3D Printer. Seriously, this is so cool to possess one, I just don't have the space for this now. Maybe when I'll have my own space in our future home.
  • A VPN. Sure it sounds secure but it's just someone else glorified proxy, and it's vulnerable to authority requiring logs or to any part getting compromised. You have to blindly and naively trust the VPN and people behind it to not disclose your information when their company will be required to by the authority. If different contexts I use them, i.e at work, of course, wherever it's mandatory.


Lazy coding done right

When performing a task, even if it's a one-off, I believe it's a mistake to approach it with a short-term vision. We might solve many problems just for one occasion, but that's the nature of any project; each one is unique and happens only once. Should we really ship it with a short-term vision and skip automation, documentation, and testing just because they require more effort? Should we be so lazy?

I believe being lazy can be a good thing, but we shouldn't be so lazy that we skip essential steps like testing, documentation, information processing and retention, automation, collaboration, asking questions, and improving processes. These efforts will surely pay off for our knowledge and efficiency, or if not for ours, then for the team's knowledge and efficiency, for maintainability, and to reduce tech debt and bus factor. Of course, that requires thinking like a chess player, calculating our moves, and doing some planning.

For example, during an infrastructure migration, we faced many integrations that needed testing from the ops side, yet we lacked internal QA expertise. We rushed to collaborate with others to gather information on testing their flows. Even though we didn't have time to write automated tests immediately, I documented all the information so we could use it for future monitoring and automation purposes.

Another instance is our workspace setups, which were initially painful, yet many developers accepted it. When I had to use their setup script, I found many outdated or irrelevant steps and undocumented instructions. I automated those steps and fixed the instructions. Now, newcomers recognize the value of this, and even people external to the project can set it up without prior knowledge, saving days of effort and enabling easier contributions.

When I have to do a task, even just once, I try to make a script and document it. If I have to do it more than once, I try to automate even more parts. Each time I return to a task I'm becoming too familiar with, I feel the urge to improve the process, document and automate it, make it configurable, flexible, shared, robust, and efficient. When performing repetitive operations, I script them, always. At least partially if not fully. If mistakes occur, the fixes are likely to be automated or documented.

When asking for help, I provide context, and when doing something useful, I share the news or update the docs so people can be aware and benefit from it. I often receive positive feedback for this approach, as people start to realize that automation is more efficient, forgiving, and less risky than repeating operations manually.

Sometimes it's more tempting and fun to spend two days automating something rather than spending an hour running an imperfect automation hundreds of times. You have to balance the pros and cons of fun versus efficiency, depending on your priorities. However, it's risky to automate something you don't fully understand. You need to acquire some level of expertise in a topic before embracing automation and contributing improvements. It's dangerous to automate something you don't know how to run, debug, or test manually.

LLMs can help automate tasks, but you should be able to code and debug without them. You need to perform a task fully without LLMs or scripting before attempting to script it. It's good practice to study the documentation, API, and man pages of the tools you use and learn to troubleshoot effectively.

I believe every second counts, and even if we're solving a unique problem for the first time, the knowledge gained is worth documenting. This way, we can extract a process or history from it, which can be helpful for us, our team, or anyone else if shared.

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.

Writing

Today is international logic day, and I really want to read logicomix comic strip someone offered me for Christmas.

I realize as a logician that I can perfectly organize some stuff and as ADHD I feel completely stuck with some tasks yet to have my attention drained by completely unrelated events.

Often the fix or the way to disconnect from my mental paralysis is to write, walk, climb, talk, tell, draw or code.

It's a form of calm expression of self, an escape from news, emails, todo lists, code problems, mental load and daily stress for all the code and life bugs I can't unsee.

Like this blog where I write without caring if anyone is reading, and with no other purpose but the act of writing.

Sans

Can you live a day at work and at home "sans"?

Sans smartphone?

We used to boot a computer and even a modem and be actually productive and enjoy life without checking for news, notifications, or email every 15 minutes.

Sans version control conflicture crap due to using Git-ware conflict-friendly patterns?

We used to just work together on code and discuss code, without focusing on the version control tooling.

Sans CI/CD tools to validate your work?

We used to validate our work before committing, in the old days.

Sans markdown?

We used to be able to read and write text without non-sense formatting, HTML was even a thing.

Sans proprietary note taking digital tools (Obsidian, Notion)?

We used to take notes on paper or in our own text editors in the past and format our notes in "raw" HTML.

Sans LLM for coding?

We used to reason about code and go read a programming language book or ask for help from colleagues in case of doubt.

Sans daily upgrades and ads and other modern web crap?

We used to have nice experience with computers.

In a world that used to be simple, what other "sans" would you can think of?