Alt account of @Badabinski

Just a sweaty nerd interested in software, home automation, emotional issues, and polite discourse about all of the above.

  • 0 Posts
  • 584 Comments
Joined 2 years ago
cake
Cake day: June 9th, 2024

help-circle

  • The segmented caching request thing is… weird. I worked for a company that developed a caching proxy and it very much did not work that way. Like, random access in a caching system is usually kinda bad and you should try to avoid it. Like, our proxy manually controlled the disk (it wasn’t a mounted filesystem) so it could constantly sweep the head across the disk and cue up reads and writes optimally. This gets much harder when things are fragmented as fuck.

    If the concern was about what would happen with multiple connections for the same cache miss, then the caching proxy should just combine the client-side connections into a single upstream one. You can still cache the first part of the response if your upstream connection gets terminated and then restart it from that point.









  • Yeah, it’s so fucking frustrating. I felt conflicted writing this because I don’t want to reduce anyone’s resistance to the garbage being pushed by the big corpos. We should be saying “no” as strongly as possible at every encroachment. I just also don’t want essential research to also take the blow. A lot of environmental research benefits from satellite imagery, and anything we can do to glean more information from that is a good thing.

    Damned if you do, damned if you don’t. You can’t really expect the average person to learn the distinction between the good and the bad here. You can try to educate folks, but people already have enough shit on their plates as it is.


  • This is why “AI” is such a shit term. This is not a general purpose generative model, which is what you (and me) should (and very clearly do) dislike.

    This is a model that is designed to operate on a very specific set of data and extract information from it. It was created by people at the University of Cambridge, not one of the big shitty companies. It’s not something that you run all the time, it’s something you only run when gathering data for research purposes. The model was trained on truly freely available data. No nonconsensual large-scale scraping was used to train this model, so it’s free of the ethical concerns typically associated with “AI”. Since it’s something a research group would run by themselves on a single (albeit very powerful) machine, it has very modest power requirements.

    Models like this have been around for at least 15 years in the research space, and they don’t deserve your ire. It’s one of the truly good uses of ML.

    If you want more details on the system, it’s all open source and can be found here: https://github.com/ucam-eo/tessera

    EDIT: Please don’t take this as me trying to defend LLMs and image generators. I fucking hate LLMs and image generators. People at my workplace have described me as “the anti-AI guy” because I really am. I think almost all of the ML products made by OpenAI, Anthropic, and others are unethical and also just shit.




  • I gave it no advice, and all I wanted it to do was generate a script to tell me the file type of the newest file in the current directory. It was a very trivial piece of code. Each time it generated something I disliked, I told it “don’t do this, reference this guide for the correct thing to do,” or “don’t do that, do it in such a way that X happens.” It was like 20 lines of bash in the end.

    I was expecting it to write me a bash script because that’s the example that everyone, without fail, says will work well. “I just used Claude to write a little throwaway script to move some files around” were the exact words a colleague used.

    Bash is a shitty, unsafe language. I don’t write large programs in it. I expect “throwaway scripts” to still be written in a way that defends against all of the innumerable shitass foot guns present in the language. Claude was incapable of doing this in a reasonable time frame.

    I also dislike the Python and Go it generated, while we’re at it. It produces overly verbose, overly documented, poorly performing code. It was also fucking dog shit at referencing runbooks and documentation in a local folder when I was on call and responding to alerts.

    It sounds like you’re quite partial to Claude, and I hope it’s been a very good and helpful tool for you. I did not find it to be particularly helpful for me. It was very good at putting me in a sour mood, however.



  • I’ll say that during a recent week where I was forced to use an LLM, I found Claude Opus to be extremely poor at referencing this guide: https://mywiki.wooledge.org/BashPitfalls

    it took almost an hour to get Claude to write me a shell script which I considered to be of acceptable quality. It completely hallucinated about several of the points in that guide, requiring me to just go read the guide myself to verify that the language model was falsifying information. That same task would have taken me about 5 minutes.

    I believe that GIGO applies here. 99% of shell scripts on the internet are unsafe and terrible (looking at you, set -euo pipefail), and Claude is much more likely to generate god awful garbage because of the inherent bias present in the training data.

    And as for unit tests? Imo, anything other than property-based testing is irrelevant. If you’re using something like Pydantic, you can auto-generate a LOT of your tests using the rich type annotations available in that library along with hypothesis. I tend to write a testing framework once, and then special case property tests for things that fall outside of my models. None of this is super helpful for big ugly codebases with a lot of inertia around practices, but that’s not been my environment, thankfully.