• 1 Post
  • 34 Comments
Joined 2 years ago
cake
Cake day: January 13th, 2022

help-circle
  • Normally, I would reply to the guy, because, you know, he’s a human being, but there’s so many replies, I doubt, he can actually read all of them and potentially someone else has already made that point.

    Anyways, I feel like something he kind of misses here is that many of us do it from a heartfelt place. Like, we’re all techies. We’ve all used commercial software to a point where we’ve grown so frustrated with it that we decided it is a waste of time.

    So, it’s not us saying “Why don’t you go and just have more time/money?”.
    Rather, it’s us saying “This thing is wasting your time? Here is a solution that I felt wasted less time in the long run.”.

    Yes, sometimes that does miss the mark, because not every complaint is looking for a solution. Or because we may be frustrated with restrictions of commercial software, which are not a problem for less techy people. Or even because we’re embedded in this tech world and are hoping to make it a better place, which someone just quickly visiting may not care about.

    But other times, I do just happen to know a lot about technology and a non-techy genuinely did not know about the solution I suggested and is actually really appreciative of me bringing it up. It does happen. And it’s not easy to discern who would appreciate a suggestion and who won’t.





  • Knusper@feddit.detolinuxmemes@lemmy.worldYou should
    link
    fedilink
    English
    arrow-up
    27
    arrow-down
    1
    ·
    edit-2
    7 months ago

    What that garble of symbols does, is that it defines and calls a function named :, which calls itself twice.

    The syntax for defining a function is different in Fish, so no, this particular garble will not work:

    But it is, of course, possible to write a (much more readable) version that will work in Fish.


  • In my experience, it strongly depends. In my team at work, the biggest Linux nerd is on GNOME, basically because he doesn’t care where his TMUX session runs.
    And I’m the guy with the most elaborate desktop workflow (tiling and 40+ virtual desktops among other aspects) and I wouldn’t want to use anything but KDE, because nothing else has as many features + customizability to support me in that workflow.

    But yeah, both of us started out on such mainstream desktops, then spent multiple years checking out all other desktops and eventually found different paths back to the mainstream.







  • No, not at all. It’s a joke post, abusing the in-memory representation of the Option type to construct numbers. When nesting the Option type, it turns into a densely packed bit vector…

    And if I understand the purpose of Fin correctly, you’re picking on the one ‘peasant language’ that actually has something like that built-in.
    In Rust, you can specify the type of an array as e.g [u8; 3]. Which is an array containing values of type u8 (unsigned 8-bit integer) with a fixed, compile-time-guaranteed length of 3. So, [u8; 3] could be used to represent an RGB color, for example.
    It is an array, not a set, but well, close enough.






  • Apparently, “Theorems for free!” is a paper that talks about an extensive ability to reason about parts of programs, if you follow some rather basic rules.

    However, lots of popular programming languages throw this ability out the window, because they do not want to enforce those basic rules.
    Most languages, for example, allow for rather uncontrolled side effects and to be able to reason as a programmer, you have to make the assumption that no one else abused side effects.

    The instanceof is rather referring to dynamic typing, though, as e.g. employed by Python and JS, which makes it difficult to make any assumptions at all.

    So, in statically typed languages, when you’re implementing a function, you can declare that a given parameter is a number or a string etc. and the compiler will enforce that for you. In dynamically typed languages, you have to assume that anyone calling your function is using it correctly, which is a difficult assumption to make after a refactoring in a larger codebase.

    All in all, such different levels of rigorosity can be fine, but the larger your codebase grows, the more you do want such rules to be enforced, so you can just ignore the rest of the codebase.



  • Before throwing away an old laptop, I had it do that to itself. Well, more specifically I used shred, which doesn’t just mark files as ‘deleted’, but also actively overwrites the bytes on disk.

    I started it from a TTY, so that there was no GUI that could want to load files from disk and then potentially crash the whole operation. But yeah, it just went through like normal and I ended up back on my shell (which makes sense, the shell should be in RAM).
    It was only when I ran exit to close that shell, that the system showed it was irreparably broken.

    I did then also take out the hard drive to whack it with a hammer, just to be sure. ¯\_(ツ)_/¯