People conflating the rollout of WebExtensions Manifest V3 with "Killing adblockers" is doing such a disservice because it gives asstroturfers the easy out of just saying "But Firefox is moving to Mv3 too!"
It's not the Mv3 that's doing it. It's the deliberate limitations on the API endpoints used for the filtering that are baked into Chrome's handling of it. Limitations Firefox has already removed.
🎺🎺🎺 it's finally out!!! my MIDI SysEx editor/analyser: SoundPalette!
currently, it understands most SysExes of the Roland SC-55's version of Roland GS, plus all for Roland SC-7.
you can read more here: https://github.com/hikari-no-yume/SoundPalette
also see the earlier tweets in this thread ^^
🚨Insulet Omnipod 5 drops the leading decimal in insulin dose with carb bolus override in the android app, 100x the insulin dose intended 🚨
https://vxtwitter.com/morganherlocker/status/1730455721815527429
netflix got a reputation for being the place where you binge watched old shows so when they started producing new stuff they released seasons all at once as if they were already old shows, and that's exactly what they became overnight. something you have already watched, to be talked about in totality until a year from now when maybe the next season happens. i am so GLAD that i get to cherish every episode of doctor who as it comes out and talk about it with friends, all of us in equal dark
redistribute the houses, break up the landlord corporations, penalize second-homes, and of course, build more homes. all of this amounts to the simple truth that if someone is unhoused, we ought to house them. when housing exists as a commodity, for profit, situations like this are not only inevitable but contrived exactly to maintain the bubble and make a select few very wealthy in the process
wrote this up in a random discord channel, figured it was worth sharing more widely:
the other metaphor i like to use for stacked borrows (or memory models in general), which maybe only makes sense in my brain: **memory allocators are fractal, and pointer aliasing rules are just malloc/free**
* your kernel allocates pages of memory from hardware (or whatever)
* your malloc implementation (as in jemalloc) allocates pages from the kernel
* your Vec impl allocates slices of memory from malloc
* your program allocates cells of memory from your Vec impl
all of these things are referring to "the same" memory but we maintain these strict semantic boundaries between them:
* two things shouldn't be handed the same chunk of memory (mmap shenanigans aside)
* once a "lower level" hands off a chunk of memory to a "higher level", it largely agrees to Not Fuck With It for the duration (instrumentation aside)
if any "lower level" allocator is made to believe that an allocation has Gone Away (free), then all the derived sub-allocations that "higher level" allocators built on them are Fucked Forever (or it's a use-after-free, which we all agree is Mega UB, No Negotiations Allowed). that is, if malloc hands a page back to the kernel, your Vec *extremely* needs to not be using the slice of memory that was derived from it.
stacked borrows basically continues the metaphor:
* a mutable reference is like a sub-allocation for the chunk of memory it points to
* you can reborrow mutable references into multiple disjoint mutable references (just like malloc splits up a page into slices) (see slice::split_at_mut for a concrete example)
* you can do this over and over, building up a "stack" of reborrows (a stack of sub-allocations)
* but as soon as you access a mutable reference at a "higher level", you MUST pop everything off of the stack until it's at the top
that is, accessing an "older" mutable reference invalidates all the mutable references derived from it, as if "free" was just called on all those sub-allocations!
because remember: allocators agree to not fuck with allocations they handed out, so if you start fucking with one, you need to revoke all those hand-outs or you're breaking the allocator contract!
i think the most disturbing allegation to me is actually not that they're deliberately bombing civilian targets. it's that they're bombing faster than they can generate targets with human intelligence, and are using AI to fill the gaps. now that's dystopian
https://www.972mag.com/mass-assassination-factory-israel-calculated-bombing-gaza/
you have to read this article. if even half of it is true, and it's incredibly detailed, it explains a Lot (it's about how the IDF picks targets and how they have loosened the rules significantly with this conflict)
Trans woman, bisexual, someone's fiancée, forever a programmer, poly, and former total mess