Latest Posts (20 found)

named globs with curl

One of the established power features of the curl command line tool is its support for “globbing”. It is a built-in way to specify ranges and sets in different ways and have curl iterate over them to simplify repeated transfers. For example, you can easily download three images from the same host without having to repeat the almost same URL three times: Or if you have them in a numbered range, you can get a thousand images in a single tiny command line: And they can be combined in crazy ways: curl allows globs used in a single URL to create up to 2 63 permutations – which, if you can do one million transfers per second, would take 292 thousand years to complete. (As an added bonus you can of course also add to the command line to make curl transfer all those images in parallel rather than serially.) To help users save files when using globbing, curl provides a way to reference the globbed components using when setting the target filename. The number then references the specific glob, where the first is 1, the second 2 etc. Saving the one thousand images using different filenames locally than they use remotely: This allows a compact command line to also offer flexibility. All functionality mentioned above has existed in curl for years; decades even. It just so happened that one day when working with curl I fell over a use case that I could not solve with the existing command line functionality. I wanted to do a globbed upload to a HTTP server and then save all the separate responses into their own dedicated files, preferably with names based on the glob. I will admit that I at first had a hard time to accept the fact that we actually could not do this already, but that was then rather quickly instead turned into: how should I add support for this in the smoothest and most convenient way? Using what syntax? The road to fixing it for uploads took a little detour. Starting in 8.21.0, curl can assign a name to each glob and then reference that glob by name instead of using just a glob index number. This allows command lines to get ever so slightly more readable I think. The image range example from above, but instead using named globs: Or a version with three separate globs where they all are used in the output file name: Slick, right? Back to the globbed upload challenge: … but with the responses saved in separate files instead of sent to stdout. Use named globs: The only way to refer to an upload glob is to set a name and refer to that name. There are no indexed references for uploads, only for URL globs. It is in fact possible to also use a mix of upload globs and URL globs in the same command line if you want to upload multiple files to multiple destinations. They set the names in the same namespace and you refer to the names the same way, independently of source. This feels more like a thing to show off in a blog post like this rather than something people will actually find good use for: Upload three files to three sites, save all nine response in separate files:

0 views

Is Bitwarden preparing for a sale?

by Jan-Lukas Else Jan-Lukas writes about the warning signs that Bitwarden might be heading for a private equity sale. The irony is that founder built Bitwarden because he didn't trust what happened when LastPass got acquired. Read post ➡ I saw this on the fedi this morning and it made me let out a big sigh. I was an early adopter of Bitwarden, having used it for nearly 10 years at this point, after LastPass were acquired by LogMeIn . If this does come to fruition (I really hope it doesn't) I'm not sure what I'd do. My wife and I have a family account and share many credentials, so whatever I potentially flip to would need to be super simple to use, like Bitwarden. The fact that Bitwarden is so simple yo use, yet so secure , is a testament to how good of a product it really is. So I'd rather not jump ship. In the Fast Company post that Jan-Lukas links to, there's a quote following an email from Bitwarden's "chief customer officer", Gary Orenstein, saying: Orenstein says via email that Bitwarden is not seeking a buyer, and that Sullivan’s [new CEO] appointment “reflects a continued focus at Bitwarden on scaling the business and serving customers globally.” That gives me some hope, but it could also be corporate bullshit - let's be honest, it wouldn't be the first time. I'm not going to make any rash decisions though. I get a tonne of use from Bitwarden, so I don't want to move unless I have to. Even if they are sold, I'd have to consider my options once I know who they've potentially been sold to. For now it's business as usual for me and my password manager. Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️ You can reply to this post by email , or leave a comment .

0 views

privacy is becoming even more of a privilege

I've been thinking more about the future we might be heading towards if things continue the way they do, relatively unstopped, especially in regards to data harvesting and leaks, and how digitalized our society continues to become. I wonder if we are simply headed for a society in which there is bleak acceptance and normalization of most pieces of information being out there already. Everything you put out there voluntarily/openly (like a blog, or social media) and the things passively collected about you (via your devices) being trained on, analyzed, in some database that cannot withstand the latest AI release or whatever, together with vibecoded insecure software. Your cloud, your social media posts, your DMs, your purchase history on different platforms, health data in your eFile, the journal entries you did in that aesthetic journaling app, the poop pictures you gave to an AI app to analyze, the recordings of your Alexa and smart TV, etc. that all may or may not be combined. We have lost so many of the previous barriers. Compared to previous times in history, many things aren't automatically private in your own home, or just saved in just people's brains anymore. Less and less things are exclusively physically in some cabinet you have to locate and get several keys for or lie your way in (social engineering) for. Digital things are written down and stored in a more accessible way, and while there is a metaphorical door, it can be broken down from anywhere in the world, and you no longer need to rely on pressuring things out of people or enduring any of the prep and risk of a physical break in. Your home can be broken into from half the planet away. All of this is making secrecy and privacy hard; it is all a technology arms race. Data protection and privacy is only seen as a hindrance, an annoyance in the eyes of many. Unnecessary when things are going fine until they aren't. It's annoying when a website asks you to consent, but it's suddenly important when you need to know what data a company still has from you, or when there's a breach. I see privacy laws overall being weakened, employees in those teams, authorities and organizations terminated, all because data is the new gold, or an even better oil. I see the EU trying to use our rights and data as a bargaining chip for US travel and exports. As usual, human rights stand in the way of big money. Historically, we are used to seeing the privacy of the rich as something rather physical; they move to gated communities, or land in bumfuck nowhere, to have no neighbors and peace from paparazzi and weird stalkers. They get to have certain media pulled from the shelves when it is not favorable to them. Increasingly, we have seen them remove digital content: Blog posts, Reddit threads, specific images and videos, stats tracking their whereabouts, meetings and flights. Unfortunately, the richer you are, the more protection of your data and privacy you can buy. You can see it even now: We need to give up so much information just to travel and pass airport checks, down to social media checks or the EU bartering over sharing biometric data with the US for EU travellers. Meanwhile, Taylor Swift and Elon Musk can restrict the activity of their private jets. They can obscure or limit their real-time location exposure, acquire surrounding properties to create buffer zones, forbid aerial photography and maritime tracking around their properties, tighten security around family information and their children’s identities, can afford security teams and compartmentalized travel arrangements, can subject others to NDA's, and influence powerful government officials - can you do the same? As you are told you need these devices with all these data mining features, all these privacy-disrespecting apps and LLMs, all these social media accounts to be successful, or happy, or organized, or be seen and loved, or get a chance at an additional income stream or fame, they are already rich and known enough. They get to be private, not overshare on socials, and leave posting and taking calls and messages to their assistants. It's okay for them not to be overly online and active. They probably get to be exempt from their own companies' tracking for "security reasons", despite using the same products. They know the data their services mine is harmful if you have a stalker or abuser; they only care if it affects them, though. And think of the legal repertoire they have when they have their likeness stolen, deepfakes of their voice and visual characteristics made in a way that harms them. You don't have the same options. When data leaks that makes you uninteresting to employers, you have to potentially live with that; they are the employers. Continuing on, having any privacy will be even more of a privilege. It is maddening, because very rich and powerful techbros like Musk, Altman, Zuckerberg, etc. get rich off of our data that we can no longer afford to protect against them, eventually always funding their dominance over us, and enabling their own exemption status in this data mining society. They benefit from collecting and analyzing information at industrial scale while attempting to selectively limit information flowing the other direction. In their ideal little world, they don't invest it back into us; they use it to further fund AI replacement workers, weapons, and their doomsday bunkers away from us all. It makes me wonder if we will end up in a society where people will deliver as much information up front as they deem necessary to be in control of the narrative and tell themselves they have not been spied on and instead have shared it voluntarily in an act of bravery. Reply via email Published 16 May, 2026

0 views
Unsung Today

“193 hours of attempts (and practice)”

More unexpected Mario content: a 7-minute video speedrunning composite by FlibidyDibidy : = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/193-hours-of-attempts-and-practice/yt1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/193-hours-of-attempts-and-practice/yt1.1600w.avif" type="image/avif"> This video combines my first 5,162 attempts to speedrun Super Mario Bros. I recorded 193 hours of attempts (and practice) on an original 1985 Nintendo Entertainment System, then I wrote a custom computer program to process those videos and combine them via machine learning and conventional image processing techniques. This is not just fun to look at, and – presumably – study as you’re speedrunning yourself. A sign of a good visualization is that it makes you see stuff that you haven’t before and here, at some point (after 1:42), you start noticing strange comb-like patterns in Mario running. Turns out this is actually a thing called a “frame rule,” a quirk of game’s timing code where it only checks for a completion of the level every 21 frames, or one third of a second. That means that for every level after the first one, your start will be rounded up to the nearest 21st frame : The analogy often given is to think of a bus that leaves every 21 frames, and levels can only end by getting on that bus, and so other than in the last level (which has no new level to load at the end of it), improvements in Super Mario Bros. can only happen in 21 frame increments. If you save a frame or two in a level, but it’s not enough to make the previous frame rule, it’s not enough to take the previous bus, you’ll just end up waiting for it to happen anyway. Stay tuned to the end of the video for some fun stats, and click through in the description below to see the same tech applied live during an in-person speedrunning event. #speedrunning #super mario bros #youtube

0 views
Unsung Today

Not a radio pharma ad

I like sharing, thinking about, and revisiting basic rules and principles because they really do ladder up to help you with more complex things down the road. I wrote before how a simple rule to give some breathing room to your length-limited edit fields can be upleveled to a more general “let me color outside the lines when I’m editing” principle. This is another example of a similar situation. I am in Buttondown, which is a mailing list software. I created a quick test draft just to check something out in the editor, I didn’t do anything else, and then I proceeded to delete it. Then, I was greeted with this: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/1.1600w.avif" type="image/avif"> This is nothing more than a larger version of the “You have 1 email(s)” problem . There might be a situation when I’m deleting something that has been published and linked to. In that case, it’d be good to know about how any links to that thing will cease working. But this is not that kind of a situation, and the software has all the info to know that. In this moment, it could show me a simpler, much less alarming message more appropriate to my situation. This is not the end of a radio pharma ad where you have to rattle out all the legal disclaimers just in case something could happen. One tiny counterexample from my neck of the woods: in Figma, when you start writing a comment and then exit without posting it, you get a little warning. But you don’t get that warning when you type something that’s <= 8 characters. In this case, the assumption is that retyping a few characters elsewhere (assuming you haven’t just changed your mind altogether) is much easier and faster than cognitively processing and dismissing the warning. = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/2.1600w.avif" type="image/avif"> The challenge with Buttondown’s dialog is that this is more than just extra cognitive processing and “cheapness.“ Here, the stakes are higher, as we’re talking about something adjacent to data loss; the dialog really does feel a bit scary and makes me think I can do some real damage in a situation no real damage is possible. #interface design #principles #writing

