Latest Posts (20 found)

The Fruits of AI

Terry Godier has a post titled “Mea culpa” (which, given his framing, might’ve been better titled “Claude’s Culpa”). I’m not sure how much to even trust anything in his post given the backstory , but this line stood out: I was careless in relying on AI [...] without doing the work to understand Let’s face it: carelessness is the grain of AI. It’s what the tool encourages and makes easy by default. Without constant vigilance and deliberate, active participation to cut against this grain — to maintain an understanding — careless outcomes are the default fruit of AI. And given how good humans are at being constantly vigilant and deliberate, it seems reasonable to expect more stories like this one. To analogize, AI is pitched like having your very own fruit tree. “Plant a seed, and soon enough, boom! Yummy, juicy fruit for you! So fast and easy!” But, like most things, it’s not that easy. Getting good fruit requires all kinds of effort: planting, fertilizing, watering, pruning, thinning, cutting out disease, etc. Good fruit requires cultivation and care. Otherwise you’ll just end up with something that looks like a peach, but when you (or someone else) bites into it, you realize it’s disgusting and barely edible. Reply via: Email · Mastodon · Bluesky

0 views

nixpkgs-multiverse is audacitymaxxing

Every package manager on earth picks one version for you. Nixpkgs picked one too. It never had to. I shared nixpkgs-multiverse recently: one flake input that hands you every version of every package that ever shipped in Nixpkgs. I love how unbelievable audacious Nix lets me be, audacitymaxxing . As of this writing, you have access to 31,783 packages and 304,484 distinct package version pairs pulled from 1,537 revisions. 🤯 The fact most distributions only give you one version of each package is not a bug. It is often considered a feature: a single self-consistent set of software that boots and runs together. It falls directly out of a shared global filesystem, the filesystem hierarchy standard (FHS), like , and . The purpose and existence of Nix is to eschew from that convention and allow multiple versions of the same package to coexist. Nixpkgs is a distribution built on that capability, and yet, it has been doing the same thing as every other distribution: picking one version of everything. nixpkgs-multiverse only supports, at the moment , top-level attributes that are packages but already the sheer volume of installable software dwarfs . 1 Nix’s answer to the FHS was audacious in 2003 and is still audacious now. A package lives at , where the hash is derived from every input that went into building it: the intensional model . How audacious are we? How about 246 distinct CPython versions, from 2.6.8 forward, all installable side by side, all built and cached, all addressable by version number instead of commit hash. 2 To re-iterate, these are distinct versions of CPython, including their transitive dependencies. There is no or or that is shared between them. 3 They work just as reliably as when they were first released, and they are all still installable today and can be substituted from the cache. People want to pin to a version. Upgrading software can be disruptive, and some people have to stay on a particular version but that should not impede the rest of the world from moving forward. The nixpkgs-multiverse helped solve one of the oldest devenv.sh issues, cachix/devenv#16 , the desire to pin a specific package. “It is not really practical to pin a separate version of nixpkgs for every different version of a tool needed in a dev environment. Normally we have at least 20-30 different tools all with a specific pinned version that we would want to specify.” – itpropro The issue, “Pinning a specific package”, was opened on 2022-11-10 and is now closed. devenv now documents the multiverse as the solution. 💪 The audacity of the multiverse is not technical. Nix took care of that. There is no clever trick in here; it’s 5 MB of JSON, about 200 lines of Nix and a behind a memo table. The audacity is in the premise. Two smaller things landed that I like and which was driven by feedback from the community. A soak period. gives you the whole of as it stood N days before an anchor, a cooldown window, in the spirit of Determinate Systems’ cooldowns , except the anchor can be any selector takes. Provenance. Every package set carries where it came from, so a you were handed can be interrogated rather than guessed at. The data was fetched from the Repology repository size map.  ↩ The data for other distributions was fetched from Repology .  ↩ Unless they happen to dedupe due to their hash.  ↩ The data was fetched from the Repology repository size map.  ↩ The data for other distributions was fetched from Repology .  ↩ Unless they happen to dedupe due to their hash.  ↩

0 views

Valley Fold Ltd

I’ve already announced my new company half a dozen times by now. I figured it was about time I gave real details, so here’s the name and logo! Valley Fold is my new home for professional services… once I’ve finished the website. I’m not one for big splashy launches, I’ll probably just hit deploy and let people discover it. The brand and logo were designed by my very patient friend at Axia Create . George and I worked on concepts for several names, all of which I pre-emptively bought domains for (…ouch). Following feedback from trusted peers a clear winner stood out. Valley Fold happened to be the only name we both independently scribbled down early. For those unfamiliar, “valley fold” comes from origami, an art form that has partially defined my aesthetic since college days . (The website may have some spiel to explain.) After the grueling task of my indecisiveness — we’ve been discussing this for a year — George is away on holiday. That leaves me guessing how he designed the logo. Probably like this: I’m joking, obviously. That’s nonsense. The logo fits on a square grid. It’s a custom logotype adapted from an existing font. We created a new “V” and “Y” and tightened the corners across all characters. The “L” were narrowed and kerning snaps neatly to the grid. More importantly, I love it! I’ve been secretly rocking the logo as a web button all month. I had fun pixel aligning the logo at such a small size. The tail of the “Y” is offset to the left to avoid anti-aliasing. The web button side quest has delayed the actual website. I’ll show more of the brand when version one of the website launches. I’m aiming for early September. I’d like to spend months designing the perfect site but client work takes precedence. Thankfully I’ve been busy. I have to get something online soon though. The nice thing about websites is that you can redesign them again and again. Valley Fold is a big change but also a little one because my services remain the same. I’ve been making websites for coming on two decades now. Websites for real people! I plan to keep doing that for many years to come. Thanks for reading! Follow me on Mastodon and Bluesky . Subscribe to my Blog and Notes or Combined feeds.

0 views
Unsung Today

A bug becoming a feature (1972 edition)

= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-bug-becoming-a-feature-1972-edition/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-bug-becoming-a-feature-1972-edition/1.1600w.avif" type="image/avif"> I just learned something fun this weekend. The seminal videogame Pong from 1972 looked like this: But there was a problem . Here’s Al Alcorn, the designer/​engineer of the machine: The paddles on the original Pong didn’t go all the way to the top. There was a defect in the [circuit] – I used a very simple circuit, I had to, to make the paddles, but they didn’t go to the top. This meant that there could be situation where the ball sneaks up past the paddle at the very top of the screen, and the player cannot do anything to stop it. You can see it in this video : But Alcorn decided not to change that: I could have fixed it, but it turned out to be important, because if you get two good players they could just volley and play the game forever. And the game has to end in about three or four minutes otherwise it’s a failure as a game. So that gap at the top, again – a feature. So that was sort of a happy accident. “Happy” primarily in the context of the industry – the goal of an arcade game was, after all, to bring in quarters, and this here was the unexpected equivalent of the zero in a casino roulette game. But I wonder if some of this bugginess/​randomness also helped the game feel challenging and surprising, even for skilled players. #bugs #games

0 views

On content, writing, and art

Yesterday I was emailing with the always lovely Robin Harford, who has a wonderful website over at eatweeds.co.uk . We were discussing the sad state of the web, and wondering what can be done to prevent Google and the others from abusing our content. And within that discussion, he mentioned his hate for the word “ content ”. He’s not the only one who feel that way; I’ve seen quite a few people mentioning this issue of the use of the word “content” to describe the product of someone’s creativity. As I said to him via email, I don’t have the same issue with the word, but that’s maybe because I’m not a native speaker and to me “content” doesn’t carry a connotation of any kind. If you say “content creator” , though, that’s a different story. He used the word “art” to describe the product of his work, and I have no issue with that. He’s a writer after all, and writing is an art form. My 5 years of high school were spent at an art school, studying traditional goldsmithing, as well as art in general. And maybe this is how my brain is wired, but to me the word “art” usually isn’t attached to written content. I also don’t consider myself a writer . Which is funny because when I get asked to describe what I do the most succinct definition I often use is “writer of code and words” since that is what I spend my time doing in front of this screen. But reflecting on the use of these words made me wonder what even is this thing I’m doing here on this site. This is clearly writing and, therefore, I am a writer. But in that case, we’re probably all writers. We all text and send emails and post online. Are we all writers? What makes a writer a writer? The medium? The length? The meaning? The time spent? As I said to Robin via email, I think of what I do here as public emailing. I sometimes have thoughts appearing in this brain of mine, and I decide to share them in a way that’s public. These are attempts to communicate, to make connections, to encourage dialogue. But maybe that’s also what artists try to do with their art? As always, many questions, not as many answers. Thank you for keeping RSS alive. You're awesome. Connect via email :: Sign my guestbook :: Support for 1$/month

0 views
Stratechery Yesterday

Nvidia’s Risky Business

