2026-07-19
The least limiting option
I feel really, really sorry saying this, but Windows is becoming a good option in my eyes. Windows on the desktop, Android on the phone: that pairing is starting to look like the least limiting setup I can own, a playground with no one telling me what I can or cannot do.
I did not expect to write that sentence in 2026, and even less as someone who owns an iPhone, an M5 Max MacBook Pro, and a ThinkPad P14 running NixOS. I know I'm already pissing off a bunch of fundamentalists, but the conclusion only makes sense once you see the criteria, so let me walk back to the beginning.
Buy for the person you might become
My philosophy for choosing technology has always gravitated towards possibility. At any given moment, my actual use cases are constrained to a specific set of activities, skills, and jobs. But I don't want to buy a machine for the person I am today. I want technology that keeps serving me as my skillset grows past what I'm already capable of: deeper in the things I already do, and sideways into trades and disciplines I haven't touched yet. The laptop I buy today should have headroom for the musician, the video editor, the game developer I might decide to become next year.
That gives me a somewhat ranked list of criteria.
Reliability sits at the top, and it isn't close. If I can't trust my machine to run 99% of cases without hiccups, I can't trust my ability to work on any given morning I wake up. Everything else is downstream of that.
Second is support for my current use cases. I need to work on what I need to work on. I need a decent development environment + design tools like Figma running smoothly.
Third, and this is the one that usually breaks ties, is support for the use cases I don't have yet. In practice that reduces to a simple question: is software widely available?
And then there's a criterion that barely registered two years ago and has forced its way up the list: the ability to customize and expand my environment, and to run my own personal software on it.
A little side note: Convenience and battery life matter too; they've weighed heavily in every laptop choice I've made. But that's a whole different story.
Personal software is real now
Two years ago, maybe even one, personal software was not a true possibility. Back when we coded by hand, building a personal project from scratch meant sacrificing countless hours for it to see the light of day, plus many more hours just maintaining it and keeping it alive. So naturally 99% of ideas stayed what they were: ideas.
AI collapsed the distance between an idea and working software you can maintain with little to no effort. That changed what I ask of a platform. "Can I run software I wrote for myself, on my own terms?" went from a niche concern to a weekly one, and it turns out to be an excellent stress test for an operating system, because it touches everything at once: permissions, code signing, distribution, background access, private APIs.
The Apple problem
I've used Apple devices extensively for the past ten years, and I'm starting to feel the pain of obeying daddy Apple. Having them tell me what I can or cannot do. Whether I have a license to create software for my own phone. Whether I'm allowed to touch this undocumented API or not. The walls of the garden got higher at exactly the moment I started wanting to plant things in it.
The feel of the thing bothers me too. macOS is like using a computer with mittens on. Everything feels fat, animated, childish. Take away the machine and I'm not sure what's left to defend. Whatever credit I've given macOS over the years really belongs to Apple silicon: Intel Macs were never this good. And since macOS is only usable within Apple hardware anyway, the two come as one package, so the strongest argument for the OS ends up being the M chip it ships with.
The Linux problem
Linux has been, since the dawn of time, a blessing and a curse in this regard. There's no garden wall at all: nobody tells you what you can or cannot do, and the OS is extremely customizable. My desktop running Niri plus Dank Material Shell is probably the best a computer has ever felt to me.
But the ceiling is very, very narrow, and I have to think about every step I take. Software availability keeps improving, yet it's never as straightforward as you'd wish. The latest software arrives late or not at all: games that depend on kernel-level anticheat won't run under Proton (this might eventually get better with Valve releasing the Steam Machine), Adobe doesn't ship for Linux at all, and there isn't even an official Figma desktop app that works with custom fonts.
Now, I can't fully blame the vendors, because building for Linux was never one target. The display stack is mid-transition between X11 and Wayland, every toolkit behaves differently, every distro wants its own package. A small user base fractured into many moving targets is a hard place to justify engineering time, so the ports arrive late or never. It still feels like a cartoonish version of what a computer is, something narrow in what it can do. I can't wake up one morning and decide I'm going to produce music, or edit professional photos, and I can't accommodate those use cases if work asks me to wear a different hat that day. Everything comes with at least a little friction, and I don't want the friction.
NixOS deserves its own mention here. It's amazing, and it genuinely solves a lot of problems. But I still feel like I'm jumping through a gazillion hoops just to have a reliable machine, and now installing software is much more complicated than it should be.
The vendor software problem
Software availability isn't only about the big apps. It also decides whether the hardware sitting on my desk actually works, and this is where the gaps get personal.
I used to own an OBSBOT Tiny V2 as my webcam, before moving to an Elgato CamLink 4K fed by a Sony A6400 (a setup that sidesteps the whole problem, since a CamLink is just HDMI in, UVC out). The Tiny worked well on macOS and Windows, where OBSBOT ships official software. On Linux, I had to pull workarounds from GitHub to make it do its thing. Not every feature worked. And it was not reliable, which, per my own ranking, is the one sin a machine can't commit. I need to jump into a quick meeting without having to hope for my camera to work.
My Logitech gear tells the same story from another angle. The hardware itself works on every machine, because a mouse and a keyboard speak standard protocols. But Logitech's software on the Mac is glitchy, and on Linux you're back to downloading community-made tools (projects like Solaar) that aren't official, aren't maintained to the same standard, and run entirely at your own risk.
And then there's Windows, where every piece of hardware I own has an official software package. Every single one.
That last fact matters more than it looks. A webcam is how I show up to meetings; a mouse is how I touch my work all day. "Will the vendor support this on my OS?" is a question I never want to ask when buying hardware, and on Windows, I don't have to.
The Windows surprise
Windows is a capitalist machine full of ads and slop. I don't love it, and I'm not defending Microsoft. But the tradeoffs are starting to look better than the alternatives, and it's worth looking into this with an open mind.
The platform can be customized, deeply. There's always some registry edit or PowerShell incantation that lets you do precisely what you want, even if it's hacky, because Windows lets you route around the "secure" paths baked into the OS when you want to. Apple doesn't. Where macOS answers with System Integrity Protection, notarization, and entitlements, Windows answers with a registry key and a reboot. You can debloat it, which isn't ideal, but it's possible.
Software looks extremely heterogeneous, but availability is incredible. Win32 binaries run everywhere: decades of backward compatibility mean an executable from fifteen years ago usually just launches. There's no package management problem, no need to ship different builds for different distros, no deb versus rpm versus Flatpak. Everything mostly just works. Window management feels snappier than macOS, a lot snappier, especially if you compare apples to apples (no pun intended) and run Windows on hardware as capable as its Mac counterpart.
And then there's the list of things that simply stop being questions. I can write whatever software I want and run it. I can work around most restrictions. I can play every game available. I can run music software, audio software, video software, 3D software, whatever I want. I can have NVIDIA hardware and CUDA, which Apple silicon doesn't give you at all. And with WSL I get a real Linux kernel in a lightweight VM for web development: a nice Linux box that doesn't come without problems, but is very usable and good.
I don't give a shit about people's opinions of which OS is acceptable for whatever image they have of a capable engineer (or designer). I'm not just an engineer. I engineer software for a living, but I also play music, I edit videos, I want to learn new things, play games, explore possibilities. The machine has to hold all of that.
Android is the same story on mobile
The iPhone version of the Apple problem is almost comically concrete. I can't deploy software to my own phone as a long-term install unless I pay Apple $99 a year. On a free developer account, anything I sideload expires after 7 days. My own code, on my own hardware, with a timer on it.
None of that exists on Android. I can customize it almost as well as, if not the same as, a desktop. I can sideload APKs. I can unlock the bootloader and do root-level stuff. If I own a Pixel, I can flash GrapheneOS and get a hardened, private system that is still mine. Apps can read other apps' notifications, which unlocks real automation, the kind Tasker built a whole ecosystem on.
How the split works in practice
I've been experimenting with this setup for a few days now. My main machine is a Windows desktop: an i9-13900K, 128GB of RAM, an RTX 3080, and 4TB of storage, and it feels absolutely snappy. The specs aren't decoration. The 24 cores mean I can run several agent sessions, a pile of Docker containers, and a browser with fifty tabs without anything stuttering. The 128GB of RAM mean WSL, VMs, and whatever DAW or editor I open next never fight each other. The 3080 covers every game or video editing use case, and while it's a bit outdated already, it's still a CUDA card and manages GPU-accelerated work pretty well. The 4TB swallow games, footage, and photo libraries without bookkeeping.
The laptop is a separate decision. As I said, convenience and battery life weigh heavily there, and that's still where the MacBook wins. My M5 Max MacBook Pro, with 48GB of memory and 2TB of storage, is an incredible portable machine, and there's no tribal rule that says I must consolidate. Again, I don't care about fundamentalism here. Windows desktop for power, creation, and games; the MacBook for the road. That's a good split. I do want to try a Panther Lake laptop eventually, because Intel's new Core Ultra Series 3 chips, built on their 18A process, are the first in years that look genuinely competitive on efficiency. But that's curiosity, not urgency.
The work pattern I'm running now treats the desktop as the machine where the work actually happens, and the laptop as a very nice window into it. My agents live inside WSL on the Windows box. From anywhere, Tailscale SSH gets me a terminal on that box over a WireGuard mesh with no open ports, and Codex Remote lets me steer the agent sessions themselves. The payoff: I can sit in meetings or on a plane with the MacBook, planning and reviewing, while the desktop back home compiles, tests, and executes. I've decoupled the agentic work from the laptop I take everywhere. Closing the lid no longer kills my agents, spotty wifi no longer leaves them idle, and they can run 24/7 regardless of where I am, because nothing was ever running on the laptop in the first place.
There's one hole in that pattern, but it's a solvable one. Remote control only works while the OS is alive. If Windows hangs, WSL networking dies, or an update leaves the box sitting at a recovery screen, Tailscale can't help me, and I'm not home to hold the power button. So I'm looking into a GL.iNet Comet Pro: a KVM-over-IP box (thanks Theo!). It plugs into the PC's HDMI and USB ports, sits on the network, and gives me a remote console at the hardware level. I can see the screen, type, enter the BIOS, mount an ISO to reinstall the OS, and, with its power-control accessory, hard-cycle the machine, all from a browser, even when the operating system is completely dead. Software remote access is a convenience. Hardware remote access is the insurance policy that makes "my main machine is in another city" an acceptable sentence.
The playground
So here we are. Windows plus Android is starting to feel like a good playground and the least limiting pair of options on the table. In 2026. Said by someone with an iPhone, an M5 Max MacBook Pro, and a NixOS ThinkPad in the same room.
The question I used to ask of a machine was "what can it do?" Now it's "what will it let me become?" Right now, the honest answer points out of the garden and into the playground.