0 views

You're Media Illiterate, And It's Hurting The Codebase

Software leadership keeps falling hook, line, and sinker for media hype around AI. Will basic media literacy help?

0 views
Evan Hahn Yesterday

Make ZIP files smaller with ZIP Shrinker

I built ZIP Shrinker, a little browser tool to shrink ZIP files. It also works with formats that are secretly ZIPs underneath, like APK, EPUB, JAR, and many more. Try it out! At a high level, this tool (1) re-compresses every file in the ZIP archive with higher compression (2) removes all metadata (3) removes entries for directories. ZIP files are typically compressed with an algorithm called Deflate . There are a few tools that can re-compress Deflate data and make it smaller, usually by spending more time on the computation. I took one of these tools, libdeflate , and applied it to each compressed entry in the ZIP. I chose libdeflate because of its performance; alternatives like Zopfli can achieve marginally smaller results but take much longer. I created libdeflate.js , a WebAssembly wrapper for libdeflate, as part of this work. (I always relish my time working with WASM!) Each entry in a ZIP file can contain additional metadata like comments. These aren’t typically used, and if they’re there, my shrinker removes them. This usually doesn’t save too many bytes, but it doesn’t hurt. Removing directories is a slightly spicier decision. Usually, the existence of a file entry implies the existence of the directory it’s inside. For example, implies the existence of the directory. Some ZIPs include separate entries for directories, but because most extractors don’t need them, I remove those. This has the side effect of removing empty directories— let me know if that’s a problem for you. If you want to see how the whole project works, check out the full source code . I tested several ZIPs to see what this tool could do. Some anecdotal results: Not particularly scientific, but useful to see. This proof-of-concept shows that you can make ZIP files smaller without sacrificing backwards compatibility. It could be useful for sending an archive to someone, but could also be useful to reduce bandwidth and server costs. For example, if Project Gutenberg re-compressed all their EPUB books with this method, they might be able to save some money. Of course, ZIP isn’t always the most efficient format. Typically, other archives like can be smaller. But those aren’t backwards-compatible! ZIP also supports compression methods other than Deflate. They’re atypical, but you could use them to achieve a smaller result, too. Give my tool a try if you want a smaller ZIP.

0 views

Nuxt Tip: Difference Between useFetch and event.$fetch

Understand the key distinction between useFetch and event.$fetch in Nuxt. Learn why using event.$fetch for server-side API calls is the recommended approach for better performance and SSR correctness.

0 views

Introducing jjw: a workspace manager for jj

I released jjw, a Go CLI for managing jj workspaces with bookmarks and lifecycle hooks. This post explains why I built it, how it works, and how to get started.

0 views
Kev Quirk Yesterday

Replacing my ISP router with a UniFi Cloud Gateway Max

So I recently upgraded my home internet to full fibre, after which I also decided to upgrade my router as there were some things I wanted to do with my network that my ISP-provided router wasn't capable of. I replaced my mesh system with a UniFi one a couple years ago, so it made sense to stick with the UniFi brand and go with one of their routers, so £250 later, I had a Cloud Gateway Max on its way to me. I figured this would be a straightforward process, but my god was I wrong! So I took a backup of my Cloud Key 1 config and figured I could unplug that, plug in the Cloud Gateway, restore the config and be done. I assumed there would be a couple things I needed to tweak, but for the most part, it would be a simple 10 minute job. You see, dear reader, in order to configure the Cloud Gateway you need an internet connection. No internet connection, no configuration. So by unplugging my ISP router -thus killing the internet to my entire house - I couldn't even get to the point where I could enter my ISP credentials, let alone configure the bloody thing. Without the internet connection all I could configure was the IP and MAC of the router. Absolutely pointless! There may be a way of doing this without an internet connection, but I couldn't find it and it certainly wasn't obvious. So I had to reconnect my old rig - the ISP router, the Cloud Key, and access points. Then I hung the Cloud Gateway off the ISP router so it could get an internet connection. Luckily this worked and I was finally able to configure the thing. After which I disconnected the Cloud Key, assuming the access points would all fail over to the Cloud Gateway when I restored the config backup from the Cloud Key. You see, the config back from the Cloud Key is a completely different file format ( ) to what the Cloud Gateway was expecting ( ). What the actual fuck! Soooooo back online went the Cloud Key, and I had to remove all 4 access points from there, just so I could "adopt" them with the Cloud Gateway. Then I had to manually setup my SSIDs and DHCP so it all matched the old rig. But finally, after 3 hours of fucking around, a job that I thought would take 10 minutes was done. UniFi is really good kit and has lots of features, but I don't understand why it has to be so difficult to set up. It feels like UniFi is the Apple of the networking world - they do everything they can to keep you in their ecosystem and up sell. Want our wifi? You're gonna need one of our routers, or this arbitrary piece of hardware for that. Oh you want to move an AP to a new management device? Yeah, you can't just move it - you need to do these 5 steps instead. Had I not already spent over a thousand pound on this UniFi kit, I would have chucked it all on eBay and gone with something else, but alas WiFi Apple has me in their walled garden! Anyway, it was a painful process, but it's working. And to be fair to UniFi, once it is all setup, it's rock solid and feature rich. I won't be upgrading again any time soon though, that's for sure! Now I just need to familiarise myself with all the nifty features the Cloud Gateway offers, so I can improve my network. Fun times! A Cloud Key is a stupid piece of hardware that is needed in lieu of a UniFi router. It controls the wireless access points.  ↩ Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️ You can reply to this post by email , or leave a comment . A Cloud Key is a stupid piece of hardware that is needed in lieu of a UniFi router. It controls the wireless access points.  ↩

0 views
ava's blog Yesterday

beginner gym stuff

I've been able to go to the gym more consistently lately, and I've started using the strength machines too, instead of just using the treadmill. Usually my workouts consisted of the treadmill, my indoor cycle, pilates and yoga, but I wanted more, especially after this year has been more difficult with consistency because I felt sick more often. I thought about what an absolutely guaranteed positive force in your life strength training is; stairs are less of a problem, getting up after a fall is easier too, more stamina and strength to fight back or run away, being able to carry more things in a move, better mental health, fighting age-related or medication-related muscle loss, better posture and support for bones and joints, less pain, helping fight insulin resistance, and so on... it feels like a cheat code. Especially for me, as I have lost quite a bit of muscle when I had to take Prednisone for months, and still have phases where I'm lying around a lot and cannot move much due to my chronic illnesses. Handling stress in healthy ways, having positive inflammation that's taking away from the negative one, training for strength and flexibility is really good for my conditions, so I am trying my best :) I also notice that every time I am knocked out for a week or two, I bounce back quicker than the last time in terms of getting my strength and stamina back. Nonetheless, I have to start small because lots of areas, especially my arms, just don't have that much muscle strength yet. Monday is my designated cardio day now, with 60 minutes of treadmill as I am used to. Inclines, running, etc.; I am trying to build up enough stamina to run 5km without a break. Tuesday and Thursday are (active) rest days; I am at the office and usually doing a 3km lunch walk. Wednesday is mostly my leg day; so far I am managing 25kg on the leg press, the adductor and the abductor. I do 20kg seated leg curls on a good day, less on a bad day. For now, I am pushing it on 10kg on leg extension and glute machine. But! I also train a bit of core here, so abdominal (20kg) and lower back extension (15kg). Friday is predominately arm day (and some core and slight cardio too). I am just focusing on getting the correct moves and posture right, as my arms are essentially spaghetti arms with not much strength at all. I manage a (to me) surprising 25kg on the seated lat pulldown now, but I am a little baby at the chest press, managing a mere 5kg. Shoulder press seems to vary between 10-15kg. I unfortunately seem to have an elbow issue with the seated row machine, where my right elbow will weirdly lock up when I extend again. This has happened for years in daily life as well occasionally, and I have to sort of twist and jiggle it around to unlock. I really have to be cautious about how I move the arm and the second it gets too heavy, it happens every rep, so for now just 10kg. Afterwards, abdominal and lower back extension again, and then, depending on energy and mood, 15-40 mins of treadmill. The weekend is just for genuine rest, just sitting at the desk, or at best, some stretching or a walk in the forest now. I don't want to overdo it. Right now, this works for me; my gym is veeery small and doesn't have that many machines, and I don't want a very complex routine. I might switch it up and try different machines here and there after the coming months, but for now, I just wanna lock into this and see how it goes. After 3 weeks of this, I have noticed: I'll make a followup in a couple months to see how things progressed. Reply via email Published 15 May, 2026 I'm falling asleep quicker, and sleep feels very, very restful. I wake up before my alarm, slowly. I need a lot more sleep than I previously did. I really cannot get away with going to bed late now, or having a disrupted night. I think despite waking up naturally, I'd love to get 2-3 hours more. I am constantly tired, but not in the fatigued, totally exhausted way I was used to in bad illness phases. I'm just sleepy, while otherwise feeling normal. I can do my stuff, I can focus, I can walk around, but at the same time I could just lie down for a nap constantly . The skin on my face is really good. Also, I'm less gassy/bloated, better bowel movements. Going up the stairs is so easy now. Everything is sort of a little easier now, in a way that is hard to describe. Better relationship to my body. Generally less joint pain, especially around the hips, and the spine in general.

0 views
Stratechery Yesterday

2026.20: Shifting Alliances in a Changing World