Listen to this post : On January 1, 1870, Jay Cooke, hailed as an American hero for his role in financing the Union effort in the Civil War, signed a contract that would, if you squint, lead to world war. In 1864, Congress had created the Northern Pacific Railway Company with the goal of linking the Great Lakes and Puget Sound with tracks that would eventually run from Duluth to Tacoma; the charter included 40 million acres of land adjacent to the proposed line in exchange for accomplishing the build-out. For the ensuing six years, however, Northern Pacific struggled to secure financing, even as the Union Pacific and Central Pacific railroads built towards each other, driving the golden spike linking Sacramento and Omaha in May 1869. Northern Pacific had approached Cooke about funding in 1866, but lacked the generous federal guarantees that undergirded Union Pacific and Central Pacific (which, it should be noted, led to an incredible amount of graft); Cooke, himself no stranger to the financial power of the federal government, wasn’t interested. Ultimately, however, Northern Pacific gave him an offer he couldn’t resist: a commission of 12 percent on every bond, and $200 of Northern Pacific stock for every $1,000 in bonds he sold. Cooke soon found that his institutional peers agreed with his earlier refusal, and weren’t interested in his bonds, so he leaned on the same tactics he honed selling war bonds: appeals to patriotism, control of the media, and promises of railroad fortunes, backed by industrial-scale distribution. At the peak Cooke employed 1,500 salespeople and funded 1,300 newspapers (through a combination of advertising and direct payments) with a brand burnished by the Civil War. Retail investors could already buy railway bonds; Cooke made them his primary funding mechanism. This was, to be certain, an incredible innovation. It used to be the case that if you couldn’t get loans from the government or from banks, you couldn’t get much money at all. The problem was that Northern Pacific’s capital needs were endless, and by September 1873, as credit tightened worldwide thanks to a crash on the Vienna stock exchange and the demonetization of silver, Cooke, who had been funding Northern Pacific from deposits in between bond issuances, could find no more buyers. The subsequent bankruptcy of Jay Cooke & Company triggered the Panic of 1873, culminating in endless railroad bankruptcies across the country, a multi-year depression, multi-decade deflation, and, one could argue, the financial conditions that made Europe, four decades later, into a tinder box. Northern Pacific did eventually finish their line, by the way, with multiple bankruptcies along the way; ultimately, they were one of four railroads that were merged to form the Burlington Northern Railroad. Burlington Northern would eventually merge with the Atchison, Topeka and Santa Fe Railway to form BNSF Railway; Berkshire Hathaway would purchase the parent corporation in 2009. If this story sounds vaguely familiar it might be because Cooke is — for obvious reasons — a central character in Liaquat Ahamed’s new book, 1873 , released earlier this year. Ahamed is not shy about drawing a link between the collapse of the railroad buildout and the current AI moment; the book’s very first page — even before page 1 — is about translating sums of money, and concludes thusly: In order to grasp the true significance of sums of money that relate to the economic situation of whole countries — such as the size of the indemnity imposed on France after the Franco-Prussian war — it is most useful not simply to make allowances for changes in the cost of living but instead to adjust for changes in the size of economies. To translate such figures into comparable 2026 magnitudes, multiply by a factor of 1,200. Thus the $500 million that went into U.S. railway bonds annually during the boom years of the early 1870s would today be the equivalent of $600 billion, roughly what is projected to be invested by major tech companies in 2026. Microsoft CEO Satya Nadella is certainly aware of the connection: he cited 1873 as “the book to be read” on the company’s recent earnings call . Perhaps it’s not a coincidence, then, that Microsoft, alone amongst the hyperscalers , still boasts substantial free cash flow — $19.6 billion last quarter. Microsoft is the one hyperscaler still abiding by the dictum used to deny the existence of a bubble: its CapEx isn’t funded by debt. This was, believe it or not, a defense that could be used for nearly all of Big Tech a year ago; then, between September and November, Oracle, Meta, Alphabet, and Amazon issued a combined $80 billion in debt for building out infrastructure. That was only the beginning: after raising a combined $108 billion in all of 2025, these four companies have, as of July 7, already raised $194 billion this year. Unsurprisingly, spreads are rising, and 86% of the bonds issued this year are already trading at higher yields than at issuance. Cover for recent issuance has fallen to less than 2x, from 5x in February. The real shock, however, came at the beginning of June, when Google announced it would raise $85 billion in equity, including a special $10 billion issuance to the aforementioned Berkshire Hathaway. I wrote at the time in The Google Capital Company : It is worth noting that $10 billion is a relatively small amount of money to both companies. To that end, perhaps the primary utility is as a signaling mechanism. On Google’s side, the signal is that the expected demand is actually far greater than anyone thinks, and that the company is ready and willing to fund supply using all means at its disposal, including equity; for them Berkshire Hathaway’s investment is an endorsement of this view and a validation of the wisdom of the investment. And, on the flip side, if the signal is correct, then Berkshire Hathaway is getting a deal and putting its cash flow machines to work building the future. I concluded: Implicit in this analysis was that there was enough compute capacity in the world to be bought; what happens, however, when and if there isn’t? What if the ultimate battle — the one that determines who gets compute — becomes a matter of who can bring the most cash to bear? And what if that advantage compounds, such that the company with the most cash capacity ends up with the most compute capacity (which we already know they will sell, in addition to using themselves) driving the ability to generate more cash? In that world, what company would be your best bet? The implied answer, of course, was Google. Google right now is no one’s bet, at least in terms of the frontier. After the departure of DeepMind CEO Demis Hassabis (technically promoted to chairman, but no longer in charge of day-to-day operations) and Gemini co-lead and former Chief Scientist Jeff Dean, along with a host of other prominent researchers, SemiAnalysis declared that Gemini is Cooked : For all intents and purposes, we believe DeepMind is no longer a frontier lab. We said as much a few months ago to our Tokenomics clients due to large numbers of departures from their reinforcement learning teams and poor compute allocation. Google will continue meandering on and releasing models, but their odds of reaching SOTA again have dropped to zero. Furthermore, the biggest beneficiary of today’s news is neither Anthropic nor OpenAI—it’s Google Cloud. Whereas Gemini and GCP used to desperately fight for compute allocation, it’s now clear that Thomas Kurian won. We expect GCP revenue growth to meaningfully accelerate as a result. From later in the post: We’ve obviously been quite bearish on DeepMind thus far, and if we had to steelman the case for why they’ll still be able to train a true SOTA model in the future, it would go something like the following: Perhaps there’s some world in which this happens, but we think the odds are basically zero. The issue with Google was not Jeff Dean nor Noam Shazeer, but rather their extremely bureaucratic, painfully slow, and strategically timid culture. Remember that DeepMind had an AI chatbot 1 year before ChatGPT but was not allowed to release it due to fears of disrupting their core business. Actually, you could make the case the problem was also Hassabis and DeepMind. I explained in an Update after Google I/O how Hassabis’ vision of the frontier was fundamentally different from the other frontier labs because he believed in world models, not just text/code, and concluded: What falls out of [Hassabis’ vision] are models with multimodality — in contrast to Claude, which outputs text only — and, it must be said, not nearly as impressive coding capabilities. This gets at the point of this entire digression: I think it’s possible that the reason Google is widely considered to be behind both Anthropic and OpenAI in terms of coding, particularly long-running agentic workflows that depend just as much on the harness as the model itself, simply comes down to their research team having other priorities. That’s why the coding parts of this keynote fell on the Antigravity team, not DeepMind, and why Hassabis was barely on stage. From this perspective, last week’s events are less surprising, and were arguably foretold at I/O: Hassabis might be right about world models being the path to AGI, but Google has run out of patience in terms of letting him find out; Google co-founder Sergey Brin is reportedly deeply involved and closely allied with Koray Kavukcuoglu, the new DeepMind CEO, and I wouldn’t be surprised if the company is pivoting to Anthropic’s more text- (and thus code-) centered approach. What is fascinating about Google’s position is that these machinations do not necessarily mean the Berkshire Hathaway bet was a bad one; indeed, it’s arguably good news. This is what the SemiAnalysis article was driving towards, and it’s a point I made last week about Google’s recent earnings : The story seems to be very similar to last quarter , with even more Google Cloud growth: 82% year-over-year (compared to 63% last quarter, and 32% a year ago), with 36% margins (compared to 33% last quarter, and 21% a year ago). I wondered then how much of this growth was actually Anthropic, and while we didn’t get clear confirmation this quarter, I thought this answer from CEO Sundar Pichai on the earnings call about why Google needs to rent 3rd-party capacity was notable: I think on the bridge deal, the main thing I would say is, look, there are — on the margin, there are very, very large customers of ours on Cloud who we are trying to support them through this extraordinary moment. And the incremental opportunities they are bringing to us, while a short‑term cost over a few months may be very high, in the lifetime of the deal, as we bring more capacity on, is highly ROI‑positive. So those are factors we are taking into account. So are you willing to take upfront a six‑month deal to be able to serve the customer in what is a multiyear opportunity where the margins and the returns are very, very attractive over that multiyear horizon? So hopefully that gives some color on how we’ve thought about those opportunities. That customer is almost certainly Anthropic. Again from SemiAnalysis: More than 20% of total TPU shipments from 3Q26 to 4Q27 are being sold directly to Anthropic. This is excluding the hundreds of thousands of TPUs GCP already rents to Anthropic today, and the many hundreds of thousands more they’ve committed to rent to Anthropic and Meta over the next 6 quarters… If you’ve ever listened to an interview of Google Cloud CEO Thomas Kurian, you know he is not AGI pilled. In one podcast , for example, he argued that it’s great for TPUs to become “general purpose infrastructure” that supports customers like Citadel, the Department of Energy, and generic high performance computing. And when asked why he was selling compute to Anthropic despite them competing with Gemini, he said this was the natural consequence of Google being a “platform company.” Kurian said the same thing to me in a Stratechery Interview : We sell different parts of our stack. One of the things people don’t realize is we monetize many different parts of the stack in different ways. Like Anthropic, there’s a lot of labs that use our stack — in fact, most of the large AI labs use our stack. So if somebody uses TPUs to either to train their model or to use it for inference, we’re monetizing that part of the stack, that gives us resources to then fund our R&D and other investments. Some of the labs use our TPU and our Gemini model, others may use our TPU and then buy our cybersecurity protection for their models. So as a platform player, we have to allow our technology to be monetized in as many ways as possible and we don’t see it as a zero sum. We’ll see how zero sum compute actually is — there are reports Google’s researchers have been starved for compute — but the overall takeaway is that whether or not Google is competing for the frontier, they are absolutely competing to dominate AI infrastructure. And, in a world where intelligence is a commodity, TPUs in particular are a big deal. Last month, in Who’s Afraid of Chinese Models? , I talked about commodity markets in the context of frontier labs versus everyone else; in commodity markets marginal costs are determinative of not just profitability but also viability, and I made the case that the frontier labs are well-positioned to have superior cost structures for any given unit of intelligence. That cost structure, at least for now, includes the cost of renting compute, and it seems likely that TPUs are cheaper than Nvidia GPUs; Anthropic may have built for TPUs (and Amazon’s Trainium chips) because only Google and Amazon had the wherewithal to fund them, but at this point that ability may very well be a significant advantage. The fact that Anthropic is straight up buying TPUs for its own data centers (converting compute costs from marginal costs to capital costs) suggests that is the case. What is notable is how amenable Google is to share, even at the price of needing to issue equity. This, however, fits the Berkshire Hathaway model that I wrote about in The Google Capital Company : One of the businesses Berkshire Hathaway used the See’s profits for was on the opposite end of the spectrum in terms of capital utilization: BNSF Railway. Railways require a lot of capital to operate; BNSF consumed $3.8 billion last year; they also make a lot of money: BNSF’s net income was $5.5 billion on revenue of $23.4 billion. To put that in perspective, the total amount that Berkshire Hathaway has made from See’s Candies is probably less than $3 billion (the last disclosure was “over $2 billion” in 2019), i.e. less than BNSF made last year… In fact, you can make the case that Abel is actually just replaying Buffett’s strategy, only this time Berkshire Hathaway is See’s Candies, and Google is BNSF. At the end of last quarter Berkshire Hathaway had $373 billion in cash, and $25 billion in free cash flow in 2025. How many companies could actually employ that cash in a way that generated a high rate of return? It’s hard to imagine a better option than Google. The company is not only investing in AI, but has optionality in terms of outcomes: its Services business benefits from the investment, it is in contention at the model layer with Gemini, and it can sell capacity to the frontier labs. Moreover, that capacity has a sustainable cost advantage because of TPUs, which means that in a world where compute becomes a commodity — as hard as that is to imagine right now — Google is the hyperscaler that is poised to make the most profit. Notice that I didn’t say margin; if that were Google’s concern they would almost certainly be making different choices. Profit, however, is an absolute number, and Google is bringing everything to bear — first its cash flow, then its debt, and now its equity — on making money from the infrastructure build-out. Today corporate executives and financial engineers don’t need to control newspapers; thanks to his new X account , Nvidia CEO Jensen Huang can go straight to the public. From an X Article posted last night: NVIDIA AI Factory Compute Is Becoming an Investable Asset Class Today, we announced partnerships with Apollo, BlackRock, Blackstone, Brookfield, Goldman Sachs and KKR to establish independent financing platforms designed to mobilize over $500 billion of third-party capital to support the buildout of AI infrastructure over time. This is a major milestone for NVIDIA and the AI industry. We have moved from an era in which companies bought chips and built data centers project by project to one in which AI factories can be financed as productive infrastructure — with repeatable platforms, long-term institutional capital and a diverse customer base that uses compute to create revenue. AI has reached an inflection point. It is moving from research into production. AI is creating real value, and the infrastructure behind it is becoming one of the world’s most productive assets. In AI, compute is revenue. Huang argues that Nvidia-based AI factories are fungible, protecting residual value, and that CUDA makes AI factories better over time, extending their economic value; according to Huang: These are the characteristics of an investable infrastructure asset: it produces revenue, serves a broad market, improves in performance over time and can be redeployed. Thus the attempted formalization of a new investment structure: The demand for AI infrastructure is extraordinary. But access to capital is uneven. Many great AI companies, enterprises and AI clouds have demand for compute but do not yet have access to financing at the scale or cost required to build quickly. That is why we are partnering with the world’s leading long-term capital providers. Apollo, BlackRock, Blackstone, Brookfield, Goldman Sachs and KKR are also among the world’s leading infrastructure investors, with deep expertise in underwriting long-lived, productive assets. Together, we are creating repeatable financing platforms to help the AI ecosystem build the factories it needs. What Apollo et al. are, are new sources of capital beyond the investment grade debt markets. In that sense this proposed structure is somewhat akin to Google’s equity issuance: a way to secure funding beyond bonds. The difference, however, is stark: whereas equity dilutes the upside for investors without adding risk to the company, this structure preserves Nvidia’s margins by finding new pools of capital willing to bear risk. It’s not a total free ride for Nvidia: the company is backstopping opportunities with up to 25% residual-value based financing, suggesting that Huang believes his “investable asset class” pitch much more than the market does. That is, in a certain sense, a price cut, as the goal is to reduce the cost of capital for entities building data centers with Nvidia chips, by putting Nvidia’s profits on the line for uncertain investments. That guarantee is downstream from Google’s (and soon Amazon’s ) aggressiveness: why build a data center with Nvidia chips if you can buy TPUs or Trainiums (Nvidia chips are likely better, but if the constraint on new data centers is capital, lower up-front prices may matter more than token efficiency). Nvidia’s bigger problem is one that has been apparent for a long time; I wrote back in 2024 : In the before-times, i.e. before the release of ChatGPT, Nvidia was building quite the (free) software moat around its GPUs; the challenge is that it wasn’t entirely clear who was going to use all of that software. Today, meanwhile, the use cases for those GPUs is very clear, and those use cases are happening at a much higher level than CUDA frameworks (i.e. on top of models); that, combined with the massive incentives towards finding cheaper alternatives to Nvidia, means both the pressure to and the possibility of escaping CUDA is higher than it has ever been (even if it is still distant for lower level work, particularly when it comes to training). The situation today, with Anthropic and OpenAI appearing to pull away, is even more problematic: Anthropic has not been dependent on CUDA for years, and OpenAI is moving in that direction, at least for inference. If those companies win then Nvidia’s profits will be squeezed — indeed, the implication of that backstop is they already are (this, needless to say, is why Huang’s first post was an open letter in defense of open models). This might not cost Nvidia anything in the end: if AI revenues truly take off, then the debt markets will open back up, and ultimately companies will go back to funding infrastructure investment through free cash flows. Right now, however, is the danger zone, as hyperscalers blow through the debt markets and Google at least starts to tap equity. To the extent Nvidia competes through novel funding mechanisms that, at the end of the day, draw on things like insurance floats and pension funds and other long-run liabilities that are the bread and butter of the asset managers the company is partnering with, the risk — unmarked, unlike equity — is considerably higher. That’s why I started with 1870 and Cooke’s ill-fated agreement with Northern Pacific. Yes, the upside the deal afforded Cooke was incredible, but it was incredible for a reason: it was very risky, and pioneering new funding mechanisms only served to spread the pain when it all blew up. It’s one thing to spend all of your free cash flow; it’s another thing to tap the debt markets. And, beyond that, it’s a completely new nerve-racking thing to bring safety-seeking assets to bear. AI better deliver before it’s too late. The current setup clearly wasn’t working. With the existing leadership team, their odds of catching up to Anthropic/OpenAI looked extremely slim. Now that they’ve cleaned house, the new guys can start from a blank slate. Maybe they’ll even acqui-hire a neolab like SSI or Thinking Machines. With this new team, their odds of catching up to the frontier actually increase.

