• 0 Posts
  • 67 Comments
Joined 2 years ago
cake
Cake day: September 25th, 2023

help-circle
rss
  • 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.



  • I just click the litte nag icon in my taskbar whenever I notice it.

    Since I’m on Debian Testing that is often daily. But it varies. If I don’t look at that part of my screen that day, w/e.

    I thought I turned on auto update so it would just do it on its own. But it didn’t work for whatever reason. Sigh… Linux moment. There is an answer, surely, but the cost of debugging it outweighs my patience. Typing in my password an extra once(ish) a day is fine, I guess.

    Edit: Just realized this is the Arch community. D’oh.








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



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




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


  • I don’t mind Discord being a centralized platform for open source project discussion, if and only if the only roles it serves specifically play to its one strength, which is real time discussion. Asking for live support (from the dev if they are there, or the community if they are not) and doing live bug triage are the two big use cases.

    Should contact for these things be real time? Maybe, maybe not. Async discussion like you get on forums or via email can do the job. But if you value real-time chat, Discord does it well.

    Everything else? Do it elsewhere. Do not make Discord your only bug tracker. Do not make it your only wiki. Do not make it your only source of documentation. Do not make it the only place you broadcast updates or announcements. Do not make it your only distribution platform for critical downloads. And for the love of god please do not make it the only way to contact you. I don’t care if you allow Discord to additionally do these things using integrations, that’s fine, just stop trying to contort Discord into your only way of doing these.

    Is Discord the only capable option for real time chat? No. But it has several things going in its favor, namely how one can reasonably expect a good sum of their target user base is already using it independently for other purposes, in addition to its numerous QoL features.

    It can also better integrate into the dev’s personal routine if they already use it independently. Like, do I have an email address? Yeah. Do I read my email on any reasonable interval? Hell no. My email inbox is little more than a dustbin for registration confirmations and online order receipts. I’ve had email for decades and I think I can count the number of non-work, non-business conversations I’ve held over it in that whole span of time on one hand. Meanwhile, I’m terminally online on Discord. So if I’m gonna be a small independent FOSS project developer, am I gonna want to interface with everyone over email? No. I’ll still make it an option, because being only contactable on Discord is cringe, but it will not be fast. Discord will be my preferred channel.

    Should I put more effort into being contactable on other platforms, because it’s the right thing to do? Meh. I have no duty of stewardship to be available on platforms available to anyone in particular. I maintain this hypothetical project for free, on my own time, of my own volition, and I provide it to you entirely warranty-free. I have the courtesy to make all static resources available in sensible public places, and I provide email as a slow, async way to reach me. But if you want to converse with me directly in real time, you can come to me where I’m hanging out.



  • It amazes me how every time a for-profit company that provided a free service goes mask-off and starts aggressively monetizing it so many people put on a shocked Pikachu face.

    This is exactly how this works, people! The free shit is always bait to draw you in and get you invested. The trap was designed from the start to snap shut once there was enough of you in it. They fully intend to not just extract value from you to run the service, but also to retroactively pay for all the free shit they gave you. It was always a loan. An investment.

    Oh, sure, you can always be sly by taking the free shit and ditching once monetization comes over the horizon. But do so knowing that every time you need to do this is the rule, not the exception. Companies aren’t suddenly slighting you one by one out of the blue, it was always the strategy from the beginning for all of them.


  • I use KDE on Debian and did not encounter this problem when I did the reverse action (migrated /home from a second drive back to the system drive).

    This may be an insulting question, but are your files in the new home partition inside a /home directory on that partition? Because if they are, that would definitely mess it up. If you mounted that to /home in your fstab file, then the path to your home dir would be /home/home/user instead of /home/user. Your user directory needs to be at the root of the filesystem on that partition.

    I expect you did not make this mistake, but a sanity check never hurts…

    Oh, and check the files on the new partition with ls -l as well. See who owns them. If you did the copy with the root account or with sudo, the owner of the files might be root. They should be owned by the user you are trying to log in as.