COVID-19 experience working from home

Like tens or hundreds of thousands of others, I am working from home while the coronavirus pandemic sweeps the United States and the rest of the world.

Here are a few observations about my experience working from home. I’m a software engineer, and I realize that my experience is different from that of hardware engineers, QA folks, customer solutions agents, teachers, and even from other software engineers.

Sleep. The first several days, I worked from my bedroom, which has a great view of the outside world, but I found it difficult to sleep restfully at night. Once my wife shut down her in-home preschool, I moved to working from one of the two preschool rooms, and now I sleep quite well at night. It’s good to have a separate work place.

Exercise. Working from home, I feel more fidgety… maybe I move around less, because there are fewer meetings, and fewer impromptu discussions. So I feel a strong need to get out of the house and work in the yard (pruning, since it’s spring), take a walk or ride a bike.

Convenience. The kitchen and bathroom are closer. If I want to take a nap, no problem — I’ve got a comfortable bed nearby. Taking a walk around the block is a piece of cake — the front door isn’t that far away compared to when I’m working in the office.

Interruptions. Most of my children are teenagers, and believe it or not, I have fewer interruptions at home than I do at work. When my children are doing their remote school, two of them are in the same room as me, with headphones in their ears, and it’s so quiet that I can hear a pin drop.

Social. I enjoy the more frequent face to face interactions with my wife and children. I miss the face to face interactions with my coworkers. Video conferencing is a great invention, and yet it’s not the same as being there.

Communication. There are a lot fewer impromptu hallway discussions with coworkers, and more with family members. I’m not sure if we’re better at communicating with slack now that we’re all remote or not.

Internet. We have excellent wireless internet service. Since our entire family is working/schooling from home, we notice much more quickly when there’s network latency or poor quality.

Up to now, we’ve used a Disney Circle for parental control, and we knew it caused problems on a nearly weekly basis (it does ARP poisoning of a local network), especially for managed devices. With remote school, Circle started breaking things on a daily basis, so I turned Circle off.

I found that 5 Ghz WiFi on the main floor of our house doesn’t penetrate the floor and walls to the basement, and so I pulled my old ASUS WiFi router out of storage, put it in access point mode in our basement, installed a firmware update, and wired it to the router upstairs. Now I get better speeds and connectivity.

Commute. I had a great commute before, but it’s even better now. With so many people staying home, the air is cleaner.

Productivity. My productivity ebbs and flows at work, and the same is true while working from home. Overall, I feel a bit less productive working from home. I’m more inclined to put my Slack app in “do not disturb” mode when I finish working.

Update: It took three weeks before I settled into a good flow of working from home.

Captive portal detection

I did a wireshark dump on my Ubuntu 18.04 laptop and noticed that both Firefox and Ubuntu do captive portal detection. Of the two, I think the Firefox method is simpler to implement and use.

Firefox does an HTTP GET on http://detectportal.firefox.com/success.txt
Responds with HTTP 200 OK with a Content Type of text/plain and a body of “success\n”

Ubuntu does an HTTP GET on http://connectivity-check.ubuntu.com
Responds with HTTP 204 and a header of X-NetworkManager-Status: online\r\n

Notice that captive portal detection uses an unencrypted transport — http, and not https.