Latest Posts (20 found)

Intel Earnings, AMD Earnings, Intel and AMD’s Divergence

Intel and AMD's diverging earnings point to fundamental historical differences, and make me wonder if Intel needs to find a new (old) path.

0 views

Candidate Statement for the 2026 W3C TAG Election

Group photo of the W3C TAG in July 2022 with me to the left of Sir Tim Berners-Lee (inventor of the Web and TAG chair emeritus). Photo credit: Dan Appelquist I had the great honor of being elected to the TAG by the W3C membership in 2020 and again in 2022 , serving two terms from 2021 to 2025. After a two-year break, this year I’m running to return, thanks to Google, Microsoft, and OpenJS Foundation pooling resources to make it possible. 💙 The W3C Technical Architecture Group (TAG) is the Working Group that ensures that Web Platform technologies are usable and follow consistent design principles, whether they are created inside or outside W3C. It advocates for the needs of everyone who uses the Web and everyone who works on the Web. If you work for a company that is a  W3C Member , please consider encouraging your AC rep to vote for me ! (Ask me if you don’t know who that is) My candidate statement follows. I’m Lea , and I’m running to return to the TAG, where I served two terms from 2021 to 2025. It was some of the most fulfilling work of my career. The only reason I did not run in 2024 is that the job takes hundreds of hours a year, which as an independent I could not sustain pro bono. This year, in recognition of my service, Google, Microsoft, and the OpenJS Foundation have pooled resources to fully fund my participation , so I can finally commit the time the job deserves while remaining independent . My work spans the entire web platform : 14 years in the CSS Working Group, active participation in TC39 and WHATWG, two decades of building for the web, and open source running on millions of websites. In 2025 the OpenJS Foundation recognized my overall impact on the web platform with its Pathfinder for Standards Award . That breadth is exactly what the TAG requires. With a PhD in Human-Computer Interaction from MIT and a 20+ year career that includes entrepreneurship and product leadership, I combine academic rigor and big-picture perspective with pragmatism , an eye for hard tradeoffs , and a deep commitment to user needs . And as a bilingual Greek woman, I bring a Mediterranean and European perspective and firsthand appreciation of the Web’s internationalization needs. For more on my background, see my 2020 and 2022 candidate statements. In my four years on the TAG, I worked to direct the group’s limited time towards maximizing impact: I co-led the Web Platform Design Principles , turning previously implicit design knowledge into published guidance that improves consistency across the platform and helps reviews scale, started the Web Platform Gaps initiative to find what the platform is missing, served as liaison to TC39 to keep JavaScript and Web APIs consistent, and participated in hundreds of design reviews, becoming the TAG’s go-to reviewer for API design. But I believe the TAG can, and should , do more. The Web is changing rapidly, and reactive review is no longer enough. The TAG is uniquely positioned to see the platform as a whole, yet it mostly encounters features after their architecture has taken shape, sometimes even after they ship. By then, consequential decisions are difficult to change. Who identifies gaps that span multiple working groups? Who sketches the big cross-cutting solutions, or decides which layer a problem belongs in when that is non-obvious? Individual groups see their own slice, and the sum of several low-level views is not the big picture. The result is architectural debt . I want the TAG to help shape the architecture of the Web, not just review it. To proactively identify gaps, sketch coherent, composable solutions, and then bring the relevant working groups into the conversation to develop and standardize the pieces within their scope. Not to take over their work, but to provide the cross-cutting architectural perspective that no individual group is positioned to offer. Expanding the gap analysis work I began last term is the first step, and my work since then has given me a much richer evidence base to draw from. I am one of the people leading Modern Web Guidance , a multi-vendor project teaching AI coding agents to use the modern web platform effectively and follow best practices. This work involves reviewing implementation instructions for a broad range of use cases, ensuring they reflect the best the modern Web has to offer. This makes the many ways the web platform still falls short incredibly salient, revealing systemic gaps that are easy to miss when looking at web features in isolation. The biggest change since my last term is that a growing share of the code targeting the web platform is written by AI agents , and a growing share of the Web is consumed by them. The TAG should treat this as an architecture question and answer it with principles and evidence, not enthusiasm or alarm. Many of the principles that make APIs robust and usable for humans also benefit agents, but the differences expose new tradeoffs that deserve careful architectural attention. And none of this changes what the Web is for: user agency, privacy, accessibility, and interoperability apply no matter who, or what, writes the code, and defending them is the TAG’s job. I am not employed by a browser vendor or a big tech company, and my funders do not direct, approve, or veto my positions. I remain free to disagree with any of them, in public, on any proposal. My only agenda is a web platform that lives up to its potential and remains owned by no one . I’ve spent four years helping the TAG improve the Web. I want to help it shape the Web’s future, and for the first time, I have the resources to see it through. I would like to thank the OpenJS Foundation, Google, and Microsoft for fully funding my TAG participation in the event that I am elected, and OpenJS Foundation and Bocoup for partly funding it during my previous terms.

0 views

Glue work is still harmful in the age of AI

I am not a believer in glue work 1 . Processes that can only be sustained by the unrewarded sacrifice of engineers ought to die. Now that LLMs are writing most of our code, does that free human engineers up to do more glue work ? No, it doesn’t. I think glue work is actually less important to companies than it was in the 2010s. Let’s go through four reasons why. First, AI decreases the amount of coordination needed to ship . The magnifying effect of AI agents means that any single engineer can now take on projects that would previously have needed a small team. A lot of glue work was helping with coordination: booking kickoff and status meetings, passing around internal updates, and so on. A single engineer doesn’t need to do any of that. Second, engineers in the 2020s require less “careful handling” . In my experience, the most important subcategory of coordination-based glue work was managing difficult people . Many companies have secret gatekeepers: engineers with outsized influence and large egos who will shoot down your project if they feel insufficiently consulted. I’ve written before about how some teams are structurally set up to be gatekeepers, and how some engineers could get by in the 2010s by basically saying no to everything . The end of ZIRP changed all that. Many of the prickliest gatekeepers have been forced out of the industry or coerced into changing their attitude, which reduces the amount of necessary glue work required to ship. Third, people are hiring fewer juniors . This is probably a bad thing for the industry, but it does also eliminate a big category of glue work. Experienced hires need less hand-holding, so companies don’t need people to quietly volunteer to onboard new hires. Fourth, write-only reports can be automated with LLMs . A lot of glue work was what I call “proof of work” : writing a report to demonstrate that you’re aware of what your team is doing, or filling in a template to satisfy some legal requirement. This was often work that nobody wanted to do, so it relied on someone volunteering to “be glue”. Now reports like these can be quickly turned out with LLMs. It doesn’t really matter that nobody wants to read LLM text, because the point of these reports was never to be read anyway. Can LLMs just automate all glue work? Absolutely not. Many engineers are trying to do this out of a kind of manic optimism, but it’s a really bad idea. Write-only reports are one thing, but communicating to other engineers cannot be delegated to an LLM . When you need to check in on the status of a project, or respond to someone else’s ping, or anything like that, you should compose and write the message yourself. Nothing will torch your relationship with other engineers as quickly as making them talk to your Claude Opus instance. So where does that leave us? More or less where we were in 2024 , I think. Avoid at all costs becoming “the glue work person”, let bad processes fail so they can be changed, but be willing to do small amounts of tactical glue work where it can meaningfully contribute to the success of your projects. Most of your time and effort should still be spent on the code: on driving AI agents and aligning them with your company’s values . Glue work is all the squishy “non-technical” work that goes into building software: making sure teams are talking to each other, writing reports, updating docs, onboarding engineers, and so on. Specifically it’s the parts of that work that are not included in the formal process , and that only really get done if someone volunteers to do it. For more on why I don’t like it, see my 2024 post Glue work considered harmful . Glue work is all the squishy “non-technical” work that goes into building software: making sure teams are talking to each other, writing reports, updating docs, onboarding engineers, and so on. Specifically it’s the parts of that work that are not included in the formal process , and that only really get done if someone volunteers to do it. For more on why I don’t like it, see my 2024 post Glue work considered harmful . ↩

0 views

Microsoft Fixes Nearly 1,100 Security Vulnerabilities

Microsoft did another four-digit patch drop today, releasing updates to fix almost 1,100 security vulnerabilities in its Windows operating systems and supported software. This month’s Patch Tuesday addresses 63 critical flaws — including a zero-day in Microsoft Outlook — and comes amid important security updates from other software makers, including Adobe , Apple , Google  and Mozilla . Image: Shutterstock.com. Diorama by @zepp1969. November’s patch release from Redmond tackles 1,093 vulnerabilities, fixing 63 “critical” flaws that can be exploited to seize control over a Windows system with little or no help from users. Nearly half of those critical bugs are remote code execution vulnerabilities. Overall, 535 of the flaws addressed this month allow an attacker to elevate their privileges on a vulnerable device. This latest round of updates means Microsoft has shipped more than 5,100 security patches so far this year, a staggering number considering that a year ago Microsoft was averaging around 100 patches per month. Microsoft credits advances in artificial intelligence for helping to find (and fix) such a large volume of security bugs in recent months. Last month, Microsoft pushed more than 1,400 fixes. According to Redmond, just one of the flaws is already seeing active exploitation: CVE-2026-124194 , a spoofing bug in Outlook. The advisory for CVE-2026-124194 says it affects Microsoft 365 Apps for Enterprise and editions of Microsoft Office . Several other major software makers pushed security updates this week to fix critical weaknesses in their products. Apple on Monday released out-of-cycle security updates to fix at least nine vulnerabilities in iOS/iPadOS , macOS , watchOS and visionOS . Among the weaknesses reportedly fixed in Apple’s release include an iMessage flaw that could let a remote attacker join a group chat and receive its messages; the updates also fix a separate iMessage flaw that could let someone added to a group access messages sent before they joined. Lee Neely , an instructor at the SANS Institute , noted that Apple backported the fix to iOS 18. “I take notice when Apple releases fixes to more than two versions,” Neely wrote in a SANS newsletter today. “You really need to get to version 27.2.1 of their OSes and push folks who are holding onto devices which cannot run the current version. The best plan often involves setting an upgrade date for old hardware. Run through all your Apple devices and make sure everything is up to date, don’t assume the fixes went out automatically.” Google this week released Chrome version 157.0.8103.50 , which resolves nine security holes, including  CVE-2026-125350 , the sixth zero-day vulnerability this year for Chrome (this bug also being patched in Chromium-based browsers like Edge). The latest Chrome version follows its November 3 release, which fixed 213 vulnerabilities. A new version of Mozilla Firefox out today ( Firefox 160 ) resolves almost 100 CVEs, about half of them high severity. Adobe today released patches for at least 110 vulnerabilities across a range of products, with nearly half of the flaws rated high severity. Adobe said there is no evidence any of the security holes it addressed this month are being actively exploited. Chris Goettl , vice president of product management at Ivanti , said it’s easy for security teams at large enterprises to feel overwhelmed by the volume and criticality of patches from Microsoft lately. But he notes that while some 95,000 vulnerabilities have been assigned CVEs this year across all vendors, only 217 have so far this year been added to the Known Exploited Vulnerabilities (KEV) list maintained by the U.S. Cybersecurity and Infrastructure Security Agency (CISA). “Roughly four in ten of this year’s exploited vulnerabilities sit in operating systems, endpoint software, browsers, and server platforms, which a continuous patch strategy can close quickly,” Goettl said.”The rest calls for exposure management alongside patching, especially the 44% that sit in edge devices and IT management or remote access tools, the internet-facing systems that hold privileged access. Teams that can quickly identify those assets, confirm exposure and act on confirmed exploitation can focus on the small slice of vulnerabilities attackers are actively using, while the rest stays on the normal patch cadence.” Please don’t neglect to back up any important data if you haven’t recently; generally speaking, this is a task best accomplished before applying operating system updates. As ever, if you experience any issues applying this month’s bundle of love from Microsoft, please drop a comment about it in the space below.