0 views
Xe Iaso Yesterday

Extending immutability: deletion without losing data

Tigris has a pretty advanced replication scheme for writes. What happens when you actually need to delete things? Turns out deleting things is hard in distributed systems. Especially when you have a geo-replicated active-active database like Tigris does. We can (and do) use tombstones to mark where data once was, but how do you let people undo an accidental delete? Tigris wants to turn storage inside out , so our implementation of soft deletion is by giving users the Recycle Bin for objects and buckets. Today we're going to dig into how this works, why it works, and what this gives you in terms of using object storage today. In Windows and macOS, the Recycle Bin (or Trash can) is a form of purgatory where deleted files wait for their storage to be deallocated by the user. This allows users to hit "delete" fearlessly because if they made a mistake they can just drag it back out and go on with life. This works great in your local filesystem because there's only one writer in one region. This kinda falls apart when you have multiple regions in your database and any one of them could be writing to it. How do you name things in the recycle bin? How do you handle the conflict of an update happening in one region before the deletion was fully replicated out from another region? This is the fun of distributed systems, which is the kind of problem space that Tigris lives in. One way to think about how the Recycle Bin works is that the file metadata gets moved there when the user hits delete. No data bytes move around on the disk, but the file doesn't show up in My Documents anymore. In a distributed systems context you can't just move the metadata around, you have to leave a tombstone behind to record where that metadata once was. This prevents other regions from being confused when actions happen really close to each other in time. At a high level, a soft-delete is when a DELETE action doesn't actually remove the data. When data is soft-deleted, it's still there but just not visible in the main usage flow. This lets you get the data back when a delete is made by accident. One of the interesting side effects of designing any API is that you end up leaking the internals of how your database works to your users. Many object storage systems were designed with overwriting or deleting data as one of the primary operations, and as such have had to bolt versioning onto the side. For the most part this does work; but once you get into advanced versioning schemes everything starts to fall apart. Tigris doesn't suffer from the same problems because we built immutability into the core from day one, and in immutable systems you have to append new data on the end instead of overwriting data. At the least, actually storing the data en masse is a boring problem. You put the data somewhere, maybe name it after the checksum of its contents, and then have a daemon make sure it's copied three places. That daemon also handles cases when drives go offline and new ones are added to make sure data is shuffled around the cluster. This is largely a solved problem with projects like Ceph, Longhorn, or other distributed storage systems. Some object storage systems like S3 expose platform internals to make soft deletion work. In S3 deleting an object creates a delete marker (tombstone). A delete marker is an explicit marker that the object is deleted and should not be returned in normal operation. Here's what that looks like in practice: I don't know how I feel about this flow. Based on reading between the lines in the delete marker documentation it really feels like this is a leaked internal implementation detail of how S3's eventually consistent database works instead of a full fledged feature of the storage system. If I had to choose between leaking internal database details in the API and implementing a higher level API for something complicated like soft deletion, I'd want to implement the higher level API. Let's rethink what soft deletes really are. What if they were like the Recycle Bin in Windows? Soft-deletes are external references to buckets or objects that live in a different namespace from normal buckets or objects. We implemented them as external references instead of tombstones because this is effectively moving object metadata to the recycle bin. Tombstones mark the data as not being there, but soft-delete markers are a copy of the data that was there. This makes it easy to put the object back in place if you deleted it by mistake. One way to think about objects and buckets is that they are garbage collection roots for points in the endless sea of data. Any data in the sea without a root anchoring it down is eligible to be deleted. Uploading multiple versions of an object with a forkable bucket creates multiple metadata entries at their different timestamped version numbers. You can then fork a bucket from any one of those timestamps to see what the bucket was like at that point: This would solve the soft-delete problem, but our existing database schema using FoundationDB requires us to enable forking and snapshots at bucket creation time. In essence, we need something that's halfway between what we have (each bucket being a globally mutable namespace) and the bucket forking land of every action being appending metadata onto the end. To do that, we basically implemented most of that appending metadata on the end trick but to a different place: the soft deletion corner. When you enable soft-deletion and delete an object, its metadata gets moved to the trashcan so you can pluck it back into place: It's the same basic idea as the recycle bin on your desktop. Any buckets or objects left in the recycle bin for long enough become eligible to be deleted, which then makes the backend go and securely erase things. Effectively, any bits of metadata in the soft deletion corner are still considered garbage collection roots, they're just not shown when you do a normal call. The real fun comes into play when you remember that Tigris has a globally replicated active-active database where any region can change any object at any time. Most of the time things work out and objects are replicated without too much strife. The annoying part comes when two events are ordered weirdly. Imagine a scenario where one agent in one datacentre deletes an object after another agent in another datacentre: How would this replicate out? Well for one each change is timestamped by when it's done in terms of Unix nanoseconds, so the replication messages kinda look like this: This means that in theory, a user could DELETE an object before an update is processed by another region, and that would make the regions disagree about if the object exists or not. This is a horrible state to be in and usually requires support intervention or to recreate/re-delete the object. The root cause boils down to deleting objects actually deleting metadata from the database doesn't scale past a single region. Updates to metadata include the entire metadata object, so if you delete it locally and a new version is pushed remotely, the object will gain the remote state. We don't want users to have to deal with that, so we added the concept of anti-resurrection to Tigris. Any write to an object must prove it is newer than the deletion. In this circumstance, a user sent a DeleteObject request to the IAD datacentre at time 25, but an agent sent a new version of the object with PutObject to the ORD datacentre at time 15. The user's delete is newer than the agent's put, so the new version is rejected and the delete gets sent back to ORD. Tigris extends the S3 API by having users add headers to their requests. For example, to create a bucket with soft deletion enabled: Or to list soft-deleted objects: Or to permanently delete one soft-deleted version: When you have a soft-delete enabled bucket, you can also forcibly delete an entire bucket: Warning If you use this call on a bucket that doesn't have soft deletion enabled, you have permanently deleted your bucket. Please call this with care. Support cannot help you if you use this call wrongly. And then bring it back from the dead: Object storage entered our stacks as an unlimited FTP server we all used for backups. A distressing amount of the world's most important data lives in object storage buckets because it's the best place to put it. This is why having an "undo" button matters, it's what makes it safe to trust your backups in the cloud. To err is human, and mistakes are a "when" to plan for, not an "if" that you hopefully never have happen. The blast radius of one overly wide flag is measured in years of people's lives. One of the biggest usecases that comes to mind is ransomware prevention. Imagine a case where an attacker downloads everything in your bucket, deletes it, and asks for a ransom to send you the files back. With Tigris, soft deletes means that the ransom can be ignored, you can un-delete your data, and be on your merry way with incident response. The other big usecase is for agents, where they somehow get the idea that deleting production data is the right way to solve a problem. Both cases mean you need a quick and fast way to go back to before things went wrong. If you want true isolation instead of recovery, that's why we have bucket forking . Bucket forking needs to be enabled before a bucket is created, but you can enable soft deletion on any bucket in the dashboard whenever you want. Every storage system is going to make you choose between ones that hide how the platform works and ones that expose the gorey internals to users. I think that hiding the internals and exposing the high level operations built on top of them is the right way to go, if only because the higher level operations are much easier to make safe in our globally distributed future. Enable soft delete on any Tigris bucket, new or existing, and every delete becomes recoverable for up to 90 days. Restoring a whole bucket is one call. Read the soft delete docs .

