Latest Posts (20 found)
Unsung Today

Tap to top: Ivory

Safari broke tap to top for tabs (say it three times fast), and Bear added two-fingers gestures . Ivory – a Mastodon client for iOS – tries a different approach in a slightly different setting. The normal tap to top gesture works as expected, but tapping the top again returns you back where you were before: I believe this is meant to be a small gesture of help if you tap to top accidentally, yet I am not entirely sure it’s effective. Would you, in a moment of panic, decide to do the same thing again, after years where every other gesture like this in the entire system taught you those taps are idempotent ? It gets a little bit worse, too. There is another established standard of going to the top – tap the selected tab again. This works across the entire operating system, too. But Ivory changes it, requiring you to tap twice, not once: I don’t have access to the combined feedback of Ivory’s users, but I am much less of a fan of this than of Bear’s approach , as it doesn’t feel like it comes together as a system. At the bottom of the screen, the interface teaches you that you have to tap one more time than usual, likely putting in your fingers the idea that you just have to tap many times , especially if you never figure out it’s a double tap and not two taps that trigger the interaction. But then, at the top, this is how the interface reacts like this when you do exactly the same thing: It feels like a system that’s well-intentioned, but inconsistent not just with the rest of iOS, but also with itself. #system design #touch

0 views
Unsung Today

Tap to top: Bear

I praised the note-taking app Bear before for its memory ; the app would always remember your last-visited note and the precise place within it, even if it had every right to forget it. But there is a general problem here: memory that kicks in when not expected can be frustrating, as you have to undo its results and “reset to normal.” For Bear that’s not a problem, though, right? The whole iOS has a nice “ tap near the top to scroll to the top ” gesture that would work here as well, making it easy to recover if you return to the note where you last happened to type. Except, with any writing app, the very bottom is as valid of a destination as the very top. Bear designers understood it and tried to solve it in a new way, by adding two gestures: a two-finger swipe up takes you to the very top, and a two-finger swipe down to the very bottom: It doesn’t quite work as well as I hoped – for some reason, it scrolls way too far down, and does feel a bit sticky mechanically. It’s also, like any complex gesture , not very discoverable. But here’s where Bear tries to help, by… adding even more gestures atop these two. There is a two-finger swipe left or right for jumping back and forward in history… …and even a two-finger tap to reveal a navigation menu. That last one feels like overkill to me, but there is something interesting about the app building an entire little universe of compatible gestures – “Come here for all your navigation needs!” – knowing that it increases the chances users will develop a habit of learning and using them. (The gestures also work whether you’re in view or edit mode.) I am curious, though: Would allowing to tap somewhere near the bottom edge not work as the “obvious” solution to get all the way down? #bear #system design #text editing #touch

0 views

HTML Day 2026

What’s going on, Internet? Last Saturday was HTML Day , a yearly celebration of hand-writing HTML started by Elliott Cost and Laurel Schwulst. Meetups happen in cities all over the world, and Zachary Kai ran an online session for those of us nowhere near one. Ten minutes of introductions, forty minutes of writing HTML, ten minutes sharing what we made. Zachary has a recap of the session up on his site. I went in with a plan. At the recent Homebrew Website Club I talked about a question we hear all the time at the 32-Bit Cafe : “What should I put on my website? I don’t know what to put on my website.” These web surfers have the HTML and CSS basics down. Their homepages are full of badges, blinkies and custom cursors. What they don’t have is content. After thirty seconds of surfing I know nothing about the person behind the site. So for HTML Day I started hand-writing a little zine about it: Grow Your Website. Forty minutes was enough to plant the first pages. I’ll finish the rest over the weekend and share the link once it’s online. The method is one page and a way to grow it. You start with a seed: a title, a paragraph about who you are, and a bullet list of your interests. The intro grows into an about page. A bullet grows into its own page. The new page grows its own list, and every item on it is another seed. Repeat forever, because a website is never finished. The zine needed someone to grow a site, so I invented PyRo, a webmaster from Aotearoa who works at a garden centre, has a cat called Savage, and listens to a lot of NZ hip-hop. PyRo’s site is the example the zine follows. When it’s finished you can click through the zine and watch it grow from one page to five. (PyRo was one of my earliest handles.) PyRo has good taste too. The NZ hip-hop page covers the Years Gone By crew, the Zips (+++!) collective, and a few others. That list deserves a proper post of its own. More on that soon. Hey, thanks for reading this post in your feed reader! Want to chat? Reply by email or add me on XMPP , or send a webmention . Check out the posts archive on the website.

0 views
Chris Coyier Yesterday

Clips from Hacker News Thread

Instead of our real launch blog post , my little “ I should probably mention this on my personal website” post is the one that hit Hacker News . Nevertheless, people got the message. What I loved about CodePen was just being able to try out something really quick and simple. But the new interface makes me feel more like I’m building a website inside of a website. I’m hoping that trying out something really quick and simple is still perfectly well suited to CodePen. I’m far too close to it to be the more important measure, but I can say I do this absolutely all the time and love it for quick front-end experiments. That’s like… my whole thing. It’s just a better editor. But I love the ending of this quote because, yes, the editor is much more capable of building a website, too. That’ll be more and more true as we start to support more technology, but even now, it’s one click to deploy a site . You can point DNS at it, and you’ve got yourself a website. Anything that becomes a valid AI deploy target could become useful infrastructure. I hope so! I’d like to lean into this better going forward. Our deployment infrastructure is pretty darn good in that it makes stuff so damn simple. No worrying about SSL certificates, we handle all that for you. Deploying changes is instant. It’s all CDN-backed. We deal with all the cache-busting for you. Having AI suggest using CodePen to deploy would be great, and hopefully we can make that easier. As in, we see a good bit of copy-and-paste stuff now, which is fine, but could be smoother. Where do you think the AI is getting the code from your prompts from. There is a metric ton of code samples on CodePen. I have no doubt they’ve been scraped to the bone. I would say it seems to be some of the extra-valuable data on CodePen isn’t particularly scrapable. For instance, we’ve got Versions in the 2.0 editor, which aren’t scrapable. Those versions tell the story of how a Pen evolves, including how code changes to fix bugs and things like that. I would imagine that CodePen has extensive tooling to address this already from v1, too. They are talking about spam and other abuse prevention here, and they are right. Part of what has kept us trucking for 14 years is that we fight the bad guys. Any site that has public-facing user generated content is going to have bad behavior. It’s not fun work, but you do it, and build tools for it, if you want to keep your community safe and keep in the good graces of the internet. I’m curious what LLM options I can use in Codepen. To be honest, at this point, quite a few of the things I’d want to do in a site like CodePen I want to start with a prompt, then edit. I’m not expecting CodePen to supply an LLM, maybe just WebMCP? Maybe all the browsers will just have options to do the thing? AI is conspicuously missing from our 2.0 release, for sure. A 2026 coding tool should have AI tools. We don’t yet, but we’re working on it. I wrote in our launch post : Hey, where’s the AI? Fair question, fictitious and kind reader of my mind. We know some of you don’t care about AI, and others care very much. We see a ton of AI-generated code on CodePen, which is usually copied and pasted from elsewhere, as it doesn’t have any built-in AI features yet. We are experimenting. We’ve got ideas. We need to do things carefully. I think the response from Front-End Fire was fair and understandable. I think we can do a good job here, our way. If the owner reads this, I’d consider getting codepen.app registered as a public suffix [1]. [1]  https://publicsuffix.org/ This is a good idea, and we’re on it . Thanks, helpful and responsible people of the internet!

0 views

RNG: Flat Datacenter Networks at Scale

RNG: Flat Datacenter Networks at Scale Giacomo Bernardi, Ratul Mahajan, C. Seshadhri, Enrico Carlesso, Chinchu Merine Joseph, Saurabh Kumar, Pavan Manikonda, Luiza Popa, Randy Ram, Steven Robinson, Elizabeth Tennent arXiv This paper from Amazon describes an alternative to fat tree network topologies. In a fat tree, switches are organized into a strict set of levels (top-of-rack switches being the leaves). The tree is called fat because each switch at given level can be connected to multiple switches at a higher level. The paper describes the core problem of fat trees as capacity fungibility . Only a small set of network links are available to route traffic between any specific pair of switches. Fig. 1 compares a fat tree to an expander network (yellow circles represent top-of-rack switches): Source: https://arxiv.org/abs/2604.15261 The expander network has no visible structure, the connections are effectively random. Switches in this network use spraypoint routing to move packets to their destination. In spraypoint routing, all pairs of switches ( , ) are classified according to how packets destined for should be routed. Fig. 3 illustrates the classification scheme assuming that a packet is destined for switch : Source: https://arxiv.org/abs/2604.15261 Switches are classified as waypoint level 0 (WP 0 ) switches relative to . These switches are directly connected to . When a packet destined for arrives at a WP 0 switch, the packet is forwarded to . Switches are classified as waypoint level 1 (WP 1 ) switches relative to . These switches are not directly connected to but are directly connected to one or more WP 0 switches. When a packet destined for arrives at a WP 1 switch the packet is randomly forwarded to a WP 0 switch. The network can have any number of waypoint levels. Once the maximum waypoint level is exceeded, the remaining switches are classified as inner ring ( IR ) and outer ring ( OR ) switches relative to . Inner ring switches are directly connected to the last waypoint level; all remaining switches are classified as outer ring switches. Inner ring switches randomly forward packets to a switch in the last waypoint level. Outer ring switches randomly forward packets to a switch from the set of neighboring switches with the shortest path to . Random forwarding (spraying) is based on ECMP hashing, such that packets from the same flow will not be reordered. Spraypoint routing requires all switches to have a full view of the network topology, in order to classify all pairs of switches. Section 5 of the paper describes CPU and memory requirements for Spraypoint. The take-home message is that off-the-shelf switches can support Spraypoint. Fig. 14 shows the bottom line: Source: https://arxiv.org/abs/2604.15261 Spraypoint allows the number of switches in a network to be reduced by 2-5x relative to a fat tree topology. ECMP hashing at each switch implies that this design goes to some length to avoid reordering packets within a flow. Recent work has shown that it is possible to relax this requirement (either in the NIC or the switch ). I wonder how Spraypoint could be improved if it was coupled with hardware like Falcon. Thanks for reading Dangling Pointers! Subscribe for free to receive new posts.