0 views

Making a Website in 2026

Pete Millspaugh has a great post over on the Val Town blog where he documents his attempt at making generating the same website across a variety of AI tools. I love the post. Here are a couple of thoughts that come to mind. Pete decided to make a website for his conference talk, and he added a comments section to make it a less static / more dynamic demo. This is interesting because LLMs are really good at generating one-off HTML pages you open at , but as soon as you start to introduce technological dependencies — like a database, or an analytics tool, or a service for sending email, or payment processing, etc. — the question becomes: How does the LLM choose which service to rely on? It’s one thing to have the LLM choose React over Angular or Vue over Svelte. But how (and why) does it choose something like an auth provider? Does it build you a site with Auth0 or WorkOS or Clerk? How would a non-technical user even know how to weigh the trade-offs of making such a decision? Pete said he was deliberately vague about these details, which is why I find his experience so intriguing. For example, here’s what he found after generating a site in Lovable: My Lovable app is fullstack React, I learn, clicking around to find the code. It seems a bit heavy for a single-page site what with dozens of files […] The comments database seems to be using Supabase, which required no intervention on my part to set up. There’s a whole lot more—analytics, e-commerce and AI integrations, etc. I’d be really curious to know what that “a whole lot more” was. Which tools/services did it choose to depend on? How many people creating these sites understand that, even for a website that’s mostly static content, they’re being given an output that ships a JavaScript application framework, router, hydration runtime, analytics, component bundles, etc.? You asked for a sailboat, but you got an aircraft carrier . Do you know? Or more importantly, do you care ? But it’s more than just a choice of languages and frameworks. It’s also a choice of third-party services. Why Supabase? Why not Firebase? Or Neon? Speaking of Neon, here’s Pete’s experience with Vercel’s v0: I copy-paste my prompt into the chatbox. After 11 seconds, v0 asks if I’d like to install Neon, because my comment wall needs a real database. Sure, why not. (Does that mean I need a separate Neon account? Vercel creates one for me, and later I’ll find a welcome email from Neon in my inbox.) Frankly, this all feels like a space absolutely ripe for those kinds of business referral transactions you find in other industries. Take real estate, for example. For lots of folks, when you buy a home you need an agent. (Not that kind of agent; a real estate agent.) Your real estate agent is there to help you answer all those common questions that come along with buying a home: While you’re free to make all these decisions yourself, your agent is also there to help you pick. Presumably they’ll choose a company that reflects well on them, but there’s also undoubtedly good money to be made in referrals. After all, who else is dealing with people with these kinds of needs all day long? The “make a website with AI” space has a parallel here which makes you wonder about the incentives behind the LLM’s decision-making. Why Supabase over Firebase? Because the LLM reasoned about it? Because, statistically speaking, it was the next most probable word? Because Supabase paid Lovable (and hopefully disclosed such preferential integrations)? If LLMs are already unpredictable and non-deterministic, nothing will make their actions more predictable and deterministic than some financial incentives. Who is the customer here? The person generating the website? Or the company willing to pay for its services to be embedded in generated code? (That’s a lucrative business waiting to happen…) As a customer, the credit systems behind these LLM systems are annoying as hell. Here’s Pete: I’m using up “credits” as the machine works—0.70 so far, now 2.30, now 3.10, oh boy—and I have no clue what that means. There are no units. I’d prefer dollars. Are credits just dollars? As it turns out, no. With another tool: I do two more rounds of click “Continue generation” and wait until my website is ready: 5 minutes 36 seconds for 0.070 credits, and 1 minute 29 seconds for 0.024 credits. It’s probably just me, but c’mon, who do these “credit” systems really benefit? When my prompt is running, don’t show me usage like this: Credits: 0.05 -> 0.0672 -> 0.0871 Just show me the cost: Cost: $0.02 -> $0.21 -> $0.31 Don’t make me do the conversion of credits -> dollars on the fly. Computers are good at math. I know it might hurt your bottom line if I’m not thinking about how much money credits I’m spending, but c’mon, can we stop with the financial abstraction on top of financial abstraction? I hate how so many hosting companies are doing this “credits” for compute primitives thing. It’s pitched as if spending credits is easier, because you can apply them across services, e.g. buy image transformations or serverless function compute, all with credits! Yeah well guess what other financial abstraction I can apply to all those different services? Dollars and cents. [/soap-box] Pete’s conclusion: I am both optimistic and pessimistic about this moment for making websites. I’m optimistic because end-user programming, the idea that everyone should be able to customize their own software, seems more possible than ever. I’m pessimistic because a slopsite, an AI-generated website with little to no human thinking involved, is often worse than no website at all. That resonates — and feels generalizable. You fill in the blank: An AI-generated ___ with little to no human thinking involved, is often worse than no ___ at all. My conclusion? Making Generating a website may be easier than ever. Understanding what you’ve generated, who you now depend on, and why? Not so much. Reply via: Email · Mastodon · Bluesky You: “How do I finance this?” Agent: “I know a mortgage company…” You: “How do I know the house is in good shape?” Agent: “I know an inspection company…” You: “We found X during the inspection, who can address it?” Agent: “I know a company that does {roofing | electrical | plumbing | etc.}…” You: “How do I close on this deal?” Agent: “I know a title company…”

0 views

Jensen's Bizarre Adventure

