Two Laptops and Fourteen Hours

Reading Time: 5 minutes

Two monitors, two laptops, a mouse, keyboard, and six-pack sprawl before as moonlight filters through large windows behind me. It’s three in the morning, and I am starving.

I am a stickler for reusing electronics. To make a long argument very, very short: computers don’t “slow down,” software “gets fatter.” If you re-purpose a machine to a computationally appropriate task, you can use them for over a decade (and probably more than that). While working as a system administrator in my undergraduate lab at the University of Utah, I reused every little bit of computational power that I could find. After a few people in the lab had moved on, there were a couple work laptops lying around:

“Hey boss. Is anyone using that old laptop?”

“Mmmmm, nope. Do you have a use for it?”

“I want to set up my laptop as a server to control the other laptop. Then I could use all four monitors!”

“Go for it.”

And so began a 14-hour marathon. People with ADHD often hyperfocus: an inability to stop doing something they’ve begun. That’s quite the open clause because perseveration can occur about basically anything. I have accomplished enormous amounts of work while in this state, but have also lost enormous amounts of time to these episodes. Hyperfocus may become so all-consuming as to drown out the entire world; only you and your point of focus exist.

The biology department at the U had a daily get together at 1500 with free coffee, tea, and cookies. We normally attend as a lab, and today was no different. After returning from the warm bitter drinks and sweet delights, I cleared my to-do list and dove into my project. The goal: instruct the laptops to communicate with each other such that they’d share monitors (including any external monitors), mice and keyboards, clipboards, and unlock/lock as a pair. In other words, I wanted the two laptops to behave as one.

I finished the project in two hours. In brief, I set up my laptop as a server with the old laptop responding to its instructions, e.g., where to position the mouse. The locking/unlocking aspect required some custom code, but worked beautifully—it evenly worked with the Bluetooth lock on my phone (if I walk too far away from my laptop, it locks in case I forgot to lock it). It felt exhilarating to get such an involved project done so quickly. But the system had one small flaw: it ran on Wi-Fi and not Bluetooth.

Sad note: I could not find the photo I took of my project. The featured image consists of the future left half of the setup. Happy note: I believe this is my first article with a reading time of five minutes or less. I’m proud of that as I’m often overly verbose.

Mildly Nerdy Details

I first gave both laptops static IPs (and reserved those IPs by MAC address on the router) before setting up my primary laptop as a Synergy server. While the second laptop was a Synergy client, it was also an SSH server. I wrote a small Bash daemon on the primary laptop that checked whether the computer was locked once per second. It then instructed the secondary laptop to lock or unlock via the SSH connection. I cannot recall if the primary laptop had to login as root on the secondary laptop, but I very much doubt it. The primary laptop had a Bluetooth mouse and keyboard synced to it and each laptop had an external monitor.

Since the laptops communicated via Wi-Fi, the mouse and keyboard occasionally experienced lag that made the mouse stutter or produced two letters when I hit the key once. These issues occurred infrequently and presented a mere inconvenience—but it wasn’t perfect. This small blemish drove me insane. I had to finish it, it had to be perfect. Perfectionism and hyperfocus danced a dangerous duet within the ballroom of my mind.

perseveration: continuation of something (such as repetition of a word) usually to an exceptional degree or beyond a desired point

Merriam-Webster

It took twelve hours for me to abandon my futile quest. From sundown to the next sunup, I read everything I found about Bluetooth communication, re-configured my laptops multiple times, played around with the low-level controls of Bluetooth, etc. From the get-go, I knew the primary software connecting the laptops only supported communication via Wi-Fi. Perhaps I’m simply too naïve, but I could find no workaround. In essence, the protocols are fundamentally different, and you can’t merely re-direct data from one to the other. Sadly, this perceived truth manifested within an hour, yet the work persisted. Nothing could bar my victory. Not even reality! I forgot to eat and drink, bathroom breaks declined as a result. My eyes could not leave the screen before me, my fingers stuck to the keyboard. Eventually, around three in the morning, I forced myself to respect the hanger and bought a Subway sandwich (nine-grain, veggie patties, pepper jack, spinach, jalapenos, banana peppers, red onion, cucumber, light mayo). The moment the sandwich disappeared, the grindstone spun again.

Come five in the morning, I finally pulled from my perseveration and trudged home. Defeated, I left angry and confused—leaving hyperfocus episodes disorients me greatly. Predictably, I missed work the next day. The lab likely chuckled when they came into a grand display of monitors and keyboards arranged in a semi-circle. The day thereafter, I embraced the imperfections in my setup and began to enjoy my new den of productivity. Embracing imperfection has always been extremely difficult for me. Between the OCD drive for perfection and ADHD’s inability to let it go in key projects, it can take me many times longer to get a project done than needed. But accepting flaws in oneself and one’s work, rather than beratement thereupon, helps me find a token of peace.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.