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

help-circle







  • Well, I can throw in another for free:

    distro Kate kwrite
    openSUSE true false

    But yeah, interesting list. These days, KWrite is basically just Kate with different configuration, if I understand correctly, so it always feels like you might as well go with Kate. In my opinion, KWrite is also not particularly easier to use, since basic editing works the same, but I guess, that can be disagreed on.

    I do like that Kate is pre-installed. Imagine Windows, but rather than notepad.exe, you get Notepad++ out of the box. Now imagine that to also be a whole lot better and then that’s what it feels like to have Kate on fresh installations.
    You can just start coding something right away, without it being necessary to install a different editor.



  • Yeah, we’re not arguing against landfills as a general concept. But they’re still basically the least bad solution, when all the good solutions don’t apply or got ignored.

    Not producing that garbage in the first place is the big one. Most products in supermarkets are wrapped in trash, even though lots of them could be sold in reusable containers, or at least in biodegradable or recyclable containers. But burying trash underground is assigned a lower price than sending reusable containers back to manufacturers, so that’s what every company does.


  • The difference is the amount of trash and that more of it is not organic, so will not break down. A small hole in someone’s garden, which largely decomposes over a few decades, is a very different thing than a mountain filled with trash that stays there for the next generations.
    For example, groundwater can get contaminated by landfills, if they’re badly planned, or when an earthquake tears the ground under them apart.


  • Yeah, that’s kind of the advantage and disadvantage of Markdown. It’s so simple that alternative implementations can be easily created, which helps with adoption. But because those alternative implementations exist and because there is a need to add more features, those alternative implementations will see custom changes for the format, ultimately making the format less standardized.


  • Yeah, it doesn’t make a whole lot of sense here. Codeberg uses a Markdown flavor which honors single line breaks and it kind of surprised me how well that is working. Like, if you’re used to Markdown, you can put those two spaces and they’re just ignored. If you’re not used to Markdown, it works like you’d expect.

    I guess, the downside is that either each client needs to configure their Markdown renderer to behave like that, or I guess, the server software has to pre-process the Markdown to add in the double-spaces.
    That’s more of a problem for Lemmy than it is for Codeberg, because there is a number of different clients available.



  • Hmm, I wonder what the idea with the Rust interface is. There is already a Rust wrapper for the C library libgit2 (libgit2-sys) and a well-maintained library with a nicer/Rustier API on top of that (git2).

    I’d expect libgit2 to be pretty much just an API around the code that’s within Git anyways. So, is the Rust interface that again, just in Rust?
    I guess, you don’t need to take the route through libgit2, so potentially less things that can break there? Maybe they can somehow offer a nicer Rust API when they have internal access? Or maybe they’re just thinking, we want to official support Rust anyways, so might as well move the maintenance work into our code base?




  • Which is why making code readable is so very important. Our juniors and students will think we’re ridiculous, when we spend a long time cleaning up some code or choosing the least misunderstandable name for a type. But you fuck that up and then others, as well as your future self, will be wasting many more minutes misunderstanding what your code does.


  • Spamming comments is rather controversial, especially in high-level languages. Problem is, they only show up in one place, so they’re just not very useful, but also have a high chance of becoming inaccurate over time. In particular when you spam them to explain relatively trivial stuff, people will stop reading them, meaning they won’t update them.

    The ‘what’ can be documented with meaningful variable/function names, log/error/assert messages and perhaps most importantly unit/integration tests (which should be understood like a specification that checks automatically that it’s applied correctly).

    Comments are indispensible for explaining the ‘why’, though, whenever that is not obvious.