I was homeschooled in a heavily locked down home.
Internet was effectively not allowed, and when used, only whitelisted sites permitted.
Everything was tracked.
Our home work/life was strenuous.
Both parents holding advanced degrees and living on a hobby farm led to ~10h a day of homework, and another ~3-4h per day of taking care of the place. Very little room for socializing/free time, and even when there was, it would usually be filled with more homework/chores.
I was around 13 the time (this would be 2010), and I'd discovered the Terminal app on the Macs we used.
Toying around with it when nobody was in the room had led to some discoveries.
I'd spend hours looking through the file system, when I discovered "man" and started reading the manuals for them.
This led me down the rabbit hole of learning everything I could about the world inside the command prompt, and even opening up telnet ports on other macs throughout the house and connecting to them.
Eventually, (and unfortunately I cannot remember how), I discovered that I could connect to Telehack, a BBS with real other people on it, and our internet tracking software didn't discover it.
Whenever I had any longer than a minute alone, I'd connect and talk with the people there.
I learned things about the old internet, got sent places I could FTP to download books (The Cuckoo's Egg being one of them), found friends and joined their "ssh server" (where we set up custom ways of more live-chat), and I learned basic programming in Bash, Python, Ruby, and other languages. I always had to disconnect (Apple+Q) as soon as I heard footsteps.
Now I'm double the age I was then (26) and have worked full-time as a software engineer for 4 years.
Telehack changed how I talked with people, learned, and my entire career path. Thx <3
How did you figure out how to navigate the filesystem in the first place? Or use the terminal app to get to the man pages?
I remember opening up my first IDE when I was about 14 and becoming overwhelmed with my complete lack of knowledge about coding. Looking at the blank text file was like staring into a bottomless pit of nothingness.
I learned how to read from the terminal though, so I knew commands like `cd` and `dir` before I even knew how to read.
I'm unsure how someone just figures out the terminal without a guide.
Was back on Windows 3.1/DOS, it was mostly trial and error. Trying different commands because my Doom executable stopped working, then learning DIR etc. learning about /? or /help. Eventually understanding more and more bits - definitely kludging my way through it, occasionally finding books at the library on programming that were largely useless but you’d see some commands here and there that you could glean information from.
Eventually got Linux and that opened up a lot for me for learning. I spent a ton of time on the command line as it felt easier to navigate and do what I wanted to achieve. Eventually that led to building kernels, debugging failed builds, etc.
I don’t remember where, but somehow I got a copy of SoftIce and figured out breakpoints and hex editing enough to “crack” my copy of LJpegViewer (I had a key on a floppy somewhere, but I lost it).
All of these little excursions led to me slowly learning more. My first IDE was notepad.exe. My next was briefly one of the slightly fancier editors with HTML highlighting. Then I found pico, and eventually vim, and that’s been my daily for about 13 years now.
A lot of my childhood was doing things I didn’t understand on my computer, often breaking things, and learning to fix them. Poking at the registry with reckless abandon or telnetting cross country because modem’s manual had a list of BBS’s, and grabbing scrap computers from my middle school’s dumpsters.
A fascination with tinkering and being able to be ok if I had to wipe my hard drive.
I went through the applications folder on my mac and opened every single one up to figure out what they did. That's how I learned to navigate the file system and discovered the Terminal app.
Read a "Linux for Dummies" at the library for a few minutes, that got me some basic commands.
I would spend hours using "cd" and "ls" to look at files, and then I would try to run them... 99% of the time nothing would happen. When I made it to /bin, I discovered a lot of things I could run.
You have to put yourself in the shoes of a 13 year old with no social media, no internet, friends he sees for a few hours 1-2x per week, and a fairly limitless amount of homework/chores to do. Whenever people weren't watching, I'd do anything to not be working on homework at the computer. That meant hundreds of hours to mess around.
Yes, I have been in similar situations, but I did have access to some Myspace hacker forums, and some gaming friends that were into this stuff to help guide me when I got stuck. At least later on.
I also got a few books at around 13... but your experience enumerating everything without a guide entirely, for so long, is quite something.
My public library system used to have their catalogue on telnet. I liked it a lot because it was a simple, direct interface where you could look stuff up. Now decades later, I bring up the site and see it loads 120kb of fonts, or more than the entire data sent and received by a typical telnet session.
Ah...I wish websites were made to be more efficient. Sad.
This was my immediate thought upon seeing the title! I used to love the library telnet server, which worked for searching, placing a hold, renewing, and even inter-library loans. There was also rudimentary full-text search of engineering journals. Today, it's a 'modern' website with tons of whitespace, non-customizable fonts, and links out to events and what not. Simplicity is such a wonderful feature and yet it's somehow completely orthogonal to modern engineering.
My public library system allowed you to telnet in, and had a limited menu-based list of destinations you could telnet OUT to... but a simple escape char allowed you an open telnet prompt to go anywhere in the world. It was my favorite (only) pivot point back in the day before I knew that term. (95-97 I'd guess).
This was very common with public libraries, I think. It was the same around here, around 1993 - 1996. Security in the earlier days of the Internet was pretty loose.
To be fair, at the time dial up was what, 56 kbps? 120 kB would take 17 seconds to transfer over that.
If taken percentually relative to the available bandwidth, most modern sites still come out far ahead I think. At 100 Mbps you'd be able to download over 200 MB in that time.
In the early 90s there was a site that sold CDs via Telnet. You'd telnet in, navigate their menu to select your CDs, and then check out. You know, give it your credit card number over Telnet as one does. Their selection was awesome compared to the standard stores of the day.
I believe it was called cdconnection.com, and then it was replaced with a more recognizable to modern eyes web based store by the mid-90s.
That's auper interesting I wonder how much e-commerce happened over telnet before the world wide web took off. Reading this though makes me want to try and build a website that uses Telnet.
As an aside I've always wondered if someone has tried building something like stripe but you can check out in your terminal.
Another one I remember was a copycat of the one I mentioned before, but specifically focused on importing CDs to the US. I remember that one because if I couldn't find one on the main site, I'd go there. I'm sure there were others, but can't remember if I was aware of any of them.
It seems absolutely bonkers now to do those kinds of transactions over telnet, but it was the early 90s so hey.
I read this and my overwhelming reaction is nostalgia for an era when you could expose a server to the internet without having to build 20 layers of defence against the worst people in the world trying to misuse it for all sorts of awful crap.
The Wish library for Go tries to provide a similar experience for the modern world (using SSH). It may be worth a look for anyone feeling nostalgic about the decline of telnet.
i'm 44 because i think the specific years i was a kid have specific context. like many, many of us here but not all or even most.
in the 80s, tools were toy quality. phone systems, cable boxes, internet protocols, all of these things were invented without concern of their abuse.
people were able to play with them. they invented future careers out of tinkering. and they invented their own playthings in the meanwhile.
think of this measurement - the ability to completely devour a random magazine: back in those days, we were not overstimulated by data. we could re-read a magazine, and all of it's ads, editorials, literally all of it - because we were starved for material. think of the deep thoughts, the creative expanse, the opportunity to sit quietly and imagine something new, when we had those pre-historic days of mass media.
i believe nostalgia is dangerous to experience but maybe that's because i agree simpler times made for easier toys and easier toys made for more creative childhood. i would not re-roll my childhood experience but i also come from tremendous luck and opportunity, getting to play with computers, tromp around unsupervised in the woods on a bmx bike, and deliver news papers as an 8 year old to half the town through my teens.
Well said. I've likened technical hobbies to Joel trying to hide memories of Clementine deeper and deeper in the recesses of his mind - away from Lacuna's eraser. Somehow when what hobbyists love to do becomes "for the masses", it becomes less interesting, which means digging deeper for hobbies that are largely shielded from the public. I think that's partially where innovation comes from.
Telnet is still an invaluable tool to connect to memcache and redis instances for debugging and quick remote management.
I still chuckle when spinning up a linux instance and trying to use telnet command only to be told it's not installed and I briefly exclaim "WHAT!" before I have to install it.
Edit: Also don't forget Gopher, which was one of the original menu based document systems before HTTP became the "norm"
I'm so old I remember in the early 70's when the ARPAnet had only a few dozen nodes, and there were free Telnet logins on most hosts -- we'd play a game (starting from HARV-10) where we'd make telnet chains to as many hosts as we could before something broke.
Could usually get 10-12 hosts going in a chain, sometimes more.
That was right before things got ugly and hosts had to shut down the well-known guest accounts due to malicious hackers.
Those were also the years that you'd send email by FTP'ing to a site and append-only writing to the tail of the user's mail file.
I used to keep a Twenex instance on the public internet (before SDF had theirs) but vulnerability scanning bots essentially DDoSed it to death, plus I got tired of some robot that kept emailing my NOC contacts about the "insecure CISCO Router" that they needed to immediately shut down. We could never get in contact with whoever was running the thing and attempts to firewall it failed because it would change IP addresses.
I was a MUDer in the 90s. After maxing my character level I applied to be a "God" with no idea what that actually meant. Turned out, I was signing up to be a MUD programmer. It was awesome. I did all my coding via a telnet connection using ED.
It was fun exploring telehack and “visiting” systems where people of worked with decades ago were still logged in... but I still use telnet today to poke at ports, or when I can’t remember curl syntax.
I don't know about more common, but certainly more appropriate. Netcat is made for sending and receiving bytes (or datagrams with the right flag).
Telnet is made for speaking the telnet protocol. The only reason some people use telnet for other things is that most other protocols have control sequences that happen to have no effect on a telnet connection.
I seem to remember that at least some TELNET clients would default to "dumb byte pipe" mode if run on some other port than 23. However, I can't find anything supporting this memory, so quite possibly I'm wrong...
From the manual of the old Linux NetKit telnet: “When connecting to ports other than the telnet port, telnet does not attempt telnet protocol negotiations.”
I was homeschooled in a heavily locked down home. Internet was effectively not allowed, and when used, only whitelisted sites permitted. Everything was tracked.
Our home work/life was strenuous. Both parents holding advanced degrees and living on a hobby farm led to ~10h a day of homework, and another ~3-4h per day of taking care of the place. Very little room for socializing/free time, and even when there was, it would usually be filled with more homework/chores.
I was around 13 the time (this would be 2010), and I'd discovered the Terminal app on the Macs we used. Toying around with it when nobody was in the room had led to some discoveries. I'd spend hours looking through the file system, when I discovered "man" and started reading the manuals for them.
This led me down the rabbit hole of learning everything I could about the world inside the command prompt, and even opening up telnet ports on other macs throughout the house and connecting to them.
Eventually, (and unfortunately I cannot remember how), I discovered that I could connect to Telehack, a BBS with real other people on it, and our internet tracking software didn't discover it.
Whenever I had any longer than a minute alone, I'd connect and talk with the people there. I learned things about the old internet, got sent places I could FTP to download books (The Cuckoo's Egg being one of them), found friends and joined their "ssh server" (where we set up custom ways of more live-chat), and I learned basic programming in Bash, Python, Ruby, and other languages. I always had to disconnect (Apple+Q) as soon as I heard footsteps.
Now I'm double the age I was then (26) and have worked full-time as a software engineer for 4 years.
Telehack changed how I talked with people, learned, and my entire career path. Thx <3