Have had a total ops meltdown all day today, constantly putting out one fire just as the next one starts. Just now when rebuilding a bad disk on a new server from erasure coded backups, it hit 99.888% then bugged out and corrupted the target disk. I'm exhausted & sites are down.

Since reading ints and bools across threads is fine in C#, I thought accessing doubles across threads would be fine too. It is not fine; you need to lock.

Unity profiling tip: just make sure to zoom out. If you're zoomed in too far, you might wonder why a 7ms player loop is resulting in 45fps...turns out, that's just a 7ms sequel to a 13ms player loop 🤣 Also: something is seriously messed up with my canvas batching!

It's super weird to me how everyone dutifully switched to saying "Apple Silicon" instead of ARM. Apple is clearly careful to phrase it that way for marketing reasons, but the sycophantic mimicry creeps me way out.

Huh just noticed it's back on sale at 87% off...I'd recommend it at that price humblebundle.com/store/anthem

Show thread

I've been playing Anthem since it went on sale for just a few bucks a while back. It has such a fun and satisfying core game loop, great graphics, voice acting & mocap. But it's ruined by so much forced tell-not-show dialogue & by constantly trying to get you to play multiplayer.

This is pretty exciting: Valve may have been a bit late to the OpenXR party, but they're throwing their weight behind it. OpenXR is looking like it'll become The API, despite long odds! steamcommunity.com/games/25082

"In early 2021 we’ll offer a new way to distribute your work in the Quest ecosystem"
I'll believe it when I see it. How will they handicap this? How will they maintain their requisite absolute control? And we won't see it until sometime next year? 🤔 developer.oculus.com/blog/the-

Microsoft used to be comfortable sticking with losing products/services long enough to iterate and market them into successes. When they gave up on WinPhone, I thought it was too early and a big mistake. I feel the same way about Mixer. Guess they can no longer stomach that strategy.

Every time I read A12Z I wonder what the 12 letters are supposed to be, and then realize its not one of those 🤣

Watched Da 5 Bloods last night, and I've never quite seen anything like it. The way the older guys relive their war stories, sharing the screen with young stars, tackling mental health, bravery, greed, money, the legacy of war. It's remarkable & my thoughts keep returning to it.

This happened a year or two ago, but it's stuff like this that makes me feel that the web will never be excellent, and at best it will be good. On what other platform would it be acceptable to purposefully make a feature worse like this? Seems like they just shrugged, threw their hands in air, and said, "that's the best we got."

Not sure if this idea will work out, but it didn't even occur to me as a possibility on Tuesday. This is why it's good to put things on the shelf for a bit and think on it. Now it's time to code it up, see if it actually works out, and compare the DX vs. traditional raycasting.

Show thread

Instead, I'm going to try building out a retained-mode raycasting system. That is, you create "Raycaster" objects that can be trivially enabled/disabled/repositioned, even frame-by-frame. When enabled, the Raycaster has a fresh result every frame: THAT is available synchronously.

Show thread

On Tuesday, I had two ideas on this. First, is there a way to pause script execution and run some synchronous calls? Not really, esp. not for unknown-N arbitrary call sites. Second, can we keep a copy of all physics bodies & do our own raycast? Yes, but not efficient or accurate.

Show thread

I'm glad I sat on this for a few days while dealing with other dev & ops work. In the background, my brain was crunching on it. The standard approach is for raycasting to happen immediately, synchronously, assuming full synchronous access to the scenegraph. What if you don't?

Show thread

The one VR-related thing I caught from the Sony stream today:

Buried in development work and now someone decides to DOS my services. Fun.

Putting everything in an asynchronous loop is all fine and dandy until you have to raycast. Wondering how I made it so far into development on this without needing to raycast. Coming to the realization that I need to write my own so it can be done synchronously within the async loop 😡 Maybe it's time to call it a day.

Show more

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!