Writing
Writing
Notes on web development, automation, and application security — mostly the write-up I wish I had found when I hit the problem myself.
Posts open on the platform they were published to.
- May 2026Anatomy of a Self-Hosted Temporal StackWhy Temporal is becoming the substrate of choice for background jobs, and what it actually takes to run the stack yourself instead of paying for the cloud offering.backendinfrastructureHashnode
- Oct 2025Permanent Fix for Node.js/Bun "Too Many Open Files" Error on Linux DevelopmentThe cryptic 'Too many open files (os error 24)' crash that hits modern JS dev servers on Linux, and the permanent OS-level fix instead of a per-project workaround.linuxnode.jstoolingHashnode
- Aug 2025Transform Your Ollama Docker Terminal: A Parrot OS MakeoverCustomizing the plain default shell inside an Ollama Docker container into something informative and Parrot-OS-styled.dockershellaiHashnode
- Jun 2025Mastering SQLModel: The Ultimate Beginner's Guide to SQL in PythonSQLModel's middle path between raw SQL and a heavyweight ORM, and how to get productive with it in Python quickly.pythondatabaseHashnode
- Jun 2025How to Set Up Passwordless SSH for Secure Access to Your VPSSwapping repeated VPS password prompts for SSH key auth — safer and faster once it's set up right.linuxsecuritydevopsHashnode
- May 2025How to Push to Multiple Remote Git Repositories with a Single CommandKeeping a primary GitHub repo and a GitLab mirror in sync with one push, instead of running the command twice.gittoolingHashnode
- May 2025How to Manage Local Databases in Dockerized OmniDB: PostgreSQL and MySQL BasicsRunning OmniDB in Docker to manage PostgreSQL and MySQL databases living on the host, on a fresh Kubuntu/Ubuntu setup.dockerdatabaseHashnode
- May 2025Boost Your Go Development Workflow with This VSCode ExtensionEnding the habit of Googling struct tag syntax across gorm, validator, json, and friends — introducing the GoTagMate extension.golangtoolingHashnode
- Mar 2025Write Cleaner Express.js Code: The Ultimate Guide to Absolute Imports with TypeScriptTrading the confusing relative-path imports of a growing Express/TypeScript project for clean absolute paths.typescriptnode.jsbackendHashnode
- Mar 2025How to Fix Persistent DNS Reset Issue in Kubuntu 24.04Chasing down DNS settings that keep resetting after every reboot on Kubuntu 24.04, and the fix that actually sticks.linuxnetworkingHashnode
- Oct 2024Installing Zen Browser on Linux: Download, Setup, and Create a Desktop EntryGetting the minimalist, privacy-focused Zen Browser installed and properly integrated into a Linux desktop.linuxtoolingHashnode
- Oct 2024Boost Your Next.js Productivity: A Comprehensive Guide to Setting Up Next.js with ESLint, Prettier, Husky, and Lint-StagedA full walkthrough of wiring ESLint, Prettier, Husky, and lint-staged into a fresh Next.js project.next.jstoolingHashnode
- Oct 2024Configure ESLint, Prettier, Husky, lint-staged Properly for Next.jsCleaning up ESLint and Prettier configuration for a TypeScript Next.js project so the setup actually holds together.next.jstoolingHashnode
- Sept 2024Step-by-Step Guide to Configuring Husky and Lint-Staged with ESLint and PrettierWiring Husky and lint-staged to run ESLint and Prettier automatically before every Git commit.gittoolingHashnode
- Jun 2024Mastering PostgreSQL User and Role Management: A Step-by-Step GuideChecking service status, understanding default credentials, and getting PostgreSQL user and role management right.databasepostgresqlHashnode
- Apr 2024How to Delete a Directory from Your Git Repository's HistoryRemoving an entire directory from a Git repo's history to keep it clean, not just from the working tree.gitHashnode
- Apr 2024How to Move a Git Repository into a Sub-Folder of Another RepositoryUsing Git subtrees to fold one repository into another as a subdirectory, history and all.gitHashnode
- Apr 2024Publish React App From create-react-app to GitHubThe exact commands to take a create-react-app project from local to a published GitHub Pages deploy.reacttoolingHashnode
- Apr 2024The React.js / Next.js Project Structure I FollowThe folder structure settled on for React and Next.js projects, and the articles that shaped it.reactnext.jsHashnode
- Apr 2023API 101: Understanding the BasicsWhat an API actually is and why it matters, for anyone new to software development.apifundamentalsHashnode
- Feb 2023Find & Prevent Host Header Injection with These ResourcesA wrong move with the HTTP Host header can put your application and its users at risk. What the attack looks like, how to test for it, and how to shut it down.securitywebHashnode
- Jan 2023Automate YouTube Video Publishing with JavaScriptPublishing uploads one by one gets old fast. A script that drives the process for you, and the pieces of the YouTube API it leans on.automationjavascriptHashnode
- Dec 2022Show Time and Date in the TerminalPutting the clock on the right-hand side of your ZSH prompt, and the oh-my-zsh configuration that makes it stick.shelltoolingHashnode