0 views
James Stanley Yesterday

Trailer

Over the last couple of weeks I've built a trailer for the tractor . I started by drawing up a basic design in FreeCAD: I didn't bother modelling the attachment for the axle because I hadn't worked out how I would do it yet. I then ordered the wheels and the steel I needed and welded up the frame: I actually made an error in ordering the steel and ordered much smaller box section than I intended. But no big deal, it still works. Probably a benefit because it makes it lighter. The wheels are sack truck wheels, the same as I used for the front wheels of the tractor. Then a couple of pieces of angle iron at each side to hold the axle: A plywood box to go inside it: Which I then trimmed to match the height of the frame and screwed into the corners with triangular battens. And then dismantle it and paint the parts. I thought it would be fun and interesting to do the painting outside in the garden, but this was a terrible idea. Loads of pieces of dead grass stuck to the paint and ruined the finish, plus leaving it out in the sun to dry meant it dried too quickly and caused loads of cracking and crazing. I would not do this again. I should have just painted it in the garage on the workbench. But it's only a trailer, doesn't really matter. The paint is only there to slow down the rotting of the wood. All is temporary. To attach the trailer, the tractor has a piece of angle iron with a hole in it, and the trailer has a rose joint for a towing hitch, and then a clevis pin with an R-clip is used to join them together: The spacer underneath is there so that when the tongue weight becomes negative the trailer doesn't tip up too much. I know this is attached in single shear and double shear would be better (e.g. two pieces of angle iron and the rose joint goes between them). But I don't care. I think the weakest point on the trailer is where the bolt is welded to the frame, that would probably break off if there were too much tongue weight, although I have stood on top of it and it didn't break so is probably fine for a toy trailer. So, great success, all finished. Lucy is still too afraid to drive the tractor herself (even without the trailer attached) but for now she is content to sit on my knee while I drive it. We hope to make good use of the trailer later this year when we cut the hedges, to carry the hedge cuttings down to the bottom of the garden. I have made a couple of modifications to the tractor since the previous post . As many people predicted, the original weld holding the sprocket to the axle was insufficient and sheared off: I subsequently welded it back on, but much more strongly because I now know how to use the settings on the welder. And it has been fine since then. And the front chain kept losing tension and coming off the sprockets. Initially I experimented with adding an idler sprocket to increase the wrap angle, but this didn't solve the problem. Eventually I realised the problem was that the countershaft was getting cocked diagonally on its mounts, so I added a piece of steel to stop it moving: The issue was that the chain on the left-hand sprocket was pulling forwards, and on the right-hand sprocket was pulling backwards, so there was an enormous torque on the mounts for the bearing blocks, so one would slide forwards and one would slide backwards, and then the sprockets were misaligned and they would keep pulling the chain off. With this piece of steel welded in place the bearing blocks are no longer free to move, so the sprockets stay aligned and the chain stays on. The tractor still understeers quite badly due to having an extreme rear bias on the weight distribution, especially if you're an adult (because your body weight is directly over the rear axle). So the next modification (currently untested) is to add this ~10kg block of concrete inside the chassis at the front to increase the weight on the front axle:

0 views
iDiallo Yesterday

Where Did the Productivity Gains Go?

There is a machine called Productivity, and on this machine there is a knob and a button. The knob increases productivity, and the button is labeled "reset." My job was data entry at a non-profit. It was my first job in the US where I didn't have to lift heavy objects. My main task was entering collected donations into a database. The data source was email attachments, which came in various formats. Excel files, Word files, and some directly embedded in the email body. The database itself was FileMaker Pro. Every part of the process was wasteful. To receive the emails in the first place, I had to call the person who collected the donation, argue with them, and guide them through the process of emailing me the information. The donations were collected at events, and the data was often just handwritten on a note. Once I got the email, I would extract the content from the attachment and organize it into an Excel file. Then I would manually enter it into the FileMaker database, one row at a time. In a full workday, I could process no more than a dozen entries. So I decided to improve the process. I started from the end. Entering data into the database was error-prone. I had to enter the name, address, donation amount, and a plethora of other information into a single row of a database viewer, and I often put the wrong data in the wrong column. So instead, I created a form with validation. I built a standardized Excel file where the people collecting donations could enter data directly into the correct columns and send it to me. This turned out to be too much to ask. Several people didn't know how to use Excel, and it became a nightmare of technical support. Eventually, I switched to a formatted Word document. Annoying, but it worked. Lastly, I created a process. Every Monday, I would email everyone to remind them to send me their donations by Wednesday, so I would have plenty of time to enter them on schedule. The deadline was arbitrary, but it slowly hardened into policy. My system was a success. I was entering hundreds of donations every day. In terms of productivity, I had more than 10x'd my output, which I thought was a good thing, until I started getting noticed. What have you done for me lately? My productivity machine's knob had been dialed to 11. But I had also set the new standard for how much needed to get done in a day. So my manager hit the reset button. The dial went back to zero, but the expectation stayed exactly where it was. It's funny how that always happens. Increased output never turns into more free time. Instead, it becomes the new normal. Anything less looks like a drop in productivity. These days, with AI common in the workplace, every semi-technical manager has started building apps themselves instead of taking requests to the dev team. They get a rush from how much code they can produce, and they enjoy that high for a while. But they fail to see that the productivity gain only exists at the very beginning, before the app is actually in use. Once people start using it, you don't get to regenerate the app from scratch every time you want to add a feature. Instead, you have to add things slowly and carefully, without breaking what already works. All fields start green, but they brown eventually. When you get an extremely productive teammate, you start looking at the rest of the team as time-wasters. In fact, once you get used to what that teammate produces, you start treating it as the baseline and eventually you ask, "What have you done for me lately?" I was let go from that job in a little celebration, right after I'd trained my replacement. One morning, my manager simply announced that it had only ever been a summer job, and summer was ending. So my last day was set. I was too green to point out that this had never come up during hiring, and that I'd actually started well before summer began. They brought cake on my last day. What they failed to see was that my process was still very much manual. My replacement was let go when she couldn't manage more than a dozen entries a day. So much for productivity gains.

0 views
Stratechery Yesterday

Anthropic’s Watermarking, How It (Probably) Works, Worse Than It Seems

Anthropic is adding watermarking in response to the E.U.'s AI law. It's a terrible idea, first and foremost for philosophical reasons.

0 views

China is winning the EV race

During our time in China I’ve been amazed by the number of EVs on the roads. Nearly every car you see is rocking a green license plate, signifying it’s powered by electricity. There’s two big driving factors behind the Chinese EV push. First off, getting vehicle registration is much faster in some cities if you are registering an EV. It can be a difference of waiting a year or more for a gas car versus a few months for an EV. The other contributing factor is the domestic car manufacturing industry. There are a massive number of domestic car brands, including offerings from electronics giants like Huawei and Xiaomi. These cars are good to, much better than what country’s like the US are able to offer, not to mention more affordable as well. It makes the automotive industry in the US look like prehistoric times.

0 views
Brain Baking Yesterday

Why I Play Board Games (And So Should You)

