• 5 Posts
  • 899 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
  • Azov has gotten completely diluted by a gigantic influx of ordinary people, its hardcore Nazi times were over before they were even rolled into Ukraine’s overall command structure which came along with some more denazification. The Wolfsangel isn’t recognised as a far-right symbol in Ukraine by the general public so they kept it. It’s also not a clear-cut Nazi symbol even in Germany, you see it on plenty of coat of arms, it also has plenty of use in forestry which is its original source: You hang it with bait onto a branch to kill wolves in a rather gruesome manner. That’s outlawed nowadays but you still see it on border forestry border stones, to mark wood, etc. The heraldic use derives from that, it symbolises presence or importance of forestry in the area the coat of arm represents. Not much forest around the Azov sea, though.

    Those are not the Nazis you’re looking for. If you want to see, well not exactly nazis but the hot-bed of ultranationalists in the Ukrainian army have a look at the right sector regiment. Dylan Burns did an interview.

    Next up: Someone’s going to claim that the Ukrainian army uses the “Iron Cross”. First off, the Bundeswehr still uses it, secondly, no the Ukrainians don’t use it you’re looking at the Cossack Cross, derived independently from the Templar Cross, unlike the Iron Cross not via the Teutonic Order. They’ve been using that thing for centuries.

    EDIT: Oh wait I just remembered I’m completely banned from lemmygrad they won’t see this. Well, whatever.


  • So then, you think Nazi Swastikas without context should be allowed without any repercussions.

    That’s incoherent. “Nazi swastika” and “without context” doesn’t mesh because “Nazi” is a context for “swastika”.

    That aside, I’m going to take German law as an example: No, non-nazi swastikas are very much not outlawed. You can see them on stray Hindu temples or shrines in the country, for example. “Without” context they’re generally assumed to be Nazi ones over here because historical context, also, only Nazis draw random swastikas over here. You also see ones broken in pieces getting thrown in the trash or in a crossed-out circle, those come from the Antifa side.

    Both the Hindu and Antifa uses are legal, the Nazi ones aren’t. That’s because German law doesn’t outlaw the swastika as such, it outlaws “using symbols of unconstitutional or outlawed organisations in a manner suitable to further their aims”. A Nazi painting a Swastika on a Jewish gravestone is considered furthering the aims of the NSDAP, which had the swastika as their logo. A Hindu chiselling a swastika into their gravestone is a completely different matter. (Do Hindus use gravestones? Anyway doesn’t matter it’s a hypothetical example).

    In another country, where the historical context is different, those “without” context swastikas won’t be interpreted the same as in Germany. So even under German law those would arguably be legal, there.


  • Assembly is a direct mapping to instructions. It just converts the text into machine code directly,

    Kinda… yes and no? At least with x86 there’s still things like encoding selection going on, there’s not a 1:1 mapping between assembly syntax and opcodes.

    Also assemblers, at least those meant for human consumption (mostly nasm nowadays) tend to have powerful macro systems. That’s not assembly as such, of course.

    But I think your “a compiler changes the structure of the code” thing is spot-on, an assembler will not reorder instructions, it won’t do dead code elimination, but I think it’s not really out of scope of an assembler to be able to do those things – compilers weren’t doing them for the longest time, either.

    I think a clearer division would be that compilers deal with two sets of semantics: That of the source language, and that of the CPU. The CPU semantics don’t say things like “result after overflow is undefined”, that’s C speaking, and compilers can use those differences to do all kind of shennanigans. With assemblers there’s no such translation between different language semantics, it’s always the CPU semantics.


  • 32 is ASCII space, the highest number you need is 114 for r (or 122 for z if you want to be generic), that’s a range of 82 or 90 values.

    The target string has 13 characters, a long long has 8 bytes or 16 nibbles – 13 fits into 16 so nibbles (the (x >>= 4) & 15) it is. Also the initial x happens to have 13 nibbles in it so that makes sense. But a nibble only has 16 values, not 82, so you need some kind of compression and that’s the rest of the math, no idea how it was derived.

    If I were to write that thing I’d throw PAQ at it it can probably spit out an arithmetic coding that works, and look even more arcane as you wouldn’t have the obvious nibble steps. Or, wait, throw NEAT at it: Train it to, given a specific initial seed, produce a second seed and a character, score by edit distance. The problem space is small enough for the approach to be feasible even though it’s actually a terrible use of the technique, but using evolution will produce something that’s utterly, utterly inscrutable.



  • One of the issues I have with C++ is the standard library source seems to be completely incomprehensible.

    AAAAAAhhh I once read a Stroustrup quote essentially going “if you understand vectors you understand C++”, thought about that for a second, coming to the conclusion “surely he didn’t mean using them, but implementing them”, then had a quick google, people said llvm’s libc++ was clean, had a look, and noped out of that abomination instantly. For comparison, Rust’s vectors. About the same LOC, yes, but the Rust is like 80% docs and comments.


  • Because allow/blocklist are just as old if not even older and are way clearer terminology.

    “white” and “black” there are metaphors, the “master” in git branches and SCSI isn’t.

    See at some point you have to ask yourself the question whether you’d be opposed to the change if blue-haired college students really into performative politics weren’t a thing. Imagine the idea coming from your slightly computer-illiterate 60yold shop floor boss saying “I don’t want to think about the terms here, I want to do CAD/CAM. Speak English, whippersnapper”.


  • The false positive problem actually works in favour of the dogs, here: Their noses are excellent they know exactly whether there’s drugs there or not. They also know that the humans can’t tell so it’s easy to get a treat regardless. And they also know to not overdo it.

    Even more complicated are cats, figures that they are by and large uninterested in being studied or proving anything to you.




  • I seem to be speaking Klingon. I never told anyone to “un-depress” themselves. Quite the contrary, I’m talking about the necessity to accept that it’ll be the path you’re walking on for, potentially, quite a while. All I’m telling you is that that path doesn’t have to be miserable, or a downward spiral.

    Make a distinction between these two scenarios: One, someone has a fever. They get told “stop having a fever, lower your temperature, then you’ll be fine”. Second, same kind of fever, they get told “Accept that you have a fever. Make sure to drink enough and to make yourself otherwise comfortable in the moment. Ignore the idiot with the ‘un-fever yourself’ talk”.


  • I’m sorry what’s long-term executive function about cancelling your appointments? What’s harsh about it?

    What about “take a bath” and “go outside to breathe” is less protestant-work-ethic than what I was saying?

    The simple, actionable things are, precisely, the simple, actionable things. “Breathe in the fresh air” is not actionable when living in a city. “Sit on a bench and people-watch” is not actionable in the countryside. You know much better where you live, what simple things you could do right now. The point is not about the precise action, it’s about that it’s simple and actionable thus you should do it. Also, to a large degree, that it’s your idea, something you want.


  • You’ve laid out your personal depression cure to someone stating that reading about other people’s depression cures is incredibly frustrating when you’re actually depressed.

    That’s not what the complaint was about. The complaint was about the generic drivel. The population-based “We observed 1000 patients and those that did these things got better” stuff that ignores why those people ended up doing those things, ignorance of the underlying dynamics which also conveniently fits a “pull yourself up by the bootstraps” narrative. The kind of stuff that ignores what people are going through. Ignores which agency exists, and which not.

    Read what I wrote not as a plan “though shall get up at 6 and go on a brisk walk”, that’s BS and not what I wrote. Read it as an understanding of how things work dressed up as a plan. Going out and cooking food? Just an example, apply your own judgement of what’s good and proper for you moment to moment. You can read past the concrete examples, I believe in you.

    In most cases the best thing you can do to help is to try to understand how someone is feeling.

    The trick is to understand why you’re in that situation, what your grander self is doing, or at least trust it enough to ride along. Stop second-guessing the path you’re on and walk it, instead. You don’t really have a choice of path, but you do have a choice of footwear.

    Or, differently put: What’s more important, understanding a feeling or where it’s coming from? Why it’s there? What it’s doing? What is its purpose? …what are the options? Knowing all this, many feelings will be more fleeting that you might think.

    There’s an old Discorian parable, and actually read it it’s not the one you think it is:

    I dreamed that I was walking down the beach with the Goddess. And I looked back and saw footprints in the sand.
    But sometimes there were two pairs of footprints, and sometimes there was only one. And the times when there was only one pair of footprints, those were my times of greatest trouble.
    So I asked the Goddess, “Why, in my greatest need, did you abandon me?”
    She replied, “I never left you. Those were the times when we both hopped on one foot.”
    And lo, I was really embarassed for bothering Her with such a stupid question.



  • Sorry, I didn’t know we might be hurting the LLM’s feelings.

    You’re not going to. CS folks like to anthropomorphise computers and programs, doesn’t mean we think they have feelings.

    And we’re not the only profession doing that, though it might be more obvious in our case. A civil engineer, when a bridge collapses, is also prone to say “is the cable at fault, or the anchor” without ascribing feelings to anything. What it is though is ascribing a sort of animist agency which comes natural to many people when wrapping their head around complex systems full of different things well, doing things.

    The LLM is, indeed, not at fault. The LLM is a braindead cable anchor that some idiot put in a place where it’s bound to fail.


    1. Accept that your brain wants to do something different than what you had planned, thus
    2. Cancel all mid- to long-term appointments and
    3. Use the opportunity of not having that shit distracting you to reinforce good moment-to-moment habits. Like taking a walk today, because you can use the opportunity to buy fresh food today, to make a nice meal today, because that’s a good idea you can enjoy today while the back of your mind does its thing, which is not something you can do anything about in particular so stop worrying. And you probably don’t want to go shopping in pyjamas without taking a shower so that’s also dealt with. And with that,
    4. You have a way to set a minimum standard for yourself that will keep you away from an unproductive downward spiral and keep depression what it’s supposed to be, and that’s a fever to sweat out shitty ideas, concepts, and habits, none of which, let’s be honest, involve good food and a good shower. That’s not shitty shit you dislike.

    The tl;dr is that depression doesn’t mean you need to suffer or anything. Unless you insist on clinging to the to be sweated out stuff, that is. The downregulating of vigour is global, yes, necessary to starve the BS, but if you don’t get your underwear in a twist over longer-term stuff your everyday might very well turn out to simply be laid back.

    …OTOH yeah if this is your first time and you don’t have either a natural knack for it or the wherewithal to be spontaneously gullible enough to believe me, good luck.

    Also clinical depression as in “my body just can’t produce the right neurotransmitters, physiologically” is a completely different beast. Also you might be depressive and not know it especially if you’re male because the usually quoted symptom set is female-typical.


  • barsoap@lemm.eetoProgrammer Humor@lemmy.mlOf course
    link
    fedilink
    arrow-up
    10
    ·
    edit-2
    1 month ago

    I speak fluent x86, I’ve been writing xor eax, eax before rax was a thing and you had to wonder whether you shouldn’t be using xor rax, rax (you shouldn’t), I figured out how to write linux binaries in pure assembly before arch was a thing, just don’t throw sse or something arcane like aaa at me. But damned if I know a single opcode.

    Reverse engineers are a whole different kind of breed. And apparently they hate rust.



  • All instructions occupy the same amount of space in memory.

    Both ARM and RISC-V have compressed instructions. Dunno how ARM works but with RISC-V the 16-bit instruction set is freely interspersable with the 32 bit one, which also get their alignment reduced to 16 bits. Gets like 95% of the space reduction possible with full variable-width instructions without overcomplicating the insn decoder.

    As to addressing and loads and arithmetic: No such instructions, but every CPU but the tiniest ones are expected to do macro-op fusion for things like indexed loads. Here’s an overview.

    The MMU thing… well the vector extension can do gather/scatter, I guess it could stay within the letter of “use the MMU once” but definitely not the spirit.


  • Nope it’s still a register-register op, that’s very much load-store architecture.

    It’s reduced, not minimalist, otherwise every RISC CPU out there would only have one instruction like decrement and branch if nonzero. RISC-V would not have an extension mechanism. The instruction exists because it makes things faster because you don’t have to do manual bit-fiddling over 10 instructions to achieve a thing already-existing ALU logic can do in a single cycle. A thing that isn’t even javascript-specific (or terribly relevant to json), it’s a specific float to int cast with specific rounding and overflow mode. Would it more palatable to your tastes if the CPU were to do macro-op fusion on 10(!) instructions to get the same result?