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

help-circle

  • Yeah, solid counterexample. Wikipedia and other Wikis have a clearly defined goal, i.e. collect factually correct information about a specific topic, which is also a goal shared by enough people to drive collaboration.

    Another cool example is the Mutopia Project, which basically archives sheet music. Contributors can just pick a piece of music and transcribe that, and they kind of don’t even have to talk to anyone for the project as a whole to benefit.

    But then there is lots of examples, like writing a new song, writing a new novel etc., where the goal is not clearly defined, where it’s difficult to collaborate, because what you contribute might not mesh well with what the others provide.


  • I think, it’s mainly a matter of the works to which Creative Commons is typically applied, being less suitable for collaboration. You might occasionally see remixes, but that’s mostly it.

    In the case of open-source, collaboration is what elevates it, and often makes it better than paid-for software.
    You rarely see Creative Commons works that outdo paid-for works in terms of objective quality. Heck, chances are that more collaboration happens in paid-for works, because they can hire an editor, a sound engineer etc…



  • Oh, I don’t think, it really needs the plug. It’s been around since forever, a proper GNU project and all that.
    Sure enough, it’s kind of niche, but there’s even music archival projects that have been typesetting all the works of Mozart et al in Lilypond, so there’s enough of a community to keep this ball rolling for the foreseeable future.

    And well, that’s also kind of where it’s strongest: Transcribing existing music.
    It’s actually less well suited for composing, because you basically can only listen to things by generating a MIDI, and also you can’t move measures around as easily.
    But yeah, I still like it for composing, because I can use a text editor and Git and such, and personally, I also find it helpful to refer to notes with their names for figuring out intervals, rather than them just being random dots between lines…



  • Your trouble with the clutch and watching the road, that will definitely get easier with practice.

    But what always remains stressful is that lots of drivers are insane cunts. As in, they should be in a psychiatry. They’ll tailgate you, if you have the audacity to drive the speed limit.

    And well, other factors can be at play. I’ve probably got some flavor of autism, so having everything around me rattle and explode, and needing to constantly pay attention to the road, that stresses me out due to sensory overload. Even after multiple years of practice, I’m more than glad to walk to the shops.


  • There’s two things at play here.

    MP3 (or WAV, OGG, FLAC etc.) provide a way to encode polyphony and stereo and such into a sequence of bytes.

    And then separately, there’s Unicode (or ASCII) for encoding letters into bytes. These are just big tables which say e.g.:

    • 01000001 = uppercase ‘A’
    • 01000010 = uppercase ‘B’
    • 01100001 = lowercase ‘A’

    So, what your text editor does, is that it looks at the sequence of bytes that MP3 encoded and then it just looks into its table and somewhat erronously interprets it as individual letters.


  • 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.


    • AFAB = assigned female at birth; basically because they happened to have a vagina at birth, so they were supposed to like pink and dolls and a lower paycheck and whatever else society has decided the female experience should be like.
    • AMAB = assigned male at birth
    • NB = non-binary; a person that identifies neither as male nor as female. They might be something in the middle, or they might be something completely different.
    • femme = basically the way women have traditionally looked or behaved (long hair, pink etc.)
    • fundie = fundamentalist Christian; basically very conservative, very eccentric people with world views they claim to be traditionally Christian
    • bussy = boy pussy; the anus of a man, or it may also be used to describe the vagina of a transmasc person
    • transmasc = transmasculine; a person who was assigned female at birth, but who rather identifies with masculinity and may have taken measures to be perceived as such (clothing, hormones, surgery etc.)

  • 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.





  • 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.