• 0 Posts
  • 21 Comments
Joined 9 months ago
cake
Cake day: October 17th, 2023

help-circle


  • araozu@lemm.eetoMemes@lemmy.mlEvery time
    link
    fedilink
    arrow-up
    3
    ·
    7 months ago

    I still haven’t read that source about dota 2 but personally, I think it’s addictive because it feels sooooo good when you win. It brings the worst of you when you lose, but when you win, it feels really good, it’s so satisfying to win a hard match, competitive or not (i play a lot of turbo, feels addictive anyway). After all, if we only felt bad when losing and didn’t feel as good when wining, we wouldn’t come back. Or at least, I wouldn’t. If another game frustrates me, and gives me nothing in return, I leave it








  • araozu@lemm.eetoMemes@lemmy.ml¿¿Que??
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    8 months ago

    In spanish questions intonation changes occur only on the last word(s), not the whole sentence. I’m not a linguistic, but I think it’s so you can be sure a sentence is a question from the start.

    When reading english sometimes I assume a sentence is an affirmation until I see the question mark, and then I have to reinterpret the sentence. I wonder how it is for native english speakers. Do they assume nothing until the sentence is finished?



  • Just to provide counter examples, in arch I can’t use the native steam package and play games with proton. It just doesn’t work. I think proton expects some ubuntu libraries or something (found something like that while spending 5 hours debugging nfs heat). And even if I manage to fix it, next time I update the system it’ll be broken again.

    I use flatpak, and everything just works.

    However, in arch if something is in the official repo or the AUR i prefer those.

    In ubuntu I installed krita and gmic, but it doesn’t work. For some reason krita doesn’t find the gmic executable. Instead of debugging krita and gmic for hours I just installed the flatpak version, and it just works.

    And yeah, app startup went from 5 to 7-10 seconds in krita, and from 1 to 2-3 seconds in firefox. It’s not snap, it’s 2023, we have SSDs.


  • Could you elaborate on the htmx security holes? I only know about xss attacks, and for those it’s trivial to sanitize in the backend.

    I too gravitate towards just templating for static or simple interactivity, but for pages that need SEO and interactivity I’m still wondering what’s a good solution that doesn’t involve SSR and a js framework. For a recent project I had I generated the html in php and sent a lot of pure js for dom manipulation


  • __invoke is just for making a class Callable. Java has those with functional interfaces. __get is just dynamic property resolution synax sugar. Instead of something like obj.get("property") you do obj->property.

    Instead, I would like to see ADTs, generics, pattern matching, immutability, expressions everywhere and a better stdlib. Then one could call PHP functional.

    It’s like how people say Javascript is functional. Sure, it has lambdas, anonymous functions, closures, const. But those alone don’t make it functional.

    Functional programming is very different (and at times hard). If you have the time you can check out F#, OCaml, Elixir, Erlang, Rust or Haskell (in order of difficulty imo). Those are more “pure” functional, rather than imperative/OOP with a touch of functional.

    See how things work, what features they have and don’t have. How problems are solved in these languages. I think learning about one of them can give you a different perspective on what functional means. I discovered F# one day, got curious and discovered a whole different paradigm, a new perspective on programming. And learning about functional programming really made me a better programmer, even on procedural/OOP.


  • I’d say that PHP allows you to write very bad code (and makes that the default). It’s a language feature.

    For example Java has a lot of NullPointerException because it was designed with null and without mechanisms to detect & prevent these errors. Any method can return null and cause a NPE. It’s just easy to ignore them. Modern languages like Go, Rust or Zig force you to handle null errors, and make it easy to do so. NPEs are a lasguage feature in Java.

    In the same way PHP allows you to write any ugly code you want. There are no checks, no safety. People can write bad code, people can be lazy, people can be stupid. PHP allows it and empowers them.


  • I used to think that php was a bad language until recently (used php5 when i was just learning to program, cooked some delicious spaghetti). But after 5 years I had to use PHP at work. The language has improved a lot, but I think a lot of the bad parts are still there.

    Like, why does stdclass exist? Why not just use associative arrays? Why are there warning, error, fatal errors, exceptions? Some functions throw exceptions, other raise errors, others return false, other fail silently and you have to call another function to check if there was an error (last_json_error). Why do find functions return false instead of -1? Like every other language? Why can’t I use strings with numeric values as maps keys? (I can’t have ["001" => value], it gets casted to ["1" => value].

    There are no generics, you have to use mixed everywhere. The stdlib is an inconsistent mess, some_snake_case, someCamelCase, verb_noun, noun_verb, functions are not namespaced, everything is global. A lot of duplicates: die vs exit, print vs echo, etc. You are forced to use PSR & autoload to be able to use namespaces in a tolerable way, not including_once everywhere. No UTF-8 support, only ascii. You have to manually use mb_ functions. Variable scoping is weird. Variable variables? Why?

    And all that is just comparing it to the average language. If compared to a modern language like Rust, Zig, Swift, php is light years behind.

    It’s not hot garbage, but I wouldn’t call it “good”. There’s laravel, but not much more. PHP still makes you shoot yourself in the foot by default, unless you spend a lot of time learning its edge cases. Just like javascript.


  • I find that the only reason for SSR existence is to be able to just move a JS frontend to the backend for SEO/client performonce reasons with almost no effort. If the frontend really needs to be highly interactive then yeah, a FE framework makes things easier. But then you are locking yourself to using JS in the backend. Voluntarily locking yourself to use an objectively bad language.

    Then there are the react/angular/other people, who build everything in these frontends.

    I really hope tools like htmx gain traction, since it looks like a model able to solve the current JS madness.


  • I don’t think that’s the case. My country is also big, cities are apart by hundreds of km. But our cities still are dense, there are (almost) no suburbs, and roads are not giants. In my city (2nd largest in the country) the largest roads have 6 lanes. There is only 1 street with 8 lanes. A lot of important busy streets have 4 lanes. Most streets have only 2 lanes.

    There are still sidewalks (many streets even have more sidewalk than road), there aren’t huge parking lots everywhere, public transportation is everywhere.



  • araozu@lemm.eetome_irl@lemmy.mlme🚫irl
    link
    fedilink
    arrow-up
    2
    ·
    8 months ago

    Do they? I remember not long ago I just had to have an ads.js file, and if the user had an adblocker this file wouldn’t load.

    So I just had a

    var ads_enabled = true;
    

    And I could check if the user had an adblock.

    I think most people just install ublock/others and leave it default. When I tried to customize ublock all those lists and regex pushed me away, never tried again since.