14 pages · 4 browser tools · edition Nov 2026
Programming notes for the city of code

Build sharper code, one block at a time.

Hands-on programming notes for C and network programming, Git, Vim and the Linux shell. The commands come with the output they actually printed.

55of 56 Githug levels, solved and checked
32clickable bits in the IEEE 754 tool
:q!the first Vim lesson
Glass skyline of a city at blue hour (AI-generated image)
AI-generated image
Departures
guides on the map
CSOCKET PROGRAMMING IN C15 MINBoard Socket programming in C
GITGITHUG LEVELS AND SOLUTIONS15 MINBoard Githug levels and solutions
VIMVIM TEXT EDITOR GUIDE9 MINBoard Vim text editor guide
LINUXENCRYPT FILES WITH GPG8 MINBoard Encrypt files with GPG
LINUXSSH CONFIG ALIASES8 MINBoard SSH config aliases
The districts

Five neighborhoods, one map of the stack.

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.

Light trails of traffic through a city at night (AI-generated image)
AI-generated image
Open C & Networking
District 01

C & Networking

A TCP server and client built call by call, the byte order trap, and the IEEE 754 layout behind every float.

socket()htons()recv() loopfloat32
Open Git

Git

Githug: 56 levels, 55 solved, plus the Ruby fix it needs today.

stashbisectrebase -i
Glass tower lit in blue at night (AI-generated image)
AI-generated image
Open WordPress

WordPress

The Romangie theme, reviewed.

responsivefree
Featured guide · TCP client and server

Socket programming in C, from the first call to the last byte.

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.

01 socket()Open an endpoint
02 bind()Give it an address
03 listen()Queue the callers
04 accept()Pick one up
05 recv()Read in a loop
06 close()Hang up cleanly
Read the socket guide
Night city grid seen from above, avenues crossing like transit lines (AI-generated image)
AI-generated image
How the notes are made

Every code block ran before it was written down.

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.

  • Exact versions instead of "the latest".
  • The output under a command is the output it printed.
  • The traps that cost the most time get their own box.
Tools & game

Run it right here.

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.

IEEE 754 converter

float · double

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

Byte order

htons · htonl

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

SSH config generator

~/.ssh/config

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

Vim trainer

game

Thirty seconds, one orange target at a time. Reach it with h, j, k, l and word motions, then press x.

Play a round
Antennas on the roof of a skyscraper above the city at night (AI-generated image)
AI-generated image
Who the notes are for

Written for the moment a command does something odd.

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.

  • SSH config aliases: one short name per server, first match wins.
  • Vim: modes, motions and every way to quit.

Latest notes on the line map

CGitVimLinuxWordPress
  1. Socket programming in C

    C · 15 min

  2. Vim text editor guide

    Vim · 9 min

  3. Githug levels and solutions

    Git · 15 min

  4. Romangie theme review

    WordPress · 6 min

  5. SSH config aliases

    Linux · 8 min

Empty metro platform under a glass canopy at night (AI-generated image)
AI-generated image
Last stops · FAQ

Questions about TobsCore

What does TobsCore cover?

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.

Are the code examples tested before they are published?

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.

Do the browser tools send my input anywhere?

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.

Where should I start if I am new to the terminal?

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.

How are the guides organized?

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.

How do I report a mistake in a guide?

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.

Are the pictures on TobsCore real photos?

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.