I Program on the Subway
62 points by probablyrobert
62 points by probablyrobert
I used to do a lot of programming on the bus to and from work. Had a lot more fun on a 25 minute commute than I would have driving the 10-15 minutes, can recommend.
A few years ago, I spotted a guy on the underground in Warsaw, hacking on some code in a language I didn't recognize, but it was definitely assembly of some sort. Being shy, I resorted to throwing curious glimpses at his laptop for a few stations, but eventually curiosity got the better of me and I asked ‘sorry, is this ARM’? To which the guy replies, smiling, ‘ah no, it’s MIPS!’
Now I program casually in public spaces, including the underground, on my GPD Micro PC. It, too, has attracted numerous glimpses and been a conversation starter on some occasions.
I love my GPD Pocket 3 for the same reason. It too has been a conversation starter, especially at FOSDEM last year.
After seeing a few folks use GPD last fosdem I am seriously contemplating getting one (or maybe MNT pocket reform).
I haven’t seen a GPD in person, but have eyed those, and have seen a MNT as well. Similarly attracted to them. Closest I have right now is an old 11” MacBook Air running Linux, which is nowhere near as compact but still very portable.
I've been tempted by the MNT Pocket Reform as well. I'm just concerned about the limited OS support.
Nice! I wrote GoAWK in little bits on my bus commute from New Jersey to Manhattan. It was fun having an existing test suite (from original Awk; I added Gawk tests later) and watching the PASSes increase and the FAILs decrease.
I posted this comment verbatim on the orange site, but feel it’s relevant and very personal so I’ll repost here. IDK why but I’m a bit self-conscious about doing that and generally try not to.
About 20 years ago, I landed my first real, high-impact job at an upstart consulting agency in Washington DC that came from the ashes of the Howard Dean campaign. Unfortunately, I had also just signed a lease on an apartment in the town I lived in, a two hour drive from downtown DC.
I spent the first year at that job commuting into DC 2-3 days/week, which involved about an hour drive, then an hour regional commuter train, then some Metro transfer and walking — then back again in the evening. I spent that train time offline (as it was 2004) learning the Apple Cocoa frameworks, as in another twist of fate, the company was entirely Apple laptop-based, which was fairly rare for 2004, and I built tools for the team and myself. The focus possible because I was offline, with comprehensive docs, was pretty intense and was a huge part of many aspects of my career to follow.
Wish I lived in a city with a subway! In 2007 when I commuted to downtown Seattle I wrote a Scheme implementation entirely during bus rides: https://github.com/technomancy/bus-scheme
As a tall person who takes a bus, I've gotten frustrated pretty quickly every time I've tried programming during my commute.
I've written a lot of code on the subway in London, New York, Paris, Tokyo, etc. The background noise and the sense of a ticking clock (the time to the destination or the next subway line change) actually seems to help the creative/coding process, which is a weird thing to claim.
Trains (Amtrak, Deutsche Bahn, etc.) and planes were also quite productive, until I started getting solid Internet connectivity and had things to distract me from being productive.
I have programmed on my daily commute to and from work on the train (which have been between 45 minutes and 2 hours over the years) for years and its always where I have done some of the things I like the most. A lot of people have asked me why I don't do work on the train and tbh its just because I like doing a bit of relaxed programming where I don't need to make anything specific and have no time limits other than reaching my station.
(This post was also written on such a train)
I've done this when I lived in NYC and commuted 45 minutes each way. This was 15 years ago, before there was station wifi, but it was also before the Internet was really necessary to do something useful for 45 minutes on my laptop. It's fun, I also recommend it.
I've been programming on my phone in subway in termux for several years, because I had to spend about three hours total each day riding to work and back home. Almost half of the commits on my gitlab was done this way during 2016-2020. even got myself GPD Pocket at some point, but in reality it was less comfortable than doing everything on the phone. Thankfully, Emacs runs my main configuration in Termux, and almost everything I needed was [provided as packages in Termux repos. Google keyboard actually has a PC layout, so my setup was not dependent on anything crazy.
I have even edited some texts while walking home from a station along a pretty empty (so needing to pay attention to other pedestrians is exception not a rule) path. PinePhone + snap-on PPKB keyboard, and before that Plate Computers Cosmo.
Actually, at some point I have edited some stuff on a ThinkPad, while standing in a train. But this is not very efficient, and the arm keeping the laptop up gets tired rather quickly.
(Obviously, sitting down with a laptop in a half-empty bus going from one subrub to another around all the peak traffic of the center is the best for writing-during-commute…)
i used to read SICP and solve advent of code on the metro back home from university! internet was not a "solved problem" for me back then (2018), I would only really be able to get stable speedy network at home, but not on the go or at uni. i would download as many books and websites as possible in the nights and pore over them on my commute.
thanks for writing this post, brings back several memories.
On a job a long time ago, I had a 3h train commute (2x1.5) and my trusty eeePC was my companion. Even though mobile internet existed, connections were so awful it was basically a no-go. I remember feeling how awkward it was no longer being able to look something on the online docs, untill I found someone who took the full online docs and packaged them for offline use, including the comments. Sadly I don't expect IDE's being better at this today, especially with all the dependencies we tend to fetch these days.