<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>jecklgamis.com</title><link>https://jecklgamis.com/</link><description>Recent content on jecklgamis.com</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://jecklgamis.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Rust Fundamentals</title><link>https://jecklgamis.com/guides/rust-fundamentals-guide/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/rust-fundamentals-guide/</guid><description>&lt;p&gt;A practical reference for Rust covering the language fundamentals and systems programming topics: the ownership model, the type system, I/O, concurrency primitives, and async.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/rust-fundamentals-guide.html"&gt;Rust Fundamentals&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ownership &amp;amp; Borrowing&lt;/strong&gt; — move semantics, shared/exclusive references, slices, borrow rules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Types &amp;amp; Traits&lt;/strong&gt; — primitives, structs, generics, trait bounds, static vs dynamic dispatch&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enums &amp;amp; Pattern Matching&lt;/strong&gt; — algebraic data types, &lt;code&gt;match&lt;/code&gt;, &lt;code&gt;if let&lt;/code&gt;, guards, destructuring&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Handling&lt;/strong&gt; — &lt;code&gt;Result&lt;/code&gt;, &lt;code&gt;Option&lt;/code&gt;, the &lt;code&gt;?&lt;/code&gt; operator, custom error types, &lt;code&gt;From&lt;/code&gt;/&lt;code&gt;Into&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Collections &amp;amp; Iterators&lt;/strong&gt; — &lt;code&gt;Vec&lt;/code&gt;, &lt;code&gt;HashMap&lt;/code&gt;, &lt;code&gt;HashSet&lt;/code&gt;, &lt;code&gt;VecDeque&lt;/code&gt;, lazy iterator pipelines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Closures &amp;amp; Lifetimes&lt;/strong&gt; — &lt;code&gt;Fn&lt;/code&gt;/&lt;code&gt;FnMut&lt;/code&gt;/&lt;code&gt;FnOnce&lt;/code&gt;, move closures, lifetime annotations, elision&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Smart Pointers&lt;/strong&gt; — &lt;code&gt;Box&lt;/code&gt;, &lt;code&gt;Rc&lt;/code&gt;, &lt;code&gt;Arc&lt;/code&gt;, &lt;code&gt;RefCell&lt;/code&gt;, &lt;code&gt;Cell&lt;/code&gt;, when to use each&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File I/O&lt;/strong&gt; — &lt;code&gt;fs::read_to_string&lt;/code&gt;, &lt;code&gt;BufReader&lt;/code&gt;/&lt;code&gt;BufWriter&lt;/code&gt;, &lt;code&gt;OpenOptions&lt;/code&gt;, directory traversal&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network / Socket I/O&lt;/strong&gt; — sync TCP/UDP with &lt;code&gt;std::net&lt;/code&gt;, socket options, buffered streams&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Threading&lt;/strong&gt; — &lt;code&gt;thread::spawn&lt;/code&gt;, scoped threads, &lt;code&gt;move&lt;/code&gt; closures, thread-local storage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Locking &amp;amp; Sync&lt;/strong&gt; — &lt;code&gt;Mutex&lt;/code&gt;, &lt;code&gt;RwLock&lt;/code&gt;, &lt;code&gt;Condvar&lt;/code&gt;, atomics, &lt;code&gt;Arc&lt;/code&gt;-wrapped locks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Channels&lt;/strong&gt; — &lt;code&gt;mpsc&lt;/code&gt; unbounded/bounded, worker pool pattern, &lt;code&gt;try_recv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Async / Tokio&lt;/strong&gt; — &lt;code&gt;async&lt;/code&gt;/&lt;code&gt;await&lt;/code&gt;, &lt;code&gt;tokio::spawn&lt;/code&gt;, &lt;code&gt;join!&lt;/code&gt;, &lt;code&gt;select!&lt;/code&gt;, async TCP, &lt;code&gt;tokio::sync&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cheat Sheet&lt;/strong&gt; — type conversions, iterator adaptors, concurrency patterns, Cargo commands&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AWS EKS Guide</title><link>https://jecklgamis.com/guides/aws-eks-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/aws-eks-guide/</guid><description>&lt;p&gt;A reference guide for Amazon Elastic Kubernetes Service covering the control plane, node groups, networking with VPC CNI, pod identity, autoscaling with Karpenter, cluster add-ons, and observability.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/aws-eks-guide.html"&gt;AWS EKS Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EKS Architecture&lt;/strong&gt; — Managed control plane, API server endpoint, etcd, auth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Node Groups&lt;/strong&gt; — Managed node groups, self-managed, Fargate profiles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VPC CNI&lt;/strong&gt; — IP address management, ENI allocation, prefix delegation, custom networking&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pod Identity&lt;/strong&gt; — EKS Pod Identity vs IRSA, service account token projection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Karpenter&lt;/strong&gt; — NodePool, NodeClaim, provisioning loop, disruption, spot handling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cluster Add-ons&lt;/strong&gt; — CoreDNS, kube-proxy, VPC CNI, EBS/EFS CSI drivers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Networking&lt;/strong&gt; — Service types, AWS Load Balancer Controller, ingress, security groups for pods&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observability&lt;/strong&gt; — Container Insights, Fluent Bit, ADOT, Prometheus on EKS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; — RBAC, aws-auth ConfigMap, EKS access entries, pod security, image scanning&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — eksctl cheat sheet, common debugging patterns&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AWS Networking Deep Dive</title><link>https://jecklgamis.com/guides/aws-networking-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/aws-networking-guide/</guid><description>&lt;p&gt;A deep-dive reference for AWS networking covering hybrid connectivity, DNS, CDN, and global traffic management.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/aws-networking-guide.html"&gt;AWS Networking Deep Dive&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Direct Connect&lt;/strong&gt; — Dedicated connections, virtual interfaces (public/private/transit), hosted vs dedicated, resiliency models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Site-to-Site VPN&lt;/strong&gt; — IPSec tunnels, BGP, static routing, accelerated VPN&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Route 53&lt;/strong&gt; — Record types, routing policies, health checks, private hosted zones, DNSSEC&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CloudFront&lt;/strong&gt; — Distributions, origins, behaviours, cache policies, OAC, Lambda@Edge&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Global Accelerator&lt;/strong&gt; — Anycast IPs, endpoint groups, health checks vs CloudFront&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Elastic Load Balancing&lt;/strong&gt; — ALB, NLB, GWLB internals and use cases&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PrivateLink&lt;/strong&gt; — Service provider/consumer model, interface endpoints, NLB-backed services&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Hybrid connectivity decision tree, cheat sheet&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AWS VPC Guide</title><link>https://jecklgamis.com/guides/aws-vpc-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/aws-vpc-guide/</guid><description>&lt;p&gt;A reference guide for AWS Virtual Private Cloud covering network design, routing, security controls, connectivity options, and observability.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/aws-vpc-guide.html"&gt;AWS VPC Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VPC Fundamentals&lt;/strong&gt; — CIDR blocks, default VPC, DNS settings, tenancy&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subnets&lt;/strong&gt; — Public vs private, AZ placement, auto-assign IP, reserved addresses&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Route Tables&lt;/strong&gt; — Local route, internet gateway, NAT gateway, propagation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internet Gateway&lt;/strong&gt; — Attach, detach, inbound/outbound internet access&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NAT Gateway / NAT Instance&lt;/strong&gt; — Outbound-only internet for private subnets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security Groups&lt;/strong&gt; — Stateful rules, inbound/outbound, reference by SG ID&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network ACLs&lt;/strong&gt; — Stateless rules, rule numbering, default behaviour&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VPC Peering&lt;/strong&gt; — Cross-account, cross-region, transitive peering limits&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transit Gateway&lt;/strong&gt; — Hub-and-spoke, route tables, inter-region peering, RAM sharing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VPC Endpoints&lt;/strong&gt; — Gateway endpoints (S3, DynamoDB), Interface endpoints (PrivateLink)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flow Logs&lt;/strong&gt; — VPC/subnet/ENI level, CloudWatch and S3 destinations, log fields&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt; — Route 53 Resolver, inbound/outbound endpoints, DHCP option sets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — CIDR cheat sheet, common patterns, troubleshooting&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Kubernetes Internals Guide</title><link>https://jecklgamis.com/guides/kubernetes-internals-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/kubernetes-internals-guide/</guid><description>&lt;p&gt;A deep-dive into Kubernetes internals covering the control plane, node components, scheduling, networking model, storage abstractions, and the reconciliation loop.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/kubernetes-internals-guide.html"&gt;Kubernetes Internals Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Architecture&lt;/strong&gt; — Control plane, data plane, component interactions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API Server&lt;/strong&gt; — Request lifecycle, admission, RBAC, watch mechanism&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;etcd&lt;/strong&gt; — Raft consensus, watch, compaction, backup&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheduler&lt;/strong&gt; — Filtering, scoring, preemption, custom schedulers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Controller Manager&lt;/strong&gt; — Reconciliation loop, informers, work queues&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kubelet&lt;/strong&gt; — Pod lifecycle, CRI, CNI, CSI, node conditions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kube-proxy&lt;/strong&gt; — iptables vs. ipvs, service VIPs, conntrack&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Networking&lt;/strong&gt; — Pod networking, CNI, services, DNS, NetworkPolicy&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storage&lt;/strong&gt; — PV/PVC lifecycle, StorageClass, CSI drivers, volume plugins&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workloads&lt;/strong&gt; — Deployment rollouts, StatefulSet guarantees, DaemonSet scheduling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; — RBAC, ServiceAccounts, PodSecurity, Secrets encryption&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Internals cheat sheet, useful debugging commands&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Kernel Tuning Guide</title><link>https://jecklgamis.com/guides/linux-kernel-tuning-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-kernel-tuning-guide/</guid><description>&lt;p&gt;A reference guide for Linux kernel tuning covering virtual memory management, the OOM killer, transparent and explicit hugepages, NUMA topology, CPU scheduling, and network stack sysctl parameters for high-throughput and low-latency workloads.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-kernel-tuning-guide.html"&gt;Linux Kernel Tuning Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Virtual Memory&lt;/strong&gt; — vm.swappiness, vm.dirty_ratio, overcommit, page reclaim, kswapd&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OOM Killer&lt;/strong&gt; — OOM score, oom_score_adj, cgroup OOM, disabling OOM, debugging&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugepages&lt;/strong&gt; — Transparent hugepages (THP), explicit hugepages, 1GB pages, NUMA interaction&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NUMA&lt;/strong&gt; — Topology, numactl, numastat, NUMA-aware allocation, interleaving&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CPU Scheduler&lt;/strong&gt; — CFS, nice/renice, cgroups cpu.weight, real-time scheduling, taskset/cpuset&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network Stack&lt;/strong&gt; — Socket buffers, tcp_rmem/wmem, backlog, TIME_WAIT, BBR, offloads&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;I/O Scheduler&lt;/strong&gt; — mq-deadline, kyber, bfq, none (NVMe), blktrace&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Persistent Tuning&lt;/strong&gt; — sysctl.d, tuned profiles, systemd-tuned, kernel cmdline&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Tuning cheat sheet, workload-specific profiles&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Process &amp; Signals Guide</title><link>https://jecklgamis.com/guides/linux-process-signals-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-process-signals-guide/</guid><description>&lt;p&gt;A reference guide for Linux process management covering the process lifecycle, fork/exec, signals, process groups, sessions, job control, /proc filesystem, resource limits, and cgroups.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-process-signals-guide.html"&gt;Linux Process &amp;amp; Signals Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Process Lifecycle&lt;/strong&gt; — fork, exec, clone, wait, zombie, orphan&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Process Identity&lt;/strong&gt; — PID, PPID, PGID, SID, UID, GID, capabilities&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/proc Filesystem&lt;/strong&gt; — /proc/PID layout, maps, fd, status, cmdline, environ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Signals&lt;/strong&gt; — Standard signals, real-time signals, signal disposition, sigaction&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sending Signals&lt;/strong&gt; — kill, pkill, killall, raise, tgkill&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Job Control&lt;/strong&gt; — fg, bg, disown, nohup, setsid, process groups, sessions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resource Limits&lt;/strong&gt; — ulimit, /etc/security/limits.conf, prlimit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cgroups v2&lt;/strong&gt; — Hierarchy, controllers, cpu/memory/io limits, systemd slices&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Signal table, /proc cheat sheet, debugging patterns&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Security Guide</title><link>https://jecklgamis.com/guides/linux-security-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-security-guide/</guid><description>&lt;p&gt;A reference guide for Linux security covering the Linux capabilities model, seccomp syscall filtering, AppArmor and SELinux MAC systems, Linux namespaces, file permissions and ACLs, the audit subsystem, and PAM.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-security-guide.html"&gt;Linux Security Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Capabilities&lt;/strong&gt; — Breaking down root privileges, capability sets, capsh, getcap/setcap&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;seccomp&lt;/strong&gt; — Syscall filtering, BPF filters, seccomp-bpf, Docker/container defaults&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AppArmor&lt;/strong&gt; — Profiles, modes (enforce/complain), aa-genprof, common patterns&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SELinux&lt;/strong&gt; — Type enforcement, contexts, booleans, audit2allow, troubleshooting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Namespaces&lt;/strong&gt; — PID, mount, net, user, UTS, IPC — isolation primitives&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File Permissions&lt;/strong&gt; — chmod, chown, sticky bit, setuid/setgid, umask&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ACLs&lt;/strong&gt; — getfacl, setfacl, default ACLs, mask&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux Audit&lt;/strong&gt; — auditd, auditctl, ausearch, aureport, rules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PAM&lt;/strong&gt; — pam.d configuration, common modules, MFA patterns&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Hardening checklist, capability table, seccomp cheat sheet&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Systemd Guide</title><link>https://jecklgamis.com/guides/linux-systemd-guide/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-systemd-guide/</guid><description>&lt;p&gt;A reference guide for systemd covering unit files, service management, targets, timers, socket activation, journald log querying, and cgroups v2 integration.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-systemd-guide.html"&gt;Linux Systemd Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;systemctl&lt;/strong&gt; — start, stop, enable, mask, list-units, status, daemon-reload&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Service Units&lt;/strong&gt; — ExecStart, Type, Restart, dependencies, sandboxing options&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Targets&lt;/strong&gt; — Boot targets, changing default, emergency/rescue mode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Timers&lt;/strong&gt; — Monotonic and realtime timers, replacing cron&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Socket Activation&lt;/strong&gt; — On-demand service startup via socket units&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;journald&lt;/strong&gt; — journalctl filtering, structured logs, persistent storage, forwarding&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cgroups Integration&lt;/strong&gt; — Slices, scopes, resource controllers via systemd&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boot Analysis&lt;/strong&gt; — systemd-analyze, blame, critical-chain&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Unit file cheat sheet, common patterns, troubleshooting&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Docker Internals</title><link>https://jecklgamis.com/guides/docker-internals-guide/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/docker-internals-guide/</guid><description>&lt;p&gt;Docker is a layered system built on top of Linux kernel primitives. Understanding its internals helps with debugging, performance tuning, and security hardening.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/docker-internals-guide.html"&gt;Docker Internals&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Component Map&lt;/strong&gt; — how dockerd, containerd, the shim, and runc relate to each other&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dockerd&lt;/strong&gt; — REST API, daemon.json, live-restore, and key file paths&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;containerd&lt;/strong&gt; — snapshotter, content store, metadata store, and the &lt;code&gt;ctr&lt;/code&gt; tool&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;runc &amp;amp; shim&lt;/strong&gt; — OCI bundle structure, clone(2), pivot_root, and the startup sequence&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;docker run Flow&lt;/strong&gt; — end-to-end walkthrough from CLI to a running container process&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Namespaces&lt;/strong&gt; — pid, net, mnt, uts, ipc, user, cgroup — what each isolates and how to inspect them&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cgroups v1 &amp;amp; v2&lt;/strong&gt; — memory, cpu, io, pids limits and how docker run flags map to cgroup files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Capabilities&lt;/strong&gt; — Docker&amp;rsquo;s default capability set, cap-drop/cap-add, and inspection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Seccomp&lt;/strong&gt; — default filter, custom profiles, debugging blocked syscalls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OverlayFS&lt;/strong&gt; — lowerdir/upperdir/workdir, copy-on-write mechanics, whiteout files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Image Layers&lt;/strong&gt; — OCI image layout, content-addressed blobs, layer caching in builds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Volumes &amp;amp; Mounts&lt;/strong&gt; — volume, bind, and tmpfs mount types and their implementation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network Drivers&lt;/strong&gt; — bridge, host, overlay, macvlan, ipvlan, none&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bridge Network&lt;/strong&gt; — docker0, user-defined bridges, veth pairs, and inter-container DNS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;veth &amp;amp; iptables&lt;/strong&gt; — veth pair lifecycle, MASQUERADE/DNAT rules, port mapping internals&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS &amp;amp; Service Discovery&lt;/strong&gt; — embedded resolver at 127.0.0.11, name resolution flow&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — inspection commands, cgroup limits table, storage driver comparison&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Networking Tools Guide</title><link>https://jecklgamis.com/guides/linux-networking-tools-guide/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-networking-tools-guide/</guid><description>&lt;p&gt;A reference guide for Linux networking tools covering interface management, firewalling, socket inspection, packet analysis, DNS, and connectivity testing.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-networking-tools-guide.html"&gt;Linux Networking Tools Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Interfaces &amp;amp; Routes&lt;/strong&gt; — &lt;code&gt;ip link&lt;/code&gt;, &lt;code&gt;ip addr&lt;/code&gt;, &lt;code&gt;ip route&lt;/code&gt;, &lt;code&gt;ip neigh&lt;/code&gt;, &lt;code&gt;ip rule&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firewalling&lt;/strong&gt; — &lt;code&gt;iptables&lt;/code&gt;, &lt;code&gt;nft&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sockets&lt;/strong&gt; — &lt;code&gt;ss&lt;/code&gt;, &lt;code&gt;netstat&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Packet Analysis&lt;/strong&gt; — &lt;code&gt;tcpdump&lt;/code&gt;, &lt;code&gt;tshark&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt; — &lt;code&gt;dig&lt;/code&gt;, &lt;code&gt;resolvectl&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;nslookup&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connectivity&lt;/strong&gt; — &lt;code&gt;ping&lt;/code&gt;, &lt;code&gt;traceroute&lt;/code&gt;, &lt;code&gt;mtr&lt;/code&gt;, &lt;code&gt;nc&lt;/code&gt;, &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;nmap&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hardware / Wireless&lt;/strong&gt; — &lt;code&gt;ethtool&lt;/code&gt;, &lt;code&gt;iw&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Namespaces&lt;/strong&gt; — &lt;code&gt;ip netns&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Cheat sheet, troubleshooting patterns&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Storage &amp; Filesystems Guide</title><link>https://jecklgamis.com/guides/linux-storage-guide/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-storage-guide/</guid><description>&lt;p&gt;A reference guide for Linux storage and filesystem management covering block device enumeration, partition management, LVM, software RAID, filesystem creation, mounting, disk usage analysis, filesystem repair, and S.M.A.R.T. health monitoring.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-storage-guide.html"&gt;Linux Storage &amp;amp; Filesystems Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enumerate&lt;/strong&gt; — &lt;code&gt;lsblk&lt;/code&gt;, &lt;code&gt;blkid&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Partitions&lt;/strong&gt; — &lt;code&gt;fdisk&lt;/code&gt;, &lt;code&gt;gdisk&lt;/code&gt;, &lt;code&gt;parted&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logical Volume Manager&lt;/strong&gt; — &lt;code&gt;pvcreate&lt;/code&gt;, &lt;code&gt;vgcreate&lt;/code&gt;, &lt;code&gt;lvcreate&lt;/code&gt;, &lt;code&gt;lvextend&lt;/code&gt;, snapshots, thin provisioning&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Software RAID&lt;/strong&gt; — &lt;code&gt;mdadm&lt;/code&gt; (RAID 0, 1, 5, 6, 10), hot spares, drive replacement&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Format&lt;/strong&gt; — &lt;code&gt;mkfs.ext4&lt;/code&gt;, &lt;code&gt;mkfs.xfs&lt;/code&gt;, &lt;code&gt;mkfs.btrfs&lt;/code&gt;, &lt;code&gt;mkswap&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mount&lt;/strong&gt; — &lt;code&gt;mount&lt;/code&gt;, &lt;code&gt;umount&lt;/code&gt;, &lt;code&gt;/etc/fstab&lt;/code&gt;, &lt;code&gt;findmnt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disk usage&lt;/strong&gt; — &lt;code&gt;df&lt;/code&gt;, &lt;code&gt;du&lt;/code&gt;, inode exhaustion&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repair&lt;/strong&gt; — &lt;code&gt;fsck&lt;/code&gt;, &lt;code&gt;e2fsck&lt;/code&gt;, &lt;code&gt;xfs_repair&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Metadata&lt;/strong&gt; — &lt;code&gt;tune2fs&lt;/code&gt;, &lt;code&gt;xfs_info&lt;/code&gt;, &lt;code&gt;xfs_admin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Health&lt;/strong&gt; — &lt;code&gt;smartctl&lt;/code&gt;, &lt;code&gt;smartd&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Recipes&lt;/strong&gt; — Add a new disk end-to-end, extend LVM online, replace a failed RAID drive, diagnose inode exhaustion&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Traffic Control (tc) Guide</title><link>https://jecklgamis.com/guides/linux-traffic-control-guide/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-traffic-control-guide/</guid><description>&lt;p&gt;A reference guide for Linux traffic control covering egress and ingress shaping, WAN emulation for testing, hierarchical bandwidth allocation, and modern AQM qdiscs.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-traffic-control-guide.html"&gt;Linux Traffic Control (tc) Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools and topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;tc basics&lt;/strong&gt; — &lt;code&gt;tc qdisc show&lt;/code&gt;, &lt;code&gt;tc class show&lt;/code&gt;, &lt;code&gt;tc filter show&lt;/code&gt;, &lt;code&gt;tc -s&lt;/code&gt; statistics, add/change/del/replace syntax&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;netem&lt;/strong&gt; — Network emulator: delay, jitter, packet loss, corruption, duplication, and reordering&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tbf&lt;/strong&gt; — Token Bucket Filter: smooth single-rate egress shaping&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;htb&lt;/strong&gt; — Hierarchical Token Bucket: class-based bandwidth allocation with guaranteed rates, ceilings, and borrowing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fq_codel&lt;/strong&gt; — Fair queuing + CoDel AQM; default qdisc on many modern distros&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cake&lt;/strong&gt; — Modern all-in-one qdisc with bandwidth shaping, NAT-aware fairness, and DSCP prioritisation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ingress shaping (ifb)&lt;/strong&gt; — How to shape incoming traffic using the ifb virtual device redirect trick&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tc filters&lt;/strong&gt; — &lt;code&gt;u32&lt;/code&gt;, &lt;code&gt;flower&lt;/code&gt;, and &lt;code&gt;bpf&lt;/code&gt; filter types for classifying traffic by IP, port, DSCP, and MAC&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Practical recipes&lt;/strong&gt; — Bad WAN simulation, per-IP rate limiting, 3-tier HTB priority setup, and full reset&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference cheat sheet&lt;/strong&gt; — Show commands, netem/tbf/cake one-liners, HTB skeleton, and interface reset&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Async I/O in Linux</title><link>https://jecklgamis.com/guides/linux-async-io/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-async-io/</guid><description>&lt;p&gt;A guide to the evolution of async I/O in Linux — from blocking syscalls and &lt;code&gt;select&lt;/code&gt;/&lt;code&gt;poll&lt;/code&gt; to &lt;code&gt;epoll&lt;/code&gt; event loops and the modern &lt;code&gt;io_uring&lt;/code&gt; interface.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-async-io.html"&gt;Async I/O in Linux&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Blocking I/O&lt;/strong&gt; — the default model, why it limits concurrency&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-blocking I/O&lt;/strong&gt; — &lt;code&gt;O_NONBLOCK&lt;/code&gt;, busy-polling, and its limits&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;select / poll&lt;/strong&gt; — the first generation of I/O multiplexing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;epoll&lt;/strong&gt; — scalable event notification, level vs edge triggering, used by nginx, Node.js, Redis&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;POSIX AIO&lt;/strong&gt; — the kernel&amp;rsquo;s older async interface and why it fell short&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;io_uring&lt;/strong&gt; — submission and completion queues, zero-copy, fixed buffers, probing, liburing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comparison&lt;/strong&gt; — all five approaches side by side&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When to use what&lt;/strong&gt; — decision guide by workload&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Fault Injection &amp; Stress Tools Guide</title><link>https://jecklgamis.com/guides/linux-fault-injection-guide/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-fault-injection-guide/</guid><description>&lt;p&gt;A reference guide for Linux fault injection and stress tools covering CPU, memory, disk I/O, network, kernel, and process-level fault injection.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-fault-injection-guide.html"&gt;Linux Fault Injection &amp;amp; Stress Tools Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Load / CPU&lt;/strong&gt; — &lt;code&gt;stress-ng&lt;/code&gt;, &lt;code&gt;stress&lt;/code&gt;, &lt;code&gt;cpuburn&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory&lt;/strong&gt; — &lt;code&gt;stress-ng --vm&lt;/code&gt;, &lt;code&gt;memtester&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disk / IO&lt;/strong&gt; — &lt;code&gt;fio&lt;/code&gt;, &lt;code&gt;dm-flakey&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network&lt;/strong&gt; — &lt;code&gt;tc netem&lt;/code&gt;, &lt;code&gt;toxiproxy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kernel&lt;/strong&gt; — &lt;code&gt;sysrq&lt;/code&gt;, &lt;code&gt;fail debugfs&lt;/code&gt;, &lt;code&gt;libfiu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Process&lt;/strong&gt; — &lt;code&gt;kill / signals&lt;/code&gt;, &lt;code&gt;cgroups limits&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Chaos engineering principles, tool selection guide, signal table&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Network Stack — Packet Journey</title><link>https://jecklgamis.com/guides/linux-packet-journey/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-packet-journey/</guid><description>&lt;p&gt;A packet entering or leaving a Linux host passes through a well-defined sequence of kernel subsystems. Understanding this journey helps when debugging connectivity, writing eBPF programs, or tuning firewall rules.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-packet-journey.html"&gt;Linux Network Stack — Packet Journey&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Paths&lt;/strong&gt; — Inbound, Outbound, and Packet Forwarding paths with step-by-step diagrams&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NIC &amp;amp; NAPI&lt;/strong&gt; — DMA, ring buffers, interrupt coalescing, and tunables&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;XDP&lt;/strong&gt; — eXpress Data Path: modes (native/generic/offloaded/AF_XDP), actions, C example&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sk_buff&lt;/strong&gt; — kernel socket buffer structure, key fields, zero-copy operations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traffic Control (TC)&lt;/strong&gt; — qdiscs, classes, filters, eBPF attachment via clsact&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Netfilter&lt;/strong&gt; — five hook points, table evaluation order, iptables/nftables commands&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;conntrack&lt;/strong&gt; — connection states, TCP state machine, table exhaustion&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IP Layer&lt;/strong&gt; — FIB routing lookup, fragmentation, MTU&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transport (TCP/UDP)&lt;/strong&gt; — reassembly, socket demux, congestion control, key sysctls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sockets&lt;/strong&gt; — send/receive buffers, socket types including AF_XDP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;eBPF Hooks&lt;/strong&gt; — XDP, TC, socket ops, sk_skb, cgroup/skb programs with examples&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — Netfilter chain lookup table, Ethernet/IP/TCP packet structure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tuning&lt;/strong&gt; — sysctl parameters for throughput, latency, and connection capacity&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux sysctl Guide</title><link>https://jecklgamis.com/guides/linux-sysctl-guide/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-sysctl-guide/</guid><description>&lt;p&gt;A reference guide for Linux &lt;code&gt;sysctl&lt;/code&gt; — reading, writing, and persisting kernel parameters.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-sysctl-guide.html"&gt;Linux sysctl Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;sysctl basics&lt;/strong&gt; — reading, writing, persisting, and the &lt;code&gt;/proc/sys&lt;/code&gt; filesystem&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Networking&lt;/strong&gt; — TCP buffers, connection queues, TIME_WAIT, BBR, ip_forward, conntrack&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory &amp;amp; VM&lt;/strong&gt; — swappiness, dirty ratios, OOM killer, hugepages, overcommit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kernel&lt;/strong&gt; — pid_max, core dumps, dmesg, panic behaviour, scheduler&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; — ASLR, dmesg_restrict, unprivileged BPF, SYN cookies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — parameter lookup table, sysctl.d config, runtime vs persistent changes&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Load Shedding to Avoid Overload</title><link>https://jecklgamis.com/guides/load-shedding-guide/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/load-shedding-guide/</guid><description>&lt;p&gt;A summary of load shedding patterns for keeping services stable under overload. Based on the AWS Builders&amp;rsquo; Library article &lt;a href="https://aws.amazon.com/builders-library/using-load-shedding-to-avoid-overload/"&gt;Using load shedding to avoid overload&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/load-shedding-guide.html"&gt;Load Shedding to Avoid Overload&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Goodput vs throughput&lt;/strong&gt; — why raw throughput is a misleading metric under overload&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Positive feedback loops&lt;/strong&gt; — how retries and cascading timeouts amplify load&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prioritization&lt;/strong&gt; — health checks, critical operations, request types&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Timeout propagation&lt;/strong&gt; — deadline hints across multi-hop services&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Queue management&lt;/strong&gt; — age limits, LIFO ordering, bounded queues&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Layered protection&lt;/strong&gt; — load balancers, OS, service framework, cloud services&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visibility gotchas&lt;/strong&gt; — latency metric pollution, false positives, instrumentation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto-scaling interactions&lt;/strong&gt; — why load shedding and reactive scaling can conflict&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Performance Tools Guide</title><link>https://jecklgamis.com/guides/linux-perf-tools-guide/</link><pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/linux-perf-tools-guide/</guid><description>&lt;p&gt;A reference guide for Linux performance tools covering CPU, memory, disk I/O, network, process inspection, and eBPF tracing.&lt;/p&gt;
&lt;p&gt;View the full interactive guide: &lt;a href="https://jecklgamis.com/guides/linux-perf-tools-guide.html"&gt;Linux Performance Tools Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt; — &lt;code&gt;top&lt;/code&gt;, &lt;code&gt;htop&lt;/code&gt;, &lt;code&gt;mpstat&lt;/code&gt;, &lt;code&gt;vmstat&lt;/code&gt;, &lt;code&gt;pidstat&lt;/code&gt;, &lt;code&gt;perf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory&lt;/strong&gt; — &lt;code&gt;free&lt;/code&gt;, &lt;code&gt;smem&lt;/code&gt;, &lt;code&gt;pmap&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disk / I/O&lt;/strong&gt; — &lt;code&gt;iostat&lt;/code&gt;, &lt;code&gt;iotop&lt;/code&gt;, &lt;code&gt;df&lt;/code&gt;, &lt;code&gt;du&lt;/code&gt;, &lt;code&gt;lsof&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network&lt;/strong&gt; — &lt;code&gt;ss&lt;/code&gt;, &lt;code&gt;netstat&lt;/code&gt;, &lt;code&gt;iftop&lt;/code&gt;, &lt;code&gt;nethogs&lt;/code&gt;, &lt;code&gt;tcpdump&lt;/code&gt;, &lt;code&gt;ping&lt;/code&gt;, &lt;code&gt;mtr&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Process&lt;/strong&gt; — &lt;code&gt;ps&lt;/code&gt;, &lt;code&gt;strace&lt;/code&gt;, &lt;code&gt;ltrace&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tracing / eBPF&lt;/strong&gt; — &lt;code&gt;bpftrace&lt;/code&gt;, BCC tools, &lt;code&gt;ftrace&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;All-in-one&lt;/strong&gt; — &lt;code&gt;sar&lt;/code&gt;, &lt;code&gt;dstat&lt;/code&gt;, &lt;code&gt;glances&lt;/code&gt;, &lt;code&gt;atop&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reference&lt;/strong&gt; — USE Method, load average, signals&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>gRPC Client, Server, and Gateway in Go</title><link>https://jecklgamis.com/guides/go-grpc-example/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/go-grpc-example/</guid><description>&lt;p&gt;A Go gRPC example implementing a simple in-memory key-value store with three components: a gRPC server, a REST-to-gRPC gateway, and a CLI client.&lt;/p&gt;
&lt;p&gt;Source: &lt;a href="https://github.com/jecklgamis/go-grpc-example"&gt;github.com/jecklgamis/go-grpc-example&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;gRPC server with &lt;code&gt;Put&lt;/code&gt; and &lt;code&gt;Get&lt;/code&gt; operations backed by an in-memory store&lt;/li&gt;
&lt;li&gt;REST gateway via &lt;code&gt;grpc-gateway&lt;/code&gt; that proxies HTTP to gRPC&lt;/li&gt;
&lt;li&gt;CLI client supporting both plain and TLS connections&lt;/li&gt;
&lt;li&gt;Protobuf-defined API with auto-generated Go stubs&lt;/li&gt;
&lt;li&gt;Docker image bundling all three binaries under &lt;code&gt;supervisord&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cmd/
 server/ → gRPC server entry point (port 4000)
 gateway/ → REST-to-gRPC proxy entry point (port 8080)
 client/ → CLI client entry point