If you liked this piece, you should subscribe to my premium newsletter, and you can subscribe on the following links: $70 a year , $18 a quarter , or $7 a month . In return, you get a weekly premium newsletter that dives deep into the finances of the AI bubble. Over the past few months, I’ve published a two part guide to the world of AI debt, an analysis of the (dubious) impact of generative AI on the global economy , deep analyses of the biggest players in the AI infrastructure space like NVIDIA (part one and two ) and Oracle (part one and two ), and the role private credit is playing in funding AI data centers , and how private equity, reeling from years of successive failed software acquisitions, is doubling down on the AI bubble .  Friday’s premium newsletter will be a continuation of this story. We’ve got a lot to say about NVIDIA, Megaspeed, and the illicit flow of AI GPUs into China. You won’t want to miss it. If you want to get in touch — and especially if you have any juicy information about Anthropic, OpenAI, or any other companies in the AI bubble — hit me up on Signal at ezitron.76. I’m also on IB on your Bloomberg Terminal.  As you’ve probably read by now, Jensen Huang, CEO of NVIDIA, has admitted to having an affair with what appears to be a Chinese spy called Alice Huang (no relation), CEO of a company called Megaspeed, and who also goes by the name of Huang Le. Though far from a household name (though mentioned in an earlier newsletter) , Megaspeed is NVIDIA’s largest Southeast Asian customer, per Culper Research, which announced it had taken out a short position on the company in May of this year, citing its belief that NVIDIA’s indirect sales to Mainland China account for significant proportion of its revenue.  Culper Research’s excellent short report focuses heavily on Megaspeed, a firm with an unusual history and near-empty office in Singapore that, somehow, bought billions of dollars of GPUs in a short amount of time. Said company also has, as I’ll get into, an identical website to a Chinese neocloud that claims to have multiple data centers with advanced NVIDIA chips.  This was all revealed mere days after NVIDIA’s spokespeople dismissed allegations and called the relationship “ completely normal and not unusual ” after a New York Times article reported that (Jensen) Huang had been targeted by (Alice) Huang. President Trump had been briefed on the matter around a year ago, but had taken no action as he had, and I quote, “...been wary of disrupting Nvidia’s chip sales, which are helping to drive the economy and the stock market.” The commerce department, per the Wall Street Journal , had been investigating Megaspeed as a potential chip smuggler since late 2024, with the investigation stalling once it was handed to the Justice Department (which I’ll get to later). It appears, per the Journal, that the goal was to persuade Huang to use his influence with the highest echelons of American political power to get them to loosen chip export restrictions — though I’ll argue today that the other part of the plan was to use him to funnel sanctioned GPUs directly to China, irrespective of any policy changes in Washington.  Per The Journal: Huang has now admitted to the affair, though he left out that he’d hired a PR firm known for handling sex scandals around October 2025 ( per WIRED ): Additionally, NVIDIA has launched an “ independent investigation with a committee of independent directors, assisted by outside independent counsel ,” but has “no reason to believe that either national security or NVIDIA secrets were compromised.”  As I’m about to explain, NVIDIA’s “investigations” don’t carry very much weight.  As I alluded to earlier, regular Where’s Your Ed At readers heard a little about the strange tale of Megaspeed back in March — a Singapore-based outfit that, according to Bloomberg in December 2025, was a “once-obscure spinoff of a Chinese gaming enterprise [that] evolved into the single largest Southeast Asian buyer of NVIDIA chips,”  and exhibited odd signs that suggest it might be operating as a front for China. Per Bloomberg, Megaspeed imported goods “worth more than a thousand times its cash balance in 2023,” with two-thirds of its imports being NVIDIA products.  From what I can piece together — and I’ll get into some detail later in the piece — Megaspeed was originally a Singaporean-registered mobile app developer called 7Road International that rebranded to Megaspeed in March 2023, after it was acquired by Huang Le Limited, making Alice Huang its managing director. At some point it launched a subsidiary called SpeedMatrix which was somehow able to buy about $4.8 billion worth of NVIDIA GPUs . Per the Strait Times , Megaspeed pays for an expensive office space in Singapore where effectively nobody works.   Anyway, the investigation got weirder when Bloomberg tried to track down specific circuit boards that NVIDIA had told the US government were in specific sites, only to find that most of the circuit boards attached to the various GPUs were gone.  While the US government couldn’t account for the boards themselves, an NVIDIA investigation confirmed that they were at a different warehouse that NVIDIA had seen. Oh okay, if you say so! Thanks also for specifying that you confirmed the circuit boards — which were removed from the full chip for some reason! — had not been sent to China. No need to give us any further information! Bloomberg would also identify a Chinese company called “Shanghai Shuoyao” having a near-identical website and investor deck (as mentioned) to Megaspeed. In Megaspeed’s version, the company discussed several “specific area computing clusters” in unnamed locations in “East South Asia”.  In Shanghai Shuoyao’s version of the website, these clusters were in China — specifically, the cities of Beijing, Shanghai, Shenzhen, and Wuhu. Per Bloomberg: And that’s how we get to the mysterious Ms. Huang — who appears to go by Huang Le, Alice Huang and Huang Xiaole, depending on the company, as I wrote in March: Various Twitter posters have unearthed both photos and videos of Jensen and Alice Huang (again, unrelated), but none of them feel more devastating than this : The full arm across the back and around the neck. The confident smile. Oh yeah, they fuckin’!  Seriously, I wish I had seen this photo back in March. Ladies, if you see a photo of another woman with their arm around a guy’s back like this, you are in the danger zone.   While we can’t say for sure, it appears that Ms. Huang was diverting chips to China, possibly to multiple Chinese data centers with at least one paid for by Tencent, and Jensen may have known about it in the literal and biblical sense. Per Trip Mickle of the New York Times on CNN last night, Alice could summon Jensen in the space of a few minutes . And it appears that NVIDIA was both aware of the Huang tryst and worked diligently to block the US government from investigating Megaspeed further, all to sustain a relationship that was clearly in violation of US Commerce Department export restrictions. So, from what I can piece together, it appears that Megaspeed ran its operation through a Malaysian subsidiary called Speedmatrix, and there’s very little else out there about the company. Anyway, in case you needed more proof that something was wrong, Alice Huang was also detained by the Singaporean police in the middle of 2025, seemingly as part of a probe into Megaspeed, Per Bloomberg : And if you’re wondering whether NVIDIA knew about any of this, you’ll be shocked to hear both that it did and hounded the US commerce department about it, eventually killing an investigation into Megaspeed in the process. According to the New York Times , the US commerce department was “deep into a monthslong investigation” of Megaspeed late last year, only to see it “abruptly transferred to the Justice Department” after getting an email from NVIDIA’s general counsel: Per Bloomberg , NVIDIA used its influence with the Trump administration to “muzzle” Kessler’s team investigating Megaspeed, and specifically wanted to know about Alice Huang’s detainment by the Singaporean authorities. Wow! How completely and utterly corrupt. I sure hope that the general counsel of the largest company on the stock market didn’t somehow interfere with an investigation… So, yeah, no problem everyone, nothing weird going on here. All that happened was that NVIDIA used its influence with the US government to suppress an investigation into a company very likely funnelling sanctioned NVIDIA GPUs to China. Very normal. It should go without saying that the California State Bar should sit down with Tim Teter and have a chat about this whole affair, especially given the following from The Financial Times ’ reporting that the FBI was now investigating the Huang Affair. The only reason I’m not outright bringing up the California State Bar’s Rule 4.1 around Truthful Statements To Others is that it’s unclear where Teter made these comments. Nevertheless, this is deeply ugly.  In any case, let’s be clear about how blatant this scam was. Per The Financial Times , Alice Huang raised hundreds of millions of dollars in funding for a data center, promising that she had “no problem securing GPUs” in early 2025, and no, she wasn't referring to Huawei’s ascend chips : According to documents viewed by the FT, Megaspeed borrowed money from Alibaba via a subsidiary in Singapore called Apex Enterprise Solutions.  Megaspeed offered its entire business as collateral , and Alibaba became its largest client… which is how NVIDIA got introduced to Megaspeed in the first place: How strange! The company that appears to have smuggled NVIDIA GPUs also features China’s largest tech conglomerate as its largest client.  This relationship is also discussed in Culper’s short report . Emphasis mine (from page 3): While I intend to go into much more detail on this in this week’s premium, I need to directly call out one big allegation of Culper Research’s short report on NVIDIA — that 20% of its FY 2026 revenues came from China , or around $43.18 billion. Per Bloomberg , Megaspeed also imported 50,000 more GPUs than NVIDIA originally reported to the US government.  I trust Culper’s reporting, and think everybody needs to truly digest what this means. This is an extremely bad situation, and I honestly wish I had hammered on it earlier and more emphatically. NVIDIA should be in front of a congressional panel. They should put it on the television. Somebody should be arrested and humiliatingly perp-walked into a courthouse in full display to a waiting throng of reporters and cameramen.  In any case, Culper directly alleges that this revenue is going away:  So, it’s very easy to smush together two parts of this story — the Chinese honeypot and her obvious association with Megaspeed — and miss the most obvious part of the story: that NVIDIA has inflated its earnings by more than $4.8 billion using sales to what appears to be a passthrough entity for customers in Mainland China.  And that’s just for one company. The true scale may be far, far greater — and Culper Research believes, as mentioned, the total volume of kit going to Chinese customers amounts to 20 percent of the company’s revenues for FY 2026.  In addition to getting his shit rocked crazy style, Jensen Huang — along with collaborators at NVIDIA including its general counsel — has deliberately and repeatedly violated US commerce law . As much fun as it is to laugh at Jensen’s Bizarre Adventure, it’s very clear that both Huangs have collaborated to profit off of breaking the law, all in service of NVIDIA’s perpetual growth.  And it’s also blatantly obvious that this isn’t the only Chinese (or otherwise sanctioned nation) firm acquiring or buying NVIDIA’s Blackwell chips.  Back in November 2023, JustDario collated a list of NVIDIA’s “ Elite Partners ” — companies that NVIDIA claims “represent the deepest level of partnership with the company” — featuring multiple different “ phantom distributors ” like FongCon Co Ltd, which appears to be run out of an apartment above a wine shop in Taiwan, and a “preferred partner” in Russia with an address that leads to a creepy shed of some sort . This story cuts strangely with the New York Times’ recent reporting that the US Commerce Department cleared GPU sales to several firms that may or may not exist: Back in August 2024, The Information reported that an electric appliance company in China managed to buy $120 million of NVIDIA’s H100 GPUs that were explicitly barred from sale using a shell company in Malaysia — much like Megaspeed did with its chips.  In August 2025, Steve Burke of GamersNexus ran an incredible video about the black market for smuggled NVIDIA GPUs , explaining in detail how A) easy it is to get these chips and B) how little NVIDIA appears to be doing to stop it. I love Steve, and think he’s one of the greatest journalists of our generation, but also think it’s impossible to argue based on this video that the US government or NVIDIA is unaware or incapable of solving this problem. On November 20, 2025 — a day after NVIDIA’s Q3 Fiscal Year 2026 earnings — Reuters reported that the US Justice Department was charging four people “...in a scheme to illegally export NVIDIA AI chips to China.” Said earnings had an exciting new addition — per Kakashii , Jensen Huang and NVIDIA changed how it reported its earnings, changing from reporting revenue from the location of the sale to the billing location of the company:  This meant that NVIDIA could now, say, sell GPUs to a company with a billing address in America or Taiwan, only for the chips to actually go to Singapore, or China, or the fucking moon, and basically every business and finance journalist missed it. Then there’s the obvious, blatant, shameless case of Supermicro (a major vendor for AI servers) founder Wally Liaw, who ( as I also discussed in March ) was arrested along with several co-conspirators for selling hundreds of millions of dollars’ worth of GPUs to China , using hair dryers ( per Tom's Hardware ) to transfer serial numbers from real servers to dummy servers to thwart government inspectors.  Liaw was both very, very dodgy and very much connected to NVIDIA, Jensen Huang, and the greater AI industry. As I wrote back in March: Mere days before the arrest, Wally posed for a photo at NVIDIA’s GTC 2026 conference with the Supermicro team as Jensen and CEO Charles Liang shook hands barely two feet away. It is completely insane that nothing else happened here. Supermicro continued to go about its business despite a cofounder and member of its board of directors being arrested by the Department of Justice for selling chips to the Chinese. Imagine if this happened at Dell! Imagine if former CEO of Accenture Bill Green , a member of Dell’s board, had been secretly using a hair dryer to move serial numbers off of Dell servers to sell to China! We’d have a fucking media blitz about it! It would be a huge scandal! There’s also a direct connection between the Supermicro scandal and the Megaspeed scandal, per Culper’s short report , emphasis mine: Late last night, Bloomberg also reported that Chinese AI lab Moonshot had rented 32 Supermicro servers equipped with B300 GPUs according to online documents they reviewed, all of which were based in China.  From Bloomberg, emphasis mine: How do Supermicro servers keep making it to China? I thought we already arrested Wally Liaw!  These GPU smuggling stories have been around for years , and are left totally-unmentioned in any coverage of NVIDIA’s parabolic growth, despite the fact that it’s very clear that a not-insignificant part of that growth is flowing through illegal sales to China. The New York Times reported on both Megaspeed and Alice Huang in October 2025 , including definitive proof of Megaspeed receiving restricted H800 chips. Yet across the Times’ coverage of NVIDIA’s Q4 (Calendar Year) 2025 , Q1 2026 and Q2 2026 earnings , the Grey Lady neglects to mention anything about the smuggling story. If anything, it actively counters its own reporting. And I quote from its coverage of the Q4 2025 earnings, written by Tripp Mickle, who was one of the four reporters on the Megaspeed story: Apparently a story that convincingly argued that NVIDIA was in fact selling chips to China was irrelevant to a larger discussion of NVIDIA not making any money from selling chips to China.    Half-hearted attempts to criticize NVIDIA’s massive circular financing operation have mostly failed to do anything other than provide marketing for what is ultimately a legal con, framing it as a “ potential vulnerability ” that is otherwise “ unusual ” without ever really saying “this is bad, and it’s a sign that NVIDIA is desperate to generate more revenue so that it can show investors perpetual growth.”  It is not a problem that NVIDIA funds its customers , its customers’ third party compute partners , its customers’ data center leases , its customers’ customers (and competitors ), its customers’ customers’ leases , its customers’ chips , its customers’ landlords , its customers that are on the brink of death , its customers’ customers on the brink of death , and its customers’ customers that can quite literally not afford to pay for compute without its money . As long as it’s “legal,” it’s all “above board,” even when it’s blatantly obvious that NVIDIA has deployed over $100 billion ( per The Information ) as a means of keeping the industry afloat by making sure that everybody has the justification and means to buy and/or rent out its GPUs. NVIDIA is an aggressively and unashamedly dodgy company that has done everything and anything necessary to sustain its growth, deploying about half of its Fiscal Year 2026 revenue to plugging holes in an ecosystem to make everybody ignore one horrible detail: that buying NVIDIA GPUs is a shitty deal for anybody other than Jensen Huang. If it wasn’t, hyperscalers would be screaming about the incredible, actual revenues from their $1.4 trillion or so in capital expenditures. If it wasn’t, CoreWeave wouldn’t be an ever-expanding timebomb that requires a few billion dollars every two months or so, nor would it have to hand billions to IREN , Firmus , Nscale , Lambda , and every other neocloud to buy its chips, or have to agree to rent said chips back from Firmus , Lambda , CoreWeave , or have to backstop Nscale’s lease with Anthropic . These are the actions of a company actively manipulating the marketplace by operating on the fringes of finance law, knowing that the media and the markets will back whatever Jensen Huang says as long as the numbers keep going up and he, well, doesn’t actually break the law.   And remember: NVIDIA also loves lying. Last year the company claimed it had shipped six million Blackwell chips , even though any comparison with its actual revenues would show that wasn’t possible. In the end, it turns out that NVIDIA had changed the definition of what “GPU” meant, per Benzinga:  Anybody saying that this “isn’t lying” because “NVIDIA had a footnote somewhere” as if the media wouldn’t report the six million number as gospel, and the company made no effort to correct them, knowing that braindead analysts and gormless retail investors would read the big, huge, beautiful number and say “wow, Jensen Huang is the best! ”  And then there’s the outright lies , per Thomas Thornton, about how NVIDIA was making effectively no revenue from China. As noted by Shakeel Hashim of Transformer , NVIDIA’s spokespeople have lied repeatedly about the Megaspeed situation, which is par for the course — after all, very few have had the interest or courage to actually push back against their narratives, and the Megaspeed story sat inert for over a year outside of Bloomberg and the New York Times’ reporting, as did Culver’s short sell report that I’ll dig into more in this week’s premium. This is what happens when you fail to push back on the powerful. Mainstream journalism has failed to hold NVIDIA to account, failed to warn investors of the risks, failed to push the powerful for clarity, failed to speak directly about the manipulative, suspicious and outright crooked way that this company runs, and done so all under the banner of perpetual growth and the larger Rot Economy .  Any defense using the word “objectivity” is utterly cowardly — you can use words like “allegedly” or “or “suspicious” or “obfuscative” for any and all of the things I’ve described — they are objective statements, because NVIDIA has acted suspiciously, and taken great pains to mislead the public about its growth, both in its dealings with Chinese shell corporations and how much of its revenue comes from neoclouds effectively handing it back its own money. It’s also fucking laughable how much everybody talks about the “dangers of China getting access to powerful AI.” It already happened! China has NVIDIA GPUs! They’ve had them for years!  The Information reported in December 2025 that DeepSeek trained its latest models using Blackwell GPUs! It’s been happening for years, it’s been reported multiple times, in gratuitous detail, and somehow none of it was relevant to NVIDIA’s earnings or the world at large until it turned out that Jensen had had an affair. When you remove the “Chinese government” and “Whatever Sounds Jensen Makes In The Bedroom,” nearly the entire Megaspeed story has been thoroughly reported! It’s all been out there! And to make matters worse, there were members of the media who said it wasn’t a big deal! Culver’s short report came out in May 2026 and explained in arduous detail — including the Alibaba/Apex deal! — exactly what was going on. Everybody wants this to be a localized story about a horny CEO and a dastardly Chinese spy, but what it actually is is a coordinated, multi-layered conspiracy to dodgy US export controls that may very well have been totally ignored if it wasn’t for the espionage angle. In writing out everything that happened, it’s become alarmingly clear how badly the entire media missed on this, because most of the information is old. I also see little to no discussion of how much of NVIDIA’s revenue was generated through these illicit sales. As I mentioned previously : Could those all be above-board American businesses? Sure! But NVIDIA’s deliberate obfuscation of the final destination of its GPU sales now makes its obfuscative revenue disclosures an issue of national security (depending on how you feel about LLMs). It’s impossible to argue that NVIDIA is not selling GPUs to China through a web of proxies and shell corporations — and now the only real questions are how much, to whom, and when. I do not expect the Trump administration to do very much about this, though perhaps I’ll be proven wrong given the “China” of it all, and how brazenly NVIDIA has acted. In any case, one has to ask — why did Jensen Huang blow up his life?  The Wall Street Journal reports that he met Alice Huang sometime in “early 2024” at an NVIDIA event — likely referring to GTC 2024 in March — and then met again in June 2024 at Computex Taipei: The fact that Alice Huang — the CEO of a barely-existent “Singaporean” neocloud — was at a party seated next to the CEO of NVIDIA and senior executives from Gigabyte (a huge NVIDIA partner) is in and of itself indicative of their closeness and (I’d guess) an attempt by Jensen to impress her. Every guy has, at some point, desperately fallen for a girl and overcompensated when trying to impress her, and while everybody will try and frame this as simply business and sex, I suggest something very, very different: Jensen Huang actually liked this woman, and dare I say it, I think she made him happy. The average Jensen photo has a cold sternness — and, I hate to say it, he doesn’t look particularly happy when photographed with his wife Lori, who is a victim of a horny, greedy man who got taken in by the world’s most obvious honeypot. Even when becoming visibly frustrated with Dwarkesh Patel and saying that he (Jensen) wasn’t “somebody that woke up a loser ” — all while emphatically arguing that NVIDIA should ship GPUs to China — Jensen remains relatively stone-faced. Now, let’s take a look at his face when he’s next to Alice Huang:  This big, strong, powerful man, dare I say it, being himself after goofily falling for someone that turned out to be a Chinese spy, a fact that Jensen may or may not have been aware of. I have looked at an alarming amount of photos of Jensen Huang for this piece, and I can find no other examples of him looking this happy.  And, like many powerful men, Jensen Huang is too much of a fucking coward to do the work to either cut off the relationship before the cheating, or file for divorce before doing so. I’m not condoning anything he’s done, but time after time guys refuse to make the tough decisions, opting instead for a continually-compounding chain of easy yet dangerous choices that ultimately blew up in their faces. Most will describe this relationship in terms of sex and a greater con, and they may indeed be right. Perhaps there’s a world where Jensen found a kind of thrill from giving it to a foreign agent “Feynman style,” all while helping her acquire billions of dollars’ worth of GPUs. Perhaps he had no idea, but that would make him one of the stupidest men alive. I think the reality is a little sadder — Jensen has (or had) genuine feelings for Alice, she made him feel alive , and he, like so many other men, chose to make boneheaded choice after boneheaded choice to impress her, engaging in some of the single-worst examples of OpSec ( by which I mean being repeatedly photographed and videoed with her, and also selling her billions of dollars’ worth of GPUs ) in the history of modern society.  This man is worth $150 billion and would have likely been swindled by Bugs Bunny in drag .  Despite claiming he didn’t wake up a loser , all that money and power couldn’t protect the man from his heart or his hog, and apparently Jensen’s parallel processing was insufficient to stop the dastardly Chinese from running the most obvious honeypot in history.   No amount of money or power can stop an insecure man from refusing to take responsibility for his feelings or frustrations. Huang believed that he could have whatever he wanted under whatever terms he wanted, and in walking that line got burned, thinking he was smart enough to outrun consequence. He didn’t care about his wife, his company, national security, or really anything other than what he was doing to or with Ms. (Alice) Huang. And like every big, stupid dickhead, he assumed that nothing bad would ever happen, that nobody would find out, and that the way that NVIDIA obfuscates its customers’ locations would keep his tryst and Megaspeed’s sales hidden. When Megaspeed came to light, I would bet he assumed the media and the Trump administration would simply leave it alone, which was true right up until Alice Huang was revealed to be a Chinese agent. In some ways he was correct. As I’ve repeatedly said, the Megaspeed story has been publicly-known for more than a year , explained in exhaustive detail in both Bloomberg and the New York Times in late 2025, my own coverage in March 2026 and Culper’s short report in May — shit, I even mentioned Megaspeed seven minutes into my interview with Jon Stewart on October 28 2026 — and sweet fuck all happened until the news broke of Ms. Huang’s job with the Chinese intelligence services.  The media happily continued reporting on every billion dollar stimulus that NVIDIA issued to random AI companies and neoclouds without a single mention of the obvious, blatant GPU smuggling operation going on in broad daylight, reported at length with pictures and proof, mostly because NVIDIA refused to admit it.   Even now, as Huang’s dirty business is on display for all and sundry, NVIDIA has yet to discuss — or be asked — about Megaspeed itself in any interview I can find. Jim Cramer , Emily Chiang , and anyone else who sat in front of Jensen without asking about this directly should be ashamed of themselves. Anyone attempting to claim that this has “nothing to do” with NVIDIA’s overall business is a fucking mark. We have compelling evidence that NVIDIA has been inflating its revenues using Chinese smuggling operations — and have done so for years — that were likely known at the highest levels of the company.  In a sane society, outside of an AI bubble, this would have led to the immediate resignation of both Jensen Huang and general counsel Tim Teter.  And let’s be clear about something. Jensen Huang is not an “ incredible human .” He’s a liar, likely a crook, a manipulator, and based on all the reports I’ve read should already be in handcuffs. Jensen has acted like a coward and a loser, and what he's done outright sucks — for national security reasons, for how brazen it is, and how much embarrassment and humiliation he’s brought his family, especially his wife of 40 years.  It is a tremendously shitty thing to do before you get to how Jensen Huang likely violated US sanctions around selling NVIDIA GPUs to China. He is not a “great guy” or “a good human,” he’s a horrible, avaricious toad that got too horny and greedy. He wanted to have sex, he wanted to sell more GPUs, and he ran them in parallel, “Grace Blackwell style.” It is not a “mistake” to fuck another woman decades into your marriage, nor is it a “mistake” to sell that woman’s company billions of dollars of GPUs, nor is it a mistake to repeatedly have your comms people lie, nor is it a mistake to use your general counsel to intimidate the commerce department into looking away from your obvious misdeeds.  Jensen Huang is, aside from everything else, a genuinely embarrassing example of what it means to be a man. As the CEO of the largest company on the American stock market and the bedrock of the entire AI bubble, all he had to do was keep selling GPUs and simply sell Alice Huang some GPUs without any of that messy romance — but his worthless, cowardly, weak-willed ass couldn’t help himself.  If you are a guy who feels compelled to defend Jensen Huang because of any allegiance to the AI industry or men in general, you are a colossal loser and have the mindset of a peasant.  The tech industry should outright reject weak-willed and morally-corrupt losers like Jensen Huang. As one of the richest and most-powerful people in the world, we should hold NVIDIA’s CEO to the highest standards imaginable both legally and socially, and that includes crucifying him for embarrassing his wife, his family, his company and his country. From the circular finance to the infidelity to the lies to the intimidation to the fucking brazen nature of all of the above, everything Huang has done is utterly repulsive, and should be treated as such. And let’s not forget that he has forced billions of dollars’ worth of GPUs on hyperscalers months before they need them , massively inflating the price of RAM and all consumer electronics as a result , all as a means of creating perpetual growth for NVIDIA — a truly horrifying and immoral act that made billions of people’s lives worse so that a company could hit its quarterly revenue estimates. Those defending this practice too have the minds of peasants, and crave the abusive control of a feudal lord with their entire being.  NVIDIA should fire Jensen Huang immediately, along with its general counsel. The US government should immediately start a criminal investigation into Megaspeed and all connected counterparties, as well as anyone at NVIDIA who oversaw any smuggling operations. The SEC should thoroughly investigate NVIDIA’s revenue recognition standards, and the US government should create regulatory standards that make its tactics illegal.  If you disagree, you are advocating for the corrupt and deceitful to profit at any cost. Men like Jensen Huang are the reason that the tech industry sucks, and until it purges these morally-repugnant oafs, our entire society will suffer.  If you liked this piece, you should subscribe to my premium newsletter, and you can subscribe on the following links: $70 a year , $18 a quarter , or $7 a month . Friday’s premium newsletter will be a continuation of this story. We’ve got a lot to say about NVIDIA, Megaspeed, and the illicit flow of AI GPUs into China. You won’t want to miss it.  If you want to get in touch — and especially if you have any juicy information about Anthropic, OpenAI, or any other companies in the AI bubble — hit me up on Signal at ezitron.76. I’m also on IB on your Bloomberg Terminal.  It means that 20% of the largest company on the stock market’s revenue comes from illicit sales to China. If that’s even half true — and I believe it, given everything else you’ve read today — that revenue is either going away or is long gone depending on how stupid NVIDIA has been. It’s reasonable to assume that somebody is going to jail based on the sheer scale of the operation. It’s also reasonable to assume that Megaspeed is, as Culper’s source said, the tip of the iceberg, as its orders only added up to around $4.8 billion.