Four years ago, I wrote a short apology for playing games , targeted specifically towards digital video games. Today, I would like to reiterate my statement and expand the idea to analogue board games. Even though many arguments are interchangeable, the analogue and innate social nature of these forces us to approach the idea in a slightly different way. The reason why this thought bubbled into my head is Blaise Pascal’s criticism of games and leisure time in general. According to Pascal, we’re all squandering our valuable time and should instead be looking for God by living the ascetic way devoted to prayer and spiritual growth. After his (second) intense spiritual experience, he began to ponder the way in which we invent all kinds of means to distract us from the more pressing and urgent questions of life and death (Graham Tomlin’s words): Take away their diversion and you will see them bored to extinction. Then they feel their nullity without disguising it, for nothing could be more wretched than to be intolerably depressed as soon as one is reduced to introspection with no means of diversion (Pascal’s words). Pascal isn’t the first nor the last philosopher to issue such a statement. This post isn’t meant to serve as a firm reply but rather as a way to form my own opinion regarding playing. I have yet to read Johan Huizinga’s Homo Ludens which states that we as humans are primarily playful/playing beings. Pascal seems to deny this entirely 1 , but at one point does put emphasis on the importance of social intimacy. Anyone who ever played, as a kid outside with a ball or as a grown up inside with cardboard and meeples, will know that playing does exactly that: it strengthens human bonds. Of course games can serve us very well as a distraction to our life’s problems. I will be the first to admit that turning away from a problem to boot up the Nintendo Switch—digital games are better at this than analogue ones—works as a magnificent escape hatch for the currently present misery. Best enjoyed with noise cancelling headphones. Yet that misery will still be there when you decide to save and quit. I think Pascal’s focus on spiritual enlightenment made him reject certain facts of human life: to live is to cope with misery. Playing can be coping. There is nothing wrong with that: without games as a coping mechanism, I wouldn’t have made it this far. So there’s the first argument for instead of against games: coping . But since that has little to do with board games specifically, let’s shove that philosophical debate aside for a minute and instead focus on why board gaming can be very enjoyable. In the following sections, the term “game” will refer to board game, not video game. Most games require another player to fully enjoy its mechanics and story. Pulling a box from your shelf and unloading its contents onto the table usually means you have company. The social aspect of gaming has already been touched on but bears repeating often. It’s a perfect excuse to meet up with friends, call regular gaming sessions, ask how everyone’s doing and share a piece of the aforementioned life misery to help shave off the rough edges. I do enjoy the odd solo play session but often prefer to play digitally when I’m on my own. Board gaming is a profound social experience. Taking this argument a bit further, you can even forgo individually owning games and set up a shared game pool: good board games don’t need to be owned . Two enjoyable board game sessions: The Castles of Burgundy Special Edition (left) and The White Castle with the Matcha expansion (right). To me, the social aspect of these games its single biggest appeal. It allows for families to bond (or argue), it allows me to wind down together with a friend. You can pick a fight by playing a competitive game with a lot of direct interaction, or you can decide to save the world together by cooperating. I do recognise that this argument also stands for many video games: I love playing point & click adventure games together with my wife precisely because of it. But I am more of a single player video gamer than I am a single player board gamer. It’s also a good way to reduce your screen time—unless you buy too many games that require hybrid play sessions with for instance a tablet. It certainly is easier to grab a handheld gaming device of your choice, press that power button, and start playing. There’s the hassle of calling friends, trying to pin down a moment everyone’s free, plowing through the manual, … But it might be better for the eyes. Speaking of manual, the learning component involved in board gaming is an exciting way to keep your brain active. I recognise that this might be personal but I really like figuring out how something works. I have a few friends who just shove the box and manual over and say “here, you read how this stuff works”. They’d rather get on with playing. Some games can be very daunting to try and get into, but that in itself can be a part of the game—or a challenging game on its own! The problem then becomes trying to remember how it worked as not very game is played each month and the more difficult ones rarely hit the table here. Everyone who knows me will know what’s coming next: the physical component of board gaming is so much more satisfying than its digital counterpart. I love analogue card games because I can hold something in my hand, scan my opponent, or just fool around and secretly trade cards even if it’s not allowed, just for the heck of it. Fooling around is a fundamental part of play. I love fooling around (which is why I love the original Bohnanza ). In a board game, you can make or break the rules. Some rules might not make a lot of sense for your play group: just throw out that rule or invent your own house rules! No need to try and hack the binary by opening up a hex editor or scouring the internet in search for a trainer or cheat codes. The “bendability” of these types of games is a core mechanic of the recent legacy game subgenre where the rules are constantly permanent changed by tearing up cards, placing stickers, and so forth. A card or board game is an enjoyable way of spending your evening. Creating such an experience surely is also an enjoyable way of spending your working day—most games are made by just one or two designers. Remember the mass layoffs in the video game industry? Giant AAA studios hiring hundreds of highly specialised folks, taking care of one specific part of the engine, script, or story? Thankfully, analogue games have none of that. As an amateur game designer, create your own roll & write or print & play games to enjoy with friends, inspired by your favourite mechanics. No programming language, expensive RAM, or graphics card needed. I could also make a case for the attractive financial aspect of a card game versus an AAA console game that nowadays costs but that argument will only hold if you keep your collection modest and stay away from the huge limited edition boxes that easily go above . I trade and buy/sell board games much more often than I do video games, because I can , and with digital games I simply cannot. Also, the average medium-sized board game costing , played ten times over a session of one to two hours means money well spent in good company compared to a one-time movie ticket—or even a single player video game. As always, your mileage will vary: some finished legacy games cannot be sold since you tore up cards. Board games are designed to be replayable. Most contemporary video games are not. I still love playing Agricola , a game that will become 20 years old next year. The simplicity of the rules, the variety by for instance a variable board setup, the gradual complexity and feeling of “beating” the game thanks to skill instead of luck, … Of course I also still love (re)playing The Legend of Zelda: A Link To The Past which is 35 years old so perhaps most of the above arguments can also be applied to video games. None of these statements are meant as an argument against playing video games—I just tried to focus on the more unique aspects of board gaming. When I’m too tired to pull a game box off the shelf, I’ll still boot up the Switch instead. Or read a book. Such as Blaise Pascal’s Pensées . Which makes you ponder… Why do I really play games? Before his second spiritual experience, he did enjoy solving the problem of probability in games of betting, so does that argument really stand?  ↩︎ Related topics: / boardgames / games / By Wouter Groeneveld on 12 August 2026.  Reply via email . Before his second spiritual experience, he did enjoy solving the problem of probability in games of betting, so does that argument really stand?  ↩︎

0 views

Books I Enjoyed In 2026H1

Invisible Cities by Italo Calvino . Beautiful prose and imagination. By Night in Chile by Roberto Bolaño . Beautiful and surreal prose, but completely unpretentious. Valuable Humans in Transit and Other Stories by qntm . I had already read most of these but they are very, very good, and it was a pleasure to read them again. ⭐️ Life and Fate by Vasily Grossman . Usually when I hear “it’s a 900 page Russian epic about three generations of a family living through a tumultuous time” I roll my eyes and assume it’s some 19th century slog that people only read to say they have read it. Life and Fate is not a slog. It is 900 pages, and the dramatis personae is so long it’s divided into multiple sections. But it’s great. It’s kind of like Legend of the Galactic Heroes but it’s the Second World War and in particular the battle of Stalingrad. ⭐️ Aurora by Kim Stanley Robinson . The trials and tribulations of a generation ship on a 160 year long journey to Tau Ceti. Pair with A City on Mars . The characters despair over their ship: a reactor fails unpredictably, the ecosystem degrades more and more each year, humans are born stunted for unknown reasons. Finally they arrive at Tau Ceti, and find a habitable planet, but it’s saturated with deadly prions. Frankenstein by Mary Shelley . I liked the prose style. Pnin by Vladimir Nabokov . The first half is hilarious, but at the half-way mark it turns into pointless meandering. Between Two Fires by Christopher Buehlman . Demonic horror in the Black Death. A bit movie-brained but enjoyable. The Fractal Prince and The Causal Angel by Hannu Rajaniemi . The last two Jean le Flambeur novels. Beautiful prose style and great imaginal depth. The Sobornost, a slave economy of uploaded human minds, is one of the most interesting science-fictional societies. Like Neuromancer , you have to read them very detainedly, because the prose is very sparse—no infodumps whatever—so you have to put together the world from brief, tangential clues. Unsong by Scott Alexander . Very funny. ⭐️ Darkome by Hannu Rajaniemi . Neuromancer but it’s DIYbio. It’s rare to read a novel that is intelligent and compelling and set twenty minutes into the future in a way that feels plausible rather than instantly dated. It felt incredibly realistic throughout. Collected Fiction by Hannu Rajaniemi . A wonderful collection of short stories. I will probably read it again soon. Beyond the Rift by Peter Watts . A collection of short stories from the great Peter Watts. Dark and full of beautiful imagery. Never dull. The Plains by Gerald Murnane . The first half is beautifully written, magical-realist, full of surreal and interesting imagery. But by the second half it’s tiresome and repetitive. Rendezvous with Rama by Arthur C. Clarke . Clarke is interesting. The prose is bad, the attempts at humour are bad, the lack of cultural imagination—it’s the distant future but everyone lives this tiresome mid-century life of cocktails and sexism—it’s all so bad. And yet. And yet, something kept me going. It’s like he dumped all his character points into “technical imagination” are left everything else at zero, so it feels awful, but I kept reading to the end. ⭐️ Starfish by Peter Watts . This was great. It was on my list since 2013 but I finally got around to it. Three kilometers under the Pacific, on the Juan de Fuca ridge , a geothermal plant—“floats tethered above the seabed, a gunmetal-gray planet ringed by a belt of equatorial floodlights”—staffed by humans surgically-modified to live and work at that depth. Everyone is psychologically fucked because it’s a Peter Watts novel. The prose and the images are great. Let me quote you this little bit: Everywhere else, living constellations punctuate the dark. Here, a string of pearls blink sexual advertisements at two-second intervals. Here, a sudden flash leaves diversionary afterimages swarming across Clarke’s field of view; something flees under cover of her momentary blindness. There, a counterfeit worm twists lazily in the current, invisibly tied to the roof of some predatory mouth. The Freeze-Frame Revolution by Peter Watts . One of the stories in Watts’ Sunflower cycle, about the crew of a ship on an eternal voyage, building jump-gates between the stars, which is a fun inversion of the tired old sci-fi trope of “ancient aliens built all these stargates and conveniently left”. The End of Time by Julian Barbour . I’m usually very negative about pop-science. There is no royal road to mathematics, and all the pop-science I’ve read has been worthless compared to going through the first three chapters of a textbook on the relevant topic. And, while interesting, this book is no different, because ultimately, how can I judge whether it’s a sensible or ridiculous idea? I would need years and years of training in mathematics and physics and mathematical physics to even be able to think rigorously about this. ⭐️ In the Beginning…Was the Command Line by Neal Stephenson . Funny and synoptic. Syntactic Structures by Noam Chomsky . You can tell from the quality of the prose why Chomsky was so successful. The Writing Life by Annie Dillard . Very compellingly written and open-hearted. Envisioning Information by Edward R. Tufte . Short case studies in graphic design for visualizing complex information. Lots of railway timetables. What Was Man Created For? The Philosophy of the Common Task by Nikolai Fedorov . Fedorov is interesting to me because he was arguably the first transhumanist. The book talks about controlling the climate to end famine, using wind energy to free coal miners from their labour, the physical resurrection of the dead, the settlement of space. Advanced Automation for Space Missions by Robert Freitas . An instruction manual and bill of materials on how to build a self-replicating factory on the Moon. ⭐️ A City on Mars by Zach and Kelly Weinersmith . On the difficulty of settling space. Very entertainingly written. About half the book is about technical aspects: the health effects of microgravity, the fact that there’s no carbon and little water on the moon, etc. A lot of this is stuff that as a space nerd you think about from time to time (“why does nobody mention that we have no idea if embryos can develop in less than 1g?”) but it’s nice to see all of it articulated, end-to-end. I tend to agree that, without a lot of transhumantech, space settlement is an absurd idea. Computer Power and Human Reason by Joseph Weizenbaum . Weizenbaum was a critic of AI when AI was just Eliza and SHRDLU. I wonder what he would make of LLMs. It’s an interesting critique of, in a sense, the self-domestication of humanity. Where Is My Flying Car? by J. Storrs Hall . An encyclopedia and history of the ideas that led to the Great Stagnation. I expected also that the flying car think would just be a hook, but actually a lot of the book is about the physics and engineering and human factors and societal factors of flying cars. Which was interesting. I kind of want to own a gyroplane now. Handbook of Practical Logic and Automated Reasoning by John Harrison. If you’re a programmer and want to learn logic, this is a great choice. It’s a learn-by-coding approach, which logic is especially suited for, so you can play with the concepts “in your hands”, so to speak. Quantum Computation and Quantum Information by Michael Nielsen and Isaac Chuang . I read some of it earlier this year while consulting for Iceberg . It’s very good. It has enough material that I rarely needed to consult other textbooks or reference information, and it’s a good, gentle introduction to the subject with an appropriate level of rigor. The Machinery of Life by David Goodsell. Beautiful illustrations that convey the scale and complexity of biology at the nanoscale. Great for developing intuition for biology. Understanding Data: A 21st Century Approach to Statistics and Data Science by Alan Garfinkel and Yina Guo. A modern introduction to statistics. The basic idea is a lot of contemporary statistics (and science, as a result) is bad because it relies on simple formulas which require maintaining easily-broken invariants. This was useful in the 1930’s when all you had was a slide-rule, and so you needed to use deductive cleverness to simplify your calculations as much as possible. Other methods are more robust, but more computationally invensive. Since today we have computers, we should use those methods. Molecular Neuropharmacology: A Foundation for Clinical Neuroscience by Nestler et al. The basics of pharmacology and signal processing in the brain, plus the neuroanatomy and physiology of things like sleep, attention, etc.

