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

help-circle
  • Sure, I guess, if you’ve got a distro installed on your PC and use the distro-provided packages to install the Rust compiler, then you can’t be subject to such certificate MitM attacks.

    Your comment sounded like you were primarily concerned about the shell script piping rather it just being a program which can be downloaded without going through distro packages.



  • Anecdotal, but I actually stopped liking fictional stories at some point, because I realized there’s such an abundance of cool and real stories I could be learning about, that it’s just like “Why are you telling me of a phoenix/dragon/Lavados when there’s black hawks setting fire to Australia?”.

    I guess, it also ties in, though, that I don’t do escapism in general either, so I don’t either get lost in real stories, nor drugs.
    I had a rough point in my life where escapism was crucial – I certainly don’t judge anyone wanting to step outside of this world for some time – but yeah, that changed my fundamental world view, so that I prefer to stay in the real world now.




  • Well, the writing-part isn’t the bad part about duplicated code. It’s the maintaining of it. In particular, if you duplicate logic, it happens all too quickly that you make modifications to one, but not the other, or you make differing modifications to both.

    Eventually, you’ll end up with two wildly different versions, where you won’t know why certain changes were made and not applied to the other version. Similarly, if you do need to make a similar change to both, you might now need to implement it two times.

    I guess, I do agree that it isn’t *always* worth it, but in my experience, it is far more often worth it than one might think.



  • Can we at least mention, though, that that’s kind of nonsensical, too? Give me a *very* high-level summary of what changed, but then the rest of the commit message should be the why (unless that’s genuinely obvious, like when adding a feature).

    If I actually want to know what changed, I can look at the code changes. I can’t find the why anywhere else, though. Nor can an LLM having to describe those random code changes.




  • Yep, the repository root. Where everyone starts to read your code, so you put your README there and the docs-folder and the entrypoint to your source tree, oh and also all this random guff that no sane reader would ever be interested in.

    I still remember how I tried to read larger repositories for the first time and this was genuinely a hurdle, because I figured these files must be highly relevant for understanding the code.

    My attempt at combating that has been to move as much of the code structure to the top as possible, so that someone new will have a much higher chance of clicking on something relevant. But yeah, downside is that your code structure isn’t as separated from the guff anymore…






  • I don’t have experience with Jujutsu, but I always have the same problem with these alternative frontends, which is that I’d still want to be proficient with the original. If you need to look up how to fix something or you want to help others in your team or you want to script something, then the language to speak is simply the Git CLI.

    And I don’t feel like I even use the Git CLI enough where a different tool could be so much better that it’s worth learning both.
    Obviously, your priorities may differ, but yeah, that’s just always the reason for me why I prefer the Git CLI, even if it were objectively more difficult to use.



  • We have a concept of word inflection, which can be used to replace a lot of words that English would use to denote something being a question, ownership markers, causes and effects etc.

    I don’t speak Finnish, but I believe a good example for such an inflection is how in English you can glue an -s to words to make them plural. In some other languages, you say “many word” instead, because they don’t have such an inflection.



  • It’s mainly horrid, because it means you have to code extremely defensively (or I guess, use a different API).
    You can’t rely on new Date("not a date") aborting execution of your function by throwing an error. Instead, you have to know that it can produce an Invalid Date object and check for that. Otherwise a random NaN shows up during execution, which is gonna be extremely fun to try to find the source of.

    I understand that it’s implemented like that partially for historical reasons, partially because it’s often better to display “NaN” rather than nothing, but it’s still the sort of behavior that puts me in a cold sweat, because I should be memorizing all kinds of Best Practices™ before trying to code JavaScript.