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

help-circle
  • Speaking as a software engineer, it’s usually a combination of things.

    The root of all evil is that yes, fixing that thing doesn’t just take one hour, as it should, but rather a few days. This is mostly preventable by having sufficient automated tests, high code quality and frequent releases, but it’s a lot of work to keep up with. And you really need management to not pressure early feature delivery, because then devs will skip doing necessary work to keep up this high feature-delivery velocity.

    Well, and as soon as such a small fix has a chance of taking more than a day or so, then you kind of need to talk to management, whether this should be done.
    Which means probably another day or so of just talking about it, and a good chance of them saying we’ll do it after we’ve delivered this extremely important feature, which usually means ‘never’, because there is always another extremely important feature.







  • Ist leider teil der Mietwohnung. Meine Vermieterin hat auch schonmal von sich aus gemeint, dass man den mal austauschen sollte, aber keine Ahnung, dann hat sie gemeint, dass sie kein passendes Modell gefunden hat, weil das ein mittlerweile unüblicher Unterbau sei, und damals auch wegen Chip-Knappheit.


  • Ephera@lemmy.mltoich_iel@feddit.orgich🛌🧓iel
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    4 days ago

    In meiner Wohnung ist das Wohn-/Schlafzimmer direkt verbunden mit der Küche. Und der eingebaute Kühlschrank ist ziemlich alt, wenn ich raten müsste, wahrscheinlich aus den Achtzigern.

    Und ja, Alter, das Ding raubt mir teilweise den Schlaf. Immer mal wieder macht es ein lautes Klack, wenn das Kühlaggregat einschaltet. Und dann rödelt das Teil gefühlt alle viertel Stunde alle 7 Minute für zwei Minuten rum.
    Es sei denn, man hat länger nicht enteist, dann sind es gerne mal fünf Minuten. Und das Kühlaggregat ist direkt im Kühlraum als Metallblech verbaut, was wirklich jegliche Flüssigkeit magisch anzieht, so dass man gefühlt alle zwei Monate enteisen muss.

    Habe echt schon überlegt, ob ich das Ding nachts ausstecken soll, oder mir tatsächlich wegen dem dummen Teil 'ne andere Wohnung suchen soll.

    Edith: Nachdem ich das kommentiert habe, habe ich mal darauf geachtet, wie oft der kühlen muss. Meine Fresse ist das nervig.




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


  • For example Rust needs to be able to dynamically allocate memory for all of its syntax to be intact.

    Hmm, you got an example of what you mean?

    Rust can be used without allocations, as is for example commonly done with embedded.
    That does mean, you can’t use dynamically sized types, like String, Vec and PathBuf, but I wouldn’t consider those part of the syntax, they’re rather in the std lib…








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


  • I mean, if we’re talking about all those problems, the no-type-annotations issue is rather specific for Python, JS/TS and Ruby.

    But in general, I feel like there’s somewhat of an old world vs. new world divide, which happened when package registries started accepting libraries from everyone and their cat.

    In C, for example, most libraries you’ll use will be quite well-documented, but you’ll also never hear of the library that Greg’s cat started writing for the niche thing that you’re trying to do.

    Unfortunately, Greg’s cat got distracted by a ball of yarn rolling by and then that was more fun than writing documentation.
    That’s the tradeoff, you get access to more libraries, but you just can’t expect all of them to be extremely high-quality…