• 2 Posts
  • 72 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle


  • I arrived in China 2001.

    I experienced the harshest and largest lockdown in all of history: Wuhan, January 23rd, 2020. A real lockdown, not the cosplay bullshit you experienced outside of China. (Yes, this is me saying you’ve never fucking set foot in the country.)

    The rest you’re just flat-out lying about. Sorry, Sparky. Did pet killings happen? Yes. They were not the mass shit that the press you’re so obviously reciting acts like they were. Did some doors get welded? Yes. But nowhere near you and, again, nowhere near in the masses the press you’re basing your lies on made it seem like. The local salaries are garbage iff you’re a fuckwit sitting in the west applying western prices to Chinese salaries. (Which, naturally, you are, good little fuckwit liar that you are.) And you’ve changed your tune from 14 hours to 12 hours really fucking quickly there, Sparky, not to mention using the proper slang only after I gave it to you.

    So yeah, you’re just a west-dwelling fuckwit lying about being here. Go toddle off in your China Watcher corners and play with the rest of the intellectual children you belong with. There’s a good boy.




  • I mean it could hurt:

    cube:
            push    {r4, r5, r6, r7, r8, r9, r10, fp}
            sub     sp, sp, #112
            add     r7, sp, #0
            str     r0, [r7, #92]
            mov     r3, sp
            mov     ip, r3
            ldr     r1, [r7, #92]
            ldr     r0, [r7, #92]
            ldr     r6, [r7, #92]
            subs    r3, r1, #1
            str     r3, [r7, #108]
            mov     r2, r1
            movs    r3, #0
            mov     r4, r2
            mov     r5, r3
            mov     r2, #0
            mov     r3, #0
            lsls    r3, r5, #3
            orr     r3, r3, r4, lsr #29
            lsls    r2, r4, #3
            subs    r3, r0, #1
            str     r3, [r7, #104]
            mov     r2, r1
            movs    r3, #0
            str     r2, [r7, #80]
            str     r3, [r7, #84]
            mov     r2, r0
            movs    r3, #0
            str     r2, [r7, #64]
            str     r3, [r7, #68]
            ldrd    r4, [r7, #80]
            mov     r3, r5
            ldr     r2, [r7, #64]
            mul     r2, r2, r3
            ldr     r3, [r7, #68]
            strd    r4, [r7, #80]
            ldr     r4, [r7, #80]
            mul     r3, r4, r3
            add     r3, r3, r2
            ldr     r2, [r7, #80]
            ldr     r4, [r7, #64]
            umull   r8, r9, r2, r4
            add     r3, r3, r9
            mov     r9, r3
            mov     r2, #0
            mov     r3, #0
            lsl     r3, r9, #3
            orr     r3, r3, r8, lsr #29
            lsl     r2, r8, #3
            subs    r3, r6, #1
            str     r3, [r7, #100]
            mov     r2, r1
            movs    r3, #0
            str     r2, [r7, #32]
            str     r3, [r7, #36]
            mov     r2, r0
            movs    r3, #0
            str     r2, [r7, #72]
            str     r3, [r7, #76]
            ldrd    r4, [r7, #32]
            mov     r3, r5
            ldrd    r8, [r7, #72]
            mov     r2, r8
            mul     r2, r2, r3
            strd    r8, [r7, #72]
            ldr     r3, [r7, #76]
            mov     r8, r4
            mov     r9, r5
            mov     r4, r8
            mul     r3, r4, r3
            add     r3, r3, r2
            mov     r2, r8
            ldr     r4, [r7, #72]
            umull   r10, fp, r2, r4
            add     r3, r3, fp
            mov     fp, r3
            mov     r2, r6
            movs    r3, #0
            str     r2, [r7, #24]
            str     r3, [r7, #28]
            ldrd    r4, [r7, #24]
            mov     r3, r4
            mul     r2, r3, fp
            mov     r3, r5
            mul     r3, r10, r3
            add     r3, r3, r2
            mov     r2, r4
            umull   r4, r2, r10, r2
            str     r2, [r7, #60]
            mov     r2, r4
            str     r2, [r7, #56]
            ldr     r2, [r7, #60]
            add     r3, r3, r2
            str     r3, [r7, #60]
            mov     r2, #0
            mov     r3, #0
            ldrd    r8, [r7, #56]
            mov     r4, r9
            lsls    r3, r4, #3
            mov     r4, r8
            orr     r3, r3, r4, lsr #29
            mov     r4, r8
            lsls    r2, r4, #3
            mov     r2, r1
            movs    r3, #0
            str     r2, [r7, #16]
            str     r3, [r7, #20]
            mov     r2, r0
            movs    r3, #0
            str     r2, [r7, #8]
            str     r3, [r7, #12]
            ldrd    r8, [r7, #16]
            mov     r3, r9
            ldrd    r10, [r7, #8]
            mov     r2, r10
            mul     r2, r2, r3
            mov     r3, fp
            mov     r4, r8
            mul     r3, r4, r3
            add     r3, r3, r2
            mov     r2, r8
            mov     r4, r10
            umull   r4, r2, r2, r4
            str     r2, [r7, #52]
            mov     r2, r4
            str     r2, [r7, #48]
            ldr     r2, [r7, #52]
            add     r3, r3, r2
            str     r3, [r7, #52]
            mov     r2, r6
            movs    r3, #0
            str     r2, [r7]
            str     r3, [r7, #4]
            ldrd    r8, [r7, #48]
            mov     r3, r9
            ldrd    r10, [r7]
            mov     r2, r10
            mul     r2, r2, r3
            mov     r3, fp
            mov     r4, r8
            mul     r3, r4, r3
            add     r3, r3, r2
            mov     r2, r8
            mov     r4, r10
            umull   r4, r2, r2, r4
            str     r2, [r7, #44]
            mov     r2, r4
            str     r2, [r7, #40]
            ldr     r2, [r7, #44]
            add     r3, r3, r2
            str     r3, [r7, #44]
            mov     r2, #0
            mov     r3, #0
            ldrd    r8, [r7, #40]
            mov     r4, r9
            lsls    r3, r4, #3
            mov     r4, r8
            orr     r3, r3, r4, lsr #29
            mov     r4, r8
            lsls    r2, r4, #3
            mov     r3, r1
            mov     r2, r0
            mul     r3, r2, r3
            mov     r2, r6
            mul     r3, r2, r3
            adds    r3, r3, #7
            lsrs    r3, r3, #3
            lsls    r3, r3, #3
            sub     sp, sp, r3
            mov     r3, sp
            str     r3, [r7, #96]
            mov     r3, r1
            mov     r2, r0
            mul     r3, r2, r3
            mov     r2, r6
            mul     r3, r2, r3
            mov     sp, ip
            mov     r0, r3
            adds    r7, r7, #112
            mov     sp, r7
            pop     {r4, r5, r6, r7, r8, r9, r10, fp}
            bx      lr
    






  • That “slippery slope” is absolutely vital to slither down if you want to formulate public policy.

    If you don’t understand why people mistrust “big pharma” or “big government” or “big [sobriquet]” and reflexively dismiss anything that involves them, you cannot formulate public policy that will be effective.

    Very rarely do people say “I’m going to dismiss centuries of scientific progress for this quack cure” without a reason. It’s maybe not a reason you agree with. It’s maybe not a reason reality agrees with. But you know what it might be? It might be a reason that traces back to how “big [sobriquet]” has acted toward such people in the past, often persistently over a long period of time, that has led to that breakdown in trust. In short: you (as in the beneficiaries of the status quo and “big [sobriquet]”, directly or indirectly) may be at least partially historically culpable in the opposition you now face.

    Now I get it: accepting that you yourself are partially culpable for “irrational” opposition is a bitter elixir to swallow, but if you don’t take that first step toward understanding, you can’t take the second step to correcting the problem. And the problem will continue to fester and take root until, oh, I don’t know, something utterly fucking insane happens and a million of your fellow citizens die in a public health disaster because half your population doesn’t trust the very institutions that were needed to prevent said disaster.

    So maybe you should learn to enjoy sliding down slippery slopes. Or, you know, die in the next easily-preventable pandemic. Like a million of your fellow citizens (assuming you’re American: insert your own numbers for your own country if not) did in the current one.







  • I have always understood that C generally compiles almost directly to assembly with little to no abstraction overhead, and it would not require platform-specific ASM code.

    You have always understood incorrectly then. I’d recommend a trip over to Godbolt and take a look at the assembler output from C code. Play around with compiler options and see the (often MASSIVE!) changes. That alone should tell you that it doesn’t compile “almost directly to assembly”.

    But then note something different. Count the different instructions used by the C compiler. Then look at the number of instructions available in an average CISC processor. Huge swaths of the instruction set, especially the more esoteric, but performance-oriented instructions for very specific use cases, are typically not touched by the compiler.

    In the very, very, very ancient days of C the C compiler compiled almost directly to assembly. Specifically PDP-11 assembly. And any processor that was similar to the PDP-11 had similar mappings available. This hasn’t been the case, however, likely longer than you’ve been alive.




  • OK, let me unpack a few things here.

    1. It is emphatically not racist to criticize a government’s actions.
    2. It is emphatically racist, however, to assume every (perceived) citizen of a government’s nation is uncritically accepting of their government.

    And here’s where it gets messy.

    The China Watchers™ crowd always says they “hate the government, not the citizens”. (The fact that this echoes extremist Christian bigotry with “hate the sin, not the sinner” whenever they go on rampages against every social group they disapprove of is a feature, not a bug. They know their audience well.)

    Yet…

    Ask anybody with a (perceived) Chinese name how often they have been called upon by China Watchers™ to personally account for the Chinese government’s actions. You will likely get a shock by how often these people who “hate the government, not the citizens” take perceived citizens to task for their government’s actions (while at the same time, in a stunning display of utter hypocrisy, refuse to take responsibility for their own governments’ actions despite (technically) having a say in who that government is (which Chinese citizens don’t have).

    Chinese citizens. People of other nationalities resident in China. People with (perceived) Chinese names or looks. These all get hounded by the “hate the government, not the citizens” crowd with a zeal that puts the “not the citizens” part of things in the firm category of “blatant lie”.

    And that is just flat-out racism.

    So while yes, technically, people criticizing the Chinese government aren’t being racist (and holy fucking SHIT are there good reasons to criticize them!), the reality is that most of the people doing so are hiding behind that technicality and are being racist as all fuck, so often, in fact, that it’s my default assumption unless I see evidence to the contrary.

    You don’t like that default? Well, here’s a bit of sage advice I got from an activist friend of mine in the late '80s: “Rein in your crazies or you’ll be mistaken for them.”