0 views

Fragments: November 10

It’s that time of the year when the November Thoughtworks Technology Radar appears. Again my colleagues have taken a sweep of the technologies that our teams have used in the field, and pulled together a summary of what’s popped up in the last six months. It’s been a busy half-year, one that again has been dominated by AI, and that’s reflected in the many AI blips on the radar. The mass of blips makes it hard to develop a coherent story around trends, but Chris Ford has done a fine job of the writing the accompanying article on macro trends . One team of passionate people experimenting with agents can make almost anything work. They share a context, a credit card and a mental model. They review each other’s work because they sit together, and they know what to check and how much latitude to give the coding agent. Two hundred people, though, cannot work that way. The moment agentic AI becomes an operating model rather than a pilot, a second layer of problems appears: How is context shared between teams? What’s the token bill? How do we deal with increased review demands? What’s the agent allowed to reach, read and change? And who’s now responsible for the harness everyone depends on? Experience so far suggests that the questions that enterprises face are about: shared context, token cost, cognitive load, security, and platform building. While these issues are distinct, they are not separate, so strategies to answer them must take all of them into account. I also echo Chris in reminding us that however impressive these tools are, we must remember that while we have to rethink systems and workflows to utilize these technologies, they should be built to serve humans - and we should all benefit from its bounty. ❄                ❄                ❄                ❄                ❄ Ben Thompson’s Stratechery newsletter reflects on the recent election’s impact on data centers . I watch a lot of sports, and particularly this fall, watched a lot of baseball. My Milwaukee Brewers — excuse me, my World Champion Milwaukee Brewers — demanded my full attention, which also meant I saw a lot of campaign ads, and by far the most common topic, at least here in Wisconsin, was data centers. Moreover, it was never entirely clear which way it cut politically: both parties were anti-data center, accusing their opponent of being the opposite. He points out that this opposition is recent, and tied to a shift in focus from the internet and streaming movies to AI: you know, the technology that in the best case scenario is going to take everyone’s jobs, and in the worst case scenario end the human race. There’s going to be a lot said about how Democratic officials will be at the heart of blocking data center building, but as his point above about campaign ads illustrates, the opposition to data centers is (at least at the moment) a bi-partisan opposition. He follows up with “ten takes” from these consequences. The big beneficiaries of this opposition to building data centers will be those who own the data centers that have already been built. The opposition will reduce supply of tokens, meaning that token costs will go up, thus increasing the profits for those who already have their token generators plugged in and humming. There’s also benefits to those who aren’t constrained by the need to build more big data centers. Other countries aren’t affected by a change in US policy, China is the most talked-about case here, but it’s not the only country that may benefit from a drop in US data center building. Apple may also benefit, if it means more AI work is pushed to edge devices that are their territory, in addition to having not sunk so many dollars into AI-specific investments. To his analysis, I’ll add that this may also have a somewhat counter-intuitive effect on regulation, and corporate attitudes to it. The common expectation is that businesses are opposed to government regulation, since that interferes with their free pursuit of profit. That’s true to an extent, but it’s quite common to see established businesses lobby (quietly) in favor of regulation that acts as a barrier to new competitors. So I wouldn’t be at all surprised to see companies that have already built data centers to be pushing for regulations that impede or prevent new ones from being built. ❄                ❄                ❄                ❄                ❄ I’ve been a long-time fan of Hadley Wickham, for how he has tamed the rather messy world of R programming into a well-designed tidyverse . He is another thoughtful voice to listen to as we move into the world of agentic engineering , in this case by trying to figure out what the real cost of tokens is . I hear a lot of suspicion that AI tokens are unsustainably priced and that frontier labs are heavily subsidising costs with their VC money. They want to get us hooked now, so they can pull the rug out from under us whenever they want to make a bunch of money. Is that true? My sense is that it’s mostly not. But can I back that up with some data? His conclusion is that it doesn’t seem that token costs are significantly subsidized on per-token API basis, but they are with subscription plans. (He caveats his analysis, saying it doesn’t take into account recouping the costs of training the models.) ❄                ❄                ❄                ❄                ❄ There’s a creepy excitement at the thought that models are clever enough to edit the weights of models, an activity that Takehi et al refer to as Weight-Space Programming . Just by looking at the raw weights, GPT-6 Astra can tell what a network was trained to do. And without any environment feedback, it has no trouble writing, from scratch, small game-playing networks that outplay networks trained with PPO for 100 million steps. While we don’t know if we’ll ever be able to download skills directly into our brains ( “I know kung fu” - or for those in my particular demographic: Joe 90 ), this does raise the possibility of downloading capabilities into models by manipulating their weights. Simon Wilison riffed on this paper by examining whether an LLM can understand model behaviors from the weights alone , by examining four simple neural networks, each trained to play a specific game, and figuring out which game it was by just looking at the weights. ❄                ❄                ❄                ❄                ❄ Jessica Kerr (jessitron): My days of teaching AI to do stuff are numbered. Getting it to teach me stuff is more fun. ❄                ❄                ❄                ❄                ❄ Houck et al (that “al” includes some folks who I’ve learned to pay a lot of attention to), look at how we can assess the quality of context supplied to agents. An agent may draw from source code, specifications, issue trackers, chat histories, architectural documents, tool output, and user instructions, then act on that combination with limited human supervision. Information that was written for different audiences, at different times, and for different purposes is brought together into a temporary operating environment for a particular task. Whether each source is individually useful does not reveal whether the resulting context is fit for the work the agent is being asked to do. They’ve come up with a framework for describing the quality of this assembled context , which they refer to as CAFE(S). The acronym refers to five dimensions they look at: They also list a set of half-a-dozen “context smells”: common cases where these break down (and a nod to Kent’s original metaphor ) I’m not sure about the name, (how exactly should I pronounce “CAFE(S)”?) and the article exhibits rather more LLM Voice that I prefer. But on the whole I think this is a good framing for thinking about an important part of feeding our silicon servants/overlords. ❄                ❄                ❄                ❄                ❄ Cindy Sridharan noted that the problems she ran into six months ago are no longer around : What was missing in my setup 6 months ago was the verification process I now use. 70% of my daily token spend goes into verifying patches, and only ~20-30% into creating them. That resonated with conversations I’ve had with folks using agents in enterprise settings. They are using far more tokens to check the working of models (through guardrails and evals) than they are to generate a response to a request. A single request to a model from a customer may trigger a dozen turns to other models to probe its input and verify its output. Clarity: Can the agent interpret the request as intended? Actionability: Can the agent proceed, and know when it is done? Fidelity: Can the agent trust that this context is true? Efficiency: Can the agent focus on what matters? Security: Should the agent have this context at all?

