Categories
Tech Explorations

Business in the front, party in the back: optimizing desktop setups for multi-PC applications

I recently started a new job as a network engineer and with it I got my first work laptop: a fairly decent Lenovo ThinkPad T14, and while I am a fan of portability and uncluttered workspaces, I much prefer to use external input devices along with a second monitor, especially if it is where I usually work.

Luckily I do have all of these things, a nice keyboard, a big 4K monitor, and a very smooth trackball (come on, you’ve read my articles already, you know I’m a weirdo like that). They are however connected to my personal laptop, and I don’t have a big enough desk (or wallet, for that matter) to duplicate it all. Some sharing is in order.

In my desperation, I reorganized my desk with the help of a few gizmos, which allows me to quickly switch my input devices and monitors between laptops, while maintaining independence between both systems, and in a way that doesn’t turn me absolutely crazy. This is how I did it.

Problems, half measures, and a sore back

My job is essentially entirely remote: I’m basically half front-end developer, half tech support; I answer emails, read and compose docs, stare at code, and participate in meetings. Since I didn’t have much experience in having two computers, I just plopped it next to my big rig and just went to work for a couple of days. Immediately, many problems appeared:

  • My back was sore: Laptops on desks usually have you facing downwards at the screen, and since it’s a small screen and a big desk, my back was certainly feeling it.
  • Laptop keyboards and trackpads are a pain in the long run: they are small, key travel is tiny, and they usually don’t have a numpad. The T14 certainly has one of the better keyboards in the market right now, but an actual key switch would be much better. The trackpad is certainly good (especially with its hardware buttons on top), but it’s fairly small and cramped (and don’t even get me started on the ThinkPad Nippleā„¢). Also, raising your computer up to eye level makes them even harder to use.
  • Limited screen real-estate: the screen is a 1920×1080 IPS 14-inch display, which is great, but it’s small: the scaling has to be big in order for text to be legible and being accustomed to dual-monitor setup just made it a pain overall.

Because all of my current setup works with a single USB-C port (more on that later) I just put my work laptop on my stand and used it like that for a while, but that quickly made evident that switching devices all day was going to be a messy and non productive solution. What are my choices here?

Well, I could just use my personal laptop for work, but that is a recipe for disaster: mixing business and pleasure in general is a bad idea for privacy and security reasons, but there’s also other security measures in my work device that would make it difficult, if not impossible, to get everything running as it should.

I then turned to the idea of using the laptop as a pivot computer: it just sits in a corner chugging away and I just have to open a Remote Desktop Connection to it: RDP has a sophisticated feature set including device and clipboard sharing, bidirectional audio for calls, the works. This seemed like a great idea, I could share all of my devices on my personal computer to my work computer and everything would be sorted, right?

Not so fast. My work device runs Windows and you can go to Settings and enable RDP, but the real problem was Active Directory: all of my login data is on a company server to which I have no access to, and the Remote Desktop Server on my just refused to play ball with it: I got certificate issues, authentication issues, connection issues, and I just couldn’t get it to work. If this was Windows Server, I could probably massage the service enough to make it work, but it isn’t, and it’s probably for the better: if a remote desktop is compromised, you can cause catastrophic damage on everything you have access to, as the device doesn’t really distinguish between a remote session and a local one, so back to the drawing board it was.

I tried other solutions, but they all failed in one way or another: switching inputs on my monitor? Doesn’t solve the device problem. Other remote desktop protocols like VNC or AnyDesk? either they didn’t have device support or I had to pay subscriptions, along with having to install unauthorized software on my laptop, a big no-no.

My only recourse was hardware: a dedicated device handles sharing and switching devices between computers, while the target computers are none the wiser. But how was I to implement this and have it play ball with my current setup?

My previous setup

My personal laptop is an HP Victus 16, sporting quite a few peripherals:

  • Logi G513 Carbon with MX Brown switches and custom keycaps. (over USB)
  • Kensington Trackball Expert wireless pointer device. (over USB)
  • Dell S2721QS 4K 21-inch monitor running at 1440p for better performance.
  • Behringer XENYX 302USB audio interface (over USB)
  • Gigabit Ethernet over USB from my dock.

This setup has my laptop screen as the main display, with the monitor over to the side, with all devices connected via a USB-C dock. This allows me to have everything connected with just two cables (the other one being a power supply, being a “gamer” model with high power consumption). I really like docks for their flexibility, and with USB-C native video transport and the high speed USB 3 data link, I can switch from on-the-go to static and vice versa in mere seconds, all while having hidden cables and reduced clutter.

