Web apps are not programming but dependency management these days.
Making a private tribal bubble online is easier than ever. ooh he said the quiet part out loud
Web apps are not programming but dependency management these days.
Making a private tribal bubble online is easier than ever. ooh he said the quiet part out loud
People might not like social media, but the ability to discover content on there and keep track of it is just lightyears ahead of the regular old Web.
Another big problem is the permanence of the content. Hosting your own content today is easy. Ensuring that it is still online 20 years from now is hard. Worse yet, even if you maintain your site, URLs still change over time, links break. An IndieWeb build with regular Web tools is just going to be a lot of 404 and "DNS address could not be found".
We've been there, done that. It doesn't work. There is no point in trying to repeat it without some key innovation.
Which is fine, but means it isn't a one-stop-shop for indie sites.
The main problem is harassment, spam, maintenance & op cost and DDoS
Those are legit operational issue to deal with but he was speaking more to product pain points, things that will motivate a customer.
Maintenance is not a problem. Most of the supposed maintenance burden of self-hosting a website is FUD from cloud-provider marketing.
Like I spend probably like 60 minutes a month on maintenance, and I operate a dang search engine on my server. Sure I'm not getting five nines, but who cares. (There is additional operational work, but that's orthogonal to how and where its hosted)
Ever tried to host and then years later upgrade an indie wordpress site? It's painful for semi-technical people.
I was suggesting a change in social norms not technical.
There’s no reason I need all the engineering of Facebook to directly share with a few friends and family. And having seen one social site after another fill up with more noise than signal, there’s little value in engineering sorting algorithms that attempt to preserve context rummaging through it all looking for needles in haystacks (ML).
Feynman suggested modeling things literally is an inefficient path to discovery. Physicists achieved their best results dispensing with imagining the world as literal pulleys and levers and weights. We don’t need to literally model how to sort it all, just the right amount to assist others.
Software engineers need to pivot from sorting stupid meme posts and put those brains on truly interesting ideas: https://youtu.be/ZSddchIGNG0
That requires an ISP that allows incoming connections, and preferably a static IP address. These are both increasingly uncommon.
Which I recently discovered we are.
Under CGNAT Your router does not get an externally reachable IP address from your ISP, as it sits behind ISP-level NAT router that assigns addresses to subscribers much like your home router assigns addresses to your home machines.
So you can’t run any sort of externally reachable service at all.
It's a shame how it's become so hard, the old internet is gone forever really.
too much work? use tailscale.
Not if you can afford a cheap VPS to tunnel the traffic through with WireGuard or another solution. Here's my vague blog post on the topic: https://blog.kronis.dev/tutorials/how-to-publicly-access-you...
For example, along the lines of https://www.scaleway.com/en/stardust-instances/ or whatever is the cheapest plan that your provider offers, or something you can find on LowEndBox: https://lowendbox.com/
Though some people also suggested Cloudflare Tunnel or similar solutions, like: https://eddiez.me/working-around-cgnat/
At that point, you might as well host it on that cheap VPS instead of at home.
Tunneling have some advantages:
- you don't expose your home IP
- you can move your hosting easily (you could even have it in your phone)
- you can host bigger stuff that you couldn't pay or would be too expensive "in the cloud" (you home NAS, a rack of servers, home assistant)
- you could setup just one vps gateway with nginx or traefik and then set a bunch of tunnels for all your friends or several different sites...
It has some interesting uses.Maybe you need better resources than a cheap VPS can offer, i.e. an experimental app that likes a chunk of RAM and IO so won't be happy on an oversold & contended host, but doesn't need low latency or massive bandwidth¹ so is happy with the connectivity found on such a cheap service.
Another consideration is that if the VPS host dies and you are just using it as a proxy/tunnel, all you need to do is sign up for another, change DNS pointers and perhaps VPN config, and you are back up and running: no extra app/stack configuration needed, no need to restore content from backups⁴ to the new location, ete., so time+faf to service restoration is short.
----
[1] It doesn't apply to all locations, as some are lucky to be in places where there has been sufficient infrastructure investment for FTTP to be inexpensively available, but for a lot of people a key limit to self-hosting is an asynchronous link: I know many with 1.4mbit or noticeably less upstream from home, the best I can reliably get here² is ~14mbit³ upstream. Most VPS providers that aren't ridiculously oversold can give you that, so their network would not be the outgoing connectivity bottleneck.
[2] York, UK, not far from the city centre. FTTP is available in parts of the city and outskirts, but rollout is glacial so won't be near me any time soon
[3] g.fast is available from the exchange/cab I'm connected through, but it is hit-and-miss and there is a risk I'll get less out of the nominally 150/30 standard than I do out of the 80/20 one.
[4] though obviously: still keep good backups!
I am confident that my VPS provider (DigitalOcean) can maintain VPSs' better than I can (or want to), for example: automigrate for hadrware faults, cheap daily/weekly backup, and making sure it's up & running after power cycling the home (which is an infrequent but not unheard of situation where I live).
Even for beefier setups, Hetzner (my go to provider for dedicated hw) still looks more appealing than setting it up at home, when I calculate hardware cost. If you have spare hardware sitting unused anyways, I'd agree.
But on the main point we agree - if you know how to administer a server, it's easy to host, either home or on a VPS.
The main drawback I see for common people is that they aren't gonna read up on nginx and postgres configs or set up minikube locally. That requires one-click setup for local use.
That one can be complex. My home server does mainly private stuff so external bandwidth/latency isn't a big issue. Even accounting for cycling drives out¹² and other involuntary maintenance³ the cost of putting the machine together and keeping it running is lower than I'd have spent on the monthly costs of a similarly specced machine with a good provider.
Power costs have made me reconsider that a bit in recent months, but hosting providers are putting up prices as they are subject to similar cost increases too so I'll wait a bit and see how that settles before making major changes.
----
[1] I've had a few failures over the years, though thanks to RAID I've never actually lost data due to that⁴.
[2] Also for space upgrades, but that is an issue for externally hosted options too.
[3] The PSU went fzzzt early last year.
[4] Actual (temporary) data loss due to human error has occurred, but backups resolved those occurrences.
This is the better option sometimes.
Buying multiple TB of storage in the cloud will typically be more expensive, whereas you can have ample storage locally on the cheap. The same goes for CPU/RAM, which you'll need for some applications (like local runners for CI servers) or games. Furthermore, you might prefer that the data stay on your local device for whatever reason (either there's a lot of it, like a voxel video game world files, or something else).
My current homelab setup would cost me hundreds of dollars per month from AWS/GCP/Azure, even though it's just devices that would otherwise be e-waste. The round trip time between my local devices and where the servers are is around 20-30 milliseconds, so not at all bad, even decent for gaming.
It's also far more cost effective than buying a static IP from my ISP and if someone DDoSes me, the VPS will probably be the first to crumble (though this is not guaranteed), which is an acceptable failure mode.
Of course, for things that need better uptime, just going for the VPS directly is generally a good idea.
There are two key goals here. First, being in full control of what you can put online and in which form. Second, being able to take whatever you've put online and move ship if you have/want to. Owning a domain name and having access to a VPS or shared hosting are great first steps.
Even so, you're still relying on someone else to host your content for you. Depending on how much stock / trust you are willing to put in someone else's intentions and abilities - present and future - you may want to consider self-hosting on hardware you own. The trade-off being that you'll have to put your confidence in your own abilities, resources and skills. Which isn't a trade-off many people wouldn't necessarily be willing to make.
As for the article. When it comes to the rise of social media over the past 15-20 years, well, Eternal September happened. The vast majority of modern-day influencers aren't interested in tinkering and self-hosting. They just took the opportunity of a platform which offered free - albeit limited - tools to share content with a growing audience. More content and a growing audience, in turn, attracted more people. Arguably, the vast majority of people today would have never really entered into massive online communities if it weren't for big tech, social media, cheap internet connections and cheap mobile devices.
Sure, social media has eclipsed the, comparatively small, web of independent blogs and bloggers such as it was back in the mid-00s. That period of time is never going to come back. Despite all their flaws, vast social media networks aren't going to disappear either. Independent Web publishing may see a modest renaissance today with new protocols, the Fediverse and dirt cheap hosting. Then again, from a sociological perspective: the notion of online identity has always been evolving and has become ever more complex and fluid. People don't exclusively turn to one tool or one platform: they own several identities across many domains, platforms, accounts,... Age, social-economic background, culture, personality traits, peers,... are all deciding factors as to how people manifest that identity. In turn, collectively, this drives how the Web itself keeps evolving and morphing into something new in the future, which may or may not put a bigger focus on self publishing.
No need for such cruft. My site ran off a single darkhttpd binary for many years (it's now served from S3)
If you have a 10 Mbps uplink and an average page size of 1 MB, that’s approximately one visitor per second before it becomes saturated. Ten visitors at once will find the page takes ten seconds to load instead of one. A hundred, a hundred, though by then many will give up and you may want more deliberate load management or shedding (either limiting the number of connections you’re willing to open at a time and delaying accepting new connections, or returning a brief response that says “sorry, too much load right now, try again a bit later”, or dropping some connections outright).
But if you have a 100 Mbps uplink and serve simple content with no images, you might have an average page size of 20 KB, and then you could handle over 500 page loads per second, which is almost certainly several orders of magnitude more than you get (that’s a billion page loads per month). But at 500 per second, that means you can only spend 2ms of processing power (all cores, so with perfect parallelism the single-core CPU time available will be 2ms times the number of cores you have) per page served before processing power becomes the bottleneck.