0 views

Long-horizon agents and durable execution

Long-horizon agents can automate complex tasks that take days or weeks to complete and involve multiple exchanges with people and external systems. Many things can go wrong during this time, including process crashes, network failures, and unanticipated real-world behavior. Kiran Prakash explains durable execution: an emerging pattern that helps agents recover from these failures and move towards their goal. In this programming model, the runtime keeps a record of the result of each step that interacts with the outside world so that, when a failure occurs, the program runs again, completed steps are skipped, and the program's state is rebuilt from the record.

0 views
Stratechery Yesterday

The Jensen Huang Story Gets Worse, Washington vs. New York, Silicon Valley

The Jensen Huang story got worse for him on Monday; the real risk for Huang is governance, even more than national security. Who benefits?

0 views
マリウス Yesterday

Stickerbombed: Lenovo X1 Carbon Gen 14 Aura

Especially with laptops being an attractive target for thieves at airports and touristic areas, I not only enjoy telling a story through the appearance of my devices, but I also find customizing the appearance a good way to deceive snatchers into mistaking these items for something of lower and potentially uninteresting value. Unlike the average tech bro that collects stickers of their favorite tech corporations and stacks, only to stick them onto their MacBooks in an uninspiring way, I prefer to carefully plan my stickerbombing and create a well-crafted collage that tells a story. For that, I use stickers that I collect throughout my travels , and also order specific stickers, which I then cut into new motifs. Instead of Silicon Valley logos, my works usually contain imagery that is reflective of personal life events, social topics, and sometimes satire. If you like this sort of art and are looking for further inspiration for your own projects, you might enjoy the books by Stickerbombworld , as well as the c/stickerbomb and r/stickerbomb communities.

