Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)F
Posts
1
Comments
706
Joined
2 yr. ago

  • Even if there are tight time constraints, you won’t sacrifice quality, because that would make you slower.

    Too right. People find this so hard to understand. I think they dramatically underestimate the payback time on technical debt.

    I am currently working in a startup that has the classic "we're a startup, quality doesn't matter" attitude. They think that they might not be around in a year so it's best to go fast and not give a shit about tech debt.

    In my experience that attitude bites in under 6 months. I'm already wasting entire days sorting out messes that they neglected to deal with.

  • 22 characters is significantly less useful than 255 characters.

    You can still use more than 22 characters; it just switches to the heap.

    nothing I am going to store is ever going to require heap allocations

    I would put good money that using 256 bytes everywhere is going to be slower overall than just using the heap when you need more than 22 characters. 22 is quite a lot, especially for keys. ThisReallyLongKey is still only 17.

  • I mean, it would be great if this succeeded... ffmpeg is nice and all but its interface is clearly terrible and there's absolutely no way it is remotely secure. Anyone that uses it on a server basically has to run it in its own VM, or a severely locked down sandbox.

    But good luck supporting all the codecs people expect. I'm not even talking the obscure ones ffmpeg supports; just the ones "normal" people use will be a life's work.

    Also you have to change the name!

  • Interesting idea, but your trick is never really going to help (you can store up to 255 bytes instead of 254). Also always using 256 bytes for every string seems wasteful.

    I think LLVM's small string optimisation is always going to be a better option: https://joellaity.com/2020/01/31/string.html

  • Obscure 10 years ago maybe. These days there have been so many articles about them I bet they're more widely known than more useful and standard things like prefix trees (aka tries).

  • Everyone is talking past each other because there are so many different ways of using AI and so many things you can use it for. It works ok for some, it fails miserably for others.

    Lots of people only see one half of that and conclude "it's shit" or "it's amazing" based on an incomplete picture.

    The devs you respect probably aren't working on crud apps and landing pages and little hacky Python scripts. They're probably writing compilers and game engines or whatever. So of course it isn't as useful for them.

    That doesn't mean it doesn't work for people mocking up a website or whatever.

  • I think this could have been about 1/4 the length. Fairly basic stuff by modern standards and you don't need so many words. It is all correct at least, as far as I could see!

  • I mean yeah I guess that's its primary purpose if you totally ignore the fundamental thing it's meant to be doing.

    It's like saying the primary purpose of a seatbelt is to be easy to fasten and unfasten.

  • Of course I wouldn't write in raw machine code, or even assembly. We invented higher level languages that are more powerful and easier for humans to use...

    But the purpose is still to make machines so stuff!!! I'm not just writing code so that other humans can marvel at my algorithms.

    This is so freaking dumb.

  • Make computers do stuff for what purpose?

    For whatever task you're trying to get them to do. Predict the weather, solve an equation, format a document, etc. Computers can do useful things. We program them so that they do those things.

    This is the most ELI5 thing I've ever written. If you actually understand programming and you don't realise that it exists to make computers do things then you're surely just being deliberately obtuse.

  • This is stupid. The whole point of programming is to make computers do things. Before computers, "code" was just hand wavy equations. Sum from 1 to n stuff.

    Yes it is designed so that humans can understand it, but the point is to make computers do stuff. Very obviously.

  • Code is primarily to communicate from human-to-human, and only incidentally for computers to execute

    Uhm what? No. That is a stupid thing to say. It is primarily intended for computers to execute, but in a way that humans can understand.

  • Yeah... I mean they should have just copied whatever video conferencing platforms do because they all work fine behind corporate proxies and they also don't suffer from this "increasing delay" problem.

    I haven't actually looked into what they do but presumably it's something like webrtc with a fallback to HLS with closed loop feedback about the delay.

    Though in fairness it doesn't sound like "watching an AI agent" is the most critical thing and mjpeg is surprisingly decent.

  • That is not actually a "data race". It is a race condition for sure, but a data race is a very specific thing - where two threads access the same location at the same time and at least one is a write.

    That could be unsafe in Rust because it might lead to reading "impossible values" like an enum that isn't equal to any of its variants. Therefore safe Rust must prevent it or there's a soundness hole.

  • Doesn't say anything you didn't already know. Probably written with AI.

    Also the conclusion is wrong:

    Neither approach is universally superior.

    The Rust approach is obviously superior.

  • Deleted

    Permanently Deleted

    Jump
  • Sounds like observability, proper load testing, etc. beat a system without that. Saying that spaghetti code beat clean code makes it sound like it won because it was spaghetti code.

    I haven't watched the video, nor am I going to with a clickbaity and apparently misleading title like that.

  • it has modules for everything

    Not everything. PyYAML, Pydantic and Typer are things I commonly want in scripts that aren't in the standard library.

    Simply do pip install anything. But best practice is to use a python virtual environment and install packages into that one.

    It's more than "best practice". It's mandatory on many recent Linux distros. And yeah setting up a venv and installing dependencies is not something you want to have to do for each script you run.

    Its one of the slowest to write code in.

    It depends what your goal is. If you want robust code that works reliably then I would say Rust has the edge still. Yes it will take longer to write but you'll spend way less time debugging it and writing tests.

  • That's kind of the point. You can do it in most languages, so why use a shitty one like Bash? Use a good language like Rust!

    Also there are aspects of languages that make many languages less suitable for this application though. For example Python, because you can't use third party dependencies (or at least you couldn't; I think uv has an equivalent of cargo script now). Java would be a pretty awful choice for example.

  • Not necessarily - look at Starlark for example. (I'm also not a huge fan of that but it does demonstrate that you don't have to have a weird functional language to avoid the issues of side effects.)