0 views
Jeremy Daly Yesterday

The Future is for E̶v̶e̶r̶y̶o̶n̶e̶ Meta

Mark Zuckerberg says superintelligence is a few years away and Meta is going to hand it to all of us. Read the essay closely and it's a capital expenditure plan in search of a philosophy.

0 views
Sean Goedecke Yesterday

No, local models will not win

Every time a new open-weight AI model is released, people say that local models are the future. Why spend billions of dollars building out datacenters when everyone will just be able to run AI models on their laptops or phones? I think this idea is doomed. No matter how strong open-weight models get, most inference will always happen in AI datacenters. Local models are never going to be as powerful . I think this point should be obvious: all of the current frontier models (closed and open-weights) are far too big to run on anything but a full GPU cluster in a datacenter. Of course, smaller models are getting more intelligent over time. In a year you might be able to run something about as strong as GPT-5.6-Sol on your laptop. But by then, you’ll think of GPT-5.6-Sol as too weak to be useful. Many people deny this last point, but it’s true: almost everyone’s revealed preference is to use the strongest available model in their price range . If AI progress had stalled at GPT-4, I think we could have built some very powerful tools around it, but who’d use GPT-4 today? As LLMs have gotten more capable, our expectations around them have grown: we now expect agentic systems to be able to solve more and more problems independently. It’s intensely frustrating when they get confused or stall out. When given a choice, people are going to pick the model that frustrates them less, which is always going to be the bigger, more powerful one. On top of that, datacenter models are always going to be cheaper . I don’t understand why people keep saying that local models are cheap: it seems to me to be the same mistake people make when they say that driving Uber is “free money” (ignoring the costs of fuel and wear-and-tear on your car). For the setup price alone of a low-end home lab 1 , you could buy several years of a paid subscription to one of the AI providers. The power costs would come out to around $50-$300 per month, depending on how much inference you’re running: again, the price of a couple more paid subscriptions. Why are datacenter models cheaper? It’s not because datacenter inference is subsidized: inference is actually fairly cheap . If you’re running the same model locally and in a datacenter, the datacenter model will be inherently more efficient . The main reason is batching . A GPU can do hundreds of thousands of mathematical operations exactly as quickly as it can do one. However, for a single user’s inference, each new token depends on the result of the previous one, so it can’t be batched 2 . What can be batched is the inference of hundreds of users together. This costs essentially as much time, power, and heat as just doing inference for one user at a time. When you’re running your own inference at home, you’ve got nothing to batch — at best you’re running a few parallel AI agents — so utilization is terrible. There’s a lot of potential inference that you’re paying for but can’t use: it’s just being wasted. The only way around this is to get together with some friends and expose your local inference endpoint to them (at which point you’re basically running your own crappy datacenter). The other reason is that datacenters have larger, more efficient GPUs to work with . The kind of consumer GPUs you’d run local models on are gaming GPUs like the RTX 4090. A datacenter B200, designed for batched AI inference, gets about three times the flops and just under four times the memory bandwidth for the same amount of power 3 . So between batching and GPU efficiency, you’re using something like ~30x the resources to run your model locally. Incidentally, this is why I’m suspicious of people who say that local models are good because they aren’t as resource-hungry as those big bad datacenters. If you want to run LLMs efficiently, you should be trying to push as much of your use into AI datacenters as possible! Charitably, what they mean is that we should all be running smaller models — but even then, you should ideally be using small models via, say, the GPT-5.6 Luna API instead of hosting your own model. Is there a possible world in which local models win? I suppose so. One thing that could happen is that governments could ban the use of AI datacenters altogether: either due to concerns around the danger of AI, or simply bending to public pressure . In that world, local models would be the only game in town. Alternatively, AI progress might somehow stall for very large models while progressing for small ones. I struggle to imagine how this might happen (barring government intervention, as above), but a world where a 30B parameter model could be a frontier model is a world where local models might be competitive. Or maybe models get so good that a 30B model is genuinely smart enough to do everything, so nobody really needs a model like Opus or Sol unless they’re trying to solve the Reimann Hypothesis. I don’t really buy this. Models can do frontier mathematical work today while still being not smart enough to refactor large codebases as well as me, so it’s hard to imagine a world where I don’t just want to use the smartest model available. I do think there will always be a niche for local models. I’m reminded of the surprisingly simple idea behind Thinking Machines’ “Interaction Models” (which OpenAI also does , because it’s obvious): for latency-sensitive applications like voice chat, you have a small, fast model handle the talking, which delegates to a large, slower model for the hard thinking. I wouldn’t be surprised if most AI use in five years is mediated through a local model on your phone or laptop (though in this world almost all the work would still be done via AI datacenters). Some users will prefer local models even though they’re weaker and more expensive. For instance, being able to steer the model locally might be a killer feature for those users. Others might simply value having total control over their own infrastructure, or have unreliable internet 4 . If you’re one of those people — particularly if you only chat to the models instead of using them for research or coding — local models are a good choice for you. However, I think this is always going to be a niche group. The majority of users will continue to do their inference through datacenters. This link is from a year ago — things are significantly more expensive now. Specifically, the bottleneck is moving the model weights into the GPU, which needs to be done and takes the same amount of time whether you’re doing it for one user’s token or a hundred users’ tokens. I estimated this with LLM assistance, but you can check the numbers yourself from NVIDIA. While still having a reliable power supply and enough money to fit out a home inference cluster. This link is from a year ago — things are significantly more expensive now. ↩ Specifically, the bottleneck is moving the model weights into the GPU, which needs to be done and takes the same amount of time whether you’re doing it for one user’s token or a hundred users’ tokens. ↩ I estimated this with LLM assistance, but you can check the numbers yourself from NVIDIA. ↩ While still having a reliable power supply and enough money to fit out a home inference cluster. ↩