0 views
xenodium Yesterday

Journelly 1.5 released: faster all around

Journelly feels like tweeting, but for your eyes only. A different take on note-taking or journaling for iOS, powered by plain text (Markdown + Org). If you're an Emacs user, Journelly complements your Org journal file on the go. Check out journelly.com for details. Journelly v1.5's biggest gain is performance. It should bring you an overall snappier experience, especially on larger journals. This release also brings new search features. A user reported migrating about ten years of journaling from Day One into Journelly: over 3,600 entries and thousands of images, converted from a Day One JSON export into Journelly's plain text format. With that much content, typing and navigating became sluggish. Journelly v1.5 brings a nice round of performance work, so typing, saving, and navigating are now smoother for journals of all sizes. If you're considering a similar move, Journelly should now comfortably handle years of entries. When you have entries from today's date in previous years, a new button appears on screen. Tap it to see what you were up to on this very day, years ago. The little badge shows how many matching entries were found. Not your cup of tea? Hide the button via "Menu > View > On This Day." Search now understands dates via a new filter: Dates can be written in your own language too ( , ), and can be combined with regular search terms and hashtags ( ). Matching dates are highlighted in entry titles. Prefer a calendar view? Tap the calendar button in the search bar to pick a day to search for. Days with entries are marked with a dot, offering a handy way to see when you wrote. This release fills in some missing translations and improves the Simplified Chinese (简体中文) text. Since launch , Journelly has remained a single-payment app. No subscriptions . That said, sustainable development has been tough without regular downloads , which is why development has slowed down. Help Journelly grow: Hope you enjoy the v1.5 update. Thank you for using Journelly and supporting indie development 💛💙❤️ Save cooking recipes, movies, music, restaurants, coffee shops… Jot down your thoughts. Save your favorite quotes. Use it as a journal, memo book, or notes. Write your shopping lists. Document your travels. finds everything from 2024. finds November 2024. finds every November, any year. (or ) finds every November 3rd, any year. (or ) finds that very day. Leave a review on the App Store . Share Journelly with your friends. Write or blog about Journelly to help spread the word.

0 views
dfir.ch Yesterday

ssh-keyscan.exe for Delivering PowerShell Code

Recently, I came across a Unit 42 threat note about a ClickFix campaign abusing the Finger protocol. . The attackers used the legitimate Windows utility to retrieve commands from a remote server over TCP/79, which were subsequently executed through . That got me thinking about other Windows utilities that can retrieve data from remote systems without relying on the usual HTTP download mechanisms. One candidate was , which is included with the OpenSSH client feature on Windows. Normally, is used to retrieve public host keys from SSH servers, primarily for populating files. However, the utility can also request SSH host certificates, which contain more than just a public key.

0 views

Locating the source of a mysterious beep with Claude

Our house has a box room, full of boxes that we still haven't unpacked from our last move. A couple of weeks ago something in that room started intermittently beeping . The beeps were far enough apart that standing in the room and trying to determine the source of the noise was frustrating, and I really didn't want to dig through every one of those boxes. So I had Claude Code build Beep Locator , a software system for triangulating the source of a mysterious beep using multiple devices scattered around the room. Here's what Beep Locator looks like after it has been running for a while: You run Python web server to show the primary UI, and then use the QR code or URL to connect as many devices as you can spare to act as listeners - I was using two iPads, a phone, a MacBook Pro and a Surface Ultra. The devices then play noises to each other to help estimate their locations. This didn't work particularly well, so I added a "Rough mode" where you can drag their icons around in the space to provide rough locations which are then adjusted based on those sounds. Once that's set up, the devices all listen for the beep! I added a clapping mode too so I could test it by clapping my hands in different locations around the room - displayed as diamonds on the map. This helped me gain confidence that it was capable of locating a sound. Beeps show up on the map as an X, plus a line in the "Sounds located" log. You can replay these sounds (from each device in turn) to confirm they are the mysterious beep you are looking for, then click "This is the mystery beep" to mark them as such. Once you've confirmed the mysterious beep frequency the system will listen out for it, measure the interval between beeps, and use the triangulated locations to lock down the most likely location on the map. The system worked as intended. It gave me the position of the beep to within about 40cm, then I dug through that specific pile of boxes and found an ancient carbon monoxide detector that desperately wanted its batteries replaced. When I started working through this problem with Claude it quickly dug up BeepBeep: A High-Accuracy Acoustic-Based System for Ranging and Localization Using COTS Devices , a 2007 paper by Chunyi Peng, Guobin Shen, Yongguang Zhang, Yanlin Li, and Kun Tan. Here's that paper's abstract: We present the design, implementation, and evaluation of BeepBeep, a high-accuracy acoustic-based ranging system. It operates in a spontaneous, ad-hoc, and device-to-device context without leveraging any pre-planned infrastructure. It is a pure software-based solution and uses only the most basic set of commodity hardware – a speaker, a microphone, and some form of device-to-device communication – so that it is readily applicable to many low-cost sensor platforms and to most commercial-off-the-shelf mobile devices like cell phones and PDAs. It achieves high accuracy through a combination of three techniques: two-way sensing, self-recording, and sample counting. That sounded exactly like what we needed to build! Beep Locator runs a Python web application server that does most of the work. The listening devices then connect to that server via WebSockets and present a UI which requests browser microphone access. The listeners mainly work by recording a 60 second buffer of recent audio. They also run a simple beep detection algorithm (see detector.js ), which uses Fast Fourier Transform and a high-pass filter to identify potential beeps. It sends these events to the main server. When a beep is reported, the server has a device play a short chirp (the device with the lowest round-trip time to the server), then asks every listener upload a clip from about 0.6s before the beep to 0.8s after that chirp. This chirp allows the clips to be aligned with each other, a crucial step in locating the beep. I started this project using Claude Code Cloud via my iPhone, with Opus 5.5 running in Extra thinking effort mode. Here's that shared starter session , which began with this prompt against a newly created empty GitHub repository: That got me this problem.md file . As part of writing that up Claude found and read the BeepBeep paper, which is described in that file. The research looked good, so I told it: That got me to this point - most of the system was built, but nothing had actually tried running it yet. I cloned the new repository to my laptop and fired up Claude Code... and then Fable 5.2 was released , and this project seemed like an excellent opportunity to put that through its paces. I had Claude Code on my laptop start the server running, then made sure it could both see what was happening and make live changes to the software as it ran. This was already baked into the software: Opus 5.5 had built an installModule() method on the listeners that could be triggered over the WebSocket connection, meaning the admin server could execute arbitrary new code on any of its clients. On some devices, web pages that listen on the microphone request user permission any time the page reloads. The hot-swap module mechanism meant that we could deploy new code without having to manually interact with each of the listening devices in turn. From that point on my involvement was mainly to sit by the laptop chatting with Fable 5.2 about what was going on, and occasionally requesting new features. Here are some of the feature prompts I ran: This gave me the ability to drag listeners around the map. That added the thing where any time I clapped it would show on the map as a different symbol from the beeps. That made it easier to spot which symbol likely reflected which real-world sound. Now I could replay sounds, making it much easier to identify which recorded clip was the mysterious beep I was looking for. At this point I was getting close - I had a solid idea of where the beep was coming from, but wouldn't it be neat if I could reposition the listeners around that point to get an even finer location? And since I had one spare device, I then said: I think the most interesting part of this project is that I demonstrated it's possible to give Claude Code ears . Claude doesn't have native audio input (yet), but it can run JavaScript and Python code that can analyze audio captured by a microphone. I told it to run a web server with WebSocket connections to multiple listening devices, then had it both run a WebAudio microphone on those devices and hook them up so they could be sent fresh JavaScript code to execute via that WebSocket. Then I could pretty much leave Claude alone, hacking away at the problem, querying the audio logs, and reconfiguring its ears to help it solve the problem. I'm reminded of a similar hack I heard about at GitHub Universe a few weeks ago, where Martin Woodward told me he had been debugging the GitHub Universe Badge computers by plugging them into a computer via USB-C and then pointing a webcam at their screen, so his coding agent could tell if updates were working correctly or not. Figuring out ways to let coding agents perceive the world around them is a whole lot of fun. You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options .

0 views

Claude Code token cost explorer

I am experimenting with involving subagents more in my LLM coding agent workflow. I discovered that subagents make it more difficult to diagnose token usage in Claude Code, because the regular command only breaks down context usage for the main conversation, not for the subagents. I tried some existing tools like and , but they weren’t able to give me the sort of breakdown into specifics I needed to optimise my usage. Thus, I shamelessly had Claude Code whip up a tool that gives me a better view of its token usage. This is vibecoded in the true sense of the word – I have barely looked at the code – but I’m okay with that becuase it is not critical infrastructure and it does what I need it to. If you want to know how to get more out of your Claude Code sessions without paying more for it, here’s how you can find out. First, open the context cost explorer in your browser. Everything happens locally on your machine, so none of your transcript data leaves your computer. If you’re the paranoid kind, you can verify by opening the network tab in your browser and reading in a non-sensitive session and seeing that nothing funny happens. Then follow the steps below, or use your own analytical ability. (Continue reading the full article on the web.)