This is very much a tangent, but I’ve always found docks the coolest thing ever. Ever since I saw an OG IBM ThinkPad in my dad’s office desktop rocking Windows XP and a massive dock back in like 2006 I’ve appreciated the massive advantages in commodity and portability. My first laptop had a massive dock connector on the side, and USB-C has finally given me the possibility of running power, video, and data over a single cable. If you have a laptop sitting semi-permanently in your desk, I highly recommend you get one. Sure, laptops are loud and underpowered compared to equivalent desktop PCs, but if you need portability, it doesn’t really get much better than this.

I’ve been using a Baseus Metal Gleam 6-in-1 USB-C dock: they have 3 USB 3.0 ports, USB-PD passthrough, an HDMI output, and a Gigabit Ethernet port. It’s enough for my needs and are also small, which meant I could mount it directly to the stand the laptop sits on top of.

Now I had to decide on a new layout: how exactly was I going to place two laptops and a monitor in my desk without losing all my space?

Introducing the KVM

Having all of these in mind, these were my objectives:

  • The monitor will now become the primary screen, switching between devices as needad.
  • The keyboard and mouse must switch between laptops in sync with the screen.
  • I need to hear the audio of both computers simultaneously, although the main one would be the personal one.
  • Whatever device does the switching must have some sort of remote, in order to hide it under the desk for better cable management.

For my work computer, I just duplicated my setup for my personal computer: a laptop stand and another of those USB-C dock things. The audio situation was also simple, as the Behringer audio interface I’m using has a secondary stereo output called 2-TRACK. using a simple USB sound card, a ground loop isolator (for preventing buzzing sounds) and some random 3.5mm to RCA audio cable I had both devices in my headphones without issue.

For the screen and the USB devices, I needed a KVM switch: a clunky acronym standing for Keyboard-Video-Mouse, it’s exactly what it sounds like: you press a button, and your keyboard, mouse, and monitor are now connected to another machine. These are fairly niche devices mostly relegated to server racks and other specialized applications, but they can still be found for cheap in the power user electronics market.

I got a UGREEN CM664 HDMI-USB KVM switch from AliExpress for cheap, and despite it’s low price it has everything I need: HDMI video switching, USB 3.0 switching, and a cute little wired remote perfect for adding to my keyboard. It’s also fairly small, only big enough to fit all the large connectors, and requires no software, it’s just an HDMI pass-through and a USB hub that can switch devices.

Not to get too deep into the weeds in here, but this device physically disconnects all the interfaces during switching. This means devices have to be recognized and initialized, and a second screen must be instantiated and all windows reordered, something that takes a couple of seconds in total. This is not a problem for me, but there are some KVM switches that emulate the presence of a device while another computer is active in order to make the transition almost seamless, but that seemed a bit excessive for this application, especially for the considerable price hike.

Now it’s just a matter of hooking up everything together and we’re done, right?

A cable management nightmare

Well, not so fast. You may have noticed there’s a lot of cables in the mix: tons of USB cables, network cables, audio cables, power bricks, the whole shebang. If not kept in check, this could quickly become a giant octopus of messy cables that can quickly eat up desk space and just flat out look ugly.

My desk also has some storage underneath that must be able to be slid out, so it’s flat out not an option to have cables dangling behind it. To solve this I just used zip ties and a clever twist on the usual mounting clips: I really wish those plastic mounts with adhesive backing worked: I really like them, but having cables pulling permanently on a piece of double sided tape just guarantees they’ll pop off at some point.

A better solution for me was a box of short washer-head screws: the wider head makes it easy to grab a zip tie under it, while being discreet enough to grab a bunch of cables without pulling out. Granted, you’re putting holes in your furniture, but I have found time and again that it is a worthwhile sacrifice in order for the cables to stay put for long periods of time. The screws are also reusable: just back them out a turn or two and the zip tie will come right out.

Once I got my enormous bundle of cables under control, it was time to test it out.

Performance and quirks

Overall, the whole thing works great: I can quickly switch between both laptops, sharing devices without an issue. I attached the remote to a corner of my laptop, which gives me a clean look and easy access to it. The switching is fairly quickly and all apps quickly rearrange when the second display is detected, which is very useful when returning to a computer after a switch. Also, having the laptop screen still showing is great for situational awareness when you’re working with both laptops at the same time. The entire setup uses slightly more space than it used to, but it’s a marginal difference in comparison to all of the advantages it has brought.

I thought having shared audio for both devices would be a bit of a mess, but surprisingly no: hearing notifications from the other computer while playing music or keeping a call going while switching computers is extremely useful, and the expected overlap of sounds have turned out to not really be a problem.

The KVM switching process, with it’s rediscovery and rearrangement of devices and applications, takes a couple of seconds, but it isn’t really a problem, at least for my sensibilities. I do wish the KVM had some sort of optimization for preventing the lag in USB devices, which I feel is slightly too much.

