All posts

The Lost Art of Programming Offline

Ownership · Programming · Linux

It's rare these days, but there were occasions in the past where I was completely offline: In a train, on a long trip, when the power went out and I still had a few hours of battery on my laptop.

And I wanted to program for some reason.

I realized that programming offline is a rather revealing experience. It showed me what I could, in fact, write using only my knowledge, intuition, man pages, and the sources in my laptop.

No programming or framework subreddits, no Stack Overflow, no programming forums, no Discord, no AI.

It became clear what problem domains I had mastered and in which ones I was lacking.

A web server in Go? Got it. The front-end? I was forced to admit I sucked at CSS and could barely make any page look good without Googling for CSS properties or going to MDN.Thankfully, there were projects on my SSD with CSS I could look at.

One time, I was working on a TUI in Odin. It can interface with C. I had read about termios on a related blog post.

If you have man-pages installed on your Linux system, you have the C standard library docs like sprintf, termios, exit, anything that's available on the OS.

(If you have to install man-pages or equivalent on your distro, run sudo mandb right after so its search index is updated. This helps searching with man -k <topic> or apropos <topic>).

So man termios got me started.

I also learned that /usr/include contains all the C header files used in the system. It's a good read.

It was so interesting to search things on my own system. Programming felt more personal, I was working directly with my machine, it was self-contained.

Learning this way is so efficient.

Every line written became more genuinely mine.

Even though this can be impractical in many on-the-job scenarios. It's still an amazing learning and skill-sharpening activity.