• 4 Posts
  • 489 Comments
Joined 2 years ago
cake
Cake day: July 14th, 2023

help-circle



  • To add to the other replies: This is what AI is for. Not to replace labor, but to enhance the ruling class’ ability to exploit labor.

    As a convenient side effect: If you use AI to spam people with bug reports, you’re basically DDoSing them… unless they then decide to use AI to help triage the avalanche. And wouldn’t you know it, Google just happens to sell AI to help you solve this problem they made for you!

    “Nice FOSS project you got there. It’d be a shame if something happened to it.”

    And also also: If FOSS in general turns into a ghost town… where are you gonna turn to get that boilerplate code you need to do a common task? That’s right, AI baby! All roads lead to boiling the Great Lakes so Nvidia can pay itself back.







  • I think maybe the biggest conceptual mistake in computer science was calling them “tests”.

    That word has all sorts of incorrect connotations to it:

    • That they should be made after the implementation
    • That they’re only useful if you’re unsure of the implementation
    • That they should be looking for deviations from intention, instead of giving you a richer palette with which to paint your intention

    You get this notion of running off to apply a ruler and a level to some structure that’s already built, adding notes to a clipboard about what’s wrong with it.

    You should think of it as a pencil and paper — a place where you can be abstract, not worry about the nitty-gritty details (unless you want to), and focus on what would be right about an implementation that adheres to this design.

    Like “I don’t care how it does it, but if you unmount and remount this component it should show the previous state without waiting for an HTTP request”.

    Very different mindset from “Okay, I implemented this caching system, now I’m gonna write tests to see if there are any off-by-one errors when retrieving indexed data”.

    I think that, very often, writing tests after the impl is worse than not writing tests at all. Cuz unless you’re some sort of wizard, you probably didn’t write the impl with enough flexibility for your tests to be flexible too. So you end up with brittle tests that break for bad reasons and reproduce all of the same assumptions that the impl has.

    You spent extra time on the task, and the result is that when you have to come back and change the impl you’ll have to spend extra time changing the tests too. Instead of the tests helping you write the code faster in the first place, and helping you limit your tests to only what you actually care about keeping the same long-term.


  • No apps, no code, just intent and execution.

    So the only problems you’re left with are:

    • Making a precise description of what you want, at high and low levels of detail with consistent terminology
    • Verifying that the system is behaving as you expect, by exercising specific parts of it in isolation
    • The ability to make small incremental steps from one complete working state to the next complete working state, so you don’t get stuck by painting yourself into a corner

    Problems which… code is much better than English at handling.

    And always will be.

    Almost like there’s a reason code exists other than just “Idk let’s make it hard so normies can’t do it mwahaha”.




  • kibiz0r@midwest.socialtoMemes@sopuli.xyzAdulting summed up
    link
    fedilink
    English
    arrow-up
    7
    ·
    19 days ago

    My thing is: How do people handle stuff that has to be done between 9-5, Mon-Fri?

    I tried to switch ISPs on Friday (which was an hour-long ordeal), got to the part where she said “Okay, I think that’s everything I have for you. I’ve got the disconnect screen pulled up, when would you like to —“ and the call dropped.

    It’s now Tuesday, and I haven’t found a spare hour during the work day to call again.

    I’ve also got a home warranty company telling me to update my claim or they’ll close it, but I need to talk to the receptionist at the plumbers during business hours to get them to resend the invoice.

    And then I get stuck in this loop of:

    • I have to make these calls today
    • I’ll kick butt at work so I have enough time
    • I spent the whole time worrying about those calls and didn’t get enough work done
    • Now I have one less day to make those calls

    Why can’t people handle things over email or a web portal? This is so much unnecessary stress and contortion.


  • It’s the problem, but also the strength. That fragmentation allows room to experiment.

    It also puts pressure on the underlying protocols/specs to be air-tight. If you have just one implementation to support, you can do whatever. If you have to support 15, all with different goals and constraints, you gotta be pretty damn careful.

    So in the end, we get foundational systems that are able to evolve over time instead of needing a breaking-change, ground-up rewrite every 2 years.


  • This is basically what the Luddites were fighting against:

    A world where labor has no opportunity to develop skills or use them, no authority over the machinery which dictates the nature of what is made and how, chasing fewer and fewer jobs for less and less pay.

    Their solution was to take sledgehammers to the factories. The owners, of course, hired thugs to shoot them. And the politicians ruled that the machines were sort of the property of the crown, and therefore destruction of these machines should be punishable by public execution.

    Funny enough, data centers today are considered strategic assets under the protection of DHS. Which is a fancy way of saying: still owned by the crown, still gonna shoot you if you try to negotiate via sledgehammer.