• 2 Posts
  • 15 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle
  • Ah, the usual propaganda from the fucking content mafia and the lobbyists they bought:

    “The takedown of Fmovies is a testament to the power of collaboration in protecting the intellectual property rights of creators around the world,” Knapp says.

    “Strengthening intellectual property rights is an important element of the U.S.-Vietnam Comprehensive Partnership,” Knapper said

    I’ll happily repeat again and again and again:

    • If pirate sites offer a better user experience than your paid offerings, you don’t deserve payments at all
    • The money goes mostly to some rich fucks, fucking shareholders, lawyers and bought politicians and and not to the artists/creators of the movies (with some exceptions for the really big names)
    • I will very happily pay a service which is not shitty, not region locked, doesn’t annoy me with advertisement and is reasonably priced. The illegal sites are demonstrating that it is possible to sustain such an offer on advertisement alone. Don’t give me fucking bullshit that it is not possible for companies like Netflix while most of the subscription fees are going to shareholders and higher management instead into creating new content

    Seriously, fuck all the politicians and governments which act against the benefit of most of their population to conspire with the content mafia.



  • wolf@lemmy.ziptolinuxmemes@lemmy.worldBackdoors
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 months ago

    Golangs web server is production grade and used in production. (Of course everyone uses some high performance proxy like NGINX for serving static pages, that’s another story.)

    Technically you are right that java has no production web server, which I don’t like, OTOH Java has standard APIs WebServers and Spring is the defacto standard for web applications. (I totally would not mind to move Spring into the OpenJDK.)

    My point is simple: Instead of having Rust edtion 2020, 2021 etc. and tweaking the syntax ad infinitum, I’d rather have a community which invests in a good/broad standard library and good tooling.

    The only platform widely used in production w/o a big standard library is Node.js/JavaScript, mostly for historical reasons and look at the problems that Node.js has for a decade now because of the missing standard library.


  • wolf@lemmy.ziptolinuxmemes@lemmy.worldBackdoors
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 months ago

    Easily, just look at the standard libraries of Java/Python and Golang! :-P

    To get one thing out of the way: Each standard library has dark corners with bad APIs and outdated modules. IMHO it is a tradeoff, and from my experience even a bad standard library works better than everyone reinvents their small module. If you want to compare it to human languages: Having no standard library is like agreeing on the English grammar, but everyone mostly makes up their own words, which makes communication challenging.

    My examples of missing items from the Rust standard library (correct me, if I am wrong, not a Rust user for many reasons):

    • Cross platform GUI library (see SWING/Tk)
    • Enough bits to create a server
    • Full set of data structures and algorithms
    • Full set of serialization format processing XML/JSON/YAML/CVS/INI files
    • HTTP(S) server for production with support for letsencrypt etc.

    Things I don’t know about if they are provided by a Rust standard library:

    • Go like communication channels
    • High level parallelism constructs (like Tokyo etc.)

    My point is, to provide good enough defaults in a standard library which everybody knows/are well documented and taught. If someone has special needs, they always can come up with a library. Further, if something in the standard library gets obsolete, it can easily be deprecated.


  • wolf@lemmy.ziptolinuxmemes@lemmy.worldBackdoors
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    1
    ·
    6 months ago

    THIS.

    I do not get why people don’t learn from Node/NPM: If your language has no exhaustive standard library the community ends up reinventing the wheel and each real world program has hundreds of dependencies (or thousands).

    Instead of throwing new features at Rust the maintainers should focus on growing a trusted standard library and improve tooling, but that is less fun I assume.








  • Amen! One thing which drives me crazy is that most people confuse beginner friendly and user friendly, the two things are absolutely not the same thing. There is nothing wrong with having tools which are beginner friendly, especially for stuff one does once in a while. There is everything wrong with nerving tools which are for pros or even everyday usage: If I use something everyday I have rather an optimization for the mid or long run, than for the first few hours…


  • TDD as in religion is overrated. TDD done right is IMHO extremely effective.

    The problem is, writing good tests is really hard, and I have seen/committed/experienced a lot of bad tests… just the top of my mind problems with TDD done wrong:

    • testing the implementation instead the interface
    • creating a change detector
    • not writing / factoring the tests in a good way
    • writing tests / TDD w/o having an overall design for the software

    For every non trivial piece of software written w/o TDD, I always saw the same pattern: First few hours/days/weeks, rapid progress compared to TDD, afterwards: hours/days/weeks wasted in debugging, bug fixing etc… and the people can not even catch up with tests if they wanted.

    Is TDD always the answer? Of course not, it is a tradeoff like everything else in technology. OTOH I have yet to see a project which benefited from not using TDD by any metric after a few days in.


  • Factual errors:

    • Interpreters neither need nor usually have a compilation step
    • Even processors are nowadays virtual machines, modern hardware only understands microcode AFAIK

    Words which have a common understanding in the current compiler construction world, which you define in IMHO a non standard way

    • Compiler is commonly used to refer to tools which translate higher level languages (e.g. Java, C, Python, JavaScript) to a machine representation (e.g. JVM, Arm64, x86_64, MIPS…)
    • Even in academia Java is referred to as compiled/interpreted language (at the same time)

    Factual errors about Java:

    • We have ahead of time compilers for a very long time now (GraalVM etc)
    • There are chips which implement the JVM in hardware