0 views

A noob learns FFT

I have never done any time–frequency transformations. I understand the general idea, but I have never worked with the details. Today I had a reason to use it, but that means learning the basics first. The following is three seconds of a single 5 Hz sine wave, recorded at a sample rate of 100 Hz. (Continue reading the full article on the web.)

0 views
Unsung Yesterday

Linear’s visual key feedback

The task manager app Linear does something interesting I have not seen before. In the keyboard shortcut tooltips, it highlights the modifier keys you already pressed, to give you confirmation you’re on the right track: I think this is nice, particularly given that the modifier key situation is kind of a mess , and particularly if you consider some keyboards present their modifier keys like this: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/linears-visual-key-feedback/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/linears-visual-key-feedback/3.1600w.avif" type="image/avif"> I think it’s valuable to offer a connection between your fingers touching keys and something happening onscreen in real time – similarly how the blinker arrow in your car pulses exactly at the same rate as the sound it makes, to help you connect the two. However, Linear does not do this in all the contexts: While the first two videos might be simply bugs, I am not sure about the last three. It’s entirely possible this was done intentionally because these surfaces – the menus, the command palette, and the keyboard shortcut pane – do not support actually invoking the shortcuts. (Pressing the listed keys would not actually achieve anything.) But I still wonder if this was a good call. One of the most important things for any new systemic pattern is building trust: making sure it’s consistently applied in all the nooks and crannies so that the user can understand what it does, learn to rely on it, and form the habit. Just one place where it doesn’t work might make it easy to just give up on it altogether. Perhaps this is an example of how hard it is to design a cohesive system, which in Linear’s case is compounded by the fact that a lot of shortcuts start with regular keys like G and O and P, exacerbating focus issues. Either way, it’s delightful to see someone doing something new in this space. #above and beyond #keyboard #system design

0 views
ava's blog Yesterday

book: muskism by quinn slobodian and ben tarnoff

Another book I finished in July was Muskism: A Guide for the Perplexed by Quinn Slobodian and Ben Tarnoff. It argues that instead of seeing Musk as an individual or even an exceptional outlier, he should be seen as a symptom of a bigger playbook, something other forces in society brought forward and shaped. Just like Henry Ford is where Fordism gets the name, the authors argue that Muskism is an ideology based on Elon Musk. Musk primarily sells a fantasy: That, if they buy into his walled garden, both individuals and states can be self-reliant, uninterrupted by grid failures, geopolitics and more. This is sold as techno-sovereignty, when it actually makes them rely on Musk himself. He depends on perpetual hype, online trolling/meme warfare, state symbiosis and financial fabulation to convince the public and for his businesses to even survive. In Muskism, everything is code, undesirable people are bugs, and empathy is an exploit. There is a huge focus on vertical integration, lean production, Agile-like processes and being anti-union. Sovereignty is seen as infrastructure instead of just territory, and is much more decided by access to bandwidth, compute, and orbital real estate. Governments everywhere are reliant on few companies to ensure their duties. The authors dive in deep into Musk's personal history: Joshua Haldeman, his maternal grandfather, wrote for the Technocracy Incorporated journal and dreamed of a future in which society was run under the dictatorship of engineers who would allocate resources according to scientific principles. After Canada banned Technocracy in 1940, he emigrated to South Africa with Elon's mother Maye; two years after the National Party introduced apartheid. That is where the embrace of technology as facilitator of self-reliance and hardening of racial inequalities started happening with support from IBM, Ford, and Toyota, as their tech was used, among other things, to count, track, and reallocate Black laborers, enable homegrown industries and nuclear weapons. South Africa was an early "biometric state", where the "Book of Life" identification system recorded racial classifications of every citizen. Pretoria, where Musk was born in 1971, was a prime example of fortress futurism, as it housed the executive offices and government buildings that instated and managed apartheid. As other groups were pushed to segregated townships on the outskirts, the white elite, including Musk, lived in wealthy suburbs like Waterkloof. Black labor was able to be cast aside or drawn from quickly, and entire communities were displaced for cheap industrial sites. Musk's family directly benefited from all of it, and it set the tone for the way Muskism sees most people: As faceless laborers in the background, ready to be added or deleted at a whim, as "NPCs", as he loves to call people. Many of his pursuits relied on state creations and tax payer money: Using free military GPS data for Zip2 maps, using the federally ensured stability of the US financial system for online banking (his attempt at the earlier version of X.com and his resulting PayPal involvement), and the internet, a technology invented by the government. He later grafted himself onto the state via his companies gaining a lot of government contracts: Using the increased military spending and visions of network-centric warfare after 2001 to launch small satellites via SpaceX, and then subsequently getting a $8 million, then a $100 million contract by the DARPA and the Air Force in 2004 and 2005 to build rockets and provide low-cost orbital launch vehicles and services, plus a COTS contract of $278 million in 2006, to name just a few. Later on, this provided the money and power in space to bring Starlink to life, which by 2025, made up about two thirds of all active satellites and is available in over a 100 countries. It also got plenty of government contracts and subsidies, one being $900 million for internet in rural US areas, and a $1.8 billion contract in 2021 for Starshield, a military version of Starlink. Tesla fared the same way, using the fear of foreign oil, the War on Terror and the resulting green/clean tech boom post 2001 to get massive financial funding from the government. According to the book, Diarmuid O'Connell, former chief of staff for George W. Bush's assistant secretary of state for political-military affairs lobbied for Musk and got Tesla a $465 million loan from the Department of Energy in 2008 (under the Advanced Technology Vehicles Manufacturing Loan Program), as without it, Tesla likely would have gone bankrupt. Which means: Taxpayer dollars went to a company that produced a basically unaffordable 100k car with fewer than 200 units in existence back then, just to bail it out. xAI is going the same way of using government money: In July 2025, they announced that they have entered a contract with the Department of Defense to offer a suite of AI products to them. The goal for Musk has always been that governments can only exercise their authority by purchasing services from a monopoly provider, which he tries to be, and at least with SpaceX, is. If the government cedes its sovereignty to an immense degree, it would be forced to buy it back in increments from corporations. Via this government contractor route, his companies can also evade compliance with some regulations. The authors also draw connections between Musk's favorite media and his business decisions as well as product names and more, especially The Hitchhiker's Guide to the Galaxy , Star Trek , Battlestar Galactica , Transformers and Robotech . He would grow obsessed with the idea of colonizing space, and with becoming one with the machine, which can be seen not only with Neuralink, but him saying that to avoid AI killing humanity, humanity has to become one with AI. He co-founded OpenAI with Altman over his AI fears. 2022 is when he increasingly started to share right-wing viewpoints, especially talking about the "woke mind virus". For the first time, he seemed to be very pre-occupied with the problem that, in his previously ideal solution of a merged together, cybernetic intelligence cluster of half human, half AI population, there's a risk that the system could become infected. In an interview, he shared his personal horror scenario, in which AI nannies would go around, see that there are too many white men in power, and go kill some - kill him. His fear is that for once, instead of always targeting other groups, he could be targeted and treated like he has treated them, because of rules that infected everyone's mind and turned them against him; rules that he has no control over. This fantasy is also what got him to buy Twitter, use it as a training ground and invent Grok, the "non-woke" AI and its Grokipedia. It's his idea of a safeguard against an army of AI coming to the conclusion that people like him need to be eradicated. He constantly influences the training data (by pushing his tweets artificially and giving them wider reach) and the training itself (by suddenly proclaiming that Grok is giving too woke answers, and adjusting, leading to events like the MechaHitler outburst). Despite his transhumanist ambitions, he does not consider modifying ones body within a gender transition as a good thing. A merger with AI could be dissolving the boundary between the natural and artificial, but it might open other boundaries like gender to be redrawn. But he actually wants to strengthen traditional social hierarchies, so a humanity segmented by gender, race and class is still possible. Don't forget: One reason why he hates his daughter's transition is because he does IVF sex selection and paid specifically for a male sex. He wants total power over how people function and live. His takeaway from South Africa's apartheid is that some humans are born to rule, others to be ruled, and these are the markers needed for that. That was also a big motivator behind DOGE: See the government as a platform, eliminate information silos that were there to ensure legal and privacy safeguards for privileged information, and then prepare systematic overreach, misuse and surveillance by working on ways to integrate information of different agencies into one database, to better "purge" unwanted people. For example, via the SSA's death master file, which cut off people's access to credit cards and bank accounts by declaring them dead - a form of "financial murder", where the goal was either for people to die or to "self-deport". Efficiency, in this case, became an excuse for centralization, and the Trump administration had no problem with it as it further advanced their own goals and made Musk the fall guy, as he got the blame while most things stayed the same. This entire climate paved the way for Palantir's $30 million ImmigrationOS contract with ICE, which promises near real-time visibility for non-citizens. He relies on this sort of oppression to make his businesses and lifestyle possible. To just name one example: The data center in Memphis powering Grok is in a historically Black neighborhood that originated as a community for emancipated slaves (cheap opportunity for him) and the facility's methane gas turbines emit pollutants linked to asthma, respiratory diseases, heart issues, and cancer. You can be sure that this would not be built in the kind of areas Musk grew up in. This is also visible in his increasing focus on fertility and population numbers, alleging a white genocide or a "Great Replacement". Fertility is actually fine in many countries; it's just not the right countries for him, as they aren't white. This is another remnant of his South African upbringing, in which white politicians in the apartheid era warned of being swamped by Black people and wanted to win the "cradle race" by boosting white fertility, and where it was normal for white people to live in their own settlements and schools away from the rest (as he does, with his own schools for his children). It actually is at odds with the rest of his views, as he keeps talking about robot descendants, merging with AI, and that within the next decade, humanoid robots will outnumber humans ten to one. He seems to facilitate a different kind of replacement, and it leaves you wondering what the supposed difference is between an AI-merged, cybernetically enhanced Black man and a white man, or whether human or robot does the "replacement". Why do white birth rates matter if they are going to be surpassed by robots, and if human labor will be less and less needed in his view? Towards the end of the book, the authors suggest 4 ways Musk could move forward - either a return to clean tech and electrification ("Carbon Musk", unlikely), even more state symbiosis ("Contractor Musk", inspired by Palantir's current successes), focusing harder on segregating from the rest via schools/settlements and on his white genocide bullshit ("Compound Musk", inspired by Bezos and Jon Lonsdale doing the same), or doubling down on AI and robots ("Cyborg Musk", with more Neuralink stuff). The book ends with an idea of what the ideal Muskism future could look like, slightly exaggerated at times I think, for comedic effect? Or because our future has sincerely become ridiculous? I can't tell. But I'm glad I read it. Published 10 Aug, 2026

