Aussie living in the San Francisco Bay Area.
Coding since 1998.
.NET Foundation member. C# fan
https://d.sb/
Mastodon: @dan@d.sb

  • 0 Posts
  • 45 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle

  • Unfortunately regular people don’t understand why they’d use something like this rather than just using Facebook, Instagram, Google Photos, etc. and the major limitation of self-hosting this way is that it’s only accessible when your computer is on, which regular people aren’t used to.

    A lot of people also had pretty limited bandwidth. I was in Australia on ADSL2+ with around 9Mbps down and 700Kbps up.

    I think plug-and-play NAS systems are the closest equivalent today, especially now that a lot of people have faster connections. Comcast boosted upload speeds in some markets last year - in my area their regular plans start at 300Mbps down and 100Mbps up. A lot of NAS systems are still missing the “regular person can easily set it up” aspect though, and I’m not sure if they handle sharing stuff with external users.


  • The US does! The majority of internet traffic in the USA (around 55%) is via IPv6. This was driven by two things:

    1. Comcast was the first major ISP worldwide to roll out IPv6 to customers, 15 years ago in 2011. They finished the rollout in 2014, and 70% of their customers were using IPv6 within a year.
    2. Mobile carriers use IPv6 a lot. T-Mobile’s network is fully IPv6-only, using 464XLAT to connect to legacy IPv4-only servers. No CGNAT. They’ve done several presentations about it. The other carriers aren’t too far behind.

    The fact that IPv6 usage isn’t higher is mainly limited by servers not having it enabled, not users. IPv6 usage spikes on weekends and after business hours because there’s a lot of enterprise systems that people use at work, that only use IPv4.

    It’s frustrating that other countries adopted CGNAT instead of switching to IPv6 like the US mobile carriers did. Argentina has less than 30% IPv6 adoption for example.


  • I’m still kinda that Opera Unite didn’t take off. It was a decentralized server built into the Opera browser, that was easy enough for regular people to use. You just set it up in a config UI in the browser and could enable features like chat, blogs, photo galleries, a music player, etc. At the time, everyone had UPnP enabled, CGNAT wasn’t a thing, and Opera handled UDP hole punching for it, so it mostly just worked. https://www.wired.com/2009/10/opera-unite-puts-the-web-server-in-your-web-browser/

    This was back when Opera were still based in Norway, had their own browser engine, and were very innovative. A large number of features that became commonplace were in Opera years before any other browser, like tabbed browsing, full-page zoom (browser zoom used to only increase font size while keeping everything else the same size!), restoring your tabs when you re-open the browser, pop-up blocker, a new tab page that shows your commonly accessed sites, private/incognito browsing, sidebars, and more.

    Sure, there’s a bunch of downsides to a server being built into your browser, but it was an interesting idea. People that don’t know anything about servers were able to easily try it out.


  • dan@upvote.autoSelfhosted@lemmy.world•Git control for novice gamedev?
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    1
    ·
    edit-2
    6 days ago

    I’d recommend learning Git entirely locally first. Git is a distributed version control system, which means that it doesn’t need a server. All of Git’s features are available to you even with just a local repo.

    Honestly, using Github is totally fine as a beginner. Similarly, using a GUI is totally fine. Dont let people shame you into using the CLI all the time if you don’t want to. It’s good to have a high level understanding so you can deal with things when the GUIs play up, but day-to-day usage is totally fine in a GUI. I like gitg because of how simple it is, but I like the Git integration in VS Code, and Jetbrains IDEs (Rider, WebStorm, etc) too. I’ve heard good things about GitKraken but it felt a bit slow last time I tried to use it.

    When you do want to have the repo on a self-hosted server for your own use, you don’t actually need anything fancy like Gitlab or Gitea. Technically all you need to do is copy the repo from your computer onto the server and set up a Git server on it. That’s it. Git works over SSH, so you’d just add a “remote” that points to the server.

    The best place to start with that is probably the official documentation: https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols

    The repo on the server is not really any different to the one on your computer. All you’re doing when pushing is synchronizing them - pushing new changes from your local repo into the one on the server.

    Where web UIs have an advantage is that they make it easier to browse the repo, show it to others, have pull requests and CI support, etc. Lots of value-add features on top of Git itself.

    I’d highly recommend Forgejo instead of Gitea. The Forgejo site has a list of reasons why, so I don’t go over that in detail. Forgejo is what powers Codeberg, so you could try Codeberg first, then if you like it, self-host the exact same system. Note that Codeberg only allows open-source projects.


  • If you do buy refurbished drives, ideally get manufacturer refurbished ones that come with a manufacturer warranty. If you’re in the USA, ServerPartDeals is a great store for it.

    Manufacturer refurbished drives tend to be pretty reliable because they’ve been tested to meet the manufacturer’s specs, usually including a deep stress test, and come with a warranty from the manufacturer.

    The thing that sucks at the moment is that refurbished drives cost more than the new ones used to cost.


  • See if your CPU has integrated graphics - you could use that.

    I was going to say that you could get a low end graphics card like an RX550, but even those have gone up in price. They originally sold for $70 for the 4GB model and were around $30-35 second-hand before everything went up.

    Avoid low-end Nvidia on Linux, as they become VRAM-constrained. Nvidia’s Linux driver doesn’t let GPUs swap to system RAM like AMD’s and Intel’s do.



  • The recommended ESLint rules catch most of the bad stuff, and these days this is all you need in your ESLint config to enable them:

    import {defineConfig} from 'eslint/config';
    import js from '@eslint/js' 
    
    export default defineConfig([
      js.configs.recommended,
    ]; 
    

    There’s one use case where == is still commonly used: == null matches both null and undefined. Lint rules that block == usually allows the null case as an exception.




  • legacy tlds (com, net, org) tend to be more affordable

    Verisign are trying their best to make .com and .net less affordable. Their contract with ICANN is on a six year cycle, and it lets them increase the price by up to 7% for the last four years. So far, they’ve always increased it the maximum amount.

    Wholesale price has gone up from $6 in 2000 to $7.85 in 2020 (before this contract structure), to $10.26 now, and they’re increasing it to $10.97 on November 1.

    Having said that, it’s still better than ccTLDs and newTLDs, where the registry can increase it as much as they want.


  • Makes sense! I didn’t realise it has a UI.

    I’ve got a bunch of snippets in /etc/nginx/snippets/, so for example I just need to add include snippets/proxy.conf to a server block to add most of the configuration needed for a reverse proxy. I’ve been using Nginx for long enough that I just write the rest of the server block by hand.




  • dan@upvote.autoSelfhosted@lemmy.world•Anyone using 6-day certs yet?
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    1 month ago

    A private key leaking is bad, since anyone with the private key can decrypt data that was encrypted with it.

    Traditionally, the way that leaked certs were handled was via Certificate Revocation Lists (CRL). CRLs contain lists of revoked certificates - their serial number, revocation date, and the reason why they were revoked.

    However, CRLs are imperfect. Checking for revoked certificates every time you go to a site would slow things down a lot, as the lists are now too large to check and download real-time. Modern browsers and other TLS clients periodically download the lists in the background. Also, it might take a while between when the certificate is compromised and when the company notices the compromise.

    Because of this, the CA/Browser forum (a group with all the major browser and TLS certificate vendors) have started dropping the max lifetime of certificates. The idea is that even if a private key does leak, the time frame that it’s usable for will be significantly shorter and any leaks should (in theory) cause less damage.

    • The original maximum duration was 39 months: Three years plus an extra three months leeway for obtaining and deploying new certificates.
    • March 2018: Reduced to 825 days
    • September 2020: Reduced to 398 days
    • March 2026: Reduced to 200 days
    • March 2027: Planned to reduce to 100 days
    • March 2028: Planned to reduce to 47 days

    All modern deployments, regardless of if they’re using free or paid certs, should have their renewals fully-automated, so in theory the validity period shouldn’t matter as much as it did in the past. All major vendors (Let’s Encrypt, DigiCert, Sectigo, GlobalSign, AWS, SSL .com, etc) support ACME now. Reducing the validity is also a forcing function t o ensure automation is actually implemented.

    somehow else in the middle and just can “ignore” certs renewals?

    I’m not sure that’s possible, since an attacker in the middle shouldn’t be able to obtain a valid certificate for the domain. Certificates have a “not valid after” date encoded into them, after which the certificate is considered invalid and you get an error.



  • Makes sense! 30W is great for your system. My home server has an older 10Gbps NIC that uses an Aquantia AQC107 chip, which has poor support for ASPM and prevents the CPU from entering lower C states. I’ve been considering swapping it out for something newer (like an AQC113), I just need to work out whether it’s actually worth it.

    Mine used to cost $0 in electricity since I’ve got solar panels, but we’ve got two EVs now (my wife has a BMW iX and I’ve got an i4) so we’re back to having to pay the electricity company again.


  • Creating a cluster could help me self host more websites I create as I want to move away from using hosting services

    Just jeep an eye on electricity prices. This is probably not an issue with a phone server, but for me, hosting at home with a decent server PC costs more per month just in electricity compared to using a cheap VPS. Continuous draw of 50W 24/7 is ~37kWh per month which can cost $15 or more in California.

    I do still host some things at home, but all my sites are on VPSes. The enterprise hardware and fast, data center grade internet connection is worth it for me. Some of my VPSes are only $40/year.