How to Run NextcloudPi with an NFS Data Directory on OpenMediaVault (Without Losing Your Mind)
Let me guess. You've got a Raspberry Pi running NextcloudPi, an OpenMediaVault box with a fat NFS share, and you thought, *"perfect, I'll just point Nextcloud's data directory at the NAS and call it a day."* Yeah. We've all been there. 🙃 What actually follows is a weekend of `Operation not permit...

How to Mount an OpenMediaVault NFS Share Direct to a Proxmox Immich LXC (The Clean Way)
Let me guess. You followed the incredibly popular Proxmox VE Helper-Scripts, got Immich humming in under ten minutes, and then reality hit: *where the heck do I put 400 GB of family photos?* Shoving them on your Proxmox boot drive is a one-way ticket to a full root partition and a very sad Saturda...

Bypassing Corporate VPN Restrictions with ZeroOmega, Tailscale, and MicroSocks
When working under strict corporate network policies—especially in banking environments—connecting to an enterprise VPN like Cisco Secure Client completely locks down your machine's routing. The moment you attempt to enable an OS-level VPN like Tailscale as a full exit node, Cisco detects the route...

How to (Finally) Backup Your Docker Volumes to S3 Without Losing Your Mind 🚀
Let me guess. You've got a shiny homelab running on Dockge, a dozen containers humming along perfectly, and that nagging voice in the back of your head whispering, *"What happens if the hard drive dies today?"* Yeah, we've all been there. Backing up Docker volumes should be easy, right? You just ...

Silent Production Killer: Managing Runaway Docker Logs
It’s 3 AM. Your phone is screaming. PagerDuty is yelling about a critical production server hitting 100% disk utilization. You SSH in, run a quick df -h, and confirm the worst: / or /var is completely packed. But when you check standard system locations like /var/log or systemd's journal, nothing l...

Effortless Flutter Navigation with Auto Route
Greetings from Cambodia on this beautiful day of the Water Festival holiday! As a developer and team leader, I always have my laptop with me. Today, I'm excited to share some knowledge with the Flutter community once again. In this post, I'll demonstrate how to implement a simple, type-safe naviga...

(Flutter) Easy State Management with ValueNotifier
Hello, fellow developers! Welcome to another blog post. Today, I'd like to share my experience with state management in Flutter. I've seen many developers debate the best approach, and I'd like to offer a simple and effective solution. ## The Paradox of Choice: State Management in Flutter The abu...

The Curious Case of the 308 Redirect: Why Your Telegram Webhook Might Be Failing on Firebase
If you're building a Telegram bot and hosting its backend on Firebase (App Hosting), you might have encountered a frustrating error message: **"Wrong response from the webhook: 308 Permanent Redirect"**. Upon checking your Google Cloud logs, you'd indeed see two entries for every single POST reques...

Add Jetpack Compose to your existing Android XML base and Navigation Component
As an Android developer, I appreciate new advancements like Jetpack libraries and Kotlin Multiplatform. For me, Jetpack Compose is interesting and offers many benefits. However, to leverage these benefits, we often need to write or restructure our projects differently to support it. Today, I will...

Flutter: GoRouter with ShellRoute
Hi, this is my third blog post. This post will explain how to use `GoRouter` with `ShellRoute` in a Flutter application. I assume you're already familiar with `GoRouter`, but here I will guide you through the entire setup and usage of `GoRouter`. ## Introduction `GoRouter` is a popular navigatio...

The easy way to manage the state of Flutter using flutter_hooks
I've seen many people discussing state management in Flutter, mentioning `bloc`, `provider`, `riverpod`, and others. However, few of them mention the `flutter_hooks` package. In this short blog post, I will explain how easy it is to use `flutter_hooks` for managing your Flutter state. ## What is ...

Flutter: Routing using GoRouter
Hi reader, today I want to show you how I work with GoRouter. GoRouter is a Flutter library currently maintained by the Flutter team. It can simplify our navigation. Imagine you have an application that requires the user to activate an account before using it. After the user is activated, if they ...