0 views
Farid Zakaria Yesterday

What if every Nix build were bit-reproducible?

The holy grail of build systems and package managers is bit-reproducible 1 builds. This is such a desired trait that nearly every Linux distribution has a reproducible builds project to track the progress and validity of their builds. Why is bit-reproducibility so important? Trust. You can trust that the software you are running has not been tampered with and is the same as what the developers intended if you can verify that when built from source, the output is identical. Making software bit-reproducible though is hard. There are a lot of ways that can introduce non-determinism into a build: timestamps, random seeds, thread scheduling, and more. Most distributions that have achieved “reproducible builds” have done so for only a subset of their packages, usually those that comprise the core of the ISO or distribution. Nix’s default model, the extensional model (input-addressed), famously works around the need for bit-reproducibility by hashing the inputs to a build and using that hash as the store path. This lets the build be repeatable even if the output is not bit-for-bit identical. It is an incredibly pragmatic solution to making builds repeatable, but it does not solve the problem of trust. We are still trusting the outputs uploaded to cache.nixos.org have not been tampered with. Nix also has an experimental content-addressed model (intensional model) where the paths are based on the content of the output, but crucially, it does not guarantee that the builds are bit-reproducible. This leaves us with an undesirable situation regardless of the model. For the extensional model, the smallest change in the inputs changes the store path which causes a cascade of rebuilds. For the intensional model, a single derivation can produce multiple different outputs. What if every build could be bit-reproducible? What would that mean for Nix and the extensional model? I have been working on Rewind , a deterministic virtual machine. It runs builds in a deterministic environment, which so far has mostly been used to investigate bugs. I have been thinking about what else a platform that runs builds deterministically makes possible. I started this thought by exploring how to make profile-guided optimization reproducible but I was just scratching the surface. When we try to make a build bit-reproducible, we usually go hunting for the sources of non-determinism: timestamps, random seeds, thread order. These are inputs the derivation does not account for, so they are not hashed into the store path. A simpler approach is to run the whole build inside a deterministic machine. Eelco’s thesis says outright that the extensional model assumes the builder is impure (§5.7). Build operations in general are not pure: the contents that a builder stores in the output path can depend on impure factors such as the system time. […] Thus, while any derivation can have a potentially infinite set of output path contents that can be produced by an execution of its builder, we view the elements of that set as interchangeable. But this is a model—an assumption about builders. Running a build within Rewind captures all of the implicit inputs to a build and makes them explicit, which makes any build bit-reproducible. 🤯 Aside: New to Rewind? Start with a flaky build you only catch once and dafuq is a deterministic VM? We can wrap any derivation in Rewind with a Nix function. takes the machine’s inputs and a derivation, and returns the same derivation with its builder running inside Rewind: 2 It works on any derivation and the resulting derivation is bit-reproducible every time. 3 Let’s look at a simple example of a build that is not bit-reproducible, and how when wrapped in Rewind, it becomes bit-reproducible. Here is a simple C program that prints a greeting and depends on a library. The derivation adds a build id and a build time to the output similar to what release builds often do to “stamp” their builds. The build id and build time are two common sources of non-determinism in builds. We have wrapped the derivation in a function to control whether the build runs in Rewind or not, and whether the build is content-addressed or not. Built on the host under the input-addressed model, fails : Built in Rewind, the same derivation passes: The UUID still comes from the kernel’s random pool and the time still comes from the clock. They are the same on every build because the pool’s seed and the clock’s start are initialized from the same values. Nice! We just got a build that is bit-reproducible even if it’s not content-addressed. You can find more details of the library and even making Rewind a Nix on Rewind’s Nix build reference . What does that mean for the content-addressed model? Since the outputs are not bit-reproducible, the same derivation gets a different path on each rebuild. 4 Producing multiple variants is problematic and the thesis notes the consequence (§6.4.1): you can end up with a closure that contains more than one variant of the same derivation. The fact that a derivation can resolve to any number of output paths due to impurity, leads to the problem that we might end up with a closure that contains more than one element from the output equivalence class of a derivation. With , both stores build the same bytes and print the same path: 5 One derivation, one path, in every store. Bit-reproducible outputs also mean cache hits across machines. If the bytes are the same, the content address is the same, and a path one machine built is a hit for every other: early cutoff optimization ftw! When we make every build bit-reproducible, the two models collapse into one. What does this mean for the extensional model? The extensional model was a wonderful pragmatic solution to a world where determinism was not guaranteed but it came at a cost: a single change in the inputs cascades through every downstream derivation. Adoption to content-addressed derivations has been slow similarly because producing multiple outputs makes it hard to reason about the closure of a derivation. When we have guaranteed bit-reproducibility, both problems disappear. Having a stable platform with which to build software reproducibly might completely change the toil of working to make software reproducible and change the economics of whether to leverage content-addressed derivations. The usefulness of a reproducible environment is not well explored and I think there are other interesting use cases for it. One that I’m exploring is to use it to make the act of performing a benchmark reproducible. Aside The cost is that the machine is now an input, Rewind included. Upgrade Rewind and every wrapped derivation rebuilds. Build on an Intel machine and you get a different, equally reproducible, output than on AMD. A tool that was designed for bug investigation and reproducibility of builds might have a larger impact on the software ecosystem than I had originally thought. It is a tool that can be used to make software more trustworthy, and all the wonderful beefits that come with it. It’s lame that I have to keep clarifying it as “bit” reproducible but the term is overloaded.  ↩ Rewind is a KVM-based virtual machine, so it requires a host with KVM support. It also requires the or system feature to be advertised by the host.  ↩ On the same Rewind version and the same CPU vendor. Fixed-output derivations are refused, because they need the network and the VM has none.  ↩ Two stores are used to illustrate buids on different machines.  ↩ Nix 2.35 changed how it hashes an output that mentions its own path, so the content address of such an output depends on the Nix version.  ↩ It’s lame that I have to keep clarifying it as “bit” reproducible but the term is overloaded.  ↩ Rewind is a KVM-based virtual machine, so it requires a host with KVM support. It also requires the or system feature to be advertised by the host.  ↩ On the same Rewind version and the same CPU vendor. Fixed-output derivations are refused, because they need the network and the VM has none.  ↩ Two stores are used to illustrate buids on different machines.  ↩ Nix 2.35 changed how it hashes an output that mentions its own path, so the content address of such an output depends on the Nix version.  ↩

0 views
Unsung Yesterday

Mailbag: Halloween 2026

I’m curious what you thought about the Halloween spell on Unsung ! In case you enjoyed it, here are some follow ups I collected since publishing: A few people online suggested the distinctive and creepy “I can do it” Monopoly Deluxe sample is from a cartoon Ren & Stimpy, which premiered not long before the game. I found an example that’s very close, but not quite exactly like the one from the game. (It’s not creepy in the video!) = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-halloween-2026/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-halloween-2026/1.1600w.avif" type="image/avif"> Nik Clayton added some color to the YouTube red and blue squares mystery , and specifically of the name of the YouTube channel – “Webdriver Torso”: This was a test not just of the video encoding pipeline, but of the entire end-user experience. So rather than using an API to upload the videos directly, a web browser was controlled, aka driven by a script to navigate through the YouTube UI and upload the random videos. This was done without showing any of the browser UI on the screen so it could be completely automated, often referred to as running the browser in headless mode, or if you prefer, just the torso . Hence “Webdriver Torso” as the account name. Obvious if you know the lingo, completely baffling if you don’t. Daniel Vincent wrote to me to explain the bug that caused the texts to my date to go completely missing : I work in the messaging business and I can tell you exactly why your use of typographer’s quotes caused mayhem in SMS. Back when the iPhone came out most carriers only supported the GSM-7 character set . Originally SMS only supported ASCII, which gave you the 140 byte limit. By using a 7-bit GSM-7 encoding they could cram 20 more characters into a message and also support certain extended characters (accents, etc. for languages that needed them). Needless to say, typographer’s quotes fall outside these character sets. When the messages were sent, the Unicode data would either get corrupt or the carrier (inbound or outbound) would mangle the message in other ways. This situation was different in other parts of the world – e.g. Asian countries – which adopted different character sets. (There was also the Latin-1 character set , but it did not fully cover Unicode and characters like typographer’s quotes were outside of it as well!) Other consequences of using characters outside the set may break the byte counting used for message concatenation […] resulting in only the first segment being delivered or no delivery at all. When Unicode support came to SMS in Western countries they supported it using UCS-2, which translates Unicode into a byte format which can be carried over SMS. This was about the time when Western countries started seeing emojis and such in their text composers. UCS-2 also has the downside of cutting segment length in half (to 70 characters) because it’s a double-byte encoding. This could increase your SMS bill back when people were charging per-SMS. It’s an interesting design challenge that might not be solvable. There was no way for my phone to ask the carrier whether the quotes were supported, or whether the message was received. You could imagine some sort of a situational warning that my special character use might cause the message to not appear, but design of warnings is hard thing and the message would have to be vague. What if this scared me for life, fearful of using other characters, or future emoji, or texting in general? Lastly, I could imagine the curly quotes to be replaced by straight ones quietly in this context, but… that ruins typography for everyone, and it’s entirely possible there I was one of the very few people on Earth facing this particular problem. A conversation with Nikita Prokopov made me piece together some of the iPhone jump scare bug conditions. The reason the touch screen might still respond to touches after clicking on the lock button is that the lock button still waits a bit to detect whether you tapped it twice for Apple Pay, or thrice for an accessibility shortcut. (If you disable both of these features, the problem disappears!) You might ask: why is the touch screen active if the phone is only waiting for the button press? Likely because… it’s cheaper. = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-halloween-2026/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-halloween-2026/2.1600w.avif" type="image/avif"> I don’t mean it disparagingly. Code needs to be as simple as possible. Disabling the touch screen would mean having to re-enable not just upon waking the phone the next time, but also it at the second button click, too – and that could be a source of new bugs. But Prokopov cast a shadow at “never caused any problems”: Same, but right pocket and I was getting letters a and z inserted into text fields that I will discover later after unlock. Drove me crazy. It seems that Apple doesn’t realize that their decision might be causing all sort of phantom touches for people. (I filed the bug inside Apple’s systems as FB25320712.) Vis-à-vis the Pac-Man sound bug , someone unearthed a bug report thread where people complain about it as it’s happening. At least this group of people identified it as coming from Pac-Man relatively quickly, but it’s still hard for me to read all these, even 16 years after: Disabling CoolPreviews did the trick. You guys are right... definitely a screw up somewhere along the line. I was getting sick to my stomach hearing that sound. Thank you for the information. Lastly, I got an email from Russ Segal, the creator of N.Y.C. The Big Apple videogame – and its bug that scared me so much as a kid : I had no idea that bug was there. I can tell you exactly what is happening. The old Atari computer did not have enough memory to keep the picture of the whole city at once, so the program just had a basic map of the whole city, not a whole picture. As you drive horizontally, the program only creates a vertical “slice” of the picture of the city – centered on where you are. And just before you drive off the end of the picture, it paints the next slice in front of you. When you went backward on the bridge you fell off the left side of the available picture, and the program painted more city for you. But because you are technically “off the map”, the city map is being read incorrectly – with some sort of misalignment. Not only will this make the buildings and blocks look weird, the painted city streets do not line up with where the cars think they should drive. So the cars will crash into stuff that is not supposed to be there. It was fun to see that message in my mailbox, and fun to see echoes of computing history: the way NYC The Big Apple did it is not exactly the same as streaming in Grand Theft Auto, but it’s a similar category of creating reality on demand just ahead of where the user is looking – and you can now imagine all sorts of similar GTA bugs that happened internally at Rockstar as the game was being made.

