I think for Sinofsky the "respecting the past" refers more to WinRT was/is still just Spicy COM under the hood. Most of the article as I read it is about how .NET was a mistake for Windows UI development and a return to (Spicy) COM its savior.
They did pull that rug, twice, in two different directions.
1) VB7 (VB.NET) entirely split the VB developer community.
2) VB6 IDE has not worked well and is entirely unsupported in every Windows after XP. It's generally recommend to build VB6 apps in an XP VM and XP being out of security support it's now a huge "Use at your own risk" and "Do your best to isolate the VM from ever having an internet connection". (Not to mention that installers like Install Shield that still understand VB6' super messy version of COM are generally also out of support and security support.)
It was alleged that Microsoft almost dropped the runtime components for VB6 in Windows 11. It starts to feel like only a matter of time before they do.
"Backrooms" don't just come from videogames. They are meant to represent liminal spaces like "endless" cubical farms and conference rooms and the back offices of movie studios or any other modern business. (Even the idea that on the backside of the cool theme park structure that seems so otherworldly is just a couple of boring janitor's closets and hallways for staff/crew to navigate between shifts.) The videogames building "unused" rooms like this were in part trying for verisimilitude to these sort of "just around the corner" spaces that exist in so many buildings. Often as a joke. It was a part of the humor of Duke Nukem. It was a key part to the humor of Portal. It was the entire basis of The Stanley Parable.
I think we can argue that real world places that inspired our fantasy Dungeons were similar liminal spaces: the creepy basement hallways that connected staff/crew (servants) access to other parts of the building(s) above. The multi-use spaces below that are most remembered in pop culture for such uses as torture and imprisonment, but were also often staging grounds for much more boring household logistics tasks (storage), and even equivalents to conference rooms, janitor closets, and "offices".
The concept did not originate in videogames. The whole thing started from a 4chan post where someone posted a photo of a yellow interior. Then, in 2022, Kane Parsons created a viral YouTube video based on that post. You can see it here: https://youtube.com/watch?v=H4dGpz6cnHo . The video game adaptations all came later.
Yes it did. "noclipping out of reality" is a metaphor that is nonsense outside the context of videogame worlds. The 4chan copypasta that popularized the Backrooms meme doesn't mention video games but that particular post is not the origin of the backrooms concept.
There are literal backrooms you can noclip into existing in games that that predate that 4chan post by several years
I've had dreams like this - I think a lot of people have - where you find yourself trapped in a space, an office or a mall or wherever, one common version seems to be a public bathroom - and you keep moving through an endless maze of doors that lead nowhere.
The article has it wrong, this was a archetype of the human collective unconscious well before 4chan turned it into a meme.
Which article is wrongm Both the article and Wikipedia entry focus on The Backrooms which are a type of liminal space. Yes, liminal spaces have existed in fiction, dreams, etc. However, here the discussion is on The Backrooms and how that idea and aesthetic became very popular very quickly.
You can pass to `fetch` an `AbortSignal` like `AbortSignal.timeout(5000)` as a simple and easy guard.
If you also want to guard on size, iterating the `response.body` stream with for/await/of and adding a counter that can `abort()` a manual `AbortSignal` is relatively straightforward, though sounds complicated. You can even do that as a custom `ReadableStream` implementation so that you can wrap it back into `Response` and still use the `response.json()` shortcut. I'm surprised I'm not seeing a standard implementation of that, but it also looks straightforward from MDN documentation [1].
All of them are optional and can be disable at the instance-wide level, in addition to some of them having account level opt outs.
They also are still generally bound to an instance's own horizon: there's no global "trending feed" (and it would be really hard to create one), these optional "algorithmic" tools still differ from instance to instance based on what that instance follows and its trading relationship to its neighbors.
> Some of the most toxic conversations I've seen were on Mastodon.
> If there's a healthy future for socializing on the internet, I think it will happen in small communities.
I think that is why I still trust Mastodon/ActivityPub a lot more than Bluesky/ATProto. Mastodon at least provides the tools for small communities. Big instances still exist. Pile ons and drive-bys are still possible. But also Mastodon has plenty of small instances including many one-person instances. Even out of the box small instances are smaller overall traffic among the great river of ActivityPub. But also forks like Hometown exist for adding extra, simple "picket fences" around small communities. A "complete" view of ActivityPub is intentionally hard to get. By comparison, ATProto seems to me overfocused on the Relay system as a grand centralizing data bus and missing pieces of a conversation seen as much more of a bug rather than a feature (of ActivityPub).
I also think the future is healthier in the hands of smaller communities. I can teach someone how to effectively use Mastodon for small communities across an almost nice spectrum of "insular" with useful options on both sides from strangers tolerated to strangers mostly unwelcome (though that starts to lead away from Mastodon and back towards classic forum software). I don't see how to do anything like that with Bluesky and a lot of the design decisions of ATProto seem intentionally to try to avoid small communities.
Which is the exact problem any other IPv4 "extended" proposal would have hit. But the practical reality if the port number really was the only freely available bits in the IPv4 header to reasonably extend into. Almost everything else had ossified middleboxes doing something dumb with it. (And we've seen from NAT/hole-punching/etc how even port numbers had a lot of assumptions to overcome from middle boxes and we aren't using a full /16 there either. A lot of the safest traffic has to be > 10,000, a constraint on 14 of those 16 bits.)
There was never 64-78 bits in the IPv4 header unconstrained enough to extend IPv4 in place even if you accepted the CGNAT-like compromise of routing through IPv4 "super-routers" on the way to 128-bit addresses. Extending address size was always going to need a version change.
With more and more players expecting emoji support in text entry boxes, more games are starting to ship with full unicode support. Also I've noticed optional ligatures that OpenType supports have become a big style thing in certain game genres/by certain studios. Harfbuzz's "Old MIT" license shows up more often in the credits of games and game engines.
I don't know if that's a good reason to push to standardize controller glyphs to Unicode, though.
(ETA: Plus the other obvious reason more games and game engines are bringing in full Unicode support is localization, especially for Arabic and CJK. We're a bit past the point where AAA games only feel a need to support EFIGS. The Middle East and Asia are huge markets, especially for mobile games.)
Storing in UTC is lossy. You've lost information about the event's original UTC offset, at the very least, and probably also its original time zone. Most backends today have good ways to round-trip offset information, and still compare dates easily (as if they were normalized to UTC). Some backends can even round-trip timezone information in addition to offsets.
It's easy not to feel that loss as a big deal, but captured offsets can be very helpful for exactly debugging things like "what time did this user think this was?" versus time zone math (and DST lookups) from UTC. It can help debug cases where the user's own machine had missed a DST jump or was briefly on a different calendar or was traveling.
But a lot of the biggest gains in Temporal are the "Plain" family for "wall clock times"/"wall calendar dates" and breaking them apart as very separate data types. Does a UTC timestamp of "2026-02-01 00:00:00Z" mean midnight specifically and exactly or where you trying to mark "2026-02-01" without a time or timezone. Similarly I've seen data like "0001-01-01 12:10:00Z" mean "12:10" on a clock without the date or timezone being meaningful, but Temporal has a PlainTime for that. You can convert a PlainDate + a PlainTime + a Time Zone to build a ZonedDateTime, but that becomes an explicit process that directly explains what you are trying to do, versus accidentally casting a `Date` intended to be just a wall-clock time and getting a garbage wall-clock date.
reply