Just some Internet guy

He/him/them 🏳️‍🌈

  • 0 Posts
  • 92 Comments
Joined 2 years ago
cake
Cake day: June 25th, 2023

help-circle
  • The language itself has gotten a bit better. It’s not amazing but it’s decent for a scripting language, and very fast compared to most scripting languages. TypeScript can also really help a lot there, it’s pretty good.

    It’s mostly the web APIs and the ecosystem that’s kinda meh, mostly due to its history.

    But what you dislike has nothing to do with JavaScript but just big corpo having way too many developers iterating way too fast and creating a bloated mess of a project with a million third-party dependencies from npm. I’m not even making this up, I’ve legit seen a 10MB unit test file make it into the production bundle in a real product I consulted on.

    You don’t have to use React or Svelte or any of the modern bloated stuff nor any of the common libraries. You can write plain HTML and CSS and a sprinkle of JavaScript and get really good results. It’s just seen as “bad practice” because it doesn’t “webscale”, but if you’re a single developer it’s perfectly adequate. And the reality is short of WebAssembly, you’re stuck with JS anyway, and WASM is its own can of worms.

    And even then, React isn’t that bad. There’s just one hell of a lot of very poorly written React apps, in big part because it will let you get away with it. It’s full of footguns loaded with blanks, but it’s really not aweful if you understand how it works under the hood and write good code. Some people are just lazy and import something and you literally load the same data in 5 different spots, twice if you have strict mode enabled. I’ve written apps that load instantly and respond instantly even on a low end phone, because I took the time to test it, identify the bottlenecks and optimize them all. JavaScript can be stupid fast if you design your app well. If you’re into the suckless philosophy, you can definitely make a suckless webapp.

    What you hate is true for most commercial software written in just about any language, be it C, C++, Java, C#. Bugs and faster response times don’t generate revenue, new features and special one-off event features generate much much more revenue, so minor bugs are never addressed for the most part. And of course all those features end up effectively being the 90% bloat you never use but still have to load as part of the app.



  • Yeah but you can still add third-party repos if you don’t like the official ones, like the FUTO repository.

    The F-Droid app and the F-Droid repository are two different things and don’t have to be used together. So if you don’t want to submit your app to F-Droid for them to build and sign, you can use a third party repository without needing a whole new app.

    It’s still not federated, but it is distributed which makes more sense for an app store.


  • Why does everyone tries to shoehorn the fediverse into everything? I swear it’s becoming the new bitcoin.

    F-Droid supports additional custom repos. Anyone can already host their own custom repo with their apps on it. Failing that, you can still sideload APKs fron your web browser.

    Only the reviews part of it could use being federated.

    Could such a platform serve as a foundation if the Fediverse community ever developed its own federated operating systems?

    How would a federated operating system even work? What is it gonna federate and where, and for what purposes?




  • It’s hard to give concrete advice without knowing the specs or the software you want to run on this, but for tiny Linux systems there’s Buildroot so you can compile just the bare minimum you need and not use a distro at all (unless you could Buildroot as a distro). This is what OpenWRT uses to build all the router firmwares among other things.

    For something that would go in a car that seems pretty ideal to me. Skip initializing things you won’t use, make something that boots to GUI in 3 seconds. When you want to update the software you flash it as a new firmware image, no on-device installing or anything.

    Depending on what you run, ideally you’d skip Xorg/Wayland and use the framebuffer directly. But if you need to run a more standard environment, that’s what things like Cage are designed for. Single app, always full screen. It’s called a kiosk environment.


  • Is it directly exposed over the Internet? If you only port forward the VPN on your router, I wouldn’t worry about it unless you’re worried about someone else already on your LAN.

    And even then, it’s really more like an extra layer of security against accidentally running something exposed publicly that you didn’t intend to, or maybe you want some services to only be accessible via a particular private interface. You don’t need a firewall if you have nothing to filter in the first place.

    A machine without a firewall that doesn’t have any open port behave practically the same from a security standpoint: nothing’s gonna happen. The only difference is the port showing as closed vs filtered in nmap, and the server refusing to send any response not even a rejection, but that’s it.


  • Proton is Wine but tweaked for the sole purpose of running games, so it packs a bunch of extra stuff needed to make games run well together.

    Usually there’s also a long list of per-game tweaks and changes to make sure it runs, it’s all preconfigured so you press play in your launcher and it works. Not need to change settings whenever you want to play a game.

    You can still use regular Wine but you’ll have to set up a bunch of stuff yourself, and eventually you run into a game that needs a different version of something that breaks another game, you get into prefix management and it’s a mess. Or oh this game runs better when we pretend to be Windows 7 but this one works best with Windows 10. Proton just does it all for you, every game gets its own space with all the correct settings from the get go, and you just launch into the game and play.


  • Honestly a VPN that doesn’t support Linux at least through manual connection settings, run away. All reputable and even the sketchier VPN providers support Linux, because that’s what the privacy crowd uses, not supporting it implies those aren’t even the target user base at all. It’s a red flag. It’s not a VPN for privacy or getting another country’s Netflix.

    I’d trust Norton about as much as my ISP, so unless you use public WiFi somewhat often, it doesn’t add much value, just the downsides of captchas everywhere. They’re probably analyzing the traffic to map out malware campaigns and such, which would make sense but isn’t very private.

    The business model of antivirus companies is fear, and they sell the solution to that fear. They have a VPN because people assume VPN means more security, of course they’ll sell you one. At best they block known malware domains and IPs, which is utterly useless on Linux anyway.

    If you want a VPN get a real VPN.


  • As for bandwidth and server costs, with gigabit fiber and faster getting more and more common, a lot of “just starting” streamers could comfortably support 100 viewers at 10 Mbps quality straight off their home Internet. Fewer viewers? Stream in full 4K 120Hz at 50 Mbps do your friends if you want.

    PeerTube has the advantage of WebTorrent, so an average channel doesn’t have to cost too much in hosting fees. Plus it’s all legal content you own so those are fully legal torrents. It’s also good for ISPs because they might have to transport that video just a few blocks across instead of all the way to the closest Google/AWS/Cloudflare datacenter and back.

    I get 500 Mbps unmetered on this $40/mo server, I think it could comfortably handle a couple thousand subscribers before I’d have to scale up, possibly a lot more with a healthy pool of WebTorrent viewers.


  • I think there’s also a big shift in people (in this case the viewers) being more willing to consume content from someone on a different platform they’re used to.

    For a long time, YouTube, Twitch and TikTok were mostly good to their users. If you weren’t on one of those platforms they weren’t even willing to watch you, because they couldn’t use their Twitch emotes and shit, you’re the “weird guy that just have to use the shitty platform”.

    And then they all enshittified, causing people to be increasingly more aware of the existance of the alternatives, but most importantly willing to use them when they encounter them. Now when you see a PeerTube link, you don’t think “slow and always buffering”, you think “oh finally something not on YouTube with ads on top of the creator’s Brilliant/Manscaped/$foodDelivery/$sketchyEnergyDrink. Now you see a PeerTube link and it’s like " yay it’ll just work even with my VPN on and ad blocker”.

    That makes it viable for creators to even try to use those services. The enshittification is so bad, it’s worth paying for the platform you broadcast on, manage your own sponsors and ads. Manage it like a real business, be independent.

    People are mass switching to Bluesky and Mastodon, people are willing to try and accept alternatives, and aware of the importance of competition and independence.


  • Proof of work is what those modern captchas tend to do I believe. Not useful to stop creating accounts and such, but very effective to stop crawlers.

    Have the same problem at work, and Cloudflare does jack shit about it. Half that traffic uses user agents that have no chance to even support TLS1.3, I see some IE5, IE6, Opera with their old Presto engine, I’ve even seen Netscape. Complete and utter bullshit. At this point if you’re not on an allow list of known common user agents or logged in, you get a PoW captcha.



  • I was totally above 13 or had parental consent when I went to forums in the early 2000s. I totally wasn’t actually 9.

    It’s wild to me this concept disappeared? It’s literally never been a good idea to reveal you’re a minor online. The laws are against you. Companies don’t want to deal with a curated minor experience, even less so in the current times. If they do, you get the crappier version of things.

    The worst thing to happen to the Internet is when Facebook normalized using your real name and real info online.


  • It’s not impossible, been running my own email server for about 10 years and I inbox pretty much everywhere. I even emailed my work address and straight to inbox. I do have the full SPF, DKIM and DMARC stuff set up, for which I get notices from several email provides of failed spoof attempts.

    Takes a while and effort to gain that reputation, but it’s doable. And OVH’s IPs don’t exactly have a great reputation either. Once you’re delisted from most spam databases / old spam reputation is expired, it’s not that bad.

    Although I do agree it’s possibly one of the hardest services to self host. The software to run email servers is ancient and weird, and takes a lot to set up right. If you get it wrong you relay spam and start over, it’s rough.


  • I’m just curious if ‘B’ still retrieves the content from ‘A’ to show in user feeds.

    It works the other way around: instance A pushes the content to instance B. Therefore if A defederates B, then obviously A ain’t gonna be pushing the content.

    There’s an edge case where instance C is involved: A could comment on a post on C, and then C would forward it to B as well. But then B wouldn’t be allowed to fetch the user profile from A anyway and might just drop it regardless. I’m not sure the particular way Lemmy handles this.



  • As a starting point. Are there any hardware recommendations for a toy home server?

    Whatever you already have. Old desktop, even old laptop (those come with a built-in battery backup!). Failing what, Raspberry Pis are pretty popular and cheap and low power consumption, which makes it great if you’re not sure how much you want to spend.

    Otherwise, ideally enough to run everything you need based on rough napkin math. Literally the only requirement is that the stuff you intend to run fits on it. For reference, my primary server which hosts my Lemmy instance (and emails and NextCloud and IRC and Matrix and Minecraft) is an old Xeon processor close to a third gen Intel i7 with 32GB of DDR3 memory, there’s 5 virtual machines on it (one of which is the Lemmy one), and it feels perfectly sufficient for my needs. I could make it work with half of that no problem. My home lab machine is my wife’s old Dell OptiPlex.

    Speaking of virtual machines, you can test the waters on your regular PC by just loading whatever OS you choose in a virtual machine (libvirt if you’re on Linux, VirtualBox or VMware otherwise). Then play with it. When it works makes a snapshot. Continue playing with it, break it, revert to the last good snapshot. A real home server will basically be the same but as a real machine that’s on 24/7. It’s also useful to test things out as a practice run before putting them on your real server machine. It’s also give you a rough idea how much resources it uses, and you can always grow your VM until it fits and then know how much you need for the real thing.

    Don’t worry too much about getting it right (except the backups, get those right, verify and test those regularly). You will get it wrong and eventually tear it down and rebuild it better what what you learn (or want to learn). Once you gain more experience it’ll start looking more and more like a real server setup, out of your own desire and needs.


  • I feel like a lot of the answers in this thread are throwing a lot of things with a lot of moving parts: Unraid, Docker, YunoHost, all that stuff. Those all still require generally knowing what the hell a Docker container is, how to use them and such.

    I wouldn’t worry about any of that and start much simpler than that: just grab any old computer you want to be your home server or rent a VPS and start messing with it. Just pick something you think would be cool to run at home. Anything you run on your personal computer you wish was up 24/7? Start with that.

    Ultimately there’s no right or wrong way to do things. It’s all about that learning experience and building up that experience over time. You get good by trying out things, failing and learning. Don’t want to learn Linux? Put Windows on it. You’ll get a lot of flack for it maybe, but at the very least over time you’ll probably learn why people don’t use Windows for server stuff generally. Or maybe you’ll like it, that happens too.

    Just pick a project and see it to completion. Although if you start with NextCloud and expose it publicly, maybe wait to be more comfortable with the security aspect before you start putting copies of your taxes and personal documents on it just in case.

    What would you like to self host to get started?