pkg/
 kvstore/ → kvstore.proto + generated stubs (*.pb.go, *.pb.gw.go)
 server/ → in-memory map store implementation
 gateway/ → grpc-gateway reverse proxy
 client/ → gRPC client wrapper
 version/ → build version injected via ldflags
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Data flow:&lt;/strong&gt; REST clients → gateway (&lt;code&gt;:8080&lt;/code&gt;) → gRPC server (&lt;code&gt;:4000&lt;/code&gt;). gRPC clients connect to the server directly.&lt;/p&gt;</description></item><item><title>Lane Cove Tunnel: A Linux VPN Implementation From Scratch</title><link>https://jecklgamis.com/guides/lanecove-tunnel/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/lanecove-tunnel/</guid><description>&lt;p&gt;Lane Cove Tunnel is a learning-focused VPN implementation in C that builds a layer 3 overlay network over UDP. It covers the same conceptual ground as WireGuard — X25519 key exchange, AES-256-GCM encryption, identity hiding, replay protection — but written from scratch to make the internals visible and understandable.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Not for production use.&lt;/strong&gt; The cryptography has not been audited or hardened.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Source: &lt;a href="https://github.com/jecklgamis/lanecove-tunnel"&gt;github.com/jecklgamis/lanecove-tunnel&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="how-it-works"&gt;How It Works&lt;/h2&gt;
&lt;p&gt;Every node runs the same &lt;code&gt;peer&lt;/code&gt; binary. Two topologies are supported.&lt;/p&gt;</description></item><item><title>Load Testing with Gatling and Scala</title><link>https://jecklgamis.com/guides/gatling-scala-example/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/gatling-scala-example/</guid><description>&lt;p&gt;A Gatling load testing example in Scala with multiple ways to run simulations against an HTTP target.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Simulation written in Scala using the Gatling DSL&lt;/li&gt;
&lt;li&gt;Configurable via system properties (URL, duration, rate, thresholds)&lt;/li&gt;
&lt;li&gt;Four execution modes: Maven plugin, executable jar, Docker, Kubernetes Job&lt;/li&gt;
&lt;li&gt;Bundled Node.js HTTP test server as a minimal system under test&lt;/li&gt;
&lt;li&gt;Helm chart for Kubernetes deployment&lt;/li&gt;
&lt;li&gt;GitHub template — clone from a clean slate with one click&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="getting-started"&gt;Getting Started&lt;/h2&gt;
&lt;h3 id="requirements"&gt;Requirements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;JDK 21&lt;/li&gt;
&lt;li&gt;Node.js (for the bundled test server)&lt;/li&gt;
&lt;li&gt;Maven&lt;/li&gt;
&lt;li&gt;Docker (optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="start-the-test-app"&gt;Start the Test App&lt;/h3&gt;
&lt;p&gt;The included test server is a minimal Node.js HTTP server that echoes requests back.&lt;/p&gt;</description></item><item><title>A LangGraph Agent with Tools, Guardrails, and Memory</title><link>https://jecklgamis.com/guides/langgraph-agent-with-tools-guardrails-and-memory/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/langgraph-agent-with-tools-guardrails-and-memory/</guid><description>&lt;p&gt;A LangGraph agent with local function tools, guardrails, memory, human-in-the-loop, and optional MCP server connections.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Local tools: filesystem, network, web search, math, bash&lt;/li&gt;
&lt;li&gt;Optional MCP server connections (math, perf)&lt;/li&gt;
&lt;li&gt;Configurable LLM providers: Ollama (default), OpenAI, Google Gemini, Anthropic, Microsoft Azure, Meta, DeepSeek, Mistral, xAI, OpenRouter&lt;/li&gt;
&lt;li&gt;Conversation memory via LangGraph checkpointing (SQLite)&lt;/li&gt;
&lt;li&gt;Guardrails: input validation, LLM-as-judge, output PII redaction, bash command denylist&lt;/li&gt;
&lt;li&gt;Human-in-the-loop tool call confirmation&lt;/li&gt;
&lt;li&gt;Graceful error handling for LLM connection failures&lt;/li&gt;
&lt;li&gt;HTTP API via FastAPI with streaming support&lt;/li&gt;
&lt;li&gt;Playground UI at &lt;code&gt;/playground&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;React frontend under &lt;code&gt;frontend/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;LangSmith tracing support&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="getting-started"&gt;Getting Started&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;uv sync
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./run-cli-agent.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For a different LLM provider:&lt;/p&gt;</description></item><item><title>A WebSocket Client/Server Skeleton Using FastAPI</title><link>https://jecklgamis.com/guides/websocket-client-server-skeleton-using-fastapi/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/guides/websocket-client-server-skeleton-using-fastapi/</guid><description>&lt;p&gt;A production-ready WebSocket client/server app using FastAPI.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm --name websocket-python-example -p 8080:8080 -it jecklgamis/websocket-python-example:main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="tech-stack"&gt;Tech Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FastAPI&lt;/strong&gt; - async web framework with WebSocket support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;websockets&lt;/strong&gt; - WebSocket client library&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pydantic v2&lt;/strong&gt; - validation and settings management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Docker&lt;/strong&gt; - containerized deployment (Python 3.12-slim)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Helm&lt;/strong&gt; - Kubernetes deployment chart&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ruff&lt;/strong&gt; - linting and formatting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pytest&lt;/strong&gt; - testing with async support&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="project-structure"&gt;Project Structure&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;├── app/
│ ├── __init__.py # Global logging init (INFO level)
│ ├── main.py # FastAPI application entry point
│ ├── config.py # Environment-specific settings (dev/test/prod)
│ └── routers/ # API route handlers
│ └── websocket.py # WebSocket /ws endpoint
├── tests/ # Test suite
├── deployment/
│ └── k8s/helm/ # Helm chart and deploy Makefile
├── websocket_client.py # WebSocket client
├── run-server.sh # Start the server
├── run-client.sh # Start the client
├── Dockerfile
├── Makefile
└── pyproject.toml
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="getting-started"&gt;Getting Started&lt;/h2&gt;
&lt;h3 id="prerequisites"&gt;Prerequisites&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.12+&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/astral-sh/uv"&gt;uv&lt;/a&gt; (recommended)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt; (for containerized deployment)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Clone the repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone git@github.com:jecklgamis/websocket-python-example.git &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; cd websocket-python-example
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Install dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make install-deps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Start the dev server (uses .env.dev by default)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make run-dev
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The server will be available at &lt;code&gt;http://localhost:8080&lt;/code&gt;. This will reload on file changes.&lt;/p&gt;</description></item><item><title>Contact</title><link>https://jecklgamis.com/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/contact/</guid><description>&lt;p&gt;The best way to reach me is by email: &lt;strong&gt;&lt;a href="mailto:jecklgamis@gmail.com"&gt;jecklgamis@gmail.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can also find me on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.github.com/jecklgamis"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jecklgamis"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Privacy Policy</title><link>https://jecklgamis.com/privacy-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jecklgamis.com/privacy-policy/</guid><description>&lt;p&gt;Last updated: April 30, 2026&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;jecklgamis.com is a personal website for software engineering guides, projects, and notes. This page explains what data is collected when you visit and how it is used.&lt;/p&gt;
&lt;h2 id="analytics"&gt;Analytics&lt;/h2&gt;
&lt;p&gt;This site uses &lt;strong&gt;Google Analytics 4&lt;/strong&gt; to collect anonymous usage data, including pages visited, time on page, and general location (country/region). This data helps understand which content is useful and how the site is being used.&lt;/p&gt;</description></item></channel></rss>