back
202 comments
Here is a description of the daily commute by Michael Milken, 1980s junk bond king, as told in "Predator's Ball" by Connie Bruck:

At 5:30am each weekday in the early 1970s, a bus pulled up to a stop in Cherry Hill, New Jersey, and a young man lugging a bag that bulged with papers mounted its steps. He was making the two-hour commute to New York City, where he worked at the investment­ banking firm of Drexel Firestone. The train would have provided a more comfortable and faster ride; but, for those very reasons, it also offered more opportunity to meet other Wall Street acquaintances. They would want to engage in the kind of idle small talk that commuters share to pass the time. The thought must have been intolerable. He did not wish to be rude, but he wanted no interrup­tion.

As soon as he had settled into his seat, being sure to take one with an empty one adjacent, he unloaded a mountain of prospectuses and 10ks (annual Securities and Exchange Commission filings) onto the seat next to him. On winter mornings the sky was still pitch black and the light on the bus was too dim for him to be able to read. He wore a leather aviation cap with the earflaps down; he had been bald for years, and although he wore a toupee his head always felt cold on these frosty mornings. Now over his aviation cap he fitted a miner's headlamp -- strapped around the back of his head, with a huge light projecting from his forehead.

This is dedication.

Unfortunately I can't program on a bus, I get motion sickness. Subway works very well though! It insulates me from most distractions. The only problem is that the longest subway commute I ever had was about 45 minutes; solid 2 hours would allow for so much more! :)

When I was living in Paris I had a 20 min ride from home to work each day. I picked up the habit to read during those 40 total minutes and I was going through books like I had never been able to, because while 40 min is not a lot, it’s about 150h per year. One easily underestimates the power of consistency.
I read many books a year by reading for 20-30 minutes per night before sleeping. A habit with multiple benefits (winding down and reading or commuting and reading) is very powerful for getting the most value out of your time.
I also used to read my commute but stopped it after I finished "for whom the bell tolls". I was so moved that I ended up crying in the bus and I would have liked to experience that feeling in the privacy of my home rather in the morning bus with 9 hours still on the clock.
I commute to the office 1-3 times a week, it's about 30 minutes on the train + some walking.

I've gone through so many books it's crazy :)

With audiobooks I can start listening the second I step out of the door and stop while I take my jacket off in the office. With e-books I usually just read on the train.

Most books aren't that long, around 5 hours a week of reading just during your commutes is quite a bit.

For one year I read every free moment averaged a book every 3 days mostly biographies many on wrestling. The year I got an e-reader (alura tech). Stopped after the screen broke.

The book that stood out the most. Sugar Barons.