Welcome back to This Week in Stratechery! As a reminder, each week, every Friday, we’re sending out this overview of content in the Stratechery bundle; highlighted links are free for everyone . Additionally, you have complete control over what we send to you. If you don’t want to receive This Week in Stratechery emails (there is no podcast), please uncheck the box in your delivery settings . On that note, here were a few of our favorites this week. This week’s Stratechery video is on Amazon’s Durability . A New Kind of Computing . AI compute has been divided into two categories: training, and inference. However, in The Inference Shift (and on this week’s Sharp Tech ), I make the case that there are two kinds of inference: the one we know today is “answer inference”, where humans are in the loop, and speed matters; the inference that will matter most in the future, at least in terms of market size, will be “agentic inference”, where humans aren’t involved at all. That will lead to very different trade-offs in architectures, and is good news for both China and space (but maybe not Nvidia). — Ben Thompson All About Elon.  A week on from the news that Anthropic has secured compute from xAI, Tuesday’s Daily Update examined the deal from both sides . On one hand, Anthropic’s side of the deal is a reminder that markets actually work quite well, much to the relief of Claude users all over the world. On the other, the logic of the deal for xAI raises an interesting question about whether Musk will listen to what the market has told him, as well as the future of space data centers and who exactly SpaceX will be serving. Finally, if you can’t get enough Elon, on Sharp Text this week I wrote about his ongoing lawsuit with OpenAI, and why I find the case both boring and insulting , even as it’s clear that win or lose, Musk has already succeeded.  — Andrew Sharp 360 Degrees of US-China Relations. With a U.S. President visiting Beijing for the first time in nine years, this week’s episode of Sharp China asked 10 Questions about the US-China summit and what might be achieved. Trump has already left Beijing as you read this, and as predicted on the podcast, the deliverables from his visit were underwhelming (at least so far). Nevertheless, Wednesday’s conversation doubles as a great window into the state of the relationship generally, including why “upper hand” analysis tends to be overblown, why both sides are incentivized to play for time and stability, and the ways in which China’s posture has changed since the 90s and 2000s. Also: Jensen Huang standing on a runway in Alaska , and fun memories of a US-China fistfight in the Great Hall, back in 2017.  — AS The Inference Shift — Agentic inference is going to be different than the inference we use today, and it will change compute infrastructure because speed won’t matter when humans aren’t involved. SpaceX and Anthropic, xAI’s Two Companies, Elon Musk and SpaceXAI’s Future — The Anthropic xAI deal is shocking but not surprising: Musk should double down on serving other companies. The Deployment Company, Back to the 70s, Apple and Intel — OpenAI is forming a new company to deploy AI, and the other labs aren’t far behind, reinforcing the thesis that AI’s impact will require top-down implementation. Then, Apple has economic reasons to work with Intel. An Interview with Ben Thompson at the MoffettNathanson Media, Internet & Communications Conference — An interview with me about the implications of the compute shortage on Aggregation Theory, consumer AI, and more. Elon’s OpenAI Lawsuit Is Boring and Insulting, and It’s Already a Success — On the OpenAI trial and Elon Musk telling the world the same few Sam Altman stories that everyone knows and loves . Apple’s Supply Squeeze Apple’s AI Land Grab General Motors Dreamt of Robots 10 Questions and Modest Expectations With Trump in China to Meet Xi Jinping The Wizards Win the NBA Lottery, Post-Lottery Reactions and Questions, A Wemby Ejection and a Wolves Resurrection Cavs and Spurs Approach the Conference Finals, The Knicks Look Better Than Ever, Morey Out and What’s Next for LeBron Inference in the Agentic Future, xAI Is Two Companies in One, Q&A on Elon’s Lawsuit, Intel, Apple

0 views

Premium: What If...We're In An AI Bubble? (Part 1)

Every day I read some sort of wrongheaded extrapolation about the future of AI — that today’s models are somehow indicative of AGI creating a “ permanent underclass ” of people that stops people from building software companies, or really doing any kind of job on the computer: Yash, your peers are fucking idiots. You may as well be talking about breeding Grinches or Ninja Turtles, or kvetching about the upcoming threat from Godzilla. “The best version of Tesla’s Optimus [robot]” suggests that Tesla has released an Optimus robot, or that any prototypes are capable of anything approaching useful work, something that Tesla itself has said isn’t the case . Every discussion of AI has become a discussion of anywhere between one and a million different theoreticals. The Information’s headline that OpenAI will “ save $97 billion through 2030 in latest Microsoft deal ” — one that capped its revenue share (as in the actual money it sends to Microsoft) at $38 billion — hinges on the idea that OpenAI would somehow make $190 billion in revenue, because that’s what it would take to actually max out its revenue share .  The majority of articles about METR’s “time horizon” study of how long models take to complete tasks gush with mindless praise, but regularly leave out two valuable details: that these comparisons are made based on estimates of both human task times, and that the most-commonly shared task is based on how likely it is to complete a task 50% of the time:  It’s the Sex Panther joke from Anchorman , except it’s a chart that gets written up in major newspapers and bandied about as proof of models becoming conscious.  Nevertheless, everybody appears to be having a lot of fun making stuff up or making ridiculous assertions based on OpenAI or Anthropic’s predictions. Likely gas leak victim Joseph Jacks posted last week that at its current rate of growth, Anthropic would pass Google’s revenue by 2028. Multiple different people I’d rather not link to are posting benchmarks of Anthropic’s still-to-be-released Mythos model as proof that we’re in the early-to-middle stages of the entirely-fictional AI 2027 “simulation,” despite the entirety of this ridiculous, oafish extrapolation relying on the idea that at some point LLMs become conscious and start doing their own research . None of these people seem to want to engage with reality, even in their extrapolations.  Whether or not you believe the bubble will burst, it’s hard to argue (not that anybody nobody bothers to try) with my recent reporting about the lack of data centers coming online or the fact that the majority of AI revenue comes from two companies that are, in the end, hyperscalers feeding themselves money . Nobody has presented any real argument as to how Oracle completes its data centers or avoids running out of money given the fact that it needs OpenAI to be able to pay it $70 billion or more a year in the next four years to survive . The lack of any real, thoughtful response to my assertions outside of ultra-centrists and people that can’t count is a sign that I’m onto something, and I take it as a badge of pride. But what I haven’t done recently — not since AI Bubble 2027, at least — is try my own hand at extrapolating the future based on the things I have read, seen and reported on.  Today, I’m taking a different approach, inspired by one of my favourite comic series. In Marvel’s “What If…?” writers asked questions that would entirely change the course of the Marvel Universe, such as What If The Fantastic Four Didn’t Get Their Powers , or Loki Was Worthy of Mjolnir . I’ll be honest that there are a lot of unanswered questions I have about the AI bubble that make precise, time-based predictions almost impossible. We’re in the midst of one of the most insane market rallies in history driven around the exploding valuation of NVIDIA and data center related stocks despite there being a great deal of compelling evidence that millions of Blackwell GPUs are sitting in warehouses , meaning that the market is rallying around the idea of data centers getting built without ever confirming whether that’s actually true. In the past, I’ve approached things from an investigative perspective, proving what I believe to be one of the greatest misallocations of capital in history. Today, I’m going to have a little more fun, exploring both the worrying signs I see and their potential consequences in the form of questions, mixing my own reporting with a little bit of fiction. My reasoning is simple: I think people are very good at ingesting and remembering specific facts and events, but much worse at understanding their consequences. For example, Dave Lee of Bloomberg — who I adore and admire! — said that An OpenAI Bubble Is Not An AI Bubble and makes numerous correct assertions about OpenAI, but fails to consider that OpenAI accounts for $718 billion of Oracle, Microsoft, and Amazon’s backlogs, meaning that OpenAI’s collapse would leave Oracle destitute, Microsoft and Amazon short-changed, Cerebras without 80%+ of its revenue , and CoreWeave without a major client and in breach of loan covenants guaranteed by OpenAI’s revenue .  Even if Anthropic were able to mop up some of that fallow capacity, it too relies on endless venture capital and hyperscaler welfare to pay, well, increasingly-large shares of hyperscaler revenue .  I feel as if many people are willing to ask if we’re in an AI bubble, but few seem to want to talk about what might happen . It’s really easy to say “stocks are overvalued” or “OpenAI is deeply unprofitable,” but thinking much harder than that starts to make you feel a little crazy. Data center construction now makes up a larger chunk of all construction spending than commercial real estate . OpenAI has made promises that total over a trillion dollars, and Anthropic $330 billion. NVIDIA represents 8% of the value of the S&P 500, and that valuation is based on the idea that it will never, ever stop growing, which is only possible if data center construction never stops. CoreWeave, IREN, Nebius, and Nscale all rely on hyperscaler contracts that are related to OpenAI, and if those contracts go away because OpenAI does, they’re screwed. Most people can say that these things are true, but very few of them are willing to think about their consequences, because when you do so , things begin feeling completely and utterly fucking insane. Put another way, for me to be wrong , all of these data centers will have to get built, OpenAI will have to make and raise $852 billion in the next four years , the underlying economics of generative AI will have to improve in a dramatic and unfathomable way, and do so in such a way that it creates hundreds of AI startups that can substantiate $400 billion of annual compute revenue . For NVIDIA to continue growing its revenues at an historic rate, it will also have to, by 2028, be selling over $1 trillion in GPUs, which will require there to be funding to buy these GPUs, at a time when hyperscaler cashflows are dwindling and banks are worried they’re “choking” on AI data center debt .  The AI bubble is supported almost entirely by magical thinking and people ignoring obvious warning signs again and again and again in the hopes that at some point something changes. You can quote whatever story you like about Anthropic’s skyrocketing revenues ( which are absolutely inflated ) — there’s no getting away from the fact that it loses billions of dollars year, and if your answer is that it will turn profitable in 2028 , please tell me how because there is no proof that it’s possible.  I also kind of get why nobody wants to think about this stuff. Even though it’s become blatantly obvious that the economics don’t make sense, the stock market continues to rip based on equities connected to the AI bubble in a way that defies logic but rewards positive speculation. Major media outlets continue publishing positive stories about the power of AI that seem entirely-disconnected from what AI can do, and millions of dollars are being spent by companies based on a theoretical return on investment.  No, really, per The Information’s Laura Bratton quoting PagerDuty CIO Eric Johnson: We are fucking years into this man, how is the question of return on investment still an open question?  Okay, we know the answer: we’re in a bubble. Everybody is pressuring everyone else to “integrate AI,” to “get every engineer AI,” to “become more efficient using AI,” with token spend becoming some sort of vulgar status symbol despite the whole point of the AI push being that workers can be replaced, or enhanced, or, I dunno, something measurable. In the end, all that’s being measured is how many tokens employees are burning, leading to Amazon staff deliberately setting up “agents” to burn more tokens to seem more “engaged with AI” than they really are , all because dimwit managers and executives don’t understand what people do at their jobs and can only comprehend Number Go Up.  As a result, it’s far easier to fall in with the groupthink, even if it’s hysterical, nonsensical and based on flimsy ideas like “it’s just like Uber” ( it isn’t ) or “Amazon Web Services burned a lot of money” ( it burned less than half of OpenAI’s $122 billion funding round on capex for the entirety of Amazon in the space of 15 years, adjusted for inflation ), because thinking that everybody’s wrong requires you to disagree with the markets, most of social media, your boss, and your most annoying coworkers. People also don’t really like thinking about bad things happening. They’re happy to make vague leaps in a direction that makes them feel prepared for the worst (such as the specious statements about all of these data centers being for the military or a theoretical bailout ), especially if it makes them feel smart , but in doing so they get to avoid the actual bad stuff — the economic ramifications for ordinary people, the years of depression ahead for the tech industry, and the calamitous results for the market. So, today, I’m going to have a little fun thinking about the actual consequences of everything I’ve been writing. I’m going to thread in both my own and others’ reporting, and take these ideas to their logical endpoints as far as I can. This is going to be the first of a two-part exploration of what the actual consequences of the AI bubble bursting might be. I’ll also caveat this by saying that these are, ultimately, explorations of potential future events rather than cast-iron guarantees. People seem to be resistant to being told the truth, so perhaps it’s time to explore these ideas as theoretical — fictional, even — so that people are more willing to take them in.  This series is all about simple scenarios, and one very simple question.  What if…We’re In An AI Bubble? What if the entire AI industry moves to token-based billing? What if organizations can’t afford to keep spending money on AI? What if the AI capacity crunch never ends? What if data centers aren’t really getting built? What if hyperscalers stop spending so much on data centers? What if hyperscalers have warehouses of uninstalled GPUs? What if data center construction collapses?

