The Joy of Aeroplane Mode Programming
Recently I got back to the basics of programming - just me, a computer, and a book - it was fantastic. No internet. No distractions.
It’s the same way I learned to program as a kid in the early nineties, before my family had internet access. I tried (and failed) to write a text adventure game for the Atari ST. All I had was the system, its built in BASIC interpreter, and the programming book it came with.
I found my way back to this simpler method of programming due to a recent retro computing acquisition - a Psion Series 3a. As a geeky kid in the nineties I would lust after these while flicking through the Argos catalog, however my pocket money would never quite stretch to obtaining one. So imagine my surprise and delight when I discovered a local charity shop had one for sale, for just £30. It was sold as “non-working” but after cleaning the battery contacts it came to life and has been working fine ever since.
Since the very beginning, all Psion models have shipped with their own built-in programming language, complete with onboard code editor and compiler. That language is OPL - literally just “Organiser Programming Language”, and it’s weird. I’ll save documenting all the language’s oddities for another post, but suffice to say it wasn’t a language I could trial-and-error my way to comprehension.
Originally I had no intention of learning OPL, but then a thought bubbled up that I could’t shake - the Psion Series 3a would be great for a Wordle clone. A quick search didn’t reveal an existing version, so I decided to have a stab at it myself. I found a copy of the official Programming Manual on eBay and set to work.
My Psion coding setup
I didn’t originally plan to do this without turning to the internet for help, in “Aeroplane Mode” if you will, it just kind of happened. The combination of the Psion’s portability, and its lack of internet connection, meant when I had a spare few minutes I could open up my 3a and its accompanying programming manual, and write some code.
I was instantly transported back to those early days of learning to program in Atari ST basic - finding the relevant information in a real live book, and trying it out on the machine. Rinse and repeat, until you have something that works.
It’s a very quick way to get into a flow state. Book, code, book, code, book, code. No distractions.
It kind blew my mind how simple it could be, and how I’d managed to loose touch with that simplicity after close to 30 years. I haven’t bought or used a real programming book since university back in the mid 2000s, when I bought the recommended books on C++ and graphics programming. Every language I’ve learned since then - PHP, JavaScript, Ruby, Go - I’ve learned through online material only, and I continue to turn to the internet when I get stuck.
Actually that’s not totally true, I do own a physical copy of “Why’s (poignant) guide to Ruby”, but that was pretty outdated by the time I got it, I just like the writing style.
The internet is a great resource, and allowed me to learn all those languages for free, ultimately giving me my career, but it’s not without its downsides.
When looking online for the solution to a problem, it’s rarely as simple as just finding the answer. There’s often opinions to wade through - five different people on Stack Overflow giving five different answers, each convinced theirs is the only way. Then there’s the rabbit holes that suck you in, and links to other pages begging to be followed. Sometimes my searching will lead me to an interesting blog post on the subject, “Cool, I wonder what other posts they have?” Suddenly half an hour’s passed and I’m reading a very convincing argument in favour of Hungarian Notation.
Throw modern AI coding assistants in to the mix, with their lag and hallucinations, and it’s a wonder anyone can get anything done these days.
None of that can happen with a book. You find the answer, you go back to coding. Book, code, book, code.
I don’t know if this method of programming has a name, or if it even needs one, but I’m gonna go ahead an name it “Aeroplane Mode Programming”. Originally I wanted to call it “Offline Programming”, but that’s already the term for programming robots in a simulated environment. My second choice was “Unplugged Programming”, but that’s apparently programming without a computer at all.
Anyway, the point is if you don’t have a book for your language of choice - get one. And not an e-book, get a real, dead tree, analogue book. E-books are great for linear fiction, but nothing beats being able to quickly flick through pages when it comes to random access reference materials.
It doesn’t even matter if you’re not sure what the “best” book for your language of choice is. Any book that allows you to achieve and maintain a flow state is better than wading through the conflicting opinions of multiple experts online.
It definitely worked well for me. I was able to learn OPL and write a Wordle clone in a couple days, using just a book and an early 90s PDA with a 640 x 160 pixel monochrome display.
Now if you’ll excuse me, I’m off to buy a book on Go.
– Matt