• 0 Posts
  • 97 Comments
Joined 9 months ago
cake
Cake day: September 25th, 2023

help-circle
  • pixelscript@lemmy.mltoOpen Source@lemmy.mlKrita FTW
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    I mean, you’re free to continue using your crescent wrench as a hammer if you find it drives nails for you decently well and you are comfortable using it that way. But it was neither designed with that purpose in mind, nor does anyone expect you to use it that way, so no one will be writing how-to guides on it.






  • pixelscript@lemmy.mltoMemes@lemmy.mlBut this... does put a smile on my face
    link
    fedilink
    English
    arrow-up
    72
    arrow-down
    1
    ·
    4 months ago

    I replied to that thread.

    OP was claiming to be working on a static HTML-serving search engine. They suggested that because it’s just HTML and CSS, and that interested parties can use Inspect Element to read the network requests, that it constituted “open source”.

    Commenters then got on his case about not open sourcing the server backend. OP defended that choice saying they didn’t want a competitor taking their code and building a company off of it that would “drive [them] out of business”. Uh-huh. So, proprietary software, then. Bye.



  • Nvidia and AMD broadly cover the same use cases. Nvidia cards are not intrinsically better to my knowledge, Nvidia simply offers ultra high-performance cards that AMD doesn’t.

    If you just need nonspecific games to run decently, a card from either brand will do it. If you need to run the most intensive games there are on unbelievable settings, that’s when Nvidia should be edging out.

    ML dabbling may complicate things. Many (most?) tools are written for CUDA, which is a proprietary Nvidia technology. I think AMD offers a counterpart but I do not have details. You will need to do more research on this.


  • pixelscript@lemmy.mltoProgrammer Humor@lemmy.mlDamn Linux Users
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    1
    ·
    4 months ago

    I am going to continue to tell people “just get an AMD card”, but only if they have indicated to me that they are shopping for new parts and haven’t committed to any yet.

    Giving that advice to someone who already has an Nvidia card is just as useless as those StackOverflow answers that suggest you dump your whole project architecture and stuff some big dumb library into your build to solve a simple problem.


  • People tend to contribute to the projects they already have the skills for.

    People also tend to pick up new skills when they have a driving incentive to do so, like supporting a project they have a vested interest in seeing improved.

    You need to learn the language’s structures

    Most of the bread and butter ones have analogues in other languages you should readily understand. More language-unique structures are rare; the more niche they are, the lower the odds your ability to contribute in a meaningful way hinges on your understanding of them.

    you need to learn how the compiler works

    You really don’t, though? Modern compilers, particularly the Rust compiler, are designed to abstract away as much of the details of compilation as possible. If the project really does need to tickle the compiler a certain way to get it to build, it will almost certainly have a buildscript and/or a readme.

    you need to learn the libraries that the FOSS project is using

    This is true regardless of the language in use. I’m not sure why you brought it up.

    you need to learn the security pitfalls for the language

    I would imagine most of these language-specific security footguns are either A) so specific that you will never hit the conditions where they apply, B) are so blazingly obvious that code review will illuminate what you did wrong and you can learn how to fix it, or C) so obscure that even the project owner doesn’t understand them, so you’d be at minimum matching the rest of the codebase quality.

    Mind, I am not insinuating that one can simply bang out a whole new submodule of a project in an unfamiliar language with minimal learning time. Large contributions to large projects can be hard to make even when you’re a veteran of the language in use, as the complexity of the project in and of itself can be its own massive barrier. But not every contribution needs to be big. And for most contributions, I don’t believe the language is the most significant barrier to entry. It’s a barrier, sure. But not the biggest one.

    I’d wager it’s not having a significant impact on the volume of contributions to Lemmy in particular.



  • It’s a huge win, but not the kind of win people reading the statistic with no context (like me) probably thought.

    I’m sure a lot of us looked at “15 percent of desktop PCs in India run Linux” and, regardless of whether it was hasty and irresponsible for us to do so, extrapolated that to, “15 percent of Indian PC users are personally selecting Linux and normalizing its paradigms”.

    But in reality, it sounds more like “15 percent of Indian PC users use Linux to launch Google Chrome”. Which is impressive, but not the specific kind of impressive we wanted.

    It feels a bit like how I imagine, say, a song artist feels when they pour their heart and soul into a piece of music, it gets modest to no traction for a while, and then years later a 20 second loop becomes the backing track for a massive Tiktok meme, and almost zero of that attention trickles back to their other work.


  • Stateless functions still deal with state, they just don’t hold onto it. Without state to mutate, a so-called stateless function doesn’t do anything.

    In declarative languages, your state is the sum of everything you’ve declared. You don’t query results out of thin air. Computational results logically conclude from everything you set up.

    HTML ““has state””, as in it has a DOM, but it doesn’t do anything with it. You don’t mutate the DOM after it’s built, or query the DOM to compute results that weren’t trivially evident from the state you declared.

    You can do those things with JavaScript. But all that proves is JavaScript is a programming language, and HTML is just a data format it can interact with.



  • This is a tremendous amount of cope. Implying there are Lemmy users just lining up to contribute PRs if only it wasn’t written in Rust. Give me a break!

    If someone was competent enough to author code that’s fit to pull into a project like Lemmy, they’re more than capable of translating those skills to Rust. No language seeing modern significant use is so esoteric that a reasonably seasoned developer couldn’t make something competent in it within a week of starting to learn its syntax. Maybe a day, even, if the language you are trying to learn is highly similar to one you already know.


  • The bar for me is whether the language describes an executable program that has state and control flow.

    You could perhaps be generous and describe the DOM as a (write-only) state and the parser as a control flow. I don’t, personally.

    HTML is just a data container format to me. Belongs with the likes of XML, JSON, JPG, PNG, GIF, MP3, MOV, etc.

    The umbrella term I’d use for all of these is “coding”. That’s the skill of understanding structured languages and format specifications, and understanding how you can and can’t piece things together to make something coherent. This is a critical requisite skill to programming. But programming is more.

    Programming is the art of juggling of state and control flow in clever ways to trick funny rocks into computing something you don’t know. It doesn’t need to be general purpose, but I would argue it indeed needs to have a purpose. It has to be something more than just a pile of declarations you know from the outset. Otherwise it’s just structured data.



  • pixelscript@lemmy.mltoMemes@lemmy.mlApple
    link
    fedilink
    English
    arrow-up
    25
    ·
    4 months ago

    In a rather unorthodox way, yes.

    Android is one of those rare examples of a Linux kernel not being paired with GNU tools. I believe Android wrote their own versions of all the tools they wanted.

    The kernel is also extremely locked down by default. They very intentionally designed the OS in such a way that every facet of the kernel is kept abstracted away from you. It’s about as black-boxed as you can get, to the point where the fact that it’s Linux underneath is almost meaningless.



  • You’d certainly think so. But never underestimate a user’s ability to jury-rig a piece of software into doing something it wasn’t designed to do, ignoring any and all obviously better solutions as they do so.

    I don’t think I’ve ever actually seen documentation published on Discord and nowhere else. But I do very often see no documentation whatsoever except a “just ask around on the Discord” link serving the role.

    Discord probably isn’t used as a robust ticketing system either; usually if anything it’s a bot that will push all tickets to an actual GitWhatever issue, which is fine. But again, what I do see often is projects with no ticketing system whatsoever, and a Discord link to just dump your problems at. If the issue tracker on the repo isn’t outright disabled, it’s a ghost town of open issues falling on deaf ears.

    Announcements can be pretty bad. Devs can get into a habit of thinking the only people who care about periodic updates are already in the Discord server, so they don’t update READMEs, wikis, or docs on the repo as often as they should, allowing them to go out of date.

    Fwiw I’ve also seen several projects that have Discord servers with none of these problems, because they handle all those other parts properly.