It wasn't until I discovered I was on the spectrum that I realized why it clicked so much. >.< I'm masking all the time, running conversational simulations to anticipate the societally-expected response to any given situation (and am high on the IQ spectrum).
Great video! Love the concepts discussed, and the tigerstyle mentioned by adityaathealye. This is such a hard problem.
For Halo 4, I architected a system for our telemetry
that that had to support subsecond roundtrip user lifetime aggregation. With up to 400ms one-way latencies, that left us with 200ms client + server time to manage lifetime counts. 60ms on the client for batching and network stack delays, and 80ms in the cloud for aggregation after routing delays.
On the client side we leveraged a lot of those TigerStyle ideas (static-allocation, simplified function surface area, explicit limits, strongly asserted). And for the cloud we effectively wrote Diagonal Scaling (Stage 7).
For gamedevs to use this, it had to be as lightweight as possible and introduce no risk of priority inversion or hitching. I wrote a many-reader/many-writer lockless circular queue with performance measured in the microseconds, it was a beast.
I was so proud of our tiny team for pulling off the vision. When we launched, there was a bug in the game: someone left in telemetry in a tight render loop during a cutsceen, so our 20k/s client-side throttles kicked in.
We hit an average of 700k/s on launch day, with peak ingestion throughput of 831k/s (2 weeks to hit a trillion). And we didn't break a sweat.
Partner teams that were trying to provide our reporting capabilities started slowing down, though, haha, and brought it to our attention ("We, uh, can't scale anymore, there's no more servers on the eastcoast data center we can allocate")... so we hit the killswitch on that category of event.
That was another piece I was proud of writing: each instrumentation point did a quick binary mask check for 64 categories and 64 subcategories to see if it should emit... one reason why the instrumentation times were so blazing fast, we had minimal branching based of a hotly-cached variable that would hang around L1 because it was touched so frequently.
Querying that day for insights, though... aggregation queries touching the launch day (that weren't on the per-user hotpath layer that was our primary use-case) would 30x query duration. XD
OH! And I forgot to mention. The tech was impressive enough, that it was quickly adopted as the backbone by every title that Microsoft published, from Gears of War to Solitaire, Forza to Minecraft.
And for comparison: The official, initial Xbox One telemetry stack used pipe-delimited strings, and supported 1-5 transactions/console/second (vs our 20k).
Thanks! It was definitely a highlight working on such bleeding-edge technologies with crazy smart people. Pouring over custom PowerPC CPU Errata was divine.
Oh, and we only had (if I recall) 1ms per frame on one core to do all our payload packaging and dequeue messages from the circular buffer. Thats' where the 20k/s hard limit came in... we could have handled SO much more. Our entire message usually landed around 100-150 bytes if I recall, using bitpacked structures.
One thing I didn't anticipate: Memory stomping would result in everyone pointing fingers at our department, because we would inevitably be the ones that would crash (usually with our hardening asserts). We had to start flagging our memory blocks as unwritable when our thread was idle during debug mode, so that offenders would crash when they touched our memory.
I was hesitant about this article being interesting, or a good use of my limited time, but it turns out it was well written and held an interesting insight!
I find it fascinating that, even aware of the importance of the phrase, I tend to gloss over it as one conceptual unit and hardly even register its existence, like the
I always loved this question when I played the 'Why' game with my kids: They ask why, and I'd ELI5. Then they'd ask why, and the process continued until I could excitedly say "We don't know for sure!! We think it might be XYZ, but we're still exploring that frontier."
Swing It Seattle has dances with live bands in Cap Hill at least once a week, and they also have multiple classes going on at any given time. Really pleasant environment, great people, can't recommend it enough!
I hear ya! One of my hobbies is to be a somewhat known stage & exotic dancer / dance instructor in VR using 5-11pt tracking (depending on my mood and production quality). The number of "features" that get in the way, and lack of representation for VR dancers and performers has been frustrating, especially as the world moves more and more towards 3-point robot avatars.
Actually had a chance to provide my perspective to a FAANG Research Group, but I was laid off (and they were disbanded).
I just don't see how the genie is put back in the bottle. Optimizations and new techniques are coming in at a breakneck pace, allowing for models that can run on consumer hardware.
I think it could be done. Or rather, instead of putting the genie back in the bottle, we could slow it down enough that we figure out how to ask it for wishes in a way that avoids all the monkey-paw's scenarios.
Dropping the metaphor, running today's models isn't dangerous. We could criminalize developing stronger ones, and make a "Manhattan project" for AI aimed at figuring out how to not ruin the world with it. I think a big problem is what you point out -- once it's out, it's hard to prevent misuse. One bad AGI could end up making a virus that does massive damage to humanity. We might end up deciding that this tech is just too dangerous to be allowed to happen at all, at least until after humanity manages to digitize all our brains or something. But it's better to try to slow down as much as we can, for as long as we can, than to give up right from the get-go and wing it.
Honestly, if it turns out that China ends up developing unsafe AI before we develop safe AI, I doubt it would have turned out much better for the average American if America were the ones to develop unsafe AI first. And if they cut corners and still manage to make safe AI and take over the world, that still sounds a heck of a lot better than anyone making unsafe AI.
I suppose the argument would be that the key search space is reduced. Statistically speaking, you know the weights of certain binary pairs if the image is not evenly distributed. But I'm guessing that it'd only drop the average search space by... two or three powers of two for most keys?
Again: the randomart image is based on a hash of the public key. If you want to know what that key is, all you have to do is ask the server. You don't need to launch a sophisticated, expensive cryptographic attack to obtain it.
It wasn't until I discovered I was on the spectrum that I realized why it clicked so much. >.< I'm masking all the time, running conversational simulations to anticipate the societally-expected response to any given situation (and am high on the IQ spectrum).
https://web.archive.org/web/20140527121332/http://www.infini...