• 0 Posts
  • 30 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
    ·
    10 months 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
    ·
    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.



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


  • Ok, if I remember correctly, YouTube barely generates, but generates nonetheless revenue for Google. There are many ways to make more money without fucking over its users by cutting costs:

    • downgrade old videos with small watch count to 720p30

    • make people pay for hosting >1080p60 content

    • do not allow private/unlisted videos

    • straight up remove 10h looped videos - they take so much space, but are technically spam - both for bandwidth and storage

    And my go-to solution: focus on sponsorships as main source of revenue. They are the only ads I can tolerate and are actually effective from my experience. YouTube can just take a cut from every sponsorship on YouTube video and everyone will be happy.




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