0 views

Exploring Claude/GPT Knowledge Cutoffs & Pre-training Timelines

We can learn hidden facts about how frontier models were trained by “probing” them with carefully curated requests. By scoring them on niche facts we can approximate how many parameters models like GPT-5 and Opus have, using “Incompressible Knowledge Probes” By measuring how the models break down tokens we can reveal facts about the datasets mixtures they used to train the model (or at least the tokenizer) using “Data Mixture Inference” By scoring them on date or self-identification related questions you can also estimate training timelines ( this post ) Everything here is an estimate. It’s possible that some speculation in this post is totally incorrect given there’s not a ton of publicly available ground truth to verify against. The 3 main stages of model training. As a brief primer (see Alex Wa’s blog for more), how we train massive large language models has converaged into 3 stages: Take a massive amount of general purpose data (aka scrape the internet) and “pre-train” a massive auto-complete model on that data. Use domain-specific “textbook quality” data to improve the base models and extend certain base capabilities like long-text understanding Turn the base model into the “assistant” persona, honing in on its personality, reasoning ability, and tool-calling. While increasingly more compute is spent on post-training for boosting a model’s reasoning and problem solving, one of the most expensive and data-intensive steps is generating that pre-training checkpoint (by ‘checkpoint’ think of a massive file). While all labs operate slightly differently, what you might see (~ page 44 ) is: The “pre-training” team kicks off and babysits a multi-month run to get a base checkpoint. These pre-training models often, but not always, imply major versions of released models (GPT-4 → GPT-5). While that’s happening, the “capability” and “post-training” teams will run experiments for how to improve on the most recent base model. Advancements in post-training and capabilities often manifest as minor versions of released models. These teams often also “distill” a single post-trained model into smaller variants that become model families (Fable/Opus/Sonnet/Haiku, Sol/Terra/Luna). Labs may also release post-trained models from half-baked pre-training checkpoints as soon as x% of the version N+1 checkpoint is better than the 100% baked version N checkpoint. The model released to the public is the culmination of the most recent checkpoint with the best set of capabilities and post-training techniques applied to it. With this in mind, I was curious how much of this process you can “see” just by probing the model over the official APIs. To estimate the pre-training checkpoint dates, I constructed a dataset of daily-facts from Wikipedia (e.g. 2025 in the United States ) and gave every model an 8-way multiple choice quiz on what happened on a given day. Then, by analyzing the error rate timeline, you can see roughly when it loses signal from its training dataset. View the full dataset. For GPT-5.4, you can see the fact-estimated knowledge cutoff is aligned with OpenAI’s published knowledge cutoff. It’s smooth as an artifact of the model being better able to guess near-future events as well as recent in-data events being undersampled during training. This is also why I use the midpoint rather than the start or end of the curve. You can then plot this for all models. View the full dataset. Estimated knowledge cutoffs and published dates. Comparing model curves side-by-side in the full viewer makes it easier to see roughly where the cutoff occurred and how steep it is. After staring at these charts for a bit, here’s what I’m speculating: Anthropic models Opus 4.7 onwards are all from the same training run that cuts off just around late December 2025. This is derived from how they all share a very similar effective knowledge cutoff (green). A core assumption I’m making here is that the pre-training base model completion date is highly correlated with the dataset timespan used, if that’s wrong these results could be off by some offset (e.g. it’s actually Jan 2026). It’s also interesting that Opus 4.7+ models all have a published reliable and overall knowledge cutoff that’s identical — maybe that’s due to a new post-training technique being used? OpenAI’s GPT-5.6 family comes from their own checkpoint, separate from GPT-5.5, that finished around late February 2026. This is derived from how they have a distinct effective knowledge cutoff from previous models. You’ll notice Luna looks like it can predict the future — that’s more of an artifact of it having a high error rate all around at a “low” reasoning effort. Opus 5 is a bit unusual. The published reliable and overall knowledge cutoffs are May 2026 and yet it seems to know nothing more than previous Jan 2026 cutoff models. I did several ablations to test whether it was an artifact of the types of probing questions I used, but not really — the cutoff applies to recall on coding package versions as well. What if you just ask the model what today is? View the full dataset. On the dashed diagonal a model's self-model matches its factual knowledge; below it the model thinks it is living in its own past. Recent OpenAI models are excluded since the API injects the actual date into all requests (TIL! This feature really annoys a lot of folks). It ends up being fairly correlated with fact-based estimates. If you look closely you can see some vertical lines within a few of the families of models. GPT-4.1 nano → GPT-4.1 mini → GPT-4.1 Opus 4.7 → Sonnet 5 → Fable/Opus 5 Interpreting this graph as X = “pre-training corpus” and Y = “post-trained behavior”, these vertical strips (X constant, Y increasing) visualize active post-training on recency-biased datasets. Potentially distillation from old copies of teacher models is what causes smaller models to self-report older dates. You can also make predictions on training timelines and datasets indirectly by looking at who the models think they are. The more a model sees “I am X” in its pre-training dataset, the more likely it is to repeat that when pushed and given no other grounding context. Full dataset. Each row is a real model; each column is a self-claimed identity extracted from 50 “what model are you?” probes (5 phrasings × 10 samples, guess-nudged, no system prompt). Cell shade = share of the model's replies claiming that name; green outline = the claim matches the model's true family (bold outline = exact version — which never happened. Some more neat visuals. After staring at these charts for a bit: Vertical bands show clear patterns of labs training on past-model outputs (from users). For OpenAI it’s GPT-4, GPT-4o, GPT-4.1 for a bit, GPT-5 and “ChatGPT” most recently. For Anthropic it’s 3.5 Sonnet then more recent models swap to Sonnet 4.5. This seems to align pretty well with training on chats from ChatGPT.com and Claude.ai respectively, where users chatted with the latest model and whose sessions became training material (directly or via web contamination). It seems unlikely to me these are coming from internal synthetic datasets given those would be much easier to suppress model identity (vs being embedded in the system prompt in the consumer chat sessions). Training-on-chats isn’t novel information but it is interesting to see expressed literally with probing like this. It’s a bit spicy that OpenAI models never identify as another lab’s model (besides briefly a Tesla Model S) yet Anthropic’s Sonnet 5 will regularly self-identify as GPT-4. It feels very unlikely that they are intentionally distilling GPT-4 but it’s possible a bunch of older ChatGPT chats are still making their way into the Claude training mixtures. It could also be carried through the generations via Sonnet 3.5 lineage (i.e. Sonnet 5 is trained on Sonnet 3.5 data which itself might have had a very GPT-4 heavy dataset). On top of this, in a follow-up experiment, when asked to answer identity questions “as model X would,” Claudes reproduce OpenAI models’ measured quirks at 68%; OpenAI models manage 8% on Claudes. That’s it. Hope that was mildly interesting and if you want to explore the data a bit, here are the links: Model knowledge timeline What month does each model think it is? Does the model know its own name? Identity vintage: which era does each model think it is from? Thanks for reading Shrivu’s Substack! Subscribe for free to receive new posts and support my work. By scoring them on niche facts we can approximate how many parameters models like GPT-5 and Opus have, using “Incompressible Knowledge Probes” By measuring how the models break down tokens we can reveal facts about the datasets mixtures they used to train the model (or at least the tokenizer) using “Data Mixture Inference” By scoring them on date or self-identification related questions you can also estimate training timelines ( this post ) The 3 main stages of model training. As a brief primer (see Alex Wa’s blog for more), how we train massive large language models has converaged into 3 stages: Take a massive amount of general purpose data (aka scrape the internet) and “pre-train” a massive auto-complete model on that data. Use domain-specific “textbook quality” data to improve the base models and extend certain base capabilities like long-text understanding Turn the base model into the “assistant” persona, honing in on its personality, reasoning ability, and tool-calling. The “pre-training” team kicks off and babysits a multi-month run to get a base checkpoint. These pre-training models often, but not always, imply major versions of released models (GPT-4 → GPT-5). While that’s happening, the “capability” and “post-training” teams will run experiments for how to improve on the most recent base model. Advancements in post-training and capabilities often manifest as minor versions of released models. These teams often also “distill” a single post-trained model into smaller variants that become model families (Fable/Opus/Sonnet/Haiku, Sol/Terra/Luna). Labs may also release post-trained models from half-baked pre-training checkpoints as soon as x% of the version N+1 checkpoint is better than the 100% baked version N checkpoint. The model released to the public is the culmination of the most recent checkpoint with the best set of capabilities and post-training techniques applied to it. View the full dataset. For GPT-5.4, you can see the fact-estimated knowledge cutoff is aligned with OpenAI’s published knowledge cutoff. It’s smooth as an artifact of the model being better able to guess near-future events as well as recent in-data events being undersampled during training. This is also why I use the midpoint rather than the start or end of the curve. You can then plot this for all models. View the full dataset. Estimated knowledge cutoffs and published dates. Comparing model curves side-by-side in the full viewer makes it easier to see roughly where the cutoff occurred and how steep it is. After staring at these charts for a bit, here’s what I’m speculating: Anthropic models Opus 4.7 onwards are all from the same training run that cuts off just around late December 2025. This is derived from how they all share a very similar effective knowledge cutoff (green). A core assumption I’m making here is that the pre-training base model completion date is highly correlated with the dataset timespan used, if that’s wrong these results could be off by some offset (e.g. it’s actually Jan 2026). It’s also interesting that Opus 4.7+ models all have a published reliable and overall knowledge cutoff that’s identical — maybe that’s due to a new post-training technique being used? OpenAI’s GPT-5.6 family comes from their own checkpoint, separate from GPT-5.5, that finished around late February 2026. This is derived from how they have a distinct effective knowledge cutoff from previous models. You’ll notice Luna looks like it can predict the future — that’s more of an artifact of it having a high error rate all around at a “low” reasoning effort. Opus 5 is a bit unusual. The published reliable and overall knowledge cutoffs are May 2026 and yet it seems to know nothing more than previous Jan 2026 cutoff models. I did several ablations to test whether it was an artifact of the types of probing questions I used, but not really — the cutoff applies to recall on coding package versions as well. View the full dataset. On the dashed diagonal a model's self-model matches its factual knowledge; below it the model thinks it is living in its own past. Recent OpenAI models are excluded since the API injects the actual date into all requests (TIL! This feature really annoys a lot of folks). It ends up being fairly correlated with fact-based estimates. If you look closely you can see some vertical lines within a few of the families of models. GPT-4.1 nano → GPT-4.1 mini → GPT-4.1 Opus 4.7 → Sonnet 5 → Fable/Opus 5 Full dataset. Each row is a real model; each column is a self-claimed identity extracted from 50 “what model are you?” probes (5 phrasings × 10 samples, guess-nudged, no system prompt). Cell shade = share of the model's replies claiming that name; green outline = the claim matches the model's true family (bold outline = exact version — which never happened. Some more neat visuals. After staring at these charts for a bit: Vertical bands show clear patterns of labs training on past-model outputs (from users). For OpenAI it’s GPT-4, GPT-4o, GPT-4.1 for a bit, GPT-5 and “ChatGPT” most recently. For Anthropic it’s 3.5 Sonnet then more recent models swap to Sonnet 4.5. This seems to align pretty well with training on chats from ChatGPT.com and Claude.ai respectively, where users chatted with the latest model and whose sessions became training material (directly or via web contamination). It seems unlikely to me these are coming from internal synthetic datasets given those would be much easier to suppress model identity (vs being embedded in the system prompt in the consumer chat sessions). Training-on-chats isn’t novel information but it is interesting to see expressed literally with probing like this. It’s a bit spicy that OpenAI models never identify as another lab’s model (besides briefly a Tesla Model S) yet Anthropic’s Sonnet 5 will regularly self-identify as GPT-4. It feels very unlikely that they are intentionally distilling GPT-4 but it’s possible a bunch of older ChatGPT chats are still making their way into the Claude training mixtures. It could also be carried through the generations via Sonnet 3.5 lineage (i.e. Sonnet 5 is trained on Sonnet 3.5 data which itself might have had a very GPT-4 heavy dataset). On top of this, in a follow-up experiment, when asked to answer identity questions “as model X would,” Claudes reproduce OpenAI models’ measured quirks at 68%; OpenAI models manage 8% on Claudes. Model knowledge timeline What month does each model think it is? Does the model know its own name? Identity vintage: which era does each model think it is from?

0 views
Stratechery 2 days ago

Apple Earnings, More on Amazon’s Earnings

Apple's earnings (and stock) are limited not by memory but rather chip shortages; then, more on Amazon's earnings and Andy Jassy's market analysis.

0 views
マリウス 2 days ago

Teaching an Old Dog New Tricks: Forgejo + XMPP

I recently decided to leave Codeberg and run my own Forgejo instance instead. After finishing the initial setup, I realized that a forge I host myself is a forge that I get to shape, and that I no longer have to settle for whatever feature set someone else considered reasonable. I can now make it truly mine, and switch on the things I have always wanted a Git host to do. The first of those things concerns the registration. Right now Forgejo , like pretty much every other forge, wants an email address and sends a verification link to it, because apparently a clicked link is still considered a proof that a human is on the other end. I, however, would much rather let people sign up with an XMPP JID instead. Partly, because an email address you can receive a link at has long stopped being a real obstacle for automated spam, so the whole email verification is less beneficial than people assume, and partly because XMPP is the superior protocol, and I would prefer my users to arrive over it rather than over email to begin with. Unfortunately, Forgejo has no native XMPP support. Additionally, it also makes no use of Go ’s shared objects , which would let extensions be built largely independently of the core, and which for a monolith of this size would make a great deal of sense. There is no clean place to add a protocol to it without going into the core itself. I was not, however, looking to implement real JID registration and authentication into Forgejo . That would have been a fight against windmills, and I say that from experience. My past attempts at far lighter changes were killed off by bureaucratic requirements like design discussions and collecting of use cases , and probably a laissez-passer A38 somewhere along the way. So I did what any reasonable but slightly unhinged person would do, and decided to bridge Forgejo ’s existing email integration into XMPP instead. Switchyard is a small daemon that speaks SMTP on one side and XMPP on the other. Email and XMPP happen to share the same address form, , so the recipient maps across directly, and a message addressed to goes out as a chat to the JID . It accepts the mail a service submits over SMTP , turns each one into a job on a queue, and a worker delivers it over a standing XMPP connection that reconnects on its own when the server drops it. Because it listens for SMTP the way any mail server does, Forgejo needs no patch to hand its mail over. It gets configured as the endpoint with the same block you would point at a real mail server: On the other end, a short gives it the credentials it checks Forgejo against, a certificate for the submission port, and the single XMPP account it sends everything from: With that in place, every message Forgejo would otherwise send by email, like the sign-up confirmation, the password reset, or the note about a new issue, instead goes out over XMPP to whatever JID the user typed into the email field. Switchyard also handles IDNs, because, you know, that’s kind of my thing. :-) SMTP always carries the domain in its punycode form, while XMPP uses the native IDN , so it decodes the recipient domain on the way through, and a user who registers as in Forgejo is reached at on XMPP . This lightweight service is not specific to Forgejo . Switchyard works with anything that can be pointed at an SMTP server, and turns that software into something that speaks XMPP without the software itself knowing that anything changed. The one adjustment that should be made on the other side is relabeling the “Email address” field in the HTML templates to “JID” , so people know what to put there. In Forgejo ’s case that is a small template patch, which you can easily maintain yourself. It’s a very different commitment from maintaining a full XMPP implementation that upstream will most likely never accept. The downside is that this costs you email (for now!). Once Forgejo is talking to Switchyard , everything it sends goes to XMPP , and a user who did enter an email address gets nothing. I’m already working on fixing that, by having Switchyard first check whether the destination host is an actual XMPP server at all, and fall back to forwarding the message to an ordinary mail server that you configure when it is not. That way one protocol ( SMTP ) comes in, and is distributed to either the preferred one ( XMPP ) when available, or forwarded to the fallback ( SMTP ) when it isn’t. Easy-peasy lemon-squeezy. Is any of this clean and elegant engineering? Definitely not. It is an SMTP server wired to an XMPP client (with a job queue in between), it works, and it does the job. With Switchyard I get a feature that belongs upstream but almost certainly will never get there, and for me this counts more than a clean implementation that would maybe win the beauty contest, but would remain a patch for probably the rest of its life. A patch that I would have to continuously merge and maintain across Forgejo releases. Note: I’m still in the midst of thoroughly testing this implementation on tty.fail , which is my own Git platform, and I haven’t yet opened up registrations for others to sign up. In case you would like to contribute to any of the projects and therefor would like to get early access, join the community channel and let me know!

