10 interesting stories served every morning and every evening.
Game developer Rebecca Heineman has died after being diagnosed with cancer last month. The news was shared to Bluesky by Heineman’s friend, Heidi McDonald, while the most recent post on Heineman’s GoFundMe is a goodbye message stating that her health was rapidly deteriorating, and she was entering palliative care. Heineman was 62, and the GoFundMe will remain live to help her family make final arrangements.
Born in 1963, Heineman initially made a mark on the industry by winning a national Space Invaders tournament in 1980 in New York, becoming the first formally recognized US champion of any videogame. She went on to have a far-reaching career, being credited on 67 games according to MobyGames.
Heineman co-founded Interplay in 1983 alongside Brian Fargo, Jay Patel, and Troy Worrell. The developer and publisher was the source of many foundational PC games, including Wasteland, Fallout, and Baldur’s Gate. Heineman designed and programmed a number of games at Interplay, with her most prominent design credit being The Bard’s Tale 3: Thief of Fate.
Heineman’s friend and colleague from Interplay, Brian Fargo, shared a remembrance of the developer on X. “Rebecca Heineman sadly passed away,” Fargo wrote. “Known her since the 80s when I’d drive her to work, one of the most brilliant programmers around. A real gut punch earlier today when she messaged me: ‘We have gone on so many adventures together! But, into the great unknown! I go first!!!’”
Later, in the ’90s and 2000s, Heineman made a name primarily as a programmer, particularly on ports like the Macintosh versions of Wolfenstein 3D, Baldur’s Gate, and Icewind Dale. The saga of Heineman overcoming a deranged businessman to solo program the ill-fated 3DO port of Doom in mere weeks has become a bit of an internet legend: Here’s Digital Foundry and Heineman herself recounting the tale.
Heineman publicly came out as transgender in the 2000s, and was married to fellow games industry legend Jennell Jaquays. Heineman was the recipient of Gayming’s 2025 Gayming Icon award, with the site writing that “her advocacy for LGBTQ+ inclusion, accessibility, and diversity in tech has inspired countless developers and players.”
Jaquays died of complications from Guillain–Barré syndrome in January 2024, and Heineman was blindsided last month by an aggressive cancer diagnosis. She turned to GoFundMe to help with the costs of treatment, where fans, friends, and industry peers showed up to support the developer.
Heineman shared the message last night that her health was rapidly declining.
“It’s time. According to my doctors. All further treatments are pointless,” Heineman wrote. “So, please donate so my kids can create a funeral worthy of my keyboard, Pixelbreaker! So I can make a worthy entrance for reuniting with my one true love, Jennell Jaquays.”
Game developers have begun sharing their own condolences and remembrances in the wake of Heineman’s death.
Rebecca was one of the founders of Interplay and programmed & designed for some of the most influential games of my youth, notably Bard’s Tale I & III and Wasteland. She will be missed.— @jesawyer.bsky.social (@jesawyer.bsky.social.bsky.social) 2025-11-18T00:17:03.191Z
What a remarkable human, and what a remarkable thing to know that she passed bemused at reading her own eulogies. Rest in peace, Rebecca. Thank you for everything.— @ramiismail.com (@ramiismail.com.bsky.social) 2025-11-18T00:15:53.662Z
Rebecca was in my life because she reached out to me, a stranger, because she’d caught wind of a layoff I was impacted by. Her achievements were great, and so too was her kindness.— @jyoungman.bsky.social (@jyoungman.bsky.social.bsky.social) 2025-11-18T00:15:53.699Z
Rest well, you legend, you pioneer, you wonderful soul. I’m lucky to have known you, though briefly. Please share her legacy by reposting Heidi’s message. 💖— @caseymongillo.bsky.social (@caseymongillo.bsky.social.bsky.social) 2025-11-18T00:15:53.712Z
in the early 2000s Rebecca took the time to chat over IRC with a teenaged and gender-confused Me on the practicalities of transition - in a time where being out as trans online was something that could get you socially ostracized. I owe her a lot for that and only hope I can pay it forward.— @moomanibe.bsky.social (@moomanibe.bsky.social.bsky.social) 2025-11-18T00:15:53.675Z
...
Read the original on www.pcgamer.com »
Microsoft is moving forward with its plans to turn Windows 11 into a full-fledged “AI” operating system amidst Copilot backlash.
The first big move in that direction is an experimental feature called “Agent Workspace,” which gives AI agents access to the most-used folders in your directory, such as Desktop, Music, Pictures, and Videos. It will also allow AI agents to have their own runtime, desktop, user account, and ability to always run in the background if you turn on the feature.
As soon as I installed Windows 11 Build 26220.7262, Windows Latest noticed a new toggle “Experimental agentic features” inside the “AI Components” page in the Settings app > System.
This turns on “Agent Workspace,” but it doesn’t work right now, and if you’re wondering, it’s only available to Windows Insiders in the Dev or Beta Channel.
If you’ve ever used ChatGPT, you might have come across ‘Agents.’ AI Agents have their own interface, and they navigate just like a human.
For example, if you ask ChatGPT’s Agent to book a trip, it’ll open Chromium on Linux in an Azure container, search for the query, visit different websites, navigate each page, and book a flight ticket using your saved credentials. An AI Agent tries to behave like a human, and it can perform tasks on your behalf while you sit back and relax (spoiler: you don’t).
That’s the core idea Silicon Valley is trying to sell. However, it doesn’t work as well as companies like OpenAI and Perplexity claim.
Up until now, these Agents have been limited to cloud containers with Chromium and Linux terminal access, but as Microsoft wants Windows 11 to become an “AI-native” OS, it’s adding Agent Workspace.
Agent workspace is a separate, contained Windows session made just for AI agents, where they get their own account, desktop, and permissions so they can click, type, open apps, and work on your files in the background while you keep using your normal desktop.
This feature is completely optional and is never turned on by default. To test it, I turned on the feature, and Microsoft created an extra “workspace.” It’s very similar to how Windows Sandbox or Workspaces in Microsoft Edge work, but it could be a potential security disaster, as even Microsoft is warning about risks.
When Windows spins up this extra workspace, it gives it limited access (like specific folders such as Documents or Desktop) and keeps its actions isolated and auditable.
Each agent can have its own workspace and access rules, so what one agent can see or do doesn’t automatically apply to others, and you stay in control of what they’re allowed to touch.
“The creation of the agent workspace where agents can work in parallel with a human user, enabling runtime isolation and scoped authorization,” Microsoft noted in a support document. “This provides the agent with capabilities like its own desktop while limiting the visibility and accessing the agent has to the user’s desktop activity.”
You might find the idea of Agent Workspace a bit similar to Windows Sandbox. Microsoft argues that Windows Agent Workspace is more “efficient” than a virtual machine, such as Windows Sandbox, because:
* The agent still has security isolation
* and gives you control… as you can allow the Agent to access your personal folders even when it’s running in a separate isolated instance. Or you can see the logs.
“The overall experience and security model are actively being refined to support key principles of transparency, safety, and user control,” Microsoft says.
While Agent and Sandbox have similarities like isolation, Sandbox does not have access to your personal files or folders. In Windows Sandbox, Microsoft creates an isolated and hardware-based virtualization, and even a separate kernel to keep the sandbox completely separate.
When you turn off Sandbox, all of its activities are deleted. We can’t say the same for AI agents.
When you turn on the feature, you’re giving agents access to apps and even local folders, such as Desktop, Music, Pictures, and Videos.
I dug a bit into the implementation, and it looks like Agent Workspace has limited access to your local folder inside (C:\Users\\). When the toggle “Experimental Agent features” is enabled, Windows gets read and write access to the following folders: Downloads, Desktop, Videos, Pictures, and Music.
These folders are called “Known folders,” a feature that Microsoft added with Windows Vista.
Since Agent workspace is using known folders, it can always locate these folders (Documents, Downloads, Desktop, Videos, Pictures, Music) even if you’ve redirected the location elsewhere in the filesystem.
To run things for you. Simple. Agent Workspace requires access to apps or private folders to perform actions on your behalf. Microsoft insists that it’s taking care of security implications by giving Agent Workspace its own authorisation (a separate account, similar to your user account), runtime isolation.
Each agent will have its own defined set of dos and don’ts.
The idea is to give Agents their own backyard on your PC, and let them run in the background all the time. You’ll be able to monitor the logs and keep an eye on agent activity.
While each agent gets its own account, independent of your personal account, an agent would still need access to your apps.
Now, when you turn on the feature, Microsoft is giving access to all your installed apps that you can use. But you can specifically install apps for your agents. Or you can maintain different user accounts on Windows, and then install apps for those specific users. If this isn’t an unnecessary solution to a problem no one had, then what is…?
In our tests, Windows Latest observed that the experimental toggle warns of potential performance issues, and it makes sense.
AI agents are going to run in the background all the time and use RAM or CPU, depending agent’s activity. However, Microsoft’s early benchmarks suggest they won’t really drain PCs of their power. Microsoft won’t give us the numbers for obvious reasons.
Microsoft only says AI Agents will use a limited amount of RAM and CPU.
By default, these agents are lightweight, but the catch is that some Agents could be resource-intensive. We’re going to find out later.
Ironically, this new agentic experience has been announced after Microsoft’s Windows boss promised to improve Windows for everyone, including developers.
As Windows Latest reported recently, when Microsoft’s Windows boss teased an “Agentic” future for Windows, hundreds and thousands of users criticised the leadership. Microsoft’s executive closed the replies/comments on his post to calm the public, but the move backfired as more users started shaming Windows’ Agentic shift.
Later, Microsoft’s Windows boss promised that it would make Windows better for everyone, and it deeply cares about developers.
“We know we have work to do on the experience, both on the everyday usability, from inconsistent dialogs to power user experiences. When we meet as a team, we discuss these paint points and others in detail, because we want developers to choose Windows,” says Pavan Davuluri, who is the boss of Windows and devices at Microsoft.”
“….I’ll boil it down, we care deeply about developers,” he added.
While the Experimental Agents Feature is optional, it makes it quite obvious Microsoft will not stop investing in AI for Windows 11, and Agentic OS is the future, whether you like it or not.
...
Read the original on www.windowslatest.com »
This is a post that we don’t take any joy in writing. When we wrote last month about our agreement with Core Devices, we went into it believing that cooperation between Core and Rebble would be the best decision for the Pebble community. Core would spearhead the development of brand new watches, and we’d be there to provide our Rebble Web Services to go with them.
Unfortunately, our agreement is already breaking down. We hoped that by putting on a kind face, and publishing an optimistic-sounding blog post along with Eric, that we’d be able to collaborate in a way that met our responsibilities to you, our users. We knew that neither of us would be able to get all we wanted, but we thought we had enough common ground that we could serve Pebble users together.
Rebble has been working since the beginning to keep the Pebble experience alive — maintaining the App Store, building new services like Bobby, and running frontline support for people keeping their Pebbles ticking the whole time. (The Pebble App Store that Core offers right now is backed by Rebble!) But Eric and Core recently demanded that, instead of working together, we need to just give them all of our work from the last decade so that they could do whatever they want with it. And in Eric’s latest newsletter, he hasn’t told you the truth about where the work that makes his business run came from. We’d rather have cooperated with them to build something great together, but we’ve reached an impasse. So now, we’re asking you — our community — what to do with Core.
How we got here
Nine years ago, Eric Migicovsky’s company, Pebble Technology Corporation, went out of business and dropped support for the hundreds of thousands of Pebble smartwatches out there. Rebble — and our community! — put together a Herculean effort to salvage the data that was left on the Pebble app store.
Since then, we built a replacement app store API that was compatible with the old app store front end. We built a storage backend for it, and then we spent enormous effort to import the data that we salvaged. We’ve built a totally new dev portal, where y’all submitted brand new apps that never existed while Pebble was around. So far, we’ve spent hundreds of thousands of dollars on storing and hosting the data. And the humans who run the Rebble servers have also spent incredibly late nights upgrading Kubernetes clusters, responding to outages, and generally keeping things ticking.
What you now know as the Pebble App Store from Eric’s new company, Core Devices, is the result of nearly a decade of our work. The data behind the Pebble App Store is 100% Rebble. And the App Store that we’ve built together is much more than it was when Pebble stopped existing. We’ve patched hundreds of apps with Timeline and weather endpoint updates. We’ve curated removal requests from people who wanted to unpublish their apps. And it has new versions of old apps, and brand new apps from the two hackathons we’ve run!
We’ve been negotiating with Eric for months now. We’ll compromise on almost everything else, but our one red line is this:
Whatever we agree on, there has to be a future for Rebble in there.
We want to give Core’s users access to the Rebble App Store. (We thought we agreed on that last month.) We’re happy to commit to maintaining the Web Services. We’d be happy to let them contribute and build new features. And what we want in return is simple: if we give Core access to our data, we want to make sure they’re not just going to build a walled garden app store around our hard work.
The problem is, Core won’t commit to this. Core wants unrestricted access to do whatever they want with the data that we archived and have spent the last years curating, maintaining servers for, and keeping relevant. If we gave Core the rights to use the App Store data however they want, they could build their own Core-private App Store, replace Rebble, and keep any new changes proprietary — leaving the community with nothing.
We’ve asked Eric about this every time we talk. He has occasionally said verbally that that isn’t their plan… but when it comes time to put it in writing, he has repeatedly refused to guarantee that. A week ago, we asked him to chat about this one more time — he delayed our conversation, and then in the intervening time, scraped our app store, in violation of the agreement that we reached with him previously.
We’re sad that the Rebble community has had tension with Core Devices ever since Google released the original PebbleOS source code. We’ve been pretty quiet about it for a while — we thought that we had a chance of working together if we tried hard not to fracture the community. But by now, a verbal promise isn’t enough.
When the code was released in January, we immediately branched the repository and started maintaining PebbleOS. The Rebble community began porting an open-source Bluetooth stack to PebbleOS, to support classic Pebble devices. Eric mentions this in his blog post, but what he doesn’t say is that Rebble paid for the work that he took as a base for his commercial watches!
Shortly after, Core forked PebbleOS away from public maintainership. Back in June, they said that they would merge back periodically; it’s now November, and we’re yet to see anything get merged back. Multiple efforts to contribute to PebbleOS were put on hold while we waited for Core to merge upstream. It never happened. Eric, in his blog post, now says that he will run PebbleOS as a “benevolent dictatorship”.
Rebble’s work is the backbone of Core in other ways. The Core Devices app is based on libpebble3; in Eric’s blog post, he said that Core built it. The reality is that it started life as libpebblecommon, which Rebblers wrote as part of our mobile app project (Cobble), and we funded through the Rebble Grants program. The work that we did together saved Core a month or two of engineering effort at the beginning; Core took Rebble’s work, added to it, and then paid us back by putting a more restrictive license on their contributions and wrapping a closed-source UI around it.
A few months ago, Core promised that they would let Rebble maintain and own the developer site, after Rebblers spent days making it build again, importing new content, etc. Then, in Eric’s original proposed agreement, he demanded not only that Core publish the developer site on their domain, but that we remove our copy of the developer site and redirect to theirs.
These have been blows to our community, to be sure. We’ve tried not to let this affect our negotiations: we want to work together. But we went into this wary, knowing what a promise from Core meant.
The last straw was two weeks ago. We’d already agreed to give Core a license to our database to build a recommendation engine on. Then, Eric said that he instead demanded that we give them all of the data that we’ve curated, unrestricted, for him to do whatever he’d like with. We asked to have a conversation last week; he said that was busy and could meet the following week. Instead, the same day, our logs show that he went and scraped our servers.
Rebble’s goal is to have a community-driven place to develop for these watches that we all love — today, and also in the future, if (love forbid!) something were to happen to Core Devices.
If we gave Eric an unrestricted license to our data, he could do the same thing he did to our firmware work, and our mobile app work. He’d have the right to take it and build his own app store — and the work that we’ve done together as a community for the past decade would no longer be in our control.
We watched this happen ten years ago when Pebble went under (Rebble has been around longer than Pebble and Core combined by now!). We don’t know that Core can commit to supporting this ecosystem in the long term. After all, the warranty on Pebble 2 Duo is 30 days long, and early users are already reporting that their buttons are falling apart!
But even if Eric has the best intentions now and can find the funds to keep Core afloat, you could imagine that OpenAI, or someone else, would want to acquire Core and make him an offer he couldn’t refuse. We’ve watched this play out so many times, from so many other companies, in the decade since — a product we love gets released, and then gets killed off, another victim of closed-source enshittification for profit. We love these watches, and we’d be sad if that happened. And more to the point, we love this community that we’ve been a hub for.
This is your choice
In our last post, we said that Rebble belongs to you. We mean it. These are the apps that you’ve written and contributed to your fellow Pebblers. These are the watches that you spent so long caring about and loving. This is your community, where you make awesome happen. So we see two directions from here, and we need the community’s help to decide.
If y’all would like, one option is that we could aggressively protect the work we’ve done, and try to protect the community going forward. If Eric had the foresight to back up this data nine years ago and maintain it himself, there’s nothing we could say about this. But he didn’t, and we, together, did. We made it absolutely clear to Eric that scraping for commercial purposes was not an authorized use of the Rebble Web Services.
This gets ugly in a hurry, but we have legal resources that can protect us. We’d rather spend our time on building a next-generation open source mobile app than spend it on a fight, but if it’s what we have to do, we’re not afraid. If we want to keep what we built, we’re going to have to use our energy to protect it.
The other option is that we could just let Eric do whatever he wants. Eric believes that our database should be free for anyone to make their own copy of, because we are a non-profit Foundation. We don’t agree, but maybe you do! Nothing has to live forever, and we’ve done great work together. If the community prefers that we pass the mantle onwards, we’ll do what y’all think is right.
These are both painful options for us. And to be clear, we’d rather do neither! If Eric and Core are willing to give us a legal commitment that they’re not just going to kick us out, and that they’ll work with us, we’d much rather do that. We’re happy to let them build whatever they want as long as it doesn’t hurt Rebble. Eric, you’re the best in the world at making quirky hardware for people who genuinely love what they wear. We’re great at building a community. Use our locker, use our timeline, use our App Store — we’ve built it just for you. Just as long as we can work together as partners.
But in the mean time, we’re here at a crossroads.
We need you
For our friends who have supported us over the past years: we’re sorry that you’re caught in the middle of this. We think Rebble can be the hub of community, and Core can make awesome products, and these don’t have to be in conflict. Eric’s new devices, Pebble 2 Duo and Pebble Time 2, look absolutely amazing! We want to support him in making beautiful hardware long into the future — without exposing our users to the classic walled garden enshittification trap.
But we want your input. If Eric and Core can’t play nice, we need you, our community, to tell us what to do. We’re serious: if you think we should do something different, we will. So we’re posting this on Reddit /r/pebble and a handful of other places. We’ll be (gulp!) reading the comments — the top rated and the long tail — to try to understand what the community’s sentiment is. We’ll be watching the discussion on Discord. And, of course, if you want, you can e-mail the Rebble Foundation Board of Directors directly. We’d like to hear from you.
Yours in hope — so many of us from the Rebble team over the past 9 years, including: David, Joshua, Will, Ruby, Stasia (LCP), Siân (astosia), Harrison (Link Sky), Lavender, Ben, Ephraim (gibbiemonster), Jakob (Jackie)
...
Read the original on rebble.io »
The other day, someone told me, “I can’t imagine you ever being awkward with people.” And I thought, oh God, yes, say it to me again, again, put it in my veins. Tell me I’m a natural performer. There are no sweeter words.
Because of course the absolute opposite is true. I’ve tried so hard to learn how to connect with people. It’s all I ever wanted, for so long. I can still remember the pain of my youth, when the brightness of my experience felt like a wasted gift, a rude excess, without anyone to meet me in it. And I remember how many years of deliberate practice were required to secure routine pleasant interactions with my fellow human beings. I was born without social awareness, and I installed mine bit by bit.
Looking back, it’s clear to me now that my increase in social skill wasn’t linear, like building a little more strength with every trip to the gym. Instead, I had six different paradigms of connection — six entirely different ideas of how to approach people — that I moved through on the way to my current method.
As a child, I was abrasive and abrupt, excitable and sensitive. Interacting with me was exhausting. And my position in the hierarchy reflected it. I was probably the most severely bullied kid at my school, because I was one social notch above children who were so pitiable it would be rude to mock them.
In early adolescence, not much had changed. My closest friends were the hosts of This American Life, which I discovered through a webcomic about video games. On first listen, I recognized that the adults on that show were unlike me. They were witty and urbane, confident but self-deprecating. And, since I adored them, I figured that to be adored, I should be like them. Thus, I determined that I would fashion myself into an interesting person to listen to, and this remained my approach throughout most of my undergraduate education.
Thus, in my teens, during/after a spell of playing the ukulele in public to attract attention, I:
* Got good at telling dramatic stories about my life
* Developed opinions about scholarly subjects, like Roland Barthes, Werner Herzog, and so on
In essence, I became an example of obnoxious precocity, a heartfelt young wordcel.
This earned me a bit of approval. But the approval was polarized. My act only worked on those who valued a particular kind of cultural intelligence — everyone else just found it tiring. And even when it worked, which it did chiefly on campus, it was distancing. There was a presentational quality to my interactions, which limited the possibility of real dialogue. At the time, I could see that I wasn’t yet one of the gang, but couldn’t see why. I was demonstrating my erudition: surely that was enough to be inducted into the ranks of the socially accepted?
The limits of my approach, and how to move beyond it, only became clear when I worked in restaurants.
After becoming NPR-ish in college, I went insane for a bit. Like, real mental illness, dark night of the soul, wandering the streets muttering to myself, constant suicidal urges.
When I recovered, I found myself working as a busboy at a high-end pizza restaurant, where I was being considered for promotion to the rank of bartender. I’d become capable at making coffee and cocktails, but my social skills were considered unacceptably poor. I overheard one of the bartenders, who felt I shouldn’t be promoted, discussing me with the manager: “He talks in paragraphs,” was the complaint.
Aware of my deficits, I started studying the servers who were socially admired. And I started noticing that they operated in a completely different paradigm from me. Some of the servers, who were decent, did what I did — they presented a fixed role, a plausible bit, like “extravagantly gay man with quips,” or “cheerful country girl.” But the really good servers had flexibility. They would figure out what social game the other person wanted to play, and then they would play it with them.
If their tables ordered in a brusque and direct fashion, they became efficient and stoic in response. If their tables wanted to flirt and banter, the servers would animatedly yes-and whatever came at them. They were responsive — they weren’t looking to shore up a preexisting identity, so much as they were simply open to play.
Although adopting this approach required practice, I instantly recognized it as superior, and took to it devotedly. After a year of this, my manager said to me: “you’re never going to be my top salesperson. But you make people ridiculously comfortable.” It can be easy to change your personality when it’s organized around achieving a goal, and you realize your previous strategy isn’t going to work. Also, restaurants are a great arena for trying on a new persona, given that every new table is another opportunity for novel behavior.
I started feeling like I was pretty charming, and this was true, relative to my standards. However, when I moved to a restaurant with more seasoned servers, I learned that I was still a beginner.
I transitioned into a fancier, nicer restaurant, in a cooler neighborhood, where I was, again, the awkward kid. I was now surrounded by real adults who were really urbane and charming — career servers who had spent over a decade refining their social procedure.
There was one in particular who captivated me. Compared to the others, he was messy. He forgot orders, recommended weird pairings, and sold tables on entrees that the restaurant had stopped serving a month ago. Nevertheless, everyone loved him because of his incredible social skills.
But they were weird incredible social skills. He constantly said things that didn’t make any sense. “Let’s go home,” he’d say, as a greeting. “Lovely ball,” he’d say, as an assessment of quality. There were dozens of other catchphrases and odd habits. Somehow it worked. I watched everyone adore him for some time, me included, while feeling incomprehension re: how this effect was being achieved. What I started to realize was that his surreal quirkiness was sending out an unspoken message, something like: “I’m not a real server. This isn’t a real restaurant. All of these social roles we’re inhabiting are just fictions. We can all just relax.” His odd, uncontained manner gave permission for everyone else to escape containment in a collective jailbreak.
I adopted this attitude in my own way, tacking on bits of benign strangeness to my interactions. Whenever I offered water to tables, I said it in an odd, skeptical way, as if I’d just become lucid in a dream. “Hi…,” I said, while making direct eye contact. “Can I get you some… water?” I’m not exaggerating when I say that about 95% of my tables loved this instantly. By being awkward on purpose, I became their relatable comrade, rather than an impersonal representative of a snobby establishment.
Previously, I’d thought there were two choices you had with a social script: reject it, or go along with it. But I started developing an instinct for a third choice: how to take the other person sideways, into the weirdness of open possibility, where it’s not clear how anyone should feel, and there are no requirements.
For example, I once spilled a bottle of olive oil onto a woman’s lap. She happened to be wearing an exquisite blue designer suit. I looked her in the eye, and I could recognize that she was about to be angry. A reaction was forming on her brow, like a looming cloud. In the brief moment before thunder struck, I said: “Sorry, I was just distracted… by how special you are.” She paused, startled again. Then she broke into a huge smile, laughed uproariously, and grabbed my hand with both of hers. We looked at each other for a moment, silently, and the rest of the table also watched, unsure of what to think. “Send us the dry cleaning bill?” I said. “Sure thing,” she said. I nodded and ducked out, leaving it there. It was someone else’s table, and the server reported that she received an unusually large tip.
This penchant is still a large part of my conversational habits. Much of what I say, in casual chit-chat, is directed towards loosening the grip, rather than conveying anything in particular. This inspired a blog from my wife about how some people communicate in order to exchange facts, and some communicate in order to find connection:
This didn’t click as an explicit model for me until recently. What did it was hearing my husband, again and again, say things to people that made me cringe because to me they sounded hostile or disingenuous. And again and again, I was confused when people’s reactions to him were almost universally positive. Clearly, the issue was that I was lacking some essential piece of human software, not his sense of propriety. Now, I’m not a total dolt — I’m familiar with the classic wisdom that a large proportion of communication is non-verbal. I can read body language quite well, thanks to deliberate study as a poker player, and I know to smile, send out friendly vibes, mirror the other person, all the things you can read in a book. But until I watched Sasha in action, and we tried to analyze my hang-ups, it really didn’t sink in for me just how much less important what you say is, to most people, than how you say it.
It is gratifying to me that this lesson propagated through space and time from an Italian restaurant a decade ago to a recent Substack post.
However, after I learned this trick, there were still a couple of major updates yet to go.
I quit fine dining to be a roving freelance journalist, then achieved my childhood dream of becoming a published author. It did not make me happy.
I then entered the classic California pipeline: when worldly pleasures fail you, attempt to locate the happiness without conditions. I became a self-therapy and meditation nerd, and, as a result, I achieved a much greater level of embodiment. I realized that I’d been stuck in my head for my whole life — that this is not a figure of speech, but a real description of how your subjectivity is very different when you’re uncomfortable with emotion, and living behind the sensory filter created by a rigid self-concept.
Bam! I was plunked into the vivid depth of bodily expression. There was so much I’d missed before. Though I was verbally skilled from my restaurant training, sometimes my timing was off, because of all the delicate non-verbal signs hidden from me. It was not unlike a colorblind person, unaware of their condition, suddenly seeing the whole rainbow.
There were these new, subtle flavors of human presence in front of me, like:
* The bitter-edged weariness of a person who feels underpraised
* The wary stiffness of a man in charge who feels insecure
* The speed of a nervous intellectual trying to dance around their emotions
* The languid tones of someone presenting themselves as a sexual option
I started seeing new subtleties in people I’d known for years. It was like I got to meet everyone again.
Before this, I’d interacted with people who seemed psychic. They could pick up on delicate undercurrents of my state that I wasn’t even trying to communicate, or befriend me instantaneously by giving me exactly the kind of attention I wanted. And now I thought: oh, this is how you become psychic. You just fucking look at what is happening on the faces and bodies of other people.
With this new perspective, connection felt a lot more like dancing. If I stopped to think about the information I was getting through body language in real time, then my communication became leaden. But if I simply reacted, from a state of fascinated absorption with the physical data in front of me, somehow it typically worked out okay.
This could have been where it ended, but Twitter, that beautiful scorpion, changed the trajectory of my life again.
Flash forward to 2021. I’d started working as a writing coach during the pandemic. I didn’t have much coaching experience, so I didn’t yet know what my style was. And I was living in the desert in a decaying marriage, which made me feel experimental. “How did I get here” is a question that sometimes enables a mood of “and where else could I go?”
I stumbled across a tweet by Tyler Alterman, talking about how he had managed to get autists to successfully do energy healing simply by earnestly pretending to be energy healers. And I thought, “alright, fuck it, I’m going to pretend I can heal people with my energy.” I had no illusions about the truth of this, but I wanted to take it on as a useful fiction, to see what would happen.
I thought about people I knew with an energy I’d described as healing. There was something they had in common, maybe. A nonjudgmental, velvety openness, an alertness without a sense of problem. Perhaps I could try that.
I’ll always remember the first call I took in this mode. I slipped into a groove that I was familiar with from Zen meditation, a place of spacious openness, luminous awareness. Rather than trying to get to the bottom of the issue, I just focused on being in that state with my interlocutor.
They had a moment of tremendous emotional catharsis, complete with full-body sobbing, and thanked me for opening their heart. And I was like, for opening what now? I didn’t do anything except relax and gaze softly and ask a few questions. This doesn’t make any sense.
After a few similar occurrences happened, I learned a couple of things that seem, in retrospect, obvious:
* A large-ish amount of the action of therapy/coaching is simply having nervous system capacity for someone in distress.
* Many people are desperate to be listened to because so few people listen, so if you go around your life in a state of presence and openness, you will be treated like an oasis in the desert.
* If you meditate long enough to react to the world with loving gratitude, people can really feel that.
It seemed like a prank, overall. Connection was impossibly scarce when I was a kid. Then, it became something I could obtain through a delicate social dance. But after this paradigm shift, I learned that if I just threw myself open, other people would do all the work.
Sure: it took me a lot of intentional self-renovation to equip myself to do this trick. But once I did, it was easy. And potent. I started hearing phrases like this a lot: “I don’t know why I just told you that, I’ve never told that to anybody.” It was shocking to find instant intimacy with what felt like anyone, anywhere — whether it was the schizophrenic son of a cactus store owner, or, after I got a divorce, a first date with someone I didn’t even have that much in common with.
But there are upsides and downsides of making your whole life into a connection-fest.
There are two reactions that one could have to the previous section. “Wow, that’s cool, how he developed the ability to create a lot of deep connections in this lonely world.” And: “that is a weird and creepy thing to want, sounds kind of vampiric.” I believe that both reactions are correct in some proportion.
Here is the thing about going around the world in a state of emotional openness and presence. Many people are hungry for that kind of attention. They might dream of getting it from a parent, or a mentor, or a lover, but might never receive it. Maybe never in their lives. And if you just walk up and give it to them, for free — but you aren’t actually interested in a deep relationship — then they might, rightfully, feel manipulated, or at least confused. You are writing them emotional checks you can’t cash.
Because… what? You want more connection? Why do you need that, right now? Can’t you be comfortable on your own? These are questions I started asking myself when I realized that my whole life was becoming a therapy session. And I also realized that, even in a therapeutic conversation, going right for maximum emotional connection was rarely the most productive move.
Around this time, I’d started dating my now-wife, and we decided to be monogamous. In a classic moment of Cate candor, she said to me, without a hint of anger or judgement, something like: “it seems like a lot of women have crushes on you. I don’t think you have bad intentions, but this must be a product of something you’re doing.” And, in fact, it was; I was going around dangling the possibility of emotional connection indiscriminately, ignoring the fact that it’s entirely reasonable to interpret this as flirtation.
So I resolved to moderate my approach, to slow the whole gooey business down. I settled on a goal: to consider connection as a dial going from 0-10, and to be comfortable with any setting on that dial. And, rather than always pushing things in the direction of connection, I resolved to follow my conversational partner’s lead. Someone wants to have a four-hour bonding conversation at this house party? Sure, let’s do it. Someone wants to say “let’s get it” and literally nothing more before we spar in jiu-jitsu class? I also want to interact in that mode, and to consider each human interaction equally informative and worthy of attention.
I chilled out. And by that, I mean I:
* Meditated for hours in float tanks, to train myself to enjoy deep presence completely on my own
* Read a bunch of stuff about anxious attachment, and tried to nudge myself in the direction of secure
* Tried to deeply accept feelings of solitude, which led to a life-defining mystical experience
It’s been a couple of years since I set my personal goal, and I’ve mostly achieved it. I routinely have interactions that are achingly rich with emotion, but also conversations that skip merrily on the shining surface of pleasantry. I’m told that I can come off as standoffish, and sometimes a little bit intimidating, which is welcome news.
Perhaps now, I am finally socially normal.
Thank you to my darling Cate Hall for input on this piece. Credit for the image goes to Dan Allison.
...
Read the original on sashachapin.substack.com »
Microsoft said today that the Aisuru botnet hit its Azure network with a 15.72 terabits per second (Tbps) DDoS attack, launched from over 500,000 IP addresses.
The attack used extremely high-rate UDP floods that targeted a specific public IP address in Australia, reaching nearly 3.64 billion packets per second (bpps).
“The attack originated from Aisuru botnet. Aisuru is a Turbo Mirai-class IoT botnet that frequently causes record-breaking DDoS attacks by exploiting compromised home routers and cameras, mainly in residential ISPs in the United States and other countries,” said Azure Security senior product marketing manager Sean Whalen.
“These sudden UDP bursts had minimal source spoofing and used random source ports, which helped simplify traceback and facilitated provider enforcement.”
Cloudflare linked the same botnet to a record-breaking 22.2 terabits per second (Tbps) DDoS attack that reached 10.6 billion packets per second (Bpps) and was mitigated in September 2025. This attack lasted only 40 seconds but was roughly equivalent to streaming one million 4K videos simultaneously.
One week earlier, the XLab research division of Chinese cybersecurity company Qi’anxin attributed another 11.5 Tbps DDoS attack to the Aisuru botnet, saying that it was controlling around 300,000 bots at the time.
The botnet targets security vulnerabilities in IP cameras, DVRs/NVRs, Realtek chips, and routers from T-Mobile, Zyxel, D-Link, and Linksys. As XLab researchers said, it suddenly ballooned in size in April 2025 after its operators breached a TotoLink router firmware update server and infected approximately 100,000 devices.
Infosec journalist Brian Krebs reported earlier this month that Cloudflare removed multiple domains linked to the Aisuru botnet from its public “Top Domains” rankings of the most frequently requested websites (based on DNS query volume) after they began overtaking legitimate sites, such as Amazon, Microsoft, and Google.
The company stated that Aisuru’s operators were deliberately flooding Cloudflare’s DNS service (1.1.1.1) with malicious query traffic to boost their domain’s popularity while undermining trust in the rankings. Cloudflare CEO Matthew Prince also confirmed that the botnet’s behavior was severely distorting the ranking system and added that Cloudflare now redacts or completely hides suspected malicious domains to avoid similar incidents in the future.
As Cloudflare revealed in its 2025 Q1 DDoS Report in April, it mitigated a record number of DDoS attacks last year, with a 198% quarter-over-quarter jump and a massive 358% year-over-year increase.
In total, it blocked 21.3 million DDoS attacks targeting its customers throughout 2024, as well as another 6.6 million attacks targeting its own infrastructure during an 18-day multi-vector campaign.
...
Read the original on www.bleepingcomputer.com »
Nearly all UK drivers said they thought headlights were too bright and that they have been dazzled by oncoming vehicles, according to a major study. The government said last week that it will take a closer look at the design of cars and headlamps after concerns about lights dazzling drivers.A study commissioned by the Department for Transport (DfT) found 97% of people surveyed found they were regularly or sometimes distracted by oncoming vehicles and 96% thought most or some headlights were too bright. Dr Shaun Helman, who led the research for Berkshire-based Transport Research Laboratory (TRL), said it provides “compelling evidence” that lights’ glare is a “genuine issue for UK drivers”.
New measures will be included in the government’s upcoming Road Safety Strategy, reflecting what is becoming an increasingly fraught issue for road users. TRL’s data suggests that LED and whiter headlamps may be linked to glare and that drivers might find their whiteness harder to cope with.Of those surveyed, 33% said they had either stopped driving or are driving less at night because of lights, while another 22% said they would like to drive less at night but have no choice. A total of 1,850 drivers, matched to the age and gender split of the country’s licence holding population, were surveyed for their views.
TRL said LED lights used in vehicles are brighter, more concentrated and emit more blue light, which human eyes struggle with more at night. The RAC’s senior policy officer Rod Dennis said: “Having campaigned hard for this study, we welcome its findings which independently confirm what drivers have been telling us — that rather than being an imagined phenomenon, some bright headlights do cause a glare problem.“While drivers clearly benefit from high-performing headlights, it’s important this doesn’t lead to others suffering the effects of dazzle, so a balance needs to be struck,” he added.Mr Dennis said that it is “vital” TRL’s report is “reviewed carefully to put us on a path towards changes that ultimately benefit all road users.“Denise Voon, a clinical advisor at The College of Optometrists, said the DfT should “take immediate, actionable steps to support drivers and commission more detailed research, specifically into how headlight regulations need to change”.
...
Read the original on www.bbc.com »
How quake.exe got its TCP/IP stack
Released in June 1996, Quake had to ride three technological shock-waves during its lifetime. Besides the emergence of 3D hardware accelerator cards and the growth of the Internet, an operating system shift put game developers in a tough position.
With its push for Windows 95 and Windows NT, Microsoft was replacing its legacy PC operating system, MS-DOS. From 1996 to 1997, the market share of DOS dropped by 50%. Some developers, like Blizzard North, took the leap of faith and wrote Windows 95–exclusive titles such as Diablo. id Software on the other hand went through the effort of producing a single binary, quake.exe, able to run on both DOS and Windows.
What is even more impressive is that id managed to make Quake better when Windows 95 TCP/IP stack was available. Here is how they did it.
quake.exe is a DOS executable. id Software had used Watcom compiler for DOOM but they switched to a GCC port named djgpp[1] to cross-compile Quake on Alpha servers.
$ file quake.exe
quake.exe: MS-DOS executable, COFF for MS-DOS, DJGPP go32 DOS extender
Alike watcom’s DOS/4GW, djgpp offered to developers an extender allowing to write programs with flat 32-bit addressing instead of the dreaded 16-bit near/far hellish real-mode otherwise mandated by DOS. An extender works with a client and a server. In the case of Quake the extender client is embedded in quake.exe while the server is in cwsdpmi.exe.
From the beginning of the development, id had requested from djgpp engineers that their DPMI client would be able to run on djgpp’s DPMI server but also Windows 95 DPMI server.
It may not be apparent how much of a tour-de-force it was for djgpp to make their DPMI client work with another DPMI server but knowing a little about how it works, it blows me away. Raymond Chen, Microsoft kernel engineer at the time, had the best description of how to perceive this situation.
Being able to run with Windows 95 DPMI server was how quake.exe pulled off the ability to run under both DOS and Windows 95.
DOOM only needed two files to run, doom.exe and doom.wad but there are many files that came with Quake.
$ find quake
./mgenvxd.vxd ./genvxd.dll ./qlaunch.exe ./id1/pak0.pak ./pdipx.com
./cwsdpmi.exe ./q95.bat ./id1/config.cfg ./quake.exe ./quakeudp.dll
It looks like a mess at first sight but running Quake under DOS only requires four files. Namely, the game engine quake.exe, the config file config.cfg, the asset file pak0.pak, and the DOS extender server cwsdpmi.exe.
./mgenvxd.vxd ./genvxd.dll ./qlaunch.exe ./id1/pak0.pak ./pdipx.com
./cwsdpmi.exe ./q95.bat ./id1/config.cfg ./quake.exe ./quakeudp.dll
Two modes allowed gamers to enter a duel (1v1). Both modes expected a device plugged into the COM port of the PC. A modem allowed to call an opponent’s phone number (hello $$$) while a NullModem cable (called here “Direct Connect”) required both computers to be a few feet apart.
Both IPX and TCP/IP allowed a much more interesting deathmatch featuring up to 16 players. IPX technology was intended for LAN where all machines were a few feet apart, while TCP/IP allowed to reach anybody worldwide.
Notice how, under DOS, by default, both IPX and TCP modes were disabled (greyed out).
Quake came with PDIPX. EXE which loaded an IPX DOS TSR. That TSR communicated with a packet driver which in turn hit the network card. Quake was able to probe for that DOS TSR and upon detection allowed players to select IPX.
Using TCP/IP was nearly impossible. DOS did not come with a TCP/IP stack and it was something complex enough that only a single vendor provided a TSR for it on DOS.
The TSR name was BWNFS. Made by Beame & Whiteside, its cost $395 in 1996 ($830 in 2025!)[3]. It is reasonable to say that few gamers ever used TCP/IP on DOS to play QUAKE.
Starting quake.exe from Windows 95 works like a charm. The executable is loaded into a Windows 95 “dos-box”[4] that virtualizes memory, interrupts, and signals[5]. The game ran exactly like under DOS with the same multiplayer choices available. It was convenient since users did not have to load any mouse driver or set up the BLASTER environment variable to make the sound card work.
Much less convenient however, this way to run Quake requires 16 MiB RAM. Quake only needs 8 MiB but Windows 95 adds quite a bit of overhead! The same files used when running from DOS are used here as well, except for cwsdpmi.exe, since the DJGPP client detects and uses Windows’ built-in DPMI server.
./mgenvxd.vxd ./genvxd.dll ./qlaunch.exe ./id1/pak0.pak ./pdipx.com
./cwsdpmi.exe ./q95.bat ./id1/config.cfg ./quake.exe ./quakeudp.dll
It is impressive to see Quake run at full speed knowing that Windows 95 runs DOS executable in a virtual machine. My guess is that, in full screen, memory writes and reads to the VGA are given direct access to the hardware to preserve performances.
Starting quake.exe from DOS or Windows are not the only two options to run Quake. There is a third one which is to launch q95.bat.
In this case, a window “Launching Quake” briefly pops up on Windows 95 desktop.
The text gives a clue about what is happening. Quake is loaded with a tunnel to Winsock, Microsoft’s TCP/IP stack. There is further indication of what is doing that, “Powered by Mpath”. But not much more to explain how this all works.
Mpath Interactive was a company dedicated to online gaming. They provided subscription services to help gamers find each other but also operated as an ISP reseller.[6]. It was in their interest to help gaming companies to release titles allowing Internet play as Larry Hastings, an Mpath employee at the time, recalls.
Back then in the primordial ooze that was the mid-90s internet, online multiplayer was still in its infancy. If you wanted to play a multiplayer game on the internet, either you needed to have explicit host & port information, or you needed to use an online multiplayer gaming service. And in 1995 there were only two: us, and Total Entertainment Network. You might think game creators would come to us and say “please put my game on your service!”, but… nope! Not only did we have a licensing team that went out and got contracts to license games for our service, but we had to pay the vendor for the right to license their game, which was often an exclusive. So, we had Quake and Unreal; TEN got Duke Nukem 3D and NASCAR.
The user experience for Mplayer was like this. First, you’d run the “Gizmo”, which was a Windows program that acted as a sort of game browser. It knew which compatible games you had installed, and it’d let you browse the multiplayer games on offer for each game; the metaphor we used for this was a “room”. Quake was drop-in, so you could simply find a game in progress and hop right in–not a feature of very many games back then. Alternatively, you could find a “room” where someone was proposing to launch a game soon. Or you could create your own. You’d set the name of the room, and the Mplayer Gizmo had some per-game UI that let you set the settings for the game (what map, what features, etc). The room featured text and audio chat, and even a shared “whiteboard”, a simple paint program. Once the owner of the “room” “launched” the game, everyone’s Gizmos would automatically start the game for them, and the game would automatically join that online game and start playing.
In order for a game to run on Mplayer, it had to integrate with the Mplayer software stack. Mostly this integration work was done by Mpath engineers; we’d get source code from the game developer and “porting engineers” would get it to run on Mplayer. This often included modifying both the client and the server, so that both could talk via Mplayer’s servers.
The early version of Quake was DOS only, and used the Chunnel to talk to the Windows 95 TCP/IP stack. (Which in retrospect makes the “Chunnel” a type of “thunk”, like Microsoft’s “Win32s”.) I think the deal was, we licensed the Chunnel to id, and in return for that we got to have Quake on Mplayer. So, DOS Quake supported running on Mplayer via the Chunnel, in addition to connecting to open game servers on the Internet via host and port.
Larry was kind enough to share some Quake anecdotes.
One afternoon shortly after we got our first build of the game, we played a round of deathmatch with the id team over the internet. We were in Cupertino, CA, in a building on Bandley Drive (now a “Fitness Center” for Apple employees). They of course were in Mesquite TX. Yup, it was deathmatch over the internet–very exciting!
The only id employee I remember for sure being in the game was Tim Willits. He owned us, both because he was way more used to Quake, but also because he knew where all the secrets were. At one point I spotted him coming out of a secret doorway with a rocket launcher. And either he didn’t see me, or I died shortly thereafter.
As for explaining how the Chunnel worked, I was out of luck.
I didn’t work on the Chunnel. That was mainly a British guy named Henry but I don’t remember his last name, it was thirty years ago. All I remember about him is what he looked like, and the fact that he drove a cool car, a white Merkur XR4Ti.
When everything else fails, we still have Ghidra and doomworld’s amazing community (thanks xttl[7]). After much decompiling and talking, it turned out all files previously ignored were part of Mpath’s “Chunnel”.
./mgenvxd.vxd ./genvxd.dll ./qlaunch.exe ./id1/pak0.pak ./pdipx.com
./cwsdpmi.exe ./q95.bat ./id1/config.cfg ./quake.exe ./quakeudp.dll
q95.bat is just a small script to launch mpath’s main program. qlauncher.exe contains all the MPlayer functions. However the role of this executable is limited.
It merely loads quakeudp.dll. Despite its confusing name, this DLL is the heart of Quake Chunnel. It is the bridge to Microsoft TCP/UDP/IP stack (wsock32.dll). It also starts Quake with -path parameter to make it load a BSD network socket API sys/socket.h. Finally, it also loads the virtual device driver manager genvxd.dll.
The virtual device is the trick that allows a DOS executable running inside a Windows 95 dos box to communicate with win32. The genvxd.dll dynamic library loads a virtual device driver[8] named GENVXD. VXD which installs itself to respond on interrupt 0x48.
The last piece of the puzzle is on Quake side. The implementation of BSD sys/socket.h, mpplc.c, is code provided by Mpath. It takes care of marshaling every BSD socket function call, then use the DPMI client to trigger a software interrupt that is received in win32 land. Data is passed up the pipeline we previously described until it is unmarshalled by genvxd.dll and routed towards wsock32.dll. Notice the symmetry of functions found in mplib.c marshalling and the symbols found in genvxd.dll unmarshalling.
It seems John Cash was involved in compiling Mpath’s stuff. We can find his name in the symbols of mgenvxd.vxd.
F:\cashcode\GENVXD\bin\Mgenvxd.pdb
The source code of mgenvxd.vxd, genvxd.dll, qlaunch.exe and quakeudp.dll was never released. It was a proprietary, patented technology from Mpath. It is likely id only got permission to release the client side of it.
As far as I understood it, that is how Quake was able to send TCP and UDP packets over IP. This convoluted construct became obsolete when id stopped shipping DOS executable (the last one being vquake.exe). After Dec 1996, winquake.exe, glquake.exe, and all QuakeWorld binaries were win32 exclusive with direct access to wsock32.dll.
...
Read the original on fabiensanglard.net »
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
...
Read the original on aistudio.google.com »
...
Read the original on epstein-doc-explorer-1.onrender.com »
To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".
10HN is also available as an iOS App
If you visit 10HN only rarely, check out the the best articles from the past week.
If you like 10HN please leave feedback and share
Visit pancik.com for more.