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

help-circle






  • gornius@lemmy.worldtoProgrammer Humor@lemmy.ml***
    link
    fedilink
    arrow-up
    67
    arrow-down
    1
    ·
    1 year ago

    Framework has multiple config files, allowing you to customize almost every aspect of it.

    Nooo, this is too much config files, they take up too much space in my project tree.

    Framework is a monolith with a single file to configure it.

    Nooo, the file is unreadable and developing extensions for it is annoying.

    Framework is minimal

    Nooo, it doesn’t have any useful built-in features.

    Framework is a complete solution without too many things to configure.

    Nooo, it doesn’t allow me to do what I want.






  • If you’re a beginner:

    I almost gave up programming once, I thought I was too stupid.

    Then I learned Linux and figured out starting out in IDEs as a beginner is the worst thing you can do. It doesn’t teach you anything, it just lets you get the job done - the thing that you should avoid while learning.

    If you can’t build your software with only CLI - you probably have no idea how technology you’re programming in works.

    If you are intermediate:

    Reinventing the wheel is a great way to learn how libraries you’re using actually work.


  • gornius@lemmy.worldtoProgrammer Humor@lemmy.mlPHP is dead?
    link
    fedilink
    arrow-up
    11
    arrow-down
    1
    ·
    1 year 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.


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




  • Lockfile contains exact state of the npm-managed code, making it reproducible exactly the same every time.

    For example without lockfile in your package.json you can have version 5.2.x. In your working directory, you use 5.2.1, however on repo, 5.2.2 has appeared, matching your criteria. Now let’s say a new bug appeared in 5.2.2.

    Now you have mismatched vendor code, that can make your code behave differently on your machine, and your coworker’s machine, making you hunt for bug that wasn’t even on your side.

    Lockfile prevents that by saving an actual state of vendor code.




  • I disagree (mostly). What’s the difference between library and language built-in? PHP and C++ has a ton of built-ins. It doesn’t make it less complex than using library.

    Problems that look simple at the first glance are in most cases are complex with too many edge cases.

    I think I have never written a single utility function that had no non-obvious bug, and imagine that in more complex problems

    Not to mention in many cases any function you write is possibly dangerous.

    Just take a look how many things you have to consider when checking for odd number in JS:

    https://www.npmjs.com/package/is-odd?activeTab=code

    And of course most of that can be fixed be using strongly typed language.