I do the same with language learning. Makes me actually enjoy commuting to work since I find it hard to study at home. I just pop in the headphones, take a seat, and sit for 40 mins twice a day. Sometimes I even intentionally take the non-rapid so I can study a bit more (plus the train is less packed so I'm always guaranteed a seat)
how can you read in 20 minutes, for me 20 minutes is only good enough to stare out the windows and ... zip zip 20 minutes are gone

i need a couple of hours to do any technical reading

20 minutes, maybe, maybe .. good enough if i am reading fiction or something

Many years ago, before mobile internet was reasonable and before wireless internet was available, and before even electrical outlets were something which could be counted on to be present on trains, I took a 6 hour train ride. I had no laptop. I printed out, on paper, the entire source code of the project I was working on, and brought a red pen. I read through the whole thing, from start to finish. Many subtle bug fixes, refactorings, and efficiency improvements were made that day.
> they would have to do it at a station, where they could immediately get off the train. I think, though, that this would be risky, given that subway stops generally have a lot of people getting on/off the train in the first place.

I've seen a phone jacking in this exact scenario and nobody moved to stop the guy running. Nobody on the train can help cause the doors have closed, and nobody on the platform has any idea anything just happened, or if they do the guy is well gone before they can put two and two together.

For me I always pocket my phone or e-reader at each stop, unless I'm in Japan or Taiwan.

> I don't even have an internet connection.

Vibe coders feeling a great disturbance in the force.

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.

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 [0]. It, too, has attracted numerous glimpses and been a conversation starter on some occasions.

[0]: https://blog.danieljanus.pl/2022/08/18/i-love-my-gpd-micro-p...

When I was part of a team developing a highly durable texting protocol, those of us in NYC would regularly test messaging while riding the subway. Between stations, you didn't have network access but different devices upon entering the next station would handle and recover from the interruptions in various ways.

The subway produced so many repeatable network connection edge case problems. It was fantastic.

What I miss about my long commutes on public transportation in early 2000’s was the serenity of doing absolutely nothing.

It was essentially forced meditation, and it helped me a lot in reorganizing my thoughts.

I had moved next to the office later, and noticed that I’d really missed those meditative hours. I saved maybe 1.5 hours of commute every day but my net productivity had declined.

I don’t think it would be as easy to achieve the same effect today as it was back then. We now have phones and interactive ads, and that dopamine driven economy.

I miss that about those times.

I used to commute 1h40m one way, which accounted for 50mins in a train (+10min avg waiting). While I ususally did pull out my laptop, the productivity just wasn't there - I can't consistently work while groggy/vitamin-d deficient during winter mornings, or in the evening being cooked after having worked for 8 hours (I have an office job, but not programming). The seats are cramped and uncomfortable, not being able to raise my arms enough to use the keyboard without bothering the passanger next to me, so I'd have to put it away during the crowded parts of the ride, and I'd be very frustrated if the train was unusually crowded. Having your "flow" be broken by arriving at the end stop and having to rush to pack your things is awful. The only conversation someone's struck up with me was a guy who insisted he'd never understand what I was doing even if he tried.

Suffice to say, after almost two years of this, I was extremely tired and sleep deprived as this ate away at my available time more than what is reasonable. Using the time for personal projects didn't compensate for it. Never again, it's really not worth it.

I used to do work on Caltrain, which used to be like 3 hours of my commute and didn't have any internet, so I would carefully plan what I could do beforehand. My code deploys to a machine that's very different from my laptop, but I had a Docker container set up to cross compile things and loaded up the docs beforehand, so as long as I planned out what I wanted to do.

These days Caltrain is faster and has occasionally frustrating, but fairly good Wi-Fi, so now my constraints are that I don't have a large monitor but not really much else.

Doing connected work from the subway has gotten much, much easier in the last few years. I attribute that to three things:

1. Cell service has become low-latency. This is very different from "fast", which it has also become! When I started working from the train (on HSPA+), pings in the hundreds of milliseconds were the norm. My first step was usually to SSH to a remote machine, and let just the text lag on me. Nowadays, I can run a Web browser locally without issue.

2. Cell service has, at the same time, become ubiquitous in subway tunnels. When I started, there were some areas that dropped down to EDGE (unusable), and some areas that had no service at all. Now, there is exactly one place on the Boston transit system - Back Bay Station - where I lose cell service.

3. Noise cancelling tech has gotten better. It's not just about noise cancelling headphones: both of my laptops (a 2024 MBP and a ThinkPad P14s) have microphones that can filter out screeching wheels and noisy teenagers quite well. That means I can take meetings without making them miserable for the people on the other end.

These, honestly, are a huge game-changer for me. The ability to take a 30 minute meeting while commuting, where otherwise I would've had to get in early or stay late at work, actually does wonders for my ability to have a life outside of work.

Late 90’s I had a ~90 minute commute for a while (50min train with seat, 20min London Underground seat mostly, 15min train crammed, 10min walk).

The longer train I would use my laptop, same with the 20min underground section on the journey in (going home no chance), but for the packed train and the walk I listened to music (I still have my Diamond Rio PMP300, no idea if it still works, just remember downsampling music to 32kbps to get more on a memory card, quality was less important than quantity - I must have listened to David Gray’s album _White Ladder_ many hundreds of times).

Toshiba laptops (Satellite? I think they were before the Tecras), heavy and the battery life wasn’t much more than 90 minutes but it was just enough. Dual booting Windows and Linux. (Linux for dev work on the go…)

Obviously no mobile connectivity back then, I had to have a plan for what I was going to work on and that also involved backup plans if I ran into a blocker on the primary. Same for the way home.

A bit later I could get GPRS data rates via Infra-Red to my mobile and that just felt like magic.

I found the times I couldn’t be on my laptop (walking or on the packed train) were great for thinking problems through and often had to stop to scribble down thoughts/ideas/solutions in a notebook that I kept in the laptop bag.

Wrote so much useful code in that 18 months without the distractions of the Internet or emails or whatever.

Now I somehow find I have less time despite having virtually no commute. Technology has vastly increased the number of distractions and I have let myself succumb to them. Where I had no real choice in what music I listened to now I have too much choice. There’s always one last thing to check before I get on with a bit of work. Sometimes I wish for simpler times.

I program and did program anywhere; unlike OP, I thrive in (human) noise: if it's quiet, I cannot focus, so working at home with multi monitor setups etc works against me (music doesn't help: not random enough and I cannot talk to people when I feel the need). I prefer subways, busses, airplanes, lounges, coffeeshops, pubs etc. Offices strangely do not work as I already know those people so I get bored and creativity plummets. My setup now is the best I had ever: a rugged android tablet with week-long battery, running termux with full desktop linux (not rooted) which can run all I want. I run several llms offline on it as well to fix the workflow when I don't have my nice foldable full keyboard out (if no space). I can run everything in our framework, online and offline; when I come back online, I just sync (code AND data) and voila.
I used to get so much done on my BART commute. Also learned piano on a little 25 key midi keyboard until the program I was learning from started needing a 26th key.
Back in the 80s I would work on stacks of fanfold code printouts on my trips on the London underground to and from work
I recently bought a GPD MicroPC 2, a 7” laptop with a real keyboard. It runs Linux just fine, and it has been a fun experience of having a “real” computer with me much more often than I otherwise would. My version of programming on the subway has been programming on a park bench—it fits in a jacket pocket, or even the back pocket of some of my pants. The keyboard is tiny but easy enough to use with thumbs, or, with some practice, two-handed touch typing on a flat surface.

