I write here to offload some RAM from my brain.

DrunkLeen

04 Dec 2025
#privacy#data-ownership

When the Desktop Becomes a Product: Microsoft, Valve, and the Quiet Battle for User Freedom

In this post, we examine the growing divide between Microsoft’s increasingly restrictive Windows ecosystem and Valve’s open, user-focused approach with Linux and SteamOS. We explain how Windows is turning core tools into monetized, cloud-dependent products, while Valve invests in open technologies that give users freedom and control. We highlight how Linux is rising not just because it’s improving, but because the alternatives are becoming more limiting. Ultimately, the post frames the future of the desktop as a choice between control and freedom.

03 Dec 2025
#rust#programming#error-handling#tokio#async

Error Management in async Rust — from practical experience to architectural depth

A small async Rust project shows how to run multiple HTTP requests in parallel, apply timeouts, isolate panics, and clearly classify errors. The focus is not just speed, but building predictable, meaningful concurrency in real-world systems. True async isn’t about writing code — it’s about understanding how to give structure to simultaneous work.

29 Nov 2025
#fibonacci#rust#python#algorithm#recursion#programming

Returning to the simplest complicated problem: a deep look at Fibonacci and two ways of writing it in Rust and Python

This post explores two different approaches to the Fibonacci problem — the naive recursive method and the optimized memoized version — to show how a simple sequence reveals deep lessons about complexity, structure, recursion, and algorithmic thinking. The naive version demonstrates exponential growth and wasted computation, while the memoized version shows how adding memory transforms recursion into a powerful and efficient tool. Ultimately, Fibonacci becomes a metaphor for the essence of programming: making the right choices.

19 Nov 2025
#terminal#permissions#linux#sysadmin

A complete guide to the id command in Linux

what the id command shows in Linux, how to view a user’s UID, GID, and groups, and which options are most useful. It also highlights where id helps in real situations—like fixing permission errors, checking user access on a server, or validating script execution.

15 Nov 2025
#rust#async#error-handling#tokio

Error Handling in Async Rust: From a Simple Function to a Real Health Monitor

The post explains how to handle errors properly in Rust async code. It shows why async errors are harder to debug, how to add useful context with anyhow, when to use structured errors with thiserror, and how to apply real patterns like timeouts, retries, JoinSet, select!, and tracing. It all comes together in a small CLI tool, leen-health, which checks multiple endpoints and outputs a clean JSON health report.

17 Sep 2025

Assembly language — a voice that’s still shouting in my head.

In this post, I talk about how discovering assembly language as a teenager completely changed the way I think about code. Even though I only wrote one simple assembly program in my life, understanding how the CPU actually works gave me a new perspective on loops, variables, memory, and performance. Assembly became a voice in my head—a technical conscience that reminds me to write cleaner, smarter code. I might never use it in real projects, but its influence is always with me.

01 Sep 2025
#degoogle#privacy#security#self-hosted#raspberry-pi#data-ownership

Why did I leave Google behind? (Degooglize)

In this post, I explain why I decided to degooglize my life. Because I care about my privacy and want real ownership of my data, I gradually replaced Google services with my own self-hosted tools like Nextcloud, Vaultwarden, and MailWizz, all running on a Raspberry Pi 5. The process was time-consuming and not always as convenient as Google, but now I feel much more in control and far more independent. I also encourage anyone who wants to do the same to start small and take it step by step.

1 / 2