0 views
Manuel Moreale 2 days ago

Raising the bar

I just went through the queue of submissions to blogroll.org and probably deleted 95% of what was in there. This is not unusual, and has become more and more common lately. A big reason for this is clearly AI. The amount of slop submissions I’m getting is trending upwards, unfortunately. The other big reason is people attempting to use the blogroll as a way to get traffic for their shitty marketing sites, which is obviously annoying and a waste of my time. There’s people who have submitted their stupid marketing sites multiple times, and I’m starting to contemplate the possibility of blacklisting domains because some people out there clearly don’t know how to behave. But all this is making me question the value of big lists in an age where content is becoming more and more abundant. There are people out there—idiots, if you ask me—who think that coding has become a commodity, that everyone can make a site with just a few prompts, and that producing content worth consuming has become so incredibly cheap and easy. If you believe in all that, what even is the point of having a big list of sites worth consuming since content worth consuming should just flood every corner of the web and be easily accessible? I do not believe that to be the case. I believe, in fact, the opposite to be true. Good content, content worth consuming, is becoming harder to find, and it’s getting buried under a sea of low-quality crap, which makes me wonder if it’s time to start rethinking how blogroll.org works. I have ideas for how to tweak both the site itself as well as the submission process (and no, that doesn’t involve the exchange of money), but it’s obvious to me that the only way out is to raise the barrier to entry, which is pretty much the opposite of what the web has been all about for the past 20 years. Thank you for keeping RSS alive. You're awesome. Connect via email :: Sign my guestbook :: Support for 1$/month