It’s nice to be less tethered to a desk, while also not having to carry a backpack and heavier full laptop, but still able to remote in and do what I need to do. I really enjoy having a fully capable Linux PC in my pocket vs a smartphone.

My entire stack is meant to let me work offline in random locations. Until recently it was meant to run smoothly on a 12" Macbook. The output is also made for users on spotty internet connections. This comes from years of working while travelling. I can work offline for weeks if needed.

I sometimes do "iPad work", which is essentially researching, reviewing and annotating content on my iPad Mini. I will hop on my bike and work an hour or two in different locations, over coffee or in the sun. It's a relaxing break from working on a computer at a desk.

I do think that people should work in different places. Perhaps we'd have apps that work better on slow internet.

Proponents of public transportation often say how they love to be able to use it as peaceful downtime to read, work, meditate, etc.

All my experience with public transportation is having to roll the dice and more often than not losing - having to stand while packed liked sardines into a bus or subway.

Did this for a couple years on a 45 minute CTA commute in Chicago while I was learning to code outside my day job, it honestly made that commute not even feel burdensome. Key was that I was 1.) on the brown line, which was still running the 3200-series cars with plentiful seats, and 2.) at an early enough stop to reliably get one. And can confirm an old Thinkpad (x220 at the time) is the king of commute coding.
This is essentially how I work on hobby projects these days. My bus commute is about 45 minutes each way and I find this to be just enough time to get work done. I also try not to work on these projects outside of my commuting hours; this gives me time to mull problems over rather than jumping headlong into writing code.

The lack of internet on the bus has not really been a problem since I plan ahead and make sure any dependencies I need are already downloaded.

I use an old (2010 era) Toshiba netbook which is small enough that I'm not causing problems for my seat neighbours. It's also only got a dual-core 1GHz processor which kind of forces me to find performant solutions to problems.

Much like the author I've also been thinking about how I can make my setup more portable. I've been considering purchasing AR glasses and using my Charachorder2 so I don't even need to get the netbook out of my bag. At this stage I can't justify the cost of a pair of AR glasses though.

