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

help-circle

  • gornius@lemmy.worldtoLinux@lemmy.mlWhy do you use the terminal?
    link
    fedilink
    arrow-up
    2
    arrow-down
    2
    ·
    9 months ago

    If you know how to use git, you will know how to use docker (provided you know what you want to do). They are completely different programs, yet you can quickly grasp the other instinctively.

    Now, Photoshop and Blender - they are also different programs, but if you know Photoshop, you still need to relearn Blender’s interface completely.

    This is why I prefer terminal programs in general. Unless it’s more convenient to use GUi, i.e. Drag&Drop file manager, some git tools etc.


  • 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 difference between different generations of USB-A are speeds. If user notices differences in speeds, they are way more likely to know the difference between USB versions.

    The differences between USB-C and USB-A are capabilities. USB-C is already confusing for many people. My boss (IT Project Manager) thought he could use USB-C to connect his monitor, while he couldn’t because his laptop doesn’t support DisplayPort over USB-C.

    There is already a huge mess with USB-C capabilities. Some of them are just glorified USB-A ports, some of them have DisplayPort over USB-C, some of them are Thunderbolt (with different versions or course), some of them are QC (with different versions - once again).

    I can just imagine the confusion from users, who expect all of the USB-C ports in the motherboard to work the same way, but then only one or two ports from 8 total have DisplayPort capabilities.

    “If it doesn’t fit it means it’s not supposed to go here” is a great way to tell the user what capabilities the port has.




  • English is not my first not language. When I write something down in my first language (polish), it feels more like I’m transcribing things I silently say to myself, while with english I’m actually thinking about every word I type.

    The funny thing is, the better I am getting at English, making those types of mistakes is getting easier for me.

    But idk, this is just my experience.




  • The apps still need to request OS for specific permissions before they use things like GPS, mobile data, filesystem etc.

    But the point you’re missing is unless you’re building everything yourself, there is always a party that you have to trust. Apple likes to paint itself as trustworthy when it comes to your data, but all the anti-consumer shenanigans they do when it comes to hardware clearly state that the only thing they care about is money.

    Remember - it’s either convenience with a false sense of security or security. Never both.


  • gornius@lemmy.worldtoProgrammer Humor@lemmy.mlPHP is dead?
    link
    fedilink
    arrow-up
    11
    arrow-down
    1
    ·
    11 months ago

    The language itself is not that bad. Especially the newest releases are really great, thought out DX improvements. What stinks are its legacy parts and how it needs to be run.

    My biggest pain is that for it to actually behave like it should it requires some sort of an actual web server like apache or nginx.

    Also, servers written in are actually request handlers - every time a request comes, the whole app is reinitialized, because it just can’t hold its state in memory. In many apps every request means reinitializing connection with database. If you want to keep some state, you have to use some caching mechanism like redis or memcached.

    Also had one time when Symfony app was crashing, because someone forgot to close class braces, and everything was “working” until some part of code didn’t like it and was just dying without any error.

    And one time when someone put two endlines after php closing tag at the end of the file, confusing the entire php interpreter into skipping some lines of code - also without warning, and only in specific php version.


  • Why do you need Windows VM for developing GUI apps? Last time I used Visual Studio to make GUI app I almost gave up programming, because of how code-generation dependent it was.

    For C# you have AvaloniaUI. For cpp you have countless multi-platform GUI toolkits, same for rust, Java has its own toolkits (multi-platform), and finally you can make an Electron/Tauri app.


  • The way for your desktop to communicate with the hardware.

    It used to be X11 - A server-client architecture, which meant your desktop was effectively just a client that told the server what to do. The server was the one doing the drawing

    Wayland is just a protocol, defining how programs and desktop should communicate with each other - without a middleman that was X11 server. The desktop does the actual drawing here.


  • 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.


  • You just need to realize that Adobe doesn’t release their stuff on Linux, not because it doesn’t allow them to, but Linux desktop market share is too small.

    It’s a chicken and egg problem. Once Adobe would release their stuff, magically there would be a massive movement to improve HDR support, color accuracy etc.

    And you need to realize Microsoft achieved such a giant market share thanks to illegal monopolistic practices in 90s, that still have huge impacts today.