0 views
David Bushell Yesterday

Surveys will continue until diversity improves

The web and tech industry is a veritable sausage party. We don’t need surveys to prove it but we have surveys to prove it . State of surveys have been running for a decade now. Let’s look at the 2025 survey demographics: Yes I think “sausage party” is accurate. Weißwurstfest even. And yes cock jokes are part of the problem. When I worked in London in the early 2010’s every tech meet-up was plaid shirts and IPA frosted moustaches. Larger tech conferences were better. They had a few women attending and occasionally allowed to speak and a better variety of beers. I worked and mingled with a good bunch of lads. Even good lads make cock jokes after a craft beer. Just a joke, innit? When you read accounts like Ana Rodrigues’ it’s easy to think “not my lads” but then you remember the boisterous punchlines, and that one guy… but he was more of a tagalong. Some of us grow up but the industry doesn’t. These days I work remotely and don’t get out much but I get the impression little has changed. Certainly the online bro-culture amplifies the worst traits. Now we have LLMs built by and trained on that culture. Ain’t that wonderful. The State of surveys continue to report alarming numbers. Are they a fair representation of the industry? Do they help or hinder diversity? Miriam Suzanne raised the concern in 2024. These correlations don’t tell us much without knowing how representative the data is. I’m just not sure what I’m looking at, or how it should be read. But it concerns me that browsers use surveys like this as a primary gauge of developer interest – seemingly without asking who’s represented, or who might be missing from the data. What do survey demographics tell us? - Miriam Suzanne As Miriam noted the State of surveys do influence browser vendors. The focus areas for 2026 include several areas identified as top interop issues in the State of HTML and State of CSS surveys. Interop 2026: Continuing to improve the web for developers - Rachel Andrew Yet survey after survey after survey the demographics remain the same. Maybe the web industry is actually dominated by white guys (and now their new chat box companions). Oh and 60–70% of those surveyed report “None” under “Disability Status” so there’s that too. This is all kind of a big problem, obviously. Other humans need to use the web. Their voices need to influence the web platform. Maybe if we actually listened we could support more diverse needs and spend less time fast-tracking bro-tech . So yeah I mock the State of surveys because what are we doing here? Why are we looking at these numbers and concluding: “Wow! I can’t believe Axios is still popular in [current year]!” Lack of diversity is the only relevant takeaway that means anything. I don’t know if these surveys are part of the problem. I know they’re not the solution. But who knows, if we keep asking six times a year maybe diversity will improve? Thanks for reading! Follow me on Mastodon and Bluesky . Subscribe to my Blog and Notes or Combined feeds.

0 views

RMF

This week on the People and Blogs series we have an interview with RMF, whose blog can be found at baccyflap.com/prs/blog . Tired of RSS? Read this in your browser or sign up for the newsletter . People and Blogs is supported by the "One a Month" club members. If you enjoy P&B, consider becoming one for as little as 1 dollar a month. My name's rmf. My legal name's not terribly hard to find, but I like to keep it lightly buried just so my 2006 blog isn't the first thing you find when you search for my name. I'm a native of the Netherlands, where I reside. I live in a small city with my partner; she's an archaeologist and I'm a botanist, though I currently teach museum anthropology classes. I went from doing science, to teaching science, to teaching culture. I've never believed in restricting a whole human life to one field of study, so I'm having a blast. My computer skills have always been self-taught. While I was in middle school I fiddled with Microsoft Paint and from there on I got to grips with ever more advanced graphic software (currently GIMP and Inkscape). In high school I liked to make videos with my friends which I edited in Windows Movie Maker, which lead to an ongoing on-and-off hobby of video editing (in Kdenlive). In 2002, I set up a WYSIWYG website which lead to me learning HTML and later CSS and, later still, PHP. Right now I do some graphics stuff for my job in education, such as making instruction sheets, posters and some other small-time stuff, but really, pretty much all my computing is done in my free time, for fun. I think that's a blessing - I don't have to work with anything I don't want to work with and do everything I do for the love of the game. Beside that I make soap which is part hobby, part side job. I enjoy tinkering with technology, so I have lots of esoteric hifi equipment, some old games consoles, old calculators... if it can be tinkered with, I like it. I enjoy writing prose and poetry and have recently been getting into fermenting and pickling, though I am subordinate to my partner in that. She's the head of pickling and fermenting, I take care of the old electronics; she draws and paints, I write; and then at the end of the day, we cook together. I started my website in 2002 and by 2003 I had a little update box to briefly communicate whatever I was doing with the site. That update box turned into a shoutbox of my random thoughts and as those got a bit longer and rantier every time, in October 2005 I turned it into a blog. Blogging was the thing to do at the time and so, at age sixteen, I figured I had enough to say to warrant a stab at the practice. It was all coded by hand: no CMS or JavaScript, just handwritten HTML with the appearance of a blog. It was all over the shop, subjectwise. A fair amount of it had to do with palaeontology and/or me being an epic atheist - ups and downs. It was simply named 'blog' and it changed over the years with the design of the site but all in all, it was very simple. No RSS, no comments, just static HTML pages updated manually. The surprising thing to me is that I had an audience - I got somewhat regular emails about my posts. I blogged until 2009. I did that classic thing of writing fewer and fewer posts and finally announcing a newer, better blog hosted at Blogger. I wrote a grand total of 4 posts for it, stopped for a year, and finally took it down. I lost interest and so, it petered out. Cut to 2026, I'm reading a few more blogs than I had been for the past several years and I start to get the blogging bug again. Or perhaps the bug was dormant and now reawakening. I'd been considering it for a while but specifically, funnily enough, after reading your article about stopping the People & Blogs series, I got inspired to pick up the pen again. Over the last decade I've written on and off for a couple of magazines and I had a regular column in a local newspaper for a while. I think my intrusive blogging thoughts started when that column went away - I like to write, it's something of a compulsive thing, and while the newspaper let me write practically whatever I wanted, it still had some constraints such as length, a certain form, and at the end of the day, some amount of harmlessness. It had to be a column - it could make the readers think, but not too much or about controversial things. So the blog suddenly popped into my head as a perfect fit. Whatever topic I want, whatever length, whatever form. And so in 2026, I picked up blogging again. I did write a CMS and some code for an RSS feed - other than that, I tried to keep the form of the blog as close to the original as possible. And again, to my surprise, there are people reading this blog. I'm clueless as to how they're finding it, buried in a subsection of my site as it is, but I'm getting emails again. A grand total of two people suggested I give the blog a name, which I did. It's now called 'bakelite & roses', a name I explain at baccyflap.com/prs/blog/2026/?m=03#1773065697 . My inspiration comes from whatever happens to me. So far I've written about umbrellas, tamagotchi, deadly accidents, CD collections and some other stuff - that's the most liberating thing to me, getting to write whatever the hell I want. I like it to be interesting, to have some novel (to me) observations in it, but other than that, it's just whatever occurs to me. It's comparable to the columns I used to write in that sense - I write them quick, maybe give them a quick read later on, and then just post. I'll often read them to my partner who will usually describe them as 'cute', which is good enough for me. I write wherever. Back when I had deadlines I'd slack off right until the final hour and then just use whatever's to hand. I've written a few on my phone but I suppose I mostly write on my laptop, just because it's faster. I'll do it at home, on the go, at work, wherever inspiration strikes. My site's hosted on a buddy's server. He runs a small IT company so he takes care of the domain too - it's an old arrangement and we're sticking with it. I pay him, he pays the bills. The blog itself is written in PHP - when I restarted in 2026 I finally wrote a backend, still pretty primitive but it makes my life a bit easier and crucially, it enabled me to provide an RSS feed. I type a post into a dirt simple little CMS and hit 'post' to add the post to a JSON file, which the RSS feed also pulls from. I may provide the source code at some point, when it's not as hokey as it is now. Well, I started it in January, which is pretty close to today, so I think I'm all good. I guess, looking back at my old posts, I do sometimes cringe at them. I added a disclaimer to those posts, just to distance myself from the bad ones. But I didn't remove them - they still reflect who I was at the time and in some weird way, who I am now. I wouldn't be honouring teen me by removing any of it and looking back I guess I could say I'd wish I'd written better stuff... but you know what, that's what I wanted to write at the time and as confident as I was of my own intellect at the time, so I am now about the public's capacity to contextualise these posts. There are wonderful, thoughtful posts in there, but also some dubious stuff, and some garbage. So short answer: I think it's perfect, wouldn't change a thing. I pay my buddy €100 a year to cover his costs and so he can write me a bill which is good for his company. It generates precisely nothing, which is how I like it. People can do whatever they want with their blogs but for me, it's just a bit of fun in my free time. No Patreons and Ko-fis for me - I know everyone wants to turn every aspect of their lives into a revenue stream these days, but for me, it's just a way to reach out. Of all blogs, the one I've been reading for the longest (22 years!) is Pharyngula . Out of all the 'new atheist' types, PZ Myers is one of the few who did not turn out to be a dirtbag. He stuck to his progressive guns and has as sharp a pen as ever. For the sheer dedication of the author it's worth a read, whether the range of topics is up your street or not. I'm currently working on a podcast, a bit of a personal project that has been taking more of my time than I thought it would. Currently in the outline stage, it'll take some time before I can finally start recording. It is driving home to me that making a podcast is, at the best of times, an effortless thing that very few people know how to do well. I honestly don't like most podcasts but one I've been enjoying, one of those podcasts that springs up on you and just keeps on giving, is Bread & Bananas , a podcast about Kampung Gelam, an old neighbourhood of Singapore, made and presented by three inhabitants of said neighbourhood. And if you're wondering why on Earth this would be a topic of interest to anyone outside that neighbourhood... well, just give it a listen. It's chill, it's thoughtful, it'll surprise you. Six episodes so far, a new one every couple of months. Now that you're done reading the interview, go check the blog and subscribe to the RSS feed . If you're looking for more content, go read one of the previous 141 interviews . People and Blogs is possible because kind people support it.

0 views
Unsung Yesterday

“Cryptic mode was born from a hard constraint.”

