Modern Creator
Theo - t3․gg · YouTube

Why I'm Moving to Linux (For Real)

A Mac loyalist explains why agentic coding broke macOS for him -- and how a fleet of $400 Linux mini-PCs fixed it.

Posted
3 days ago
Duration
Format
Essay
sincere
Views
141.8K
4.4K likes
Big Idea

The argument in one line.

Running AI coding agents at scale exposes two macOS weaknesses -- security-monitoring overhead on process-heavy workloads and a slow filesystem for small-file operations -- that cheap networked Linux mini-PCs solve outright.

Who This Is For

Read if. Skip if.

READ IF YOU ARE…
  • You run AI coding agents (Codex, Claude Code) heavily enough that your laptop fans spin up constantly or your machine becomes unusable while a job runs.
  • You want to run longer, more autonomous agent jobs (investigate, implement, open PR, address review feedback) without babysitting a laptop.
  • You're comparing subscription-based coding agents against pay-per-token cloud IDEs (Devin, Cursor) and want to understand the actual cost tradeoff.
  • You're curious about self-hosting a personal compute fleet instead of renting cloud dev environments.
SKIP IF…
  • You only run short, single-shot agent tasks that finish in seconds -- the process-overhead and filesystem-speed problems described here mostly show up under sustained, heavy, parallel agent use.
  • You need a single portable machine and can't add fixed hardware to a home network.
TL;DR

The full version, fast.

Heavy use of AI coding agents like Codex and Claude Code exposed two macOS bottlenecks: the OS's syspolicyd security monitor tracks every new process, and agent sub-agents spawn 30+ processes each, pegging CPU; and APFS is roughly an order of magnitude slower than Linux ext4 at the small-file operations (git clone, worktree creation, pnpm install) that agentic workflows now run dozens of times a day. The fix was moving primary dev work to a fleet of cheap Linux mini-PCs networked over Tailscale, controlled via SSH/tmux or a remote-desktop-style tool, with a network KVM device for out-of-band hardware control and a robotic button-pusher for physical hard reboots. The conclusion: subscription AI coding plans (Claude, Codex) are heavily subsidized versus pay-per-token cloud IDEs, and that subsidy is best captured by running the agent on hardware you own rather than renting a cloud dev box.

Free for members

Chat with this breakdown — free.

Sign in and you get 23 free chat messages on us — ask for the hook, quote a framework, find the exact transcript moment, generate a markdown action plan. Bring your own key when you want unlimited.

Create a free account →
Chapters

Where the time goes.

00:0001:00

01 · Cold open

Reveals the visible MacBook isn't where his real dev work happens anymore.

01:0004:15

02 · Sponsor: Railway

Pitches Railway as a serverless alternative with CLI/MCP support for agent-driven infrastructure setup and usage-based billing.

04:1508:00

03 · Why now: the trigger

Long-running, end-to-end agent jobs made his MacBook unusable, especially when he needed to leave it running unattended.

08:0013:00

04 · Subscription math vs cloud IDEs

Argues subscription AI coding plans are heavily subsidized versus pay-per-token cloud IDE pricing, changing the cost calculus.

13:0019:00

05 · The syspolicyd CPU problem

Live Activity Monitor demo showing macOS process-monitoring overhead pegging CPU during agent sub-agent spawning.

19:0024:00

06 · APFS vs ext4 benchmark

Runs a live disk-performance stress test showing Linux dramatically outperforming macOS on git/pnpm small-file operations.

24:0028:00

07 · Comet Pro KVM and Fingerbot

Demonstrates a network KVM for full remote hardware control and a robotic button-pusher for hard reboots.

28:0034:00

08 · Daily workflow demo

Shows his remote dev setup in daily use -- persistent SSH sessions, worktrees, remote screenshot pasting, cross-machine project management.

34:0036:00

09 · Hardware recommendation

Recommends the GMKtec K8 Plus mini-PC as the machine to run this setup on, with no affiliate relationship disclosed.

36:0038:05

10 · Wrap and teaser

Notes he's now hitting his own AI usage limits from doing more work, teases a mobile app, and signs off.

Atomic Insights

Lines worth screenshotting.

  • Agentic coding workflows now run small-file operations (git clone, worktree creation, pnpm install) dozens of times a day, turning filesystem speed into a workflow bottleneck it never used to be.
  • macOS's syspolicyd process-monitoring can consume 40-58% CPU on its own when a coding agent spins up dozens of sub-processes, independent of the actual work being done.
  • Every AI agent sub-agent that uses computer-use tooling spins up roughly 30+ background processes just for its available tools and connections.
  • A live benchmark showed the same git-clean-and-install workload taking about 35 seconds on a maxed-out MacBook Pro versus roughly 2-7 seconds on a commodity Linux mini-PC.
  • Subscription AI coding plans are reported to subsidize token usage far below the equivalent pay-per-token cost of cloud IDEs, making self-hosted agent execution more economical than renting a cloud dev environment.
  • A network KVM device (capturing HDMI and USB-C at the hardware level) lets an AI agent control a remote computer's BIOS, bootloader, and OS installer -- not just its running operating system over SSH.
  • A broken, unbootable Linux install was fully recovered remotely by directing an agent through a network KVM to force a GRUB boot and repair partitions, with zero physical access to the machine.
  • Persistent tmux sessions over SSH mean a long-running agent job survives a client disconnect and reconnect with its exact terminal state intact.
  • Pasting a screenshot to a coding agent -- a routine workflow step -- breaks over a plain SSH terminal session, which is a real practical limitation of pure terminal-based remote agent work.
  • A capable Linux mini-PC for this workflow costs roughly $400-750, far less than a maxed-out MacBook Pro, while outperforming it on the specific bottleneck (filesystem I/O) that matters for agentic coding.