There is also the problem of sleep: you have to tweak your settings to prevent the computers from going to sleep while you’re looking at them: since it’s very much possible that I’m not interacting with the device for a while, it’s not an unreasonable assumption that the device is ready to sleep, even if it isn’t.

Closing thoughts

Overall, this KVM solution has pretty much solved all my problems of parallel laptops: the devices are shared without a problem, and my desk has not been entirely consumed in the process. There are some quirks, but overall the device does exactly what it should.

I do feel however that it’s very involved process: as work-from-home gets turned into an ubiquitous form of labor, I fell that a hardware solution that just does this for you, with some degree of ability for customization, could be a real game changer for all of us in this situation. This is a thing that should be so much easier, but it just isn’t, and there aren’t many approaches in the market that don’t require this kind of tinkering, but if you are so inclined, you can make it work.

I just hope I never see the day when a third computer has to be integrated.

Categories
Unwarranted Opinions

Personal computers are done and using a 15 year old computer for a week made me realize it

When I started writing the draft for this article back in March, I was spinning up this narrative that old laptops still have uses as writing machines; devices used for distraction-free text composition, especially if you could get a higher-end one with a good keyboard and a decent screen. This was a mostly uncontroversial write-up on my experience using a fifteen year old MacBook Pro for writing this blog, among a couple of other tasks.

But then I saw Cathode Ray Dude’s video on HP’s QuickLook, and my head was thrown in a flat spiral straight into madness. Despite the A plot being about an absolutely heinous abuse of UEFI and an eldritch nightmare of stopping Windows’ boot process in order to get to your email slightly faster, it was the B plot that put my undies in a twist: The second half of the video is this wonderful opinion piece hinging on the fact that for most people, computers are pretty much at their endgame: for most normal applications, a computer from a decade ago is indistinguishable from another one that came out last year. I highly recommend you watch that video as well.

While I could conceptually wrap my head around it, as the resident turbo-nerd in my group of friends I have been used to chasing the bleeding edge for years, if slightly hampered by budget constraints. The idea of an “office-use” computer from fifteen years ago still being perfectly cromulent seemed absolutely insane: after all, that’s pretty much all I do these days involving anything but what I do in my spare time.

So I set out to prove it, and in the way I stumbled across many perspectives, a new dread regarding late capitalism, and maybe some lessons for the less tech-savvy along the way.

The setup

To put this thesis to the test the experiment was simple: use an old computer for daily tasks and see how we fare. For this, I chose an Apple MacBook Pro from mid 2009. It sports a dual-core Intel Core 2 Duo P8700, a crisp 1280×800 display with amazing colors, and a surprisingly well-kept exterior. Inside, I made some modifications in order to better my chances:

  • The RAM was upgraded from the factory 2GB of 1066MHz DDR3 to 4GB.
  • The battery was replaced, as the old one had died.
  • The original 250GB 5400RPM hard drive was replaced by a 250GB SATA SSD. It’s DRAM-less and I got it for cheap, but it turned out to be more than enough.

This wasn’t some lucky find either, it had sat on my junk bin for a while, and you can find many (usually better) choices of Intel Macs for cheap pretty much anywhere that sell used goods, but this made a good starting point for this experiment. Also the new parts came cheap, it was pretty much what I could scrounge from other devices, only the battery pack was bought new, overall I spent around 100 USD total.

Obviously, this particular computer is officially obsolete, no new builds of macOS exists and haven’t existed for a while, and unwilling to induce a blind rage by wrestling with deprecated software, expired SSL root certificates, and poor performance, I decided to load it with Ubuntu 22.04LTS as it’s operating system; there are perhaps better choices performance-wise, but this will do for testing out this theory.

The realization

The idea behind all of this was using this machine as I would my main laptop (which I bought in 2022) for office-related tasks. This means essentially:

  • Writing for this blog.
  • Watching YouTube videos.
  • Writing university assignments.
  • Watching media for sorting my library.

All of this had to be made without significant sacrifices to performance and/or time spent, and had to be done while using the laptop to its fullest: on the go, on battery, and while listening to music or videos in the background so my Gen Z brainrot wouldn’t get to me.

And yeah, it just works.

Sure, it’s not blazing fast, but it’s perfectly serviceable, Ubuntu offers many applications for productivity and with most services relegated to the cloud, pretty much everything worked no problem using just a web browser. Even connecting to my NAS, doing wireless networking (something old-time Linux users will remember with absolute hate), even the infamous display drivers were preinstalled with the OS. Everything pretty much worked out of the box, with minimal CLI nonsense, so even the standard consumer could get this experience without much hassle.

A lesson for nerds

