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

help-circle


  • Consider how you’d go about exploiting the opposite case.

    If people will always vote for the slightly-less-worse candidate, then you only ever have to be slightly-less-worse than the opposition. You can sleaze right up to them and be almost as corrupt and evil as they are, so long as there’s just a little bit of extra sleaze sticking out that you can point to as the worse alternative. And you can farm the shit out of that, because then the other side never has to improve either - it’s an anti-competitive duopoly, where they both agree to only compete over surface details, not their overall horribleness, leaving them free to sleaze right up to the fucking-monster end of the spectrum.

    Presumably a percentage of people refused to enable that behaviour, and said that slightly-less-genocide is a bridge too fucking far.

    They made it plain from the outset that if the dems wanted to play chicken on this, the dems would lose. That they were not to big to fail, that daddy wouldn’t bail them out this time; put down the bombs or you’re getting kicked out for real.

    The morally-correct choice would have been for the dems to stop supporting genocide, especially with so much at stake.

    There’s this huge narrative that’s been consistently pushed that the actions of politicians are beyond accountability, sent down from on high like acts of god, and that moral responsibility lies only with the voters; that it’s meaningless even imagine any obligation for the ruling class to try and be good enough to vote for.

    You know, the way the fossil fuel lobby found ways to shift the blame onto the consumer instead of themselves. The way the opioid manufacturers did the same. The way the gun manufacturers did the same. The way plastic manufacturers did the same fucking thing as well. We’ll act however we fucking well want to, and if you don’t like it, that’s literally your problem.

    Oh no, you can’t hold us accountable now, it’s the worst possible time. It’s too soon to have this conversation, how can you be so insensitive, can’t you see there’s a highschool full of dead kids?

    Somewhere, sometime, people have to say enough. And they did.



  • Okay:

    You don’t have to deal with scripting and command-line stuff, but all the major tinkering under the hood depends on it. The amount of customisation and tinkering is fairly infinite, so past a certain point you just can’t build graphical stuff to cover every single possible choice - and that’s where the gibberish comes in.

    Baseline concepts:

    ‘Operating system’ means different things in different contexts, and this can be confusing.


    Context 1: technically correct

    Your computer has a big chip that runs programs, and a bunch of hardware that actually-does-stuff: network card, graphics card, disk drive, mouse, keyboard etc. Programs need to talk to the hardware and make it do stuff, or else they don’t actually… do… anything.

    There’s two problems with that:

    There’s a gazillion kinds of hardware out there, that all has its own language for talking to it, and your program would either only run on one EXACT set of hardware, or it would have to speak all gazillion languages and be too big to fit on your machine.

    The second problem is that in order to do more than one thing at a time, you need a bunch of programs all running at once, and they all need to use the hardware, and without something to coordinate the sharing, they’ll all just fight over it and everything falls down in a tangled heap.

    A good analogy for this is a restaurant. They aren’t just public kitchens where you can just wander in and start preparing your own meal, taking ingredients/equipment/space however you want, then just carry it to whatever table takes your fancy - and you definitely can’t have all the customers doing it at once. Especially if they don’t know how all the equipment works, where the different ingredients are kept, etc - it would be an absolute disaster, and there would be fights, injuries, fire and food poisoning.

    So instead there’s an agreed-upon system with rules, and people that do the cooking for you. You make a reservation or queue at the desk, you are told which table you can have, you go sit there and a waiter brings you a menu. You pick the food - and depending on the place, maybe ask for customisation - then wait and they bring it out to you, then you sit there, eat it, then leave.

    That system-with-rules is the operating system, or more specifically the operating system kernel. Any time a program wants to do more than think to itself, it has to asks the OS to do it, and bring it the results.

    In this analogy, fundamentally different operating systems (windows / linux / OSX / android / etc) would be like different kinds of (5-star / sushi-train / pizza place / burger joint / etc) that have different rules and expectations and social-scripts to interact with them. A program written for one OS would have no idea how to ask a different OS for what it wanted, and wouldn’t be able to run there.


    Context 2: what people usually mean

    It’s all well and good to have a machine that can run programs and do things, but the human sitting in front of it needs to be able to interact with the thing, so you can poke buttons and move files around and move windows and stuff.

    And so there needs to be a crapton of programs all working with each other on the thing to provide all this functionality, and the whole user experience - preferably with a consistent design language and general expectation of how everything should work: you need a desktop environment.

    In restaruant terms, this would be the specific brand/franchise/corporate-culture that runs the place. Yes, the general idea is that it’s a burger joint, but specifically it’s a mcdonalds, or a wendy’s, or whatever that homophobic chickenburger place is called - it’s got the decor, it’s got the layout, it’s got the specific combo meals, etc etc, the same uniforms, the same staff policy, etc.

    Now here’s the thing:

    Let’s say there’s only one sushi franchise in the world. That’s like Windows - there’s updates new versions and some slight variations (server versions aside), but you walk into one, you’ve walked into them all. There’s one Windows kernel, and one windows desktop environment that goes with it.

    And say there’s only one pizza-place franchise in the world, and they all look the same, have the same menu. That’s like OSX: there’s one kernel, and similarly one OSX desktop enviroment to go with it. A mac is a mac, and it does mac things.

    But linux… linux is different. With Linux, it’s there’s 900 different burger-joint franchises in the world, and literally anyone can go start a new one if they want to put the time into designing one from the ground up. The paradigm is the same - order at the counter at the back, menus on the wall overhead, grab bench seating wherever or get it to go - but every place can design the look and feel, the menu, the deals, the other amenities, the staffing structure, etc.

    And the different franchises - that’s what distros are.

    It’s the set of programs all working together that create a whole working enviroment, but everything uses the standard kernel to actually get stuff done. If your program can run in one linux distro, then it should be able to run in a different one, because your program uses the same standard set of requests in order to do things.

    The windows and the menus and the desktop apps and the way the interface behaves and how you configure everything can be different, but the core functionality that the software uses, is the same.


    Now, for the most part, Windows is like NO USER-SERVICEABLE PARTS INSIDE, all the fiddly internal bits are carefully hidden away and made deliberately opaque. You don’t need to know, we don’t want to tell you, we’ll let you change the wallpaper, but for everything else, we decide how it’s wired up. If you want it to do things slightly differently to suit your own workflow, tough.

    Macs are kind of the same deal: for the most part it’s no-touchee, you’ll break stuff. Just push the very shiny buttons and be happy that everything Just Works ™.

    But Linux… doesn’t seal anything in plastic. All the gubbins are not only there on display, they’re mostly all human-readable and human-tinkerable with. Instead of mysterious monolithic chunks of software communicating with each other via hidden channels, with configuration in databases you don’t get to see… it’s mostly scripts you can read and tinker with, and plain-text config files you can edit, all writing useful details in highly-visible log files that you can read through when things don’t do what they’re supposed to.

    Now with a lot of distros, you absolutely can just push buttons and treat the thing like a Windows box, and never have to tinker with the fiddly bits. You’ve got a browser, you’ve got apps, you’ve got games, it just does the thing. But if you want to start getting technical, you absolutely can - unlike windows or mac.

    But this very ability to configure and tinker and patch bits on - and the fact that most distros don’t have a gigantic microsoft-sized coordinated team all following one shared vision, but are wired together like a kind of junkyard frankenstein from thousands of separate teams as a labour of love - means that occasionally you will need to get technical to deal with small annoyances or use-cases they didn’t think of.


  • Who says you need punishment at all?

    The vast majority of misbehaviour is down to poorly-developed coping skills. Which kids have, because, y’know, they’re kids.

    We all do stupid shit we know we shouldn’t, even when we know it will lead to bad outcomes for us, because fuck it.

    Work is stressful, fuck it entire pizza for lunch. I’m sad and lonely, fuck it I’m calling my ex. I have a shitty headache, fuck it imma chew this stupid customer out. Omg I need to know what happens, fuck it I’m binging the rest of this series at 1am on a work night. Partyyyyyyyy fuck it lets finish the entire bottle. And so on, and so forth.

    Emotion management and impulse control is a learned skill, especially when you have to integrate it with all the social stuff. People have decades of experience, and they still fuck up.

    What the flying fuck do you expect from a little kid? They’re hilariously incompetent at literally everything; why do you imagine that they’d be automatically perfect at probably the most difficult complex and nuanced skillset there is? They need strategies for dealing, they need experience recognising that they need to deal, and they need time to develop enough emotional resources to take the strain.

    And since when did anyone get better at learning any skill when every slipup leads to some asshole deliberately inflicting pain and/or misery on them?

    That’s not how you draw a dog, Emily. :thud: You made me do that.

    You missed the ball, Billy. Now you don’t get fed.

    No, Kate, 5 x 8 is not 42, now I’m going to throw out all your toys.

    It doesn’t work like that. People need to learn from their mistakes just as much as from their successes - which means a safe environment with support and feedback, not anxiety, fear, pain and shame.

    When my kid was about 6, he had the worst time with video games. He would get frustrated when he lost, frustration would make him worse at the game, he’d start losing more and more, get even more frustrated and he’d spiral into a meltdown and storm off in rage and floods of tears and be absolutely miserable for ages.

    Getting angry and melting down because you lost at a video game is entirely unacceptable behaviour, but just heaping more misery on him for doing it would have been not only highly counterproductive but a complete dick move as well.

    So instead of doing that, I taught him how to manage the emotion - how to recognise the feeling of frustration, how to recognise when it was building up past his ability to handle, and then to step back and take a break until he was out of the red zone before getting back to it. It took trial and error and a whole bunch of practice, but by god it worked.

    Once he got the hang of managing it, not only did the meltdowns stop, but the breaks got shorter and rarer as he smoothed out the curve and got to practice increasing his tolerance without catastrophic failure blowing the whole thing up. Before long he was actively seeking out the most ridiculous rage-games like Super Meat Boy and VVVVVV just to revel in it (and beating the shit out of me at them too, little tyke).

    And this principle generalises across the board. Teach them to manage the gigantic emotions and impulses that assail them from all sides. Give them a strategy for dealing with them - and when something gets past them, acknowledge the failure, make restitution if necessary, then postmortem what went wrong and how to handle it better next time. They may not like the process, but that’s worlds away from deliberately inflicting shit on them for the sake of it.

    They absolutely do need the feedback, you can’t just give blanket approval to everything and expect results - you just keep it constructive. It’s that simple. Unconditional love and they need to do better than that what the fuck little dude.

    And when they’re too little to reason about stuff, that’s what the Parent Voice and judicious use of Death Glare is for. You don’t need to yell, you just go full Mufasa on them as necessary. There’s a couple of cheap tricks you can use to de-escalate threenager tantrums, mostly by interrupting the self-talk loop.

    And it works. My kid got all the way through the school system without ever getting in any kind of trouble; I don’t think I needed to even tell him off about anything past the age of 10 or so. We have a great relationship, I never had to be a dickhole to my kid, and I never relied on intimidation to maintain authority through his childhood, it just naturally tapered off into mutual cooperation as he got older.













  • Resources and influence will always drunkard’s-walk into the hands of the unscrupulous and manipulative, pretty much by definition.

    They’re going to be drawn to it, they’ll fight dirtier for it, and they’ll use the power it gives them to prevent anyone else from taking it away.

    Big Tech is a huge source of both, so it would be amazing if the people on top of the heap weren’t massive piles of shit.


  • I do know about window managers, thanks.

    And that’s part of the problem: they all have their own slightly different infrastructure that relies on slightly intricate and not-quite-standard plumbing.

    Dialogs not opening, or those weird invisible 30-second timeouts opening an application becasue dbus isn’t happy because one of the xorg init scripts messed some XDG path or set the wrong GTK_* option, or XAUTHORITY is pointing somewhere weird.

    Whichever user is logged in locally should be allowed to talk to the device they plugged in via usb? Well that’s just an unreasonable thing to expect to happen by default, let me spend 20 minutes cooking up a udev script to chown it on creation.

    Users managing to set their default terminal to some random script they were working on (seriously, how?). Or they initialised their xfce4 profile with the blank-toolbar option and now can’t work out how to launch anything.

    Notification popups? Sure, the toolbar will let you add one, but nothing communicates with it by default lol.

    also jesus christ kde.

    And I’m talking about the built-in functionality of the desktop environment wrt package management, not separate applications.

    Sure, it’s nice to be able to apt-get upgrade and just get everything all at once - when everything is happy with everything else.

    But when you get conflicting dependencies and you have to take time out to track down what libpyzongo0-util is used for or what is going to break later on if you just purge it because people use cutesy package names that are worse than Ruby libraries in terms of communicating what they’re actually for, and do we need this thing for the core platform or it it form some random crap that was installed ad-hoc and used precisely once, it gets old.

    Like I say you need this amount of flexibility and complexity for development and deployment and network services and all the rest. Anyone using Windows for much more than file-print-office-browser-gaming has more masochism in them than I can comprehend.

    But for that same very minimal set of core use-cases, you don’t need (or, I’d argue, want) flexibility or complexity, you want it to be simple and robust with JOWTDI. And for everything else, you ssh into your linux box and do it there. I was amazed to discover that Windows Terminal is actually really nice; combine that with an X server and maybe a VNC client, and you’ve got the best of both worlds.

    And yes, Windows has all kinds of annoying shit of its own - but that mostly pops up when you want to do interesting things on it, not when you just want to look at cat videos on the internet.


  • I’m a sysadmin. We’re a Linux shop, I spend my life deep in the guts of Linux boxes, both server and desktop.

    And for my daily-driver both at work and at home, I use windows.

    The UI and overall UX are just better. The annoying bullshit I make a living knowing my way around, I don’t have to think about.

    For actual development or backend services, of course you want a Linux box. Proper logging, proper tools, build shit, pipe it together, automate stuff and get down and technical when it breaks. Doing that on windows is absolutely hell.

    But on windows, the volume control just works, I never have to delete lockfiles to get my browser to open, my desktop login doesn’t terminate if something in .profile returned nonzero, I can play every video game out there without having to fuck around, I can use native versions of real apps, I don’t have package-management dependency hell, all the pieces were designed to work with each other, and the baseline cognitive load needed to just use my computer is zero, which frees up my brain to focus on my actual work, or for playing games and fucking around on the internets.