Skip Navigation
Microsoft Finally Realizes Nobody Wants Its Windows 11 Preinstalled Bloatware
  • Every year or two I give Windows a genuine try for around a month. WSL2 is actually pretty decent, it's a massive improvement on the Windows development experience I had back in 2015 when I tried running Windows full time doing Python/Ruby/Java development. Required cygwin, git bash, power shell, and cmd depending on what I was doing. It was a special kind of nightmare. Lots of native gems couldn't compile, lots of tooling issues, etc.

    Now you can use exclusively Windows terminal, keep essentially all your development stuff in a Linux subsystem, and pretend you're in Linux. Integration with things like vscode or intellij is quite decent with the WSL.

    That said, I hate Microsoft, hate the lack of customization, hate the default UI, hate the split between Windows 95-style settings and new Windows 10+, it's inconsistent as hell. Moving windows across monitors with different scaling still resizes the windows in a very archaic way. You can't reasonably use multiple desktops because you can't easily rebind keys to swap desktops without third party software. I've changed DEs in Linux for smaller issues than these.

  • Microsoft Finally Realizes Nobody Wants Its Windows 11 Preinstalled Bloatware
  • Yeah for both Ubuntu and Arch on two separate computers in my house, the process was just install the distro then install steam + Lutris (steam for steam games, Lutris for every other kind of game like League or WoW).

    Installing steam games is identical in Linux and Windows for the vast majority of games. Installing non-steam games is arguably easier since you never have to go to a web browser.

    Honestly the only reason Windows is "easier" is because it's preinstalled on computers. As someone who has fresh installed Linux and Windows, Linux is miles easier to install. To install Windows 11 I tried following their recommendations (enabling TPM and secure boot in bios), but the W11 installer still didn't like my 2 year old computer, so had to open up the command prompt, regedit, and add 3 Bypass registry DWord 32 bit values. Then actually installing the O.S you just sit there and wait with an unusable computer. Linux installations have nice GUIs that are far more modern, don't require weird terminal hacks, and you have a usable computer while it's installing (you can open up Firefox and browse the web for example).

    \rant

  • Apple reportedly won’t make leather cases for the iPhone 15
  • As a vegan this is the best non-vegan take I've ever seen, thanks. I'll have to find a pig to staple my phone to.

  • Massachusetts passed a 4% millionaire's tax last year. Now every public school student is going to get free lunch
  • It's also mad that this is also the case for adults. When you turn 18, you shouldn't suddenly lose basic rights (like access to food and shelter), but that's exactly what most capitalists want to happen (and so that's how it works).

    Goods with inelastic demand shouldn't be driven by the profit motive. Food, healthcare, housing, etc. We can let luxury goods stay within the private sector for now since people don't need them to survive, and come back to that conversation at a later date.

  • Golang be like
  • Note: Lemmy code blocks don't play nice with some symbols, specifically < and & in the following code examples

    This isn't a language level issue really though, Haskell can be equally ergonomic.

    The weird thing about ?. is that it's actually overloaded, it can mean:

    • call a function on A? that returns B?
    • call a function on A? that returns B

    you'd end up with B? in either case

    Say you have these functions

    toInt :: String -> Maybe Int
    
    double :: Int -> Int
    
    isValid :: Int -> Maybe Int
    

    and you want to construct the following using these 3 functions

    fn :: Maybe String -> Maybe Int
    

    in a Rust-type syntax, you'd call

    str?.toInt()?.double()?.isValid()
    

    in Haskell you'd have two different operators here

    str >>= toInt &lt;&amp;> double >>= isValid
    

    however you can define this type class

    class Chainable f a b fb where
        (?.) :: f a -> (a -> fb) -> f b
    
    instance Functor f => Chainable f a b b where
        (?.) = (&lt;&amp;>)
    
    instance Monad m => Chainable m a b (m b) where
        (?.) = (>>=)
    

    and then get roughly the same syntax as rust without introducing a new language feature

    str ?. toInt ?. double ?. isValid
    

    though this is more general than just Maybes (it works with any functor/monad), and maybe you wouldn't want it to be. In that case you'd do this

    class Chainable a b fb where
        (?.) :: Maybe a -> (a -> fb) -> Maybe b
    
    instance Chainable a b b where
        (?.) = (&lt;&amp;>)
    
    instance Chainable a b (Maybe b) where
        (?.) = (>>=)
    

    restricting it to only maybes could also theoretically help type inference.

  • Golang be like
  • Here's an example (first in Haskell then in Go), lets say you have some types/functions:

    • type Possible a = Either String a
    • data User = User { name :: String, age :: Int }
    • validateName :: String -> Possible String
    • validateAge :: Int -> Possible Int

    then you can make

    mkValidUser :: String -> Int -> Possible User
    mkValidUser name age = do
      validatedName ← validateName name
      validatedAge  ← validateAge age
      pure $ User validatedName validatedAge
    

    for some reason <- in lemmy shows up as &lt;- inside code blocks, so I used the left arrow unicode in the above instead

    in Go you'd have these

    • (no Possible type alias, Go can't do generic type aliases yet, there's an open issue for it)
    • type User struct { Name string; Age int }
    • func validateName(name string) (string, error)
    • func validateAge(age int) (int, error)

    and with them you'd make:

    func mkValidUser(name string, age int) (*User, error) {
      validatedName, err = validateName(name)
      if err != nil {
        return nil, err
      }
    
      validatedAge, err = validateAge(age)
      if err != nil {
        return nil, err
      }
    
      return User(Name: validatedName, Age: validatedAge), nil
    }
    

    In the Haskell, the fact that Either is a monad is saving you from a lot of boilerplate. You don't have to explicitly handle the Left/error case, if any of the Eithers end up being a Left value then it'll correctly "short-circuit" and the function will evaluate to that Left value.

    Without using the fact that it's a functor/monad (e.g you have no access to fmap/>>=/do syntax), you'd end up with code that has a similar amount of boilerplate to the Go code (notice we have to handle each Left case now):

    mkValidUser :: String -> Int -> Possible User
    mkValidUser name age =
      case (validatedName name, validateAge age) of
        (Left nameErr, _) => Left nameErr
        (_, Left ageErr)  => Left ageErr
        (Right validatedName, Right validatedAge) => 
          Right $ User validatedName validatedAge
    
  • Will using VSCodium instead of VSCode give me any large advantages?
  • For people unfamiliar with the vim ecosystem (I assume that's at least part of the down votes), it's actually much closer than you'd expect. If you're only familiar with vi/vim, nvim customizations are essentially on feature parity with vscode, with the added benefit of the vim-first bindings.

    What you have to do is install a customized neovim environment. Lunarvim, astrovim, nvchad, etc. Most of them have single line installation options for Linux, and then it comes with a bunch of plugins that will pretty much match whatever you'd find with vscode extensions.

  • Did I get the community values right?
  • Agree on majority of the post, except for "make the choices you feel are right". Hard disagree on this normatively. If you're saying it descriptively, sure, but it's essentially tautological at that point.

    We shouldn't advocate that people just act in whatever way feels correct to them. Sociopaths feel like it's okay to do things that are not okay. So do bigots, racists, speciesists, sexists, etc.

    We should instead do what you're doing with the majority of your post, advocate for correct positions and then come to a rational conclusion with the people we are talking to. Giving them a get out of jail free card, permitting them to do literally anything, is unnecessary.

  • Amazon Says It Doesn't 'Employ' Drivers, But Records Show It Hired Firms to Prevent Them From Unionizing
  • Saying the word "Nazi" or "slave" or whatever doesn't automatically make someone incorrect. Even if this were another Godwin's law that doesn't make the comparison invalid.

  • Amazon Says It Doesn't 'Employ' Drivers, But Records Show It Hired Firms to Prevent Them From Unionizing
  • There's a subset of people that anytime a comparison is made, where one situation is worse than the other, something happens where they become unable to understand the concept of a principle.

    It's like you recognize "hey, chattel slavery is worse than wage slavery!" (which is correct), and therefore there can be no principle applicable to both situations (incorrect).

    I assume it's that you're offended by the comparison, and the emotion gets the better of you, disallowing you from thinking clearly about it. I don't know what else it would be.

  • Amazon Says It Doesn't 'Employ' Drivers, But Records Show It Hired Firms to Prevent Them From Unionizing
  • Yeah I do, just on the principle that an environment that retaliates against worker solidarity is an oppressive environment.

    It's similar to someone saying "can slaves be well taken care of by their owners?" Many people would say yes, but I would say no on principle. No matter how short the work day, no matter the benefits, months off every year, etc. I would say on principle that being owned means you're not well taken care of.

    The principle here being that sometimes "one" negative can be enough to mean you're not "well-taken care of".

  • Amazon Says It Doesn't 'Employ' Drivers, But Records Show It Hired Firms to Prevent Them From Unionizing
  • If you're in an environment that would retaliate against you for unionizing, you're not "well taken care of".

  • Deleted
    Reddit is restoring my deleted comments without my permission.
  • This is the idea of class action lawsuits, a bunch of people who normally can be kicked around by giant corporations, coming together and taking them to court because the corporation abused everyone in the same way.

    So the answer here is a strong "maybe".

  • Singapore hangs third person for drug offences in little over a week
  • Do you actually hold this position in all situations? It was illegal to harbor Jewish fugitives in Nazi Germany, should those laws be respected?

    When you say "no, of course not", maybe actually consider what your position is before posting. Because nobody's position is to just "respect laws" in all circumstances.

  • The Reddit Protest Is Finally Over. Reddit Won.
  • Reddit is an interest of mine, but I have no interest in going to reddit anymore. Is that an unimaginable position for you?

  • Capitalism indoctrination in progress.
  • I actually convinced my boss to get us a ping pong table, all I had to do was forego my pay for a year!

    Totally worth, since I'm not working for the money, I'm working for the culture (our culture is now a ping pong table). It's so awesome that I can use it during my state-mandated breaks 🙂

  • No one is forcing you to work
  • You can't tell someone they're being pseudo-scientific and then accuse them of being adversarial as if you're not.

    I wasn't using circular reasoning, I was citing data. 90,000 rent controlled housing units in NYC are left vacant (this number has been rising). As we both understand, "individual" (either actually an individual or a corporation) capitalists act in their own best interests. They're not leaving these apartments vacant for years just because they want to fuck over poor people, they're doing it because they make more money off their other supply if these units are kept off the market.

    If you don't want to feel like you're spouting alt-right talking points, stop using verbatim the talking points that capitalists use to defend housing scalpers. At best, your entire point is "housing scalpers aren't as big of a deal as this other problem", and at worst you're ignoring the real problem so capitalists can keep exploiting the housing market.

    You haven't made a case in favor of housing scalpers, and for good reason, there's literally no case to be made for them. The capitalist position is that scalping houses isn't a big enough problem to have an effect on supply. Even if that were true (which would require 16 million housing units being vacant having no impact on housing supply), it doesn't mean that it couldnt be true in the future. What if the number rose to 30 million vacant units with the same population? Or 100 million? Or a billion? At some point it gets ridiculous. To me that's pretty clearly when you're at "we have 30x as many vacant houses as homeless people", but maybe your tolerance is much higher because homeless people aren't economically valuable to capitalists (except as a reserve army of labor).

  • No one is forcing you to work
  • No people don't "just have the option to move away", that's an incredibly naive way to look at the world, some people need to be in certain locations for social or work reasons.

    Also, what I'm saying isn't a "theory", it's an observation of data. You keep trying to rationalize it away, but whatever way you slice it you can't get rid of the 16 million vacant houses that are not in use, while we have half a million homeless people and rising costs housing costs.

    You seem to be insinuating that people don't just buy up housing and sit on it, like that's not a phenomenon that exists because you can't fathom why, despite my last comment clearly outlining several reasons how it could happen, and more importantly the fact that it does actually happen.

    1. Monopolies in certain areas. Your response? "They can move"
    2. Holding onto vacant rent controlled apartments to force people into more expensive units. Your response? "It wastes money" (untrue, in this situation it makes more money, which is why it happens in the real world).
    3. There are 16 million vacant housing units while we have half a million homeless people. Your response? Nothing, I guess those people's interests aren't as important as preserving the right for housing scalpers to hoard unused property.
  • No one is forcing you to work
  • You didn't respond to anything I said. You essentially said "I agree and you're wrong" with some fluff, so uhm okay good talk buddy.

  • No one is forcing you to work
  • There are a ton of reasons why individuals/corporations would scalp housing units and hold onto them without opening them up to use, from laws requiring fair treatment of renters like in NYC (where 90,000 rent controlled apartments remain vacant), to "unified cartels" actually have incredibly large influence over some areas (there are some companies that hold 10s of thousands of housing units, like blackrock, and these corporations purposefully keep some vacant to inflate the price of all units and control supply).

    But even if you want to just close your eyes and ignore my last paragraph, you can try to rationalize away the data, but the data will still be there. There are 16 million vacant housing units in the U.S. Even if you can't fathom any reason why these might exist, they still do, and they still impact supply even if you'd like to believe they don't.

  • Nevoic Nevoic @lemmy.world
    Posts 0
    Comments 55