app
Adom Hydrogen
Public Made by Adomby adom
The whole Adom experience as one signed native app: your editor, your AI agent, and the full electronics design toolchain, running locally on your own machine.
master
{
"video": "/adom/hydrogen/render/nat-vs-mirrored/nat-vs-mirrored.mp4",
"title": "NAT vs mirrored networking",
"poster": "/adom/hydrogen/render/nat-vs-mirrored/nat-vs-mirrored-poster.jpg",
"chapters": [
{
"t": 0,
"title": "Two ways WSL can network"
},
{
"t": 24.8,
"title": "Mirrored: all four AIs sign in"
},
{
"t": 77.0,
"title": "Why mirrored broke installs"
},
{
"t": 102.2,
"title": "Switching to NAT"
},
{
"t": 112.2,
"title": "Sign-ins on NAT"
},
{
"t": 161.8,
"title": "App dashboards on NAT"
},
{
"t": 184.0,
"title": "How install handles it"
},
{
"t": 211.9,
"title": "The balance"
}
],
"captions": "WEBVTT\n\n00:00:00.300 --> 00:00:06.003\nHydrogen runs your Linux workspace inside\nWSL, on your own Windows PC.\n\n00:00:06.269 --> 00:00:09.740\nWSL can network that workspace in two\nways.\n\n00:00:10.045 --> 00:00:14.802\nMirrored shares Windows' own network, so\nlocalhost on Windows and localhost in\n\n00:00:14.802 --> 00:00:16.327\nLinux are the same place.\n\n00:00:16.626 --> 00:00:20.346\nNAT gives Linux its own small network,\ntucked behind Windows.\n\n00:00:20.678 --> 00:00:23.636\nHere's how Hydrogen handles both, and why\nit matters.\n\n00:00:24.844 --> 00:00:27.704\nWe start in Settings, under Workspace\nnetworking.\n\n00:00:28.024 --> 00:00:30.285\nThis PC is on mirrored, the default.\n\n00:00:31.484 --> 00:00:34.637\nIn Your AIs, we sign Claude out, and back\nin.\n\n00:00:34.911 --> 00:00:39.459\nIts browser sign-in ends by calling a\nlocalhost port inside the workspace.\n\n00:00:39.758 --> 00:00:43.828\nOn mirrored, that's the same localhost as\nWindows, so it just works.\n\n00:00:45.036 --> 00:00:49.682\nCodex works the same way, with its\ncallback on port 1455.\n\n00:00:50.884 --> 00:00:55.807\nAntigravity signs in with Google, then\nhands the result back to the workspace.\n\n00:01:06.754 --> 00:01:10.599\nKimi isn't in the image, so Hydrogen\ninstalls it with one click.\n\n00:01:10.892 --> 00:01:14.615\nKimi signs in with a device code, so\nnothing has to call back at all.\n\n00:01:14.893 --> 00:01:15.794\nAll four are signed in.\n\n00:01:17.018 --> 00:01:18.793\nSo why not use mirrored everywhere?\n\n00:01:19.089 --> 00:01:21.599\nBecause on some PCs, mirrored is broken.\n\n00:01:21.890 --> 00:01:26.553\nA security tool or a firewall policy stops\nWindows from reaching the workspace.\n\n00:01:26.862 --> 00:01:30.822\nDuring install, that looked like the\neditor never loading, or the workspace\n\n00:01:30.822 --> 00:01:32.036\nimage failing to build.\n\n00:01:32.337 --> 00:01:36.224\nSetup stopped right there, and people gave\nup before they ever used Hydrogen.\n\n00:01:36.590 --> 00:01:40.444\nTwo of them reported it on our wiki, and\nthat's how we traced it to mirrored\n\n00:01:40.444 --> 00:01:41.002\nnetworking.\n\n00:01:42.234 --> 00:01:43.497\nNAT is the way around it.\n\n00:01:43.879 --> 00:01:45.959\nHere we switch to NAT in Settings.\n\n00:01:46.264 --> 00:01:50.383\nWSL restarts, and the editor reconnects on\nits own.\n\n00:01:52.204 --> 00:01:57.755\nHydrogen used to warn, on every NAT\nworkspace, that AI sign-ins couldn't work.\n\n00:01:58.051 --> 00:02:03.310\nThat was wrong, because WSL forwards\nWindows' localhost into the workspace.\n\n00:02:03.624 --> 00:02:08.129\nSo now Hydrogen tests the real trip, and\nwarns only when it actually fails.\n\n00:02:08.445 --> 00:02:11.920\nHere, no warning, and every AI is still\nsigned in.\n\n00:02:13.100 --> 00:02:14.905\nClaude signs in on NAT.\n\n00:02:15.174 --> 00:02:19.256\nBefore you even click, Hydrogen has\nchecked that Claude's callback port is\n\n00:02:19.256 --> 00:02:23.339\nreachable from Windows, so the sign-in\nfinishes exactly the way it does on\n\n00:02:23.339 --> 00:02:23.835\nmirrored.\n\n00:02:25.044 --> 00:02:29.170\nCodex, Antigravity, and Kimi sign in on\nNAT too.\n\n00:02:29.450 --> 00:02:31.140\nSame buttons, same result.\n\n00:02:41.774 --> 00:02:47.075\nApp dashboards work in both modes, because\nHydrogen opens them at the same localhost\n\n00:02:47.075 --> 00:02:48.274\naddress either way.\n\n00:02:48.552 --> 00:02:53.700\nHere's Parts Search, served from inside\nthe workspace, pricing a part across three\n\n00:02:53.700 --> 00:02:55.019\ndistributors, on NAT.\n\n00:02:55.283 --> 00:02:59.758\nAnd if a Windows program already owns an\napp's port, the tab now says which\n\n00:02:59.758 --> 00:03:02.800\nprogram, instead of quietly showing the\nwrong page.\n\n00:03:03.990 --> 00:03:07.514\nDuring install, setup now handles all of\nthis for you.\n\n00:03:07.787 --> 00:03:11.334\nStep 6 signs you in, and checks that the\neditor really loaded.\n\n00:03:11.630 --> 00:03:15.587\nIf it won't load on mirrored, or Windows\ncan't reach the workspace, setup switches\n\n00:03:15.587 --> 00:03:19.304\nthis PC to NAT once, remembers your\noriginal setting, and carries on, instead\n\n00:03:19.304 --> 00:03:21.041\nof stopping with a misleading error.\n\n00:03:21.299 --> 00:03:23.372\nIt never loops.\n\n00:03:23.667 --> 00:03:24.547\nA second failure stops, and says why.\n\n00:03:24.896 --> 00:03:30.718\nThat's in Hydrogen 1.0.701, public today.\n\n00:03:31.894 --> 00:03:33.094\nSo that's the balance.\n\n00:03:33.397 --> 00:03:37.295\nMirrored by default, because it's the\nsimplest, and everything connects\n\n00:03:37.295 --> 00:03:37.789\ndirectly.\n\n00:03:38.059 --> 00:03:39.130\nNAT automatically, only on the PCs where\nmirrored is broken.\n\n00:03:39.398 --> 00:03:41.662\nAnd a one-click switch in Settings, either\nway.\n\n00:03:41.957 --> 00:03:48.024\nWe switch back to mirrored, and all four\nAIs are still signed in.\n"
}