My quest to a good & healthy everywhere laptop workflow

Balancing health and work with a laptop everywhere means finding an ideal setup. This promotes a workspace that is as efficient as it is comfortable.

Clock Icon
7 minutes
Calendar Icon
8/7/24
Person Icon
Benjamin Hirschfield
Summary
Summary
Down Arrow
Share this article
Looking for more leads?
Link Icon

Health is everything and a healthy space is key to surviving our everyday life at work.
A healthy environment is also a pleasing environment and that is why I want to talk by my struggles with finding my ideal and healthy desk setup.

Working for Dolead comes with great benefits such as working remotely and getting to choose between two types of laptops. As a fullstack developper I’ve chosen what works best for me out of the choses presented:

  • I chose a Dell XPS 15 laptop that will run Linux;
  • At the office with have 1440p displays that might be 30”;
  • I work mostly from home on a dual 1440p screen setup.

This is my dream setup that has been improved over months of working at Dolead and I will explain why and how I’ve achieved it without hurting myself.

Laptops are a pain

We all have seen people hunched over their screens typing on the smallest keyboard the world has to offer while painfully dragging finger across a plastic touchpad that are not all created equally.
What I just described was my first days working directly on the laptop, the hardware had defeated me.

At the end of the day it’s carpal tunnel and the pain in the neck that you feel that will make you feel miserable. It’s the kind of pain that locks you into place and makes you feel up to 5 times your age.
You feel totally disabled and in need of urgent medical assistance.

Those habits needed to change quickly and thus I started looking into solutions.

Will a KVM switch do it?

KVM switches are great to share a mouse, a keyboard and screens between multiple computers. Their only disavantages is that they will disconnect whatever is plugged in on one computer to send it to another computer and their required cables.

Ports requirements

Even as a great spaghetti enjoyer I can confidently say that this is a mess I wouldn’t want anywhere near my desk because that would require:

  • 2 video inputs per computer capable of 1440p resolutions at 144Hz;
  • 2 video outputs;
  • 2 USB inputs for the mouse and keyboard;
  • 1 USB-C output for the laptop to receive the mouse and keyboard;
  • 2 USB outputs for the desktop to receive the mouse and keyboard;
  • Some where to share my USB microphone.

This leaves out the power supply for the laptop and an ethernet to USB-C dongle. Home is where the RJ-45 ethernet is after all !

It’s not enough

So no: a KVM switch is not fit for what I want. I have not chosen a KVM nor a dock for my home setup as switching inputs isn’t somethind I’d want to use because of the downsides of disconnecting displays and devices from my desktop such as moving windows over to another screen and messing with the disappearing audio devices.

But at the end of the day I do not want to use my personnal desktop computer for work for personnal and security reasons. Keeping both separate is the way to go for me so let’s looking into a software solution.

Remote desktop

If the host and client are both Windows, the built in remote desktop software is perfect as it is able to pass through my USB hardware, scale up to my screen resolution and be very responsive.

But this isn’t a Windows to Windows situation. With Linux we have different protocols such as X.org over SSH, VNC and some sort of RDP implementation.

Passing throught my microphone and hearing the laptop’s sound through my desktop wasn’t working with any of the previous solutions. But there was one left: NoMachine.

Using NoMachine

NoMachine provides free remote desktop for Windows, Linux and Mac. It has device passthrough, will carry sound and even has some clipboard sharing feature.

But all that limits me the one screen of the Dell XPS15. I can’t extend a screen that doesn’t exist but it works for me as I can still use my desktop’s browser to research.
The main downside reported by my peers is that my microphone is not sync’d with my webcam.

But in the end this setup is the one that works the best and is the easiest to setup while retaining my current desk setup for my main desktop and having me just use a simple USB-C dongle to passthrough power and ethernet to the laptop while keeping it off the desk.

Remote desktop through NoMachine is the method I have chosen.

Ghost in the Secure Shell

I chose to run Linux like my team mates and one of the upsides or running Linux is that I can run it anywhere I want while also accessing it from anywhere I am. Such feat is possible thanks to SSH.

While looking into X.org over SSH I found that it wasn’t a great solution to do so from a Linux laptop as the host, to a Windows desktop as a client. I run Windows on my main desktop. But I can still leverage SSH.

A modern editor: Visual Studio Code

My main editor is Visual Studio Code and I can SSH into the laptop through it and share its connection while running all the code from and on the laptop. This is perfect!

To do so we need the Remote - SSH extension, then we can connect to the remote host like so:

Once connected to the remote host it’s possible to select a folder as a workspace, load local virtual environnements and setup extensions. If you have a Flask project you will be able to access its endpoints through that Visual Studio Code connection just like if you were physically on the host machine.

While this is not the method I have chosen, it is an option I do run more often these days as I can properly run unit testing directly from Visual Studio Code.

Downsides of remoting through Visual Studio Code

Keep in mind that you might still need edit your hosts to resolve some domains. Another way of skipping domain resolution would be to use the provided Dolead VPN too.

It’s also possible that some extensions do not behave in the same way.

At the office

On the days I go to the office I simply plugin the unique USB-C cable to the Dell docke and connect to a 1440p display, a full size keyboard and I provide my own Logitech G502 mouse.
The laptop is elevated on a cheap yet effective stand to be at eye level while the external display is a bit big and high but that doesn’t hurt me.

I’ve also been told multiple times that we actually pratice flex office, but I’ve been using the same desk ever since we moved because I’m actively using the Dell Dock to power my computer and connect my display and USB devices.

In conclusion

I would hate to sacrifice some desk space to my work laptop and I don’t want to harm myself by going full Quasimodo when I have a proper desk already setup. While the office setup is fine as it is, my home setup is actually the best because of how the cables are managed, the dual 27” 1440p screens and the keyboard I’ve been using since the early 2010s.

There’s not better place than 127.0.0.1 and that is where I believe I’m able to work in a more comfortable manner.

The office on the other hand provides a more social setting with my peers being present, better pair programming opportunities and conference rooms.

Docks and USB-C dongle that passthrough power are great for the office when there’s a keyboard and a display at every desk.

Remote desktop is perfect for an at home setup to keep work organized while keeping that “stay at home” comfort.

Using the laptop directly still feels bad and I’ll sadly have to continue to use it like that in some very select situations such as meetings.

Staying healthy is key to being happy and I’m hella happy about my setup. It’s just a shame that I cannot provide any photos of the setup for privacy reasons.

Credits

Quote Icon