Before I started the ISP, I built computers. That was the hobby — sourcing parts, assembling machines, figuring out why something didn’t POST, flashing BIOSes, understanding how the hardware actually worked before the software ever touched it. By the time I was 17 I could build a box from scratch faster than most adults could set up a pre-built one. That foundation mattered more than I knew at the time.
On February 1, 2000, I launched a regional ISP in Wisconsin. I called it wen dot net (wen.net). I was 18 years old — my birthday wasn’t for another six weeks. Everyone was talking about the internet like it was going to change everything — and they were right, just not in the ways most of them were thinking. Dial-up was still how most people got online. Broadband existed, but it was expensive and barely available outside major metros. There was still a real business in selling people a phone number to dial and a PPP connection to ride in on.
I had no roadmap. I had parts knowledge, networking obsession, and the kind of confidence that only an 18-year-old who doesn’t fully grasp the downside risk can have. That was enough to start.
// What Running an ISP Actually Looked Like
You had modems. Racks of them. U.S. Robotics, mostly, back when that meant something. Every modem was a phone line, and every phone line was money. You negotiated lines from the phone company — which meant dealing with the phone company — which meant getting treated like you were asking them a personal favor just for existing.
You had a router — maybe a Cisco 2501, if you’d found a good deal on eBay — and a T1 line connecting you to a backbone provider. That T1 was your entire upstream. 1.544 megabits per second. Shared across every customer dialed in. When someone was pulling a big download, everyone felt it.
You ran a terminal server — something like a Livingston Portmaster — that took the incoming calls and handed off PPP connections to whoever was dialing in. RADIUS for authentication. DNS. A mail server running sendmail, which meant a sendmail.cf file that looked like it was written in an alien language, and you prayed daily you never had to touch it.
By 2000, DSL was starting to show up. Cable internet was rolling out in some markets. I knew going in that the clock was ticking on dial-up. That didn’t make the day-to-day any less real — it just meant you understood what you were building and roughly how long you had to build it.
$ netstat -r Kernel IP routing table Destination Gateway Genmask Flags 10.0.0.0 * 255.0.0.0 U 172.16.0.0 * 255.255.0.0 U default 199.x.x.1 0.0.0.0 UG $ who user1 ttyp0 Apr 12 21:34 (dial-in-04) user2 ttyp1 Apr 12 21:41 (dial-in-11) user3 ttyp2 Apr 12 22:02 (dial-in-07) [12 more users connected]
// Fighting the Telcos
By 2000, the phone companies weren’t confused about the internet anymore — they were threatened by it. And they were also trying to be in the business themselves. Every time you tried to get additional lines provisioned, there was a fight. Lead times stretched out. Orders got lost. Technicians showed up late or not at all.
The real tension was DSL. The same phone companies selling me analog lines for my modem bank were also rolling out DSL in some markets and dragging their feet everywhere else. They controlled the last mile. They controlled the copper. And they had zero interest in making it easy for an 18-year-old with a rack of US Robotics modems to compete with them, even temporarily.
I never had a clean quarter dealing with the incumbents. I don’t think any regional ISP operator did.
// The Customers
By 2000, most people had at least heard of the internet. That was both better and worse than you’d think. Better because I didn’t have to explain what email was. Worse because people now had expectations built from AOL, which meant they expected everything to just work, and when it didn’t, they called me.
I got a call once from a customer who was upset because she couldn’t get her email. I walked her through everything. Finally I asked her to read me exactly what it said on the screen. She said: “It says ‘No carrier.’” She was reading the status bar from her modem software. She wasn’t connected. She had never dialed in. She’d been staring at the disconnected state for twenty minutes and assumed the internet was broken.
That was Tuesday. Every week had one of those. Being 18 and running someone’s internet service while also trying to learn everything you didn’t know yet was a specific kind of chaos.
// What It Taught Me
Running infrastructure teaches you something that you can’t learn from books or courses or certifications: everything fails. Not might fail. Fails. The modem bank loses a card at 11pm on a Friday. The T1 drops and your upstream provider’s NOC doesn’t answer for two hours. Sendmail decides to start bouncing legitimate email for reasons that take you four hours to diagnose.
You learn to build for failure. You learn that redundancy isn’t a nice-to-have, it’s the entire game. You learn that the difference between a good operator and a bad one is almost entirely about how they behave at 3am when everything is on fire.
That carrier-grade mindset — build it to survive the worst night, not just the best day — is something I took forward into everything I’ve done since. The tools changed. The lesson didn’t.
It still does.