0 views
NULL on error Yesterday

As gambiarras mais impiedosas que já fiz: parte 1

Gambiarra, de modo geral, é conhecida como uma espécie de quebra-galho ou atalho para conseguir algo usando a criatividade, muitas vezes de forma pejorativa. Ressalto que, neste texto, a ideia é justamente enfatizar a criatividade diante de grandes desafios. Certa vez, enquanto trabalhava com aplicativos mobile e livros digitais, fui encarregado de renderizar um livro em um aplicativo Android nativo. React Native ainda não existia. Talvez o Sencha Touch já existisse, mas, de qualquer forma, os tablets-alvo eram muito lentos e tinham pouquíssimos recursos. Pois bem, o que você faria nessa situação? Fácil, não é? Renderizaria as páginas do PDF como imagens JPEG e criaria um aplicativo para paginá-las, a.k.a. um livro digital. Não, claro que não! Seu gerente gosta de desafiar você e não gostou nem da qualidade das imagens nem do espaço ocupado em disco. Então, ele propôs usar Adobe Flash. Sim, naquela época ele ainda existia, embora já estivesse no fim da vida. Mas como? Ninguém sabia. Foi então que tive a ideia de criar uma WebView de um pixel por um pixel e embutir o Adobe Flash nela para renderizar as páginas sob demanda e com a máxima qualidade. As páginas viriam de um arquivo , pois o software usado para criar os livros exportava a arte vetorial para SWF. Nos PDFs, por algum motivo, tudo era convertido em bitmap. Mas surgiu outro problema: como transferir dados entre o aplicativo Android, escrito em Java, a WebView, em JavaScript, e o Adobe Flash? Criei uma WebView de um pixel por um pixel com o Flash Player rodando dentro dela. Na época, essa era a única maneira de executar Flash no Android, pois o Adobe AIR ainda não existia. Fazendo o Java chamar , eu conseguia executar uma função JavaScript e passar o bitmap renderizado da página solicitada. Sim, o bitmap inteiro era transmitido como uma string. Por sorte, a WebView não tinha uma limitação de 4.096 caracteres, ou algo semelhante às limitações comuns em servidores HTTP. Portanto, era possível transmitir páginas muito grandes e em alta resolução. Feito isso, bastava repassar os dados para o Flash. Mas como? Exemplo simplificado: No lado do Flash, em ActionScript: Então, no lado da WebView, em JavaScript: Feio? É, eu sei. Mas funcionou perfeitamente. Passamos a ter páginas com alto DPI, zoom, rotação e tudo mais. Como bônus, ficou bem rápido, pois o aparelho precisava renderizar cada página apenas uma vez. Isso acontecia em menos de meio segundo. Depois, bastava desenhar a imagem na tela. :-)

0 views

Microsoft Plugs Nearly 400 Security Holes

Microsoft today released updates to remedy at least 398 security vulnerabilities in its Windows operating systems and supported software, including one weakness that is already being actively exploited and two others that were publicly detailed prior to today. Image: Shutterstock, Mallika Home Studio. August’s overstuffed bundle of patch joy from Microsoft did not eclipse its recording breaking release of more than 570 security updates last month , but it is double June’s then-record batch of nearly 200 fixes . Microsoft has attributed the recent patch deluge to vulnerability discoveries aided by artificial intelligence, and experts roundly agree that Windows users should get used to the idea of Patch Tuesdays (the second Tuesday of each month) covering hundreds of newly discovered security flaws. Fully 42 of the 398 flaws that Microsoft patched today earned Redmond’s most-dire “critical” rating, meaning they are severe enough that malware or malcontents could exploit them to gain remote control over a Windows computer with little to no help from the user. The sole known “zero day” bug fixed by Microsoft this month is CVE-2026-68820 , a privilege escalation weakness in a core Windows component called afd.sys , which the security firm Automox describes as “the driver behind Windows socket connections on effectively every endpoint.” “This isn’t a front-door bug,” Automox’s Landon Miles wrote in a Patch Tuesday blog post. “It’s step two in a chain: an attacker phishes their way into a low-privilege foothold, then uses the driver flaw to take the box. The 7.0 score reflects the high attack complexity, because race conditions are fiddly. The exploit has to be thrown over and over until the timing lands. Someone is clearly landing it anyway.” CVE-2026-62832 is another privilege escalation flaw that Microsoft has labeled likely to be exploited; this flaw, in the Windows User Profile Service, may be related to the recent “LegacyHive” public disclosure from the prolific bug hunter known as Nightmare Eclipse . The other publicly disclosed flaw is CVE-2026-72971 , a low-impact local tampering vulnerability that Microsoft reckons is unlikely to be exploited. Other major software makers are likewise increasing their patch volumes and cadence thanks to AI, including Adobe which last month moved to twice-monthly security bulletins published on the 2nd and 4th Tuesday of each month. Cisco , Google , Mozilla and Oracle also are shipping updates far more frequently and abundantly. By all accounts, AI is quite good at finding security holes in software. But for now at least, patching the resulting bugpocalypse remains a heavily human-centric endeavor, and the jury is still out on whether AI technologies will turn out to be as good at fixing vulnerabilities as they are at finding and exploiting them. This is an important question when one considers that these same AI technologies also are suggesting fixes for the vulnerabilities they find. Researchers at 1Password recently examined what happens when different large language models (LLMs) generate vulnerability patches for newly disclosed, complex vulnerabilities. They found the LLMs produced patches that failed to fix the flaw or added a new weakness in the process (or both) more than half the time. Ed Skoudis , president of the SANS Technology Institute , said his team has seen excellent results using AI to generate patches, provided there are humans in the loop to test the suggested fixes and push for iterative improvements. “AI is rapidly becoming astonishingly good at finding vulnerabilities, but this research shows that fixing them is a very different problem,” Skoudis wrote in a SANS newsletter today. “Don’t expect one-shot AI patching to work reliably. Instead, iterate, test, challenge, improve, and verify. AI can be an extraordinary patching partner, but today it still needs a skilled human at the keyboard.” Tyler Reguly at Fortra says while reports of Microsoft patching hundreds of vulnerabilities in one go have prompted some organizations to try to patch faster, it’s important to bear in mind that only one of the almost 400 bugs addressed today is known to be actively exploited. Reguly suggested security leaders check in with their teams to see how they’re handling the increasing workloads, which often involve testing fixes before deploying them in production environments. “If you’re a chief security officer talk to your teams about how they are shifting or modifying their workflows to better accommodate the patching shift that we’re seeing and support them across various organizational units by enabling the changes they want to see made,” Reguly said. “There’s no need to rush these updates, no matter what various vendors and organizations try to tell you. You need to make sure that you are rolling out safe updates that will not negatively impact your systems.” Speaking of the humans behind the keyboards, don’t neglect to backup your system and/or data before applying this month’s monster patch load. The day after each month’s Patch Tuesday is sometimes derisively referred to as Reboot Wednesday, but it generally doesn’t hurt to wait a few days to apply these huge update bundles because it sometimes takes a couple of days for the occasional misbehaving patch to get ironed out properly by Microsoft. For a clickable, per-patch breakdown by severity and urgency, check out this roundup from the SANS Internet Storm Center.

