Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)PI
Posts
0
Comments
240
Joined
2 yr. ago

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

  • Sure. Which is why I would only make this distinction in a place where I can reasonably expect people to know better. Like, perhaps, a niche community on an experimental social media platform dedicated to programming.

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

  • Maybe you do know, but in case you don't, the "convenience fee" is (usually) just the price the vendor has to pay to process a credit card transaction. Because in order to accept credit cards as payment in the first place, they have to pay the credit card network for the privilege.

    Providing the exact same service to you is more expensive for them based entirely on the method you use to pay. You bet they're going to pass that extra expense onto you. The alternative is raising their service charge to eat the cost and screwing over people who pay with check or cash. Which is what most retail stores tend to do.

    Though, I agree, I'd rather they just do the fucking math and charge a rate that covers their operating expenses. It's shouldn't be my problem to pay their itemized expenses. Just know that if they did so, we'll be charged the same total either way.

    It's a similar argument with tipping culture. "Oh, you have to tip, employees rely on it to make ends meet!" Sure, but why is that my problem? If the business can't create a business model that properly pays for the expenses it needs to function, they should go out of business. Raise prices. I'll pay the same as the tip, fine, just stop playing these frivilous smoke and mirror games with my bill.

  • Particularly in politics and news communities, it indicates a "here is what

    <vaguely credible source we asked>

    predicts will happen" article. They're not all shit by default, but I'm generally not interested in speculation pieces. I only want to know what actions concretely happened, not what some guy anticipates may happen.

  • I got one as a hand-me-down from my father's office when they replaced all their chairs. It's pretty well worn and the upholstery is rather frumpy these days, but the bones of the thing are still good.

    I remember talking about desk chairs with a friend group and on a lark I thought I'd read off the model on it to demonstrate how unassuming this no-name chair I thought I had was. So I actually said something akin to, "Yeah, it's just some chair from some company called Herman Miller, whoever that is," and everyone was aghast. They had to explain to me what Herman Miller actually is, and I was very embarrassed for having accidentally humble bragged about it.

  • This is almost word for word what I said in another friend group today. Protecting individuals is literally why LLCs exist. It's what "LLC" stands for.

    Nintendo Hyper Beam'd them into oblivion but they got a Substitute up first. The defense strategy was smart. The strategy that put them in the position of needing to use the defense strategy was idiotic, yes, but the defense was smart.

    Short of Nintendo doing nothing at all, this is probably the best outcome that could have realistically happened.

  • I like KeePassXC because it's written in C and is thus cross platform, while KeePass is written in C# and relies on Windows UI libraries. You can run KeePass on Linux (and I did without usability issue for years) but it will look god awful.

    I won't knock plugins, everyone has weird use cases, but I don't know what people need KeePass to do that it doesn't already do out of the box. I've certainly never felt the need for any.

  • There are really only three licenses you should ever consider when making a new project in earnest: GPL if you want it to stay free forever, MIT if you don't care. Put an L in front of GPL if your project is a library. The end.

    Any CC license including CC0 looks fine on paper, and they are court-tested, but anyone with a legal department won't risk dealing with one in the context of software, because CC licenses are for creative works and scientific research, not software. The main thing they're missing is a warranty release.

    The Unlicense feels like an earnest attempt to fill the void that CC0 fails to fill, but it isn't a tested license. Everyone with a lawyer won't touch it with a 10 foot pole because they don't want to be the ones to find out how enforceable it really is. Besides, the only thing it gains you over the MIT is the ability to go uncredited. Which is nice feature; if people didn't want this we wouldn't have so many attempts to make a license that has it. But I feel like of all the features of a free software license one should be concerned about, explicit lack of credit is a pretty low-rung one.

    Direct public domain insertion is good and effective, but is not global. Many places in the world have no formal legal system to do this (Germany is a famous example). PD dedication without a permissive fallback license makes your code completely unusable in these places. It's exactly why the CC0 and Unlicense exist in the first place.

    Every single other license is either a meme license not worth the toilet paper it's written on, a weaker version of the GPL/MIT, or the GPL/MIT with extra steps.

  • Apple

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

  • Flash as an embedded media platform was a blight on browser security. But strictly as an animation tool, it was pretty nifty. You can even use tools like Swivel to render Flash animations to video.

    In the year of our lord 2024 there are probably way better tools than Flash ever was to do this sort of thing. But back in circa 2011 it was the best tool of its kind I knew of.

  • Indeed, it is my choice. And as of now, even in light of all of this article's information, I have chosen Discord. For now.

    Deal breaking flaws to others are not necessarily deal breaking flaws to me. If their differences in principles prevent them from reaching me on my preferred platform, tough noogies for them.