Some recent projects my commute has given me the time to work on:

- a text editor (OCaml, SDL)

- a 3D game (C, OpenGL)

- an x86 operating system (Zig)

I wrote nearly all of https://apps.apple.com/us/app/two-birds-one-stone/id15396463... on a train without internet. It was about a half hour journey, and I found that in such a short amount of time, I would set a small goal and work in a very distraction free way to achieve it. It was very good for doing small things, but sometimes doing larger things (like big refactors) is a bit more difficult. On occasion, I would also dedicate a train ride to just writing up a todo list.

I gave myself the rule of no internet while on the train, so sometimes I would just accumulate a list of questions I wanted to answer later.

There is definitely something to it, and you can get heaps done, but it needs to be supported with some non-train time (e.g. for me, it was all the app store stuff, debugging with real hardware, etc)

When I used to ride Caltrain to/from work, I would often have an uninterrupted stretch of 45+ minutes in a cozy single seat (I would always take an upper deck seat in the "gallery" car) to either doze off or use this time to focus on something. I would get so much done on those days if I managed to avoid the sun blasting too much sunlight on my screen/seat. This commuter rail experience is probably familiar to many of us, but it's specific to commuter rail - being a passenger on a subway or in a car/bus is too chaotic or bumpy to do this.

More generally, I find that switching up your surroundings is absolutely vital for your brain's ability to focus on hard tasks. I will hit a wall if I try to work multiple 10+ hour days sitting in one spot, but a comfortable spot in a different coffee shop or lounge can totally trick my brain into powering through.

I was in Philadelphia for a week and also used my commute time (2 hours in total each day) to program. As a web developer who uses Github Copilot and often checks documentation online, I did not have such a good experience as OP had. Mobile data is pretty much nonexistent in Philadelphia in the subway and there are also no wifi Hotspots. Sure, it was better than nothing, but I would quite often find myself waiting for the subway to arrive at stations and hoping that there is at least some internet connectivity there.
I’ve done this before, but you need a relatively long subway ride without any transfers. IMO, 30 minutes is just barely at the edge of being worthwhile, and only if you can get a seat right when you get on, and only if the seat isn’t so cramped that it’s actually possible to get your laptop out of your bag. This happens rarely.

But on longer trips from e.g. upper Manhattan to deep Brooklyn, particularly at off-peak hours when I have room to spread out—yeah, I’ve had some very productive sessions.

> Currently I am working on affixing a split keyboard to my pants, so that I can program while standing up.

This reminded me of the "walking desk" Stephen Wolfram uses to program:

https://content.wolfram.com/sites/43/2019/02/07-popcorn-rig1...

I tried to use a similar one during Covid and couldn't get into it at all.

> I've had good conversations with strangers

Laptops sometimes have stickers. For a time, I instead had a transparent slip cover, to vary the sticker set, user-test alternatives, and throttle conversations. Science education topics (Boston/Cambridge subway). Anti-patriarchy stickers drew proto-MAGAs. Some backpacks now have low-res screens built into the back, suggesting new possibilities.

One Laptop Per Child, at its peak, generated fun continuous crowd conversations.

> a pair of glasses with a screen inside of them

I've no idea what current tech is like, but I use to proselytize aphysical UIs, where a small head motion results in larger screen motion, to reduce neck swiveling.[1]

> weirder

Laptop harness walking desks are a thing. And one can do hand and head tracking[2] (I had that setup at a meetup where the swag was little stick-on privacy shutters for laptop webcams :). Boston/Cambridge is perhaps culturally a best case for such games - I've not tried them in NYC... hmm.

> but something very complex, [...] instead sketch out a diagram on a piece of paper [...] keep a small notebook in my bag

Same. I've tried swapping in an iPad, but it hasn't stuck.

[1] silly old demo, 5k on a bus: https://x.com/mncharity/status/1225091755667853318 [2] https://imgur.com/a/keyboard-cam-Z1VipaL