Look, I get it. Computers are fun for us. We like to take them apart, put them through hell and back, create abominations for shits and giggles, and sometimes even turn ourselves into bona-fide data center administrators of our little kingdoms of silicon.

But for most people, computers are no more interesting than a pen, or a saw: it’s a tool.

No matter how much we complain about obscure CLI procedures, or endlessly pontificate about the inevitability of Linux on the desktop, let’s not deceive ourselves, we enjoy doing this, and we do it because it’s fun.

So great, most people just want to turn on their computers, use them to do their job, turn them off, and move on with their lives. But that still leaves a question: Why a 15 year-old computer is still enough to do this? With the relentless push of technology, one would expect a continual state of progress, as it has been the case for many years in the electronics sector.

But it isn’t, we have just demonstrated that you don’t need that. A Core 2 Duo turns out to be more than enough for office-related tasks, and that just doesn’t jive with our collective idea of “who knows what the future holds?”

The assumptions of capitalism

No matter what your opinions are regarding capitalism, it is undeniable that our modern society is fundamentally shaped by the forces that govern supply and demand, yet most of us seem to ignore that its axioms, the postulates we take as a given in order for capital to do its thing, do not always apply to all industries at all times, especially when they fail to properly account for human nature.

One of these core tenets is the idea of perpetual innovation: the idea that as humanity progresses, so does the economy: all market products are bound to get better over time, and the people who can adequately harness new technologies and techniques will be rewarded with capital.

But what if that idea is wrong? What if there is nothing to add to a product? What if we have made something that is so good, that there is no market pressure to innovate?

In classical economics, we would call these products commodities: goods that hold no value regarding its origin or manufacturer. Things like steel, wheat, and gold are all commodities; steel is steel, and no matter how much you revolutionize the steel industry, people will still want steel plates and beams, you can’t really innovate with that.

If you use your computer for writing essays, working spreadsheets, creating presentations, and the odd YouTube video here and there, computers peaked for you in around 2010. At that point, your computer did absolutely everything you wanted it to do and then some. Don’t believe me? Get a copy of Word 2010 and you’d be amazed at what it can do. Wanted the full web experience? Fully HTML5 and JavaScript powered pages run fine on computers from 20 years ago. Spreadsheets? Have you seen Excel? And of course, if you needed something more, the Linux CLI was very much mature by that point.

The “Office PC” has been a commodity for more than a decade.

Implications and a call to action

This ubiquitousness of raw computer power gives us turbo-nerds a prerogative: There is pretty much no computer from the last 15 years that cannot be put to some use. Webserver? No problem. Minecraft server? Sure, my first one was on an old Vaio Laptop from 2011. NAS? Yeah, especially if it has USB 3.0.

We live in a world where everything is absolutely disposable. Things are meant to be used and then absorbed into the void of uselessness. The idea that our trash goes somewhere is alien to pretty much anyone in the western world. These computers however show us that they don’t have to end up there, new life can be created from these devices.

So please, if you can, rescue these devices from landfill. Get some SSDs and some extra RAM and fix them up. Get them current OSes and software, do goofy things with them, give them out as gifts or sell them for a profit on eBay. Give a Linux machine to your little brother, or sister, or cousin, Use them as embedded devices, the sky’s the limit.

We look to devices like Raspberry Pis as the be-all end-all of tinkering computers, but compared to any x86_64 computer from the last 15 years, Pis are exceedingly anemic. The form factor is compelling, but I would argue that unless you have exceedingly stringent size constraints, any laptop motherboard can give you better results. If you get some of the better ones, you can even toy with graphics acceleration, PCIe peripherals, and so much more.

Conclusions

Computers have gotten insanely powerful in the last decade, but it seems that every generation of new processors and graphics units and RAM feel less like a quantum leap and more of an incremental improvement, a new stepping stone that is even closer to the last than the previous one.

This is not because of stagnation however, it’s just that computers have gotten too good for our own right, and capitalism sort of fails when innovation is not desirable. Having more powerful computers is just something that makes no sense anymore for the average user.

I’m not falling for the Thomas Watson trap here: there will be a time where more powerful computers will be a necessity once again, but that time is not now. The time is now however for giving life to those old computers; they are not dead, and they deserve new chances at life as long as we can keep them running, there is just too much power on tap to leave it rotting on a landfill for the rest of eternity.

So, if for a moment, forget about Raspberry Pis, Chromebooks, and NUCs, and go get a laptop from 5-10 years ago: you’ll probably get the same performance for more than half the price, and you’ll save some silicon from hitting the trash before its time truly comes. Computers have become a fundamental tool for communication and for interacting with humanity at large; if we can get it to more people, maybe a different world is possible.