• 0 Posts
  • 28 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle









  • If you’re lucky enough to successfully create an account on Oracle Cloud, you can also try Oracle Cloud Free Tier. You can have free ARM64 x4 CPU and 24 GiB RAM totally free of charge. There might be problems with availability during VM registration, but there are scripts that automate spamming for checking every 80 seconds.

    I’ve been using it for 2 years and it’s great. However be aware that your VM might get erased if you have a free account. That too can be remedied if you update to a premium subscription (You still get Free Tier resources without a charge). Nobody has reported an erased VM on a premium plan yet.

    Still, I am pretty sure they can erase it if you do illegal stuff with it. I’ve been using it only to host Minecraft Server, as well as other services using Docker. So far so good.



  • gornius@lemmy.worldtoSelfhosted@lemmy.worldShould I move to Docker?
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    10 months ago

    Learn it first.

    I almost exclusively use it with my own Dockerfiles, which gives me the same flexibility I would have by just using VM, with all the benefits of being containerized and reproducible. The exceptions are images of utility stuff, like databases, reverse proxy (I use caddy btw) etc.

    Without docker, hosting everything was a mess. After a month I would forget about important things I did, and if I had to do that again, I would need to basically relearn what I found out then.

    If you write a Dockerfile, every configuration you did is either reflected by the bash command or adding files from the project directory to the image. You can just look at the Dockerfile and see all the configurations made to base Debian image.

    Additionally with docker-compose you can use multiple containers per project with proper networking and DNS resolution between containers by their service names. Quite useful if your project sets up a few different services that communicate with each other.

    Thanks to that it’s trivial to host multiple projects using for example different PHP versions for each of them.

    And I haven’t even mentioned yet the best thing about docker - if you’re a developer, you can be sure that the app will run exactly the same on your machine and on the server. You can have development versions of images that extend the production image by using Dockerfile stages. You can develop a dev version with full debug/tooling support and then use a clean prod image on the server.



  • The main argument to use password managers to prevent password leaks to all of your services (that you use with the same login/email). You can’t trust any service to store your password securely, therefore you should use different ones everywhere.

    Using a password manager gives you the convenience of using one, strong password that’s being used very securely, and mitigating risk of password leaks spreading further.

    If you abstract it that way, it by no means eliminates the risk of someone breaking into your database, but makes it harder and from a single entry point, instead of any service that uses your password.

    Plus many of those password managers give you an option to use YubiKey for additional security.

    Oh and also you won’t ever need to press “forgot password” ever again due to the arbitrary requirements that your password doesn’t pass, so you modify it slightly so it would.




  • although I’m not a TWM user I like to just press super and type the first letters of the program I’m looking for to open it.

    It will never stop to amaze me how many people don’t know it’s a feature in every major DE and every Windows starting from Vista.

    Even on Windows 10/11, just tap windows key and start typing without clicking anywhere.

    My list of FOSS I use everywhere (these work in Win and Linux):

    • Open Tablet Driver - if you’ve got the drawing tablet it probably supports it. You can customize everything and has even built-in plugin manager.

    • Krita - GIMP alternative with non-destructive editing capabilities.

    • yt-dlp - download videos from almost any video sharing service, even TikTok, Instagram etc.

    • neovim - for quick file edits

    • vscode/vscodium with vim plugin - my IDE for everything

    • ffmpeg - forget handbrake - you can do even basic video editing here. Join two videos together? Done. Add audio to video? Done. Crop part of the video without reencoding it? Done. Loop a video to 10 hours without reencoding it? Done in matters of seconds.

    • kdenlive - an actual video editor that is 100% FOSS, doesn’t suck and works on Windows and Linux.

    • imagemagick - ffmpeg for images


  • The thing is, they look like too much for a simple app with near none interactive elements.

    But once app starts growing, concepts like reusable components, reactivity and state management become such an important tool.

    Imagine tracking shopping cart’s total value. With these frameworks it’s just one store containing total value, exposing the value as reactive state. Once the value changes, all components using directly or indirectly that value update immediately. In vanilla you would have to keep track of every instance where that value is used manually.

    Additionally, if you decide keeping total value of cart in frontend is stupid (because it is), you just modify your store to provide only readonly value, and create setters that require you to pass item or item id. Then that setter would hit up backend keeping your cart’s total value, add an item, and backend would return new total, which would now be set as that store’s new total value.

    These frameworks are kind of SOLID principles applied to chaotic world of user interfaces.