• 0 Posts
  • 18 Comments
Joined 11 months ago
cake
Cake day: August 2nd, 2023

help-circle
  • Yup this is the real world take IME. Code should be self documenting, really the only exception ever is “why” because code explains how, as you said.

    Now there are sometimes less-than-ideal environments. Like at my last job we were doing Scala development, and that language is expressive enough to allow you to truly have self-documenting code. Python cannot match this, and so you need comments at times (in earlier versions of Python type annotations were specially formatted literal comments, now they’re glorified comments because they look like real annotations but actually do nothing).


  • Nevoic@lemm.eetoMemes@lemmy.mluntil we meet again!
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    Socialists use work and labor to describe different things. Work is the set of actions a worker is coerced to participate in by capitalists to align with the interests of capital. Labor can be something you engage in as part of work, but that’s not always the case. Sometimes people have jobs that are so inefficient or bullshit that they literally don’t labor at all at work (read Bullshit Jobs).

    Labor is necessary (currently), work is not. Aligning with the interests of capital is not synonymous with the interests of humanity (think ad work, literally encouraging greater consumption, especially around harmful products like tobacco/alcohol/sugar. Most western countries now have bans on tobacco advertising, but still let advertising in general flourish).

    On the topic of feeding everyone, it would be very logistically difficult in the 1600s no doubt. Now we have a massive international trade system, I can easily get massive amounts of goods shipped from the other side of the world in weeks or maybe months at the worst. We also produce enough food currently to feed 12 billion people, and that’s with our incredibly inefficient system of converting edible plant matter (mostly soy) to animals.

    The issue is, under capitalism, poor people don’t deserve to eat. If they lack money, they’re better off dead than alive and consuming resources without paying for them, so that’s what the global international capitalist system does, it moves more than enough food great enough distances to feed everyone as it is. It just moves it to the rich countries where obesity has been a massive issue instead of the global south, because people in rich countries have the money to pay for food, and so they deserve to live (and overeat/waste food) but people born in Africa deserve death.

    Capitalists often lose sight of what an economy is for. An economy isn’t something of value in and of itself, it’s about setting up incentives and systems to benefit humanity. Capitalism fails to do this in everyway that is uniquely capitalist. Anything it does right is attributed to the general functioning of markets, which existed before capitalism and can exist after capitalism (market socialism is a real thing). There are problems with markets no doubt, but capitalism really has no redeeming qualities when compared to market socialism. If you compare it to feudalism, it does do better at mobilizing productive forces, of course at the massive detriment to workers.


  • Yes but in different ways depending on the country. The U.S has a pretty clear analogue, the Native American genocide.

    The main difference between Israel/Palestine and the U.S/Native Americans is the former is happening currently, the U.S has already successfully completed the genocide on their natives, while Israel is in the middle of its extermination.

    Germany also clearly has the Jewish Holocaust, but they weren’t successful in WW2, so that genocide didn’t get white-washed and instead was shamed to paint a clear good guy/bad guy narrative, despite the Nazis open praise of the U.S for our successful extermination of the natives, U.S business interests aligning with Nazis before and during the war, and the U.S trying to stay neutral between the Allies and Axis powers until Japan forced the U.S into action.


  • Nevoic@lemm.eetoMemes@lemmy.mluntil we meet again!
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    3 months ago

    This is the natural order, yet paraplegics live, why? Because we live in a society that attempts to circumvent the natural order in many ways, for the good of all.

    You should take a broader materialistic look on society, who does the work (the working class), who benefits from the work (the owner class), and instead of focusing on amping up people to devote their lives to serve the interests of capital, instead focus to reframe the goals of society to serve the interests of workers, which includes working less, or even not at all. Work is not labor.


  • Nevoic@lemm.eetoLinux@lemmy.mlLinux hits 4% on the desktop 🐧 📈
    link
    fedilink
    arrow-up
    8
    arrow-down
    2
    ·
    edit-2
    4 months ago

    Linux is a far more reliable operating system at the kernel level, which is why the vast majority of the Internet runs on Linux, and is very stable compared to anyone’s personal computer (no matter O.S). It’s also lighter weight at its core, which is a big plus for servers.

    The thing about Linux desktops that tend to be finicky is interop with some proprietary software (e.g nvidia drivers) or desktop environments (gnome can freeze/crash if you like running bleeding edge before bugs are ironed out). Windows has issues too however, free software often literally doesn’t run on Windows (requiring WSL, the same way games on Linux require wine), and the desktop environment is essentially indistinguishable from the base operating system. When you get a desktop environment crash on Windows, your system will BSOD and restart with no recourse, in Linux I can ssh into my still functioning computer and kill my DE, or drop to the TTL and do the same thing.

    The end might not seem like a big deal for some people (who cares if you have to restart by a button press or kill your DE and login, they’ll take a similar amount of time), but for someone like me where reliability is a big concern (as in, uptime for the half a dozen services/containers I run for people), this is great. People watching media off of jellyfin don’t have to stop because of a DE bug, but on Windows a BSOD would stop their media (and within the last week we’ve had several BSODs on Windows PCs due to bugs relating things like adaptive sync or sometimes just unknown reasons).

    For what it’s worth I also game exclusively on Linux, vk3d, dxvk, and proton are godsends. Somethings don’t work, developers who won’t flip the switch for EAC (e.g Fortnite), but for me the games I play always worked. This will actually change soon, Vanguard is coming to League and that only works on Windows, but also probably not my last install of Windows (I tried W11 when it came out because I’m just curious about new tech), but I had to do a TPMBypassCheck despite having ftpm enabled in the BIOS, and afaict, at least from people I know with similar builds to me, if this happened then firmware TPM probably isn’t being picked up by W11, and that means I need to buy a TPM module or drop to W10 to play League. Plus, vanguard is an intense rootkit with full 24/7 access to your O.S so I probably don’t want that installed anyway, even if it happened to work on Linux. Just going to stick to SoD for now in my free time lol


  • I’ve seen a couple of posts in here about sound. It’s wild that I’ve been through dozens of distros since the start of high school (12 years ago), installed them on at least 10 machines over that time, and can’t remember one issue with sound that took more than 15 seconds to fix (e.g discord choosing the wrong sound device because I have 6 things plugged in that can technically output sound, which also happens to my friends who use Windows).

    Maybe I’m just lucky. The only issues I recall having in the last decade are essentially graphics related. Either game compatibility (though proton/wine is much better than it was in 2015) or desktop environments being finicky (freezing on sleep for example), but the latter afaict was entirely due to proprietary nvidia drivers. There are proper, high-performance open source drivers in the works, so nvidia might be on par with amd in 2-3 years on Linux (which is to say literally no issues for the vast majority of people, probably far more stable than Windows).

    In the same time I’ve had lots of people come to me with problems that we’ve specifically troubleshooted and found Windows to be the issue even when it seemed like hardware problems. Like monitor flickering/black screening, and plugging in a different monitor the issue goes away. On the surface it seems like a hardware problem, but both monitors worked flawlessly on Linux for literally months. Full reinstalling Windows did not fix the issue. Upgrading from Windows 10 -> 11 did not fix the issue.

    Same thing with another friend’s external SSD. For some reason it wasn’t being detected on his Windows 7 install. We installed Linux and the drive was picked up. Maybe Windows 10 would’ve also picked up the drive in this circumstance, but a lot of people hated the idea of Windows 10 at the time (this was just after Windows 10 was released, when Windows 7 still had a similar market share).

    There’s likely a huge percentage of problems people attribute to hardware that are actually Windows being a shitty O.S, but nobody actually checks if Windows is the problem.


  • In humans there’s a psychological phenomenon called “crowding out”, essentially it’s hard for our brains to attach multiple, powerful incentives to one activity. Generally the “lesser” ones get crowded out by the more important one.

    I’m still young (26), and still feel the same way about programming, I deeply enjoy it. However, I know programmers who were passionate like me when they were younger, and that passion has been slowly drained as they continue to code professionally, and I’ve seen it come back when they move into non-programming roles (be it industry change or moving to management).

    Generally you won’t find yourself wanting to program 40 hours a week, 48-50 weeks a year, for 50 years without a substantial break, and yet that’s what capitalism expects of workers. Yet you’ll continue to work because there’s a more important incentive than passion, money.

    You need money to survive (food, shelter, etc.) and your brain understands those are more important than fulfilling a passion, that’s why you’ll go to work even if you’re drained mentally. You’ll continue to do that forever so long as you don’t have the financial freedom to do otherwise (which is the goal of capitalists, this is why we have COL-based incomes, so as not to overpay people who live in cheaper areas as it’d allow them the freedom to leave).





  • Most people aren’t practicing teachers, so it makes sense that not all explanations are the best. Trying to get an intuitional understanding of passing by reference or passing by value in imperative languages is arguably more important than understanding how map works, and yet I’d argue it’s also harder to do.

    If you understand map (not just lists, but futures, IOs, Options, Maybes, etc.) then you understand Functors. Yes there are laws, but mathematical laws here are just encoding our intuition. Something like Iterator in Java may not have laws, but you would expect that calling .next() doesn’t modify an SQL database, though it wouldn’t be a technically invalid implementation if it did. The same is not true for Functors. If you map over a List and the act of mapping each int to its double modified a database then you wouldn’t have a lawful functor. But that should make sense intuitionally without knowing the laws.

    People in OO land are more happy to say they “understand” something if they generally get what the abstraction is going for. Do you know all the methods for Iterator/Iterable in Java? Even if you didn’t, you’d likely say you get the “point” of an Iterable. The bar for understanding things in the FP community is usually higher than just understanding the point of something.

    This doesn’t mean FP is more complicated. Actually it kind of means it’s simpler, because it’s not unreasonable for people to totally understand what Functors are for all languages that implement them. The same is not true of Iterable/Iterator. There’s no way you’d have more than just an intuition about what Iterable is in a language you don’t know. I don’t program in Agda or Idris, but I know Functor in those languages are the same as Functor in Scala and Haskell. Same with Monad, Monoids, etc.



  • I think the dislike for Functors/Monads/Monoids etc. is super overrated. I’m not a mathematician, but christ these are beautiful abstractions coming from a background in Java and OO programming.

    Functor instances are defined by one function. Once you learn the one main thing that Functors do (mapping), you’ll understand them no matter the language. Monoids have 2, Monads have 2, etc. Yes all there are functions built in terms of the functions required in the typeclass definitions (or several typeclasses), but they don’t need to be known to effectively use the abstractions.

    I was able to easily transfer most of my Haskell knowledge to Scala at my last job in the typelevel ecosystem because of HKTs like Functors, Monads, monad comprehensions, Monoids, etc. I was the go-to guy for FP-related questions despite most of my background being in Haskell and not Scala.

    Using an Iterable in Java will be different than an Iterable in any other language in at least some respects. Yes they will represent the same abstract idea, but you can’t just 1:1 transfer knowledge between different Iterable implementations.

    I’ve programmed professionally in Java, Kotlin, Scala, Ruby, Python, JS/TS, and many more in hobbyist settings, and the cleanest transition was Haskell -> Scala (omitting language transitions on the same runtime, so Java -> Kotlin or JS -> TS).


  • Some people prefer using keyboards to navigate.

    I’m an i3wm, neovim, zellij user and WoW player. I have so many bindings that I use to navigate or do things, and I’ve optimized/automated away things that are repetitive to me.

    Zellij follows the unix philosophy in my book of being a good multiplexer. Sure, Intellij is also a sort of multiplexer with panes and terminal Windows, but I can’t use spotify_player and navigate around it inside Intellij like I can within zellij.

    Essentially I like installing a tool for doing one thing well, and then combining tools to make my environment fully usable. It allowed me to super easily swap out tmux for zellij when I found I preferred it, but I can’t swap out Intellij’s paning system for VScode’s if I find I prefer it.


  • “post-scarcity” in this context doesn’t mean “everyone gets everything they want whenever they want it”. Maybe I want to own a planet, but there aren’t enough planets to go around, and nobody actually believes in a future where everyone can get their own planet.

    When talking about these things, it’s best not to assume the most ridiculous interpretation of what the other person is saying. e.g instead of reading “post-scarcity” to mean “everyone gets everything all the time no matter what”, read it to mean “everyone gets what they need”.

    also for what it’s worth, I’ve been an ethical vegan for several years after being a die-hard meat eater and literally convincing people close to me to move away from veganism/vegetarianism exactly for health reasons (I had the same misconception you did about veganism). After actually going vegan, doing absolutely no meal planning, no exercise, no calorie counting, still eating mostly frozen food and pickup, my blood pressure as a lean 6’1 mid 20s male has gone from pre-hypertension to normal levels. I get my blood checked regularly and I’m far healthier than I was when I was downing popeyes, jersey mikes, and five guys several times a week. And I’m not just eating salads or whatever, I’m usually having vegan buffalo “chicken” or beyond burgers.

    I don’t advocate veganism based on health benefits (veganism is an ethical philosophy), but vegan diets are baseline much healthier than the baseline for non-vegan diets. You can’t go as wrong with them as the vast majority of Americans do with their diets.


  • As an extension to this comment, digital media is a perfect example of pure artificial scarcity. You can at least imagine a world where food or homes are scarce, it’s not our world, but it can be imagined. The same is not true of distributing digital media, and yet it’s still artificially scarce.

    Without scarcity in capitalism things lack value. That is extremely problematic.


  • Nevoic@lemm.eetoMemes@lemmy.mlDamn whippersnappers
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    11 months ago

    I’ve seen people get pulled over for doing 60 in a 65 on a highway where everyone is doing 70-85, because it’s dangerously slow with only 2 lanes.

    And it’s 6 lanes because of how much traffic there is, forcing people to weave around someone going 10-30mph below the flow of traffic is dangerous.


  • Nevoic@lemm.eetoMemes@lemmy.mlDamn whippersnappers
    link
    fedilink
    arrow-up
    2
    arrow-down
    5
    ·
    edit-2
    11 months ago

    Surprised this is getting as many upvotes as it is. It totally depends on context. I’ve seen posted 35 mph speed limits on 6 lane roads where every is going minimum 50mph, even with cops in the flow of traffic. I’ve also been on 2 lane roads (e.g opposing traffic is directly next to you) and the posted speed limit is 55mph.

    If you’re doing the speed limit in the second one, well done. If you’re going 15-25mph below the flow of traffic in the middle or fast lane, because of a posted speed limit, that’s a problem.