Takeaway

The bottleneck agentic coding exposes isn't the AI -- it's the OS underneath it.

WHAT TO LEARN

Running AI coding agents at scale surfaces infrastructure weaknesses -- process-monitoring overhead and filesystem speed -- that don't matter for normal human coding but become the actual constraint once agents run dozens of small operations per hour.

  • Agentic coding workloads run small-file operations (clones, worktrees, installs) far more often than a human developer does, so filesystem speed becomes a real bottleneck rather than a rounding error.
  • Security-monitoring processes built for normal human usage patterns can behave badly under the process-spawn patterns of AI agents and their sub-agents, consuming significant CPU on their own.
  • Subscription-based AI coding plans can be economically subsidized well below the equivalent pay-per-token cost of a cloud IDE, which changes the calculus toward running the agent on hardware you own.
  • Hardware-level remote control (capturing video output and injecting input at the device level) gives an AI agent the ability to recover a machine even when its operating system won't boot -- a capability pure SSH access can never provide.
  • Persistent terminal sessions that survive disconnects remove one of the biggest practical frictions in handing a long-running task to an agent and walking away.
  • Designating one machine as the orchestrator with access credentials and a written description of every other machine in a fleet lets an agent manage the whole network without repeated manual setup.
  • The upfront setup cost of a less familiar operating system drops substantially when a coding agent can be told to configure it, rather than requiring the person to learn every step themselves.
Glossary

Terms worth knowing.

Network KVM
A hardware device that captures a computer's video output and injects keyboard/mouse input at the hardware level, giving full remote control of a machine including its BIOS and bootloader, independent of any software running on it.
syspolicyd
A macOS system process that monitors newly launched applications and processes for security purposes; it can consume significant CPU when many short-lived processes are created rapidly.
Worktree
A Git feature that lets multiple working directories share one repository, commonly used to let several coding-agent tasks run in parallel on separate branches without full repo clones.
Tailscale
A mesh VPN service that lets devices on different networks connect to each other directly and securely using private addresses, without manual firewall or router configuration.
ext4
The default filesystem used by most Linux distributions, generally faster than Apple's APFS at operations involving many small files.
APFS
Apple File System, the default filesystem on macOS, optimized for SSDs but comparatively slow at high-volume small-file operations like repeated git and package-manager operations.
Resources

Things they pointed at.

01:30toolRailway
24:10productGL.iNet Comet Pro
24:18productGL.iNet Fingerbot
34:00productGMKtec K8 Plus
28:00productt3 Code
Quotables

Lines you could clip.

08:00
Both quad code and codex massively subsidize your token utilization.
sharp, contrarian economic claim about AI coding subscriptionsTikTok hook↗ Tweet quote
21:05
The e x t four system is still almost 30 times faster than my Mac for day to day PNPM install type tasks. Do you understand how insane that is?
concrete, surprising benchmark number stated with genuine disbeliefIG reel cold open↗ Tweet quote
34:10
It's not that much effort when you tell Codex to do it.
punchy closing thesis on Linux setup friction disappearing with AI agentsnewsletter pull-quote↗ Tweet quote
The Script

Word for word.

Read-along

Don't just watch it. Burn it in.

See every word as it's spoken — crank it to 2× and still catch all of it. The same dual-channel trick behind Amazon's Kindle + Audible.