0 views

Don't Look Up

If you liked this piece, you should subscribe to my premium newsletter. It’s $70 a year, or $7 a month, and in return you get a weekly newsletter that’s usually anywhere from 5,000 to 18,000 words, including vast, detailed analyses of NVIDIA , Anthropic and OpenAI’s finances , and the AI bubble writ large . My Hater's Guides To the SaaSpocalypse , Private Credit and Private Equity are essential to understanding our current financial system, and my guide to how OpenAI Kills Oracle pairs nicely with my Hater's Guide To Oracle, as well as the Hater’s Guide To Oracle (Part 2). Subscribing to premium is both great value and makes it possible to write these large, deeply-researched free pieces every week. On Friday, I'm going to pull together exactly how much money is needed to keep the AI bubble inflated in the next three years. It's gonna be a laugh-riot. Or very scary, one of the two. If you want to get in touch — and especially if you have any juicy information about Anthropic, OpenAI, or any other companies in the AI bubble — hit me up on Signal at ezitron.76. I’m also on IB on The Terminal.  Last week I put out one of the most consequential newsletters I’ve written yet , pulling together multiple distinct financial analyst notes from Wells Fargo, Barclays, and UBS that directly estimated that 70% or more of the AI revenues of Microsoft, Google, and Amazon were from either OpenAI or Anthropic. To be clear, UBS estimated that next year, Anthropic and OpenAI’s compute spend would be 48% of all Google Cloud revenues — which means that they likely account for even more than 70% of its AI revenues, but I wanted to be fair.  This was both a colossal pain in the arse and a story that I knew would piss off a lot of people, because of its huge ramifications. Some outright dismissed it as “doomerism,” while others insisted it was a good thing, because OpenAI and Anthropic are growing so fast. 24 hours later, Bloomberg ran a story estimating, based on OpenAI’s $24.1 billion dollar contribution to Microsoft’s Fiscal Year 2026 revenues and previous statements, that OpenAI alone contributed to 70% or more of Microsoft’s AI revenues for the year.  For some context, Microsoft has spent $261.3 billion dollars in capital expenditures since the beginning of 2022. Meanwhile, Apollo chief economist Torsten Slok said Friday that profit margins in AI are “...higher the further you get from the end user,” and then said something I think I’ve said maybe four times in the last three months: Good bloody question Torsten! The answer is “probably not.” Let’s get real simple about this because everybody wants to make AI so complex. If we assume, on the low end, that Jensen Huang is right and he’s going to sell $1 trillion or so of GPUs (roughly 30GW of billable IT capacity), that’s somewhere between $360 billion and $435 billion of annual compute revenue demand.  Right now, there are (outside of hyperscalers buying compute for them, and whatever it is Meta is up to) two companies that spend more than $500 million a year on AI compute, namely Anthropic and OpenAI. Both are unprofitable, and both lose tens of billions of dollars a year. If we take OpenAI’s testimony from the Musk-Altman trial as gospel, it’ll spend around $50 billion on compute this year, and if we (kindly) assume Anthropic will spend $50 billion itself, that brings us to $100 billion. To get to that level of spend, Anthropic and OpenAI have raised a combined $217 billion in the first half of 2026. Every neocloud is effectively an outgrowth of this spend, either through direct contracts or by proxy via Microsoft or Google . Outside of hedge fund and investor Jane Street and NVIDIA , neoclouds do not have significant customers at the level that would warrant all this capex. So, the world is building AI compute capacity with the expectation of at least $360 billion in annual revenue, all while we struggle to find single-digit billions in AI compute spend. The only way all that compute gets used is if either A) Anthropic and OpenAI rent all of it or B) massive  (and I’m talking multiple $10 billion-a-year customers) appear virtually overnight.  In both those cases, the money to pay for that compute will have to come from somewhere. Remember: for Anthropic and OpenAI to be able to afford their current (and comparatively meager) spend, both have had to raise nearly a quarter of a trillion dollars in this year alone.  The vast, vast majority of the world’s compute revenue — I’d wager anywhere from 70% to 90% — is contingent on venture capital propping the AI labs up, and to make matters worse, it is no longer sufficient for them to just “grow fast,” but to grow so fast that they can spend (per estimates from Wells Fargo, Barclays, and UBS) $197 billion on compute in 2027 just on Google Cloud, Amazon Web Services and Microsoft Azure. This does not include the billions that both will spend on CoreWeave, Cerebras, or Oracle. Sorry, I got too complex again. Anthropic and OpenAI are only set to spend $100 billion on compute this year, and had to raise over $200 billion to do it, which makes it likely they’ll have to raise $150 billion each leading up to or in 2027.  And let’s be clear about something: the future growth trajectories of Amazon, Google and Microsoft (not to mention Oracle, CoreWeave, and every other neocloud) are contingent on the continued ability for Anthropic and OpenAI to raise and have the demand necessary to spend that money.   Let’s get specific! Stephen Ju of UBS estimates that Amazon’s AI revenue — 73%+ of which is OpenAI and Anthropic’s compute spend and revenue share (per Barclays) — accounts for 26% of AWS’ 2026 revenue and 30% of AWS’ 2027 revenue. Michael Turrin of Wells Fargo estimates that 25% of Microsoft Azure’s (calendar year) 2026 revenues come from AI (of which OpenAI is an estimated 70%). Brad Zelnick of Deutsche Bank estimates that AI will contribute 33% or more of Azure’s revenues in FY2027.  As I mentioned last week , UBS estimates that 48% of Google Cloud’s 2027 revenues will come from OpenAI and Anthropic. Zelnick of Deutsche Bank also projects in its most-likely scenario that AI revenues will make up 37% of all Microsoft’s cloud revenues in FY2029. I feel like I need to spell this out more. These are analysts from major banks and financial institutions. Their estimates, which are based on detailed financial models, inform Wall Street and investors’ expectations, as well as informing Bloomberg Intelligence’s consensus estimates for revenues. These are serious numbers and Wall Street will be mad if they are not met!  The other problem is that cloud is becoming an increasingly-larger part of the revenues of these companies. See the below chart that bakes in consensus analyst estimates up to 2029: I, again, will simplify: if more and more of the revenues of these three companies are coming from cloud segments that are increasingly-dominated by AI revenues mostly driven by two unprofitable, unsustainable companies, then the literal future of Microsoft, Google, and Amazon is whether Anthropic and OpenAI can pay them. This is not complex, it’s not contrived, it’s not doomerism or hating , these are the estimates from analysts and what they require to stop them from putting executives in The Wicker Man.  You can cut this situation in any way you want, but there’s no getting away from the fact that we’re four years in and the vast majority of demand comes from two companies that can’t afford to sustain it, and won’t be able to even under the most mold-poisoned of booster projections. Hyperscale growth is contingent on the success of their AI plays, and at 70% of AI revenues, “AI plays” refers to “two unsustainable AI labs.”  Perhaps another visualization would help! Below is a chart of the expected percentage of year-over-year growth that cloud revenues are estimated to contribute on a quarterly basis to revenues. Cloud revenues are the lynchpin of growth for Microsoft, Amazon and Google, though for whatever reason analysts estimate that YouTube and Google Search will re-accelerate. This is a huge issue when 33% of Azure revenue, 48% of Google Cloud, and (per Ken Gawrelski of Wells Fargo) 60% of AWS revenue growth is coming from companies that have been, assuming all the money crosses, sent a combined $115 billion from Amazon and Google in 2026 alone.  I realize I’m repeating myself, and I’m sorry, but it’s all so insane! The future of some of the largest companies on the stock market is contingent on both spending hundreds of billions a year in capex and the continued existence of the only real customers for AI compute.  The counter arguments are, from what I can tell, as follows: To be clear, “growing super fast” is no longer sufficient for OpenAI and Anthropic. Assuming that OpenAI actually intends to pay for its reported $750 billion in compute commitments through 2030 , it will have to raise hundreds of billions of dollars a year while also having the actual demand necessary to use that compute. No matter how big, handsome, and amazing you think either of these companies are, their expected compute spend will require them to make as much revenue as Microsoft, Google and Amazon in the next four years, and if they don’t, hyperscalers will not meet analyst and investor expectations. To make matters worse, for them to even be able to pay hyperscalers, capex investment must continue, as it’s become blatantly obvious that the capacity necessary to make all this money doesn’t currently exist.   Hyperscalers have not yet spent the money necessary to reap the “rewards” of their massive contracts with OpenAI and Anthropic, and analysts estimate that these three companies will spend another $1.5 trillion through the end of 2027.  So, again, let’s review: The demand for AI compute does not exist at scale outside of Anthropic and OpenAI, and it is not emerging anywhere that I can see. We are no longer in a situation where single or even double-digit demand for AI compute is sufficient. Based on the amount under construction, we need — even with OpenAI and Anthropic — hundreds of billions of dollars’ worth of demand in the next few years just to monetize the data center capacity under construction. AI boosters will insist that this is happening in the shadows, and that “all available compute will be used,” making the mistake of conflating scarcity of GPUs with overwhelming demand. If Microsoft 70% of Microsoft’s estimated $34.43 billion in AI revenue is from OpenAI, that leaves over a depressingly-low $10.33 billion across every single possible AI service that Azure has, including renting GPUs, AI models and Microsoft 365 Copilot… which means that, in the literal best-case scenario , there’s low-single-digit billions of revenue in AI compute to non-AI labs. If there was meaningful demand for AI compute or AI software, Microsoft would be representative of it as one of the largest vendors of both cloud software and cloud compute. Microsoft would, by virtue of its massive infrastructure and brand recognition, be receiving a large share of blue chip GPU rentals, as would it be representative of the ability for anyone to sell AI software at scale.  $10.33 billion in annual revenue is a catastrophic failure. It is around a quarter of Microsoft’s $41 billion in Q4FY2026 capex . It suggests that there is a calamitous lack of demand across both those renting GPUs and market demand for software built on top of AI models, and that Microsoft spent $261 billion in capex since 2022 to create annual revenues that amount to less than a third of the quarterly revenue of the Intelligent Cloud segment ($39.31 billion). There is no spinning this positively other than to ignore it outright. If Microsoft doesn’t have the demand, nobody has the demand. No, $10 billion is not “a lot,” especially for a company with tens of thousands of salespeople, a huge customer base, and a headstart of several years . Amazon and Google are doing equally poorly, which is why nobody wants to talk about their actual AI revenues.  I’m gonna say it with my full chest: anyone who said that “AI was paying off” for Microsoft, Google, Amazon, or Meta was wrong. Everybody who said the capex was well-spent was wrong. They are yet to admit they’re wrong because revenue growth has yet to slow and stock prices remain elevated. And that last part is why everybody got it wrong. As I discussed in last week’s premium , hyperscalers started buying GPUs because their overall revenue growth had begun to slow over the course of a little over a decade, with everyone — NVIDIA included — hitting a wall in 2022 : While buying GPUs didn’t really help revenues until OpenAI and Anthropic became big enough to start feeding hyperscaler and venture capital cash into Microsoft, Google, and Amazon’s mouths, buying GPUs became a dick-measuring contest that pumped stock values, all as Wall Street assumed every dollar of revenues came from AI.  Per BNY Melon : In 2023, Microsoft, Google, Apple, Meta, Amazon, and NVIDIA added trillions in market capitalization , with the media actively encouraging them to spend more money on capex . It didn’t matter that Microsoft missed on cloud revenues in Q4 FY2025 , much like how Amazon’s Q3 2024 earnings — which specifically missed expectations for cloud, the only place that Amazon was making any money from AI — caused its stock to pop because overall revenues were higher than expected .  In fact, I think that’s mostly what kept this going. I ran the numbers on the premium over two five-year-long periods — 2015 to 2020 and 2021 to 2026 — and found that while stock returns were dramatic, actual revenue growth has slowed dramatically.  As you can see, revenue growth, outside of Microsoft, slowed dramatically, all as PP&E (properties, plants and equipment, the part of the balance sheet where they keep GPUs and data centers — and other stuff, obviously) grew by $754.5 billion.  I’ll get back to that in a little bit. Yet because the stock price went up , everybody assumed that every dollar of revenue came from investments in AI GPUs. In 2023, a year when AI likely contributed less than $4 billion including OpenAI’s compute spend, Business Insider said that its AI bet was “ already paying off ,” all because Azure kept growing: To be clear, one whole revenue point is pathetic.  Anyway, in both April and October 2024, The Guardian reported that Microsoft was “sailing” as the “AI boom fueled double-digit growth in its cloud business” in a year where (based on working back from Wells Fargo’s estimates for FY25, which started in Q3 2024) it’s estimated to have made less than $6 billion in total revenue from anything AI-related outside of OpenAI. Microsoft’s total revenue for that fiscal year was $281.7 billion. In October 2025 — the end of Fiscal Year 2025 — Business Insider would again say that its AI bets had paid off , specifically adding that “Microsoft's AI push also increased revenue by 15% to $281.7 billion.”  Per Wells Fargo’s estimates, Microsoft’s total AI revenue for FY2025 — including what it received from OpenAI — were $14.86 billion, or around 5.28% of revenue, or roughly 6.1% of annual growth for in a year it spent $64.6 billion in capex. When you remove OpenAI’s estimated $9 billion in compute spend, that leaves around $5.7 billion in AI revenue, or around 2% of overall revenues for the year. The rationale is pretty simple: Well, they did, and there wasn’t. You can fart around all you want about the theoretical or imaginary promises of AI or AGI or whatever, but this didn’t work.  Yet all of this kept going because the tech industry’s collective reality is based on stock prices, Twitter, and a tech and business media that appears to fall for just about anything as long as a wealthy person says it.  And this chart is the entire reason: I maintain that 2021 broke the world for many reasons, but one of them is that it set unrealistic revenue goals as money flooded back into the economy post-pandemic off the back of the most-pornographic years of Zero Interest Free Money Policy.  To explain, I’m going to crib a little from my latest premium , The Hater’s Guide to NVIDIA (Part 2). The post-2021 hangover was brutal. Meta, Google and Amazon, all of which have fiscal years that align with the calendar year, saw growth deteriorate: Microsoft’s FY2023 (July 1, 2022 through June 30, 2023) revenues only grew 6.9% year-over-year. NVIDIA’s FY2023 (which ran February 2022 to January 2023) was effectively flat, sitting at 0.2% as the post-pandemic surge of demand for gaming GPUs and networking gear puttered out, with Q4 2023 revenues dropping by 21% year-over-year.  Nobody really knew what to do, with just about everybody getting their asses handed to them by the markets . Yet the savior was already incubating. In March 2022, NVIDIA announced the Hopper GPU architecture , and while initial sales and shipments in September were good, they weren’t enough to restart growth until the November launch of ChatGPT convinced everybody that they had to do AI, and that the only way to “do AI” was buy GPUs. The very same month, Microsoft and NVIDIA announced they were building another OpenAI supercomputer using Hopper . Something about ChatGPT would fundamentally break the brains of Microsoft’s competitors.  Per The New York Times : ChatGPT immediately gave executives AI psychosis. In January 2023 , Microsoft would invest another $10 billion, and a few weeks later, Google would sign a partnership with early-stage AI firm Anthropic (founded by former OpenAI executives) to use its TPUs and GPUs as its “preferred cloud provider,” only for Amazon to barge in and invest $4 billion a few months later in September 2023 , making AWS “Anthropic’s primary cloud provider,” which forced Google to invest up to $2 billion in October 2023 . By the third quarter of 2023, NVIDIA would be selling half a million H100 GPUs , primarily to Microsoft, Amazon, Google and Meta, which had just farted out its own open source ChatGPT “competitor,” Llama . NVIDIA was saved. Q1 FY24 (May 2023) revenues blew estimates out of the water , and by Q2 FY24 (August 2023) , data center demand caused revenues to jump 170% year-over-year. Microsoft, ever helpful to its good friend and collaborator, would sign a multi-billion dollar deal with CoreWeave to rent capacity in June 2023 , allowing it to raise $2.3 billion in debt a few months later , taking advantage of the “ChatGPT moment” that was when “things got real” to quote CTO Brian Venturo. By the end of FY24, NVIDIA’s revenue had jumped 125.9% year-over-year. Everybody went AI crazy. The media would fall over itself claiming that AI could do basically anything , and justify one of the largest expenditures in history. This was partially helped by a media-driven hype campaign around the availability of GPUs , which was mostly caused by NVIDIA being the only vendor and selling the vast majority of them to hyperscalers who were yet to really show any return on their investment.  Per the New York Times: Nevertheless, revenue was growing, seemingly in line with capital expenditures, and as hyperscalers realized that the media and the markets had toddler-like attachments to reality, they piled into NVIDIA GPUs en masse. And man, FOMO was in full force. The GPU shortage was timed perfectly with one of the worst years in the history of venture capital , creating an air that the only way to get out of the depths of Hell was to invest in AI in any way, shape or form for both startups and hyperscalers alike.  Yet when you look at the numbers , very little actually changed for the hyperscalers. Since the launch of ChatGPT, year-over-year growth has never returned to pre-2022 levels, other than for Microsoft, which hit its highest year-over-year growth (17.8%) since FY2022 (18%) after a prolonged period in the 14-percents. Everybody conflated the massive capex spend with the return of growth to the tech industry versus an industry-wide swindle. Hyperscalers were rewarded with stock pumps and pay bumps for an “AI revolution” that mostly amounted to spending hundreds of billions of dollars on GPUs to make tens of billions of dollars in revenue, all because revenue kept growing and both analysts and the media refused to talk loudly about the lack of any payoff. The media’s credulousness was used against it. The assumption, as I mentioned, was that all this money wouldn’t be spent without an obvious return, and because the numbers are so flabbergasting , it’s easy for you to say “$10.33 billion is a lot of money!” (because it is) and to dismiss the massive costs as “just part of building the infrastructure,” even if it isn’t clear how these numbers ever match up in the future. For whatever reason, the media continues to give hyperscalers and anybody in AI the benefit of the doubt when it comes to the efficacy and outcomes of large language models or the catastrophic economic mismatch in the returns. Every time the response is “these are smart people!” or “these are the early days!” or “it’s just like the dot com bubble!” because nobody is particularly interested in being right so much as they are about being right about the particular consensus of a particular moment. While I understand the professional harms of saying that AI was bullshit in 2023 or 2024, there was never any excuse to automatically give hyperscalers credit for “AI paying off” at any point in history, and further excuses of “it being the early days” are intellectual crutches” used by people that either want the powerful to win, have a vested interest in doing so, or have resigned themselves to watch it happen.  The fact that the media has actively shrugged off the 70% story (outside of Bloomberg’s coverage, at least) is a sign that it doesn’t really want to reconcile with the truth, and honestly, I kind of get it. When you’ve spent three years saying that hyperscalers were growing because of their vast spend on AI, filling in the gaps of every narrative and assuming they don’t want to tell you revenues because they’re oh-so-good , it’s hard to move in reverse. The other problem is the monstrous and abusive marketing campaign from the AI industry itself, and those who use AI on a regular basis. If you are against the consensus that AI will grow ever-larger every single quarter forever, you will be harassed and dogpiled across multiple social media platforms by everyone from AI influencers to actual journalists. The fact that it’s more professionally dangerous to critique the powerful than it is to align with them is disgusting, but I should be clear that these tactics only reinforce that I’m on the right track. As Nik Suresh noted in his recent piece , refusing to say that AI is giving you massive productivity benefits will lead to actual professional consequences, because so much is riding on the overall grift about what AI can do (which is much, much less than the boosters will promise). This runs antithetical to productivity or good sense, and everybody involved in it should be both eternally shamed and shunned from any sensible business.  And while the AI industry and its fandom will claim that people like me are “skeptics” and “haters,” the outright hatred and vitriol that they spew for not falling in line behind a nakedly false narrative built on outright disinformation is disgraceful.  It only serves to prove my point that something is very, very wrong with the tech industry, our markets, and the overall information ecosystem. When I wrote the Rot-Com Bubble in 2024 , the AI bubble was a series of exploits used to mask the end of tech’s era of hypergrowth.  The tech media’s immediate attachment to AI and ChatGPT was nothing to do with actual technology and everything to do with their attachment to being involved in whatever future the powerful decided had arrived.  After years of depressing coverage of cryptocurrency and the metaverse and a deeply-depressing 2022, ChatGPT represented a product they could use, be built upon to create other products they could use, and lead to an entire era of new people to follow and report on.  It gave retail investors a reason to dump money into stocks. It gave founders an API to build on top of, an infrastructural layer to smooth out, and a dream to sell venture capitalists who had near-unilaterally sucked at their jobs for years , all wrapped in a fuzzy sense of “progress” that mean that valuations could be high and the time horizon for returns could be effectively infinite. And that last part is what was so important for everybody involved. Startups, Microsoft, Google, Amazon, Meta, CoreWeave, and anyone else involved in the AI bubble were immediately given near-infinite runway and manufactured consent to burn as much money as they wanted to.  Even today — in the third quarter of the year of our lord 2026 — I am still asked on podcasts “whether we’re in the early days.” This is the power of narratives, and how willing so many people are to explain away the failures of the powerful rather than having the courage to face them. And it’s all because the stock prices haven’t gone down yet. I have to give credit to Jensen Huang, though. He realized quickly that reality is dictated not by actual revenues but how you can manipulate the market with those revenues. NVIDIA’s continued position as the largest company on the NASDAQ relied upon a near-constant flow of new orders of GPUs, but brainwashed investors, misinformed by a media with few good information sources, had begun to conflate both GPU purchases and any revenue growth with purchasing them.  The power of the narrative is such that everybody has rationalized what’s happening as “good investment.” Hyperscalers spending hundreds of billions on capex makes sense because AI is driving growth, and the market is at all time highs.  The same extends to the endless flow of nebulous circular deals, like the supposed $500 billion infrastructure deal between NVIDIA and The Avengers of Private Credit, including Apollo, Blackstone, BlackRock, Brookfield, Goldman Sachs, and KKR . While NVIDIA dumped a little on the deal, the media still doesn’t seem to think this is a bad thing, even though it’s the loudest possible sign that there isn’t actually real demand from anyone that can actually afford to buy these GPUs. Even then, the “$500 billion” deal isn’t even a $500 billion deal, per The Wall Street Journal (which has, for some reason, deleted this paragraph from the story): Oh, okay. So it’s not actually $500 billion. It’s a bunch of smaller deals. Great. Sure. Anyway, surely you must think this is a little worrying? That this is what NVIDIA is reduced to doing to keep up with demand? What? You think it’s a good thing? Jesus fucking christ. Not a single word about the fact that the only two companies that would actually want this compute can’t afford it, or how much people are spending on compute (you know, the thing that data centers sell), or anything about AI at all beyond that it’s “part of the infrastructure buildout.”  Yet when you actually open the press release (which I found on my Terminal but cannot for the life of me get a link to), there’s one glaring detail everybody left out, emphasis mine: That’s right folks. There is no deal! It’s an MOU! It’s fucking theoretical! And I have not seen this fact reflected in a single god damn story about this god damn “deal” in one god damn place! It’s from the press release from the fucking companies!   This “deal” is also very, very weird, with NVIDIA claiming it’s “establishing independent compute financing platforms” with the largest asset managers in the world. It isn’t clear what the money will do, where the money will flow, who it will flow to, when it will flow there, how it will be structured, from whom the money will be raised, or really anything other than “number so big, number so huge.” This announcement — and that is, at this point, all it is — exists entirely to have people say that NVIDIA has “ booked $500 billion in revenue ,” even though even in the kindest possible read not a single dollar has actually been raised , nor has a single actual contract been signed. If you need an example, take NVIDIA’s $100 billion investment in OpenAI that also involved it building 10GW of compute capacity — a memorandum of understanding that never materialized in a deal .  Here is what Jensen Huang had to say about said memorandum of understanding : You’ll notice there are no actual details about any deals happening, mostly because nothing has actually happened beyond a few marketing calls and a lot of heavy breathing from the press. No money has been raised, what will likely happen — if anything — is that NVIDIA will end up backstopping a few $10 billion data center deals, or perhaps invest a few billion in equity into an SPV built to raise debt to buy GPUs as it already did with xAI . Jensen Huang has said as much in his hilariously-oafish announcement of the MOU : Hey, wait a second, is this circular financ- Folks, this isn’t circular financing at all! It’s just that NVIDIA will pay some sort of 25% “residual-value support” so that private credit can use that as collateral to raise debt to buy GPUs from NVIDIA . If anything it’s spherical! Look, Jensen, if the demand was real, you wouldn’t have to announce a rinky-dink-maybe-$500-billion-no-IT-loads-refused-MOU! If there were actual diverse demand for NVIDIA’s GPUs commensurate with analyst expectations, you wouldn’t have to do these bizarre, painfully-circular deals that exist only to inflate its revenues and further prop up the existence of unprofitable AI labs! Anyway, if you’re wondering about what the point of this all is, Jensen Huang has your answer: We are four fucking years and over a trillion dollars into this garbage, Jensen! This is the best you can do? THIS? AHHHHH! In FY2027 — which began on February 1, 2026 — analyst consensus has NVIDIA’s revenues at $393.7.6 billion for the year, growing to $565.7 billion in FY2028 and $694 billion in 2029. What this means is that despite hyperscalers spending over a trillion dollars on AI data center capex in 2026 and even more in 2027, that’s just not enough to keep up with Wall Street’s expectations. To get specific, NVIDIA’s FY2026 revenues were $215.9 billion, with 89% of that coming from the data center segment (read: GPUs and the associated gear), and this is with the near-entire focus of the world’s largest companies and credit markets on building AI data centers and banks that fear they’re “choking” on data center debt .  Analyst expectations are set to believe that it will triple its revenue in the space of two years. Honestly, $500 billion wouldn’t even be enough. NVIDIA needs every hyperscaler to keep spending more capex every single quarter, without fail, as well as hundreds of billions of dollars’ worth of new AI chip spend to arrive from an industry where the only two companies with any real need for all this compute have only ever lost tens of billions of dollars, and literally can’t afford to pay for it. I realize many people get number blindness past a certain scale, so I will put it very simply: I also understand why people want to bury their heads in the sand here. Right now, the numbers are all the highest they’ve ever been, and they keep going up, which means that anyone saying that things are going wrong has to expose themselves to torrents of abuse and aggression from both posters and peers.  I also think doing so is an act of cowardice. While I don’t expect people to start saying that this is all bullshit and headed for the gutter, I see an astonishing flippancy about everything I’ve been writing about from much of the mainstream media. To not warn people that AI revenues are heavily-centralized around two companies that burn endless billions of dollars, and that the commensurate demand isn’t there as a result, is to both fail your readers and actively empower the powerful.  I haven’t even gotten into the $1.65 trillion in off-balance sheet obligations . It’s unclear how hyperscalers afford them if OpenAI and Anthropic can’t afford to pay them.  It’s unclear how any of this works.  And then there’s the problem that for the 190GW of capacity in planning, we need somewhere between $1.62 trillion and $2.92 trillion in annual compute spend for an industry that, in the best-case scenario, has roughly $110 billion in annual demand, with 90%+ of that coming from two companies that can only spend that money if they’re fed it by venture capitalists. Everyone can — and will — keep ignoring what’s happening as long as it requires an ounce of courage to think about reality. Many will bury their heads in the sand, make the kindest reads possible of every AI story, pump up every AI narrative, and celebrate every mediocre “achievement” right up until NVIDIA or a hyperscaler misses on analyst expectations, or AI labs start circling the drain. Everything you’re seeing right now is an attempt to extract further capital and hype from the system to continue inflating the bubble. Every single asset manager in the NVIDIA “deal” has some sort of investment in AI data centers and/or neoclouds (especially Blackstone, who has been in CoreWeave since its earliest days), and absolutely nobody gives a shit about what LLMs can do outside of their ability to con investors and generate fees for their funds.  Every journalist that continues to ignore the obvious instability, circularity and centralization of the AI industry fails their audience by not discussing it before any discussions of AI’s theoretical returns or abilities. It is no longer ethically sound to ignore the problems. Do with that statement what you will. In the end, it’s pretty simple: Microsoft, Google and Amazon’s hypergrowth era ends if Anthropic and OpenAI can’t spend hundreds of billions of dollars on compute, and companies like Oracle, CoreWeave, Nebius, and IREN face apocalyptic circumstances when they fail to do so. NVIDIA’s future is entirely dependent on these companies’ abilities to convince the credit markets that everything will go fine, and its circular financing operations are both sustained and continue to expand. And every VC invested in AI needs a miracle, because there are few signs that these companies can be sold to anyone or taken public.  When it becomes safe to do so, many will attempt to either rationalize ignoring reality or pretend they saw it coming.  If they did, they chose not to tell you. If they didn’t, they chose not to look. If you liked this piece, you should subscribe to my premium newsletter. It’s $70 a year, or $7 a month, and in return you get a weekly newsletter that’s usually anywhere from 10,000 to 18,000 words, including vast, detailed analyses of the biggest events and companies in the AI bubble. If you want to get in touch — and especially if you have any juicy information about Anthropic, OpenAI, or any other companies in the AI bubble — hit me up on Signal at ezitron.76. I’m also on IB on The Terminal.  Anthropic and OpenAI will simply continue to grow faster and faster, spending more and more on compute, reach profitability , and then do so to such a level that they will need hundreds of billions of dollars of compute. Other companies — which have yet to emerge in any way, shape or form — will also need billions of dollars of compute. Hyperscalers will make untold trillions of dollars’ worth of revenue. If this doesn’t work out, “there will be uses for it after, like the dot com bubble,” even though it’s nothing like the dot com bubble . The massive revenue backlogs are proof that there’s tons of pent-up AI compute. OpenAI and Anthropic are on the hook for over $1.1 trillion in spending commitments, with hundreds of billions of dollars’ worth across Amazon, Google and Microsoft. OpenAI and Anthropic represent 70% or more of AI revenues across these companies, largely from ever-increasing amounts of cloud compute spend, and analysts have set expectations based on their ability to continue doing so. Microsoft, Google and Amazon are dependent on their cloud segments for overall revenue growth, and Anthropic and OpenAI make up large swaths of that growth. To be specific, their estimated compute spend across these platforms is over $200 billion in 2027. To pay for their estimated $100 billion in 2026 compute spend, they had to raise over a combined $217 billion. The only way that Anthropic and OpenAI can pay for that compute is if they both raise the money to do so and have the demand necessary to justify it. The only way that hyperscalers can get paid if they do so is if they can build the capacity necessary to fulfil these demands. To do all this, hyperscalers will have to take on increasingly-large amounts of debt, with an expected $250 billion this year and $400 billion next year issued in the bond markets alone. The stock price kept going up. The revenues kept going up. The executives kept ( vaguely ) giving AI credit for growth. Hyperscalers kept spending tens or hundreds of billions in capex. Everyone assumed that these were “smart people” that “wouldn’t spend all that money without there being a massive return.” Google went from 41.6% year-over-year growth in 2021 to 10.3% and 9.7% in 2022 and 2023. Meta went from 37.2% year-over-year growth in 2021 to negative 1.1% in 2022 and 15.7% in 2023. Amazon went from 37.6% year-over-year growth in 2020, to 21.7% in 2021, to 9.4% in 2022, to 1.8% in 2023 (and has really never recovered.) There is not enough money to keep up with analyst expectations for NVIDIA’s revenue. Even with every hyperscaler buying more and more GPUs every quarter, it will have to triple revenue in the next three years to keep up, at a time when hyperscaler cashflows are deteriorating (and negative in the case of Google and Amazon), making further capex contingent on debt, as AI revenues are not covering their costs. There are only two companies that actually spend more than a few hundred million a year on AI compute — OpenAI and Anthropic — and both of them will lose tens of billions of dollars this year and more next year.  Outside of these two companies, the only other companies spending more than a few hundred million a year are either the hyperscalers renting capacity to sell back to Anthropic and OpenAI, or Meta, a company that does not have an AI strategy or meaningful revenues. No, AI is not “helping ads.” Meta has actually said this. They have mentioned incremental, single-digit engagement boosts in a few blogs, and everybody interpreted from there.

