HACKER Q&A
📣 ss108

Programming on Plane Trips


I have side projects on which I am working, but for the most part, they all require the internet.

Anyone have any quick sites from which I can download, while I am at the airport, some projects/problems to work on while I am on the airplane, and internet may be unavailable or bad?

Might be a cool idea to make a site with discrete projects/problem sets specifically designed to be done without access to the internet.


  👤 jasonpeacock Accepted Answer ✓
Have you actually tried working on a laptop on an airplane? At least for me, it's a horrible experience - there's not enough space to use my laptop functionally.

Instead, if I want to feel productive, I'll focus on reading saved books & articles about relevant topics. They can easily be downloaded/cached to your kindle or phone before flying.

I'll also have a notebook (or recently, paper + clipboard) to brainstorm and take notes - help organize my next actions, thoughts, plans, and software designs.


👤 btown
As a side note, if you're looking to be able to access offline documentation for the entire tech stack for any projects (primary or otherwise) I highly recommend https://kapeli.com/dash (or https://zealdocs.org/ for other platforms).

I also find that when working on a laptop with limited arm mobility and screen size, it's tremendously useful to be able to switch between IDE, documentation, and browser (for localhost review) with a single keystroke. On macOS I use a combination of Karabiner Elements and BetterTouchTools to bind my caps lock key to hide or show my IDE, and other apps to command-caps-lock etc.; having an instant, tactile hardware switch between IDE and non-IDE is almost as good as having double the monitor space!


👤 jasonpeacock
If you're using OSX, I highly recommend Dash for managing local docs for all your programing languages, frameworks, and libraries - it's quiet extensive:

https://kapeli.com/dash

No affiliation, just a happy user :)


👤 ufmace
I've done it. Works okay-ish for certain projects. Helps if you have local copies of docs and any packages you'd need beforehand. And if you have a part of the project to work on that doesn't need the internet to test. Might help to write mocks or specs for stuff that talks to the internet while you actually have it, then use them to develop against when you don't have it.

On the other hand, it may be more trouble than it's worth to arrange. Are you actually spending more than a few hours a month on flights? That's really not that much time, if it's much of a challenge to be productive then, maybe just let those few hours go and read a book or something.


👤 ochoseis
Tangential, but Dev Docs is a PWA that lets you save docs from major languages and frameworks for offline viewing: https://devdocs.io/

👤 mooreds
I'd check out programming koans in your favorite language (or one you want to learn).

Examples:

   * http://rubykoans.com/
   * https://github.com/crazymykl/rust-koans 
   * https://github.com/c-koans/c_koans
   * https://github.com/mrdavidlaing/javascript-koans

👤 legerdemain
Look at where your arms are when you type and where your keyboard is in relation to your body. Then, imagine doing that on a plane, where your elbows generally have to stay tucked in and your keyboard is either on your tray table or resting on your thighs. Factor in the likelihood that the passenger in front of you will recline the seat back to rest during the flight.

Long story short, in six years of long-haul flights for work, I have never been productive on a laptop, aside from answering that one urgent email or running that one urgent remote command.


👤 Jugurtha
Disconnect from the internet when you're home and work on your side projects. When you find you require a resource, connect and download it, then disconnect. Repeat until you have no need for an internet connection.

That's what I did and it works. It even lead to refactor the code to be more easily tested.

I also used this mini-tests mode to reshape the team for remote work in 2019: work one day remotely per week and see what breaks in our workflow and information/communication. Fix. Try again. Then work two days remotely and see what breaks. Then one week and see what breaks.

By the time COVID-19 started, I pulled the trigger in late February/early March: exclusively remote work and we were already set. My colleague canceled his rent contract and moved to another location and we did hit the road running because we had our mini-tests and fixed the most important workflow issues.


👤 tluyben2
When I still flew a lot (few times per month, EU to Asia and US) I had GPD Pocket 1 always with me. With Linux/i3 it had 15 hours battery and was perfectly fine in small spaces for building whatever I needed to build.

👤 sharikous
YMMV but I found that programming is an activity I am not productive on a plane.

An activity where I am productive is more theoretical work. Sketching on a remarkable and looking at some mathy stuff was fine for me even on a plane.


👤 darkstar999
Save some Project Euler problems? https://projecteuler.net/

👤 oauea
Why do they require the internet? Can you not run or mock your required services locally?

👤 d--b
Reminds me of Bill Gates’ infamous “I wrote FAT on an airplane!” line :-)

👤 jareklupinski
as a 2m / 6'5" person... you are so lucky

I wish I could zip through a set of programming koans on a flight like https://github.com/cdarwin/go-koans without elbowing my seat neighbors to a pulp

if I could even get the table tray down. more often than not i eat with the food on my knees :(


👤 xiphias2
Try just writing the code without looking up the real API. If you actually see that the official API is worse than what you have imagined, maybe it's better to write a wrapper than ruining your beautiful code.

Similar to Test driven development you can call it beautiful code driven development (DHH wrote rails in a similar fashion).