metaphoranalogy
00:00Computer you see on my desk is the one that I use when I'm making content, editing video, and for a lot of other things, but it's not the computer I do most of my work on. Hell, I'm not even recording on this right now. I'm technically using a Windows PC in the corner to film.
00:11But I've historically done most of my dev work on this MacBook. The same one that you guys see is the one I use for my day to day stuff. Well, it was.
00:18That's changed a bit. I need to explain why. But first, I wanna show you guys something.
00:24These are the computers I do my actual work on. Yeah. Probably not what you thought.
00:28And I need to justify the amount of money I wasted, so we're gonna do that with a quick break for today's sponsor. You might have noticed that I haven't been talking about Vercelas much recently. That's because I've been using a different cloud for a lot of what I'm building.
00:39It turns out that serverless isn't the right solution for a ton of different things. And And since I started building on Railway, I've had way more fun trying things that I never would have before. You might have seen hints in other videos that I've been building my own cloud.
00:50Believe it or not, it's currently hosted entirely on Railway. It's trivial to set up multiple different real services with real databases, real storage, and more. They provide all the things you need in this awesome canvas view for working on it.
01:01But I got another fun thing to tell you. I didn't set this up in the canvas myself because Railway has a CLI, MCP, and more in order to make your agents capable of doing all of these things too. When you set up the CLI, there's an option for agents that will go set up their skills as well, which give your agent everything it needs to actually make changes on Railway, and it's been super stable for me in all of my testing.
01:20They also make it trivial to spin up additional environments, whether for things like pull requests or just having a staging environment before you actually deploy things out to your real production instances. It's literally one click in the UI. I needed staging for Lakebed, so I just did it now, and it was literally two clicks.
01:34That's incredible. I will be honest though, I was worried about pricing, because spinning up all these different environments across all these different things is kind of expensive with servers, but they do things differently at Railway. They only charge you for what you're actually using.
01:47So my service has spikes up to as high as 12 vCPUs, but it usually idles in the 0.1 to 0.2 range, which means that's what I could build for instead. So you pay for what you use, you spin up what you need, and your agents can do it too. What are you waiting for?
01:59Check them out now at soidev.link/railway. While I wait for all of those machines to boot again, I wanna talk a bit about why I made this change. It might seem a bit crazy as somebody who's always been a bit of an Apple fanboy, at least as long as I've been making content for.
02:12Why do I make the shift now? Why didn't I do it at the start of the year when I first started talking more about Linux? I started playing with these other machines and getting excited about things like Niri and CacheOS.
02:22Why now? I had a lot of different reasons, but this one was the biggest.
02:27When I use Codex on my Macs, even on my remote Mac Mini, it just kind of hammers my machine. There's layers to this and I'll talk about a lot of them throughout. But it was getting to the point of like unusable.
02:40And when you combine this with this problem, which we've all seen enough times now, the person leaving their MacBook slightly open because it's running agents on it, I knew it was wrong, but it started to feel even more wrong as of late. In particular, because I've been running agents to do more of the end to end work. Not just making one small change, but making the whole change, waiting for the PR to be ready, get reviewed, and then addressing the feedback.
03:06Those types of longer running work became more and more of what I was doing, and doing it on my MacBook was driving me insane, especially when I have to like go do other things. Because as much as I'm clearly too online, I do also have to go to a lot of events and meetings and things in the city.
03:22And having my MacBook stuck running work when I had to run off and go do something was obnoxious. This photo isn't me.
03:30This is the one that always goes viral. My left thumb doesn't work that well after the surgery. My right hand could do that, but this one wouldn't have a good time with that.
03:37I found myself doing things like this and not liking that at all. I also found myself often in like bad internet situations where my five g was not working great when I was in an Uber trying to get some changes out. And having that all running on my computer was obnoxious.
03:52So I started to play with cloud options. And there are some very compelling ones nowadays. I really do believe that things like Devin's cloud implementation as well as cursors are genuinely usable for the majority of day to day work.
04:04And I like them a lot. But there are catches. The biggest one, and this is so stupid, is the subsidization levels.
04:11Both quad code and codex massively subsidize your token utilization. Oh, my browser froze.
04:18Great. I'm beach balling. Literally, as I'm filming the video about Linux and why I don't like using Mac OS anymore, I'm fucking beach balling.
04:25Are you kidding? Are you fucking kidding? I'm gonna blame Firefox, but it's still annoying as hell.
04:30According to the most recent research by Summing Analysis, testing out how far they could push the Quad Pro Max and Max 20 x planes as well as the Chach EBT equivalents, the $20 plan gets you $400 a month of inference, the $100 plan gets you 2,000 a month, and the $200 plan gets you $8 on Quad. And on Codex, the $200 plan is 700 a month, $100 plan is 3,500 a month, and the 200 is 14,000 a month.
04:52So if you are going to use one of the Cloud IDE options like Devin or Cursor, as much as I love both, if you're able to use these subs, those don't feel like good deals anymore. If you're an enterprise and you can't use these subscription plans anyways, you should probably just go use those.
05:08But to the handful of us that are building on personal projects using these types of workflows that wanna be able to close their laptop, but also take advantage of the insane like value you can get for these plans, I think this video is gonna be really useful because I am not running these plans on my Mac almost ever anymore.
05:26So what am I doing instead? I've had all these machines networked with Tailscale and it's been pretty damn awesome. I use them a lot over SSH but I also use them a lot over t three code.
05:35I wanna focus on the SSH side first because I think it's really good. So here I have in cmux which is the wrapper for Ghostie that I really like because you can have a sidebar and pin things and notifications and whatnot. I have all of my machines that I access regularly pinned on the side here at the top.
05:50I have my desk mini. This is my main Mac mini. Have I a different one that's an Open Claw instance.
05:54I'm mostly letting my team use that. I'm not using it as much right now. I have b b one, which is a black box one.
05:59That's just my temporary name for my new framework that I just plugged back in. I have the ZBook. This is my HP that I, as I mentioned before, did most of my work on.
06:07Then I have a Comfy UI rig. I forgot what this one is, but yeah. I mostly use these two right now.
06:14And there's a lot of little things I did to my setup that have made it really pleasant. The first is that when I ssh in, it instantly opens up TMux.
06:23So if I have anything going on in here, like, let's say I have btop open, and I disconnect, I ssh back in, it's still open exactly where it was. This alone has made this so much nicer.
06:34You also can't see a lot of the numbers there because I have such a small resolution when I'm streaming. I got 32 threads on this machine. I also have 32 threads on that ZBook as I mentioned before.
06:45And right now, they're not doing much because I did just take down them down and cancel all the work they were doing. But man, do these machines do a lot of work for me. Like, absurd amounts.
06:55I'll talk more about the work I did on them in the future, but for now I wanna focus on the workflow and how I actually use these machines. First and foremost, when I'm just doing traditional like dicking around work, exploring things, playing with the OS, trying to get my network in the setup the way I want it, I'll just hop in, open up codecs in the terminal and do my stuff from here.
07:16And it's been pretty dang solid, I'm not gonna lie. I'm on an alpha build because I noticed some issues with the WebSocket server connections on Linux. They have since fixed them so I could get off the alpha now, I'm just lazy.
07:27Whenever I'm trying to work on the machine itself, like I'm doing anything specific to this computer, I tend to do it this way. Or if I'm using features that are specific to the harnesses, like I really wanna play around with UltraCode and workflows and quad code, or I wanna use things like goals and sub agents and actually see what they're doing.
07:46Turns out, Codec CLI gives you almost no visibility there anyways other than how long the goal's been running for. But for that type of stuff where I'm really pushing the limits of the harnesses and testing them, I have found using them in the terminal to be tolerable. There are some very big real catches here though that have been driving me mad.
08:03One is pictures. There are hacks that can make this work, but I'm a person who does a lot of screenshotting and pasting screenshots to their agent. I get errors when I do that over SSH because you can't paste an image over SSH.
08:16Even doing it in the normal terminal was already a hack. So there are catches, to put it lightly here. Also, I'm not on my home network, I have to connect to a different address because I can't use the local addresses.
08:27I told Codex to figure that all out and it was mostly Abel. One thing I would highly recommend if you're gonna do a setup like this is to pick the machine that is the brains of the operation. For me, it's this MacBook.
08:37This MacBook has access to all the other computers that has SSH IDs already copied and keys so that it can SSH without a password, which means that my agent can as well. I also gave it a skill that tells it all about the fleet, all the different computers I have on the network, and what they are, where they are, and how they're configured.
08:55As well as a set of the default configs that I like to use for this type of stuff. So I'm gonna do a thing that I wanna do for a while. I noticed that I have a much better like pure style prompt on my Macs than I do on the PCs.
09:08These ones, the Linux boxes in particular just have a pretty boring bog standard prompt. So I'm going to fix that. I noticed that the Linux boxes in my fleet don't have the same prompt style as my Macs.
09:23The Macs use a minimal pure setup with the colors matching the system color.
09:30The Linux boxes do not. Please fix it.
09:33And now it should notice that it can use the fleet scale that I built to find all the info about these computers and then it can SSH into them, see what their setups are, and then fix them. I even have the computers md file that describes all of the machines that is an optional attachment to agents md that my codecs on this computer can use to go fix the things on the other machines.
09:54While that's going on, I wanna talk a bit about the madness that drove me here and then I'll show more of how I actually use this day to day. Hinted at this earlier with this screenshot of one of my Mac minis at a 100% CPU across all of its cores hitting over a 100 degrees Celsius in some of them. How the hell did I manage to do that doing like basic code work on web and mobile apps?
10:15I'll admit that a meaningful portion of this usage here is because I was working on mobile, but the majority of it wasn't. The majority of it was a certain app called, I don't even know how to open right now, Codex.
10:27The Codex app is a little bit brutal. It uses a lot of resources. Not when it's idling, when it's working.
10:34I'll demo this on my actual machine. I'm on an m five max, which my face is covering the part that matters here. It's got 18 cores, 18 threads, so to speak, and this can do a lot.
10:45And right now, it's not doing too much. Codex is open. It is taking some of the CPU.
10:49Watch what happens when I ask it to do anything, especially when it involves computer use. Let's come up with something good. Said go through the recent replies on my Twitter using computer use to find any replies that could be good video topics.
11:00Now we're going. Now let's hop back over to my terminal and take a look at the utilization on my machine and also activity monitor. Over to CPU.
11:11And you'll see we went from, like, nothing using more than 10% to half of my cores being in the twenties. Now it is navigating through my Twitter and doing things.
11:21Now it mentions. And while this is all going on, you can see that my CPU is under quite a bit of load. And this is one thread of browser use.
11:31Now imagine I'm doing two or three things at the same time. You can clearly see how I would quickly end up using the entirety of my CPU even on a maxed out m five computer that now costs $10,000. That's like three things you can work on at a time.
11:45And as these tasks get bigger and longer and slower, this can get really bad. One of the biggest issues I've had using codecs on a Mac and using Macs for lots of agents in general is this sys policy d thing.
11:57This is a very much Mac thing where Apple tries really hard to keep their computer super secure. They went hard on the marketing of like the computer with no viruses back in the day and they have tried their hardest to maintain that sense. So whenever new processes spin up, they have a system policy manager that tracks those processes to make sure they're not doing anything sketchy.
12:16And this works fine if you're spinning up a normal amount of processes. But something like Codecs spins up a shitload. And there's additional problems here like when Codecs spins up sub agents because every sub agent also needs to have the ability to call computer use, which is an MCP, which means the MCP has to spin up on the server side with one unique process for every single thread, as well as a connection client for it too, which means every sub agent gets like 30 plus processes for all the things it can do and all the MCPs it has built in, which means it's very, very easy to get crazy numbers just from sys policy d monitoring the processes on your computer.
12:52If you haven't seen this, you haven't asked Codecs to do sub agents. And as soon as you do, you will see horrible numbers on your Mac. You'll actually probably hear it first when your fans start spinning up.
13:03This was driving me fucking insane. It made me hesitant to use codecs. It made me hesitant to use sub agents.
13:09It made me hesitant to like do real work on my computer. Even now with it idling, it's using a shitload of CPU. And if I command q it, and wait a sec, a lot of those numbers are about to drop down.
13:20Yeah. Already going down a bunch. They're working on it.
13:22I expect it to get better. It's already improved a bunch since the peak of how bad it was. But I I'm annoyed.
13:29And I want a lot of the benefits of Codecs without having to deal with that. And that's why I started exploring Linux as an option. There was one other issue I was having with Macs though, and it's not just like navigating.
13:39As you see, I'm still using a Mac for doing the work or triggering the work at least. My other issue is this post from nullvox populi back in March of this year that I've thought about almost every single day since.
13:53This is a benchmark that measures how quickly small files can be created and deleted and recalled for doing things like cleaning up your git history, cloning a git project, PNPM installing a bunch of things from cache. A lot of the types of tasks that we used to do a decent bit, but we now do way more when we're spinning up things like WorkTrees for sub agents and other things that are running on our machines.
14:16Being able to clone a bunch of small files went from a thing you do occasionally to a thing I personally do dozens of times a day, and it's annoying. So let's start by running the git clean command in this project that is designed to be like a bunch of big projects to replicate these performance issues. Here it is running on my Mac, my m five max MacBook with insane file speeds.
14:37Its IO is unbelievably powerful versus random Linux box on my network. You can probably already see the difference.
14:46It just did that in two point five seconds real time. My Mac is still going.
14:57This will be a bit.
15:01Let's just wait for a sec. Okay. That took twenty seconds, 35 total for real time.
15:10So we go from two seconds on a Framework desktop to thirty five seconds on a top of the line maxed out MacBook Pro. And now we can do the install test. This one's even more fun.
15:21Let's do this one.
15:27Yeah. The Linux is a lot faster. You can very clearly see.
15:31This is installing a bunch of packages and a bunch of repos, a bunch of sub projects effectively. And it just did it on my Linux box in seven point five seconds.
15:41Sorry, seven point three total. And the Mac is still going.
15:55Thirty five seconds again on the Mac. But the e x t four system is still almost 30 times faster than my Mac for day to day PNPM install type tasks. Do you understand how insane that is?
16:07The SSD on this computer is two to three times faster, but the framework in reality is more than 10 times faster for just cloning work trees and doing PNPM installs and these types of day to day things. It's insane how much better it feels and how much less hesitant I am to like spin up a work tree now.
16:26And that's what this benchmark highlights. On most like Linux boxes using pretty much any file system, you'll get performance where these tasks take under ten seconds. But on any MacBook, running APFS is gonna take thirty plus.
16:40It's pretty bad. It's pretty damn bad. APFS is rough for the types of work that we do.
16:47There were a few things I was hesitant about before I made this move. One was the SSH stuff that I talked about earlier. It's rough, but I'll show you how I solved it.
16:54Just like not being able to paste images is the worst. I promise I have a good solution though. That was one of the things.
16:59The others were things that were kind of Mac y. Like, I really enjoyed having a 128 gigs of RAM that was shared between CPU and GPU because I could use that to run local models. And I could use that to do my day to day work.
17:12On PCs, you usually have vRAM on your GPU and normal RAM on your CPU. So you don't get that level of like being able to run a giant model on the machine. I don't fucking care anymore.
17:22I'm gonna be real. I'm using the cloud models. If I want to use one of the cool open weight models, they're cheap enough from external hosting.
17:29I just use that. I'm not that into running models on my local network. I just don't care.
17:34So that change was pretty big. It meant that my willingness to consider non Apple computers for this went up a bunch. But I also really started to like computer use.
17:43And I knew I would miss it a lot because I know that the Codex team has worked really hard on the Mac computer use implementation. Doing crazy things like running when your computer's display is turned off or having access to applications that you don't even have open on the screen at the time. Computer use has gotten really damn good in macOS on Codex.
18:02More than I ever thought it would as somebody who was very skeptical of this type of thing before. You can use computer use on Linux. It's nowhere near as stable.
18:09But I also don't find myself needing it as much. What I have found myself doing more is going to computers like my Mac minis, just giving them one specific computer use task, and then using these Linux boxes for all of my actual work. That's been going really well, especially when you give these computers access to each other where I set up my Linux boxes to be able to SSH into my Mac Mini and spin up things with codecs that can use computer use on that computer.
18:36That works way better than I expected it to. But I do have one more trick I wanna show a bit. This is the one that's gonna make the video kinda long.
18:43The magic trick is this guy. This is the Comet Pro by GLiNet. I love this device.
18:50If you're not familiar with network KVMs, they're really goddamn cool. I've tried almost all of them.
18:56The Jet KVM started this new trend and I like it quite a bit. But the performance on the Jet KVM wasn't great. It felt kinda laggy when I used it.
19:02I did not have that problem with the GLINNET equivalent. This guy doesn't look like much. It effectively is like a Raspberry Pi type thing inside, but the ports are where it gets interesting.
19:13Faze, feel free to zoom. We got an HDMI in and out. Out barely matters.
19:17The in is the key. We have two USB C ports. One is a five volt two amp, that's for power, and the other one has a keyboard and a mouse icon.
19:25You know, you're thinking, wait, are you gonna control this by plugging in a keyboard and mouse? No. It's also got ethernet, which is not super important.
19:31It's just one of the ways you can connect it. What this guy is is a monitor, keyboard, and mouse for a computer like this guy.
19:38If I wanna be able to control this computer and have proper full control of this computer when I'm not at home, I need the ability to see what it's showing, not just SSH into it. I need to be able to reboot it or maybe flash a different OS on it and really control it. And that's what this does.
19:54I plug the HDMI and USB C from this mini computer into this. And now I can fully control it like I'm team viewing regardless of what software is on the box. And goddamn, can you do cool stuff with this.
20:07Much more so than I even thought you would be able to. One last thing before I go set this up. I am not sponsored or affiliated with GLINet in any way which is crazy considering how much of their hardware I have.
20:17I love these guys so much. GLINet, you if guys are watching this, I wanna work with y'all. Respond to my emails.
20:23You can find my email in my YouTube channel. I will help you sell so many devices. Everything you've ever made has been one of my favorite versions of that product line.
20:31Let me help you guys. Seriously, your shit's so good. Be right back.
20:35It's booted. It's on my network. Flashbang warning.
20:38We're now in. I'd like to remind you, this is not some software running on the computer. This is an external device that is able to fully control the computer, which means you can do crazy things like reboot it.
20:55I have full control of this machine. Do you understand how useful this is?
21:00I can control the bootloader. One of the coolest things these offer now is the ability to connect storage too. So I can put an ISO on here, mount it, and flash a different OS on the machine.
21:11How much of my audience do I think doesn't know what a network KVM is? Let's do this. Did you know about network KVMs before this?
21:20About half of y'all, the most locked in people hanging out here, did know about this, but a lot of you guys didn't, and they're really fucking cool. This machine already has stuff configured on it, means I can't do some of the things I wanted to show here. Specifically, because I was letting Julius use this a few days ago, I know there's stuff in here that he wants to get off it, so I can't nuke the machine as much as I want to.
21:40Believe me, I want to. As I mentioned before, computer use is something I really like. This is not a real practical demo, but this shows you the capabilities here in a way that I think is really cool.
21:49I just told Codex to use computer use in Helium to configure my Ubuntu machine over the network KVM. It's on this URL, that's this tab. I want the wallpaper to be solid black instead of a picture.
21:58And now we can watch it as it works. And now we see the magic little cursor there coming in from Codex, and it is learning how to use the computer.
22:06This might be interesting because Ubuntu's not the the best UX for a desktop OS.
22:14I mostly use Ubuntu server, which has been serving me very well. I was just lazy and sold standard Ubuntu on here. But here, just open to the terminal up.
22:21It is now going to send commands to the terminal. So it doesn't know it can SSH in, so it's gonna do this instead. But like, I think that's cool as shit.
22:29What I used this for a few days ago that that melted me, and I've been waiting to talk about this, and I'll probably talk about more in future videos, wink wink. I used this to debug a broken Linux install I had on a different computer. I had a machine on my network with two drives in it.
22:42One was one terabyte, one was four terabytes. I added the four terabyte later. I wanted the one terabyte drive from it, funny enough, to put into this particular computer.
22:49Also, it just successfully did the change. Pretty damn cool. So I asked Codex on that machine to copy over the partitions so that I could rip out the drive and boot it.
22:58It copied over the partitions, but it wasn't bootable. That computer also had one of these KVMs on it though. So I opened up the KVM, I opened up Codex on my laptop and said, hey, this computer's not booting.
23:09The partitions should have the data we need though. Can you recover its boot? And in the Grub bootloader, it was able to force a boot, get into the system, and then repair the partitions without me touching the computer.
23:21I just set the command, saw it work, it's like, okay, this might figure it out. Left for twenty minutes, came back, and my machine was working again. Un fucking believable.
23:29It's so cool how far these things have gotten. And it succeeded. It completed its task.
23:35It's confirming here, giving me its feedback at the end. Do you know how cool it is giving AI access to literally any computer in the world by plugging a little box into the HDMI and USB ports? It's magical.
23:47And if you're wondering what happens if the computer gets turned off accidentally or something or you need to do a hard reboot, GL INET's the only provider that sells a good solution for this for all computers. Part of my language is called the Fingerbot. And this is one of my favorite things INET's ever put out.
24:01This is a robotic finger. It's battery powered and connects wirelessly to the GLKVM. It also has like a three m strip when you get it.
24:09So you three m this right next to your power button, and then you can tell in the GL iNet software, tell it to click and press and how long to press for, and it can hard reboot your computer remotely. It's so useful.
24:23I've been able to install different OSs on machines from the other side of the country without having to ask anybody to go press a button for me. It's really damn cool. Would I use this to control this computer remotely?
24:35Like, would I browse the web through this? No. That would be awful.
24:38It's not good. It's good enough to do work and like get things done. But I see this more as an emergency interface and a way to give agents the ability to control the full computer remotely.
24:49And for those two things, it has been unbelievably helpful. I now have this type of KVM on most of my remote machines, especially the ones that actually have a GUI.
24:58So all my Mac minis have this. Two of my Linux boxes do, including this one I just set up now. It's really nice when you do need to do things in the GUI or format the machine, that type of thing.
25:07It's time to show you guys how I actually do work using this setup. Npx t three at nightly serve.
25:15I do have these host commands to make it work better with Tailscale. Now that it's served. And what this means is I can now connect to t three code over my Tailscale address or my local network and control everything going on in that machine through an actual GUI that works.
25:31And it is so goddamn good. You can even use the terminal through t three code as well. And here we can see, oh, my fancy terminal changes I queued up at the start persisted.
25:40I can get pull, so we're on latest. Exit, we're back in t three code. So convenient.
25:44I wanna actually use this a bit though, so let's queue something up. What's the status on the orchestrator changes that Julius is working on?
25:55It might still be in a branch and PR and not yet merged. And I'm gonna throw this on a work tree just because they're basically free on Linux.
26:05And now we're in a work tree working on some real work remotely. But most importantly for me, I have screenshots again. So I can just grab the screenshot, paste it, say it's this one.
26:15And now I'm sending images again on a machine that I'm accessing remotely, which by the way, can I switch over to doing this on like five g or a different network? And since I'm tail scaled in, we're all good. It's so nice.
26:26I've been using this a ton for my real work across all the different machines. And just to emphasize how much less I'm doing on my machine lately, I do have to wipe my t three code history somewhat regularly when I'm testing stuff, but like, this is all I have in it. And those are twenty three days ago.
26:40I'm not using t three code on this machine for my work. I'm accessing it remotely. You'll see here, I have a lot more work that I've been doing over on this brand new machine, and then I have a separate one where I have even more.
26:50All it took to get Theo Linux build was a fast file system and a fingerbot. You're not wrong. I'm gonna set up the remote stuff.
26:56We do have t three connect coming, which will allow you to not use Tailscale. I haven't even tried it yet. I don't know if we're gonna charge for it.
27:03Have no idea how we're gonna figure that all Julius has been deep on that for a bit now. We're trying to get some changes on the Cloudflare side so we can do it right. But for now, I'm just connecting over with Tailscale.
27:12And this is both ways too. Once you install the desktop app, you can check this box and expose your t three code over HTTPS over Tailscale. But I want to connect to this other machine.
27:22So I'll be over to my terminal. It gave me this URL over here. I'm gonna grab this, but I'm gonna change it slightly because it didn't realize it's tail scale on that side.
27:30So I'm gonna fix that by creating link. Then I wanna go the other way, remote. Environment add, paste.
27:36This is the pair code. I want this version of the URL.
27:40So I'm gonna do that instead. Now I have that as a remote environment in the t three code desktop app. Do you know how much more cool this is gonna be when the mobile app's supported too?
27:48And now it shows when I go to work in a project which machine it's on as well as which directory it's in because I have multiple clones of the same repos because that's how I would solve the Work Tree problem when Work Trees weren't good. Now they're better because I'm on Linux. Still not great, but much better overall.
28:03And I can see all the different machines, their names, and the directory the code is in. And I can even add projects on different machines.
28:11If I have a folder on this other box, I can find it and add directly from there or even give it a git URL to clone on that remote machine. So if I want to grab, I don't know, round, the code base for the ping.gg site and have it on here, git clone, paste, enter.
28:29It wants to go somewhere, so we'll do code work round.
28:34Create and clone. Source control operation could not be completed. We have better error here.
28:38Oh, I might not have a GitHub CLI set up here. Yeah, I'm not.
28:43Cool. So that couldn't access it because I don't have GitHub set up on this.
28:47You know what? I'm gonna do this the way I normally do it. I just did this config here with the change to the prompts.
28:53I want the auth working. So I was gonna tell it GitHub auth for git and g h c l I is not working on b b one.
29:01Fix it. I could go sign in manually, but now that this MacBook has access to all the other computers over SSH, it can go do that for me. But I know I have this on ZBook, so let's do it there.
29:11Settings, connections, add environment, paste, add.
29:16Cool. And if we go back to where I was, add project, ZBook, GitHub repo, I can find it this way.
29:23PingDotGGSlashRound. There we go. And I want this in code, work.
29:29I already have one there. I'll call it round two. Create.
29:34And now I have cloned and will be able to work in this project entirely remotely without having direct access to the machine. And this will work over the cloud, this will work over my local network, this will work even if I close my laptop, which is the magic of it all. What's the current state of this project?
29:51God, this is so cool. Being able to control these other machines on my network without having to be directly connected or accessing them through something like this where it feels effectively native. And I have the terminal here, I have all of that.
30:05And if I ever need to access it on this machine, I can tell the agent or even tell the orchestrator at this top level on my laptop, hey, I wanna access this port on this machine to check out this web UI or check out this other thing. And it works. This has fundamentally changed the way I work and the things I do with agents.
30:22Now I can run these jobs for so much longer and not worry about having to like close my laptop or melting the CPU and memory on it. I'm running much longer jobs. I'm not just telling the agent, go make this change.
30:32I'm telling it, investigate the code base to figure out the right way to do this thing. Make the changes, put up the PR, wait for the bots to review it, respond to the review comments, maybe go ask Claude for its opinion too, and don't bother me until you're done.
30:47You also do stupid things like this. I'm just gonna whisper Flox and being lazy. I want to modernize this project.
30:52Its tech is very far behind and it hasn't been well maintained for a while. I want you to audit the project. Use sub agents to break up the work and figure out all of the things that are worth modernizing or deprecating, and then write an HTML plan when you are done.
31:05Respond with the link to that HTML plan. And away it goes. I don't have to worry about it.
31:09I don't have to think about it. I can come back later and have a little URL I can click that breaks down this project and what it thinks should be done to it. It's so good.
31:17It's so good. The way I work with agents and the amount of work I do with agents has fundamentally changed as a result of setting up these boxes and connecting to them through something like t three code.
31:28It's just night and day difference. It feels so much better to do work this way. I highly recommend you try setting this up yourself.
31:35You're wondering about the HTML hosting? I made a dumb microservice for it. I recommend you do the same.
31:40I might put mine out, but it's easy enough to build. Just go build it yourself. You might think you need a really big beefy powerful computer to benefit from this type of setup.
31:49I can tell you for a fact, having initially done this on a much much less powerful computer, it doesn't really matter too much. Linux is just a much better OS than Mac OS for this type of parallel work. And as such, most Linux distros on most computers will be really nice to offload work to, especially if you have a lot of threads.
32:07Like here, that box that I just spun up all those sub agents on that I'm also accessing t three code through is using like nothing for resources.
32:16It's got 32 cores or 32 threads. And I'm using like eight two at worst, like 20%, but usually not even close.
32:24It's using jack shit. And that project it's auditing isn't using p n p m or bun. It's using o g n p m.
32:31So it's it's a hog. And it's fine. This computer isn't breaking a sweat at all about this.
32:37And my most importantly though, my laptop isn't doing shit. I still have codecs open which hurts, but if I close that, it's not using jack shit for resources in comparison.
32:46It's so nice. It's so nice. But if you are looking for a computer to run this on, I'm gonna ruin things for myself again here.
32:54The GMTAC k eight plus is the computer I am using, the one that I showed here that I just set up with the KVM. More than enough computer for this type of stuff. Without RAM or an SSD, it's only $400.
33:07With with 32 gigs of RAM and a one terabyte SSD, it's currently on sale for $7.40. And that $300 jump for 32 gigs of RAM and a terabyte drive is actually a pretty damn good deal.
33:19Because buying those separately would cost even more. So if you're looking for a rig, this one's probably gonna sell out fast. Worth considering.
33:26I don't get any affiliate deals when you buy from GMK Tech. I'm not even gonna link it. Just go find it.
33:30It's a good deal. It's what I grabbed. It's been really nice.
33:32But honestly, you can probably run this in a cloud machine without too many issues. I would be careful using your auth with things like codecs and more importantly, Claude code in a cloud box because Anthropic does not want you running your personal Claude code sub anywhere but your personal hardware.
33:50So running it on your actual local network on your normal internet, less likely to cause a ban. So personally, I'm not using any Cloud Boxes anymore.
33:58I did for a bit, but it isn't actually that hard to roll your own Cloud. And you get significantly better utilization, significantly better performance, and way more control if you just get an old laptop or desktop or buy some small knockbox to throw on your network.
34:13You can do a lot. I never thought I would be the guy writing all their code in Linux, but here we are. Especially with my synchronized TMUX setup where all of them are color coded for the different machine, and I have clicking on these working to switch between the different things going on in any one of the boxes.
34:29And when I have a new machine I wanna set up, I just tell my agent to do it and it does it. It's so good. I have never been this happy with my development experience.
34:37There's a lot to wrangle. Like, I've never had to think so much about what computer should run this workload, how do I get it to this machine later. But that orchestration's actually kind of fun.
34:46And I think orchestration is more and more our job as we're creating these agents and environments to work on the actual code for the products we're building. Controlling where and how they all run is more and more our job. And this has been an incredibly fun way to do it and I hope I've inspired you to possibly go do it yourself.
35:01So if you're tired of your laptop's fans spinning up for no good reason and you want your performance to look like this while you're running a bunch of sub agents, I can't recommend this workflow highly enough. I am so much happier. I've been building way more.
35:13I've been taking significantly more advantage of the capabilities of these AI systems and agents. And I've finally been getting close to hitting my usage limits on both my Codex and Cloud subs and I credit this setup for it. And one last small thing.
35:26For those of us who have set up Linux in the past and are annoyed by it, or have decided that they don't think it's worth the effort, it's not that much effort when you tell Codex to do it. It's insane how it's worth on Linux is when you can open up a terminal, open up QuadCode or Codex, and tell it to configure the machine the way that you want it configured.
35:43I have had a number of people ask about using things like the Codex Cloud product or the ClaudeCode Cloud product. You guys know you guys know I'm a simp for Codex. The cloud stuff just doesn't fucking work good.
35:55It's just not really there at all. It's too hard to set up your environment. It's missing way too many different things to get that in a way that's actually viable.
36:05Accessing the code that it wrote to test things out or try things isn't great. You can't ask it to use the other model. Like I'll often tell Codex, go run Claude dash p to see what the results are from that to compare and contrast.
36:18Can't do any of that. You get way less control. You're super locked in.
36:22It's way worse and more broken, so much so that they've been hiding it. It used to be very accessible in the mobile app. I know that because my CTO, Mark, to use it all the time.
36:31They made it harder to get to in the app because they're even pushing you to use the built in remote stuff that exists in Codex and now also in Cloud Code with the remote control option. It turns out it's really hard to build a generic host for any agent in any workflow for any project anyone is building. Cursor and Devin got a hell of a lot closer because they're much more focused on this.
36:51Codex is nowhere near it. I I tried using these cloud things before and couldn't really make the jump, especially with Devin and Cursor, as generous and awesome as they are, not having the subsidized tokens hurt. This workflow has been much more pleasant for me, and it's actually really fun to own and control.
37:08And coming very, very soon, the t three code mobile app that lets you control your computers and your agents fully remotely.
37:18It is hard to put into words just how excited I am to get this out. And hypothetically speaking, the whole project's open source, and if you did wanna go build it and run it on your phone yourself, you probably could. Just saying.
37:31Didn't wanna make this video too big a self plug because I think the Linux box part is much more valuable. And a lot of how we're building t three code is based around how much we're loving this workflow now. And in the end, we all have the same enemy, which is holding your laptop open when things are running.
37:47And don't you dare tell me amphetamine is the solution. You should know why that is wrong. I got nothing else on this one.
37:54I've been loving Linux. I never thought I would be a dev working in this type of fashion, but it is really, really nice. I highly recommend you give it a shot yourself.
38:00I bet you'll be surprised. Let me know what you guys think, and until next time, peace nerds.
The Hook

