Tags
Browse all posts by tag.
-
Writing Better Bash Scripts: Tips, Traps, and Patterns
A practical guide to writing robust, readable Bash scripts — covering safe mode flags, quoting rules, error handling, argument parsing, and common traps to avoid.
-
TypeScript for JavaScript Developers: A Quick-Start Guide
A practical introduction to TypeScript for JavaScript developers — covering types, interfaces, generics, and the tooling setup you need to get productive fast.
-
Understanding Rust Ownership (Without Writing a Compiler)
A practical guide to Rust's ownership model — covering ownership rules, borrowing, lifetimes, and why the borrow checker exists, with concrete examples throughout.
-
Regular Expressions Cheat Sheet with Real-World Examples
A comprehensive regular expressions cheat sheet with real-world examples in Python, JavaScript, grep, and sed — covering anchors, groups, lookaheads, and common patterns.
-
Python logging Module: A Practical Guide for Real Applications
A practical guide to Python's logging module — covering log levels, handlers, formatters, structured logging, and patterns for production applications.
-
Python Decorators: What They Are and When to Use Them
A practical guide to Python decorators — how they work, how to write your own, and when they genuinely simplify code versus when they add unnecessary magic.
-
Python Dataclasses vs Pydantic: When to Use Which
A practical comparison of Python dataclasses and Pydantic models — covering validation, serialization, performance, and when each tool is the right choice.
-
PostgreSQL vs MySQL: Key Differences Every Developer Should Know
A practical comparison of PostgreSQL and MySQL — covering data types, JSON support, transactions, full-text search, and which database is the right choice for your project.
-
Go Goroutines and Channels: Concurrency Made Simple
Learn how Go goroutines and channels work together to make concurrent programming practical, safe, and surprisingly readable.
-
Go Error Handling Patterns: The errors Package and Beyond
A practical guide to Go error handling — covering sentinel errors, error wrapping, errors.Is and errors.As, custom error types, and patterns for clean production code.
-
Database Indexing Explained: B-Trees, Covering Indexes, and When Indexes Hurt
A practical guide to database indexing — how B-tree indexes work, when to use composite and covering indexes, and the hidden costs that make over-indexing a real problem.
-
What is a Service Mesh? (Beyond Istio)
Understand what a service mesh does, when you actually need one, and how Istio, Linkerd, and Cilium differ in their approach to managing microservice traffic.
-
What is a Reverse Proxy? (And When to Use One)
Learn what a reverse proxy is, how it differs from a forward proxy, and how to configure one with Nginx — covering SSL termination, load balancing, and header forwarding.
-
What is a CDN and How Does Caching Work?
Understand how CDNs cache and serve content at the edge, how Cache-Control headers drive caching behavior, and how to use curl to inspect what your CDN is actually doing.
-
Understanding WebSockets vs HTTP Long Polling
Compare WebSockets, HTTP long polling, and Server-Sent Events for real-time features — with code examples and guidance on when to choose each approach.
-
tmux — Terminal Multiplexer Setup and Workflow
Learn tmux from scratch: sessions, windows, panes, keybindings, and a practical workflow for remote development and long-running processes.
-
Terraform Basics: Infrastructure as Code in 10 Minutes
Get started with Terraform by learning how to define, plan, and apply cloud infrastructure as code, with an AWS EC2 instance as a working example.
-
TCP vs UDP: When Each Protocol Matters
A practical explanation of TCP vs UDP — how each protocol works, their trade-offs, real-world use cases, and when to choose which for your application.
-
strace — Tracing System Calls for Debugging
A practical guide to strace for tracing system calls on Linux, with real examples for debugging crashes, slow programs, and permission errors.
-
SSL/TLS Certificates Explained: How HTTPS Actually Works
Understand how TLS certificates work, what the handshake does, how certificate authorities establish trust, and how to get and configure free HTTPS with Let's Encrypt.
-
ssh — Complete Guide: Keys, Config, Tunnels, and Agent Forwarding
A thorough SSH reference covering key generation, ssh-agent, the client config file, port forwarding, jump hosts, and agent forwarding with real examples.
-
sed — Stream Editor Guide for Text Manipulation
A practical guide to sed covering substitution, deletion, insertion, address ranges, and in-place editing with real terminal examples.
-
rsync — Syncing Files Like a Pro
A practical rsync guide covering flags, incremental transfers, remote syncing over SSH, excludes, dry runs, and real backup workflows.
-
jq — Querying JSON from the Terminal: A Practical Guide
Learn how to use jq to filter, transform, and reshape JSON data directly in the terminal with practical examples and real command output.
-
Python Virtual Environments: venv, pyenv, and conda Compared
Understand when to use venv, pyenv, or conda for Python environment management, with practical commands for each tool and advice on combining them.
-
Python asyncio — Async/Await Explained with Examples
Learn how Python's asyncio event loop, coroutines, and async/await syntax work, with practical examples covering concurrent HTTP requests and async I/O.
-
Prometheus + Grafana: Monitoring Your App from Scratch
Set up Prometheus and Grafana to collect, store, and visualize metrics for your application, with alerting rules and a working Docker Compose stack.
-
Understanding Ports, Sockets, and Network Interfaces
A clear explanation of how ports, sockets, and network interfaces work together — covering IP binding, common port numbers, and how to inspect network state with ss and lsof.
-
nslookup, dig, and host — DNS Lookup Tools Explained
Learn how to use nslookup, dig, and host to query DNS records, debug resolution issues, and inspect A, CNAME, MX, TXT, and NS records from the terminal.
-
Normal Forms in DBMS: A Practical Guide to Database Normalization
A practical guide to database normalization covering 1NF, 2NF, 3NF, BCNF, and 4NF with real SQL examples to help you design clean, efficient relational schemas.
-
netstat and ss — Diagnosing Network Connections on Linux
Learn how to use netstat and ss to inspect open ports, active connections, socket state, and listening services on Linux with practical examples.
-
make and Makefiles — Automating Tasks Beyond C Projects
A practical guide to writing Makefiles for task automation in any project — not just C — with real patterns for building, testing, linting, and deploying.
-
lsof — List Open Files and Diagnose Port Conflicts
Learn how to use lsof to list open files, find which process owns a port, and debug file handle leaks on Linux and macOS.
-
Linux File Permissions Explained: chmod, chown, umask
A clear explanation of Linux file permissions, the chmod octal and symbolic modes, chown for ownership changes, and how umask controls new file defaults.
-
Kubernetes Pods, Deployments, and Services Explained
Understand the three core Kubernetes building blocks — Pods, Deployments, and Services — with real YAML manifests and kubectl commands.
-
Understanding HTTP/2 and HTTP/3: What Changed and Why
A clear explanation of how HTTP/2 and HTTP/3 improve on HTTP/1.1 through multiplexing, header compression, QUIC, and 0-RTT connection setup.
-
htop vs top — Monitoring Processes in the Terminal
A practical comparison of htop and top for monitoring Linux processes, CPU, and memory — with interactive shortcuts and real-world usage tips.
-
Helm Charts — Packaging Kubernetes Applications
Learn how Helm charts work, how to install community charts, and how to write your own chart to package a Kubernetes application for repeatable deploys.
-
HAProxy Configuration Guide with Cheat Sheet
A practical HAProxy configuration guide covering global settings, frontends, backends, load balancing algorithms, health checks, ACLs, and SSL termination.
-
gRPC vs REST: Which One Should You Use?
A practical comparison of gRPC and REST APIs covering performance, tooling, streaming, and when each protocol is the right choice for your backend.
-
grep, egrep, and ripgrep — Pattern Matching Cheat Sheet
A complete reference for grep, egrep, and ripgrep covering flags, regex syntax, recursive search, and real-world one-liners for searching code and logs.
-
GitHub Actions CI/CD: Build, Test, and Deploy a Project
Set up a complete CI/CD pipeline with GitHub Actions that builds, tests, and deploys your app automatically on every push to main.
-
`find` — Advanced File Search with Real Examples
Master the Unix find command with real examples covering name, size, time, permissions, and exec — the most powerful file search tool in your terminal.
-
Docker Compose — Multi-Container App Setup Guide
Learn how to define, link, and run multi-container applications with Docker Compose using a practical web app and database example.
-
Docker Basics: Containers, Images, and Volumes Explained
Learn how Docker containers, images, and volumes work with practical examples you can run right now on any Linux or macOS machine.
-
DNS Deep Dive: A Records, CNAME, MX, TTL Explained
A complete guide to how DNS resolution works, the most important record types, TTL and caching, and how to debug DNS issues with dig and nslookup.
-
cron and crontab — Scheduling Jobs on Linux and macOS
A practical guide to cron and crontab for scheduling recurring tasks on Linux and macOS, with syntax breakdowns and real-world examples.
-
awk Command Cheat Sheet with Real Examples
A practical awk reference covering field splitting, patterns, built-in variables, and real one-liners for text processing on Linux and macOS.
-
Understanding ArgoCD: GitOps for Kubernetes
Learn how ArgoCD implements GitOps by syncing Kubernetes clusters to a Git repository, with a full setup walkthrough and real-world deployment patterns.
-
Ikigai: 10 Rules to a Fulfilling Life
Discover the 10 essential rules of Ikigai, a Japanese philosophy for a fulfilling life. Learn how to find purpose, embrace happiness, and live each day meaningfully.
-
Getting started with Go (Mac)
Learn how to set up Go (Golang) on a Mac and run a basic "Hello, world!" program. This step-by-step guide includes prerequisites, installation commands, and a simple program example.
-
The Apple Event 2024: A Glimpse into the Future of Technology
Discover the highlights from Apple's WWDC24 event, including VisionOS 2, iOS 18, macOS Sequoia, Apple Vision Pro updates, and more. Learn about the latest innovations and features announced by Apple.
-
Master SQL: A Comprehensive Guide to DDL, DML, DCL, and TCL
Structured Query Language (SQL) is the backbone of managing and manipulating relational databases. Whether you’re working with MySQL, PostgreSQL, SQLite, or any other SQL-based database, knowing the different facets of SQL is…
-
How “Atomic Habits” is Changing My Life
Discover how "Atomic Habits" by James Clear can transform your life with small, consistent changes. Read my personal review and key takeaways from the book.
-
Mastering the nginx.conf File: A Guide with Cheat Sheet
Introduction The nginx.conf file is the cornerstone of configuring NGINX, a versatile and powerful web server that excels in serving static content, acting as a reverse proxy, and handling load balancing with…
-
Understanding CPU Throttling: What It Is and How to Manage It
CPU throttling, a term that might sound daunting at first, is actually a protective measure for your computer. It’s like your CPU deciding to take a breather to avoid overheating or to…
-
Mastering Subprocess Management in Python with subprocess.run()
In the world of Python, executing external commands or scripts from within your Python application is a common task. Whether it’s for automating system tasks, using shell commands, or running other programs,…
-
UNIX: init command
Introduction: Unix-like operating systems provide a robust set of tools for managing processes, and at the heart of this process management is the init command. In this post, we’ll dive into the…
-
Understanding Istio Proxy: Enhancing Microservices Communication
In the evolving landscape of microservices architecture, managing communication and security between services can be complex. This is where Istio, a service mesh, steps in, bringing order and efficiency with its powerful…
-
Introduction to Markdown and Mermaid
Markdown is a lightweight markup language with plain text formatting syntax. It’s designed so that it can be converted to HTML and many other formats. Mermaid, on the other hand, is a…
-
React Native Stylesheet Cheat Sheet
Creating a cheat sheet for React Native’s StyleSheet can be very useful for quick reference. Here’s a concise overview of some of the most commonly used style properties in React Native: Layout…
-
What is /etc/hosts file?
The “/etc/hosts” file is a plain text file found in Unix-like operating systems, including Linux and macOS. It serves as a simple, local DNS (Domain Name System) resolver. But what does that…
-
Basics of Curl
In the vast landscape of command-line tools, one gem stands out for its versatility and power: the curl command. Whether you’re a seasoned sysadmin, a developer, or just someone curious about the…
-
Hello blog!
Hi! Welcome to my first blog post. Attempt 3. Previously, I lost my WordPress server due to some crashes. On this blog, I’ll share updates about programming, photography, music, and other things…
-
Git Basics
Git is a tool that helps people work on projects together. It’s like a super organized way to keep track of changes in projects, whether they’re small or really big. It’s not…
No posts with this tag.