• 0 Posts
  • 97 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle
  • Yeah, fair enough. To my mind I guess I don’t think of array indexes as an example of actual zero based numbering, simply a quirk of how pointers work. I don’t see why one starting from zero has anything to do with the other starting from zero. They’re separate things in my head. Interestingly, the article you linked does mention this argument:

    Referencing memory by an address and an offset is represented directly in computer hardware on virtually all computer architectures, so this design detail in C makes compilation easier, at the cost of some human factors. In this context using “zeroth” as an ordinal is not strictly correct, but a widespread habit in this profession.

    That said, I suppose I still use normal one-based numbering because that’s how I’m used to everything else working.


  • Melmi@lemmy.blahaj.zonetoProgrammer Humor@lemmy.mlOff by one solitude
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 month ago

    Indexes start from zero because they’re memory offsets, but array[0] is still the first element because it’s an ordinal number, not an offset. It’s literally counting each element of the array. It lines up with the cardinality—you wouldn’t say ['A', 'B', 'C'] has two elements, despite array[2] being the last element.



  • Melmi@lemmy.blahaj.zonetoSelfhosted@lemmy.worldZeroTrust Your Home
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    2
    ·
    2 months ago

    When done correctly, the banner is actually a consent banner. It’s a legal thing, not necessarily trying to discourage criminals. It’s informing users that all use will be monitored and it implies their consent to the technology policies of the organization. It’s more for regular users than criminals.

    When it’s just “unauthorized access is prohibited”, though, especially on a single-user server? Not really any point. But since this article was based on compliance guidelines that aren’t all relevant to the homelab, I can see how it got warped into the empty “you no hack” banner.



  • Yes, but only if your firewall is set to reject instead of drop. The documentation you linked mentions this; that’s why open ports are listed as open|filtered because any port that’s “open” might actually be being filtered (dropped).

    On a modern firewall, an nmap scan will show every port as open|filtered, regardless of whether it’s open or not.

    Edit: Here’s the relevant bit from the documentation:

    The most curious element of this table may be the open|filtered state. It is a symptom of the biggest challenges with UDP scanning: open ports rarely respond to empty probes. Those ports for which Nmap has a protocol-specific payload are more likely to get a response and be marked open, but for the rest, the target TCP/IP stack simply passes the empty packet up to a listening application, which usually discards it immediately as invalid. If ports in all other states would respond, then open ports could all be deduced by elimination. Unfortunately, firewalls and filtering devices are also known to drop packets without responding. So when Nmap receives no response after several attempts, it cannot determine whether the port is open or filtered. When Nmap was released, filtering devices were rare enough that Nmap could (and did) simply assume that the port was open. The Internet is better guarded now, so Nmap changed in 2004 (version 3.70) to report non-responsive UDP ports as open|filtered instead.



  • The “make a fork” thing is part of the issue, I think. In general there’s this culture in the open source community that if you want a feature, you should implement it yourself and not expect the maintainers to implement it for you. And that’s good advice to some extent, it’s great to encourage more people to volunteer and it’s great to discourage entitlement.

    But on the other hand, this is toxic because not everyone can contribute. Telling non-technical users to “make it yourself” is essentially telling them to fuck off. To use the house metaphor, people don’t usually need to design and renovate their houses on their own, because that’s not their skillset, and it’s unreasonable to expect that anyone who wants a house should become an architect.

    Even among technical users, there are reasons they can’t contribute. Not everyone has time to contribute to FOSS, and that’s especially notable for non-programmers who would have to get comfortable with writing code and contributing in the first place.


  • Google destroys their own search engine by encouraging terrible SEO nonsense and then offers the solution in the form of these AI overviews, cutting results out of the picture entirely.

    You search something on the Web nowadays half the results are written by AI anyway.

    I don’t really care about the “human element” or whatever, but AI is such a hype train right now. It’s still early days for the tech, it still hallucinates a lot, and I fundamentally can’t trust it—even if I trusted the people making it, which I don’t.


  • Just because you can work with one monitor doesn’t mean multiple monitors isn’t more comfortable though. You can have multiple windows open at once, at full size, and glance between them freely. No need for them to share the limited real estate of a single monitor.

    I run Sway on my laptop because it lets me take full advantage of my single monitor, but on my multi monitor desktop setup I use a regular floating DE.



  • Melmi@lemmy.blahaj.zonetoSelfhosted@lemmy.worldReverse proxy
    link
    fedilink
    English
    arrow-up
    5
    ·
    6 months ago

    It definitely encrypts the traffic, the problem is that it encrypts the traffic in a recognizable way that DPI can recognize. It’s easy for someone snooping on your traffic to tell that you’re using Wireguard, but because it’s encrypted they can’t tell the content of the message.





  • A tiefling divine soul sorcerer with the Criminal background. He was born to two pious tiefling clerics of Lathander who saw their fiendish blood as a curse, and prayed to cleanse their unborn child of devilish influence. When he was born a Divine Soul, his parents tried to raise him as their perfect priestess. He had to be a model tiefling, a representative of his entire race as well as Lathander himself. He chafed under the obligation and ran away from home, living on the streets and stealing to get by, all while trying to hide his divine soul powers out of a combination of rejecting them and just trying not to draw attention.

    Slinking around in the shadows eventually led to him wandering into the Mists of Ravenloft, and he found himself in Barovia. He found his way into a party and essentially just acted like the party rogue for a bit until combat came and he got backed into a corner and he suddenly started throwing around guiding bolts.

    I was really looking forward to doing a whole arc with him reclaiming his powers and figuring out what it meant to be himself, but OOC stuff led to me leaving that group before he had a chance to leave his edgy rogue phase :c




  • Most things should be behind Authelia. It’s hard to know how to help without knowing what exactly you’re doing with it but generally speaking Authelia means you can have SSO+2FA for every app, even apps that don’t provide it by default.

    It also means that if you have users, you don’t need them to store a bunch of passwords.

    One big thing to keep in mind is that anything with its own login system may be more involved to get working behind Authelia, like Nextcloud.


  • Melmi@lemmy.blahaj.zonetoLinux@lemmy.mlHow do you say SUSE?
    link
    fedilink
    English
    arrow-up
    5
    ·
    7 months ago

    Except GNU is a great example of an acronym that is pronounceable. It’s even in the dictionary. The GNU mascot is a gnu, in fact.

    LGBTQIA+ is essentially unpronounceable, thus we treat it as an initialism. Not that that’s a requirement, there are examples like VIP where even though we could pronounce it we pronounce each letter individually.