10 — Hardware Notes

You probably already have your primary machine: a MacBook Pro or Air with an M-series chip. This file is about when that’s enough and when you need something else. For the 13-month roadmap, you will need cloud Linux access at minimum, and you should budget for a cheap secondary Linux box by M7-M8.

Apple Silicon (M1/M2/M3/M4) for C development

Excellent for:

  • 90% of your day: reading, writing, editing, testing, ASan/UBSan runs.

  • Native ARM64 codegen; you learn ARM assembly by default, which is a bonus.

  • Ridiculous battery life; you can do 10 hours of C study in a coffee shop.

  • Instruments is a first-class profiler.

  • clang/lldb bundled and current.

  • Rosetta 2 handles x86 binaries transparently for testing.

Painful or missing on Apple Silicon:

  • valgrind: no working port. Use ASan (which is faster anyway).

  • perf: Linux-only. Use Instruments locally + cloud Linux for perf work.

  • rr: Linux x86_64 only.

  • bpftrace / eBPF: Linux-only.

  • io_uring: Linux-only. You cannot benchmark io_uring on macOS — fundamental kernel API.

  • 32-bit x86 legacy code: effectively gone; use Docker/QEMU if you must.

  • gdb: works but code-signing dance is annoying; lldb is easier.

Verdict: primary daily driver, absolutely. Sufficient for M1-M7 of the roadmap on its own. From M8 onward you need real Linux.

Getting real Linux — three options in order of cost

Option A: cloud VM ($5-20/mo)

Cheapest, most flexible. You pay only for hours you use if you spin down.

Provider

Instance

Cost

Notes

Hetzner Cloud

CPX21 (3 vCPU, 4GB, x86_64)

~€5/mo

Best price/perf in Europe; EU location is fine from India latency-wise (200ms; use tmux)

DigitalOcean

Basic 2GB

$12/mo

India (BLR1) data center; low-latency from Bangalore

AWS EC2

t3.small

~$15/mo Mumbai region

India (Mumbai) region; free tier for first year

Oracle Cloud Free Tier

Ampere A1 4 OCPU 24GB ARM

Free (Always Free)

Excellent value; ARM Linux, not x86 — no rr, no x86 SIMD tests

Recommendation: Hetzner CPX21 for a permanent Linux workstation ($5-6/mo including tax); Oracle Cloud Free Tier Ampere for a free always-on ARM box.

Option B: cheap Linux laptop / mini-PC ($<phone_number_or_numberic_id_or_random_id_12>)

One-time purchase; lives on your desk.

Option

Cost (INR / USD)

Notes

Used ThinkPad T480 / T14

₹20,000-30,000 / $250-350

Robust, Linux-friendly, still has good keyboard. Buy off OLX/eBay India.

Intel NUC or refurbished mini-PC

₹25,000-45,000 / $300-550

Small, quiet, plug into monitor.

Framework Laptop 13

₹95,000+ / $1100+

If you want new. Overkill for a secondary machine.

Raspberry Pi 5 (8GB)

₹8,000 / $100

ARM Linux, real Linux syscalls. Slow but functional. Great for io_uring/eBPF learning.

Verdict for India: used ThinkPad T480 or T14 from a Bangalore/Delhi refurbisher is the ROI winner. ₹25,000 buys you a machine that will run Ubuntu 26.04 for the entire roadmap.

Option C: WSL2 on your work Windows laptop (if applicable)

If Zoho issued you a Windows workstation, WSL2 with Ubuntu 26.04 is a real Linux, including perf, io_uring, and bpftrace (kernel 5.10+). Zero cost. Only downside: filesystem crossing between WSL and Windows is slow.

Specs that matter for C work

Unlike ML, C dev is not GPU-bound and rarely RAM-bound. Priorities:

  1. NVMe SSD — the single biggest factor in build times. Compilers thrash the disk.

  2. CPU single-thread perf — linker and per-TU compile are largely single-threaded even with -j.

  3. RAM — 8GB minimum; 16GB comfortable; 32GB overkill.

  4. Network — for pulling packages, cloning repos, and SSH-ing to cloud boxes.

GPU: irrelevant unless you’re doing CUDA/Metal SIMD from C in M11+, and even then you can use cloud spot instances.

For concurrency / perf benchmarking

Your M-series Mac has 8-14 performance cores depending on chip. That’s a fine environment to learn concurrency, but production concurrency benchmarks should run on:

Target

Why

Cloud x86_64 with 16+ vCPUs

Realistic “many cores contending on cache lines” scenario. Hetzner CCX23 (8 dedicated cores) or AWS c6i.4xlarge.

A machine you can pin threads to specific cores

Linux taskset -c 0-3 ./prog. Not possible on Mac without kernel extensions.

A machine with perf stat

Cycle-accurate counter reads for cache misses etc.

For M9-M10 concurrency work, budget ~10 hours/month of cloud time (~$5). You do not need a permanent 16-core machine.

For SIMD work in M11-M12

  • On Apple Silicon: you have ARM NEON natively. Write it, test it, benchmark it. This is legitimately production-relevant — all of Apple’s ML and llama.cpp’s Mac backend use NEON.

  • For AVX2/AVX-512: cloud x86_64 VM. Hetzner AMD Ryzen instances or AWS c7i (Ice Lake) give you AVX-512.

Peripherals worth having

  • External monitor — 27” 4K if budget permits; you will spend 8-hour sessions reading code.

  • Mechanical keyboard — not vanity; wrist health over 13 months. Any tenkeyless with brown/red switches.

  • Ethernet dongle — for the Linux mini-PC.

  • A physical notebook — handwritten diagrams of pointer / arena layouts. Faster than any drawing tool.

What most people get wrong about hardware

They think they need a $3000 rig. They don’t. A used ThinkPad T480 or a Hetzner CPX21 does 100% of what this roadmap requires. The bottleneck for the next 13 months is your attention, not your CPU. Spend money on books and a good chair; not on hardware.

Return to README.md · Return to ../README.md