RSSAmplifier

Blog

Asaduzzaman Pavel

Blog

iampavel.devRSS feed ↗34 posts

Latest posts

The NixOS Tools That Actually Make a Difference

Ten community tools I keep on every NixOS machine. They fix the parts of the Nix workflow that are genuinely annoying without them.

TimescaleDB Continuous Aggregates: What I Got Wrong (and How to Fix It)

Continuous aggregates in TimescaleDB looked like a silver bullet for my crypto data performance problems. They weren't. Here's what I learned after two months of fighting materialization lags, chunk explosion, and rigid query patterns.

When Exchanges Lie: Outlier Detection Across 150+ Crypto Data Sources

Integrating 150+ crypto exchanges revealed systematic fraud: fake volume, ghost liquidity, crawler-aware APIs. Here is how to detect it.

Twenty Years Since My First PHP Script

It has been 20 years since I wrote my first PHP script in 2006. The code was terrible, the forum worked anyway, and here is what I wish I knew then.

Atomic Operations in Go

How I actually use sync/atomic for lock-free programming when a mutex is too heavy, and the weird edges you hit along the way.

Home Assistant Works Great Until It Doesn't: 10 Years of Lessons

Home Assistant promises local control and privacy, but the reality is a house of cards. After 10 years of building smart homes, here is what breaks and whether it is worth it.

The Only Prometheus Metrics I Actually Alert On

Essential Prometheus metrics for applications, servers, and databases. What the Golden Signals miss and why your Alertmanager config is probably wrong.

The Meta Tags That Matter (And the JSON-LD That Gets You Cited)

I thought meta tags were optional until my articles kept getting outranked by thinner content. Turns out Google was speaking a language I was not.

Go 1.26 new(expr) and the pointer problem I thought was solved

The new(expr) syntax in Go 1.26 should have let me delete my generic ptr[T] helpers. It almost did.

Go Bitwise Flags and Bitmasks: Configuration Pattern Guide

How to use bitwise flags, bitmasks, and iota for configuration in Go. Learn bitwise OR, AND, XOR operations, set/clear/toggle patterns, and practical examples with JSON serialization.

tmux + Neovim + AI: My tdev Workflow for AI-Powered Development Sessions

How I built a custom tmux workflow for Neovim tmux integration and keeping editor and AI assistant in sync, with simple pane navigation and zero friction context switching.

NixOS vs Traditional Linux: Why I Made the Switch and What I Learned

After years of broken updates and configuration drift, NixOS gave me reproducible, declarative Linux. Atomic rollbacks, Flakes, and the real learning curve, everything I wish I knew before switching.

Bash Essential Aliases and Functions

Practical bash aliases and functions - navigation shortcuts, git helpers, safety nets, and quick config edits I use daily in my terminal workflow.

I Assumed SvelteKit 5 Would Just Work. I Was Wrong About the Mental Model.

SvelteKit 5 migration looked simple, but the runes mental model caught me off guard. Here is what I learned after three days upgrading a production app.

Multi-Agent Orchestration in Go

I wasted a weekend on LangChainGo agent frameworks before giving up. Here is the simpler approach that actually works with local models: direct LLM calls, clear boundaries, and no parsing gymnastics.

How to Actually Read Nix Error Messages (Without Crying)

Nix errors are famously incomprehensible. Here is how to decode them without losing your mind: read traces bottom-up, recognize the five common error types, and use the right debugging commands.

Reproducible Dev Environments with Nix and direnv

How I use Nix and direnv to create isolated, reproducible development environments. No more "works on my machine" — just clean, version-pinned shells that activate automatically.

Notes on My First Factorio Mod: Why I Stopped Trusting the Shift-Click Dance

A look at my first experience with Factorio's Lua API, building a tool to fix the stack size chore.

How I Organized over 100 NixOS Modules Without Going Crazy

My first NixOS flake was a 500-line monster. Here is the flake-parts pattern that keeps my over 100 modules manageable, testable, and actually composable.

Deploying SvelteKit to Cloudflare Workers for Free

A step-by-step guide to hosting your SvelteKit app on Cloudflare Workers at zero cost. Learn the exact configuration, common pitfalls, and why this beats traditional hosting.

AI-Built Apps Are Breaking Businesses

AI tools let anyone ship fast, but most AI-built products carry hidden risks that surface at the worst time. Here's what breaks and why.

How I Built a Factorio 'Auto Mall' Generator in Go

How I used Go to automate the tedious part of Factorio's circuit network: building a self-monitoring mall for roboports and spaceships.

Cloudflare Workers: What I Learned Building With Them

Cloudflare Workers are more than just a serverless platform. Here's how I actually use them for routing, API gateway, and more.

Notes on Rolling Checksums: A Weekend with rsync's Adler32

A look into implementing a rolling Adler32 checksum in Go, inspired by the rsync algorithm and Andrew Tridgell's research.

Notes on Testing: Why I Prefer Testcontainers Over Mocks

Mocks often lie. Here is why I prefer using Testcontainers for integration testing to ensure my code actually works with a real database.

Practical Notes on DRY: Why I'm Okay with a Little Duplication

The 'Don't Repeat Yourself' principle is often applied too early. Here is why I prefer duplication over the wrong abstraction.

Building Tool-Using AI Agents in Go with LangChainGo

A hands-on guide to building production-ready tool-using AI agents in Go using LangChainGo. Covers tool definitions, the agent executor, and memory.

How I Actually Structure My Go Services

How I actually structure Go microservices. A hands-on look at why I prioritize explicit dependencies, type-safe SQL, and internal boundaries.

Notes on My Blog's 'Self-Publishing' Pipeline

How I used SvelteKit, Nix, and GitHub Actions to automate my content pipeline, including future-dated posts and a secure preview mode.

SSH Config: From Spaghetti to Sanity

How I stopped fighting with terminal history and started using my SSH config as a productivity engine. A journey from manual IP typing to instant, reliable connections.

GitHub PR Checkout: Two Methods That Actually Work

Stop hunting for fork URLs and branch names. Here are the two PR checkout workflows I use daily: a simple git config trick for quick reviews, and the GitHub CLI when I need to push fixes.

Bash Shortcuts I Use Every Day

Stop reaching for the arrow keys. The 20+ bash shortcuts I actually use: jump words, delete to cursor, search history, suspend processes, and edit commands in your default editor.

Building My First Custom Mechanical Keyboard

I spent $300 and three weekends building a custom mechanical keyboard. Was it worth it? Here is what I learned about switches, foam mods, and why the spacebar still rattles.

Neovim Keybindings and My Workflow

The Neovim keybindings and modal editing workflow that doubled my coding speed — LSP setup, custom keybinds, and a keyboard-first approach to navigating code.