• 5 Posts
  • 148 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle
  • Great answer!!

    After thinking about all this for a while, I’ve gone with the basic binary tree (leaning towards AVL tree as I expect my use case to be read heavy).

    In my use case, multiple ‘intervals’ can merge together without major penalty (and should be merged together). It looks like a lot of these interval trees (including ph trees) are best when the intervals need to be kept separate.

    There is a part of my algorithm where ph trees might be useful though. I’ll have to give it some though.


    I’m kind of shocked that a basic binary tree ended up being so usable. Its a classic for a reason, lol. I guess I saw the intervals and got confused and overcomplicated things…


  • And typical RAM speeds are 100GB/second for CPUs and 500GB/second on GPUs, meaning 512MB operations are literally on the order of 5 miliseconds for CPU and 1ms on GPU.

    Below certain sizes, the ‘billions of intervals’ is larger than the damn Bitmask. Seriously, 8 bytes per interval (aka one pointer and 0 data) and that’s 8GB for the data structure.

    Instead of a billion 32-bit intervals to store (4GB of RAM at the minimum) it’s obviously a better move to store 500-million byte Bitmasks. And modern GPUs can crush that in parallel with like 3 lines of CUDA anyway.


  • Because CUDA and ROCm/HIP are far easier to program.

    The Khronos competitor to CUDA/ROCm is SYCL not OpenCL.


    SYCL vs these other options is a fun theoretical problem, but only Intel seems to be pushing SYCL at all. OpenCL got stuck in OCL1.2 (the 2.0 release was dead. 3.0+ OpenCL ignores OCL2.0 but it’s too late, OpenCL is seen as a dead end tech these days).

    The biggest issue is that OpenCL is a different language, while CUDA/HIP/SYCL are ‘just’ C++ extensions. This means that if you ever shared data between CPU and GPU in OpenCL (or DirectX or Vulkan for that matter), you have to carefully write and rewrite structs{} to line up between the two languages.

    Meanwhile, CUDA/HIP support passing structs, classes and more between CPU and GPU (subject to conditions of course. GPUs can’t do function pointers or vtables for example, but cpu-only classes can have vtables)



  • Pretty simple. A jury is 12 rrandom-ish people (ignoring the Voir Dire process where lawyers argue about who deserves to be on the jury).

    If you openly are for jury nullification, then the prosecutor will try to throw you out in the Voir Dire proces (its unfair to the prosecutor if you think that you can ignore the Prosecutor’s argument entirely). Then they select someone else to be part of the jury.

    Secondly, all 12 members of the jury have to agree on the decision. So all 12 of you have to agree that the law is unfair in this case and opt for jury nullification instead. There’s examples where this happens: ex a child gets charged for child pornography when they send a picture of themselves. After all, they “distributed child porn” which is grossly illegal by the law, but the jury can agree “Yeah, they broke the law but don’t deserve to be punished in this case”. That’s the kind of thing jury nullification was created for, when everything is “technically correct”, but the jury is smart enough to realize that its not “Truly a crime”.


    Now people bring up the Jury Nullification as a potential… erm… way to get someone out of a murder case. Highly unlikely that you’d get all 12 people agreeing on that. At best, you’d probably get a hung jury if say, 2 or 3 people agreed ahead of time to use jury nullification.

    Furthermore, by showing that you’ve got “interest” in a case means that you’re no longer a random person off the street, but instead someone who may have been misinformed by media about a case. A jury must be ignorant about the case and have an open mind for the trial process to work at all. So people with pre-existing knowledge about cases are often thrown out during Voir Dire. This is because many pieces of evidence are often determined to be illegal. (Ex: if the police illegally wiretapped you, then the evidence CANNOT be shown to the jury, even if the wiretap was published in the media). So the evidence that shows up in court is itself part of a large process and selective ignorance is in fact key to the whole shebang. (How else can you punish a prosecutor for illegally obtaining evidence? Even if the evidence is true, it must be struck out of the record and the prosecutor is not allowed to use such evidence in their case).


  • Basic psychology.

    Anyone who has already decided that they like Elon (or MAGA) do not want to believe that they are the bad guy. So they will reach for even the worst of arguments to make themselves believe they aren’t the bad guy.

    Remember: Nazis themselves refuse to believe the Holocaust happened. Same same really. No one wants to think of themselves as the bad guy.








  • The Jubilee is a time of celebration for Catholics.

    Traditionally, the Jubilee is held every 25 or 50 years and is a time to celebrate progress, free slaves (back when slaves were legal), forgive sins, etc etc.

    In a great celebration, it makes sense to add a bit of pop culture flair. It’s also common to focus on children and youth outreach during the Jubilee and an anime character does a lot for that.


    As for Luce herself. The Jubilee is also a time of great pilgrimages. It’s recommended to get your 'once in a lifetime’s visits to Vatican City (or other local holy sites: Santiago de Compostela, Fatima, Guadalupe). As such, Luce is modeled after the image of Pilgrims: Pilgrim staff, raincoat and dirty boots.

    Her eyes are of the seashell, a Catholic sign for pilgrims. The seashells guide pilgrims to holy sites (if you’ve ever been on the Camino, all the next locations are marked with Seashells).

    I’m expecting that Luce (thanks to the seashell eyes) will count as an official signpost for the next year of pilgrimages. She’s got incredibly well thought out symbology here.


    Edit: I should also note that the raincoat has the 2025 Jubilee of Hope flag on it.

    In case you didn’t get what that green spot on the raincoat was.








  • that short fencers are usually quicker and dodge easier.

    Lulz.

    No. It’s that shorter fencers must doge quicker to compete.

    In my days in College, as a 5’9" average guy, I wasn’t much faster than anyone else. And without any reach I couldn’t keep up vs the taller people either.

    Just being shorter doesn’t make you faster.

    And a tall guy is usually bigger than a short one, so he’s a bigger target - and then there’s his juicy belly right on a convenient line of shots for a short fencer.

    Just gain some flexibility and squat down deeper. The good tall fencers could hit me in my belly consistently despite me being shorter.

    And while squatting down, your tall legs are longer anyway so you can lunge deeper when you do this maneuver. We shorter fencers cannot.