Hello, fellow developer 👋

Notes, tutorials and books for people who build software.

Most of what I write here is a knowledge dump for future me: what it is, how to do it and how to fix it. Hopefully you find it useful too.

Books

All books

One Server, Three Languages

Learn C, Go and Rust from scratch by building the same Redis-compatible server three times, and understand the power and the weakness of each

  • C17 · Go 1.27 · Rust 1.99
  • One server, built three times
  • 39 exercises with solutions
  • 77-row scorecard
  • Every listing compiled and tested

You learn by building, you used C at university and Go a few years ago and forgot both, and you have heard that Rust is the systems language now. This book teaches all three from scratch by building one project three times: kv, a key-value server that speaks the Redis protocol, so that the real redis-cli and redis-benchmark can talk to it from chapter 4 on. It starts in 1969 with why C exists, then why Google made Go and why Mozilla made Rust, and builds the server one feature at a time, always in C first, then Go, then Rust: an echo server, the protocol parser, GET and SET, your own hash table, modules and packages, fifty clients at once, keys that expire, a log that survives a crash. Then it does what a working programmer must: tests, fuzzers and sanitizers, benchmarks and profilers, cross-compiling and static binaries, and calling C from the other two. Every chapter opens with a comparison table, teaches each language with an exercise whose full solution is folded underneath, and closes with a scorecard that names a real weakness of each. The last chapter gathers the 77 rows into one table and says when to choose C, Go, Rust, or none of them. Every listing is pulled from code that is compiled and run against the same protocol tests on every change. Read it in about four and a half hours, and keep the appendices: a rosetta cheat card of the constructs you use most, side by side, and a glossary linked from the text. Press ⌘K to search, and 1, 2 or 3 to put your language first.

Read online

Java for C# Developers

A working handbook for .NET engineers moving to Java and Spring Boot

  • Java 25 LTS
  • .NET 10 · C# 14
  • Spring Boot 3 & 4

Where your C# instincts carry over to Java, and where they are confidently wrong. Every chapter gives its answer first: a table of the differences between C# and Java, with each trap shown as code whose result you predict before you look. The book is written in plain sentences, so it is easy to read if English is not your first language. Read the essentials in about 3 hours 45 minutes, or everything in about 10 hours. To refresh later, there are tours of Java, Spring Boot and modern C# as annotated code, and a review deck that brings back the questions you missed. Press ⌘K to look up any C# name and land on its Java answer.

Read online

Recent posts

All posts

Latest videos

All videos

Tutorials

All tutorials