Lately, I have come to the conclusion that I might be a bird—a bird soaring high above a data center, circling around for its computer prey. In other words, I have come to realize I know nothing about computers despite having been a somewhat fair programer (shall i say "developer") for about two decades.
So I felt the need to start over. Not coding this time. Not yet another stack change. The 'self-made man' urge is still there, despite the years, despite the progressive and implacable accumulation of belt fat and bad practices.
My goal is to look at a damn piece of computer equipment and be able to explain to myself and others what that thing is, what its component hardware and software are, their layers, their operations, interoperations, and networking.
I need to level up (or feel like it).
Here is my DIY course for the job. Judge by the covers.
| Module & Refined Title | Goal & Description | Materials & Authors |
|---|---|---|
| Module 1 — Silicon & Logic Architecture | Understand how logic gates, ALUs, CPU registers, and RAM execute binary instructions. | 2. The Elements of Computing Systems — Noam Nisan & Shimon Schocken 3. Code (2nd Ed.) — Charles Petzold |
| Module 2 — Sockets & Transport Layers | Master OS sockets, 16-bit port headers, TCP/UDP handshakes, and IP routing directly in Go. | 1. Network Programming with Go — Adam Woodbeck 2. Conceptual Reference: Beej's Guide to Network Programming — Brian "Beej" Hall 3. Theory Book: Computer Networking: A Top-Down Approach — James Kurose & Keith Ross 4. Applied Security: Real-World Cryptography — David Wong |
| Module 3 — Wireless Protocols & Packets | Capture live traffic, analyze 802.11 radio frames in Wireshark, and understand BLE GATT. | 1. Practical Packet Analysis (3rd Ed.) — Chris Sanders 2. Getting Started with Bluetooth Low Energy — Kevin Townsend, Carles Cufí, Akiba & Robert Davidson 3. Hands-on: Build a BLE scanner in Go using `tinygo-org/bluetooth` |
| Module 4 — Linux Systems, Shell & Operations | Understand kernel/systemd mechanics first, master the shell & scripting, then apply server hardening and Tailscale ops. | 1. OS Mechanics: How Linux Works (3rd Ed.) — Brian Ward 2. Shell & Scripting: The Linux Command Line (2nd Ed.) — William Shotts 3. Server Operations: UNIX and Linux System Administration Handbook (5th Ed.) — Evi Nemeth et al. |
| Module 5 — Production Go & API Architecture | Build Chi-compatible Go REST APIs, idiomatic middleware, concurrency safeguards, and production deployments. | 1. Let's Go Further — Alex Edwards 2. 100 Go Mistakes and How to Avoid Them — Teiva Harsanyi |