• 2 Posts
  • 749 Comments
Joined 5 years ago
cake
Cake day: May 31st, 2020

help-circle
  • Ephera@lemmy.mltomemes@lemmy.worldai dev vs chad dev
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    19 hours ago

    Kind of felt like that last week. Our web-UI would automatically reload when you switched tabs, clearing out what the user had entered into a form. I started debugging, but the build times of our web-UI have been abysmal, making it extremely tedious to sprinkle log statements over the code for narrowing down what triggers the reload.

    So, I decided to fix the build times first. The solution wasn’t complex, basically just pull out a module into a separate library to benefit from incremental compilation, but with all the import changes and some additional restructuring, it still ended up being around 2000 lines of code changed.

    Then I went back to debugging the reload problem, looked at it for 10 minutes, maybe rebuilt 3 times or so, and then made a lucky guess where I just changed one word for another and that fixed it. 🫠






  • Ephera@lemmy.mltoScience Memes@mander.xyzVenn Diagrams
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 days ago

    Pretty sure the green area is supposed to be the overlap of (1) and (2). 🙃

    So, it’s people who know what both a Venn and a Euler diagram are, but don’t necessarily know the difference. One could argue that if you’re in (1) and/or (2), you could reliably answer a quiz question correctly for what a Venn and/or Euler diagram is, therefore you wouldn’t confuse the two.

    So, maybe (3) could expand down like an hourglass, so that part of it is on the overlap and part of it is outside of both (1) and (2)…



  • Ephera@lemmy.mltomemes@lemmy.worldsorry for the commercial
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    6 days ago

    The thing is, producing another copy doesn’t cost you money. So, if you price it at $20 and 4 people buy it, when only one person would have bought it at $80, then you’ve made the same money.

    They only decide to put the price as high as they do, because they hope to extract as much money as possible from the fools that buy on release. Then they later put it on sale in hopes of also collecting the money from those not willing to pay $80.
    On some level, I assume they know how to make as much money as possible, but the same time, I do feel like the hype around Silksong would be a fraction of its size, if the game cost $80.


  • Yeah, I kind of respect the stance, because it knows what it wants to be, but I also wrap number types into a separate data type to document that maybe you shouldn’t multiply a port number by the wheel count and pass that into the temperature parameter, because I want more fine-grained typing, not one-size-fits-all.


  • Groovy will automatically convert integers into objects, as it sees fit. And one such case is when you assign null to an integer.

    There’s some more languages, which try to treat primitive types like objects, to make them more consistently usable. As I understand, nullability is a big part of the reason why it can’t be solved with syntactic sugar, so presumably this would be possible in all those languages.
    If I’m not mistaken, Ruby is another one of those languages.




  • We currently have a semi-serious project at $DAYJOB, like we’re basically allowed to work on it as a team building thing. And one guy who’s tugging along has ten years more programming experience than me, but no experience with the programming language we’re using, so he’s been generating everything with LLMs.

    He knows to write unit tests and well, the programming language in question is Rust, which’s strict compiler prevents lots of bad code from happening. So, this isn’t your stereotypical vibecoding.

    But …yeah, it’s still been challenging to work with.

    Yesterday, the guy built a feature which basically gives the user instructions how to create a bookmark in their browser. There’s a few ways to implement this:

    • You don’t. Our userbase is gonna be technical, they probably know how to do that.
    • You show the instructions for all browsers and let the user pick which instructions to follow.
    • You ask the user interactively what browser to set up and then show them only the instructions for the chosen browser.

    Right, and apparently the fourth way to implement this, which the LLM generated, is to detect what the default browser of the user is.

    Leaving aside the problem that some users will want to set up different browsers than their default browser, how do you implement that? Is there some nice, cross-platform API for it? Well, if there is, the LLM didn’t know about it.
    And neither are there nice APIs per operating system. On macOS and Linux, it runs some random commands to access this information. On Windows, the generated code looks at the Registry.

    All of this is absolutely horrid to maintain. I do not want to be testing on each OS separately. I do not want hundreds of lines of code for a feature that’s not actually needed. And the worst part is, the guy should know this. He has the experience.
    But I’ve seen the guy when he chats with an LLM, just falls into an absolute trance. Does not surprise me that he’s unable to take a step back to think, if this even makes sense to do…


  • You technically didn’t ask for them, but presumably this goes hand-in-hand with reduce and reuse as first steps, which would have perhaps a more visible impact.

    Reduce means to cut back on the amount of products we produce in the first place, particularly also the trash being used for packaging.
    This would require:

    • More craftsmanship. Instead of buying a new jeans when your pants have a hole, you’d sew them.
    • More robust, repairable products. Don’t need to throw away the whole phone due to a broken screen when it doesn’t break in the first place or if you can get the screen replaced.
    • More sharing. Not every household needs their own car or toolbox or whatever, if you can share them with your neighbors.
    • There would be more shops that sell products unpackaged, where you bring your own containers to fill.

    Reuse means to sell products in glass jars, metal boxes or similar, which can be washed out and filled anew.
    This would require:

    • Some container-deposit system, so that you can bring your emptied glass jars etc. back to the shops and the shop sends it back to the producer.
    • In that vein, there would need to be a tax on non-reusable packaging to finance the recycling or safe deposition of it.
    • Some products would probably be sold in larger quantities or not anymore, because they just aren’t sustainable, if you make them pay their environmental costs.

    As for recycling, i.e. breaking the thing down and creating a new thing, it’s unlikely that we would ever reach 100% with it alone, at the very least because it’s more effort than reduce and reuse.
    But to improve our rates, there is a whole load of products currently being sold in plastic, which could be sold in paper or wood, if glass jars or metal boxes don’t work there.

    In a hypothetical world, where we could have 100% effective recycling without giving a toss about reduce and reuse, then I guess, we’d have a garbage disposal system which funnels right back into a massive 3D printer.






  • Just to note, I disagree entirely. Even in commercial development, it’s the core premise of agile development to ship features early and continuously integrate feedback. Granted, lots of companies claim to do agile without actually doing it, but it’s at least not a law of nature what you’re describing.

    But with this not being commercial development either way, I really don’t feel like you can make any predictions. If the volunteer that implemented this sees your bug report, they could decide to drop everything else and fix that, because they get to pick their own priorities. They might have the solution in their head right away and it doesn’t take them long at all to implement. Or someone new to the project might decide this sounds like a good issue to get started with.