The bait, then the rug-pull.

Theo opens by pointing at the MacBook on his desk and admitting it's basically a prop -- his real development work moved somewhere else entirely, and the rest of the video explains why a self-professed Apple fanboy ended up building his workflow around a fleet of cheap Linux boxes.

Frameworks

Named ideas worth stealing.

16:45concept

Pick one machine as the brains of the fleet

Designate one computer (in his case, the MacBook) as the orchestrator with SSH keys and access to every other machine, plus a written 'skill' file describing the fleet, so agents on that machine can operate the rest of the network without manual setup each time.

Steal forany multi-machine or multi-environment agent orchestration setup
CTA Breakdown

How they asked for the click.

VERBAL ASK
37:50next-video
I highly recommend you give it a shot yourself.

Soft, low-pressure CTA -- encourages viewers to try self-hosting a Linux fleet themselves rather than pitching a specific product purchase; mentions an upcoming t3 Code mobile app as a teaser without a hard sell.

MENTIONED ON CAMERA
FROM THE DESCRIPTION
PRIMARY CTAWhere the creator wants you to go next.
AFFILIATECommission earned if you click.
Storyboard

Visual structure at a glance.

cold open
hookcold open00:00
the trigger
promisethe trigger04:16
CPU spike demo
valueCPU spike demo12:43
disk-perf benchmark
valuedisk-perf benchmark13:44
network KVM demo
valuenetwork KVM demo24:31
daily workflow
valuedaily workflow32:35
hardware pick
valuehardware pick34:14
wrap + teaser
ctawrap + teaser35:58
Frame Gallery

Visual moments.

Watch next

More from this channel + related breakdowns.

43:15
Theo - t3․gg · Tutorial

A proper guide to Fable 5

How Theo turned a returned, unmetered Claude release into a five-and-a-half-hour unattended agent run that cleared a month of stalled pull requests for about $150.

July 6th
23:24
Theo - t3․gg · Talking Head

You were lied to about Fable

A 23-minute rebuttal of three viral claims about Anthropic's returning Fable model — that it's nerfed, that its subscription pricing is a bait-and-switch, and that it's too expensive to run.

July 4th
Chat about this