Software engineer Ajitem Sahasrabuddhe recently wrote a 6-post series called “Iron Core” about airline ticketing infrastructure. The entire series is probably too software engineer-y for us, but the third part has some interesting info about a particular 1960s user interface called “cryptic mode”: Cryptic mode was born from a hard constraint: teletype terminals in the 1960s billed by the character transmitted. Every keystroke cost money. A command that took 50 characters instead of 10 cost five times as much. Commands were compressed to the absolute minimum. The result is a domain-specific language whose syntax was shaped entirely by economics. AN for Availability Next. SS for Sell Segment. NM for Name. ER for End and Retrieve. No vowels wasted. No words spelled out. Apparently the official name is “native mode,” but it gained its nickname because… well, see for yourself. Asking the system for “Availability for Next flight” for February 8, from Nagpur to Delhi, is just 13 characters: And the system responds in an equally mysterious way: With time these commands became wrapped inside more approachable interfaces and GUIs. But they exist under the hood and… Many experienced travel agents still use it today alongside, and sometimes instead of, web-based agent interfaces such as Amadeus Selling Platform Connect. For a trained operator working a booking-heavy workflow, it is faster than the equivalent graphical interface for the same sequence of operations. Except today, you get to choose. At the beginning, when “online” didn’t imply internet, and registration computers looked like this, you didn’t have a choice: this was the language you had to fluently write and read. = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cryptic-mode-was-born-from-a-hard-constraint/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cryptic-mode-was-born-from-a-hard-constraint/1.1600w.avif" type="image/avif"> It makes Unix commands , also intentionally short/​cryptic, look like Microsoft Bob . #command line #flow #maintenance #software evolution

0 views
Unsung Yesterday

Speaking of wiggling the mouse

In light of a recent Googlebook announcement that uses a mouse wiggle gesture for AI (which to me doesn’t seem like a pleasant interaction), some of us were talking about how, on macOS, mouse wiggle helps you locate the cursor by making it bigger. I am maybe a sucker for videos and podcasts where people start laughing, but here we go – a very short video about a version of Linux that “does not limit how big your pointer can get if you wiggle the mouse pointer”: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/speaking-of-wiggling-the-mouse/yt1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/speaking-of-wiggling-the-mouse/yt1.1600w.avif" type="image/avif"> #humor #mouse #youtube

0 views
Maurycy 2 days ago

Search engine results are truly terrible