0 views
David Bushell Yesterday

I was wrong about dark mode

Apple invented dark mode again! They’re calling the new feature Adaptive Dark Mode ™ . I’m learning that other browsers already had a similar feature . I assumed people relied on add-ons like Dark Reader (and millions do). Regardless, pushing what is effectively an accessibility option to the forefront goes a long way to help people respect it. My site used to have dark mode but I wasn’t happy with my colour choice and implementation. I redesigned my site back in Feb and removed it. Later I experimented with colour themes which I’ve since adapted for alternate blog banners . In that experiment I said: Personally I prefer reading with a dark theme for long-form content. Dark is not my brand though and I don’t believe every website needs to support colour scheme preference automatically. A good browser has reader mode, I use that all the time. “Just enabled reader mode!” What a load of rubbish. You have to understand that sometimes I just write stuff and I don’t read it back. This also contradicted my previous statement: That said, in [current year] brands with a digital presence — all of them? — should have a colour scheme for both. That’s probably more true. Certainly websites must work for forced dark mode. (Any site forcing itself upon users should go straight to jail.) So either provide a dark mode, or be prepared to test against every adaptive and forced dark mode implementation, or just let your website look broken. Probably easier to design a dark mode then? So that’s what I did, again. Maybe you noticed? If not, there’s a toggle button up top. At the risk of weighing in on the conversation I’ve opted for a two-state single button. I default to system preference. The mystery button flips between light and dark. Want to return to system default? Tough luck! You shouldn’t have clicked it. Delete local storage nerd! Technically I’m using a registered custom property with container style queries because it looks like fancy modern CSS. Three at-rules! Most of my light/dark theming is done by customs properties. The default light colours (A) are set on the root element. A style query applies the dark colours (B) on the element. For edge cases that don’t follow the A/B rule I can use one of two techniques. Either a style query inside a specific component: Or use the function: Note that I set to make aware of the user’s choice that might override their system preference. I wonder if I can do this once: Is that safe? Let me know! It’s not safe to do on the root element because browsers checks that for adaptive dark mode etc. I’ll stick to the verbose style queries for now until I’m sure. There’s a sprinkle of JavaScript to use local storage for the toggle button. It’d be better to use a cookie and a server-side template. My website is hosted on a static CDN and I’m not adding edge worker latency, so I’ll risk Flash of inAccurate coloR Theme (FART) . My site only risks a FART if a user’s choice doesn’t match their system preference. A week into my Noscript November experiment I see most websites are prone to a big FART because they rely entirely on JavaScript to enable dark mode. I’m not happy with my button using a hidden label. Bit of a design failure I need to address later. My original goal was to have multiple themes but I ran out of time. At the risk of soliciting replies to a question I didn’t ask, I would like your feedback on my choice of dark mode colours! Do they look nice? I don’t care whether dark mode makes your eyes bleed (turn it off) or you absolutely must have a 4-dimensional toggle. Stephanie Eckles wrote about the same CSS technique I use. Dave Rupert has explored the with variations. I saw Una Kravets is using with style queries to do something extra fancy. Stu Robson has written in depth on dynamic colour schemes too. If you read this entire post in an RSS reader and never clicked through, what a power move! Thanks for reading! Follow me on Mastodon and Bluesky . Subscribe to my Blog and Notes or Combined feeds.

0 views
nathan.rs Yesterday

Can a Linear Program Do Weight-Space Programming?

Last week, MIT CSAIL published Sparks of Weight-Space Programming . Given the raw weights of a small network, GPT-6 Astra could tell which game it had been trained to play. Given only a game’s rules, it could write the weights of a small network from scratch and beat networks trained with PPO for 100 million steps. No gradients, no training loop, just reasoning about what the weights compute. They coined this weight-space programming .

0 views

When There Are Wolves Again

Lucy was a child during the 2020 pandemic, living with her grandmother and watching the chimney swifts swoop into their tiny homes. Hester was born on the day of the Chernobyl explosion; years later, she visits the site to film the feral dogs surviving in the exclusion zone, and the doctors working to care for them. She will smuggle a pup back home with her, finding that keeping herself alive means keeping well this tiny charge. Through horrific heat waves and uprisings, both women live through the wreckage of systems and bodies that climate change brings. Until one day they find each other, and find that where there are wolves, there is hope for another day. View this post on the web , reply via email , or become a supporter .

0 views
Brain Baking Yesterday

On Receiving Letters

In my beginners guide to writing snail mail , I hand out a few tips for getting started with letter writing as a lovely way of conversing with friends and strangers. I’ve sent 21 letters since then, but the fun doesn’t stop there: receiving a reply is just as exciting. Many people dismiss letter writing as a thing of the past—an activity one engaged in when one still had the time to sit down and write. The more society sped up, the less letters are being written: just send a quick email instead. Or wait, no need to even open up your emailclient: just send a quick instant message using your favourite messaging platform instead. But as we turn towards digitised tools to communicate, we also implicitly accept the standardisation that comes with it: the symbols being translated into ones and zeroes can be styled using your client’s font preferences, and sometimes we receive attaches, but that’s about it. When you send or receive a letter, you send or receive a filled canvas . That work of art is the result of a burst of creativitiy, not the outcome of keystrokes on a keyboard. In other words, you are exchanging artworks . A few examples might help here: One of the envelopes I received turned out to be a recycled map from Direkt Recycling. Once you open these, a portion of a map reveals itself, but there are also envelopes you can buy with these on the exterior, such as the following design available through shops such as Polly Paper . DRP DL Landkarte 10 Design-Kuverts Direktrecycling. Finding such an envelope in your mailbox is much more exciting than hearing the new mail jingle coming from your computer. The excitement doesn’t stop there. Receiving letters also provides the opportunity to admire the postage stamp and postmarks created by the sorting offices to encode the address and postage date. As mentioned in my previous article, here in Belgium you can design your own postage stamp—or of course buy one of the themed sets to decorate the top right corner of the envelope. None of these things are hard requirements for letter writing: a generic stamp of our favourite monarch will do. Yet it makes receiving a letter all the more fun. I keep a dedicated postage stamp page in my current notebook to collect the neat ones I received. Once that one is full, I’ll make a note of the page number where a new stamp page has been made to create a linked list enabling quick hops between those special pages. Of course, exchanging multiple letters with the same person yields predicable stamps. It’ll take 16 more before my Super Mario Land 2 ones are out. Left: notes on a biography of Blaise Pascal. Right: a dedicated postage stamp page. It’s always a treat to receive a letter, but it’s not just the letter itself that’s the treat! Some of those sorting office postmarks come with little decorations that I try to preserve as well, such as the post horn left of the German Start Trek stamp and the Freedom 250 circle of stars one on the round USA one. I’ve been told that in the inner philately circles these are called “cancelling marks” as they prevent you from reusing a stamp on the next envelope. Today I also learned that there’s an entire club dedicated to not collecting stamps but these postmarks (USA’s Post Mark Collector’s Club or the PMCC) and a museum preserving early marks . I’m very much a newbie when it comes to these things so I have no idea whether a PMCC-esque network exists in the EU. Please help me become a true philatelist! One of my pen pals writes on an old school Olivetti typewriter. When my wife dug up her late father’s carefully preserved typewriter, it turned out that it was the same model! The ink ribbon might need replacement but I’ll save that for another post. Typing with ten fingers on that thing is next to impossible. After a few attempts to compile a letter with the typewriter I reverted to one of the trusty fountain pens. Too much backspace misery. If you want to learn more about envelope sizes I recommend reading the story of Terry Smith the Envelope Cutter over at Spitalfields Life: Envelopes, especially of the brown manila variety, are mostly mundane objects that people prefer not to think about too much. But, at Baddeley Brothers, they make the envelopes of luxury and the envelopes of pleasure, envelopes with gilt crests embossed upon the flap, envelopes with enticing windows to peer through and envelopes lined with deep-coloured tissue – envelopes to lose yourself in. This is envelope-making as an art form, and Terry Smith is the supreme master of it. We need more lovely articles like that. I stumble upon these posts using Marginalia Search by the way, not using Google et al.Happy letter sending & receiving! If you’re still looking for a pen pal, be sure to drop me a (digital and then later hopefully analogue) note. Related topics: / letter writing / By Wouter Groeneveld on 9 November 2026.  Reply via email . Handwriting, pen, and ink/colour combinations always result in a unique letter. You can add stamps, paste stickers, mini-printed photos , washi tape pieces, … on there. You can write in any angle, add postscripts, use a marker to highlight words or sentences, … You can send along photocopied pages of books you’re discussing. You can cut out things and use that to decorate the letter, or use it as a basis of the letter. You can send along tea bags that fit in an envelope for the receiver to enjoy. Can you do that using email? Didn’t think so. You can decorate the envelope itself. You can create the envelope yourself using original recycled material.

0 views