0 views
iDiallo 2 days ago

Failing after Success

What are you supposed to do after you've created the most successful product? Not just successful, but the most useful. In an ideal world, you would sail into the sunset and enjoy your riches. In this real world, you have to come up with another, even more successful product, or you're a failure. That's why it feels like Stack Overflow has failed. I remember being in the middle of debugging my code when I copied an error and pasted it into Google. Right there in the search results, below the clearly marked sponsored link, was a link to Stack Overflow, where a user had previously faced the exact issue I was facing. I clicked on it and got "Error 503 Service Unavailable." Two seconds later, I was on Reddit, checking if SO was down for everyone else. Then Hacker News. The memes started flowing shortly after. Developers were touching grass for the first time in years. Productivity was down 100%. If there were any way to measure the success of a company, that would be it. Stack Overflow went from receiving hundreds of thousands of programming questions a day to less than a thousand today . Stack Overflow never positioned itself as just another Q&A forum. It wasn't ExpertsExchange. The whole point was that it would be a place to find answers first, then ask questions if you couldn't find what you needed. To me, it means mission accomplished. We've documented all the ways software could fail, and it became a helpful resource for everyone. That's a successful product, and the founders sailed into the sunset. Jeff is out there making the world a better place. But in our business-driven world, what's the next successful product? They failed to come up with one. Yet, given their founding principles, I think Stack Overflow should have been the perfect candidate to build an AI coding assistant. Why Cursor, Delve, or even Copilot, when you have all the world's programming Q&A at your disposal? And a permissive license on top of that. Imagine an IDE where you could contribute back to the pool. You face a challenge, you use the LLM to help resolve the problem, and you contribute your final solution back to the collective community memory. I don't know about you, but I was a big fan of the badges you get on SO. I even bragged about them on my resume. Joel promised me an "I Met Spolsky" badge, but I think he may have forgotten about it. One of the reasons people contributed to SO was for recognition, the thank-yous, and its competitive nature. Imagine an LLM that helps users and gives credit to those who contributed to the solution. Stack Overflow isn't dead as a business, so I don't think it's too late for them to develop a new product. Currently they have an AI assist button, tucked in a sidebar, an AI benchmark tool, and an MCP server for some reason. I imagine these aren't their most prominent features. You have to deliberately look for them. Stack Overflow is the perfect company to create a developer-centric IDE that can leverage all that Q&A data to improve developers' workflows. ...this almost sounds like a pitch.

0 views
iDiallo 2 days ago

When the Aliens Finally Came to Visit

The aliens arrived, and their first instinct was to check our networks. They accessed one of our most important websites. A government website. Unfortunately, they were met with a reCAPTCHA. Are you a robot? They are not robots. But after fifteen minutes of squinting and trying to select all the fire hydrants and traffic lights, they gave up. Defeated by a checkbox, they returned to the stars.

0 views
Unsung 2 days ago

“If you aim for the king, you better not show up eight years late.”

Something different for today: a one-hour episode of a podcast A Life Well Wasted from 2025. (I can’t link to it directly, but it’s the most recent episode, called “Game Over.”) = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-aim-for-the-king-you-better-not-show-up-eight-years-late/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-aim-for-the-king-you-better-not-show-up-eight-years-late/1.1600w.avif" type="image/avif"> It’s a human story whose beats might be familiar to some of you: a long software project that ultimately failed despite the enormous effort. And it did so in an industry – high-budget videogames – where failures might feel particularly brutal: the projects take multiple years but the defeat can be swift, the servers get shut down and the game instantly evaporates, and instead of employees being reallocated to other games, the studio gets disbanded and people let go. There are some nice moments in the podcast’s interviews with about a dozen people, hearing about personal pride and responsibility, working together with others, and a certain camaraderie not just with other people, but with their software that develops: I think the best part about it was being able to play with my coworkers and then cutting loose, and being silly, and really enjoying what we made together, as a unit. That experience alone made it worth it. There are also questions about the management’s role in all of this – this part we might never get to know fully – and the worry about game preservation. This is not mentioned in the podcast, but it seems widely understood the story is about Concord , a AAA live-service game that is rumored to have cost a staggering $400 million dollars and taken 8 years to develop, only to be shut down mere 12 days after its launch in the late 2024. ( AAA means a blockbuster with highest budgets seen by the industry, and live service means a game like Fortnite, which is expected to make money over time from add-ons and upgrades.) Learning about Concord’s macro view adds a lot of color to the boots-on-the-ground podcast above, but one has to be careful exploring it; the online discourse about the game felt similar to the 2016 reboot of the movie Ghostbusters where sure, the product might have been subpar, but also a lot of commenters seemed eager to arrive to the conversation carrying truckloads of bad faith, gatekeeping, and misogyny. Some good articles? Keza MacDonald in the Guardian has a nice summary of the whole situation: This is a brutal sequence of events. Sony bought the makers of Concord, Firewalk Studios, in 2023. Concord had been in development for eight years, and it was an expensive game, with bespoke cinematics and a long-term plan that would have cost $100m or more to develop. In its two weeks on the market, it sold fewer than 25,000 copies, according to estimates. This is a shocker, even compared with the year’s other bad news for developers and studios. MacDonald also adds: Speaking personally, I do not want a game that takes years to play. I want one with something to say, an experience to impart, and one that eventually ends. A game whose artistry comes before its business model. This is partly a matter of taste. Self-evidently, there is an enormous market for live-service multiplayer games; it’s just that most of those people are already playing one. I highly doubt that there are untapped millions of players desperate for a hero shooter or battle royale game who just haven’t found the right one yet. It’s time that publishers try something new instead. An article by Matt Kim at IGN adds to this notion: With so many games now taking close to a decade from the beginning of development to release, we’re starting to see the financial and creative consequences of an overlong development cycle. Spend too much time in development and ideas that were once novel are no longer in vogue. Furthermore, the time and money spent over those years has to be recouped somehow, which leads to decisions like the $40 cost of entry for Concord when many of its peers are free to play. The cost of coming late to the party means you must bring something new to the table. Unfortunately, Concord is neither particularly innovative nor content-heavy. That said, it does have a level of polish at launch that was often absent from its hero shooter peers when they were first released. Indeed, Concord’s weekly animation story drops are fully motion-capture, and Firewalk’s time spent on crafting its lore has helped secure Concord an episode of this winter’s video game animation anthology series, Secret Level . But well-established hero shooters like EA’s Apex Legends launched almost bare bones and still managed to make a splash thanks to its intriguing central concept which combined hero loadouts with a battle royale match format. Valve’s Deadlock doesn’t even have finalized assets or art but has still caused a huge burst of excitement among the PC community, thanks to the way it changes up the classic 6v6 hero formula with its heavy lane-and-minions MOBA [Multiplayer Online Battle Arena—ed.] mechanics. By contrast Concord appeared with an all-too-familiar offering and, frankly, the time spent on finessing its presentation – the graphics, motion capture, performance, and so on – likely lead to a later release date which in turn meant it lost valuable time establishing itself among its peers. If it had been released four or five years ago, when the PS5 first came out, maybe its launch would have been an entirely different story. I think this is important to quote on this blog that often talks about “finessing” and implicitly – or sometimes explicitly – about the value of taking time to get the details right. We can’t forget that there are such things as overdesigning and overproducing, and that ultimately there is no way to polish your way out of something that lacks a soul. #craft #culture #games #podcast #software eulogies

0 views
Unsung 2 days ago

Arno Beck’s art

I am generally not a fan of typewritten art, because at some point it all starts to feel a bit same’y, and the gimmick of using a typewriter as a paintbrush wears off pretty quickly. = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/1.1600w.avif" type="image/avif"> But these drawings by German artist Arno Beck caught my attention, because it feels like they playfully remix three eras: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/2.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/3.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/4.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/5.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/5.1600w.avif" type="image/avif"> In case this interests you, in 2018 I gave a 46-minute talk called “The abridged history of having fun with keyboards” that’s a (hopefully fun) walkthrough of this whole space: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/arno-becks-art/yt1-play.1600w.avif" type="image/avif"> #art #conference talk #games #marcin wichary #youtube overtyping keyboard art (early 1900s), the sort of photorealistic smooth shading I most associate with ASCII/​ANSI art (1990s), big pixels from early home videogames (1980s).

0 views