January/February 2021 issue of acmqueue The January/February 2021 issue of acmqueue is out now

Subscribers and ACM Professional members login here

The Kollected Kode Vicious

Kode Vicious - @kode_vicious

  Download PDF version of this article PDF

Kode Vicious

Kabin Fever

KV's guidelines for KFH (koding from home)

Dear KV,

Forgive me if this seems off topic, but I was wondering if you had any advice for the majority of us who are now KFH (koding from home). I don't know how KV works day to day, but it seems pretty clear that the status quo has changed at most workplaces in the last several months, and it's hard to know if there are things we could be doing to stay productive while we're all at home, ordering delivery, and microwaving our mail. Does KV have any good guidance?

Kabin Fever


Dear Kabin,

Let me invite you to my next Zoom meeting on how to host Zoom meetings! Yes, like the rest of the world, KV has been koding from home—when he's not screaming from home, breaking furniture from home, and generally drinking from home.

As a devotee of mobile computing and remote work from my earliest days at university—where, for one of my co-op jobs, I worked on packaged software for the Commodore Amiga from my dorm room—I have, over time, developed a number of useful habits for maintaining a good and productive working rhythm, and I've found that many of these apply well to those of you who are newly working from home. (One note, I do not now, nor have I ever, had children, so I will not address the complexities of working from home while you have kids in the house. I know that whiskey on the gums was the salve recommended for teething when I was young, so perhaps a shot for the kids before you sit down at your desk, might help, but please don't quote me to Child Protective Services when they arrive.)

Herewith are KV's guidelines for working from home:

1. Set your alarm and wake up at the same time each day. I don't mean set the alarm for some ungodly hour, such as 8 am, unless that's when you would normally wake. I mean that you want to keep a regular working schedule. The gig I mentioned that I did while at university, I worked from 20:00 until 04:00, five days a week, and then I slept until noon each day. That happens to be how I like to work, and that job did not demand any day-to-day interaction with coworkers; I only had to produce new versions of the software each Friday for review. If you work with a group of other people, you should make sure you have some overlapping hours (two to three) with the majority of them, so that meetings are possible. I'm sorry, but just because these are the end times does not mean we can avoid meetings.

2. Shower and dress as if you're going to the office as you normally would. Many people think that those of us who normally work from home do so in our pajamas. KV does not wear pajamas, ever, but he does put on 501 jeans and some sort of shirt every day. Do not underestimate the effect that a change of clothes will have on a change of your attitude toward work. If you work in your sleeping clothes, you are very likely going to have a problem delineating work time from nonwork time.

3. Set a finishing time for each day and stick to it. Keeping a proper life/work balance for someone who is used to going to an office is harder when you switch to working from home. Suddenly you don't have a commute and can roll from bed to desk and back. All work and no play make Jack a dull boy and can also lead to you chopping up the door with axes and screaming, "Here's Johnny!" through them. Don't be like Jack.

4. Take frequent breaks of at least 15 minutes per two-hour block throughout the day. We all love to be in the zone, but our eyes do not, and staring at a screen without interruption for eight to ten hours a day is even easier at home where there are no coworkers to interrupt you.

5. Silence all your messaging apps. Slack, IRC, Hangouts, and every other messaging app ever invented now cause a lot more interruptions than they did when you were in the office because everyone is now alone and can't survive without the hallway conversations that lubricated their days. These apps are a major source of distraction and should be silenced, while leaving their counting badges on. When you take one of your 15-minute breaks, you can check these apps to see if anything of true import lies there. The nice thing about ignoring them for long stretches at a time is that people will often have found the answers they're looking for on their own by the time you check, which saves you time and gives them a learning experience.

6. Do not use social media during your breaks. "Doomscrolling" is a thing, and it's not the right way to take a break. Breaks are meant for getting up, walking around your cell (I mean home office), getting another coffee, maybe looking out the window at the tumbling tumbleweeds as the sky darkens and the locusts... oh wait, wrong movie.

7. Arrange social time with actual humans outside of work. Yes, we're all masked, wrapped in plastic, and supposed to wave at each other from the sealed confines of our homes, but one of the things that all humans need, even koders, is human connection. Many companies have been hosting videoconferences, games, and other such activities during or after work hours, but I find these to be tedious and pointless as they're just like being trapped in yet another meeting with your coworkers. A reasonable antidote to these distractions, if you can't get out to a park to meet friends at a distance of meters, is to call a friend. Back in the old days we had these telephone things, and we would call friends and talk with them, sometimes about nothing at all. The sound of a friend's voice on the phone is far more likely to keep you sane than a contrived game with your coworkers, with whom you've just spent the day online.

8. Exercise. I can hear you call screaming for my blood now, but KV is an ardent cyclist and has found he is riding even more now that it's something he can do that's physically distanced from others and gets the blood moving. Gyms still seem to be problematic, but a walk in a park is not, so try that. When people went to offices at least they walked to and from the parking lot. Now, you can literally take 100 steps per day and that, actually, is not good for you as it's not enough.

9. Use your old commute time to learn something new. The average person commutes two hours per day. You could give that time to your employer—who will happily take it from you—but you could also use that time to learn new skills, hack on a personal project, or read about a topic you want to know more about. Someday this pandemic will end, you will go back to commuting, and you'll again lose those two hours, trading them for food and shelter, so take advantage of them now, while you have them.

10. If you schedule meetings, make them count. One thing the pandemic has taught us is that most people do NOT know how to run a meeting, which, honestly, is going to be the topic of another KV column because I'm nearly out of space here. In these troubled times, where everyone seems to want more status meetings, it is important to note that meetings should be short, have an agenda, and be run with ruthless efficiency. That does not mean that you cut people off without provocation, but it does mean that you don't let meetings meander into unproductivity. Meetings are meant to share information quickly and, often, to arrive at a group consensus on solving a problem. Don't be too shy to shut down meetings that are pointless. KV does this all the time, pandemic or not. Let's face it, over the past six months we've all had enough of Zoom, Hangouts, and the like to last us several lifetimes.

I hope these tips and tricks help you now and serve you well if you continue to kode from home after the current emergency is past. Best of health to all of you.



Kode Vicious, known to mere mortals as George V. Neville-Neil, works on networking and operating-system code for fun and profit. He also teaches courses on various subjects related to programming. His areas of interest are code spelunking, operating systems, and rewriting your bad code (OK, maybe not that last one). He earned his bachelor's degree in computer science at Northeastern University in Boston, Massachusetts, and is a member of ACM, the Usenix Association, and IEEE. Neville-Neil is the co-author with Marshall Kirk McKusick and Robert N. M. Watson of The Design and Implementation of the FreeBSD Operating System (second edition). He is an avid bicyclist and traveler who currently lives in New York City.

Copyright © 2020 held by owner/author. Publication rights licensed to ACM.


Originally published in Queue vol. 18, no. 5
see this item in the ACM Digital Library



Bridget Kromhout - Containers Will Not Fix Your Broken Culture (and Other Hard Truths)
We focus so often on technical anti-patterns, neglecting similar problems inside our social structures. Spoiler alert: the solutions to many difficulties that seem technical can be found by examining our interactions with others. Let’s talk about five things you’ll want to know when working with those pesky creatures known as humans.

© 2020 ACM, Inc. All Rights Reserved.