
C & Networking
A TCP server and client built call by call, the byte order trap, and the IEEE 754 layout behind every float.
Hands-on programming notes for C and network programming, Git, Vim and the Linux shell. The commands come with the output they actually printed.

The notes are grouped like lines on a metro map. Each district collects the guides, commands and browser tools for one topic, so a reader who arrives for a socket error can find the byte order tool two stops further on.

A TCP server and client built call by call, the byte order trap, and the IEEE 754 layout behind every float.
Githug: 56 levels, 55 solved, plus the Ruby fix it needs today.
Modes, motions and the way out.
$ gpg -c backup.tar.gz $ ssh web # ~/.ssh/config

The Romangie theme, reviewed.
A TCP echo server and a client you can compile today. The guide covers address lookup with getaddrinfo(), the recv() loop that survives partial reads, the htons() call that turns port 8080 into 36895 when it is forgotten, and poll() for more than one client at a time.

A programming note is only useful when its commands still work. Before a block of C, a shell command or a Vim mapping goes on a page, it is compiled or run, and the output shown under it is the output that came back. The compiler, library and tool versions go into a "tested with" line at the top of the guide, so a reader on another system knows exactly what was checked.
When a test fails, the failure becomes part of the text. The Githug guide shows the crash on Ruby 3.3 and the small shim that fixes it. The GPG guide records which cipher gpg -c really picked on GnuPG 2.4.4. The IEEE 754 page prints the exact value stored for 0.1f.
Four small apps that live in the browser and send nothing anywhere. Type a value, flip a bit, build a config or move a cursor, and the explanation on the same page tells you why the result looks the way it does.
Click any of the 32 or 64 bits and read sign, exponent, mantissa and the exact stored value, down to the last digit of 0.1.
Open the converter →See how a little-endian host and the network lay out the same port number, and what the other side reads when the conversion is missing.
Swap some bytes →Type a host, a user and a port, copy the finished Host block, and check whether ssh will accept the file and the key at their current permissions.
Build a Host block →Thirty seconds, one orange target at a time. Reach it with h, j, k, l and word motions, then press x.
Play a round →
The guides start where the manual page stops being enough. A student who has just met bind() and gets "Address already in use" on every restart, a developer whose second GitHub key is ignored by ssh, someone who opened Vim through git commit and cannot get out: each of them should find the reason and a tested fix within a screen or two.
That is why every guide is broken into stations along a route at the top of the page. Jump straight to the trap that brought you here, or ride the whole line from the first command to the edge cases at the end. New notes join the map on their own date, and the line below always shows the most recent stops.
C · 15 min
Vim · 9 min
Git · 15 min
WordPress · 6 min
Linux · 8 min

Programming notes on C and network programming, Git, Vim, the Linux command line and one WordPress theme. Next to the guides there are four browser tools: an IEEE 754 converter, a byte order converter, an SSH config generator and the Vim trainer game.
Yes. C examples are compiled with warnings switched on, shell commands are run in a clean container or on the named system, and the output under a block comes from that run. Where a long log is shortened, the cut is marked.
No. The converters, the SSH config generator and the Vim trainer run entirely in the browser, and nothing you type is sent to a server.
Start with the Vim guide, because Git often opens Vim on git commit and the first thing to learn is how to leave it. After that, SSH config aliases and GPG file encryption are short, practical next steps.
Like lines on a metro map. Each topic is a district with its own color, and every guide is split into stations along a route at the top of the page, so you can jump straight to the part you need. The sitemap lists every page on one screen.
Send the page address, the exact command, its full output and your tool versions to [email protected]. The contact page explains what happens after a report.
No. The photographs of cities, desks and hardware are AI-generated, and each one carries a visible "AI" label. The only real photos are the two demo pictures on the Romangie theme page. The AI notice explains how the pictures are made and labeled.