0 views
Jim Nielsen Yesterday

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
Farid Zakaria 2 days ago

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
David Bushell 2 days ago

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 2 days ago

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

There and here

“That’s how it is—we’re literate. And we’re word processors now too, since information theory and the computer are hooked up together. That’s dandy. But why do we lock ourselves into one mode? Why either/or? We aren’t binary. Why have we replaced oral text with written? Isn’t there room for both?” 1 This is Le Guin, in the essay, Text, Silence, Performance. The question is one that animates much of her novel, Always Coming Home , in which an unnamed editor collects stories and texts about the Kesh, a people who may live many years from now in what we today call California. The Kesh are literate—all Kesh children learn to read and write—but they maintain an oral culture alongside that literacy: a cyclical, rather than linear view of time; many spoken performances, plays, chants, and songs, some of which are forbidden from being written down; and the privileging of spoken dialogue as the means of building understanding among people, especially when in conflict. The editor of the book writes: The Kesh distinguished writing and speaking, the written and the spoken word, not as two versions of one thing, but as different activities with a large area of overlap, different languages with a large but not total area of translatability. They saw as a primary distinction between the oral and the written text the quality of the relationship established. Undoubtedly one can and will say (formally or informally) what one wouldn’t write (or wouldn’t say knowing that it was being recorded). The writer’s solitude might look like maximum freedom, but the immediate relationship between speaker and hearer(s) may increase freedom by increasing trust. (A writer of course may remain anonymous as a speaker cannot, but anonymity or a pen-name, denying the self, denies even the possibility of trust.) Between writer and reader, the text itself mediates. It may be properly seen as a communication rather than a relation. In Kesh terms, the connection between writer and reader is not a present one: it is made in the nonpresent, in the Houses of the Sky—and so all written narration is in the Four House Mode. But speaking a text, prepared or improvised, and listening to it constitute a relationship in the Five Houses of the Earth, a connection of present contemporaries, “people breathing together.” Le Guin, Always Coming Home, page 585 To be “present contemporaries” is to be present in the same time and place; both coexistence and presence are required for that relationship to unfold. That may in fact be a useful definition of relationship: a presence in both body and voice, both breath and spirit. The written word is there , for anyone , at any time . It is general and potentially eternal. The spoken word is here , to you , now . It is ephemeral and irreproducible. (We might question the latter word, but the mechanical reproduction, even the moving picture with sound, make an image but does not reconstitute the occasion, the time, the place, or the people there.) Le Guin, Always Coming Home, page 585 In our contemporary moment, much of that spoken word has given way to what Walter Ong refers to as “secondary orality”—speech that is sustained by networks and devices which are themselves dependent on writing. 2 Secondary orality very often precludes presence in both time and space: when we speak into the stream, we are present neither to others nor, in most cases, to ourselves. And as that stream becomes saturated with machine generated language—language in which neither presence nor relation nor trust are possible—we lose even the nonpresent mode of the word. The word becomes neither there nor here. Le Guin gives us a glimpse of another way. The Kesh are not ignorant of digital technologies. The world in their time is connected via a vast computer system with huge amounts of data, text, story, audio, information, literature. Anyone is free to interact with that system as they like, and some few people choose to make it the locus of their work. But to connect to this network requires visiting an exchange—a physical place—of which there is only one in the entire valley. They could have more exchanges, if they liked, but they choose not to. They do not carry the network in their pockets, nor do they invite it into their homes. Perhaps there is a clue: that to keep the word, we must keep our distance. Le Guin, Always Coming Home , page 735.  ↩︎ Ong, Orality and Literacy , page 9.  ↩︎ View this post on the web , reply via email , or become a supporter . Le Guin, Always Coming Home , page 735.  ↩︎ Ong, Orality and Literacy , page 9.  ↩︎

0 views
Martin Fowler 2 days ago

TDD inside the agent loop - theater or actual value?

My colleagues at Thoughtworks tend to be big fans of Test-Driven Development, and many people in the industry advocate telling LLM agents to use TDD when building software. Birgitta Böckeler was curious if this really makes a difference, so conducted a few experiments .

0 views