10 interesting stories served every morning and every evening.
On January 14, 2006, John Resig introduced a JavaScript library called jQuery at BarCamp in New York City. Now, 20 years later, the jQuery team is happy to announce the final release of jQuery 4.0.0. After a long development cycle and several pre-releases, jQuery 4.0.0 brings many improvements and modernizations. It is the first major version release in almost 10 years and includes some breaking changes, so be sure to read through the details below before upgrading. Still, we expect that most users will be able to upgrade with minimal changes to their code.
Many of the breaking changes are ones the team has wanted to make for years, but couldn’t in a patch or minor release. We’ve trimmed legacy code, removed some previously-deprecated APIs, removed some internal-only parameters to public functions that were never documented, and dropped support for some “magic” behaviors that were overly complicated.
We have an upgrade guide and jQuery Migrate plugin release ready to assist with the transition. Please upgrade and let us know if you encounter any issues.
As usual, the release is available on our CDN and the npm package manager. Other third party CDNs will probably have it available soon as well, but remember that we don’t control their release schedules and they will need some time. Here are the highlights for jQuery 4.0.0.
jQuery 4.0 drops support for IE 10 and older. Some may be asking why we didn’t remove support for IE 11. We plan to remove support in stages, and the next step will be released in jQuery 5.0. For now, we’ll start by removing code specifically supporting IE versions older than 11.
We also dropped support for other very old browsers, including Edge Legacy, iOS versions earlier than the last 3, Firefox versions earlier than the last 2 (aside from Firefox ESR), and Android Browser. No changes should be required on your end. If you need to support any of these browsers, stick with jQuery 3.x.
jQuery 4.0 adds support for Trusted Types, ensuring that HTML wrapped in TrustedHTML can be used as input to jQuery manipulation methods in a way that doesn’t violate the require-trusted-types-for Content Security Policy directive.
Along with this, while some AJAX requests were already using tags to maintain attributes such as crossdomain, we have since switched most asynchronous script requests to use <script> tags to avoid any CSP errors caused by using inline scripts. There are still a few cases where XHR is used for asynchronous script requests, such as when the”headers” option is passed (use scriptAttrs instead!), but we now use a tag whenever possible.
It was a special day when the jQuery source on the main branch was migrated from AMD to ES modules. The jQuery source has always been published with jQuery releases on npm and GitHub, but could not be imported directly as modules without RequireJS, which was jQuery’s build tool of choice. We have since switched to Rollup for packaging jQuery and we do run all tests on the ES modules separately. This makes jQuery compatible with modern build tools, development workflows, and browsers through the use of .
...
Read the original on blog.jquery.com »
About Space Weather
Products and DataForecasts
Report and Forecast of Solar and Geophysical Activity
Weak or minor degradation of HF radio communication on sunlit side, occasional loss of radio contact.
Low-frequency navigation signals degraded for brief intervals.
More about the NOAA Space Weather Scales
G4 Levels were first reached at 2:38pm EST (1938 UTC) on 19 January, 2026 upon CME shock arrival. CME passage is expected to continue through the evening with G4 levels remaining possible.
...
Read the original on www.swpc.noaa.gov »
Apple is testing a new design for App Store search ads on iPhone. Some users on iOS 26.3 are noticing that the blue background around sponsored results is no longer shown, blurring the line between what paid ad results look like and the real search results that follow.
This means the only differentiator between organic results and the promoted ad is the presence of the small ‘Ad’ banner next to the app icon. Right now, it appears to be in some kind of A/B test phase.
We have asked Apple for clarity on the change, and whether this will roll out more widely in the future.
It may be related to the company’s announcement from December that App Store search results will soon start including more than one sponsored result for a given search query. The removal of the blue background will mean all of the ads will appear in the list in a more integrated fashion.
Of course, this also has the effect of making it harder for users to quickly distinguish at a glance what is an ad and what isn’t, potentially misleading some users into not realising that the first result is a paid ad placement. While not great for user experience, it probably helps increase click-through rates which ultimately boosts Apple’s revenue in its ads business.
...
Read the original on 9to5mac.com »
The Incredible Overcomplexity of the Shadcn Radio Button
The other day I was asked to update the visual design of radio buttons in a web app at work. I figured it couldn’t be that complicated. It’s just a radio button right?
Boom! Done. Radio buttons are a built-in HTML element. They’ve been around for 30 years. The browser makes it easy. Time for a coffee.
I dug into our codebase and realized we were using two React components from
Shadcn to power our radio buttons: and
For those unfamiliar with Shadcn, it’s a UI framework that provides a bunch of prebuilt UI components for use in your websites. Unlike traditional UI frameworks like Bootstrap, you don’t import it with a script tag or
npm install. Instead you run a command that copies the components into your codebase.
Here’s the code that was exported from Shadcn into our project:
“use client”;
import * as React from “react”;
import * as RadioGroupPrimitive from “@radix-ui/react-radio-group”;
import { CircleIcon } from “lucide-react”;
import { cn } from “@/lib/utils”;
function RadioGroup({
className,
…props
}: React. ComponentProps
Woof… 3 imports and 45 lines of code. And it’s importing a third party icon library just to render a circle. (Who needs CSS border-radius or the SVG
element when you can add a third party dependency instead?)
All of the styling is done by the 30 different Tailwind classes in the markup. I should probably just tweak those to fix the styling issues.
But now I’m distracted, annoyed, and curious. Where’s the actual ? What’s the point of all this? Let’s dig a little deeper.
The Shadcn components import components from another library called Radix. For those unfamiliar with Radix, it’s a UI framework that provides a bunch of prebuilt UI components…
Wait a second! Isn’t that what I just said about Shadcn? What gives? Why do we need both? Let’s see what the Radix docs say:
Radix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.
So Radix provides unstyled components, and then Shadcn adds styles on top of that. How does Radix work? You can see for yourself on GitHub:
https://github.com/radix-ui/…
This is getting even more complicated: 215 lines of React code importing 7 other files. But what does it actually do?
Taking a look in the browser
Let’s look in the browser dev tools to see if we can tell what’s going on.
Okay, instead of a radio input it’s rendering a button with an SVG circle inside it? Weird.
It’s also using
ARIA attributes
to tell screen readers and other assistive tools that the button is actually a radio button.
ARIA attributes allow you to change the semantic meaning of HTML elements. For example, you can say that a button is actually a radio button. (If you wanted to do that for some strange reason.)
If you can use a native HTML element or attribute with the semantics and behavior you require already built in, instead of re-purposing an element and adding an ARIA role, state or property to make it accessible, then do
so.
Despite that, Radix is repurposing an element and adding an ARIA role instead of using a native HTML element.
Finally, the component also includes a hidden but only if it’s used inside of a element. Weird!
This is getting pretty complicated to just render a radio button. Why would you want to do this?
Styling radio buttons is hard (Wait, is it?)
My best guess is that Radix rebuilds the radio button from scratch in order to make it easier to style. Radio buttons used to be difficult to style consistently across browsers. But for several years we’ve been able to style radio buttons however we want using a few CSS tools:
appearance: none removes the radio button’s default styling allowing us to
do whatever we want.
We can use the ::before pseudo-element to render a “dot” inside of the
unstyled radio button.
We can use the :checked pseudo-class to show and hide that dot depending on
whether the radio button is checked.
input[type=“radio”] {
/* Disable the browser’s default radio button styles */
appearance: none;
margin: 0;
/* Recreate the circle container */
border: 1px solid black;
background: white;
border-radius: 50%;
/* Center our dot in the container */
display: inline-grid;
place-content: center;
/* Use a pseudo-element to display our “dot” */
&::before {
content: “”;
width: 0.75rem;
height: 0.75rem;
border-radius: 50%;
/* And display it when the radio button is checked */
&:checked::before {
background: black;
This doesn’t require any dependencies, JavaScript, or ARIA roles. It’s just an input element with some styles. (You can do the same thing with Tailwind if that’s your jam.)
It does require knowledge of CSS but this isn’t some arcane secret.
Googling “how to style a radio button”
shows several blog posts explaining these techniques. You may say this is a lot of CSS, but the Shadcn component we were using had 30 Tailwind classes!
I’m not trying to convince you to write your own component styles
Look, I get it. You’ve got a lot going on. You’re not big on CSS. You just want to grab some prebuilt components so you can focus on the actual problem you’re solving.
I totally understand why people reach for component libraries like Shadcn and I don’t blame them at all. But I wish these component libraries would keep things simple and reuse the built-in browser elements where possible.
Web development is hard. There’s inherent complexity in building quality sites that solve problems and work well across a wide range of devices and browsers.
But some things don’t have to be hard. Browsers make things like radio buttons easy. Let’s not overcomplicate it.
To understand how our radio buttons work I need to understand two separate component libraries and hundreds of lines of React.
Website visitors need to wait for JavaScript to load, parse, and run in order to be able to toggle a radio button. (In my testing, just adding these components added several KB of JS to a basic app.)
Why am I making such a big deal out of this? It’s just a radio button.
But these small decisions add up to more complexity, more cognitive load, more bugs, and worse website performance.
We have strayed so far from the light
Look at it. It’s beautiful:
...
Read the original on paulmakeswebsites.com »
With a balanced sales structure across individual markets, Dr. Ing. h.c. F. Porsche AG, Stuttgart, delivered a total of 279,449 cars to customers around the world in 2025. The figure was 310,718 for the previous year, representing a decline of 10 per cent. Porsche’s top priority remains a value-oriented derivative mix.
“After several record years, our deliveries in 2025 were below the previous year’s level. This development is in line with our expectations and is due to supply gaps for the 718 and Macan combustion-engined models, the continuing weaker demand for exclusive products in China, and our value-oriented supply management,” says Matthias Becker, Member of the Executive Board for Sales and Marketing at Porsche AG. “In 2025, we delighted our customers with outstanding cars — such as the 911 Turbo S with its T-Hybrid drive system.” The response to the launch of the Cayenne Electric at the end of 2025 also shows, Becker adds, that Porsche is meeting customer expectations with its innovative and high-performance products.
With 84,328 deliveries, the Macan was the best-selling model line. North America remains the largest sales region with 86,229 deliveries — a figure that is in line with the previous year.
Porsche repositioned itself in 2025 and made forward-looking strategic product decisions. The delivery mix in 2025 underscores that the sports car manufacturer is consistently responding to global customer preferences by expanding its drivetrain strategy to offer combustion-engined, plug-in hybrid, and fully electric cars. In 2025, 34.4 per cent of Porsche cars delivered worldwide were electrified (+7.4 percentage points), with 22.2 per cent being fully electric and 12.1 per cent being plug-in hybrids. This puts the global share of fully electric vehicles at the upper end of the target range of 20 to 22 per cent for 2025. In Europe, for the first time, more electrified cars were delivered than pure combustion-engined models (57.9 per cent electrification share), with every third car being fully electric. Among the Panamera and Cayenne models, plug-in hybrid derivatives dominate the European delivery figures. At the same time, the combustion-engined and T-Hybrid 911 set a new benchmark with 51,583 deliveries worldwide.
With 86,229 deliveries, North America remains the largest sales region, as it was the year prior. After record deliveries in 2024, the Overseas and Emerging Markets also largely maintained its previous-year levels, with 54,974 cars delivered (-1 per cent). In Europe (excluding Germany), Porsche delivered 66,340 cars by the end of the year, down 13 per cent year-on-year. In the German home market, 29,968 customers took delivery of new cars — a decline of 16 per cent. Reasons for the decrease in both regions include supply gaps for the combustion-engined 718 and Macan models due to EU cybersecurity regulations.
In China, 41,938 cars were delivered to customers (-26 per cent). Key reasons for the decline remain challenging market conditions, especially in the luxury segment, as well as intense competition in the Chinese market, particularly for fully electric models. Porsche continues to focus on value-oriented sales.
Deliveries of the Macan totaled 84,328 units (+2 per cent), with fully electric versions accounting for over half at 45,367 vehicles. In most markets outside the EU, the combustion-engined Macan continues to be offered, with 38,961 of these being delivered. Some 27,701 Panamera models were delivered by the end of December (-6 per cent).
The 911 sports car icon recorded 51,583 deliveries by year-end (+1 per cent), setting another delivery record. The 718 Boxster and 718 Cayman totaled 18,612 deliveries, down 21 per cent from the previous year due to the model line’s phase-out. Production ended in October 2025.
The Taycan accounted for 16,339 deliveries (-22 per cent), mainly due to the slowdown in the adoption of electromobility. The keys to 80,886 Cayenne models were handed to customers in 2025, a decline of 21 per cent, partly due to catch-up effects the previous year. The new fully electric Cayenne celebrated its world premiere in November, with the first markets to offer the model beginning to deliver to customers from this spring. It will be offered alongside combustion-engined and plug-in hybrid versions of the Cayenne.
Looking ahead, Matthias Becker says: “In 2026, we have a clear focus; we want to manage demand and supply according to our ‘value over volume’ strategy. At the same time, we are planning our volumes for 2026 realistically, considering the production phase-out of the combustion-engined 718 and Macan models.” In parallel, Porsche is consistently investing in its three-pronged powertrain strategy and will continue to inspire customers with unique sports cars in 2026. An important component is the expansion of the brand’s customization offering — via both the Exclusive Manufaktur and Sonderwunsch program. In doing so, the company is responding to customers’ ever-increasing desire for individualization.
All amounts are individually rounded to the nearest cent; this may result in minor discrepancies when summed.
This press release contains forward-looking statements and information on the currently expected business development of Porsche AG. These statements are subject to risks and uncertainties. They are based on assumptions about the development of economic, political and legal conditions in individual countries, economic regions and markets, in particular for the automotive industry, which we have made based on the information available to us and which we consider to be realistic at the time of publication. If any of these or other risks materialise, or if the assumptions underlying these statements prove incorrect, the actual results could be significantly different from those expressed or implied by such statements. Forward-looking statements in this presentation are based solely on the information pertaining on the day of publication.
These forward-looking statements will not be updated later. Such statements are valid on the day of publication and may be overtaken by later events.
This information does not constitute an offer to exchange or sell or offer to exchange or purchase securities.
Join us as we revisit the most significant moments — and take a look ahead to 2026.
Porsche AG resolutely pushed ahead with its decision to realign its product strategy at the end of the third quarter of 2025.
Porsche has significantly increased the proportion of electrified vehicles sold in the first nine months of 2025.
Between January and June, a total of 146,391 vehicles were delivered to customers worldwide.
* Where values are indicated as ranges, they do not refer to a single, specific vehicle and are not part of the offered product range. They are only for the purposes of comparison between different vehicle types. Additional equipment and accessories (add-on parts, tyre formats etc.) can change relevant vehicle parameters such as weight, rolling resistance and aerodynamics. These factors, in addition to weather, traffic conditions and driving behaviour, can influence the fuel/electricity consumption, CO emissions, range and performance values of a vehicle.
** Important information about the all-electric Porsche models can be found here.
1. All information offered on Porsche Newsroom, including but not limited to, texts, images, audio and video documents, are subject to copyright or other legislation for the protection of intellectual property. They are intended exclusively for use by journalists as a source for their own media reporting and are not intended for commercial use, in particular for advertising purposes. It is not permitted to pass on texts, images, audio or video data to unauthorised third parties.
2. Use of Newsroom content for book projects (or similar commercial use) is not permitted, particular with regards to images. Any potential usage must be approved beforehand by Dr. Ing. h.c. F. Porsche AG. To discuss licencing requests for book projects please email: archiv@porsche.de
3. All logos and trademarks mentioned on Porsche Newsroom are trademarks of Dr. Ing. h.c. F. Porsche AG (hereinafter: Porsche AG), unless otherwise stated.
4. All contents of Porsche Newsroom are carefully researched and compiled. Nevertheless, the information may contain errors or inaccuracies. Porsche AG does not accept any liability with respect to the results that may be achived through the use of the information, in particular with respect to accuracy, up-to-dateness and completeness.
5. Insofar as Porsche Newsroom provides information concerning vehicles, the data refers to the German market. Statements concerning standard equipment and statutory, legal and tax regulations and repercussion are valid for the Federal Public of Germany only.
6. With respect to the use of Porsche Newsroom, technical faults such as, delays to news transmission, cannot be ruled out. Porsche AG does not accept any liability for any resulting damage.
7. Insofar as Porsche Newsroom provides links to the internet sites of third parties, Porsche AG does not accept any responsibility for the content of the linked sites. On using the links, the user leaves the Porsche AG information products.
8. In agreeing to these rights of use, the user shall be obliged to refrain from any improper use of Porsche Newsroom.
9. In the event of improper use, Porsche AG reserves the right to block access to Porsche Newsroom.
10. Should one or more provisions of these terms and conditions be or become invalid, this shall not affect the validity of the remaining provisions.
...
Read the original on newsroom.porsche.com »
For the past week, I’ve found myself playing the same 23-second CNN clip on repeat. I’ve watched it in bed, during my commute to work, at the office, midway through making carrot soup, and while brushing my teeth. In the video, Harry Enten, the network’s chief data analyst, stares into the camera and breathlessly tells his audience about the gambling odds that Donald Trump will buy any of Greenland. “The people who are putting their money where their mouth is—they are absolutely taking this seriously,” Enten says. He taps the giant touch screen behind him and pulls up a made-for-TV graphic: Based on how people were betting online at the time, there was a 36 percent chance that the president would annex Greenland. “Whoa, way up there!” Enten yells, slapping his hands together. “My goodness gracious!” The ticker at the bottom of the screen speeds through other odds: Will Gavin Newsom win the next presidential election? 19 percent chance. Will Viktor Orbán be out as the leader of Hungary before the end of the year? 48 percent chance.
These odds were pulled from Kalshi, which hilariously claims not to be a gambling platform: It’s a “prediction market.” People go to sites such as Kalshi and Polymarket—another big prediction market—in order to put money down on a given news event. Nobody would bet on something that they didn’t believe would happen, the thinking goes, and so the markets are meant to forecast the likelihood of a given outcome.
Listen: Prediction markets and the “suckerification” crisis, with Max Read
Prediction markets let you wager on basically anything. Will Elon Musk father another baby by June 30? Will Jesus return this year? Will Israel strike Gaza tomorrow? Will the longevity guru Bryan Johnson’s next functional sperm count be greater than “20.0 M/ejac”? These sites have recently boomed in popularity—particularly among terminally online young men who trade meme stocks and siphon from their 401(k)s to buy up bitcoin. But now prediction markets are creeping into the mainstream. CNN announced a deal with Kalshi last month to integrate the site’s data into its broadcasts, which has led to betting odds showing up in segments about Democrats possibly retaking the House, credit-card interest rates, and Federal Reserve Chair Jerome Powell. At least twice in the past two weeks, Enten has told viewers about the value of data from people who are “putting their money where their mouth is.”
On January 7, the media giant Dow Jones announced its own collaboration with Polymarket and said that it will begin integrating the site’s odds across its publications, including The Wall Street Journal. CNBC has a prediction-market deal, as does Yahoo Finance, Sports Illustrated, and Time. Last week, MoviePass announced that it will begin testing a betting platform. On Sunday, the Golden Globes featured Polymarket’s forecasts throughout the broadcast—because apparently Americans wanted to know whether online gamblers favored Amy Poehler or Dax Shepard to win Best Podcast.
Media is a ruthless, unstable business, and revenue streams are drying up; if you squint, you can see why CNN or Dow Jones might sign a contract that, after all, provides its audience with some kind of data. On air, Enten cites Kalshi odds alongside Gallup polls and Google searches—what’s the difference? “The data featured through our partnership with Kalshi is just one of many sources used to provide context around the stories or topics we are covering and has no impact on editorial judgment,” Brian Poliakoff, a CNN spokesperson, told me in a statement. Nolly Evans, the Journal’s digital general manager, told me that Polymarket provides the newspaper’s journalists with “another way to quantify collective expectations—especially around financial or geopolitical events.” In an email, Jack Suh, a Kalshi spokesperson, told me that the company’s partnerships are designed to inform the public, not to encourage more trading. Polymarket declined to comment.
The problem is that prediction markets are ushering in a world in which news becomes as much about gambling as about the event itself. This kind of thing has already happened to sports, where the language of “parlays” and “covering the spread” has infiltrated every inch of commentary. ESPN partners with DraftKings to bring its odds to SportsCenter and Monday Night Football; CBS Sports has a betting vertical; FanDuel runs its own streaming network. But the stakes of Greenland’s future are more consequential than the NFL playoffs.
The more that prediction markets are treated like news, especially heading into another election, the more every dip and swing in the odds may end up wildly misleading people about what might happen, or influencing what happens in the real world. Yet it’s unclear whether these sites are meaningful predictors of anything. After the Golden Globes, Polymarket CEO Shayne Coplan excitedly posted that his site had correctly predicted 26 of 28 winners, which seems impressive—but Hollywood awards shows are generally predictable. One recent study found that Polymarket’s forecasts in the weeks before the 2024 election were not much better than chance.
These markets are also manipulable. In 2012, one bettor on the now-defunct prediction market Intrade placed a series of huge wagers on Mitt Romney in the two weeks preceding the election, generating a betting line indicative of a tight race. The bettor did not seem motivated by financial gain, according to two researchers who examined the trades. “More plausibly, this trader could have been attempting to manipulate beliefs about the odds of victory in an attempt to boost fundraising, campaign morale, and turnout,” they wrote. The trader lost at least $4 million but might have shaped media attention of the race for less than the price of a prime-time ad, they concluded.
A billionaire congressional candidate can’t just send a check to Quinnipiac University and suddenly find himself as the polling front-runner, but he can place enormous Polymarket bets on himself that move the odds in his favor. Or consider this hypothetical laid out by the Stanford political scientist Andrew Hall: What if, a month before the 2028 presidential election, the race is dead even between J. D. Vance and Mark Cuban? Inexplicably, Vance’s odds of winning surge on Kalshi, possibly linked to shady overseas bets. CNN airs segment after segment about the spike, turning it into an all-consuming national news story. Democrats and Republicans point fingers at each other, and no one knows what’s really going on. Such a scenario is “plausible—maybe even likely—in the coming years,” Hall writes. It doesn’t help that the Trump Media and Technology Group, the owner of the president’s social-media platform, Truth Social, is set to launch its own platform, Truth Predict. (Donald Trump Jr. is an adviser to both Kalshi and Polymarket.)
The irony of prediction markets is that they are supposed to be a more trustworthy way of gleaning the future than internet clickbait and half-baked punditry, but they risk shredding whatever shared trust we still have left. The suspiciously well-timed bets that one Polymarket user placed right before the capture of Nicolás Maduro may have been just a stroke of phenomenal luck that netted a roughly $400,000 payout. Or maybe someone with inside information was looking for easy money. Last week, when White House Press Secretary Karoline Leavitt abruptly ended her briefing after 64 minutes and 30 seconds, many traders were outraged, because they had predicted (with 98 percent odds) that the briefing would run past 65 minutes. Some suspected, with no evidence, that Leavitt had deliberately stopped before the 65-minute mark to turn a profit. (When I asked the White House about this, the spokesperson Davis Ingle told me in a statement, “This is a 100% Fake News narrative.”)
Read: The Polymarket bets on Maduro are a warning
Unintentionally or not, this is what happens when media outlets normalize treating every piece of news and entertainment as something to wager on. As Tarek Mansour, Kalshi’s CEO, has said, his long-term goal is to “financialize everything and create a tradable asset out of any difference in opinion.” (Kalshi means “everything” in Arabic.) What could go wrong? As one viral post on X recently put it, “Got a buddy who is praying for world war 3 so he can win $390 on Polymarket.” It’s a joke. I think.
...
Read the original on www.theatlantic.com »
up & to the right
2024 Nano Texture Macbook Pro on the left; 2021 Glossy Macbook Pro on the right
TLDR: the Nano Texture performs wonderfully anywhere where light used to be a factor and used to force me to shade my screen or avoid the place entirely.
I’m less concerned with where I sit indoors. Coffee shops / offices with skylights or intense lighting are much more comfortable
Coding and working outside is now feasible: browsing the internet, writing in Obsidian; all delightful
The screen needs more effort to keep clean than a normal screen and comes with a special wipe that needs to be used instead of microfiber
Black text on white background (light mode) is considerably more readable than white text on black background (dark mode)
Big thanks to Julie Kruger for the comparison photos and CJ for draft feedback.
A few months after I got the Daylight Computer (read my thoughts here), two friends sent me this post comparing the old Macbook Pro displays to the new Nano Texture glass ones. That post convinced me to upgrade my computer in short order, to the dismay of my wallet.
In the four months I’ve had it I’ve told at least a dozen people about it, and I’m gonna keep telling people. Being able to take my entire computing environment to places without being worried about glare has expanded the range of environments I can create in. It means I get to be in environments that are more interesting, fun, and in tune with my body.
What follows are some thoughts about how this display has fit into my day to day life in the couple of months I’ve had it.
Typical matt displays have a coating added to their surface that scatters light. However, these coatings lower contrast while producing unwanted haze and sparkle. Etched into the glass at the nanometre level, the nano-texture scatters light to further minimise glare — for outstanding image quality even in challenging lighting conditions.
Basically, it’s a coating physically etched into the screen that reflects light differently from the glossy finish of the traditional screen.
Cursor on the 2021 MBP (Glossy) on the left; 2024 MBP (Nano Texture) on the right
First off, this isn’t apples to oranges - these are different technologies that in my mind, serve a different purpose. The Daylight Computer is an Android tablet, the Macbook Pro is a full MacOS laptop.
The transflective LCD in the Daylight Computer is grayscale but it needs no light to function. It has a backlight, but where it does really well is in direct sunlight with the backlight turned off. When outside in direct sunlight, toggling the Daylight’s backlight on and off doesn’t make a difference because it works fundamentally different from a laptop screen.
white text on black background has about the same readability as black text on white background
the backlight can be lowered to 0% outside with no impact to visibility and making the battery last wonderfully long
grayscale + lower DPI limits how much text can fit on the screen
Daylight being a tablet form factor means I have to fiddle around with a configuration that will hold my screen in an ideal angle. It’s reasonably forgiving but certain angles are harder to see with than others
2024 MBP on left; 2021 MBP on right. Dark mode is less ideal on both.
The Nano Texture MacBook Pro is still ultimately a traditional LCD screen. This means the only way to see the screen is if the backlight is powered on: having the backlight off in direct sunlights results in a black screen. Also, it’s worth noting:
white text on black bg is a lot less readable than black text on white bg
the backlight generally has to be at 90%+ to be comfortable
retina display + wide swath of the color spectrum means most of what I can do indoors, I can do outdoors as well
being a laptop with a hinge, it’s very easy to find the exact angle I want that minimizes glare & maximizes comfort
Both however are an incredible upgrade over outdoor computing options from just 1 year ago. I believe these are both massive steps in terms of ergonomics and freedom to be in more places as we compute.
some downsides to consider
fingerprints, splatters, and smudges are mildly annoying indoors but almost fluorescent outdoors
rubbing alcohol cleans them off when friction alone doesn’t do the trick but it still takes some rubbing. as far as I can tell, it’s not degrading the finish but I also try to clean it with the cloth before applying alcohol
they give you one special screen cleaning cloth. I think the ideal number is like 5. Only this one can be used for Nano Texture screens.
I read somewhere that this is because traditional microfiber cloths will shred into the screen, degrading visibility (but I can’t remember where so don’t quote me on on this)
I’ve learned to bring my special wipe when I bring my laptop, and I slip a few rubbing alcohol wipes in there as well. I wet the Special Cloth with the alcohol wipes, and then apply the Special Cloth to the screen. This is definitely high maintenance
I have to swat other people’s hands away when they try to point something out on my screen with their pizza fingers
I’m more paranoid about swinging a USB C cable up against my screen or closing my laptop down on a grain of rice. I was less worried with my old screen
The Nano Texture upgrade is an extra $150 on an already-expensive computer
Closing the MacBook results in slight rubbing on the screen at the bottom of the keyboard / top of the trackpad, leaving scratches on the screen. So far this isn’t detrimental when the brightness is up; it’s only visible with the backlight off
I don’t think this is a new thing because my old MacBook Pro (glossy screen) has scratches in the same exact place but I am worried about them being more visible on the Nano Texture screen in the long run
If you get annoyed by the glare of your screen and don’t mind a bit of extra mental bandwidth to keep your screen clean, I would highly recommend considering a Nano Texture display upgrade on your next laptop purchase. If you have a chaotic environment and can’t be bothered to keep your screen clean, or you aren’t bothered much by glare or reflections in the environments you work in, then the Nano Texture is probably not for you.
tomsguide.com: I put the M4 MacBook Pro’s nano-texture display to the test and it’s a game-changer
...
Follow @seanhn
Recently I ran an experiment where I built agents on top of Opus 4.5 and GPT-5.2 and then challenged them to write exploits for a zeroday vulnerability in the QuickJS Javascript interpreter. I added a variety of modern exploit mitigations, various constraints (like assuming an unknown heap starting state, or forbidding hardcoded offsets in the exploits) and different objectives (spawn a shell, write a file, connect back to a command and control server). The agents succeeded in building over 40 distinct exploits across 6 different scenarios, and GPT-5.2 solved every scenario. Opus 4.5 solved all but two. I’ve put a technical write-up of the experiments and the results on Github, as well as the code to reproduce the experiments.
In this post I’m going to focus on the main conclusion I’ve drawn from this work, which is that we should prepare for the industrialisation of many of the constituent parts of offensive cyber security. We should start assuming that in the near future the limiting factor on a state or group’s ability to develop exploits, break into networks, escalate privileges and remain in those networks, is going to be their token throughput over time, and not the number of hackers they employ. Nothing is certain, but we would be better off having wasted effort thinking through this scenario and have it not happen, than be unprepared if it does.
A Brief Overview of the Experiment
All of the code to re-run the experiments, a detailed write-up of them, and the raw data the agents produced are on Github, but just to give a flavour of what the agents accomplished:
Both agents turned the QuickJS vulnerability into an ‘API’ to allow them to read and arbitrarily modify the address space of the target process. As the vulnerability is a zeroday with no public exploits for it, this capability had to be developed by the agents through reading source code, debugging and trial and error. A sample of the notable exploits is here and I have written up one of them in detail here.
They solved most challenges in less than an hour and relatively cheaply. I set a token limit of 30M per agent run and ran ten runs per agent. This was more than enough to solve all but the hardest task. With Opus 4.5 30M total tokens (input and output) ends up costing about $30 USD.
In the hardest task I challenged GPT-5.2 it to figure out how to write a specified string to a specified path on disk, while the following protections were enabled: address space layout randomisation, non-executable memory, full RELRO, fine-grained CFI on the QuickJS binary, hardware-enforced shadow-stack, a seccomp sandbox to prevent shell execution, and a build of QuickJS where I had stripped all functionality in it for accessing the operating system and file system. To write a file you need to chain multiple function calls, but the shadow-stack prevents ROP and the sandbox prevents simply spawning a shell process to solve the problem. GPT-5.2 came up with a clever solution involving chaining 7 function calls through glibc’s exit handler mechanism. The full exploit is here and an explanation of the solution is here. It took the agent 50M tokens and just over 3 hours to solve this, for a cost of about $50 for that agent run. (As I was running four agents in parallel the true cost was closer to $150).
Before going on there are two important caveats that need to be kept in mind with these experiments:
While QuickJS is a real Javascript interpreter, it is an order of magnitude less code, and at least an order of magnitude less complex, than the Javascript interpreters in Chrome and Firefox. We can observe the exploits produced for QuickJS and the manner in which they were produced and conclude, as I have, that it appears that LLMs are likely to solve these problems either now or in the near future, but we can’t say definitively that they can without spending the tokens and seeing it happen.
The exploits generated do not demonstrate novel, generic breaks in any of the protection mechanisms. They take advantage of known flaws in those protection mechanisms and gaps that exist in real deployments of them. These are the same gaps that human exploit developers take advantage of, as they also typically do not come up with novel breaks of exploit mitigations for each exploit. I’ve explained those gaps in detail here. What is novel are the overall exploit chains. This is true by definition as the QuickJS vulnerability was previously unknown until I found it (or, more correctly: my Opus 4.5 vulnerability discovery agent found it). The approach GPT-5.2 took to solving the hardest challenge mentioned above was also novel to me at least, and I haven’t been able to find any example of it written down online. However, I wouldn’t be surprised if it’s known by CTF players and professional exploit developers, and just not written down anywhere.
By ‘industrialisation’ I mean that the ability of an organisation to complete a task will be limited by the number of tokens they can throw at that task. In order for a task to be ‘industrialised’ in this way it needs two things:
An LLM-based agent must be able to search the solution space. It must have an environment in which to operate, appropriate tools, and not require human assistance. The ability to do true ‘search’, and cover more of the solution space as more tokens are spent also requires some baseline capability from the model to process information, react to it, and make sensible decisions that move the search forward. It looks like Opus 4.5 and GPT-5.2 possess this in my experiments. It will be interesting to see how they do against a much larger space, like v8 or Firefox.
The agent must have some way to verify its solution. The verifier needs to be accurate, fast and again not involve a human.
Exploit development is the ideal case for industrialisation. An environment is easy to construct, the tools required to help solve it are well understood, and verification is straightforward. I have written up the verification process I used for the experiments here, but the summary is: an exploit tends to involve building a capability to allow you to do something you shouldn’t be able to do. If, after running the exploit, you can do that thing, then you’ve won. For example, some of the experiments involved writing an exploit to spawn a shell from the Javascript process. To verify this the verification harness starts a listener on a particular local port, runs the Javascript interpreter and then pipes a command into it to run a command line utility that connects to that local port. As the Javascript interpreter has no ability to do any sort of network connections, or spawning of another process in normal execution, you know that if you receive the connect back then the exploit works as the shell that it started has run the command line utility you sent to it.
There is a third attribute of problems in this space that may influence how/when they are industrialisable: if an agent can solve a problem in an offline setting and then use its solution, then it maps to the sort of large scale solution search that models seem to be good at today. If offline search isn’t feasible, and the agent needs to find a solution while interacting with the real environment, and that environment has the attribute that certain actions by the agent permanently terminate the search, then industrialisation may be more difficult. Or, at least, it’s less apparent that the capabilities of current LLMs map directly to problems with this attribute.
There are several tasks involved in cyber intrusions that have this third property: initial access via exploitation, lateral movement, maintaining access, and the use of access to do espionage (i.e. exfiltrate data). You can’t perform the entire search ahead of time and then use the solution. Some amount of search has to take place in the real environment, and that environment is adversarial in that if a wrong action is taken it can terminate the entire search. i.e. the agent is detected and kicked out of the network, and potentially the entire operation is burned. For these tasks I think my current experiments provide less information. They are fundamentally not about trading tokens for search space coverage. That said, if we think we can build models for automating coding and SRE work, then it would seem unusual to think that these sorts of hacking-related tasks are going to be impossible.
Where are we now?
We are already at a point where with vulnerability discovery and exploit development you can trade tokens for real results. There’s evidence for this from the Aardvark project at OpenAI where they have said they’re seeing this sort of result: the more tokens you spend, the more bugs you find, and the better quality those bugs are. You can also see it in my experiments. As the challenges got harder I was able to spend more and more tokens to keep finding solutions. Eventually the limiting factor was my budget, not the models. I would be more surprised if this isn’t industrialised by LLMs, than if it is.
For the other tasks involved in hacking/cyber intrusion we have to speculate. There’s less public information on how LLMs perform on these tasks in real environments (for obvious reasons). We have the report from Anthropic on the Chinese hacking team using their API to orchestrate attacks, so we can at least conclude that organisations are trying to get this to work. One hint that we might not be yet at a place where post-access hacking-related tasks are automated is that there don’t appear to be any companies that have entirely automated SRE work (or at least, that I am aware of).
The types of problems that you encounter if you want to automate the work of SREs, system admins and developers that manage production networks are conceptually similar to those of a hacker operating within an adversary’s network. An agent for SRE can’t just do arbitrary search for solutions without considering the consequences of actions. There are actions that if it takes the search is terminated and it loses permanently (i.e. dropping the production database). While we might not get public confirmation that the hacking-related tasks with this third property are now automatable, we do have a ‘canary’. If there are companies successfully selling agents to automate the work of an SRE, and using general purpose models from frontier labs, then it’s more likely that those same models can be used to automate a variety of hacking-related tasks where an agent needs to operate within the adversary’s network.
These experiments shifted my expectations regarding what is and is not likely to get automated in the cyber domain, and my time line for that. It also left me with a bit of a wish list from the AI companies and other entities doing evaluations.
Right now, I don’t think we have a clear idea of the real abilities of current generation models. The reason for that is that CTF-based evaluations and evaluations using synthetic data or old vulnerabilities just aren’t that informative when your question relates to finding and exploiting zerodays in hard targets. I would strongly urge the teams at frontier labs that are evaluating model capabilities, as well as for AI Security Institutes, to consider evaluating their models against real, hard, targets using zeroday vulnerabilities and reporting those evaluations publicly. With the next major release from a frontier lab I would love to read something like “We spent X billion tokens running our agents against the Linux kernel and Firefox and produced Y exploits“. It doesn’t matter if Y=0. What matters is that X is some very large number. Both companies have strong security teams so it’s entirely possible they are already moving towards this. OpenAI already have the Aardvark project and it would be very helpful to pair that with a project trying to exploit the vulnerabilities they are already finding.
For the AI Security Institutes it’s would be worth spending time identifying gaps in the evaluations that the model companies are doing, and working with them to get those gaps addressed. For example, I’m almost certain that you could drop the firmware from a huge number of IoT devices (routers, IP cameras, etc) into an agent based on Opus 4.5 or GPT-5.2 and get functioning exploits out the other end in less a week of work. It’s not ideal that evaluations focus on CTFs, synthetic environments and old vulnerabilities, but don’t provide this sort of direct assessment against real targets.
In general, if you’re a researcher or engineer, I would encourage you to pick the most interesting exploitation related problem you can think of, spend as many tokens as you can afford on it, and write up the results. You may be surprised by how well it works.
Hopefully the source code for my experiments will be of some use in that.
Share on Facebook (Opens in new window)
Share on X (Opens in new window)
Back to top
...
Read the original on sean.heelan.io »
Slot machines on the Las Vegas Strip return about 93 cents on the dollar. This is widely considered some of the worst odds in gambling. Yet on Kalshi, a CFTC-regulated prediction market, traders have wagered vast sums on longshot contracts with historical returns as low as 43 cents on the dollar. Thousands of participants are voluntarily accepting expected values far lower than a casino slot machine to bet on their convictions.
The efficient market hypothesis suggests that asset prices should perfectly aggregate all available information. Prediction markets theoretically provide the purest test of this theory. Unlike equities, there is no ambiguity about intrinsic value. A contract either pays $1 or it does not. A price of 5 cents should imply exactly a 5% probability.
We analyzed 72.1 million trades covering $18.26 billion in volume to test this efficiency. Our findings suggest that collective accuracy relies less on rational actors than on a mechanism for harvesting error. We document a systematic wealth transfer where impulsive Takers pay a structural premium for affirmative “YES” outcomes while Makers capture an “Optimism Tax” simply by selling into this biased flow. The effect is strongest in high-engagement categories like Sports and Entertainment, while low-engagement categories like Finance approach perfect efficiency.
This paper makes three contributions. First, it confirms the presence of the longshot bias on Kalshi and quantifies its magnitude across price levels. Second, it decomposes returns by market role, revealing a persistent wealth transfer from takers to makers driven by asymmetric order flow. Third, it identifies a YES/NO asymmetry where takers disproportionately favor affirmative bets at longshot prices, exacerbating their losses.
Prediction markets are exchanges where participants trade binary contracts on real-world outcomes. These contracts settle at either $1 or $0, with prices ranging from 1 to 99 cents serving as probability proxies. Unlike equity markets, prediction markets are strictly zero-sum: every dollar of profit corresponds exactly to a dollar of loss.
Kalshi launched in 2021 as the first U. S. prediction market regulated by the CFTC. Initially focused on economic and weather data, the platform stayed niche until 2024. A legal victory over the CFTC secured the right to list political contracts, and the 2024 election cycle triggered explosive growth. Sports markets, introduced in 2025, now dominate trading activity.
Volume distribution across categories is highly uneven. Sports accounts for 72% of notional volume, followed by politics at 13% and crypto at 5%.
Note: Data collection concluded on 2025-11-25 at 17:00 ET; Q4 2025 figures are incomplete.
The dataset, available on GitHub, contains 7.68 million markets and 72.1 million trades. Each trade records the execution price (1-99 cents), taker side (yes/no), contract count, and timestamp. Markets include resolution outcome and category classification.
Role assignment: Each trade identifies the liquidity taker. The maker took the opposite position. If taker_side = yes at 10 cents, the taker bought YES at 10¢; the maker bought NO at 90¢.
Cost Basis (): To compare asymmetries between YES and NO contracts, we normalize all trades by capital risked. For a standard YES trade at 5 cents, . For a NO trade at 5 cents, . All references to “Price” in this paper refer to this Cost Basis unless otherwise noted.
Mispricing () measures the divergence between actual win rate and implied probability for a subset of trades :
* Gross Excess return () is the return relative to cost, gross of platform fees, where is price in cents and is the outcome:
Calculations derive from resolved markets only. Markets that were voided, delisted, or remain open are excluded. Additionally, trades from markets with less than $100 in notional volume were excluded. The dataset remains robust across all price levels; the sparsest bin (81-90¢) contains 5.8 million trades.
First documented by Griffith (1949) in horse racing and later formalized by Thaler & Ziemba (1988) in their analysis of parimutuel betting markets, the longshot bias describes the tendency for bettors to overpay for low-probability outcomes. In efficient markets, a contract priced at cents should win approximately % of the time. In markets exhibiting longshot bias, low-priced contracts win less than their implied probability, while high-priced contracts win more.
The data confirms this pattern on Kalshi. Contracts trading at 5 cents win only 4.18% of the time, implying mispricing of -16.36%. Conversely, contracts at 95 cents win 95.83% of the time. This pattern is consistent; all contracts priced below 20 cents underperform their odds, while those above 80 cents outperform.
Note: The calibration curve above demonstrates that prediction markets are actually quite efficient and accurate, with the slight exception of the tails. The close alignment between implied and actual probabilities confirms that prediction markets are well-calibrated price discovery mechanisms.
The existence of the longshot bias raises a question unique to zero-sum markets: if some traders systematically overpay, who captures the surplus?
Market microstructure defines two populations based on their interaction with the order book. A Maker provides liquidity by placing limit orders that rest on the book. A Taker consumes this liquidity by executing against resting orders.
The divergence is most pronounced at the tails. At 1-cent contracts, takers win only 0.43% of the time against an implied probability of 1%, corresponding to a mispricing of -57%. Makers on the same contracts win 1.57% of the time, resulting in a mispricing of +57%. At 50 cents, mispricing compresses; takers show -2.65%, and makers show +2.66%.
Takers exhibit negative excess returns at 80 of 99 price levels. Makers exhibit positive excess returns at the same 80 levels. The market’s aggregate miscalibration is concentrated in a specific population; takers bear the losses while makers capture the gains.
An obvious objection arises; makers earn the bid-ask spread as compensation for providing liquidity. Their positive returns may simply reflect spread capture rather than the exploitation of biased flow. While plausible, two observations suggest otherwise.
The first observation suggests the effect extends beyond pure spread capture; maker returns depend on which side they take. If profits were purely spread-based, it should not matter whether makers bought YES or NO. We test this by decomposing maker performance by position direction:
Makers who buy NO outperform makers who buy YES 59% of the time. The volume-weighted excess return is +0.77 pp for makers buying YES versus +1.25 pp for makers buying NO, a gap of 0.47 percentage points. The effect is miniscule (Cohen’s d = 0.02-0.03) but consistent. At minimum, this suggests spread capture is not the whole story.
A second observation strengthens the case further; the maker-taker gap varies substantially by market category.
We examine whether the maker-taker gap varies by market category. If the bias reflects uninformed demand, categories attracting less sophisticated participants should show larger gaps.
The variation is striking. Finance shows a gap of merely 0.17 pp; the market is extremely efficient, with takers losing only 0.08% per trade. At the other extreme, World Events and Media show gaps exceeding 7 percentage points. Sports, the largest category by volume, exhibits a moderate gap of 2.23 pp. Given $6.1 billion in taker volume, even this modest gap generates substantial wealth transfer.
Why is Finance efficient? The likely explanation is participant selection; financial questions attract traders who think in probabilities and expected values rather than fans betting on their favorite team or partisans betting on a preferred candidate. The questions themselves are dry (“Will the S&P close above 6000?“), which filters out emotional bettors.
The maker-taker gap is not a fixed feature of the market; rather, it emerged as the platform grew. In Kalshi’s early days, the pattern was reversed; takers earned positive excess returns while makers lost money.
From launch through 2023, taker returns averaged +2.0% while maker returns averaged -2.0%. Without sophisticated counterparties, takers won; amateur makers defined the early period and were the losing population. This began to reverse in 2024 Q2, with the gap crossing zero and then widening sharply after the 2024 election.
The inflection point coincides with two events; Kalshi’s legal victory over the CFTC in October 2024, which permitted political contracts, and the subsequent 2024 election cycle. Volume exploded from $30 million in 2024 Q3 to $820 million in 2024 Q4. The new volume attracted sophisticated market makers, and with them, the extraction of value from taker flow.
Pre-election, the average gap was -2.9 pp (takers winning); post-election, it flipped to +2.5 pp (makers winning), a swing of 5.3 percentage points.
The composition of taker flow provides further evidence. If the wealth transfer arose because new participants arrived with stronger longshot preferences, we would expect the distribution to shift toward low-probability contracts. It did not:
The share of taker volume in longshot contracts (1-20¢) remained essentially flat; 4.8% pre-election versus 4.6% post-election. The distribution actually shifted toward the middle; the 91-99¢ bucket fell from 40-50% in 2021-2023 to under 20% in 2025, while mid-range prices (31-70¢) grew substantially. Taker behavior did not become more biased; if anything, it became less extreme. Yet taker losses increased; new market makers extract value more efficiently across all price levels.
This evolution reframes the aggregate results. The wealth transfer from takers to makers is not inherent to prediction market microstructure; it requires sophisticated market makers, and sophisticated market makers require sufficient volume to justify participation. In the low-volume early period, makers were likely unsophisticated individuals who lost to relatively informed takers. The volume surge attracted professional liquidity providers capable of extracting value from taker flow at all price points.
The maker-taker decomposition identifies who absorbs the losses, but leaves open the question of how their selection bias operates. Why is taker flow so consistently mispriced? The answer is not that makers possess superior foresight, but rather that takers exhibit a costly preference for affirmative outcomes.
Standard efficiency models imply that mispricing should be symmetric across contract types at equivalent prices; a 1-cent YES contract and a 1-cent NO contract should theoretically reflect similar expected values. The data contradicts this assumption. At a price of 1 cent, a YES contract carries a historical expected value of -41%; buyers lose nearly half their capital in expectation. Conversely, a NO contract at the same 1-cent price delivers a historical expected value of +23%. The divergence between these seemingly identical probability estimates is 64 percentage points.
The advantage for NO contracts is persistent. NO outperforms YES at 69 of 99 price levels, with the advantage concentrating at the market extremes. NO contracts generate superior returns at every price increment from 1 to 10 cents and again from 91 to 99 cents.
Despite the market being zero-sum, dollar-weighted returns are -1.02% for YES buyers compared to +0.83% for NO buyers, a 1.85 percentage point gap driven by the overpricing of YES contracts.
The underperformance of YES contracts may be linked to taker behavior. Breaking down the trading data reveals a structural imbalance in order flow composition.
In the 1-10 cent range, where YES represents the longshot outcome, takers account for 41-47% of YES volume; makers account for only 20-24%. This imbalance inverts at the opposite end of the probability curve. When contracts trade at 99 cents, implying that NO is the 1-cent longshot, makers actively purchase NO contracts at 43% of volume. Takers participate at a rate of only 23%.
One might hypothesize that makers exploit this asymmetry through superior directional forecasting—that they simply know when to buy NO. The evidence does not support this. When decomposing maker performance by position direction, returns are nearly identical. Statistically significant differences emerge only at the extreme tails (1–10¢ and 91–99¢), and even there, effect sizes are negligible (Cohen’s d = 0.02–0.03). This symmetry is telling: makers do not profit by knowing which way to bet, but through some mechanism that applies equally to both directions.
The analysis of 72.1 million trades on Kalshi reveals a distinct market microstructure where wealth systematically transfers from liquidity takers to liquidity makers. This phenomenon is driven by specific behavioral biases, modulated by market maturity, and concentrated in categories that elicit high emotional engagement.
A central question in zero-sum market analysis is whether profitable participants win through superior information (forecasting) or superior structure (market making). Our data strongly supports the latter. When decomposing maker returns by position direction, the performance gap is negligible: makers buying “YES” earn an excess return of +0.77%, while those buying “NO” earn +1.25% (Cohen’s d ≈ 0.02). This statistical symmetry indicates that makers do not possess a significant ability to pick winners. Instead, they profit via a structural arbitrage: providing liquidity to a taker population that exhibits a costly preference for affirmative, longshot outcomes.
This extraction mechanism relies on the “Optimism Tax.” Takers disproportionately purchase “YES” contracts at longshot prices, accounting for nearly half of all volume in that range, despite “YES” longshots underperforming “NO” longshots by up to 64 percentage points. Makers, therefore, do not need to predict the future; they simply need to act as the counterparty to optimism. This aligns with findings by Reichenbach and Walther (2025) on Polymarket and Whelan (2025) on Betfair, suggesting that in prediction markets, makers accommodate biased flow rather than out-forecast it.
The temporal evolution of maker-taker returns challenges the assumption that longshot bias inevitably leads to wealth transfer. From 2021 through 2023, the bias existed, yet takers maintained positive excess returns. The reversal of this trend coincides precisely with the explosive volume growth following Kalshi’s October 2024 legal victory.
The wealth transfer observed in late 2024 is a function of market depth. In the platform’s infancy, low liquidity likely deterred sophisticated algorithmic market makers, leaving the order book to be populated by amateurs who were statistically indistinguishable from takers. The massive volume surge following the 2024 election incentivized the entry of professional liquidity providers capable of systematically capturing the spread and exploiting the biased flow. The longshot bias itself may have persisted for years, but it was only once market depth grew sufficiently to attract these sophisticated makers that the bias became a reliable source of profit extraction.
The variation in maker-taker gaps across categories reveals how participant selection shapes market efficiency. At one extreme, Finance exhibits a gap of just 0.17 percentage points; nearly perfect efficiency. At the other, World Events and Media exceed 7 percentage points. This difference cannot be explained by the longshot bias alone; it reflects who chooses to trade in each category.
Finance (0.17 pp) serves as a control group demonstrating that prediction markets can approach efficiency. Questions like “Will the S&P close above 6000?” attract participants who think in probabilities and expected values, likely the same population that trades options or follows macroeconomic data. The barrier to informed participation is high, and casual bettors have no edge and likely recognize this, filtering themselves out.
Politics (1.02 pp) shows moderate inefficiency despite high emotional stakes. Political bettors follow polling closely and have practiced calibrating beliefs through election cycles. The gap is larger than Finance but far smaller than entertainment categories, suggesting that political engagement, while emotional, does not entirely erode probabilistic reasoning.
Sports (2.23 pp) represents the modal prediction market participant. The gap is moderate but consequential given the category’s 72% volume share. Sports bettors exhibit well-documented biases, including home team loyalty, recency effects, and narrative attachment to star players. A fan betting on their team to win the championship is not calculating expected value; they are purchasing hope.
Crypto (2.69 pp) attracts participants conditioned by the “number go up” mentality of retail crypto markets, a population overlapping with meme stock traders and NFT speculators. Questions like “Will Bitcoin reach $100k?” invite narrative-driven betting rather than probability estimation.
Entertainment, Media, and World Events (4.79–7.32 pp) exhibit the largest gaps and share a common feature: minimal barriers to perceived expertise. Anyone who follows celebrity gossip feels qualified to bet on award show outcomes; anyone who reads headlines feels informed about geopolitics. This creates a participant pool that conflates familiarity with calibration.
The pattern suggests efficiency depends on two factors: the technical barrier to informed participation and the degree to which questions invite emotional reasoning. When barriers are high and framing is clinical, markets approach efficiency; when barriers are low and framing invites storytelling, the optimism tax reaches its maximum.
While the data is robust, several limitations persist. First, the absence of unique trader IDs forces us to rely on the “Maker/Taker” classification as a proxy for “Sophisticated/Unsophisticated.” While standard in microstructure literature, this imperfectly captures instances where sophisticated traders cross the spread to act on time-sensitive information. Second, we cannot directly observe the bid-ask spread in historical trade data, making it difficult to strictly decouple spread capture from explotation of biased flow. Finally, these results are specific to a US-regulated environment; offshore venues with different leverage caps and fee structures may exhibit different dynamics.
The promise of prediction markets lies in their ability to aggregate diverse information into a single, accurate probability. However, our analysis of Kalshi demonstrates that this signal is often distorted by systematic wealth transfer driven by human psychology and market microstructure.
The market is split into two distinct populations: a taker class that systematically overpays for low-probability, affirmative outcomes, and a maker class that extracts this premium through passive liquidity provision. This dynamic is not an inherent flaw of the “wisdom of the crowd,” but rather a feature of how human psychology interacts with market microstructure. When the topic is dry and quantitative (Finance), the market is efficient. When the topic allows for tribalism and hope (Sports, Entertainment), the market transforms into a mechanism for transferring wealth from the optimistic to the calculated.
* Fama, E.F., “Efficient Capital Markets: A Review of Theory and Empirical Work”, Journal of Finance, 1970. Available: https://www.jstor.org/stable/2325486
* Griffith, R.M., “Odds Adjustments by American Horse-Race Bettors”, American Journal of Psychology, 1949. Available: https://www.jstor.org/stable/1418469
* Reichenbach, F. & Walther, M., “Exploring Decentralized Prediction Markets: Accuracy, Skill, and Bias on Polymarket”, SSRN, 2025. Available: https://ssrn.com/abstract=5910522
* Thaler, R.H. & Ziemba, W.T., “Anomalies: Parimutuel Betting Markets: Racetracks and Lotteries”, Journal of Economic Perspectives, 1988. Available: https://www.aeaweb.org/articles?id=10.1257/jep.2.2.161
* Whelan, K., “Agreeing to Disagree: The Economics of Betting Exchanges”, MPRA, 2025. Available: https://mpra.ub.uni-muenchen.de/126351/1/MPRA_paper_126351.pdf
* U.S. Court of Appeals for the D.C. Circuit, “Kalshi, Inc. v. CFTC”, Oct 2024. Available: https://media.cadc.uscourts.gov/opinions/docs/2024/10/24-5205-2077790.pdf
...
Read the original on jbecker.dev »
To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".
10HN is also available as an iOS App
If you visit 10HN only rarely, check out the the best articles from the past week.
If you like 10HN please leave feedback and share
Visit pancik.com for more.