I work/program on CalTrain but that’s pretty common. NYC subway or BART seems a bit more challenging.

It’s overall time much better spent than being stuck in a car.

Working on the metro makes a boring commute fly by - blink and you are at your destination already. 30 minutes each way is 1 hour a day. Over the entire year it's 250+ hours or 9 whole 16-hour days.

That's why whenever I move to a new city, I typically look to live somewhere that's at the end of the metro line. It meant in the morning commute I can _always_ get a seat.

That was one of the reasons I liked living in Hammersmith when I worked in Shoreditch/Old Street - it's at the end of the Hammersmith and City Line and I don't have to change lines. There's also the add bonus that the line is above ground until Paddington which meant I have more than enough time to load up any tabs I need to use before the Internet blackout.

In Hong Kong I worked at Central and lived in Tsuen Wan. Literally from one end of the line to the other. This had the added bonus that I was also guaranteed a seat on the way home as well.

I've done it a few times on city busses which I'd say are worse than subway. Less legroom, bumpier ride, more people passing by. My 13" laptop barely fit.

It's not something I'd want to do on the daily but if you really need to get something done and are running out of time (those busses get stuck in traffic for half an hour or more), it's doable.

17 years ago I went to a summer vacation with my family (still a teenager). That meant 10 days without any internet connectivity. I just got my first laptop and I was allowed to take it with me. I was reverse engineering MSN Messenger's user to user and profile picture exchange protocol from TCP dumps. MSN Messenger did not use any encryption. Before I went to the vacation I recorded a bunch of sessions with Wireshark (maybe it was still Ethereal back then). Then for 10 days I was just trying to figure out from the dumps how the binary protocol worked and was writing the code without any way to test it. When I came back I just had to fix some minor bugs and it worked. Fun times.
Yeah I even do it in Ubers nowadays.

I actually feel like oversea flights are my most productive sessions.

I could totally see my using the train to drive through the country to work on some stuff, where I barely need internet.

It’s almost always better than my 49 inch monitor at home lol.

https://news.ycombinator.com/item?id=43894305

You can use commute time for day dreaming. It's not a waste of time

I decided to cut an hour out of my in-the-office time recently, figuring that I'm sitting on the bus for any hour anyway, so I might as well use that time to knock some work out instead. Tethering is pretty good other than a predictable problem spot or two.

Much better experience than working on a plane. I've done a handful of cross-US flights this year on Alaska Airlines, and trying to do anything network-related on those flights was torture. Super spotty, high latencies, constant timeouts; very frustrating.

I love making money for my employer with every spare moment of my life.
Coding on metros, trains, buses and planes is exactly the reason I always make sure my dev environments work 100% offline, with dummy services in place of the real ones.

One thing I love about coding on public transport is the sense of urgency can be fun.

Being on the verge of figuring out a bugfix or whatever when you know train is pulling into the station and you have maybe a minute to go, cracking it, quick test, bundle the laptop quickly back into your bag as you step off the train is quite a nice feeling.

I used to do this as I commuted on the train between school and my hometown in the early 2010s. As a way to learn and pass the time.

No access to internet so mostly hacking from memory. I could use man pages for C, but Haskell was a bit more tricky.

Sometimes I’d just end up sketching things out on paper, but eventually I could complete entire modules without looking anything up. Was always a bummer to be stuck on something that I knew could be answered online in mere seconds. Good times.

I have also contemplated wearing a keyboard on my pants and using a pair of “XR glasses” (like those by X-Real or Viture) as a display.

I would absolutely never do this in a public place, much less a crowded one.

This guy’s figured it out though.

https://evantravers.com/articles/2023/04/06/magsafe-tenting-...

Ever since moving to Germany, one of my favourite treats has been to jump on a train out to the countryside, program on the train, and then go for a hike, do some more programming during lunch, and then program on the train on my way home.

It's often less productive than a normal workday so i dont do it super often, but It's very enjoyable, and the change of scenery sometimes helps me get unstuck on problems.

I used to program on the Boston T. I had my little MSI Wind netbook and I coded a game on my commutes to and from work. I eventually ported that game to Android.