• 1 Post
  • 52 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
  • That would be annoying for people who work on files with a double extension for legitimate reasons, e.g. .tar.gz, and (this can’t be stressed strongly enough) Windows users do not pay attention to warning popups, so it wouldn’t actually help. Despite it being eighteen years since Windows Vista released, and therefore vanishing unlikely that any given software was written assuming that Windows didn’t have a permissions system, it’s still most people’s first troubleshooting step to try and run things as admin, and you still get loads of people (including ones who should know better, e.g. ones who also use Linux and would never log in as root) who disable UAC as one of the first things they do when setting up a windows install, and end up running everything as the equivalent of root just to suppress the mildly annoying pop-up when something asks for elevated permissions.

    So, your proposed popup:

    • would be annoying including for legitimate uses
    • wouldn’t help as anyone who already ignores the smart screen popup that shows up when running a dodgy application will ignore the new popup, too
    • would be disabled by huge swathes of users anyway


  • It’s a silly flag to use as it only works when running 32-bit Windows applications on 64-bit Windows, and if you’re compiling from source, you should also have the option to just build a 64-bit binary in the first place. It made a degree of sense years ago when people actually used 32-bit Windows sometimes (which was usually just down to OEMs installing the wrong version on prebuilt PCs could have supported 64-bit) if you really wanted to only have one binary or you consumed a precompiled third party library and had to match its architecture.



  • And yeah, the PETA kills site clearly has an agenda, but their agenda is to try and save animals from PETA’s “love.”

    Their agenda’s to make PETA look bad so people don’t become vegan or demand higher welfare standards from meat producers, and they can continue selling meat to Americans of such low standards that it would be illegal in the rest of the civilised world.

    You know what no-kill shelters try to do when they don’t have space? Coordinate with local foster programs, coordinate with other shelters to see if they have space. There are other alternatives besides taking in a perfectly healthy animal and dropping it in the euthanasia queue.

    As I said, they can’t do that once the foster programs and other shelters are full, too, and then overflow into PETA-run shelters because they’re the ones that still have a capability to receive more animals after they’re full. There aren’t enough shelters to keep every animal in good conditions until it’s either adopted or dies of natural causes, and no amount of coordination can magically create extra capacity.


  • It doesn’t strengthen your point to link Fox News and the literal website for the smear campaign I mentioned: https://www.sourcewatch.org/index.php?title=PETA_Kills_Animals

    As for PETA putting down lots of animals, that’s no secret. It’s really easy to get people to donate to a no-kill animal shelter, so there are lots of them. However, when you’re a no-kill animal shelter, and you’re full of animals you can’t kill, or are asked to take an animal that can’t be ethically be treated with anything other than euthanasia, you have to turn the animal down, and it ends up wherever will take it. Usually, that ends up being a PETA-run shelter. When a PETA-run shelter is being given all the rejects from everywhere else, it’s obviously going to end up putting lots of animals down. It’d be better for PR if they didn’t, but less ethical, and they prioritise the ethics above the PR.

    If you look at one of your more reliable sources, the Snopes article, it backs up what I’m saying, and not what you’re saying. It corroborates the story from my original post, lists another incident where PETA staff were accused but not convicted, and then discusses that they put down a lot of animals in their shelters, and how it includes healthy animals. The only controversy there is the definition of adoptable - a healthy stray kitten is theoretically adoptable, but if you get ten times as many kittens in a week as you do people wanting to adopt a kitten, 90% of them won’t get adopted, and your shelter will get quickly overcrowded if you insist on ignoring that fact.


  • The UK has a high rate of veganism, and part of that is attributed to the fact that the major vegetarian and vegan organisations in the UK generally recommend persuading people by offering them delicious food that is also vegetarian/vegan and saying it’s more ethical. On the other hand, the equivalent organisations in the US tend to lean more towards recommending telling people that eating animal products is unethical, and it’s difficult to accuse someone of unethical behaviour without being insulting. It also doesn’t help that multibillion-dollar organisations have run successful smear campaigns against groups like PETA - everyone’s heard of the time they took someone’s pet dog and killed it, but most aren’t aware that it happened once and gets reported on as if it’s news every few months, or that it was an accident as the dog’s collar had come off and it was with a group of strays, and got muddled with another dog, so was put down weeks earlier than it was supposed to be, bypassing the waiting period they had specifically to avoid this kind of mistake.





  • Part of it depends on how you define things. They’re not a monopoly in terms of having eliminated all their competitors, but they’re a defacto monopoly in terms of being able to do the things a monopoly can. As an example, they can dictate pricing for the whole market as their margins are better than AMD’s, so if AMD undercut them, they can retaliate by dropping their prices to the point AMD would have to sell at cost, so AMD can only sell things in the narrow price window where Nvidia doesn’t feel threatened. On the other hand, AMD does exist and does sell things.



  • There are two things in conflict that apply to Dolphin, and in general to post-DRM console emulators:

    • It’s illegal to create or distribute a device which circumvents DRM.
    • It’s legal to ignore DMCA restrictions for the sole purpose of making things interoperable, like running software on machines it wasn’t originally created for when you’d be able to run it on the machine it was created for.

    The wording in the legislation is sufficiently vague that it’s not obvious whether it’s illegal to create or distribute a device that circumvents DRM for the sole purpose of interoperability. If a case goes to court, it could set a precedent that has to be applied in the future, or it could be settled out of court to avoid setting a precedent, and so far, there’s no case law setting a precedent.

    When Nintendo asked Valve not to allow Dolphin onto Steam, despite what some people were saying, the decryption key was known to be there, and the Dolphin team had legal advice that it was reasonable to expect that the interoperability exceptions had more power than the DRM circumvention restriction. The decryption key is a so-called illegal number, but these are probably not actually illegal, and you can see several examples on the Wikipedia page about them. Nintendo ended up taking no action against Dolphin, and it wouldn’t have been a good case to try and set a precedent with as there weren’t obvious damages now it’s been so long since the Wii stopped being sold, and because the Dolphin team have historically been so diligent about stamping out discussion of piracy in their official communities, making it hard to argue that it’s intended as a DRM circumvention device rather than an interoperability tool. Also, Dolphin’s never taken donations, easily covering all their costs with just basic ads on their site.

    Yuzu’s a bit of an easier target. For a start, it’s got a Patreon, and that makes it easier to paint its developers in a bad light as they’re getting money (as well as meaning there’s actual money to recover). They’ve also got data to back up the suggestion that lots and lots of Yuzu users are pirating games instead of just playing games they’ve already got a disk copy of. In a sensible world where laws are applied fairly, there’s an easy argument that hoops to jump through like requiring the user to provide Switch firmware show they’re not trying to make piracy easy, but it’s not like Yuzu will be able to muster up enough money for lawyers to match what Nintendo will be spending.

    The worst thing that could come out of this is a decision that interoperability isn’t an excuse for circumventing DRM under any circumstances, as that’ll have serious consequences for a bunch of other projects, and Nintendo are likely to want to push for this precedent to be set rather than accepting an out-of-court settlement. On the other hand, Nintendo could mess up and get the opposite precedent set, although if it looks like that’s going to happen, they’re likely to drop the suit.




  • I think you’ve misunderstood my complaint. I know how you go about composing things in a Unix shell. Within your post, you’ve mentioned several distinct languages:

    • sh (I don’t see any Bash-specific extensions here)
    • Perl-compatible regular expressions, via grep -P
    • printf expressions
    • GNU ps’s format expressions
    • awk

    That’s quite a lot of languages for such a simple task, and there’s nothing forcing any consistency between them. Indeed, awk specifically avoids being like sh because it wants to be good at the things you use awk for. I don’t personally consider something to be doing its job well if it’s going to be wildly different from the things it’s supposed to be used with, though (which is where the disagreement comes from - the people designing Unix thought of it as a benefit). It’s important to remember that the people designing Unix were very clever and were designing it for other very clever people, but also under conditions where if they hit a confusing awk script, they could just yell Brian, and have the inventor of awk walk over to their desk and explain it. On the other hand, it’s a lot of stuff for a regular person to have in their head at once, and it’s not particularly easy to discover or learn about in the first place, especially if you’re just reading a script someone else has written that uses utilities you’ve not encountered before. If a general-purpose programming language had completely different conventions in different parts of its standard library, it’d be rightly criticised for it, and the Unix shell experience isn’t a completely un-analogous entity.

    So, I wouldn’t consider the various tools you used that don’t behave like the other tools you used to be doing their job well, as I’d say that’s a reasonable requirement for something to be doing its job well.

    On the other hand, PowerShell can do all of this without needing to call into any external tools while using a single language designed to be consistent with itself. You’ve actually managed to land on what I’d consider a pretty bad case for PowerShell as instead of using an obvious command like Get-ComputerInfo, you need:

    (Get-WmiObject Win32_ComputerSystem).FreePhysicalMemory / 1024
    

    Even so, you can tell at a glance that it’s getting the computer system, accessing it’s free physical memory, and dividing the number by 1024.

    To get the process ID with the largest working set, you’d use something like

    (Get-Process | Sort-Object WorkingSet | Select-Object -Last 1).Id
    # or
    (Get-Process | Sort-Object WorkingSet)[-1].Id
    

    I’m assuming either your ps is different to mine, or you’ve got a typo, as mine gives the parent process ID as the second column, not the process’ own ID, which is a good demonstration of the benefits of structured data in a shell - you don’t need sed/awk/grep incantations to extract the data you need, and don’t need to learn the right output flag for each program to get JSON output and pipe it to jq.

    There’s not a PowerShell builtin that does the same job as watch, but it’s not a standard POSIX tool, so I’m not going to consider it cheating if I don’t bother implementing it for this post.

    So overall, there’s still the same concept of composing something to do a specific task out of parts, and the way you need to think about it isn’t wildly different, but:

    • PowerShell sees its jurisdiction as being much larger than Bash does, so a lot of ancillary tools are unnecessary as they’re part of the one thing it aims to do well.
    • Because PowerShell is one thing, it’s got a pretty consistent design between different functions, so each one’s better at its job as you don’t need to know as much about it the first time you see it in order to make it work.
    • The verbosity of naming means you can understand what something is at first glace, and can discover it easily if you need it but don’t know what it’s called - Select-String does what it says on the tin. grep only does what it says on the tin if you already know it’s global regular expression print.
    • Structured data is easier to move between commands and extract information from.

    Specifically regarding the Unix philosophy, it’s really just the first two bullet points that are relevant - a different definition of thing is used, and consistency is a part of doing a job well.


  • Powershell isn’t perfect, but I like it a lot more than anything that takes sh as a major influence or thing to maintain backwards compatibility with. I don’t think the Unix philosophy of having lots of small tools that do one thing and do it well that you compose together has ever been achieved as I think being consistent with other tools you use at the same time should be part of doing your thing well, and things like sed, grep and perl all having different regular expression syntax demonstrate inconsistency and are easy to find. I also like that powershell is so verbose as it makes it much easier to read someone else’s script without knowing much powershell, and doesn’t end up getting in the way of actually writing powershell as the autocomplete is really good. I like having a type system and structured data, too.

    Some of these things are brought to a unixier shell with nushell, but I’m not convinced it’ll take off. Even if people use it, it’ll be a long while before you Google a problem and the solution also includes a nushell snippet, whereas for any Windows problem, you’ll typically get a GUI solution and a powershell solution, and only a maniac would give a CMD solution.