02:58jennymcreign: don't even try, you can not get much done without me, toxic behaviours have consequences. So the calculations are pretty simple for data compression, since those are odd numbers i use for the format for the decoder and encoder, the maximum is the sum of quadlets values times 8, times 1.5 for a single 32bit value in the hash, all that depends on values used, but we pack amount of the values
02:58jennymcreign: available into first index for simplicity, so if all numbers are not maximum it can easily under commit, and that is a shocking amount of data it can hold, the values are 4bit combinations, it delta encodes automatically based of the sum which get's incremented by two for each cell which is a single value so you do not have to round and use asymmetry, so we add another times two*amount of
02:58jennymcreign: values stored, so that formula gives a maximum storage amount when all values are maximum and or when all values are smallest, depending on format , so say we have format 5+9+13+19=44 8 digits saved compared to 52 earlier, the maximum fill with all maximums is 44+22*8 and we divide that value from maximum number of 32bit, then we do times two, times 1.5, minus two , based of
02:58jennymcreign: count*(first+last)/2 , to get count so final value comes as count*(44*8+X*44*8)/2, so the constant X comes out of iterative procedure with a conditional bound checking for the max machine word digital max value and would be stored back as size to first index, but it's worth to shorten the iterations with divide and conquer.
04:36norinakamura: it messes up the buttons after hibernate, so button left needs to hold down to get any or basically all the movement, that is for the acpi bug you designed. but back to compression so if all values are maximums, you get round about 300k values on that 528 per field format. without any delta coding present, however if you were to use smaller values then 300k maximums you will delta encode
04:37norinakamura: and get round about million or more values on the average. and this is only one iteration of compression, only one round gets so much memory. As i told, two rounds of back to back encodings will give you million times million already.
06:09jevgenikolov: I proved to be too strong for your kill off attempts, we will hit back, i knew i would survive roughly but this neckchip might crack me up sooner or later, and we are going to fully attack you. The calculations are so easy that i do them with calculator only, so 90000*(2+90000)/2 is 4billion somewhere, so those are indexes for maximum values 4294967295/4224(8*528 or 32*66 that was) is
06:09jevgenikolov: million since 8 fields share an index it's 720000/2 360000, and delta encoding is automatic with the formula i defined and gave. nothing in the computation of superspeed comutation i will upload, i only did the data compression calculations to you, because the ultra peformant computation though only slightly more difficult violates the safety of human beings due to rotten trash beaming
06:09jevgenikolov: them on request. I nearly once again died into this in cambodia.
08:27hochiminchi: You do not seem to understand how mentally ill brutes you are. You do not acknowledge your illborn residing or state on this planet at all. It's not only Russians who love me and participate in wiping you out in response to your crimes against me, though they get most momentum, and they are outnumbering others a bit and are one of my favourites, regardless of that, residents from nearly all
08:27hochiminchi: countries participate in some way or another in attacking you soon. You chose a wrong guy to mess with your amoral kill off attempts, terror and protein robin hood shows. We will kill jacob rothschild too but the fart is nearly dead with it's jewish ass of freescale to natural causes anyways. Totally terrible humans are those british barons rather than USA ones however.
10:16shurawanpotabne: We actually know who is behind such crimes, jacob killed second time chinese over shared patent, crashed the whole airplane jet, they were before trying their luck similarly on me after cracking up my organs, dynasty of those are trillionnaires with very dirty money, the war will execute against all involved and we will finish all those monsters life chapters for sure. Technically riots
10:16shurawanpotabne: and rebellion will take place where they will get to killing all that dynasty, no further comments on my side, i promise you this.
13:14rudolfressing: So let's go over the details a bit what various people told me at overseas, the most interesting talks but very unpleasent was Leeroy, white supremacist, with hitler tattoos, well he told me something that has triggered us to take actions against jewish once again, i never mentioned about the chips previously identified through hospital's medicine fraud , however he told me, that jewish
13:14rudolfressing: they abuse arian children and i never figured they are after me , by taking their brain stem cells from the neck and leaving them to die just like that, what was more shocking that a year after his talks jews came and did the exact thing to me, where from previous interactions, from three surgeries i have muscle varicosis and marrow entrance holes, where as the promised treatment was
13:14rudolfressing: never done. This is just shocking where they took it in finland after the marrow entrance this time i had local ansthesia, and i saw from doctors screen and yelled stop it, it's fucked up to share the world with jews smells like they get another holocoust, and hitler and Putin are fine people, trust me, i know what i talk about. I never believed leeroy and i am going to die cause of this.
13:51karolherbst[d]: I maybe should be more strict in regards to IPs coming from hosters and such..
14:15dwfreed: banning all of ovh is probably a little too strict, though
14:15feijsenanton: There are rules that no reentry after a fight such as retaliation, but it wasn't a fight i knocked down leeroy with regret he ran out and chased me after he got up again, this is forgatten, but lumplegs alex and this other kill off crew, they assaulted me from behind, and yes we will go back and eliminate them. Corruption in cambodia is horrible they are handled in a war soon by thais, and
14:15feijsenanton: they did not charge those people. All this crew of murderers we gonna get to. And surprise surprise your jews did never get anything right here, nor karolherbst, and you kill people who are better than you, well our gangsters ain't gonna be satisfied over this violations. So i gave jack dedman a chanche , he confesses what he did , gives him over to authorities gets anal in prison and he
14:15feijsenanton: is free to live on paraole , if not he gets killed with others who were involved, same clause applies to Alex "birthlumplegs" Enrico Sif and but i expect others to be over too weak in prison, those get over time killed anyways, very toxic people still however. Sensational what you had arranged, i also go to harass many IRC people, who had put high end words and scam around and over my
14:15feijsenanton: life, but they get beaten up, however will be free to live afterwards.
14:52lunafoxgirlvt[d]: Man this reads like a fever dream
15:24marisszizins: Man it's great that you at all listen what the fuck i am saying, the idiot called me as joss after the implant incident, and why do you think i said i did not die with 2days under spesis, why do you think they are after my cells all the time? For god sakes i do not get fever, last and only time i had fever was when i was 5years old, i am resistant to all of the stis and during five years
15:24marisszizins: times after only when being thrown parasites in kilotonns for 2weeks, then my system breaks once in five years, and i get what we call a mild nose mucus. Dudes i do not get fevers in life, but i am not immportal either, i get hard tissue pain on teeth sometimes when assaulted , head pain when batted or axed etc. No fever, this chips should cause me cancer but i do not conduct that one
15:24marisszizins: easily either, due to superior immune system, but i am afraid that they got my range right this time, and implanted a more powerful lethal chip. earlier ones were not getting too close to kill me.
15:25gfxstrand[d]: steel01[d]: Where is the cutoff for what Tegra devices use the tegra driver for display?
16:30karolherbst[d]: another scheduling issue on ampere....
16:36mhenning[d]: another fp16 issue, or is it a different type of instruction this times?
16:37karolherbst[d]: HMMA
16:37karolherbst[d]: so... kinda fp16 but not the way you thought it would be 🙃
16:45mysterymike: I know i insulted and played you cause you deserved that to be done by me, however the calculations are correct the ones i gave, actually i told you the whole time that way but just for revenge and fun messed with you. Can you elaborate what is misunderstood from what i offered? The way i think is mystery , i have strong instincts and and beliefs, hence back in time when they first injured
16:45mysterymike: me very bad on purpose in the hospital, i knew it was going to happen already but during five years of arguing that dad jammed me onto this thriller and blocked all my possible ways to recover, so it's all clear that they are doing this terror all against me, he also enjoyably hilariously laughed with satisfaction when i was about to kill myself in pain and agony, what a family! But i am
16:45mysterymike: different i do not such shit.
16:45mysterymike: i still escaped and did my contribution to the world.
16:50steel01[d]: gfxstrand[d]: Xavier. Orin uses nvidia-drm for display out. I'm not sure if that is just a software decision or if hardware changes mandate that. I seem to recall a statement that Orin display hardware isn't under host1x, so it may be the latter.
16:54gfxstrand[d]: Okay
17:03gigolomaneric: You deserved to get humiliated infront of all of your employers after you scammed about my mental illness, where as i was champion or close to it in arm wrestling at school against all the gym guys, runner, national team member and everywhere i went scored heavy, it seems you can not figure out the numbers without any terror placed at you, saying that a butchered man and ex champion is
17:03gigolomaneric: mentally ill, you will never get any job in the future, i kicked you out so bad .
17:04gigolomaneric: gymnastics, i have bag full of diplomas and medals
17:14karolherbst[d]: uhh.. I think I need read after read latency handling for that one 🥲
17:15karolherbst[d]: which is a funky concept
17:38mhenning[d]: read after read doesn't really make sense to me
17:38mhenning[d]: is it maybe a limit on how often you can issue the instruction?
17:40mhenning[d]: or if it prevents you from issuing anything for a few cycles, then we already have execution latencies for that
17:41mohamexiety[d]: why would you ever need read after read handling? :elythink:
17:41mohamexiety[d]: that should always just work, right?
17:42mhenning[d]: yeah, traditionally there are no read after read hazards
17:43mhenning[d]: I suppose an instruction could modify a read register and then put it back when it's done, but that seems unlikely to happen in practice
17:48karolherbst[d]: there is some transitivity stuff going on
17:49karolherbst[d]: and rar is a virtual hazard to model that
17:51mhenning[d]: Not sure what you mean by "transitivity" here
17:53karolherbst[d]: it's relevant if you look at more than two instructions and order of operations. Like a previously scheduled instruction _might_ read after a later scheduled one. So a fake wait is added between those two, so you won't have to look beyond two instructions to figure out WaR hazards e.g.
17:54karolherbst[d]: WaR that follows those two
17:55karolherbst[d]: e.g. something like this: https://gist.github.com/karolherbst/b6ff02426a39e342078064dac41d0d01
17:57mohamexiety[d]: wait though how would that happen?
17:58mohamexiety[d]: if you know all the latencies, how would you get to a spot where a prev instruction reads after a later one?
17:58mhenning[d]: karolherbst[d]: oh, we should probably just fix the scheduler then to handle that case. I don't think we should model anything as a RaR
17:58karolherbst[d]: uarch reasons.. but I also don't really understand why a WaR hazard wouldn't be enough to model it...
17:59mohamexiety[d]: what uarch reasons? the compiler is in charge of scheduling and the compiler has full latency info, right?
17:59karolherbst[d]: sure, but an instruction doesn't have to immediately read a value and it might just take a bit of time
17:59karolherbst[d]: but dunno...
17:59karolherbst[d]: not really sure if that's what's going on here anyway
18:01karolherbst[d]: but I also haven't checked if NAK only looks at the last reader or at all previous readers
18:03karolherbst[d]: I also don't know if having a rar hazard postpones reading for later scheduled instructions either
18:04karolherbst[d]: so maybe B _would_ read later as well
18:04karolherbst[d]: but dunno
18:08mhenning[d]: I mean, there is no RaR in the scheduler right now. Introducing one is probably a larger change than fixing the "but I also haven't checked if NAK only looks at the last reader or at all previous readers" problem, if it is a problem
18:09snowycoder[d]: triang3l[d]: Is this tested on dEQP?
18:09Lyude: crazy question - any engineers at nvidia with experience working on the display stack around here?
18:11upperwilliam: BTW. even on pipeline measurings LLVM code is hilarious, where as they can just use interrupts and deisgn hazards to measure all needed pipeline stages to pull pcie to clockless mode and give it more async load, GPU pipeline stages in vintage model i suppose lacked interrupts alltogether for the fixed stages they'd probably work, but not on those MMIO shaders, so sure i do not know all the
18:11upperwilliam: worlds gpu designs, they vary so much model to model, but there is a problem with asics, there is only one caveat, high resolution timers are not possible to be engineered, so this autosar did on FPGA's for picosecond resolution timers XCP xilinx was used there. it can perhaps pull to async fastest mode, it would not report reliable timing.
18:11gfxstrand[d]: triang3l[d]: We may have to delay the kill until after the critical section but `kill`, i.e., `demote` should be fine inside.
18:12snowycoder[d]: gfxstrand[d]: If every lane is killed then there's no lane left to handle the unlocks, that could be a major problem
18:16mhenning[d]: nvidia tends to be reasonably good about that eg. exited threads won't count toward control flow barrier waits
18:17mhenning[d]: so it's possible we don't need to do anything special (but still need to test to make sure that's true)
18:39karolherbst[d]: mhenning[d]: yeah.. I wished I'd know what's wrong, but looking at the data I also can't find anything else being wrong...
18:43upperwilliam: I understand that MMIO based fixed pipeline stuff, can mix any commands and intermix those into pipeline, cause technically the shader units are global and ripple into the pipeline with other commands similarly, it's there i do not have very badass experience on GPUs, only southern island is what i fully studied, but there are lot's of lunatics that need to hear what i and roger penrose
18:43upperwilliam: who reminds me the calmness of my grandfather and kindness need to listen, there is no concept of time in universe, universe always existed, and it seemed like i do not like or critisize Elon Musk, which i did not do, i like him enough, same for donald trump, i do not consider them as bad persons so far the least. Lot of people i experienced in mental institution where i actually got much
18:43upperwilliam: experience from, flipped out cause of cosmology and always the dilemma, who was before egg or chicken, i mean when and how the universe started, so satisfy with something as it never started , time was just invented for calculations it's invented or hacked dimension.
19:19haraldkupper: You should know well, that i do not care what such trash like majority says about cosmology, they are retarded people to me, all except Roger Penrose, who self-evidently seems to make sense to me, tubulus , senses, time, big bang, ashtar , planet X, his theories are coming through with enough sanity. About conciusness of AI, so and so, i showed that those systems can have lot more memory,
19:19haraldkupper: so i think it can be made somewhat concious not perhaps entirely. Memory of ai can surpass that of human being, but he has a lot of interesting ideas, but that is an old experienced man.
19:27Lyude: get outta here
19:28HdkR: It's a busy day today
19:28Lyude: i'll keep an eye on the chat
19:28airlied: definitely on the grind today
19:41pettyalvarez: What i am saying Lyude and HdkR estonian man like me, takes your clueless and senseless LGBT skirt wearing trash just from the hair trust me, and bangs your head against the table, and this is just what i am going to do with you , trust me i will, such shit gives me no lectures about big bangs, nor says who is my wife and who i fuck and what i do.
19:41HdkR: 💃
19:42airlied: I just wish I knew how to create this many irc bouncers/clients/hosting machines, it's like a one man kubernetes across the internet
19:43gfxstrand[d]: Maybe he should work on cloud computing instead of GPUs. He's clearly mastered uptime and redundancy.
19:43HdkR: I supposed once you get banned across every community, you start to develop a flow to get back in within two minutes.
19:44HdkR: The AWS outaged today could have used someone with that amount of uptime.
19:44HdkR: outage*
19:45airlied: like bro is hitting 5 9s
19:46Lyude: pettyalvarez: i'll be hetre all day
19:46chikuwad[d]: fastest ban on this side of OFTC
19:46Lyude: hehe
19:47chikuwad[d]: https://tenor.com/view/clint-eastwood-gunslinger-six-shooter-gun-flip-flip-gun-into-holster-gif-12524647873518510513
19:47Lyude: i wonder he realizes i don't have colored hair yet
19:47chikuwad[d]: *yet*
19:48Lyude: :)
19:48HdkR: I loved when I had bright red dyed hair, was a good time.
19:55Lyude: tbh i can't believe i'm saying this but it is getting increasingly tempting to try automating this with an llm...
19:55HdkR: tbh I thought that was dwfreed was going to do :D
19:57mhenning[d]: Someone else pointed out that a keyword ban could go a long way
19:57airlied: I think there was 3-4 ircd rewrites before then :-P
19:57gfxstrand[d]: Wait, he's picking on hair colors now? Should I take that personally?
19:58triang3l[d]: snowycoder[d]: Unfortunately not by the CTS, it discards based on `gl_FragCoord.x & 1`, and Piglit doesn't seem to have any runtime FSI tests with `discard`, only shader compilation tests with a non-uniform `discard` condition
19:59triang3l[d]: But you can modify the CTS test 🙃
20:00triang3l[d]: It's `dEQP-VK.fragment_shader_interlock.basic.discard.*`, and the code is <https://github.com/KhronosGroup/VK-GL-CTS/blob/main/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.cpp>
20:00snowycoder[d]: I was so happy to finally pass some tests 🙁
20:01snowycoder[d]: That's a pretty major oversight in the CTS, I would've very easily missed it
20:05mhenning[d]: I'm sure CTS would be happy to accept a patch that hits that case
20:05dwfreed: getting a bot running that can, among other things, deal with this guy in an almost completely automated fashion is very high on my OFTC todo list
20:06dwfreed: in fact, higher than Atheme (new services) or solanum (new ircd)
20:07dwfreed: There's a lot of technical debt that needs paying, and time to work on OFTC things is unfortunately been going for a premium lately
20:07dwfreed: (We still have servers running Debian *stretch*, and nothing is newer than bullseye; it's a mess, but I'm working on it)
20:09HdkR: A million important things to work on, yet not enough time.
20:09dwfreed: Yeah
20:09dwfreed: I need like 72 hours in a day and no need for sleep
20:11diddleyfine: I think you are messing with me, android has just so many servers as jailbroken, they are all free and can be relayed, you banned estonian domain trace immediate routing tables, surveillance me, you know very well that i use vpnjantit and protonvpn cause i am not interested anymore to come here, i swap the ip so that your routing table cause wrong, i see when you async socket is taken out,
20:11diddleyfine: but matrix and nodes proxy is very easy to be fooled so that signed proxy is gotten out from chromium or matrix client , yes sure i can get in to anywhere i like, and from america i just stole round about 100k documents out of their website by writing a script, with curl, dudes i am a programmer, i maintain all the computers to anyone, cause i am always the smartest, i know how bad ipv4/6
20:11diddleyfine: ethernet protocol is.
20:24gfxstrand[d]: steel01[d]: Okay, so I've got it so it doesn't enumerate the nouveau device but does enumerate the tegra device and it's still blowing up. I think something super subtle is going on here.
20:24gfxstrand[d]: I'm gonna need more logging
20:24gfxstrand[d]: But I pushed the latest
20:24gfxstrand[d]: Setting it to tegra gets me the same corruption you're seeing. Setting it to nouveau, I get my log messages but no one ever tries to allocate a BO as far as I can tell
20:25Lyude: diddleyfine: still here
20:25Lyude: oh wow
20:26Lyude: didn't even need to do anything that time
20:26dwfreed: they'll be back in 5 minutes
20:26steel01[d]: Huh. If you unset TARGET_GRAPHICS, it will default to swiftshader. Leaving the minigbm, it'll use the new back end with only the tegra driver and not nouveau. That should render correctly like my tests a couple days ago.
20:26steel01[d]: Not sure how that's effectively different from what you described, though.
20:27steel01[d]: Though... If drm hwc enables nouveau, something in the kernel drivers might be doing handoffs.
20:28gfxstrand[d]: I'm trying to figure out the difference between the tegra driver and my nouveau driver.
20:28gfxstrand[d]: Like, it's not even trying. No BOs get allocated.
20:29gfxstrand[d]: It just faults trying to get display bounds again, meaning it's probably opening the nouveau node, not the tegra node.
20:32Lyude: hi
20:32HdkR: Knock knock. Telegram.
20:35gfxstrand[d]: Ope! I'm seing BO creates!
20:36HdkR: 🎉
20:36karolherbst: Lyude: btw, I started to set up masks on the entire allocated ASNs from those corpo subnets... though not sure if it's worth the trouble because there are a lot of those 🙃
20:37gfxstrand[d]: lmao... The handles are nouveau handles and not tegra handles so `drv_bo_get_plane_fd()` fails. 🙃
20:38steel01[d]: This makes sense.
20:38Lyude: karolherbst: you mean the ones that are being used for ban dodging?
20:38karolherbst: yeah
20:39karolherbst: like not just banning the one account or hostmask, but the entire allocated ASN
20:39Lyude: oh right. i forgot we just get people's IPs on here
20:39Lyude: tbh I wonder if we should just start adding them to dronebl
20:39karolherbst: dronebl?
20:40Lyude: ...assuming that's still a thing in 2025
20:40karolherbst: heh
20:40Lyude: karolherbst: yeah - it was a central database for IPs being used to attack stuff like irc networks
20:40karolherbst: I think the issue is that IPs don't mean much these days
20:40Lyude: mhm, true.
20:40karolherbst: like there might be legit users on one of those subnets
20:40karolherbst: but...
20:40karolherbst: if none of them are hanging out here I also don't particularly care
20:43karolherbst: after we add like 2000 of those, we surely have to got them all eventually 🙃
20:44dwfreed: Lyude: dronebl is still a thing, and I don't know why it hadn't occurred to me to add them, but it's something I can make the bot do when I get to that
20:45Lyude: yeah
20:45karolherbst: it's kinda curious how aall those ranges today were assigned to companies in the UAE 🙃
20:45Lyude: would be a good idea, also thanks!
20:45Lyude: karolherbst: surprised it isn't russia
20:45karolherbst: it was also russia
20:46Lyude: oh ok
20:46karolherbst: but just one
20:46karolherbst: but the last 5 were UAE
20:47karolherbst: wait.. I added 10 entires today.. impressive
20:47freedom123: .0.1:8888)
20:47freedom123: Proxy traversal failed.
20:47freedom123: * Stopped previous connection attempt (121091)
20:48Lyude: owo what's this
20:48HdkR: owo
20:48karolherbst: LLM
20:48Lyude: our llm or another llm
20:48karolherbst: there are person who join IRC on a bunch of channels to train their LLM
20:48karolherbst: dwfreed: ^^
20:49Lyude: i wish i could be as naive as to think that all AI problems can just be solved with more training data and that power and resources are made up fantasies by people with colored hair
20:50karolherbst: dunno if this one was an LLM, but also.. the last one "spoke" exactly like that one 🙃
20:51karolherbst: kinda piped the messages of the c&c thing into the actual channels, kinda wild
20:51dwfreed: Pretty sure it was them, and they just forgot to make sure they had the right thing in their clipboard
20:52karolherbst: :D
20:52karolherbst: maybe
20:52steel01[d]: gfxstrand[d]: Yeah, this makes a lot of sense. The tegra-drm driver creates all the planes. And on tegra, I presume nouveau has no planes. So to put anything on screen, you have to run it through tegra-drm to apply to a plane.
21:00nanodrums: I just want you to leave my soul alone in physical space, your friends come to harass me, and it was not my wife, who you screwed i played them, cause i had nothing to do, i knew she was a fucker , but had nothing to do to play along (too serious convictions done in estonia my court's fraud) , i won't accept her not in this life not in another one though in the beginning yes i liked her, but
21:00nanodrums: for not long when i noticed they are all cracking me up deliberately in cambodia, i had nothing to do to play along, i won't accept such anal bum fuckers into my life. Fuck sakes is that clear? I donated your memory management if that is what you were after,i can program the memory manager the fw's for free that i talked about, just leave my business intact of your terror or it's a war it was
21:00nanodrums: a twistedest mofo i had ever faced grand deluded mentally ill fucker. You get handled and killed like many before if you do not fuck off from my premise.
21:02karolherbst: it's been busy today :')
21:17gfxstrand[d]: steel01[d]: Ugh... It really feels like SurfaceFlinger is starting on a random device. 😩
21:20gfxstrand[d]: But IDK what switching to the tegra back-end changes
21:22gfxstrand[d]: I'm going to wipe and re-image
21:22steel01[d]: gfxstrand[d]: So, I set a prop to tell drm_hwcomposer to use the nouveau device. Iirc, if that's set to tegra, it fails to initialize.
21:22steel01[d]: https://gitlab.incom.co/CM-Shield/android_device_nvidia_tegra-common/-/blob/lineage-23.0/properties.mk?ref_type=heads#L58-59
21:22steel01[d]: The other prop used by hwc is pointing to card0, which is tegra. Tbh, I don't know what either are doing specifically, like if one is rendering and the other is for scanout, etc.
21:23steel01[d]: I think I tried all combinations at one point and this was the only one that put pixels on the screen using dumb buffers. But that's been a couple years.
21:25gfxstrand[d]: All I'm doing is monkeying around with which back-end we use for gralloc. If I tell gralloc to build for tegra, I get pixels but they're wrong. If I build for nouveau, no pixels
21:26gfxstrand[d]: And I've got nouveau hacked to enumerate on the tegra device and then allocate on nouveau behind tegra's back.
21:27steel01[d]: It'd be nice to have someone that understands the android graphics system around to bounce questions off of. Is anyone that works on the FD copy of drm_hwcomposer on this server?
21:27gfxstrand[d]: no
21:27steel01[d]: Sadness.
21:30gfxstrand[d]: Like, what all does TARGET_MINIGBM_PLATFORM control? Is it just what back-end gets built? Or is it plumbed into like 3 other things?
21:30gfxstrand[d]: Because that's the only one I'm monkeying with