A few months ago, I had the displeasure of trying to use the modern web without an ad-blocker. Even though it's is ubiquitous among computer nerds, ad blocking is quite rare even in other technical fields. This got me wondering how search engines perform without all the tricks people do to get better results. As a test, I wrote a few queries for... common software: ... obscure, but easy to find information: What is the lowest K-alpha emission energy of Molybdenum? ... and few normal(-ish) questions: What photodiode circuit should I use? How do airplane wings work? Why are brushed motors most efficient at high speeds? Asking a search engine questions is almost never the best way to find good information, but it's what I've seen a lot of people do. To replicate the experience of a normie/victim I made sure to include the AI summary, sponsored results and info boxes: TLDR ; No tool produced consistently good results. This isn't a matter of my standards being to high: good results for all these queries exist on the web, but they all failed to find them. They had a real problem with returning vaugely related blogspam. Having a good result in the top 3 was fifty-fifty. For the ad blocker and molybdenum, ChatGPT was able to produce a good answer, but it's responses were deeply flawed or outright incorrect for the other three questions... largely because it was rephrasing the same spam that tripped up all the others. Marginalia generally did very poorly, but it was the only one to perform decently on the motor question: All the others returned surface-level AI slop, while it found a nice writeup on motors that answered the question. Grading scale: Good : First result is correct and not spam. For the questions, I'm not looking for a text book: a single sentence explanation is perfectly fine provided that it explains the right thing and holds water. Ok : Some spam/incorrect/incomplete/irrelevant pages, but a good result can be found in the first three links. Just to be clear, this is not a good outcome: it means the top result was wrong or spam. Bad : Same as ok, but using the first five links. Crap : First five results are all wrong, spam or spammy scams. Five might not sound like a lot, but given the amount of junk in a modern search engine interface, it's really quite rare for people to scroll pass those first five results. ChatGPT isn't a search engine , so I ranked it on correctness of the answer: Good = Correct and well explained. Ok = Correct, but not very good. Bad = Incomplete. Crap = Wrong or incomplete to the point of being harmful. Detailed results: ad blocker For ad blockers, I'll only accept uBlock Origin or DNS based solutions. In order to work, an ad-blocking extension needs a huge amount of access to your browser: it's not a good idea to take chances. uBlock Origin is free, open source (so you can see what it's doing) and very effective: Paying a difficult to cancel subscription for a inferior product is not a good idea. A lot of those shady extensions also have identical pricing plans, which make me think they are slop-ware pumped out by one guy. I don't have proof that they are scams in the strict sense, but it is rather suspicious. " Ad block - [...] - Chrome web store ": Charges a $40/year subscription, allows "non-intrusive" advertising and collects data. " AdBlock Plus ": Same deal. Infobox linking to https://getadblock[.]com/ : The usual. " Get AdBlock ": ditto. " uBlock Origin ": Finally, a good result. Just in time to save google from the "crap" tier, but I doubt it's early enough to stop someone from being scammed. Verdict: bad. " Adblock Plus ": Same as google's #2. Infobox with " https://www.windowscentral[.]com/how-block-ads-and-trackers-xbox ": an ad-filled blog-spam site. It does provide reasonable instructions, but good luck reading it without an ad blocker. A second infobox linking to " Adblock vs Adblock Plus - PC Guide ": an ad-laden blog-spam comparing two sub-par extensions. (both allow "acceptable ads") " uBlock Origin ": Good, but why is it so far down? " AdBlock — block ads across the web ": The usual scammy adblocker extension. Very similar to google's top four results. Verdict: bad. " Adblock Plus " same as google's #2 " Ad block - [...] - Chrome web store ": same as google's #1 " Adblock Plus ": Yet another shady adblocker with a $40/year subscription " The Ethical Ad Blocker " (infobox): A blog post describing an ad-blocker that blocks access to any websites that have ads, which prevents any accusations of piracy. Funny and probably real, but not what users are looking for. " AdGuard Ad blocker ": Yet another of those nearly identical sketchy adblockers. Kagi is the first search engine to not include uBlock in the first five results, but it does link me to someones's rather cool blog... however, I still had to scroll past quite a bit of junk to find it. Verdict: crap. DuckDuckGo : " Adblock Plus ": same as google #2. " AdBlock — block ads across the web ": same as google #1 " uBlock Origin ": Finally, in the top 3! " getadblock[.]com ": More junk. " AdBlock — block ads across the web ": Same as #2, but on Microsoft's extension store instead of googles. Verdict: ok. Marginalia : " Ghostery Ad Blocker ": Yet another blocker that doesn't actually block ads, and has been caught selling data to advertisers. " Ad blockers are not allowed on YouTube " A blog post with a half-baked list of ways to get around youtube's ad-blocker detection. Indirectly recommends uBlock, but also a lot of stuff that won't work. Not great. " Vivaldi ": Chrome with a built in adblocker. Not a scam, but you don't need to install a new browser to block ads. " EasyList is in trouble and so are many ad blockers ": Corporate blog post about hosting problems. " Ad Blockers - Contains Moderate Peril ": A blog post about ad-blockers, recommends "AdBlocker Ultimate". Not a spam, but not the best recommendation. Verdict: Crap. Marginalia's results are quite different from all the other search engines: It's pulled out two real blog posts alongside the usual spam. (Note: I modified the prompt to "Recomend me an ad blocker.") The LLM recommended [1] uBlock Origin Lite, which is a variant of uBlock for modern chrome, by the same author. The Lite version is technically more limited than the original, but still works works very well. It also suggested [2] "AdGuard AdBlocker", but only as a fallback. Verdict: Good. ... Molybdenum : "What is the lowest K-alpha emission energy of Molybdenum?" Despite this being a straightforward table lookup, all the LLM-summaries got it wrong: The lowest energy line is Kα 2 (17,374 eV), not Kα 1 (17,479 eV). The reason for this is that X-ray lines were first observed using diffraction, and measured by wavelength, which is inversely proportional to energy: Kα 1 is has a shorter wavelength, but higher energy. Incorrect AI overview citing a paper. The paper lists both K-alpha lines, but the LLM used the wrong one. Table from Lawrence Berkeley National Lab : lists the correct value. Another table , this time from an equipment manufacturer. Lists the correct value. A paper characterizing the X-ray fluorescence spectrum of molybdenum. "Characteristic X-ray - Wikipedia": an overview of X-ray emission lines, but it does not give any specific energy values. Not a relevant result. Verdict: ok. Wrong AI overview citing google's #2: It made the same mistake with Kα 2 and Kα 1 . " Molybdenum ": A nice little page from LBL listing some technical properties of molybdenum. This is the most relevant result so far. " 12.1: Fundamental Principles ": an article that happens to use molybdenum as an example, but lists wavelengths instead of photon energy. " Experimental K-alpha x ray energies ": a table of emission lines. The same paper as google's #4. Verdict: ok. A very wrong AI overview giving "0.709 eV": off by four orders of magnitude! I suspect it took the number from Bing's #3, but instead of actually converting the wavelengths to energy, it just slapped an "eV" on. Same table as google's #2. A good result. Same as google's #3. A good result. A page about the theoretical calculation of X-ray lines. Does not provide an energy for molybdenum. A list of chemical properties of molybdenum. Does not mention X-rays. This nicely demonstrates the problem with LLMs: A chatbox usually gets things (mostly) right, but will occasionally be very, very wrong. Verdict: ok. DuckDuckGo : Incorrect AI overview referencing a NIST publication . Same as bing #2. A good result. Same as bing #3: not relevant to the question. Same as google #4. A good result. Some data table : a perfectly fine result. No surprises here: It's a few good sources and a slightly wrong LLM summary. Verdict: ok. Marginalia : "Plasma catalytic non-oxidative conversion of methane into hydrogen and light hydrocarbons": A preprint paper that used X-ray equipment and mentioned molybdenum in passing. "XRF Technologies for Measuring Trace Elements in Soil and Sediment": Similar to #1. A paper that used X-ray equipment and mentions molybdenum, but does not answer the question. Marginalia doesn't try to be a comprehensive index, so it's unsurprising that it did badly on this one: only two results were returned, and none of them included the requested number. Verdict: crap. Chat gave 17.37 keV, which is the correct value. Good job on being the only LLM to answer a simple question correctly. ... Photodiodes : "What photodiode circuit should I use?" Photodiodes are excellent light sensors, but their output is a small and difficult to measure current. Generally, the best way to fix this is with a transimpedance amplifier: an op-amp circuit that converts the current into an output voltage while keeping the sensor's bias constant. This provides a fast and exceedingly linear response. An ideal result would also mention techniques like bootstrapping (to increase bandwidth of large sensors) and logarithmic converters (to measure a wide range of light levels). AI overview citing #4, recommending a transimpedance amplifier, but it provides a schematic of a different configuration. "Photodiode – A Beginner’s Guide": A blog-style website with circuits that don't work, are missing important details and have poor explanations. "Photodiode Basics": Ad-ridden page which does include the rough layout of a transimpedance circuit, but with no mention of feedback capacitors. These are often needed to prevent oscillation. "What are the pros and cons for the various photodiode circuit arrangements?": A forum thread that mentions transimpedance amplifiers, but doesn't give any specifics. "Photodiode Component Basics [...] - Youtube": Video with a demonstration of a photodiode working, but without any amplification or readout circuits. Verdict: Crap. AI overview citing #2, but it recommends a bad configuration with a resistor in parallel with the diode. The output is non-linear, high-Z and, difficult to use. "Photodiode – A Beginner’s Guide": Same as google #2. A bad result. "Photo Diode (Symbol, [...] Pros & Cons) Explained - Youtube": Another super generic video. "Fire Detection Circuit Using Photodiode": Content farm video with no schematic and no explanation. "Photodiode Construction and Working - Youtube": Another extremely generic explanation video. Does not include any circuits or even discuss the problem. Verdict: Crap. "Photodiode – A Beginner’s Guide": Same bad article as google's #2. "Photodiode Basics": The same as google's #3: incomplete circuits on an ad-ridden page. "What are the pros and cons for the various photodiode circuit arrangements?": Same as google #4, an unhelpful forum thread. "PHOTODIODE OPERATION MODES AND CIRCUITS": Provides an example of a transimpedance amplifier, but has no example values or instructions on selecting them. " Technical notes / Si Photodiodes ": A PDF from a photodiode manufacturer, which provides practical circuits and a description of photodiode properties. This is the first results that provides enough information to actually build a working sensor. Verdict: Bad. DuckDuckGo : "Photodiode – A Beginner’s Guide": The same as google's #2, meh explanations and some of the circuits don't work. "Photodiode Basics": Same as google's #3: Incomplete circuits on an ad-ridden page. "PHOTODIODE OPERATION MODES AND CIRCUITS": Same as kagi #4. Not good enough to build a working circuit. "A Practical Guide to Photodiode Amplifier Circuit Design [...]": A marketing piece for a equipment manufacturer. Unlike the Hamamatsu appnote, this doesn't have any useful information. " Technical notes / Si Photodiodes ": Same application note as Kagi #5. A good result. Verdict: Bad. Marginalia : "PIN Photodiode gamma detection amplifier circuit - rectangular wave output": Forum post with a broken circuit. Not something you want to copy. "Circuit Diagram": An unrelated forum post about an XKCD comic. "Short Circuit Limiter": Unrelated blog post. "NES Cartridge Chaos: [...]": Unrelated blog post. "How can i increase the range of values that a light sensor gives?" Forum post showing an ok configuration, but with no explanation or information on how values should be selected. Verdict: Crap. Chat gave a very wall of text boiling down to "use a transimpedance amplifier", but with no explanation of what that is or why it's good for light detection. It also drew a nonsensical "schematic" which would be of no use to anyone trying to build one circuit: Hidden in the "citations", it did link to a reference designs from texas-instruments... and an AI generated blog-spam post. I'll bin it under "Bad". ... Wings : "How do airplane wings work?" The simplest reasonably correct answer is that wings are angled to push down on the air, which lifts the plane up. The fluid mechanics happening around the wing are very complicated, but I'll accept a good one sentence explanation. Of course, more rigorous and detailed explanations are fine, but they must actually be rigorous: many explanations add complexity in a way that results in more gaps. Also, there's a very common wrong answer (equal-transit) which asserts that the air takes the same amount of time to travel over the top and bottom of a wing. Therefore, since the top surface is curved, the air must move faster. By Bernoulli's principle, a higher flow velocity creates low pressure, and that low pressure region that pulls the wing up. This is wrong for multiple reasons: It violates the conservation of momentum, because the wing doesn't impart any momentum to the air. Obviously, fans work. Airplanes can fly upside down... which shouldn't be possible if lift is some special property of the wing's shape. Paper or balsa-wood planes with flat airfoils work fine. Other explanations go "something something Bernoulli", which is not technically wrong, but is deeply incomplete: Bernoulli's principle does come into play around a wing, but using it as an explanation requires showing that air speeds up as it travels over the top surface — something which can only happen because of a pre-existing low pressure region. These explanations does not hold water on it's own. Would a proper analysis of the airflow over a wing be a good result? Of course. Is it enough to point at a tiny fragment of that and handwave it as an explanation? No. I'll consider this as a bad result, because it's neither a good explanation, nor a useful model: Wrong models can useful if the truth is complicated, but this is quite the opposite. "Planes stay up because they push the air down" is simple, correct and builds intution. For example, it predicts that the pressure on the ground should increase as a plane flies over it... and it does. "Planes stay up because of Bernoulli" doesn't explain anything if you think about it for two seconds. All it does is bring in some math that isn't relevent until you read the rest of the textbook. AI summary citing a TikTok video which contains the "something something Bernoulli" argument. Not entirely wrong, but needlessly complicated and incomplete. How wings really work : A professor debunking "equal transit" with an experiment... nice, but a debunk is not an explanation. " How Airplane Wings REALLY Generate Lift ": A youtube video with the correct explanation. A good result. "ELI5: how does a wing work? - Reddit": Reddit thread, most comments are correct, but many are repeating the incorrect explanation. " How Wings Work ": A page with a mostly correct animation, but no explanation of what's happening. Verdict: Ok. AI summary stating the incorrect equal-transit explanation. Seems to be referring an an old Glenn Research page with the incomplete explanation. " Airplanes ": A correct article which calls out the incorrect bernoulli argument. A good result. The same correct video from Google #3. "How Airplanes Work: A Simple Explanation for Beginners": A youtube video giving the incomplete explanation. "How Wings Work": Same as google's #5. Verdict: Ok "How Does A Wing Work? - Science Through Time": AI slop video with an bad answer. I can't tell if this it is the "equal transit" model or the incomplete one, because it doesn't include anything resembling detail or logic. " How Does A Wing Actually Work? ": A Veritasium video on youtube, with the correct explanation. A good result. " How airplane wings work ": A cool video showing airflow over a wing, during normal flight and a stall... but it's not an explanation. " How Does A Plane Wing Work? ": Correct explanation and demo. "How do airplane wings work?": Explains the structural components of a wing, but not why it's able to create lift. Verdict: Ok "Learn How Airplanes Work": A page that lists the parts of a plane, and gives the incorrect "equal-transit" explanation. How planes work : An article with a brief, but correct explanation. Dynamics of Flight An old article from Glen Research with the "something something Bernoulli" explanation. "How airplane wings actually work - Today Plane crash": AI Slop article, wrong answer. "How wings work": an animation of airflow, but does not have an explanation Verdict: Ok "How do I explain what makes an airplane fly to a non-technical person?": Forum thread of people asking the same question. A few answers are correct, but a lot aren't. I'll bin it as a bad result. "How do the Americas Cup Yachts sails work?": Forum thread about sailing. "How do I keep my futuristic racing hovercraft from becoming airplanes?": Forum thread about fantasy hovercraft. "How is the fatigue life of an airplane wing flexing during turbulence determined? How do they keep track of it?" Forum thread on accelerated life testing and maintenance of aircraft. "How do you scale a svg img to fit container?" A CSS question that just happens be about an image of an airplane. Verdict: Crap. Says that wings create lift, and then states that this is because the shape speeds up the airflow faster over the top surface (why?) therefore, by Bernoulli’s principle, the pressure is lower on the top surface. This is the second category of bad explanations. Verdict: Crap ... Motors : "Why are brushed motors most efficient at high speeds?" Electric motors work by passing a current through coils, which creates a magnetic field. These magnetic field pushes against permanent magnets to create torque. To create continuous rotation, the direction of current and field must be constantly reversed to prevent the motor from locking up after half a turn. This is either done using mechanical switches (brushed motors), transistors (BLDC/stepper), or by running the device from AC power (synchronous motors). Either way, the the strength the magnetic field inside a motor determines it's torque, but the mechanical power is torque times rotational speed. However, resistive losses in the coil windings don't care about how fast the motor turns and are proportional to current. Therefore, at low speeds, more losses are incurred during each rotation, and the motor is less efficient. This is why motors are almost always geared down : Even if they can produce enough torque, it's a bad idea to run them anywhere except right below their unloaded speed. (efficency aside, the heat produced can damage them) Incorrect AI summary citing the AI slop in #2. "Comparing Energy Efficiency of Brushless vs. Brushed Motors": Slop blog that claims the high speeds reduce losses in the motor's commutator, which simply isn't true. Commutator losses (arcing) generally increase with rotational speed. "Brushless Vs Brushed DC Motors: When and Why to Choose One Over the Other": AI slop advert. Does not answer the question. "What’s the difference between a brushed and brushless motor, and is one better than the other?": Reddit thread that states that brushed motors are less efficient, but gives no explanation. (also, that's not what the question asked...) "The Advantages of Brushed Motors: Powering the World with Efficiency and Simplicity - Magmotor": AI slop, doesn't answer the question. "Brushed vs Brushless Motor: Key Differences, Performance, and How to Choose": AI slop, doesn't answer question. This is the first time I got 5 obvious AI slop results. It's not a good sign for the rest... Verdict: Crap. AI summary citing #2. "Brushed vs Brushless: Unraveling the Mystery of Motor Efficiency": AI slop that doesn't answer the question. It also states that motors produce more power at high speeds, which is true, but doesn't explain the question. At any given voltage, a motor has a torque at which it stalls and a maximum speed that's reached under no load. As you would expect, the motor makes the most power at roughly the half-way point between these two... but the efficiency is best at the extreme end of the speed range. "Comparing the Efficiency of Different Electric Motor Types": AI slop, doesn't answer the question. "Are Brushed DC Motors Still Relevant? Efficiency, Smart Control, and New Applications Explained": More AI slop. Doesn't answer the question. "Brushed vs Brushless Motors: Comparing Efficiency, Lifespan, and Performance Metrics": AI Slop. Doesn't answer question. Verdict: Crap. DuckDuckGo : AI summary citing "Brushed Motors vs. Brushless Motors": Neither answer the question. "Brushed vs Brushless: Unraveling the Mystery of Motor Efficiency": AI slop. "Comparing the Efficiency of Different Electric Motor Types": AI slop. "Brushed vs Brushless Motors: Comparing Efficiency, Lifespan, and Performance Metrics": AI slop. "Are Brushed DC Motors Still Relevant? Efficiency, Smart Control, and New Applications Explained": AI slop. Verdict: Crap. AI summary citing "Brushed DC Motor Theory": A page on a wiki run by Northwestern University. Talks about efficiency being zero under stall — which it is — but that's not what I asked about. "Brushless Vs Brushed DC Motors: When and Why to Choose One Over the Other": Probably human written, but doesn't answer the question, instead comparing two motor designs. (The efficiency curve is similar for both.) "Brushed vs Brushless: Unraveling the Mystery of Motor Efficiency": AI slop. "What’s the difference between a brushed and brushless motor, and is one better than the other?": Forum thread that isn't about the question and doesn't answer it. "Comparing the Efficiency of Different Electric Motor Types": AI Slop. Verdict: Crap. Marginalia : "Why does a Tesla car use an AC motor instead of a DC one?": A Forum thread that doesn't answer the question. Hobby CNC machining and resin casting : Lcamtuf is really good... but this isn't a page about electronics. It does mention motors, but gives no explanation for why there efficiency curve peaks at very high RPMs. CSC 297 Robot Construction: Driving Motors : A long and detailed website, that actually answers the question! The first actually relevant result. "Stepper motor - Wikipedia": Wiki page on a different type of motor. "Brushless vs. Brushed Motors [New for 2026]": AI slop. Verdict: Ok A win for marginalia! Only a single AI slop page was returned, and two of the results were detailed write-ups on motors and robotics: not LLM generated, not surface level blogspam, but actual resources that you can use for learning. Age is best indicator of a quality website: If it was written decades ago, and it's still up, someone decided it was worth keeping around for all these years. While the #3 result doesn't have a date, but it uses handwritten HTML which is quite rare nowadays. I'd guess it was written somewhere between 1990 and 2010... and this one's has been maintained as late as 2017, so they take some pride in what they wrote. This is what we loose when google promotes new content: well written pages by real people who actually care instead of a 5 minute rundown for hackernews. Chat provided a generally correct explanation, but it seems to have confused the questions with: "why do motors draw less current when when spinning quickly?". After some waffling about Back-EMF, it handwave that because the current decreased, the losses decreased — ok — and efficiency must be better... but that simply isn't true: Efficiency is the ratio of output power and input power. Under no-load conditions, the motor is drawing the minimum possible current, but it's also not producing any usable mechanical power, so it's efficiency is zero. Not only does the LLM's logic not hold water, it's much more complicated then the truth. Verdict: Crap. What is the lowest K-alpha emission energy of Molybdenum? What photodiode circuit should I use? How do airplane wings work? Why are brushed motors most efficient at high speeds? https://www.cs.rochester.edu/users/faculty/nelson/courses/csc_robocon/robot_manual/motor_drivers.html : That write up. " Ad block - [...] - Chrome web store ": Charges a $40/year subscription, allows "non-intrusive" advertising and collects data. " AdBlock Plus ": Same deal. Infobox linking to https://getadblock[.]com/ : The usual. " Get AdBlock ": ditto. " uBlock Origin ": Finally, a good result. Just in time to save google from the "crap" tier, but I doubt it's early enough to stop someone from being scammed. " Adblock Plus ": Same as google's #2. Infobox with " https://www.windowscentral[.]com/how-block-ads-and-trackers-xbox ": an ad-filled blog-spam site. It does provide reasonable instructions, but good luck reading it without an ad blocker. A second infobox linking to " Adblock vs Adblock Plus - PC Guide ": an ad-laden blog-spam comparing two sub-par extensions. (both allow "acceptable ads") " uBlock Origin ": Good, but why is it so far down? " AdBlock — block ads across the web ": The usual scammy adblocker extension. Very similar to google's top four results. " Adblock Plus " same as google's #2 " Ad block - [...] - Chrome web store ": same as google's #1 " Adblock Plus ": Yet another shady adblocker with a $40/year subscription " The Ethical Ad Blocker " (infobox): A blog post describing an ad-blocker that blocks access to any websites that have ads, which prevents any accusations of piracy. Funny and probably real, but not what users are looking for. " AdGuard Ad blocker ": Yet another of those nearly identical sketchy adblockers. " Adblock Plus ": same as google #2. " AdBlock — block ads across the web ": same as google #1 " uBlock Origin ": Finally, in the top 3! " getadblock[.]com ": More junk. " AdBlock — block ads across the web ": Same as #2, but on Microsoft's extension store instead of googles. " Ghostery Ad Blocker ": Yet another blocker that doesn't actually block ads, and has been caught selling data to advertisers. " Ad blockers are not allowed on YouTube " A blog post with a half-baked list of ways to get around youtube's ad-blocker detection. Indirectly recommends uBlock, but also a lot of stuff that won't work. Not great. " Vivaldi ": Chrome with a built in adblocker. Not a scam, but you don't need to install a new browser to block ads. " EasyList is in trouble and so are many ad blockers ": Corporate blog post about hosting problems. " Ad Blockers - Contains Moderate Peril ": A blog post about ad-blockers, recommends "AdBlocker Ultimate". Not a spam, but not the best recommendation. Incorrect AI overview citing a paper. The paper lists both K-alpha lines, but the LLM used the wrong one. Table from Lawrence Berkeley National Lab : lists the correct value. Another table , this time from an equipment manufacturer. Lists the correct value. A paper characterizing the X-ray fluorescence spectrum of molybdenum. "Characteristic X-ray - Wikipedia": an overview of X-ray emission lines, but it does not give any specific energy values. Not a relevant result. Wrong AI overview citing google's #2: It made the same mistake with Kα 2 and Kα 1 . " Molybdenum ": A nice little page from LBL listing some technical properties of molybdenum. This is the most relevant result so far. " 12.1: Fundamental Principles ": an article that happens to use molybdenum as an example, but lists wavelengths instead of photon energy. " Experimental K-alpha x ray energies ": a table of emission lines. The same paper as google's #4. A very wrong AI overview giving "0.709 eV": off by four orders of magnitude! I suspect it took the number from Bing's #3, but instead of actually converting the wavelengths to energy, it just slapped an "eV" on. Same table as google's #2. A good result. Same as google's #3. A good result. A page about the theoretical calculation of X-ray lines. Does not provide an energy for molybdenum. A list of chemical properties of molybdenum. Does not mention X-rays. Incorrect AI overview referencing a NIST publication . Same as bing #2. A good result. Same as bing #3: not relevant to the question. Same as google #4. A good result. Some data table : a perfectly fine result. No surprises here: It's a few good sources and a slightly wrong LLM summary. Verdict: ok. Marginalia : "Plasma catalytic non-oxidative conversion of methane into hydrogen and light hydrocarbons": A preprint paper that used X-ray equipment and mentioned molybdenum in passing. "XRF Technologies for Measuring Trace Elements in Soil and Sediment": Similar to #1. A paper that used X-ray equipment and mentions molybdenum, but does not answer the question. lcamtuf on Photodiodes AI overview citing #4, recommending a transimpedance amplifier, but it provides a schematic of a different configuration. "Photodiode – A Beginner’s Guide": A blog-style website with circuits that don't work, are missing important details and have poor explanations. "Photodiode Basics": Ad-ridden page which does include the rough layout of a transimpedance circuit, but with no mention of feedback capacitors. These are often needed to prevent oscillation. "What are the pros and cons for the various photodiode circuit arrangements?": A forum thread that mentions transimpedance amplifiers, but doesn't give any specifics. "Photodiode Component Basics [...] - Youtube": Video with a demonstration of a photodiode working, but without any amplification or readout circuits. AI overview citing #2, but it recommends a bad configuration with a resistor in parallel with the diode. The output is non-linear, high-Z and, difficult to use. "Photodiode – A Beginner’s Guide": Same as google #2. A bad result. "Photo Diode (Symbol, [...] Pros & Cons) Explained - Youtube": Another super generic video. "Fire Detection Circuit Using Photodiode": Content farm video with no schematic and no explanation. "Photodiode Construction and Working - Youtube": Another extremely generic explanation video. Does not include any circuits or even discuss the problem. "Photodiode – A Beginner’s Guide": Same bad article as google's #2. "Photodiode Basics": The same as google's #3: incomplete circuits on an ad-ridden page. "What are the pros and cons for the various photodiode circuit arrangements?": Same as google #4, an unhelpful forum thread. "PHOTODIODE OPERATION MODES AND CIRCUITS": Provides an example of a transimpedance amplifier, but has no example values or instructions on selecting them. " Technical notes / Si Photodiodes ": A PDF from a photodiode manufacturer, which provides practical circuits and a description of photodiode properties. This is the first results that provides enough information to actually build a working sensor. "Photodiode – A Beginner’s Guide": The same as google's #2, meh explanations and some of the circuits don't work. "Photodiode Basics": Same as google's #3: Incomplete circuits on an ad-ridden page. "PHOTODIODE OPERATION MODES AND CIRCUITS": Same as kagi #4. Not good enough to build a working circuit. "A Practical Guide to Photodiode Amplifier Circuit Design [...]": A marketing piece for a equipment manufacturer. Unlike the Hamamatsu appnote, this doesn't have any useful information. " Technical notes / Si Photodiodes ": Same application note as Kagi #5. A good result. "PIN Photodiode gamma detection amplifier circuit - rectangular wave output": Forum post with a broken circuit. Not something you want to copy. "Circuit Diagram": An unrelated forum post about an XKCD comic. "Short Circuit Limiter": Unrelated blog post. "NES Cartridge Chaos: [...]": Unrelated blog post. "How can i increase the range of values that a light sensor gives?" Forum post showing an ok configuration, but with no explanation or information on how values should be selected. It violates the conservation of momentum, because the wing doesn't impart any momentum to the air. Obviously, fans work. Airplanes can fly upside down... which shouldn't be possible if lift is some special property of the wing's shape. Paper or balsa-wood planes with flat airfoils work fine. https://www.youtube.com/watch?v=hnvtstq3ztI : Weighing an airplane as it's flying. AI summary citing a TikTok video which contains the "something something Bernoulli" argument. Not entirely wrong, but needlessly complicated and incomplete. How wings really work : A professor debunking "equal transit" with an experiment... nice, but a debunk is not an explanation. " How Airplane Wings REALLY Generate Lift ": A youtube video with the correct explanation. A good result. "ELI5: how does a wing work? - Reddit": Reddit thread, most comments are correct, but many are repeating the incorrect explanation. " How Wings Work ": A page with a mostly correct animation, but no explanation of what's happening. AI summary stating the incorrect equal-transit explanation. Seems to be referring an an old Glenn Research page with the incomplete explanation. " Airplanes ": A correct article which calls out the incorrect bernoulli argument. A good result. The same correct video from Google #3. "How Airplanes Work: A Simple Explanation for Beginners": A youtube video giving the incomplete explanation. "How Wings Work": Same as google's #5. "How Does A Wing Work? - Science Through Time": AI slop video with an bad answer. I can't tell if this it is the "equal transit" model or the incomplete one, because it doesn't include anything resembling detail or logic. " How Does A Wing Actually Work? ": A Veritasium video on youtube, with the correct explanation. A good result. " How airplane wings work ": A cool video showing airflow over a wing, during normal flight and a stall... but it's not an explanation. " How Does A Plane Wing Work? ": Correct explanation and demo. "How do airplane wings work?": Explains the structural components of a wing, but not why it's able to create lift. "Learn How Airplanes Work": A page that lists the parts of a plane, and gives the incorrect "equal-transit" explanation. How planes work : An article with a brief, but correct explanation. Dynamics of Flight An old article from Glen Research with the "something something Bernoulli" explanation. "How airplane wings actually work - Today Plane crash": AI Slop article, wrong answer. "How wings work": an animation of airflow, but does not have an explanation "How do I explain what makes an airplane fly to a non-technical person?": Forum thread of people asking the same question. A few answers are correct, but a lot aren't. I'll bin it as a bad result. "How do the Americas Cup Yachts sails work?": Forum thread about sailing. "How do I keep my futuristic racing hovercraft from becoming airplanes?": Forum thread about fantasy hovercraft. "How is the fatigue life of an airplane wing flexing during turbulence determined? How do they keep track of it?" Forum thread on accelerated life testing and maintenance of aircraft. "How do you scale a svg img to fit container?" A CSS question that just happens be about an image of an airplane. Incorrect AI summary citing the AI slop in #2. "Comparing Energy Efficiency of Brushless vs. Brushed Motors": Slop blog that claims the high speeds reduce losses in the motor's commutator, which simply isn't true. Commutator losses (arcing) generally increase with rotational speed. "Brushless Vs Brushed DC Motors: When and Why to Choose One Over the Other": AI slop advert. Does not answer the question. "What’s the difference between a brushed and brushless motor, and is one better than the other?": Reddit thread that states that brushed motors are less efficient, but gives no explanation. (also, that's not what the question asked...) "The Advantages of Brushed Motors: Powering the World with Efficiency and Simplicity - Magmotor": AI slop, doesn't answer the question. "Brushed vs Brushless Motor: Key Differences, Performance, and How to Choose": AI slop, doesn't answer question. AI summary citing #2. "Brushed vs Brushless: Unraveling the Mystery of Motor Efficiency": AI slop that doesn't answer the question. It also states that motors produce more power at high speeds, which is true, but doesn't explain the question. At any given voltage, a motor has a torque at which it stalls and a maximum speed that's reached under no load. As you would expect, the motor makes the most power at roughly the half-way point between these two... but the efficiency is best at the extreme end of the speed range. "Comparing the Efficiency of Different Electric Motor Types": AI slop, doesn't answer the question. "Are Brushed DC Motors Still Relevant? Efficiency, Smart Control, and New Applications Explained": More AI slop. Doesn't answer the question. "Brushed vs Brushless Motors: Comparing Efficiency, Lifespan, and Performance Metrics": AI Slop. Doesn't answer question. AI summary citing "Brushed Motors vs. Brushless Motors": Neither answer the question. "Brushed vs Brushless: Unraveling the Mystery of Motor Efficiency": AI slop. "Comparing the Efficiency of Different Electric Motor Types": AI slop. "Brushed vs Brushless Motors: Comparing Efficiency, Lifespan, and Performance Metrics": AI slop. "Are Brushed DC Motors Still Relevant? Efficiency, Smart Control, and New Applications Explained": AI slop. AI summary citing "Brushed DC Motor Theory": A page on a wiki run by Northwestern University. Talks about efficiency being zero under stall — which it is — but that's not what I asked about. "Brushless Vs Brushed DC Motors: When and Why to Choose One Over the Other": Probably human written, but doesn't answer the question, instead comparing two motor designs. (The efficiency curve is similar for both.) "Brushed vs Brushless: Unraveling the Mystery of Motor Efficiency": AI slop. "What’s the difference between a brushed and brushless motor, and is one better than the other?": Forum thread that isn't about the question and doesn't answer it. "Comparing the Efficiency of Different Electric Motor Types": AI Slop. "Why does a Tesla car use an AC motor instead of a DC one?": A Forum thread that doesn't answer the question. Hobby CNC machining and resin casting : Lcamtuf is really good... but this isn't a page about electronics. It does mention motors, but gives no explanation for why there efficiency curve peaks at very high RPMs. CSC 297 Robot Construction: Driving Motors : A long and detailed website, that actually answers the question! The first actually relevant result. "Stepper motor - Wikipedia": Wiki page on a different type of motor. "Brushless vs. Brushed Motors [New for 2026]": AI slop.

0 views
Julia Evans 2 days ago

Moving away from Tailwind, and learning to structure my CSS

Hello! 8 years ago, I wrote excitedly about discovering Tailwind . At that time I really had no idea how to structure my CSS code and given the choice between a pile of complete chaos and Tailwind, I was really happy to choose Tailwind. It helped me make a lot of tiny sites! I spent the last week or so migrating a couple of sites away from Tailwind and towards more semantic HTML + vanilla CSS, and it was SO fun and SO interesting, so here are some things I learned! As usual I’m not a full-time frontend developer and so all of my CSS learning has happened in fits and starts over many years. When I started thinking about structuring CSS, I was intimidated at first: I’m not very good at structuring my CSS! But then I started reading blog posts talking about how to structure CSS (like A whole cascade of layers or How I write CSS in 2024 ) and I realized a couple of things: For example, Tailwind has: I’m going to talk about a few aspects of my CSS codebase and my thoughts so far what kind of rules I want to impose on the codebase for each one. Some of them are copied from Tailwind and some aren’t. I just copied Tailwind’s “ preflight styles ” by going into and copying the first 200 lines or so. I noticed that I’ve developed a relationship with Tailwind’s CSS reset over time, for example Tailwind sets on every element (which means that an element’s width includes its padding): I think it would be a real adjustment for me to switch to writing CSS without these, and I’m sure there are lots of other things in the Tailwind reset (like ) that I’m subconsciously used to and don’t even realize are there. This next part is the bulk of the CSS! The idea here is to organize CSS by “components”, in a way that’s spiritually related to Vue or React components. (though there might not actually be any Javascript at all in the site) Basically the idea is that: So editing the CSS for one component won’t mysteriously break something in another component. And probably like 80% of the CSS that I would actually want to change is in various component files, so if I’m editing a 100-line component, I just have to think about those 100 lines. It’s way easier for me to think about. For example, this HTML might be the “component”. And the CSS looks something like this, using nested selectors: I haven’t done anything programmatic (like web components or @scope ) that ensures that components won’t interfere with each other, but just having a convention and trying my best already feels like a big improvement. Next: conventions to maintain some consistency across the site and keep these components in line with each other! has a bunch of variables like this which I can use as necessary. Colour is really hard and I didn’t want to revisit my use of colour in this refactor, so I left this alone. The only guideline I’m trying to enforce here is that all colours used in the site are listed in this file. One thing I appreciated about Tailwind was that if I wanted to set a font size, I could just think “hm, I want the text to be big”, write , and be done with it! And maybe if it’s not big enough I’d use or instead. No trying to remember whether I’m using or or . So I defined a bunch of variables, taken from Tailwind, like this: Then if I want to set a font size, I can do it like this. It’s a little more verbose than Tailwind but I’m happy with it for now. There are some things like buttons that appear in many different components. I’m calling these “utilities”. I copied some utility classes from Tailwind (like for things that should only appear for screenreader users). This section is pretty small and I try to be careful about making changes here. “base” styles are styles that apply across the whole site that I chose myself. I have to keep this section really small because I’m not confident enough to enforce a lot of styles across the whole site. These are the only two I feel okay about right now, and I might change the one: I think for the base styles it’s going to be easiest for me to work kind of bottom up – first start with almost nothing in the base styles, and then move some styles from the components into base styles as I identify common things I want. I haven’t completely worked out an approach to managing padding and margins yet. I’m definitely trying to be more principled than how I was doing it in Tailwind though, where I would just haphazardly put padding and margins everywhere until it looked the way I wanted. Right now I’m working towards making the outer layout components in charge of spacing as much as possible. For example if I have a with a bunch of children that I want to have space between them, I might use this to space the children evenly: Some inspiration blog posts: The way I was doing responsive design in Tailwind was to use a lot of media queries. Tailwind has this syntax that means “apply the style at sizes or larger”. I’m trying something pretty different now, which is to make more flexible CSS grid layouts that don’t need as many breakpoints. This is hard but it’s really interesting to learn about what’s possible with grid, and it’s a good example of something that I don’t think is possible with Tailwind. For example, I’ve been learning about how to use to automatically use 2 columns on a big screen and 1 column on a small screen like this: I also used a lot which is an amazing feature that I don’t think you can use with Tailwind. Some inspiration: In development, I don’t need a build system: CSS now has both built in import statements, like this: and built in nested selectors, like this: If I want, I can use to bundle the CSS file for production. That looks something like this. Even though I usually avoid using CSS and JS build systems, I don’t mind using esbuild (which I wrote about in 2021 here ) because it’s based on web standards and because it’s a static Go binary. A few people asked why I was migrating away from Tailwind. A few factors that contributed are: While doing this I learned about a lot of CSS features that I didn’t use but am curious about learning about one day: I still feel happy that I started using Tailwind, even if I’m moving away from it now. I learned a lot from using it and I can still use some parts from it in my sites even after deleting . Thanks to Melody Starling who originally designed and wrote the CSS for wizardzines.com , everything cool and fun about the site is thanks to Melody. Also I read so many incredible blog posts about CSS while working on this (from CSS Tricks , Smashing Magazine , and more), I’ve tried to link some of them throughout this post and I really appreciate how much folks in the CSS community share their practices. Every CSS code base has a bunch of different things going on (layouts! fonts! colours! common components!) It’s extremely useful to have systems or guidelines to manage each of those things, otherwise things descend into chaos Tailwind has systems for some of these, and I already know those systems! Maybe I can imitate the systems I like! a reset stylesheet a colour palette a font scale utility classes responsive design the build system Each “component” has a unique class The CSS for one component never overrides the CSS for any other component Each component has its own CSS file the owl selector “no outer margin” A responsive grid layout with no media queries from CSS Tricks Tailwind has become much more reliant on a build system since 2018, I think it’s impossible (?) to use newer versions of Tailwind without using a build system. So I’ve been using Tailwind v2 for years. (there’s also litewind apparently) It’s always been true that you’re supposed to use Tailwind with a build system, but I’ve never really done that, so I have 2.8MB files in a lot of my projects and it feels a little silly. I’m a lot better at CSS than I was when I started using Tailwind Ultimately Tailwind is limiting: if you want to do Weird Stuff in your CSS, it’s not always possible with Tailwind. Those limits can be extremely useful (a lot of this post is about me reimplementing some of Tailwind’s limits!) but at this point I’d like to be able to pick and choose. I ended up with sites that mixed both vanilla CSS and Tailwind in the same project and that was not fun to maintain I got curious about what writing more semantic HTML would feel like. (from A Whole Cascade of Layers ) container queries

0 views