• 9 Posts
  • 713 Comments
Joined 4 years ago
cake
Cake day: May 31st, 2020

help-circle
  • It does have that, the ecosystem is just really fractured and also not good.

    Sort of the ‘standard’ way of managing dependencies is with Pip and a requirements.txt. By itself, that installs dependencies on your host system.
    So, there’s a second tool, venv, to install them per-project, but because it’s a separate tool, it has to do some wacky things, namely it uses separate pip and python executables, which you have to specify in your IDE.
    But then Pip also can’t build distributions, there’s a separate tool for that, setup.py, and it doesn’t support things like .lock-files for reproducible builds, and if I remember correctly, it doesn’t deal well with conflicting version requirements and probably various other things.

    Either way, people started building a grand unified package manager to cover all these use-cases. Well, multiple people did so, separately. So, now you’ve got, among others:

    • Pipenv
    • Pip-tools
    • Conda
    • PDM
    • Poetry
    • Rye

    Well, and these started creating their own methods of specifying dependencies and I believe, some of them still need to be called like a venv, but others not, so that means IDEs struggle to support all these.

    Amazingly, apart from Rye, which didn’t exist back when we started that project, none of these package managers support directly depending on libraries within the same repo. You always have to tag a new version, publish it, and then you can fix your dependent code.

    And yeah, that was then the other reason why this stuff didn’t work for us. We spent a considerable amount of time with symlinks and custom scripts to try to make that work.
    I’m willing to believe that we fucked things up when doing that, but what makes still no sense is that everything worked when running tests from the CLI, but the IDE showed nothing but red text.



  • Honestly also annoying as a not-so-new folk. I just thought about this yesterday, I reasonably expect to clone a random project from the internet written Java, Rust et al, and to be able to open it in my IDE and look at it.

    Meanwhile, a Python project from two years ago that I helped to build, I do not expect to be able to reasonably view in an IDE at all. I remember, we gave up trying to fix all the supposedly missing dependencies at some point…



  • I don’t know, man, far too many people seem to think that “easy to learn” means they’ll know all they need to know in relatively short time.

    Like, you talk to our data scientists and they’ll tell you doing anything in Python, no problem. But you talk to our seasoned software engineers and you see the war flashbacks in their eyes, because it racks up in complexity so fucking quickly, it’s insane.



  • As many here have commented, the map is pretty bad and lots of these are not officially recognized as national flowers.

    Having said that, actual national flowers, much like national animals, are often just whatever commonly grows in the country (assuming there is one flower that really sticks out).
    They don’t have to be unique, because you’ll have a flag or a coat of arms for that purpose (which may portray that flower or animal, for what it’s worth). So, they’re rather just part of the “national branding”, if you will.



  • I have actually seen it in an XML file in the wild. Never quite understood why they did it. Anything they encoded into there, they could have just added a node for.
    But it was an XML format that was widely used in a big company, so presumably somewhere someone wrote a shitty XML parser that can’t deal with additional nodes. Or they were just scared of touching the existing structure, I don’t know.


  • The thing is, it was never really intended as a storage format for plain data. It’s a markup language, so you’re supposed to use it for describing complex documents, like it’s used in HTML for example. It was just readily available as a library in many programming languages when not much else was, so it got abused for data storage a lot.






  • I do think, it’s good that we’re able to self-host these models. Better than not being able to.

    But the biggest draw of open-source to me is that I and others in the community can fix things.
    It’s possible that I just don’t understand enough about how these models are created, but right now, it doesn’t feel like we’re able to fix things.

    If the next LLaMa model loses all knowledge of the Uyghur genocide, because Facebook wants to distribute it in China, then I don’t know how we’d patch that back in. Even collecting the training data is tricky.

    It feels a lot more like Creative Commons than open-source, i.e. you can use what they’ve created, and you can remix it, but adding to it is not easily possible.




  • For OOP languages, you can definitely get IDE plugins, which create UML from code.

    Personally, I’ve never found them useful, though, partially because our code was never OOP enough, e.g. we were using the actor pattern, or had important modules with functions, or had lots of small classes for handing data around etc…

    But also because it just makes for bad architecture diagrams.
    It has no sense of what’s important and what should be abstracted away. Or how to structure the diagram to make it readable, e.g. REST API at the top, database at the bottom.

    What I also really don’t like about generated architecture diagrams in general (even when the contents are specified via e.g. PlantUML), is that things jump around every time you make a structural change. This means people looking at the diagram have no chance of learning what it looks like, so they can spot changes or know where to look for what they’re interested in.