Most 16-year-olds don't have servers in their rooms
varun.ch
varun.ch
I used to have all of my services on cloud but since I got a 1G/1G home network and I found businesses decommissioning hardware and deals on local charity shops which source hardware from the landfill and give profits to charity missions, I decided to give it a go and try administering my own phisical servers. Currently running proxmox on 2 machines with one NAS and 14 spinning disks, with some Minecraft servers, personal programming projects, vulnerability scanners, telegram bots, VPSes for friends, android and MacOS building VMs, storage, some ML school projects with the recently added 1050ti, and hosting the infrastructure for my school CTF competition.
(Italy btw)
They would otherwise have had to go to the same high school.
60EUR a month is also pretty cheap for a hobby. If you can't count on your parents for even that level of support you might be better of getting emancipated.
The cost of running a PC 24/7 used to feel insignificant, but not so much any more. I've been running an old PC as a home server for years, but should probably find a more power-efficient NAS box to replace it with.
OP indicated elsewhere here that they’re trying to cover some of the costs with side projects, but €720 anually is a big bill to foot for less affluent parents.
Plus if we're talking about being poor it has two important benefits 1) excellent hours occupied to dollar spent ratio 2) engrossing hobbies typically mean they aren't out there rattling around stirring up trouble (which can get expensive in a hurry)
But if you can afford it, you absolutely should support their passions. The only reason I’m a high salaried software engineer is because my parents generously bought me a computer, allowed me to attend classes (programming in BASIC), etc.
The essay won, but my father began talking about me while I was at the computer, saying I was a zombie who wasn't part of the family anymore.
I was learning to code. I built a bunch of websites, and some projects and schemes that earned me fairly serious money in high school. I learned VB6, html, a little perl, and php, on my own, with no mentor, and an active booing.
I'm not sure my dad has ever seen or visited a website I've built (dozens, maybe over 100). I even have bespoke code deployed right now, serving him, that he does not know exists.
I still don't know why he tried to stand in my way all the time. I often think about where I'd be if I had an active supporter, like many kids have.
Have you directly asked him why he wasn't supportive? Have you been open to his perspective or just assume that you're right and he's wrong? It's easy for us programmer types to try and simulate the mind states of others to avoid difficult conversations (speaking for myself of course).
Maybe he did not try to stand in your way, but was simply worried:
"saying I was a zombie who wasn't part of the family anymore."
He was probably concerned about your familiar relationships. All relationships have an element of reciprocity. Plus he probably just missed you.
In your situation it sounds like he could have benefited by being a bit more curious and accepting.
IMHO as a parent rejecting the authencity of a child cancels out all the loving things you do because then you are not loving the child. You are loving an imaginary version of the child that only exists in your own head.
sooo many parents are guilty of this. Living through your child is unhealthy
I don't think most programmers had any, in the age of 'everyone can code' it might be different but back then, you just read a book
Doesn't matter if you're a highly paid IT professional, if they see you using a computer they assume you're being slack and have suggestions (repeatedly) on better uses for your time.
Yep, this can be very frustrating.
Source: had a 486 with 40+120Mb HDDs
(yes, these kids exist)
About the noise, my room has a small mechanical room and that's where the servers are located, the noise can't be heard from the rest of the room.
I was in a similar situation regarding storage. I ended up having to upgrade the drives for fewer bigger ones but there are other ways to reduce power consumption like putting your storage server on a timer and turning on WoL so that you can wake it up out of those hours if you need to. Obviously this is not possible if you are serving files to other users 24/7.
Fast forward a couple years, and I'm in my first semester in college. I had some advisor (no recollection whatsoever who it was) recommend that I avoid declaring a major for a semester and just take a few courses in a variety of my interests. What a life saver.
I bought my first Java book and started digging into it. It was a lot more approachable than the C book (sorry Herb!). I attended the first class and realized I'd already read past the end of what the class covered. That started a 15+ year journey (so far) on a path I thought I'd turned away from.
I still play and enjoy the guitar. But I know I'll never be better as a musician than I am as a technologist.
If my intro had just been that one Pascal book appendix that describes OO by how it actually works (lookup vtables and such) it would have been so much easier. Instead this easy thing was “hard” for me because every book couldn’t stop introing it with stupid, abstract toy examples.
Define a structure, and then add some functions for that structure. Works pretty well.
IIRC I bought a $25 C compiler, http://www.mixsoftware.com/product/powerc.htm but it only had a stack size of 6 function calls(!)
By 94 I had a 486/66 with 4MB RAM running TAMU Linux (and Windows 3.1 I guess) basically so I had access to g++ and emacs (having no money for "Turbo C++" on Windows). It was too slow, so I upgraded the RAM (spending close to $1K upgrading to the max, 32MB). Much of my career rests on what I learned about Linux on that machine.
I was mystified at first, but it was winter break and I decided I’d stick to it until made sense. I don’t remember if it took a few hours or a few days or the whole week, but when it clicked I felt so satisfied, and like I could take on anything from there. It was a really transformative moment.
I remember reading an interview with Hidetaka Miyazaki, the director of the notoriously hard Dark Souls series, where he mentions having a similar experience with playing guitar and learning bar chords - and infusing that notion of satisfaction from overcoming big difficulty humps in his games.
It’s a really powerful feeling.
Pointers, tho, pointers are just addresses in a register!
I remember being very confused for a time by C pointers as an undergrad in the late 80s - a situation that none of my teachers really helped with. Eventually I realised that they were just memory addresses, and a whole lot of confusion collapsed into a simple concept. I still remember what that felt like in my head.
Turned out that many of my peers had a similar experience, and not all of them got through it.
So I'm wondering yet again: why do people find C pointers so difficult to grok? Is it conceptual (indirection), notational (& and *, arrays as pointers, etc), or something else?
(Pre-uni I'd devoted a lot of effort to getting VIC and SID chips to do stuff with peek and poke commands, and writing some assembly language, which I reckon did me no harm when I first encountered C - even though I probably didn't immediately recognise the connections. I do wonder what the contemporary equivalent is.)
I think people need some background of computer architecture and operating systems before working with pointers, then instead of "what the heck are these addresses?" you get "oh that's how I can use all of these addresses, finally, yay, pointers" moment. If you just learn C/Cpp and related without the background, it's some magical and cumbersome feature.
For me, understanding pointers to data types was not the hard bit(int* or some_struct*), but wrapping my head around *array being a pointer to the first part of a contiguous segment of memory took a lot of time. Once that idea(and what ++array_pointer really did) settled in my head, pointers felt fairly normal to deal with.
I mean, it kind of makes sense but it's not obvious.
Herb also has a Java book ;) And it's fairly well written. Hope you give him another chance. Herbie is a nice fella
:)
When I was a 16-year-old, it would have been significantly easier for me to get a $200 home server than a $5 Digital Ocean VPS.
The online shopping service over here (Allegro, basically Amazon and eBay all in one) is perfectly happy to do pay-on-delivery for a small fee. You probably need to be 18 to sign up, but no Polish person ever actually cared about such restrictions and there's no age check.
On the other hand, cloud services require you to have a debit or credit card, which you can't get without an intervention from your parents if at all.
You can say lots of bad things about Bitcoin and crypto in general, but the youth rights angle can't be overemphasized enough.
You're not in favor of parents controlling what their kids own?
In the 80's, a kid of basically any age could go to see or rent a movie, buy a book, make purchases at a store, play an arcade game with their friends or throw some cash into a payphone and call anybody they liked, all without their parent's knowledge or permission. There were very specific things that have been decided as "age inappropriate" by a democratic process of law (although one that didn't include the kids itself), and those very specific things (like alcohol consumption or X-rated movies) were forbidden, everything else was fair game.
In the modern age, most of those things are done online, and most platforms require you to sign a contract to participate, which requires you to either be 13, 16 or 18, depending on platform and jurisdiction. Even if you get past that by lying about your age, you still need a payment method, which you can't easily get without explicit parental permission. There are exceptions, some platforms support gift cards that you can get over-the-counter, without any form of ID, but the point still stands.
You need to be 13.
>On the other hand, cloud services require you to have a debit or credit card, which you can't get without an intervention from your parents if at all.
With parental permission, a 13-year-old can open a free bank account with a debit card that works online. It's not a new thing, I had one 15 years ago.
Back in the 90s I was a minor and doing similar things, I don't think I could have explained what I was doing to my parents. Even if I had the funds, they wouldn't believe it wasn't some scam or an illegitimate thing. I think teenagers who are tinkering don't always have buy-in or understating from their parents, so getting that kind of permission can be tough.
I think I didn't have a debit card until 18. Then I got old Unix boxes on eBay.
Is the constraint the parent comment is referring to.
A lot of these basic understanding and fundamental learning experience is gone. We are not far from Front End developers that dont understanding anything about HTML and CSS but only React.
At the time it wasn’t like there was a lot of protocols in place. He could have walked up to one of a dozen people and asked for a tour on any given day and gotten it, no questions asked. Not to mention random servers sitting around the cube farm for whatever reason. He just never thought about it before that day.
I'm not surprised your team leader, if of a certain age, hasn't seen the inside of a modern server. We push our datacenters further and further out into the countryside. My annual trip to our DC was a 4 hour drive and even then it was just to do annual inventory.
However, at the time, in that office/datacenter, the barrier to entry for him would have just been asking and 2 minutes of his time (or however long he wanted to look around). The computer rooms were on the way to the bathroom. That place was all pets, no cattle, so we were constantly doing whatever it took to keep the hardware running. There was no shortage of opportunities.
I had a miserable job paying near-subsistance wages in 2012 (about $30,000/year, no health insurance, Dallas TX). I needed something a bit more powerful than my laptop to do some experiments with video encoding, but I couldn't afford a "fast" computer at the time, at least not fast enough to do what I wanted. It didn't help that I was particularly bad at saving money until I was about 25.
On a whim, I went on Craigslist and just looked up different ways of phrasing "fast cheap computer", and eventually stumbled upon "server". Upon doing so, I found that you could buy dated, but still useful rack mounted servers for basically nothing; in my case a seller was selling two rack mounted Dell servers, 16 cores each, 32GB of RAM, for about $250. I was just barely able to swing that, so I drove over, picked it up, and more or less defined the direction of my career for the next twelve years.
2. It's not easy to parallelise video rendering (not just encoding) across two machines.
https://www.ebay.com/sch/i.html?_from=R40&_nkw=z440+workstat... (sorry for the long URL, it was necessary)
https://www.amazon.com/s?k=z440+hp+workstation&s=price-asc-r...
I missed that.
(Dells have worked out for me ok, but not without having to replace backplanes and other parts immediately.)
Check out HP z440 and z840 systems on eBay (fleabay?) and Amazon.
When I read that, I assumed Dell had a line of servers I did not know about. After a few days, I doubt that that is the case.
SFP means "Small Form-Factor Pluggable" in my world. It's a connector on a NIC or on a router that lets you pick the physical media you want and then install a SFP adapter.
What did you mean to say before spell-check garbled it? Or, am I mistaken?
The bigger issues were the noise and the heat and power consumption. Not only did they take upwards of a kilowatt of power each, but being Texas I also had to take into the account the increased cost of air conditioning.
I was only bitten by that one month where my power bill was like $150 more than usual, and from that point on I was vigilant about turning the servers off between uses.
When I was in high school I (for reasons I can't really remember) ended up being given a dual P3 rack server. I ran that as my primary machine for 2 years. We called it 'the Hurricane'.
And since we were in the old dorms, nobody cared, even when one room was running A/C in the middle of (admittedly mild) winter ...
* https://en.wikipedia.org/wiki/Sun_Enterprise#Entry-level_ser...
Used to have an E450 (like the one here: https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450....), and a bunch of other, smaller stuff (workstations). Also an E220R at some point from rough memory. No idea what happened to all that old stuff.
Anyway, it was extremely useful for interview prep (aka brush up on specific skills) prior to meeting potential new clients, and also for doing general dev / packaging stuff on.
This is exactly what I didn't want when I was 16. I did have a server too, but in the HP ML form factor (less noise than the pizza boxes). Also, ECC is kind of important, and a real HW raid is a nice learning expierience.
Stuff like this, though "near the uni" would make it easier to access if/when the hardware needs a bit of adjustment. :)
* https://www.hetzner.com/colocation
Note that co-location pricing can be all over the place (from low to incredibly high), so don't get discouraged too early.
This website might be useful too, as it seems to show data centers in various countries.
* https://www.datacentermap.com/switzerland/
Might be useful for putting together a list of places to investigate. :)
Even if it uses 17W on average, the 10W difference would be $14/year at $.16/kWh electricity. Unless your electricity is significantly more expensive, it probably will never pay for itself over its useful life.
I have a small fleet of them and they're actually not that noisy or power-hungry if you 1) disable cpus 2) undervolt remaining cpus 3) write your own fan controller off of raw ipmi byte sequences
By far one of the best cost/pb mass storage solutions. I have a bunch of NUCs and SBCs too, but they're definitely suited for different purposes.
One of these days I'll buy a surplus Isilon cluster or two and truly achieve bulk storage apotheosis. Cbf fighting Ceph in my spare time as well.
Had it not been for the experience of "tinkering" with that PC and its predecessor (a ten year old 8088), I would likely have never become a software developer.
I had the honor of building a gaming PC for a neighbor kid and watched over four years as he (unbeknownst to him) became a very competent geek. A few years of tweaking settings in games to eek out a higher frame-rate, fighting with firmware updates, video card drivers, software updates and every other bit of mayhem that the words "I want to game on my PC" evoke, and you pick up a wealth of knowledge "by accident".
I hadn't talked to the kid in four years; met up with him, again, recently and I was blown away. First thing he does is pull a "Flipper Zero" out of his pocket and tells me about all of the crazy things he's done with it.
He is as capable as any systems guy I've ever talked to. He has no clue that he has this skill, either.
It was such a good experience that I opted to buy my son a decent gaming laptop to graduate him from consoles. Over the last year, the same thing has happened to him. This year, my daughter (she's two years younger) begged me to build her a desktop, so she's getting a really nice Christmas followed by a year of learning/frustration. :)
Oh, and the fam got a Flipper Zero this year, too. Can't have the neighbor kid have all the fun.
[0] I saved up the money to afford it by building computers for other people.
Now that I'm 25 years into my software career, one thing that absolutely blows me away is just how few software engineers in my teams actually own their own computers. It's less than 50% for my current team. Meanwhile, I'm the weirdo with several (gaming PC, gaming laptop PC, and general purpose MBP) in addition to my work laptop.
> It was such a good experience that I opted to buy my son a decent gaming laptop to graduate him from consoles. Over the last year, the same thing has happened to him
I went through that experience with my son as well. He's never shown great interest in being taught computer stuff, but did want to help with a PC build. Now, he's tech support for his friends.
This does lead to what can only be described as an acrimonious custody battle whenever we do layoffs. High rates of "lost" equipment returns led to us ransomwaring the things to hold their unsynced personal data hostage until they return the equipment.
Is that really worth it to get back what I would assume is on average a 3 year old laptop? Do you then re-issue this old, used gear to your new hires?
That aside, using your work equipment for personal stuff (or vice-versa) is just a really dumb idea.
In the rare case there's still a depreciable value on the books there is an additional severance payment equivalent to the final "value".
I see people say this all the time, but so far I have never seen any convincing arguments for why I should stop using my work laptop for personal use hah.
Even companies that don't necessarily want this stuff will have it forced on them by this or that auditor soon enough.
And that's just the privacy angle.
If you were to work on any personal projects on that company laptop now you have an intellectual property mess on your hands.
It depends on the device. A 3 year old M1 MBP is virtually identical to an almost brand new M2 MBP. There's no need to chuck an M1 MBP in the trash (metaphorically and literally) just because it's "3 years old".
Now if it's a 3 year old low end Intel machine then I'd be more than happy if it went away.
If we can attest that no IP left with them and the device is out of its service life, sometimes we'll let them keep it out of pity. Ironically the most frequent justification is recognizance that they don't own a computer and can't easily look for another job.
Sorry, but that's a pretty dick thing to do to someone who just got laid off, especially considering it could otherwise be a write-off.
There are other factors too-- one new challenge terminations in a WFH world present is that after HR notifies them, the employee can simply not log out and still have access to the local filesystem...and external media. Or if they slammed the lid shut in anger, they'd later log back in to Windows using cached credentials in Airplane Mode.
So employees were regaining access and exfiltrating data indiscriminately. It's been much less of a clusterfuck if we just reset the FDE key once HR is done with them, then negotiate return of specific files they identify. (Sometimes we do let them keep the laptop too, after recovering their stuff and wiping the rest.)
That sounds fine, if there is no corporate spyware inside.
> Meanwhile, I'm the weirdo with several (gaming PC, gaming laptop PC, and general purpose MBP) in addition to my work laptop.
That has more to do with gaming than with software engineering, doesn’t it.
I do use them for personal SW projects as well.
> That sounds fine,
Certainly, there's nothing "wrong" with that, but it does lead to specific scenarios, especially in cases of layoffs, where one could be in a position to not have a job or a computer to use for maintaining resumes, taking virtual interviews, etc. When I was laid off in 2022, there were several people that were panicking about that very fact.
It doesn’t make sense to own a laptop unless you will regularly use it. Quite a lot of people I know, just don’t really use one outside of their work commitments. So your home hardware sits and collects dust.
I'm 15 years into my IT career and I'm amazed at how few of my colleagues seem to care about tech. They know their way around our company's instance of ServiceNow, or whatever their specific role demands of them, but there is very little curiosity, desire & wherewithal to branch out from their little space into something new.
When I had kids all of my hobbies stopped. There is no time left for anything non-essential.
I simply no longer have the time - or frankly mental energy - for curiosity. Right now I am typing this while supervising bath time for a 3 year old.
Hang in there!
I had a friend gently remind me that the reason he can be prolific at writing music these days and i "can't seem to find the time" is because i've raised 2 and currently am raising a third, and if he had kids he wouldn't write music either. My youngest turned 7 this year. Older two are out of the house.
It's still a good foot-in-the-door role for people who still can't access education or job experience reqs for tech, but it's also now one of the roles where you can just park, work 9-5, get a better wage than retail, and not have to corral shopping carts. The tech end of internal IT support has moved more to SRE/ops roles.
Hardware company IT is marginally more interesting but it's still more interested in tagging hardware than understanding it.
I now have a lot of friends with kids and some of them are teenagers. I've had some concern in my mind for a while now - their total knowledge of tech comes down to asking for a wifi password and watching prank videos (or whatever) on an app. When you ask them what they want to do when they grow up they say "influencer"... The most technical thing they know how to do is reboot "the router" when the internet is down. The second diagnostic step is to yell that the internet is down.
They're great kids and I'm not criticizing them but I've had some concerns that there might not be anyone around to keep the lights on when our generation is gone. In our day using a computer and getting on the internet had huge barriers to entry but that came with the benefit of an explosion in tech talent.
My point is it's great to hear there are still some nerdy kids out there getting under the covers!
I mean, thinking back to the '80s, I was probably one out of maybe 3 kids in my entire class who even had a home computer, let alone knew how to do anything more than play games.
Back to the '90s, many more classmates had computers, but only a tiny, tiny few of us knew how to program and edit CONFIG.SYS and AUTOEXEC.BAT.
Back to the early 2000s, I was the only person I knew with greater than a dial-up Internet connection or who knew the difference between a local and public IP address.
99.5% have always been laypeople, and that's OK. For every 200 kids today who only know how to ask their mom for the WiFi password, there's one who is setting up a home lab, and that's enough for the world's tech needs in twenty years.
This was 1993. There was no broadband. We almost went 10-BASE2 due to cost. I remember we had a Netware server and two computers. It was kind of overkill but it was fun!
I've since sent him some suggestions :)
No video games, no PC tinkering and overlocking, no EE degree.
For other teenagers and teenagers-in-spirit to accomplish this feat:
- Search for used enterprise servers on eBay. HP, Lenovo, Dell, and Supermicro are the typical brands to choose from.
- Before purchase, find the specification docs, drivers, and firmware on the specific model to be sure it's something that's complete and usable, or can be completed for reasonable $$.
- If you plan on running XenServer or VMware ESXi to then run multiple virtual machines on it, make sure the hardware is compatible by checking the OS hardware compatibility list (HCL) before buying it.
- Avoid 1U servers because they're louder than 2U+ designs due to having to use shorter, smaller fans that spin very fast.
- Make sure the CPU is at least as fast as a computer you own, or it might be a very expensive doorstop or an oversized "Raspberry PI": https://www.cpubenchmark.net
- There is a gotcha with Dell, Lenovo, and HP servers using AMD CPUs where they are vendor locked. The plus side is sometimes sellers offer locked CPUs cheap enough that it makes sense.
- ECC RAM. Friends don't let friends drive non-ECC RAM. https://cr.yp.to/hardware/ecc.html
- SSD. Because spinning rust is for storage, not the OS. https://web.archive.org/web/20110831080738/http://buyafuckin...
- Try to get something with lights-out remote management (iLO or iDRAC) if it's already licensed.
- When received, it's probably going to be dirty and have some scratches. Open it up and clean it with compressed air outside.
- Bonus points: Convince the parental unit(s) to put a 19" patch panel and half rack in the garage. :]
I've homelabbed for a long time and have rackmounted systems full of old desktop parts, rather than buying or seeking out used server hardware. It just isn't required.
ECC RAM? Nah. It's useful if you can find it cheap and your CPU supports it but it's overstated as a problem IME.
I do agree you should buy 2U or even 3/4U equipment, if only so you can mount much larger (and thus quieter) fans.
So, while this post is cool, I wish there was less emphasis on the hardware, which is pretty irrelevant for running a Node-base app and serving it to the Internet. You also don't need a static IP—you just need to figure out dynamic DNS :).
I personally just a regular PC desktop because I need the expansion slots. But SFF PCs are amazing home servers, and have more than enough power for what you actually need.
Also don't forget laptops. They're designed from the group up to be efficient AND have a built in UPS. My home server for the longest time was an old laptop with 32 gigs of ram (back when that was a huge amount).
So I bought a 2018 Dell laptop with a messed-up screen. Now when there is downtime, the laptop stays on, connectivity goes away for a few mins (which doesn't bother me) and everything is resolved fast.
So, I suggest either your desktop+UPS, or a 5yo laptop (just make sure it's 'high-end' - for its age). I then upgrade RAMs & SSD/M2 from Crucial (I like the convenience of their app) so I end up making decent "server laptops" for under €300.
- batteries might not like being constantly charged. You might kill them, hopefully they don't swell. It might be interesting to remove the battery if you can, but then you indeed lose the feature they provide to survive power cuts.
- the disk drives are constantly parking their heads, make sure that the parking policy is ok (won't wear them to fast). Maybe less of an issue with many laptops coming with SSDs.
- some laptops just heat too much and power off too often, especially in summer.
- their hardware might end up dying quite fast.
I think I would still use an old laptop as a home server if I had suitable one, especially since it helps making such a machine useful for a longer time even when they are not quite usable for the web of today anymore (I like the reuse spirit it has), but I've found my rockpro64 (a nice single board computer) way more reliable in this role.
I guess YMMV depending on the laptop models. I can definitely imagine that a solid laptop with its battery removed can work well as a server.
I've never had any laptop die while operating like this. I only replace them when I replace my primary use laptop with something new, demoting my last primary use laptop to the server role.
I’m surprised that the Linux distributions I use don’t do this automatically but I bet it could be configured.
If I'm to believe this bug report [1], KDE actually offers throttling charge, but I suspect the Linux kernel lacks support for this kind of stuff for many laptops, maybe also because sometimes the laptop itself does not support this.
Apparently, one should be able to see these files on a supported laptop:
/sys/class/power_supply/BAT0/charge_control_start_threshold
/sys/class/power_supply/BAT0/charge_start_threshold
/sys/class/power_supply/BAT0/charge_stop_threshold
I don't have them on the HP EliteBook G6 laptop I'm currently using.But thanks for reminding me this. I was considering using an original PinePhone as a Bluetooth receiver. Unfortunately, Wifi and Bluetooth require a battery to be present in this phone and I was a bit concerned leaving it plugged in at all times. I'll need to check if the kernel the hardware and support this. Still a bit concerned that the battery will be wearing out fast, I'm afraid Bluetooth will be using the battery power even if the phone is plugged, which is a bummer.
Would be interesting to know which chipsets support it.
Does a computer with charging throttle like described draw power from battery too, or does it use the power from the plug directly?
A battery level check every five minutes should be more than enough, not a big draw from the battery for a laptop.
Frame.work laptops have a firmware setting to stop charging at 90%, to extend battery life.
I'm curious if we'll see 16GB and 32GB RAM options to make it easier to run models like Mixtral 8x7b?
The Ryzen 7840 stuff is great but even a 5800 would be fantastic. They have been getting quite cheap lately.
If you know of such a product I’m very interested. It’d make a great base for a router.
There are plenty of x86 dual and quad cores around 100-150 "dollars". They are just as bad as the new Pi. Better spend a bit more and get a much better product.
It's been running for over 6 years I think. It's only noisy for a couple minutes when starting up, then it's pretty quiet.
That would be transparent for me as a subscriber, though? I imagine the packets are routed to my cable modem based on some other identified like a MAC?
https://tailscale.com/blog/how-nat-traversal-works#concernin...
How could I reliably tell if I'm behind a CGNAT or not? If I poll one of those "what is my IP" websites, and the IP my router has assigned from the wan matches the what is my IP then I'm fine, I'm not behind one, right?
And if you can access the services using a dydns kind of thing, then you're safe, you're not behind a CGNAT as well. Only catch where you could be wrong is if you try to access from the same CGNAT network (is this how you call it?) But since the dydns is probably swing your wide internet IP that should still not work?
My layman understanding is that the WAN IP on your router will match the "what is my ip" website, but the problem is that it will also match many other people's routers.
Basically imagine your home router and NAT has been moved into the ISP and is serving thousands of end users as well as you... you can't just configure the ISP's CGNAT to forward port 80 to you alone.
I'm not sure if there is a definitive way to know if you are behind CGNAT, however its definitely the case on all mobile networks.
That's interesting. So the ISP is directing packets at the various customer routers using some other identifier than the WAN IP the router sees? MAC address or something?
HFC (Hybrid Fiber Coaxial) and FttN (Fiber to the Node) are such examples. The rest of them if you don't have a static IP or an internet routable address, use NAT (Network Address Translation) and in some even more exotic environments they use Port Address Translating (PAT), but it's been many years since I've seen PAT in any way at commercial, residential or enterprise setups in ISP space.
But PAT is quite common in the reverse and forward proxy space.
You'll get your public IP, it won't signal whether you are behind CGNAT or not.
Check your WAN, if it's in a private range then you're behind CGNAT, likely going to be 10.0.0.0/8 for most ISP's but all the other private ranges count too. Otherwise it will show a public address that matches your "whats my IP" website.
(With such internet connections you are always classified as a bot/spam with captcha services that don't understand IPv6 btw)
As a customer, you cannot influence the IPs and neither the ports that get routed through, so you have to connect to a server that you host somewhere else, just for the purpose of tunneling the traffic. So the server at home is actually a client that reconnects to the reverse proxy as there's no other way to have the open connection.
I saw a big chance for WebRTC data channels to fix exactly that, but I've given up because Google and Mozilla both put a lot of restrictions in the protocol to make it unfeasible for this use case.
And this kinda applies for most cable internet providers in Europe because RIPE ran out of IPs a long time ago. On one hand we got Daimler blocking a whole /8 subnet, and on the other hand we have ISPs that have less than 16 IPv4s. Doesn't make sense to me how this is handled tbh.
Thankfully, there are some pretty cheap VPS options out there. I actually have my homelab behind some, with the nodes running WireGuard to bypass CGNAT.
There's also a few proxy services mentioned in other comments that basically do the same.
Of course, you can also just run things "in the cloud" because the non-enterprise VPS providers come at many different price points, but at the same time it's also just really nice to put your own devices to a good use and have the data be on your own drives (hopefully with adequate backups)
It was not powerful nor did it have tons of memory or storage. But it was mine to do with as I pleased. I ran IRC bots and a web server hosting shitty Perl scripts I wrote. It was also the router (via dial-up) for the house once I got a network card for it.
I learned so much messing around on that machine. I credit my ability to exit vim to working on that machine.
I get the same kind of joy today when I build my own Linux distros. First boot always brings a smile to my face :)
If you were lucky you'd be able to escape a bad config. Messing with X11 is what taught me to use a serial console since I could connect from another machine (before I had a network) to kill the errant X server.
I bought so many damn O'Reilly books trying to master my little home Unix machine.
I learned so much and appreciate having that knowledge but I do not miss the process of learning it at all. No StackOverflow, just assholes on IRC dismissively saying "RTFM" despite the manual being terrible or non-existent. That was unless of course you were being berated for calling it X Windows because assholes have to asshole.
Sadly Google and DDG are useless now, the last time I wanted to find this story it took a lotttt of time.
https://www.remote.org/frederik/projects/railserver/history....
I think it got relatively lucky with the query, since tried a few variations, you.com and Perplexity and they all failed to find it.
All devices with CPUs can be servers. Your phone, your car...
> always connected to the network
If you speak about smartphones, they are usable because they mostly sleep most of the time and thus can last enough without being plugged to be useful. They are always connected to the network, but also in a very specific way: they are mostly waiting for a specific wake up notification from the network, while most of their hardware is actually sleeping. Being actually always fully on might also hurt their battery.
Their connection is also often unreliable. As you move, their will be disconnections. That's good enough to casually browse the web. It's fine if some page does not load, or loads slowly, occasionally.
But I suspect it's not good enough for serving a website: making this randomly fail might be less than ideal.
Many people also light putting their phones in airplane mode, or turning them off during the night.
Now, maybe we could still figure out something useful from this "always" "connected" network, with some sort of paradigm change, maybe with more asynchronicity.
NT Server was something MSFT could market to enterprise customers for big dollars. It did have meaningful tools for Active Directory and administering a Domain... but if you're a person and not an IT department, it's a safe bet that you'd end up using exactly zero of those tools.
TL;DR: they could have named it Expensive Corporate Seat Licencing Edition.
I feel like perhaps they went through awkward contortions of releasing kid glove versions of MSSQL for a while, too. At least before eventually realizing that mySQL was at least as much an existential threat as Oracle was.
You are very knowledgeable (for your coding and bug bounties) and very lucky (for the static ip, as well as understanding parents lol)!
If I did the same thing now there's a good chance I'm behind CG-NAT and it won't work at all, and a 100% chance that my public IP won't be the same in 2 months.
We've really broken the internet. Between this and the average kid using a locked-down tablet the barrier to entry is higher than ever.
This is why IPv6 needs to be available everywhere, including on mobile.
So, he cleared that up I guess.
That being said, I know some ISPs over here that will block standard ports inbound beyond SMTP when you're not behind CG-NAT. I can imagine that leading to some who are just starting giving up when they've followed all the instructions to get HTTP on port 80 working and it still doesn't work without explanation.
My point is that newbies don't know, and whilst the IP rotation problem might force some of them to learn about DNS, it will also put a bunch of people off entirely.
"Nope most 16yr olds do not in fact have servers in their room"
Or at least that's how I read it.
- Most 16 year olds don't have servers in their room
- No indeed, some have them in the cupboard under the stairs
Of course, some 16 year-olds, like Harry Potter, have their room in the cupboard under the stairs, so the logic doesn't follow implicitly.
Really glad people are still doing this! (I learned a lot from getting £5 PCs from the local dump, which now don't sell electronics and now "retro" PCs are becoming more and more expensive - I wasn't sure if this ability for kids to buy a cheap PC and tinker (which may or may not help lead to feeling comfortable moving on to running their own servers etc.)
I had _absolutely_ no idea what I was doing, but I feel like my general comfort with diving into things where I still have no idea what I'm doing started then and there.
I'm surprised no one has mentioned Raspberry Pi.
You get a decently powerful compute node, no noise, tiny footprint, for ~$100.
I'm not 16. :p
Universities love when students take initiative and build/maintain servers. My university had a student apprentice program where students provided technical expertise to departments as a work study program. And my colleague in the program had a deal with the CS department where they hosted his game server for him. Since he was learning valuable server administration skills and working with other students they approved it.
It’s an easier sell if you ask to put it in the DMZ and if there’s some benefit for other students.
Today, they are more and more locked down, everything is run by "enterprise" IT, you need to submit forms and get approvals for every new device with a public IP address, etc. Anything unknown that pops up on the network will be automatically blocked until they know what it is and who is responsible for it.
Plus electricity/internet costs, replacing broken drives, etc etc. You can get a lot of rental time out of that.
at the risk of sounding "back in my day"-ish, my first desktop as a kid was a refurbished server. i never used like its original intent, other than running xampp stack during occasional web dev.
the "server" in question was actually an OG raspberry pi, which is still in service till date. that is all i could afford with space and money, and running it completely headless from day 1 had been a rollercoaster ride.
aside: it has ironically become much harder to get hold of the latest pi despite a decade of developments.
I lived in New York City at the time and had to physically carry the server for about 20 blocks home from the train station. The entire way home I though "Man, this thing is HEAVY"
I then got home, plugged it in and realized it was LOUD. I though "I know, I'll disconnect all the fans". Turns out even with all of the fans disconnected it was still the loudest thing in the apartment.
I ended up ditching that server and just buying a refurbished small form factor HP desktop machine. That worked great, was quiet and ran find until a Hurricane Sandy related power surge fried it.
When I was 16 I read magazines about computers I couldn't afford, read Pascal code from a book that I wrote out in hand with pencil as I only had 2 hours time with a classroom computer each week, and almost died when getting a graphing calculator that could be programmed.
This is actually how I started my MSP company in the early 2000s. I was selling webspace hosted on Thinkpads with broken displays running Debian Woody (and Sarge) in a ventilated book shelf in my room.
Good times
I was...17, I think.
I added 8 1TB SSDs, and another 8 2TB spinning 2.5" drives. I had to buy a new RAID controller because the stock one wouldn't boot with all the drives in it (they are unsupported drives), and a 10gig NIC. All in for around $450.
It was electrically equivalent to a bitcoin miner.
I learned so much from the experience. If I was a kid today, I'm not sure I'd run a server in my home, though. For as much as I learned, there's far more that you can do and learn running code on other people's computers. I spent so much time trying to get the thing to just _run_ in the first place that I missed out on learning and doing a lot of the things that having the damn thing in the first place would have enabled.
For two years, I taught a class of high school students how to make websites. We used Glitch, and I'm still consistently amazed at how much you can do with very little to get started. I can only wonder what I'd have created if I had what kids today have.
Hah! Me at 13 was precisely the same, though with Windows XP Pro that I suspected wasn't entirely legitimate but the seller didn't say and I didn't ask.
That old thing ran so well for its low specs, it was crazy, I was really surprised how little you needed to run nongraphical software such as a web server, ftp server, database, email, dns, torrents, vnc, samba, openarena game server... I'm probably forgetting things. The only thing it didn't run was Minecraft, it didn't launch even with everything else shut down. Oh yeah, and the game server didn't have the best ping, but that might have been the 10 megabit expansion card as network adapter.
Can encourage anyone to buy a second-hand system if you find it fun to self host! Especially a laptop (with the battery removed for fire risk) uses very little energy compared to old desktops, or a raspberry pi (alternative) is also an option nowadays.
Seems to me like University would be wasted time. You’re well on your way. If you can configure reverse proxies on nginx, host node apps, route ssh, and keep uptime - there’s a job for you today…
Do university on the side if you really want the paper but you already possess the skills to succeed. The insatiable desire to learn.
Best of luck my friend.
There are other good reasons for uni, like social and networking opportunities (doing a startup with like-minded students, maybe exploring the uni party life, learning how research is done...).
None of the reasons are worth going into debt for though. You do indeed already have the skills needed to get a good job in the field. Uni is an option for you but definitely not a requirement.
Feel free to go for a study field which is tangential to your interests (e.g. UX design, business...). Maybe you won't be doing any of that for a living but it's one of the best opportunities you get to learn how people you will end up working with talk and think. You can certainly learn the stuff you major in on your own.
I was simply suggesting that one already has the skills to go work and make a pretty handsome salary doing what they are doing while learning what they want to learn.
It’s a whole lot easier to fund a woodworking shop when you have money. It’s a whole lot easier to experiment with 3D printing when you have money. You see what I’m getting at. It’s not the ends, it’s the means.
There is no alternative for learning to the structured environment provided by a good university.
You are right though that there’s a huge difference between doing something as a hobby vs as a job. If you don’t have a passion for it, it will feel like every other job. No matter what you are doing. However, hard work and discipline are good traits to start early so I’m still in the camp of “Go and work and make money instead of go into debt to learn”.
>” There is no alternative for learning to the structured environment provided by a good university.”
We can agree to disagree. I found the R&D lab of some of the companies I worked for far surpassed what my peers were doing in their labs.
I started at 7, started selling code at 16 and now I'm Head of Software Engineering - we are in one of the last professional fields where merit can make up for not having a degree - would have liked to get one but it was never on the cards for me at the time (though get the degree if you can :) - it helps).
join a band and create art.
You will have a ton of time to learn to code and build servers.
I was one of these early bloomers for being a programmer, and you know where it got me?
The same fucking place as all of the other people who started in their mid 20s. Its a waste of time.
Well... I make hundreds of thousands of dollars and have a stable career and I mostly like my job... BUT! My point stands.
There are absolutely diminishing returns for being a "good" programmer, and then it opens up to social stuff. Being able to impress someone with your paintings. Being able to both implement and design a page. Being able to jam with your co-workers after work every once in a while.
If anything focus on school and drill math as hard as you can, it is a HUGE hill to climb later in life.
To your point about diminishing returns in technical skills vs social skills, as a senior engineer, I completely agree, but I have the opposite takeaway! I love to build at home and expand my knowledge of pure computing, because it’s a love of mine that I don’t actually get to do much of at work.
I just deeply regret my mis-spent youth expecting a pot of gold at the end of a rainbow that was not there
Here's a kid who's found something he's passionate about and loves what he's doing and all you can do is say "get a life".
We rarely get to pick what we're passionate about. We go through life and, if we're lucky, we stumble upon something that piques our interest. We don't pick when that happens either. You could find your passion when you're 7 or when you're 70, or anywhere in between. It could be technology, cooking, baking, art, music, gardening, exercise, a sport, or any other thing on an endless list.
People who are passionate about something, anything, are the most interesting people to talk to.
We have a limited amount of time on earth. Simulating a low-level office job in some of your peak years of neuroplasticity isn't as romantic to me as it is to you.
My closest friends are the ones I share similar hobbies and interests with. We have more in common and lots to talk about. Growing up I had very little in common with my friends and other than hanging out and drinking together we didn’t have anything else. Those friendships didn’t last very long.
When I was in high school in the 90s, I did consulting gigs until I was able to buy a 486 laptop. I was then the only kid in my entire 1200 person high school with a laptop, period.
So, let's do some terrible math and assume that about one in a thousand teens in the 90s had servers in their rooms. 30ish years later, I'm willing to be it's more like one in fourty to sixty.
Even 1-2% of a population represents a lot of individual 16-year-olds with servers in their rooms.
What's really wild is that today they can find each other easily. You're not limited by folks you can reach via FIDOnet.
..but some have mainframes [1].
The electricity cost of this is almost certainly at best $20+ per month.
While there is a cool factor here, that is the main benefit. If you can scrape together enough money for a server, you can get a cash card and sign up for several years of a $5mo VPS. The VPS will probably teach you a whole lot more real knowledge than a home server due to it tackling many of the real world problems that come up in tech.
I'm curious why you think this. Plenty of jobs are around that involve physical disks, RAID, SANs, etc. Plenty more require knowledge of on-site networks or hypervisors. There are many, many things you can't do on a VPS or similar.
I could be wrong but I don't think there is a bright future in it. I would not recommend it to anyone except for a hobby. Like I said though sometimes the cool/wonder factor is the benefit to get a person interested in something though.
It is easy to lock yourself out of a remote server, at least for junior people. When you have to think about those things you learn to plan and think things through before you act.
The story of the mid sized SV company moving back to hardware is becoming more and more common. Outside of that US tech bubble, millions of companies still use data centres regularly.
Now if you're providing advice to someone in the US tech industry around the SV area (West I think?) maybe that's valid, but thee are many countries and millions of companies where those skills are useful. The OP is in Sweden, where that may or may not reflect your experience.
It took me a long time to get internet access because my dad spent a lot of time on the phone, and I could only dialup at really short intervals which were better for BBSing. I was in university before I really had a chance to internet.
Edit: found one example: https://boingboing.net/2020/08/14/lack-rack-ikeas-cheapest-t...
(also, it took me too long to realize how close their name is to /var/run which made me smile when I thought of it)
It definitely impressed a few people, but was horribly slow. Later on I learned about SSH, and used that for all my remote management.
1) Set a goal (e.g. host a Minecraft server for your friends)
2) Spend all your free time trying to achieve it
3) Go to 1)
But learning the basics of setting up a server isn't that hard. One of my first jobs involved a lot of similar work, and I had never touched a server in my life - purely a coder prior to that. Literally my first task was to go down to the server room, install a new server, and install Ubuntu server on it, and set up the server. Took me a week to get that done.
It's cause I wanted a Linux box to host Minecraft servers on, that didn't take up resources on my main computer. It ended up serving the purpose rather well.
I encourage everyone to run their own services. Some stuff I've run * Social Media automation with Puppetter * Smokeping network monitoring * Flan for network security scanning * PiHOle / AdGuard DNS Home blockers
Get a Pi, a NUC or Beelink Mini PC for ~ $50-$150 and you can run a dozen VMs or docker images.
Is that your blog?
You will likely find very few non-16 year olds doing that either. Locally I mean. I’m sure that at least five in this site do :-)
I used MongoDB from the start, but I'm beginning to regret that - It's getting hard to maintain relational consistency and ensure all the data going in the DB matches the same shape as the site scales. Maybe it's time to migrate to Postgres.
I mix up a few things from the rest of the world for my site - comments are nested like Reddit/HN, and posts/comments are rich text limited HTML like a blog. There's a really minimal algorithm that's relatively hard to mess with: chronological feed from people you follow, and a seperate Explore page with top users and trending posts (based on the recent likes)
Profiles have seperate 'walls' from posts so they basically have little comment sections for people to use.
The new site also has profile customization so people can change the accent colour that their posts and profiles appear as in other people's feeds, and there's little widgets to customize profile 'Sidebars'.
It's nice to have a little quiet place seperate from the rest of the world, with its own ecosystem of clients, tools, bots, etc. (actually this year somebody made a Spotify Wrapped style recap website using the API!).
It's mostly tailored to my use case but it should run fine in most environments.
I visited the top file sharer and he had a rack in his dorm room too, looked just like that
kind of funny for 18 year olds
I think you will like university
Thanks for the concern though.
Great job in getting so stuck in and teaching yourself so much, it took me until 26 to get to where you're at now!
Around the year 1999, I was fortunate to literally have access to my Mom's basement with adequate power and a dedicated DSL modem with a static IP. Which was a total stroke of luck, that a small Seattle ISP called Speakeasy was willing to set that up, even though I was all the way in a suburb of New York. I guess I was part of their "nationwide expansion plan."
I was 15. Once the house got this static IP and a fast enough uplink (I remember it being 1.5 Mbps down and 768 Kbps up -- that was enough!) ... I felt compelled to make good use of it. So I would cycle through old desktop PCs and use them as servers.
In 2004, I was away at college but still had access to that wired basement. Using some money from summer jobs and odd jobs during the school year, I bought a 1U rackmount server off eBay to store there as a Linux server, and this let me set up a small array of hard drives in it. The static IP let me do remote development via SSH as if that basement were a colo. My biggest issue is that I had no monitoring for power and WAN uplink.
I still have a record of the specs: Intel Entry Server Platform, P4 2.8Ghz, 1GB of RAM, two SATA hard disk slots, and built-in dual-NIC (one 100Mbps and one 1000Mbps), which I managed to get for around $600. I then managed to find two 250GB drives to put in there. I ended up using that server as my web development platform from 2004-2009.
I also remember one summer where I did remote development over the LAN on that server, working from my desktop development machine (also Linux) via the 1000 Mbps local LAN port, which felt like living in the future. I was using sshfs and NFS and the like to test code directly on the web server and turn over web app releases to the client for review. This was 2005.
After which I eventually found cheap colo and cloud options. Funny enough that static IP DSL line was in my Mom's house until she sold it in 2012. Thanks for all the fish, Speakeasy!
p.s. there's this fascinating 2002 article still available describing Speakeasy and giving a little vignette of late 1990s Dotcom 1.0 history, where people who ran a popular internet cafe in Seattle could fancy themselves telecom executives! https://archive.seattletimes.com/archive/?date=20020703&slug...
I remember being being 18, making my first websites using the LAMP stack and not understanding why my friends were unable to access them from their homes. I knew the basic workings of the IP protocol, but hadn't read about NAT, and the responses online talked about "public and private IP addresses", which made no sense to me -- "Aren't all IP addresses supposed to be public? Isn't that how the protocol works?"
Even after learning about how NAT works, I had no way to work around it, as my ISP blocked the router's web interface and I was unable to do port forwarding.
I would bet that there are at least dozens of millions of people that didn't pursue a career in IT because of NAT. We should ask ourselves if collectively allowing NAT to be what it is was a good decision in the first place.
In the United States my entire life I have always been able to port forward when necessary, though I've only been on two or maybe three providers. I also would help friends in middle and high school port forward so we could connect to their game servers. Many providers seem to try to make it as hard as possible, attempting to lock down the interface behind a web panel. This can typically be bypassed by finding the real panel address locally or by getting a new router that isn't locked down. Growing up it was extremely easy, my provider didn't try to make it difficult, but now there is often a barrier to entry for people who desire to casually tinker with their network setup, which is unfortunate.
We just switched to Metronet last month (5gbps symmetrical!), and while we have to pay $10/month to get a public static IP (CGNAT otherwise), they didn't care what was connected to the ONT, which operates below the IP layer.
I ‘member.
The other reply mentions Funnel, which I think fits the use case better.
> Even after learning about how NAT works, I had no way to work around it, as my ISP blocked the router's web interface and I was unable to do port forwarding.
Well this is Hacker News, you replace the router with your own.
I have yet to encounter a residential wireline ISP in the US or Europe where using your own router is not a possibility. Even those that implemented 802.1x or similar I have been able to either deal with directly or work around. Not saying there don’t exist counterexamples but I would assume using an alternative router +/- MITM the old one would have been viable.
Of course if the ISP was firewalling (likely) then you have a different problem.
This isn’t really a NAT issue. More of a specific ISP policy issue. (NAT and ipv4 have nothing to do with it, they can just as easily port block inbound 80/443 on ipv6.)
The argument boils down to: My ISP locked down the admin page on my rented router ergo NAT is evil. It’s not terribly sensible.
At least until the 10G fiber upgrade happens, Sonic has given me a static IPv4 address for a decade.
That doesn’t mean most getting online today in Asia or Africa basically have a choice other than CGNAT IPv4 and IPv6 from their ISP. Your own dynamically assigned IPv4 is a relative luxury.
My current IP hasn't changed in years but I need to pony up if I want them to guarantee it forever.
Yes, but it's only for grandfathered DSL.
https://help.sonic.com/hc/en-us/articles/360009880293-Static...
It's not the default choice (most people don't need one), but people that do need a static IP can get one.
As a kid I didn’t get it either but would port forward, run a vpn server, reverse proxy, and so on. It was a good learning experience trying to get my friends to install vpn clients!
... to companies like IPXO that are trying to acquire, rent, and treat IPv4 addresses like speculative real estate.
Right, but then ISPs and hosting providers would have to have supported ipv6 10 years ago (or even earlier) when we ran out. Customers were already demanding multiple devices on their wifi 20 years ago, and without NAT, ipv6 would have been necessary.
With NAT, you can't do p2p or self hosting. Without it, you couldn't use centralized services either.
And for those that say "but security!", firewalls are a thing, and need be no more complicated than NAT.
They were cool though and everybody was helpful, learned a lot that night. IRC was so awesome in the 90s.
There is no doubt that is an extreme advantage. When I started college in the late 90s an upperclassman was in my dorm for a party and saw a trophy i had from a USFirst robotics competition in HS, he invited me to join an organization he was in that built autonomous robots (we called them "vehicles") for a competition. In that lab, we had network drops and static IPs on the schools inet connection. The lab's admin knew the DNS guys and so we could run whatever we wanted on a fast internet connection with access to our own hostnames. At this time Linux, Apache, PHP and MySQL were just starting to take off. That lab and inet opportunity convinced me to change my major to CS and kickstarted my whole career.
edit: that "lab" was really just an unused room in a random building with some desks and hand tools like screwdrivers and stuff to work on our robots. ..but it had rj45 plugs :)
If you showed any interest in computing, other geeks would take you with open arms (mostly) versus now where everyone and their dog wants in on the ground floor.
Depending on the year this was it was a pretty easy Google to learn to traverse nat, and use dynamic dns, or do port forwarding, even out to a Linode
Many ISPs do include a router in their modem with some wifi.
It’s often limited in some capacity in real worth use which lets customers over pay and undercover speed and be open to upgrading to a faster plan.
I can't tell if you're being elitist because your defacto position is that everyone who uses the Internet has to be a cyber security expert, or if you're just being obtuse because a couple of Google searches will usually set you straight on setting up port forwarding through your router.
Now with NAT we need to be disable UPnP, and deal with "NAT types" on gaming consoles. Or Nintendo Switches breaking your LAN because Nintendo tells you to put your switch into the DMZ: https://en-americas-support.nintendo.com/app/answers/detail/...
Because of NAT, we now need to deal with firewalls _and_ port forwarding. Plus, because of https://www.armis.com/research/nat-slipstreaming-v2-0/, your IPv4 firewall is practically disabled _because_ of NAT workarounds embedded into your router. You can pick between having a firewall on IPv4 or allowing WebRTC on any of your devices.
I know gaming consoles can be a pain with NAT, but is that NAT's fault? That link you pasted about the Nintendo Switch is literally just an article about setting up port forwarding.
And that NAT slipstreaming issue is just a vulnerability caused by complicated protocols. Saying that a fundamental network technology is bad because its implementation is flawed doesn't make sense. I guess we should throw away x86-64 because Intel Skylake processors had side channel vulnerabilities.
The consoles are a common and obvious downside of using NAT. The Nintendo Switch article is an example of the stupid workarounds vendors will require because of NAT. None of these issues existed if we used IPv4 as it was designed.
The issue behind NAT slipstreaming isn't that the protocols are too complex. They work fine on IPv6 and they worked fine on IPv4 without NAT. The issue is that NAT requires hacky workarounds to do normal networking. The ALG vulnerabilities can be fixed, but fixing them wouldn't be necessary if NAT wasn't such a hack.
NAT was a necessity when it was being introduced, so I don't understand the complaints. Sure it's annoying, but what was the alternative?
I don't think anyone was dissuaded from IT because of NAT. Heck, if anything, learning how to configure it might have been some people's first step into learning about networking and then getting into it as a career!
And let's not forget that NAT served as a default firewall that did more than any anti-virus to protect PC's from malware.
IPv6
When you're running out of addresses, you need a workable solution at the moment.
Not something that requires all networking equipment worldwide to be replaced with a new standard all at once, with is a practical impossibility.
Being half-replaced or even mostly-replaced gets you nowhere in terms of NAT removal.
ISPs charge for public IP addresses. Do you want to be charged for a large enough block of public IP addresses to cover every networked device in your house? Because that's what you get when you don't use NAT. And if it weren't for NAT, the Internet would be running out of IPv4 addresses (it already is, sort of), so you'd either deal with much higher prices for IPv4 addresses, or you'd have to learn IPv6, which is WAY harder than dealing with port forwarding through an IPv4 NAT.
Not to mention the premium you'd pay for a router with an actual firewall, and you had better make sure you understand the firewall. Port forwarding on a working router is generally a lot easier than a firewall.
If it was really impossible to set up inbound connections to your server, it was either a problem with the router or a problem with your ISP.
For the sake of running a home server from a network not behind a NAT router, you don’t need to understand much more about IPv6 than how to copy&paste an address.
Because NAT allows them to.
> Do you want to be charged for a large enough block of public IP addresses to cover every networked device in your house?
Yes.
> or you'd have to learn IPv6, which is WAY harder than dealing with port forwarding through an IPv4 NAT.
Back in 2005, maybe. Now, it works out of the box, either through SLAAC or DHCPv6.
> Not to mention the premium you'd pay for a router with an actual firewall
In 2005, maybe. Today, $10 routers off AliExpress have a firewall, probably set to "deny incoming" by default.
> Port forwarding on a working router is generally a lot easier than a firewall.
I know for a fact that the routers of at least two ISPs use the exact same page for port forwarding and the firewall. You don't enter iptables commands, you specify a list of ports that you want to be open for a specific address, except now you don't need to differentiate between "source port" and "destination port".
> Because NAT allows them to.
NAT increases the available supply of IPv4 addresses, it makes them cheaper.
>> Do you want to be charged for a large enough block of public IP addresses to cover every networked device in your house?
> Yes.
You can actually just go out and buy a block of IPv4. https://auctions.ipv4.global/
Everything, for better and worse (mostly worse) is connected to the internet nowadays. Your watch. Your dishwasher. Your TV. Your light switches. These devices are all comically insecure but because they can't accept outside connections because of NAT it's not such a big deal. IPv4 limitations make outbound connectivity easy but incoming connectivity hard. This is what you want 99% of the time.
Wherever NAT is enabled now, a statefull firewall is a better solution. Thankfully, this is the default wherever IPv6 is rolled out to consumers.
Nintendo is a shit company that treats their customer base like bitches yet gets a tremendous steady amount of good will solely due to nostalgia. I'm the last to want to defend the challenges that NAT brings, but blaming it due to some rando corporation's asshattery is silly. Luckily, or not, their documentation is wrong, you almost never have to blanket port forward all UDP ports for the Switch.
The GP point still stands as well. If you have a firewall set to block inbound by default (typical) you have the same basic port-forwarding bootstrapping/configuration problem. Also, the reasons you would absolutely need whatismyipaddress.com or similar apply to both v4 and v6. If you're configuring your router anyway you can get the v4 address.
Also, an application can use upnp to configure your router/firewall to allow traffic. You could do that with NAT too I suppose if ISPs allowed that, but you'd be contending with other users if you wanted a specific port like 80.
In order to get some context and knowledge of History.
This is the weirdest thing in your story. Your ISP disallowed you from configuring your router? I've never heard of such a thing, and it certainly sounds ... suspicious. You should be able to get to your own router without even connecting to the internet. Your ISP should never even know when you're connecting to your router. I commonly hit my router's admin page when my internet is down to figure out whether it's my computer or my external connection.
Why would your ISP want to hire so many extra people to nanny all their customer's routers for them? Are you sure this wasn't an excuse from your parents who installed parental controls on it or something?
Abstractions are comfortable, but they might reduce the number of techie teenagers like OP in the future, and that worries me a lot
What’s going to kill billions is the lack of industrialized farming productivity, but you don’t expect every individual to know how to resolve that
It will certainly switch diets and most probably cause hunger and malnutrition for some time. But we can support billions of people, given the right diets. We cannot support billions of people's mcnuggets, beef burgers or cornflakes with milk. About a third of my food comes from stuff I make, grow and harvest myself. I can up that, if I need, but preparing, growing and harvesting are a hobby, not a full-time endeavor. I'm certain I can't up it to 100%. Maybe not even 50%. But some neighbor, friends and family can help out (and I them) and I'm certain with some ~100 people we could be self-sufficient. Sober, sure. But not dead.
(I would die from lack of insulin within months, though. TII. So I am aware of how dependent on industry and high tech I am)
1/3rd of value or flavour is relatively easy. 1/3rd of protein or calories is a lot harder.
Need those mechanized 2000ac farms growing corn, canola or wheat to supplement the homegrown tomatoes/potatoes/peppers/herbs/apples. But it’s impressive what can be done with a somewhat small backyard in terms of value/flavour and not a lot of effort.
Depends on the local deer population.
Only slightly kidding. They reproduce quickly and are currently plentiful. Overabundant, even, in the central US.
Get something else to do the work can accomplish a lot. As could fishing depending on where you are.
My tiny lot brought me all the potatoes, corn, beans and pumpkin I need and some more. Our five walnut trees, shared with 12+ households, produce some more protein.
I obviously still buy rice and a lot of wheat and rye meal to bake my bread and pizza and to make pasta.
My point was that I don't need the large industrialized food industry to feed myself. My point was not that I can do without a society with specialized and efficient food production.
If that link in our global industrial chain breaks, a lot of people will die. We can, of course, still grow food, but not anywhere near as much and it will take a lot more care and attention to not deplete all available soil in a generation or two.
In a hypothetical apocalyptic scenario, we might lose a lot of institutional knowledge about agriculture. It's not hard to imagine some average joes trying to farm the wrong way and accidentally starting another Dust Bowl. After all, that's how it happened the first time.
Feeding 8 billion people is so, so much more complicated than just putting some plants in the ground. That we can do it at all is an absolute miracle of technology. We simply could not do it with only naturally available resources. Not by a long shot.
If everyone stops eating meat, and starts eating the proteins themselves, we win some 1000% to 25000% (sources range from 10 to 25x the proteins in/output when producing meat). Meat is just a terribly inefficient way to produce proteins. (Edit: to be clear, "meat" differs a lot: chicken apparently being rather efficient, more even than cheese, beef being amongst the worst).
And if then the resulting food sources are grown efficient, and all, or a lot of waste can be eliminated by shortening supply chains, sourcing JIT (no avocado's in winter in Europe, no tomatoes in snow), I'm pretty sure we'll get a long way.
But, sure. If some rich countries keep demanding giant portions of global protein in e.g. soybeans and corn to feed cattle to make burgers for 7 meals a week, then certainly: people in countries who cannot afford to compete with the soy-prices will starve.
We’ve settled on a system of markets to deal with scarcity. I believe the 1,000% to 25,000% win might have some losers you’re not telling me about.
And, no surprise, this isn't a free market at all. At least in Europe, meat, dairy (and on lesser extent crops) are heavily subsidised.
https://ourworldindata.org/grapher/feed-required-to-produce-... has a quick overview. My numbers aren't wrong, but, as always, they do need context (i.e. not all input is currently human consumable. Oos, many input is grass, which is rather ineffective land-use, i.e. the same km² could produce a multitude of human edible foods)
When i'll leave for family home later, i'll take my laptop with me. My family is big, so the chances are high that i'll need to run some ADB or photorec on a SD card. I hate it[1]. There is some knowledge/reliability deficit with computers that houses/heatings/food aquisition dont have.
There is something to be said about the dead simple ways of things for sure, and all depending on object/item but a "sweet spot" where something is pretty darn efficient yet not overly complex.
Our endless forwards towards "the most efficient" everything always carries consequences. People / society included.
At our current rate of consolidation and specialization we're going to get to the point where so few people know how to do particular high tech things we may be at risk of someone taking those people out and leaving a massive capability hole across multiple industries.
Or just burnout, changing jobs or them leaving tech alltogether. I'd argue that many companies are already incapable of keeping their tech stack running as intended due to knowledge deficits.
i keep thinking about how we don't actually need 95% of the code running at my job to actually accomplish my company's goals. it's insane how we just kept going with the flow while features and maintenance effort exploded.
that said, anyone know how well the BSD's work as a desktop operating system? mostly worried about hardware i guess, since it's already an issue on linux from time to time. but man the linux ecosystem, while wonderful, suffers from massive complexity too, or at least it looks more and more like it the longer i use it.
Plant seeds
Water
Sunlight
Pick weeds
Wait
Growing food is much harder than that.
Growing a few tomatoes or something is easy. But growing enough food to sustain yourself and your family is much more involved and requires a lot of training and experience.
Most people could likely do it. But it would take them 3-5 years of failures before they could reliably grow enough food for themselves. Probably more on the scale of a whole family.
Besides plants, you could have animals, and get milk and meat from them. Chickens for eggs and meat too.
It doesn't take too much land for it in my opinion. And if you live in a community that does that sort of thing, you could trade meat for tomatoes, and vice versa, or whatever, without relying on megacorps to give you your calories
Localism is the way
[1]https://www.statista.com/statistics/183648/average-size-of-h...
https://www.google.com/search?q=how+much+land+is+needed+to+f...
None of them I found credibly suggested less than an acre per person.
Check out the famous book, “Five Acres And Independence”. That was the basic size of a family farm in the USA a hundred years ago.
He asked what I was doing and I said, “making a website”. He asked, reasonably, how do you do that?
Not wanting to get into details I said “it’s just writing some files that chrome can then read”. He asked, “what’s a file”?
I told him, but I was floored. He’s not every kid, but it’s had me thinking about how younger folks (I’m 38) will see computers.
Does it include bundles of files?
What metadata does it include?
Can it exist in more than one place? When a file is opened, is the file what is in processor and cache/RAM or what gets serialized to some persistent media?
Metaphorically, is a file a sheet of paper or folded tan cardstock that holds many sheets of paper?
Is a file unitary or can it contain other files? Is a directory a file? Is a link? Is a device a file?
Is defining something as an "abstraction" the same as saying you can't provide a definition?
Since you are a driver worker, do you consider something a file before it is written to a filesystem?
If you're not used to thinking in terms of files, it just looks like a list of your most recent documents, with a search bar to find anything else.
Source: was until recently a classroom teacher for 7-10 year olds.
As for attachments on emails, they don't (even for a 100% online highschool). To turn in a paper they can just hit "share" and select their teacher.
Files and filesystems are almost dead to them. There is a little hope... My son googled to learn why a game was going slow and answers indicated he should delete the temp files. That was his first experience needing the file explorer.
As someone who grew up with DOS and turned in CS homework on a floppy disk, it is almost hard to watch.
(Cue Doctorow links to enshittification and war on general purpose computering.)
It's a whole different thing to use an abstraction in order to make something understandable and to just handwave everything technical about it. It's not just a different thing.
Our abstractions are out of date.
I managed my own file system by writing down tape counter numbers on the cardboard cover of the cassette tape.
I'm not saying being a sadist and give the kid a second hand laptop with *BSD because then the kid will want nothing to do with computers, especially if the laptop is cheap and doesn't have a working driver support (This is where Linux is better from my personal experience).
This is also why I like HTML, I got a free internet CD with Netscape Navigator in 1996 when I was 12 and the three working examples (two with Netscape Navigator and one was a html email with Netscape Mail and News client) I had, I was able to play around with and create and learn basic HTML until I got a modem in 1998.
It's plausible that parents may just want their children to enjoy some leisure? To not feel like every experience in childhood should be preparation for labour?
"Hey I just got the new counterstrike!"
"Oh that's awesome! I have that too! We should play sometime!"
"Yea what's your PS5 handle?"
"My what?"
"You don't have a PS5?"
"Nah I have a PC"
and yea.....
That is my anecdotal experience though, and it was always bolstered by the benefits of PC gaming - cheaper games, ample mods, lots of sales, and the biggest game library of any platform. Plus better performance. And I could text chat on my keyboard while playing Quake 3 back then haha. Sadly text chat in games has died off as an art, in favor of voice chat and all the problems voice chat comes with. lol.
Edit: And of course, the PC is a tool, the game console is just a dumb appliance.
When I was young Minecraft forcefully evangelized my friend group, which had previously been more nintendo/xbox, into PC gamers. The origins of a lot of my current interests and career go back to the initial questions of: Why is minecraft running at low FPS? How do I set up a minecraft server? It's a little different nowadays, when some of the biggest multiplayer titles are cross-platform.
I never had much time for consoles and I don’t feel like I missed out on much. Popular games come and go. The joy of doing whatever I can imagine with my PC is more than enough consolation.
Actually, playing video games is an activity that let you practice real-time thinking. Other activities with real-time thinking include music instruments, sports and social interactions. By real-time thinking, I mean an activity that requires you to think and act within short timelapses. It appears also that activities involving real-time thinking can be quite fun, and few course in schools involve real-time thinking.
Now, learning new languages like html or how to fine-tune LLM can be quite fun. Learning how to draw nice pictures, or how to write nice books can be quite fun too. It's nice to let children explore different activities (or free internet CD if we speak about 1996) so that they can find the ones that resonate with their inner motivations.
But you know what got me interested in computers to begin with? My Super Nintendo (and I guess my NES before that). So I rebuke the idea that video game consoles don’t teach transferable skills (what the fuck that is supposed to mean) and that they don’t unlock wonder and excitement about technology in lots and lots of people, especially kids.
Computer file: https://en.wikipedia.org/wiki/Computer_file
File system: https://en.wikipedia.org/wiki/File_system
The kid at least asks questions!
IT parents show their kids what an OS is, what a File Explorer is, etc. Perhaps it's useless, but it sheds a light on that's behind those curtains, and kids start understanding the mechanics of 'stuff'.
Then again, a Gen Z software developer at the company I work at was confused on how to download a torrent (not that it matters but the contents of the torrent were legal.) That was at least a bit of a shock for me, as it's difficult for me to imagine someone getting into tech without having gone through the usual piracy phase (that phase lasting shorter or longer depending on the person.)
They’re not marketed as a computer.
No, those abstractions are invisible.
Most teenagers simply don't understand that a phone and a tablet and a desktop and a laptop and a cloud server are all computers. They don't understand that an app and a web page and that thing you install on a desktop are all programs.
As soon as you educate them such that those abstractions become visible, the questions start to flow naturally.
The entry barrier got so much lower with learning overall.
Humans just don't care in avg how shit works.
His father, my son, earns a pretty good living writing code (and now managing a group that does this) and should be highly motivated to assist with motivation.
I gave my granddaughter (strictly speaking, my wife's grand daughter, but she calls me granddad and always has. She also now has a sister) a laptop running Ubuntu at the start of the first covid lock down in the UK.
She still uses it. Mostly to watch crap on Youtube, I gather, but who am I to judge? It is tethered to my home router via OpenVPN and I patch it from time to time. I have an ISO27000 registration to keep on top of 8)
That laptop was a customer cast off, destined for the skip.
“Take their phones away and get ‘em on Windows 98.”
That seems unnecessarily cruel though.
Having a server for your own use from within the home network is fine.
See https://darknetdiaries.com/transcript/86/ for details.
I am not permitted to name this former employer because this would allow hackers to create targeted phishing emails and social engineering attacks against other people working there.
The router public IP requirement in particular is an impossible one. You don't control what address your ISP gives you. No checklist is going to have an item for some random unaffiliated third party. They might be stupid, but not that stupid.
But here is some fun fact: when I was working at poultry plant (well, chickens laid eggs) I had a clause within contract that I cannot have my own chickens... I guess because of increased risk to introduce diseases for the plant chickens?!