10 interesting stories served every morning and every evening.

Apple introduces M6 and M5 Ultra for a big leap in performance and AI compute

www.apple.com

M6: Optimized Design and Enhanced Performance

Text of this ar­ti­cle

Text of this ar­ti­cle

Media in this ar­ti­cle

Media in this ar­ti­cle

Testing was con­ducted by Apple in August 2026 us­ing ship­ping com­pet­i­tive sys­tems and se­lect in­dus­try-stan­dard bench­marks.

Testing was con­ducted by Apple in August 2026 us­ing pre­pro­duc­tion Mac mini with M6 with 12-core CPU, 12-core GPU, and 32GB of mem­ory; 14-inch MacBook Pro with M5 with 10-core CPU, 10-core GPU, and 32GB of mem­ory; and Mac mini with M1 with 8-core CPU, 8-core GPU, and 16GB of mem­ory. Performance was mea­sured us­ing se­lect in­dus­try‑stan­dard bench­marks. Performance tests were con­ducted us­ing spe­cific com­puter sys­tems and re­flect the ap­prox­i­mate per­for­mance of Mac mini. See ap­ple.com/​mac-mini for more in­for­ma­tion.

Testing was con­ducted by Apple in August 2026 us­ing pre­pro­duc­tion Mac Studio with M5 Ultra with 36-core CPU, 80-core GPU, and 256GB of mem­ory; Mac Studio with M3 Ultra with 32-core CPU, 80-core GPU, and 256GB of mem­ory; and Mac Studio with M1 Ultra with 20-core CPU, 64-core GPU, and 64GB of mem­ory. Performance was mea­sured us­ing se­lect in­dus­try‑stan­dard bench­marks. Performance tests were con­ducted us­ing spe­cific com­puter sys­tems and re­flect the ap­prox­i­mate per­for­mance of Mac Studio. See ap­ple.com/​mac-stu­dio for more in­for­ma­tion.

Apple Intelligence fea­tures are cur­rently avail­able for test­ing through the Apple Beta Software Program, and will be avail­able with ma­cOS 27 this fall for users with an Apple Intelligence-enabled de­vice set to a sup­ported lan­guage. Apple Intelligence is avail­able with sup­port for these lan­guages: English, Danish, Dutch, French, German, Italian, Norwegian, Portuguese, Spanish, Swedish, Turkish, Vietnamese, Chinese (simplified), Chinese (traditional), Japanese, and Korean. Some fea­tures may not be avail­able in all re­gions or lan­guages. For fea­ture and lan­guage avail­abil­ity and sys­tem re­quire­ments, see ap­ple.com/​ap­ple-in­tel­li­gence.

World's oceans hit highest temperature on record as El Niño grows

www.bbc.com

1 day ago

Mark PoyntingClimate re­porter

Getty Images

The world’s oceans are hot­ter than ever recorded, new data sug­gests, as they suf­fer from hu­man-caused cli­mate change and the grow­ing El Niño weather phe­nom­e­non.

The av­er­age sur­face tem­per­a­ture of the plan­et’s seas out­side the po­lar re­gions hit 21.1C (70F) on Saturday, ac­cord­ing to fig­ures from the European Copernicus cli­mate change ser­vice.

That edges past the 21.09C recorded in March 2024, and is far above av­er­age for the time of year.

Warmer oceans can have wide-reach­ing con­se­quences, in­clud­ing su­per­charg­ing ex­treme weather, rais­ing sea lev­els and harm­ing ma­rine life.

This record is an­other clear sig­nal of an ocean un­der grow­ing stress,” said Dr Samantha Burgess, deputy di­rec­tor of Copernicus.

El Niño is adding heat to the sys­tem, but it is do­ing so on top of decades of hu­man-dri­ven warm­ing,” she added.

The data is based on sea tem­per­a­tures 10m (32ft 10in) be­low the sur­face, us­ing mea­sure­ments from buoys, ships and satel­lites, which are com­bined to pro­duce a global es­ti­mate.

While the mar­gin of record is cur­rently very small and any global es­ti­mate comes with un­cer­tain­ties, sci­en­tists say its tim­ing is par­tic­u­larly no­table.

Average world­wide sea tem­per­a­tures tend to reach their yearly peak in March or April, which cor­re­sponds to the end of sum­mer in the south­ern hemi­sphere - and not in August.

The south­ern hemi­sphere con­tains more of the plan­et’s ocean sur­face than the north­ern hemi­sphere and so ex­erts a big­ger in­flu­ence on av­er­age sea tem­per­a­tures.

What is es­pe­cially con­cern­ing to sci­en­tists is that the oceans are al­ready so hot when the nat­ural El Niño weather phe­nom­e­non is still some way off its ex­pected peak.

This could see ocean tem­per­a­tures climb yet fur­ther.

The fact that we are al­ready break­ing records is an early in­di­ca­tor of how strong the El Niño is be­com­ing,” said Dr Jeremy Grist, se­nior re­search fel­low at the National Oceanography Centre in Southampton.

All things be­ing equal we might ex­pect the ocean tem­per­a­ture record to be bro­ken again in March [or] April 2027,” he added.

The wa­ters far away from El Niño’s Pacific hunt­ing ground are also ex­tremely warm, in­clud­ing around the UK and Europe.

The west­ern English Channel has seen al­most con­tin­u­ous ma­rine heat­wave con­di­tions for more than three years, peak­ing at 7C above nor­mal in July, ac­cord­ing to Prof Tim Smyth, di­rec­tor of sci­ence at Plymouth Marine Laboratory.

This is un­prece­dented,” he added.

Scientists say such wide­spread warmth around the planet is a clear sign of the grow­ing ef­fect that hu­man-caused cli­mate change is hav­ing on the world’s seas.

The lat­est Copernicus data re­in­force the trou­bling up­ward trend in ocean tem­per­a­tures,” said Smyth.

Warmer seas help to fuel more ex­treme weather. They can pro­vide storms with ex­tra mois­ture and en­ergy, and can in­ten­sify heat­waves on land in some coastal re­gions by re­duc­ing the cool­ing ef­fect of sea breezes.

Warmer wa­ter also takes up more space, rais­ing sea lev­els and bring­ing a greater risk of coastal flood­ing - while in­tense ocean heat can be dev­as­tat­ing for sea habi­tats, such as coral reefs.

The in­creas­ing fre­quency of ma­rine heat­waves is al­ready putting in­creas­ing pres­sure on ma­rine ecosys­tems and the com­mu­ni­ties that de­pend on them”, Burgess said.

Update: New domain for Sign in with Apple - Latest News - Apple Developer

developer.apple.com

August 24, 2026

Starting later this year, new Sign in with Apple ad­dresses, pre­vi­ously is­sued on pri­vatere­lay.ap­pleid.com, will be is­sued on pri­vate.icloud.com. Existing ad­dresses on pri­vatere­lay.ap­pleid.com will con­tinue to work and for­ward mail to users with­out in­ter­rup­tion.

After fur­ther con­sid­er­a­tion and re­view­ing com­mu­nity feed­back, iCloud+ Hide My Email ad­dresses will re­main on icloud.com.

What you need to do

Developers with apps or web­sites that use Sign in with Apple should en­sure that their ac­count sys­tems, email val­i­da­tion logic, and al­lowlists ac­cept ad­dresses on the new pri­vate.icloud.com do­main in ad­di­tion to the ex­ist­ing pri­vatere­lay.ap­pleid.com do­main.

Learn more about Sign in with Apple

Communicating us­ing the Private Email Relay Service

Apple introduces new Mac Studio with M5 Max and M5 Ultra — the ultimate desktop for on‑device AI and the most extreme pro workflows

www.apple.com

A Monumental Step for AI

Mac Studio is pic­tured with a dis­play show­ing cod­ing in Xcode.

Mac Studio is pic­tured with a dis­play show­ing the app Draw Things.

Mac Studio with M5 Max

Serious Speed and Power for Pro Workloads

Up to 10.7x faster LLM prompt pro­cess­ing in LM Studio when com­pared to Mac Studio with M1 Max, and 3.9x faster than M4 Max.

Up to 7.4x faster text-to-im­age per­for­mance when com­pared to Mac Studio with M1 Max, and up to 3.5x faster than M4 Max.

Up to 5.3x faster Magic Mask per­for­mance in Blackmagic Design DaVinci Resolve Studio when com­pared to Mac Studio with M1 Max, and up to 3x faster than M4 Max.

Up to 3.5x faster base­call­ing for DNA se­quenc­ing in Oxford Nanopore MinKNOW when com­pared to Mac Studio with M1 Max, and up to 1.9x faster than M4 Max.

Mac Studio with M5 Ultra

A Powerhouse for the Most Demanding Workloads

Mac Studio with M5 Ultra shows an Adobe Premiere screen fea­tur­ing an ath­lete run­ning in the rain.

Mac Studio with M5 Ultra run­ning LM Studio Bionic.

Up to 15.4x faster CopyCat ML train­ing per­for­mance in Foundry Nuke when com­pared to Mac Studio with M1 Ultra, and up to 3.3x faster than M3 Ultra.

Up to 9.8x faster LLM prompt pro­cess­ing in LM Studio when com­pared to Mac Studio with M1 Ultra, and up to 4x faster than M3 Ultra.

Up to 8.2x faster text-to-im­age per­for­mance when com­pared to Mac Studio with M1 Ultra, and up to 4.3x faster than M3 Ultra.

Up to 4.7x faster scene ren­der­ing per­for­mance in Maxon Redshift when com­pared to Mac Studio with M1 Ultra, and up to 1.7x faster than M3 Ultra.

Blazing-Fast Storage and Pro Connectivity

Customers can pre-or­der the new Mac Studio with M5 Max and M5 Ultra start­ing to­day, August 25, on ap­ple.com/​store and in the Apple Store app in 30 coun­tries and re­gions, in­clud­ing the U.S. It will be­gin ar­riv­ing to cus­tomers, and in Apple Store lo­ca­tions and Apple Authorized Resellers, start­ing September 22. Mac Studio with 512GB of uni­fied mem­ory is com­ing in late October.

Mac Studio with M5 Max starts at $2,499 (U.S.) and $2,299 (U.S.) for ed­u­ca­tion. Additional con­fig­ure-to-or­der op­tions are avail­able at ap­ple.com/​mac-stu­dio.

Mac Studio with M5 Ultra starts at $5,499 (U.S.) and $5,099 (U.S.) for ed­u­ca­tion. Additional con­fig­ure-to-or­der op­tions are avail­able at ap­ple.com/​mac-stu­dio.

With Apple Upgrade, el­i­gi­ble cus­tomers in the U.S. can lease a new Mac with low monthly pay­ments and eas­ily up­grade at the end of their lease: ap­ple.com/​shop/​ap­ple-up­grade.7 Lease Mac Studio with M5 Max with Apple Upgrade from $48.99 (U.S.) per month (excluding taxes and any trade-in credit) for a 36-month lease. Lease Mac Studio with M5 Ultra with Apple Upgrade from $110.10 (U.S.) per month (excluding taxes and any trade-in credit) for a 36-month lease. Additional con­fig­ure-to-or­der op­tions are avail­able at ap­ple.com/​mac-stu­dio.^

Additional tech­ni­cal spec­i­fi­ca­tions, con­fig­ure-to-or­der op­tions, and in­for­ma­tion on Studio Display, Studio Display XDR, and Magic ac­ces­sories are avail­able at ap­ple.com/​mac.

ma­cOS 27 is avail­able for test­ing in pub­lic beta through the Apple Beta Software Program at beta.ap­ple.com, with avail­abil­ity as a free soft­ware up­date this fall. For more in­for­ma­tion, visit ap­ple.com/​ma­cos. Features are sub­ject to change. Some fea­tures may not be avail­able in all re­gions or in all lan­guages.

With Apple Trade In, cus­tomers can trade in their cur­rent com­puter and get credit to­ward a new Mac. Customers can visit ap­ple.com/​shop/​trade-in to see what their de­vice is worth. Customers in the U.S. who shop at Apple us­ing Apple Card can pay monthly at 0 per­cent APR when they choose to check out with Apple Card Monthly Installments,8 and they’ll get 3 per­cent Daily Cash back — all up front.9 More in­for­ma­tion — in­clud­ing de­tails on el­i­gi­bil­ity, ex­clu­sions, and Apple Card terms — is avail­able at ap­ple.com/​ap­ple-card/​monthly-in­stall­ments.

AppleCare de­liv­ers ex­cep­tional ser­vice and sup­port, with flex­i­ble op­tions for Apple users. Customers can choose AppleCare+ to cover their new Mac, or, in avail­able mar­kets, AppleCare One to pro­tect mul­ti­ple prod­ucts in one sim­ple plan. Both plans in­clude cov­er­age for ac­ci­dents like drops and spills, bat­tery re­place­ment ser­vice, and pri­or­ity sup­port from Apple Experts. For more in­for­ma­tion, visit ap­ple.com/​ap­ple­care.

Every cus­tomer who buys di­rectly from Apple gets ac­cess to Personal Setup. In these guided on­line ses­sions, a Specialist can walk them through setup or fo­cus on fea­tures that will help them make the most of their new de­vice. Customers can also learn more about get­ting started and go­ing fur­ther with their new de­vice with a Today at Apple ses­sion at their near­est Apple Store.

Text of this ar­ti­cle

Text of this ar­ti­cle

Media in this ar­ti­cle

Media in this ar­ti­cle

Testing was con­ducted by Apple in July 2026. See ap­ple.com/​mac-stu­dio for more in­for­ma­tion.

Results are com­pared to pre­vi­ous-gen­er­a­tion Mac Studio sys­tems with Apple M3 Ultra, 32-core CPU, 80-core GPU, 512GB of uni­fied mem­ory, and 8TB SSD.

Apple Intelligence fea­tures are cur­rently avail­able for test­ing through the Apple Beta Software Program, and will be avail­able with ma­cOS 27 this fall for users with an Apple Intelligence-enabled de­vice set to a sup­ported lan­guage. Apple Intelligence is avail­able with sup­port for these lan­guages: English, Danish, Dutch, French, German, Italian, Norwegian, Portuguese, Spanish, Swedish, Turkish, Vietnamese, Chinese (simplified), Chinese (traditional), Japanese, and Korean. Some fea­tures may not be avail­able in all re­gions or lan­guages. For fea­ture and lan­guage avail­abil­ity and sys­tem re­quire­ments, see ap­ple.com/​ap­ple-in­tel­li­gence.

Siri AI is cur­rently avail­able for test­ing through the Apple Beta Software Program. Siri AI will be avail­able with ma­cOS 27 as a beta later this year for users with a sup­ported de­vice set to English, and Apple will quickly ex­pand sup­port for more lan­guages.

Product re­cy­cled or re­new­able con­tent is the mass of cer­ti­fied re­cy­cled ma­te­r­ial rel­a­tive to the over­all mass of the de­vice, not in­clud­ing pack­ag­ing or in-box ac­ces­sories.

Breakdown of U.S. re­tail pack­ag­ing by weight. Adhesives, inks, and coat­ings are ex­cluded from cal­cu­la­tions of plas­tic con­tent and pack­ag­ing weight.

Apple Upgrade is a de­vice leas­ing pro­gram avail­able in the U.S. (excluding U.S. ter­ri­to­ries). Leases are pro­vided by Klarna; sub­ject to el­i­gi­bil­ity and credit ap­proval, in­clud­ing fi­nal ap­proval at check­out. To be el­i­gi­ble, you must be a U.S. res­i­dent, at least 18 years old (or the le­gal age in your state), have an ac­cepted credit or debit card, and have an Apple ID. Additional el­i­gi­bil­ity cri­te­ria ap­ply. Device must be in good con­di­tion upon re­turn; dam­age fees may ap­ply. For iPhone only: In or­der to lease an iPhone, you must se­lect an el­i­gi­ble car­rier (but you can­not use a pre­paid car­rier plan). Upgrades re­quire en­ter­ing into a new lease and are sub­ject to el­i­gi­bil­ity and credit ap­proval. Apple Upgrade is not avail­able on re­fur­bished de­vices or on­line at the fol­low­ing spe­cial stores: Apple Employee Purchase Plan; par­tic­i­pat­ing cor­po­rate Employee Purchase Programs; Apple at Work for small busi­nesses or en­ter­prises; Government, Education, or Veterans and Military Purchase Programs.

Apple Card Monthly Installments (ACMI) is a 0 per­cent APR pay­ment op­tion that is only avail­able if users se­lect it at check­out in the U.S. for el­i­gi­ble prod­ucts pur­chased at Apple and is sub­ject to credit ap­proval and credit limit. See sup­port.ap­ple.com/​en-us/​102730 for more in­for­ma­tion about el­i­gi­ble prod­ucts. Additional lim­its and re­stric­tions ap­ply. See the Apple Card Customer Agreement for more in­for­ma­tion about ACMI.

Apple Card is sub­ject to credit ap­proval, avail­able only for qual­i­fy­ing ap­pli­cants in the United States, and is­sued by Goldman Sachs Bank USA, Salt Lake City Branch.

^ This of­fer is for a con­sumer lease, not a pur­chase or loan. Lease pro­vided by Klarna Inc. for 24- or 36-month term. Your first monthly pay­ment is due ap­prox­i­mately 30 days af­ter de­vice is shipped or avail­able for pickup. Lease ap­proval is sub­ject to el­i­gi­bil­ity and is based on cred­it­wor­thi­ness. Monthly pay­ments are based on the se­lected de­vice and lease term.

For ex­am­ple: For Mac Studio with a pur­chase price of $2,499 (excluding taxes and any trade-in credit), the typ­i­cal monthly pay­ment is $48.99 (excluding taxes and any trade-in credit) for a 36-month lease term and $67.99 (excluding taxes and any trade-in credit) for a 24-month lease term.

No se­cu­rity de­posit re­quired. A trade-in de­vice may re­duce monthly pay­ments. Advertised monthly pay­ment amount may not in­clude a trade-in de­vice’s es­ti­mated value. Upgrades are not guar­an­teed and are sub­ject to el­i­gi­bil­ity and ap­proval.

Terminating your Apple Upgrade lease: Closing your lease and re­turn­ing your de­vice ter­mi­nates your lease. You may in­cur a sub­stan­tial charge up to the amount of your re­main­ing lease pay­ments if you ter­mi­nate your lease be­fore the end of your ini­tial lease term. You may have the op­tion to up­grade to a new de­vice by en­ter­ing into a new lease agree­ment and re­turn­ing your prior de­vice. If you up­grade, your new monthly pay­ments may be greater than your prior monthly pay­ments. If you do not up­grade, ter­mi­nate your lease, or pur­chase your de­vice by the end of the ini­tial lease term, the lease will con­vert to a month-to-month lease for up to six months. Your monthly pay­ments may in­crease dur­ing the month-to-month pe­riod. If you take no ac­tion at the end of your ex­ten­sion pe­riod, you will be charged for the amount due to ex­er­cise the pur­chase op­tion un­der your lease. You will not own your de­vice at the end of your lease, un­less you pay the amount due to ex­er­cise the pur­chase op­tion. In­sur­ance is not in­cluded in your lease, and you may in­cur dam­age fees if the de­vice is lost, stolen, or not re­turned in the con­di­tion re­quired by the lease.

Apple Upgrade lease el­i­gi­bil­ity: Leases are only avail­able to U.S. res­i­dents (excluding res­i­dents of U.S. ter­ri­to­ries). Leased de­vices are only avail­able for ship­ping to U.S. ad­dresses (excluding U.S. ter­ri­to­ries) or pick up at Apple Retail stores in the U.S. (excluding U.S. ter­ri­to­ries). To be el­i­gi­ble for a lease, you must be at least 18 years old (or the le­gal age in your state of res­i­dence), have a valid so­cial se­cu­rity num­ber or in­di­vid­ual tax­payer iden­ti­fi­ca­tion num­ber (ITIN), have an ac­cepted credit or debit card, have an Apple Account in good stand­ing, have a Klarna Account, and be able to re­ceive se­cu­rity ver­i­fi­ca­tion codes via text mes­sage. Leases are not avail­able on re­fur­bished ac­ces­sories or on­line at the fol­low­ing spe­cial stores: Apple Employee Purchase Plan; par­tic­i­pat­ing cor­po­rate Employee Purchase Programs; Apple at Work for small busi­nesses or en­ter­prises; Government, Education, or Veterans and Military Purchase Programs.

^ This of­fer is for a con­sumer lease, not a pur­chase or loan. Lease pro­vided by Klarna Inc. for 24- or 36-month term. Your first monthly pay­ment is due ap­prox­i­mately 30 days af­ter de­vice is shipped or avail­able for pickup. Lease ap­proval is sub­ject to el­i­gi­bil­ity and is based on cred­it­wor­thi­ness. Monthly pay­ments are based on the se­lected de­vice and lease term.

For ex­am­ple: For Mac Studio with a pur­chase price of $2,499 (excluding taxes and any trade-in credit), the typ­i­cal monthly pay­ment is $48.99 (excluding taxes and any trade-in credit) for a 36-month lease term and $67.99 (excluding taxes and any trade-in credit) for a 24-month lease term.

No se­cu­rity de­posit re­quired. A trade-in de­vice may re­duce monthly pay­ments. Advertised monthly pay­ment amount may not in­clude a trade-in de­vice’s es­ti­mated value. Upgrades are not guar­an­teed and are sub­ject to el­i­gi­bil­ity and ap­proval.

Terminating your Apple Upgrade lease: Closing your lease and re­turn­ing your de­vice ter­mi­nates your lease. You may in­cur a sub­stan­tial charge up to the amount of your re­main­ing lease pay­ments if you ter­mi­nate your lease be­fore the end of your ini­tial lease term. You may have the op­tion to up­grade to a new de­vice by en­ter­ing into a new lease agree­ment and re­turn­ing your prior de­vice. If you up­grade, your new monthly pay­ments may be greater than your prior monthly pay­ments. If you do not up­grade, ter­mi­nate your lease, or pur­chase your de­vice by the end of the ini­tial lease term, the lease will con­vert to a month-to-month lease for up to six months. Your monthly pay­ments may in­crease dur­ing the month-to-month pe­riod. If you take no ac­tion at the end of your ex­ten­sion pe­riod, you will be charged for the amount due to ex­er­cise the pur­chase op­tion un­der your lease. You will not own your de­vice at the end of your lease, un­less you pay the amount due to ex­er­cise the pur­chase op­tion. In­sur­ance is not in­cluded in your lease, and you may in­cur dam­age fees if the de­vice is lost, stolen, or not re­turned in the con­di­tion re­quired by the lease.

Apple Upgrade lease el­i­gi­bil­ity: Leases are only avail­able to U.S. res­i­dents (excluding res­i­dents of U.S. ter­ri­to­ries). Leased de­vices are only avail­able for ship­ping to U.S. ad­dresses (excluding U.S. ter­ri­to­ries) or pick up at Apple Retail stores in the U.S. (excluding U.S. ter­ri­to­ries). To be el­i­gi­ble for a lease, you must be at least 18 years old (or the le­gal age in your state of res­i­dence), have a valid so­cial se­cu­rity num­ber or in­di­vid­ual tax­payer iden­ti­fi­ca­tion num­ber (ITIN), have an ac­cepted credit or debit card, have an Apple Account in good stand­ing, have a Klarna Account, and be able to re­ceive se­cu­rity ver­i­fi­ca­tion codes via text mes­sage. Leases are not avail­able on re­fur­bished ac­ces­sories or on­line at the fol­low­ing spe­cial stores: Apple Employee Purchase Plan; par­tic­i­pat­ing cor­po­rate Employee Purchase Programs; Apple at Work for small busi­nesses or en­ter­prises; Government, Education, or Veterans and Military Purchase Programs.

What's New in Emacs 31.1?

www.masteringemacs.org

Emacs 31.1 is fi­nally out! Unlike ear­lier Emacs ver­sions, there is not a sin­gu­lar big-bang fea­ture in this re­lease. From what I could gather, the new garbage col­lec­tor was pos­si­bly planned for in­clu­sion in Emacs 31.1, but it has been post­poned to Emacs 32. But more on that in a fu­ture post; it’s an in­ter­est­ing sub­ject.

Some of the more no­table fea­tures in Emacs 31.1 are small, qual­ity of life fixes, and one dep­re­ca­tion that marks the end of an era.

As al­ways, my book, Mastering Emacs is 31% off for the next week to cel­e­brate the re­lease also.

The un­exec/​pdumper con­tro­versy and sub­se­quent dep­re­ca­tion

Emacs is… not a nor­mal ap­pli­ca­tion. When you com­pile and link it, you get temacs which is the heart of Emacs but with­out most of the li­braries that ship with it. It’s a bare-bones Emacs with lit­tle more than the C core and the in­ter­preter; it’s not re­ally that use­ful.

To get the Emacs bi­nary you know and love, you have to run temacs and tell it to load the stan­dard li­brary into mem­ory. That is slow. There is a lot of elisp and house­keep­ing that has to hap­pen. It can take sev­eral min­utes and a fair bit of CPU and ram to start Emacs this way; it’s un­ten­able.

This has been a prob­lem that has dogged Emacs for decades. It’s not a huge deal to­day, but back in the day it could break the back on home com­put­ers or even shared multi-user en­vi­ron­ments if a brace of en­thu­si­as­tic Emacs users all de­cide to launch Emacs at the same time in the morn­ing.

The so­lu­tion to this prob­lem? Load it all in once and then lit­er­ally dump the text/​data/​bss/​etc. seg­ments of Emacs’s mem­ory to a new bi­nary. Do that, and you don’t have to boot­strap all that Emacs lisp state again and again. It feels like a wrestling move al­most. You cor­ral a top-heavy Emacs into po­si­tion and ap­ply The Attitude Adjustment, body slam­ming Emacs into a new bi­nary, and every­thing’s all set up and ready to go.

It’s a pretty boss move.

But to make this, uh, wrestling move work, Emacs de­pended on a num­ber of snowflake func­tions in glibc. After a cou­ple of decades of en­abling this sort of bad be­hav­ior the glibc team called it quits, and Emacs had to find an­other way of do­ing it.

Daniel Colascione built a much bet­ter so­lu­tion, though not every­one was happy about it, that — put sim­ply — stan­dard­izes the se­ri­al­iza­tion of Emacs’s in­ter­nal struc­tures into some­thing that is not a 1:1 dump of its in­ter­nal mem­ory struc­tures.

The portable dumper’s been the de­fault for a num­ber of years now. It was first in­tro­duced around ten years ago, and in keep­ing with Emacs’s long his­tory of back­wards com­pat­i­bil­ity, the old un­exec dumper was kept around os­ten­si­bly for the one or two users who found the idea of a portable dumper ris­i­ble or un­work­able.

But now it is fi­nally gone for good. The end of an era.

User Lisp Directory

Classic prob­lem: you git clone or down­load an Emacs pack­age some­where and now you want it to work. But how? It’s not that triv­ial; there are quite a few com­pet­ing ways of do­ing it. The sim­plest one is to tell users to drop their pack­age into the user-lisp/ in your .emacs.d di­rec­tory and Emacs will sort out load­ing and set­ting up au­toload (so the right stuff ap­pears in M-x.)

Minibuffer and Completions

Emacs 30.1 gained com­ple­tion-pre­view-mode, a na­tive pop-up win­dow” sys­tem not un­like Company and Corfu, but more at­tuned to Emacs’s own way of do­ing things: us­ing the *Completions* win­dow in­stead of a float­ing child frame like Company and friends.

Emacs 31.1 builds on that with a wide range of cus­tomiz­able op­tions you’re sure to want to cus­tomize if you want to go na­tive.

Rotating Window Layouts

M-x win­dow-lay­out-ro­tate-clock­wise (see C-x w C-h for the man­i­fold new op­tions) and such­like ro­tate your win­dow lay­outs. Another lit­tle UI win­ner.

Exchanging the point and mark with­out ac­ti­vat­ing the re­gion

I’ve talked (mostly in the my book) about how tran­sient-mark-mode is a rather awk­ward one-size-fits-all that was draped over Emacs’s mul­ti­tude of region-affecting” com­mands, like kill-re­gion (C-w).

So C-x C-x, that ex­changes point and mark, also ac­ti­vates the re­gion whether you want it to or not. Fixing the mark com­mands in tran­sient mark mode is an old ar­ti­cle of mine where I demon­strate how to do ex­actly that. But now there’s a builtin op­tion to not have it do that — sweet.

Tree-sitter now of­fers to in­stall its gram­mars for you

Two block­ers work in tan­dem to hold back the wider adop­tion of tree-sit­ter in Emacs:

The fact that TS de­mands a spe­cial ma­jor mode to work; and that said mode is of­ten a thread-bare re-im­ple­men­ta­tion of the orig­i­nal.

That in­stalling gram­mars, es­pe­cially on Windows, is a gi­ant pain in the neck, as you have to not only thread the nee­dle with the ex­act­ing ABI ver­sion of the tree-sit­ter li­brary it­self, but also en­sure you just the ex­act­ing ver­sion of each lan­guage gram­mar, or every­thing goes up in smoke.

The for­mer is still a prob­lem, but the lat­ter is now mostly re­solved. Emacs can now fi­nally of­fer to in­stall the right lan­guage gram­mar for TS modes it knows about.

Now there’s no ex­cuse not to try out Combobulate: Structured Movement and Editing with Tree-Sitter.

and so much more

Lots of lit­tle tweaks and changes. Have a read.

Installation Changes in Emacs 31.1

un­exec dumper re­moved. The tra­di­tional un­exec dumper, dep­re­cated since Emacs 27, has been re­moved.

The portable dumper now works on m68k a.out tar­gets.

As I wrote in the in­tro­duc­tion at the top, this is in­deed the end of an era.

Emacs’s old ctags’ pro­gram is no longer built or in­stalled. You are en­cour­aged to use Universal Ctags <https://​ctags.io/> in­stead. For now, to get the old ctags’ be­hav­ior you can can run etags –ctags’ or use a shell script named ctags’ that runs etags –ctags $@“’.

If you’re a TAGS user you should check with where and make sure you’ve got a newer one in­stalled. (If you don’t know if you use TAGS, you do not.)

Changed GCC de­fault op­tions on 32-bit x86 sys­tems. When us­ing GCC 4 or later to build Emacs on 32-bit x86 sys­tems, configure’ now de­faults to us­ing the GCC op­tions -mfpmath=sse’ (if the host sys­tem sup­ports SSE2) or -fno-tree-sra’ (if not). These GCC op­tions work around GCC bug 58416, which can cause Emacs to be­have in­cor­rectly in rare cases.

New con­fig­ure op­tion –with-systemduserunitdir’. This al­lows spec­i­fy­ing the di­rec­tory where the user unit file for sys­temd is in­stalled; the de­fault is ${prefix}/usr/lib/systemd/user’.

You can tell Emacs to in­stall a sys­temd ser­vice to run Emacs’s server that way. I rec­om­mend do­ing this.

Startup Changes in Emacs 31.1

In com­pat­i­ble ter­mi­nals, xterm-mouse-mode’ is turned on by de­fault. For these ter­mi­nals the mouse will work by de­fault. A com­pat­i­ble ter­mi­nal is one that sup­ports Emacs set­ting and get­ting the OS se­lec­tion data (a.k.a. the clip­board) and mouse but­ton and mo­tion events. With xterm-mouse-mode’ en­abled, you must use Emacs key­bind­ings to copy to the OS se­lec­tion in­stead of ter­mi­nal-spe­cific key­bind­ings.

You can keep the old be­hav­ior by cus­tomiz­ing xterm-mouse-mode’ to nil.

Most peo­ple do not know this but Emacs added mouse sup­port to ter­mi­nal Emacs years ago but left it off. Terminal ca­pa­bil­i­ties vary widely so that was a nice and safe de­ci­sion. But now it just works as you’d ex­pect it to: menus are click­able and so forth. Good stuff.

site-start.el is now loaded be­fore the user’s early init file. Previously, the or­der was early-init.el, site-start.el and then the user’s reg­u­lar init file, but now site-start.el comes first. This al­lows site ad­min­is­tra­tors to cus­tomize things that can nor­mally only be done from early-init.el, such as adding to package-directory-list’.

If you’re on a sin­gle user sys­tem like your lap­top or home com­puter, this is un­likely to mat­ter much to you.

New User Lisp di­rec­tory fea­ture. If you have a sub­di­rec­tory user-lisp/” in your Emacs con­fig­u­ra­tion di­rec­tory, then Lisp files in it and any sub­di­rec­to­ries are now re­cur­sively byte-com­piled, scraped for au­toload cook­ies and added to load-path’.

You can dis­able the fea­ture by set­ting user-lisp-auto-scrape’ to nil, and you can cus­tomize the op­tion user-lisp-directory’ to process some other di­rec­tory in­stead. There is also a new com­mand prepare-user-lisp’ that you can in­voke at any time. See the Info node (emacs) User Lisp Directory” for more de­tails.

Oh this is so use­ful. I have been cargo cult­ing the same snip­pets of code around for 23 years to load di­rec­to­ries with my stuff in it; yes use-pack­age helps but it’s still a lot of man­ual has­sle. About time!

The first client frame now shows warn­ings from dae­mon startup. When there are warn­ings emit­ted dur­ing Emacs startup, usu­ally due to prob­lems in your ini­tial­iza­tion file, these are shown in a *Warnings*” buffer. Until now such warn­ings were not made vis­i­ble in the case that Emacs was started as a dae­mon. Now the first frame af­ter dae­mon startup will show the *Warnings*” buffer. So for ex­am­ple, start­ing Emacs with a com­mand like emacsclient -a ” -c’ will now show *Warnings*” just like a plain in­vo­ca­tion of emacs’ would.

Bad news. Emacs’s in­sis­tence on telling you about every mi­nor stubbed toe in some ran­dom pack­age will now plague you even if you’re run­ning Emacs as a dae­mon. Such a cursed fea­ture. Nobody cares. If it was im­por­tant it’d be an er­ror.

Changes in Emacs 31.1

line-spacing’ now sup­ports spec­i­fy­ing spac­ing above the line. Previously, only spac­ing be­low the line could be spec­i­fied. The user op­tion can now be set to a cons cell to spec­ify spac­ing both above and be­low the line, which al­lows you to ver­ti­cally cen­ter text.

This is a global value to all of Emacs, it’s not a face set­ting, so you can­not use M-x cus­tomize-face to change it. Set it with se­topt or cus­tomize ui.

New face margin’ for the win­dow mar­gin dis­play. A new ba­sic face margin’ is used by de­fault for text dis­played in the left and right mar­gin ar­eas, which are used by var­i­ous pack­ages for per-line an­no­ta­tions. Its back­ground de­faults to the frame de­fault back­ground, so ex­ist­ing be­hav­ior is un­changed for users who do not cus­tomize this new face.

Display strings shown in the mar­gins now in­herit un­spec­i­fied face at­trib­utes from the margin’ face, if the string it­self does not fully spec­ify its face. If your code re­lied on the face of the un­der­ly­ing buffer text to serve as a de­fault for any un­spec­i­fied face at­trib­utes of strings dis­played in the mar­gin, you must now ap­ply those face at­trib­utes to the mar­gin string it­self us­ing propertize’.

prettify-symbols-mode’ at­tempts to ig­nore undis­playable char­ac­ters. Previously, such char­ac­ters would be ren­dered as, e.g., white boxes.

standard-display-table’ now has more ex­tra slots. standard-display-table’ has been ex­tended to al­low spec­i­fy­ing glyphs that are used for bor­ders around child frames and menu sep­a­ra­tors on TTY frames.

Call the com­mand standard-display-unicode-special-glyphs’ to set up the standard-display-table’s ex­tra slots with Unicode char­ac­ters. See the doc­u­men­ta­tion of that com­mand to see which slots of the dis­play table it changes.

Child frames are now sup­ported on TTY frames. This sup­ports use-cases like Posframe, Corfu, and child frames act­ing like tooltips. To en­able tooltips on TTY frames, call tty-tip-mode’.

The pres­ence of child frame sup­port on TTY frames can be checked with (featurep tty-child-frames)’.

Recent ver­sions of Posframe and Corfu are known to use child frames on TTYs if they are sup­ported.

This is a wel­come change for ter­mi­nal users. Frames in the ter­mi­nal do not work as they do in GUI — they be­have more like tmux/​screen windows”. Here child frames are just in­set pop­ups like the ones you find in GUI Emacs.

Several font-lock face vari­ables are now ob­so­lete. The fol­low­ing vari­ables are now ob­so­lete: font-lock-builtin-face’, font-lock-comment-delimiter-face’, font-lock-comment-face’, font-lock-constant-face’, font-lock-doc-face’, font-lock-doc-markup-face’, font-lock-function-name-face’, font-lock-keyword-face’, font-lock-negation-char-face’, font-lock-preprocessor-face’, font-lock-string-face’, font-lock-type-face’, font-lock-variable-name-face’, and font-lock-warning-face’.

These vari­ables con­tributed both to con­fu­sion about the re­la­tion be­tween faces and vari­ables, and to in­con­sis­tency when ma­jor mode au­thors used one or the other (sometimes in­ter­change­ably). We al­ways rec­om­mended us­ing faces di­rectly, and not cre­at­ing vari­ables go­ing by the same name.

If you have cus­tomized these vari­ables, you should now cus­tomize the cor­re­spond­ing faces in­stead, us­ing some­thing like:

M-x cus­tomize-face RET font-lock-string-face RET

If you have been us­ing these vari­ables in Lisp code (for ex­am­ple, in font-lock rules), sim­ply quote the sym­bol, to use the face di­rectly in­stead of its now-ob­so­lete vari­able.

Note this is not about the faces but about vari­ables named the same as the faces. Yeah that is con­fus­ing. Emacs has faces like font-lock-string-face that you prob­a­bly have cus­tomized al­ready. But it also has vari­ables named the same as the faces. The vari­ables are dep­re­cated.

If you have con­fig­ured your faces with M-x cus­tomize-face (you should!) you have noth­ing to worry about.

New char-table special-mirror-table’ for mir­ror­ing spe­cial glyphs. This char-table is used to mir­ror spe­cial glyphs (truncation and con­tin­u­a­tion) when the user has de­fined an al­ter­na­tive rep­re­sen­ta­tion for those char­ac­ters via dis­play ta­bles.

find-func.el com­mands now have his­tory en­abled. The find-function’, find-library’, find-face-definition’, and find-variable’ com­mands now al­low re­triev­ing pre­vi­ous in­put us­ing the usual minibuffer his­tory com­mands. Each com­mand has a sep­a­rate his­tory.

Huh. I never no­ticed they did not have their own his­tory; now they do. That is good to know I guess but un­likely to af­fect me much.

New mi­nor mode find-function-mode’ re­places find-function-setup-keys’. The new mi­nor mode de­fines the keys at a higher prece­dence level than the old func­tion, one more usual for a mi­nor mode. To re­store the old be­hav­ior, cus­tomize find-function-mode-lower-precedence’ to non-nil.

You’re un­likely to have much of a need to cus­tomize this.

find-function’ can now find cl-defmethod’ in­vo­ca­tions in­side macros.

New mi­nor mode prettify-special-glyphs-mode’. The new mi­nor mode pret­ti­fies the spe­cial char­ac­ter glyphs (truncation and con­tin­u­a­tion) on TTY frames (and GUI frames with­out fringes). You can cus­tomize the as­so­ci­ated new face special-glyphs’.

Minibuffer and Completions

Support for im­me­di­ate dis­play of the *Completions*” buffer. Whenever a minibuffer with com­ple­tion is opened, then if the com­ple­tion table sets the eager-display’ com­ple­tion prop­erty to non-nil, the *Completions*” buffer will now be dis­played im­me­di­ately. This prop­erty can be over­rid­den for dif­fer­ent com­ple­tion cat­e­gories by cus­tomiz­ing completion-category-overrides’. Alternatively, the new user op­tion completion-eager-display’ can be set to t to force ea­ger dis­play of *Completions*” for all minibuffers, or nil to sup­press this for all minibuffers.

Support for up­dat­ing *Completions*” as you type. If the *Completions*” buffer is dis­played and the com­ple­tion table sets the com­ple­tion prop­erty eager-update’ to non-nil, then the *Completions*” buffer will be up­dated as you type. This prop­erty can be over­rid­den for dif­fer­ent com­ple­tion cat­e­gories by cus­tomiz­ing completion-category-overrides’. Alternatively, the new user op­tion completion-eager-update’ can be set to t to make *Completions*” al­ways be up­dated as you type, or nil to sup­press this al­ways. Note that for large or in­ef­fi­cient com­ple­tion ta­bles, this can slow down typ­ing.

RET chooses the com­ple­tion se­lected with M-<UP>/M-<DOWN>’. If a com­ple­tion can­di­date is se­lected with M-<UP>’ or M-<DOWN>’, typ­ing RET will exit com­ple­tion with that can­di­date as the re­sult. This works both in minibuffer com­ple­tion and for in-buffer com­ple­tion. This fea­ture su­per­sedes minibuffer-completion-auto-choose’, which pre­vi­ously pro­vided sim­i­lar be­hav­ior; that vari­able is now nil by de­fault.

This goes hand in hand with the changes in Emacs 30.1 to make Emacs’s minibuffer com­ple­tion sys­tem be­have a lit­tle bit more like tra­di­tional com­pany/​corfu-style com­pleters.

I re­ally rate these new in­clu­sions but I do warn they re­quire a fair bit of cus­tomiza­tion to re­ally get them to be­have like some­thing that does not get in your way.

Support for com­ple­tion cat­e­gory in­her­i­tance. You can now de­fine com­ple­tion cat­e­gories that in­herit prop­er­ties from ex­ist­ing cat­e­gories, us­ing the new func­tion define-completion-category’.

New op­tional value of minibuffer-visible-completions’. If the value of this op­tion is up-down’, only the <UP>’ and <DOWN>’ ar­row keys move point be­tween can­di­dates shown in the *Completions*” buffer dis­play, while <RIGHT>’ and <LEFT>’ ar­rows move point in the minibuffer.

New user op­tion completion-pcm-leading-wildcard’. This op­tion con­fig­ures how the par­tial-com­ple­tion style does com­ple­tion. It de­faults to nil, which pre­serves the ex­ist­ing be­hav­ior. When it is set to t, the par­tial-com­ple­tion style be­haves more like the sub­string style, in that the in­put can match a can­di­date any­where in the can­di­date string.

Another mi­nor tweak to a com­ple­tion style to make it be­have more like some­thing it once did. Emacs has a di­verse set of com­ple­tion styles. The de­fault have changed a lot over the years, some­times to the cha­grin of peo­ple who were used to the quirks of a now-rel­e­gated de­fault style. For ex­am­ple there’s both an emac­s21 and an emac­s22 com­ple­tion style in com­ple­tion-styles-al­ist. But see Understanding Minibuffer Completion for more in­for­ma­tion.

completion-styles’ now can con­tain lists of bind­ings. In ad­di­tion to a sym­bol nam­ing a com­ple­tion style, an el­e­ment of completion-styles’ can now be a list of the form (STYLE ((VARIABLE VALUE) …))’ where STYLE is a sym­bol nam­ing a com­ple­tion style. VARIABLE will be bound to VALUE (without eval­u­at­ing it) while the style is ex­e­cut­ing. This al­lows mul­ti­ple ref­er­ences to the same style with dif­fer­ent val­ues for com­ple­tion-af­fect­ing vari­ables like completion-pcm-leading-wildcard’ or completion-ignore-case’. This also ap­plies to the styles con­fig­u­ra­tion in completion-category-overrides’ and completion-category-defaults’.

Oh man. That is niche. com­ple­tion-styles is a shop­ping list of how Emacs must match things in stuff like the minibuffer’s com­pleter. Now you can make it so ini­tials ig­nores case but sub­string does not.

Navigating *Completions*” now ac­com­mo­dates completions-format’. When completions-format’ is set to vertical’, typ­ing n’, TAB or M-<DOWN>’ in the *Completions*” buffer (the lat­ter also in the minibuffer) now moves point to the com­ple­tion can­di­date in the next line in the cur­rent col­umn, and wraps to the next col­umn af­ter the last com­ple­tion can­di­date of the cur­rent col­umn. Likewise, typ­ing p’, S-TAB’ or M-<UP>’ moves point to the com­ple­tion can­di­date in the pre­vi­ous line or wraps to the pre­vi­ous col­umn. Previously, these keys ig­nored the ver­ti­cal for­mat, i.e., they moved point only to the item in the same line of the next or pre­vi­ous col­umn, in ac­cor­dance with the de­fault hor­i­zon­tal for­mat. In the ver­ti­cal for­mat, typ­ing <LEFT>’ and <RIGHT>’ in the *Completions*” buffer (and when minibuffer-visible-completions’ is non-nil, also in the minibuffer) moves point only within the cur­rent line, anal­o­gously to how, in the hor­i­zon­tal for­mat, <DOWN>’ and <UP>’ move point only within the cur­rent col­umn.

You’ll want to con­fig­ure this for sure if you are in­tent on us­ing the Completions buffer and win­dow for in-buffer com­ple­tion. I al­ways found nav­i­gat­ing be­tween the tab­u­lar struc­ture in com­ple­tions to be a bit weird and off­putting; it’s a good use of space, for sure, but a flat list of matches is much eas­ier to rea­son about.

Selected com­ple­tion can­di­date is pre­served across *Completions*” up­dates. When the win­dow point is on a com­ple­tion can­di­date in the *Completions*” buffer (because of minibuffer-next-completion’ or for any other rea­son), it will re­main on that can­di­date af­ter the *Completions*” is up­dated with a new list of com­ple­tions. The can­di­date is de­s­e­lected when the *Completions*” buffer is hid­den.

*Completions*” is now dis­played faster when there are many can­di­dates. As be­fore, if there are more com­ple­tion can­di­dates than can be dis­played in the cur­rent frame, only a sub­set of the can­di­dates is dis­played. This process is now faster: only that sub­set of the can­di­dates is ac­tu­ally in­serted into *Completions*” un­til you run a com­mand which in­ter­acts with the text of the *Completions*” buffer. This op­ti­miza­tion only ap­plies when completions-format’ is horizontal’ or one-column’.

New user op­tion crm-prompt’ for completing-read-multiple’. This op­tion con­fig­ures the prompt for­mat of completing-read-multiple’. By de­fault, the prompt in­di­cates to the user that the com­ple­tion com­mand ac­cepts a comma-sep­a­rated list. The prompt for­mat can in­clude the sep­a­ra­tor de­scrip­tion and the sep­a­ra­tor string, which are both stored as text prop­er­ties of the crm-separator’ reg­u­lar ex­pres­sion.

It’s a pretty rare fea­ture, that. You can toggle-select” mul­ti­ple matches from the minibuffer; few things use it, to be hon­est. I find the user ex­pe­ri­ence rather poor if I am per­fectly hon­est, no mat­ter the com­pleter. Helm is one of the few tools I think that does it well.

For a prac­ti­cal ex­am­ple of multi-se­lect see Fuzzy Finding with Emacs Instead of fzf.

New user op­tion completion-preview-sort-function’. This op­tion con­trols how Completion Preview mode sorts com­ple­tion can­di­dates. If you use this mode to­gether with an in-buffer com­ple­tion popup in­ter­face, such as the in­ter­faces that the GNU ELPA pack­ages Corfu and Company pro­vide, you can set this op­tion to the same sort func­tion that your popup in­ter­face uses for a more in­te­grated ex­pe­ri­ence.

(‘completion-preview-sort-function’ was al­ready pre­sent in Emacs 30.1, but as a plain Lisp vari­able, not a user op­tion.)

New user op­tion completion-preview-inhibit-functions’. This op­tion pro­vides fine-grained con­trol over Completion Preview mode ac­ti­va­tion. You can use it to spec­ify ar­bi­trary con­di­tions in which to in­hibit the mod­e’s op­er­a­tion.

Another thing you’ll want to cus­tomize. You may want cer­tain move­ment com­mands like those used in paredit or com­bob­u­late com­mands to not trig­ger the com­ple­tion win­dow.

Apple’s new Mac mini, featuring M6 and M5 Pro, delivers a massive leap in AI performance, supercharging the leading desktop for always-on agentic computing

www.apple.com

Mac mini with the All-New M6

A Pint-Sized AI Powerhouse

Up to 13.5x faster LLM prompt pro­cess­ing in LM Studio when com­pared to Mac mini with M1, and up to 4.8x faster than M4.

Up to 2.3x faster spread­sheet cal­cu­la­tions in Microsoft Excel when com­pared to Mac mini with M1, and up to 1.5x faster than M4.

Up to 2x faster gam­ing per­for­mance with ray trac­ing in Cyberpunk 2077: Ultimate Edition when com­pared to Mac mini with M4.

Mac mini with M6 is shown with a dis­play run­ning Perplexity.

Mac mini with M6 is shown with a dis­play run­ning video edit­ing soft­ware.

A Mac mini with M6 is shown with a dis­play run­ning Final Cut Pro.

Mac mini with M5 Pro

Unprecedented Pro Performance

Up to 8.5x faster LLM prompt pro­cess­ing per­for­mance5 in LM Studio when com­pared to Mac mini with M2 Pro, and up to 4x faster than M4 Pro.2

Up to 4.5x faster ren­der­ing per­for­mance5 with ray trac­ing in Blender when com­pared to Mac mini with M2 Pro, and up to 1.4x faster than M4 Pro.2

Up to 2.1x faster im­age pro­cess­ing5 in Affinity when com­pared to Mac mini with M2 Pro, and up to 1.5x faster than M4 Pro.2

Mac mini with M5 Pro is shown with a dis­play run­ning photo edit­ing soft­ware show­ing a per­son in a red out­fit.

Mac mini with M5 Pro is shown with a dis­play run­ning AutoCAD.

Mac mini with M5 Pro is shown with a dis­play run­ning Pro Tools.

The front of Mac mini is shown, in­clud­ing its two USB-C ports that sup­port USB 3 and a head­phone jack.

The back of Mac mini is shown, in­clud­ing Thunderbolt 5 ports, HDMI, and Ethernet.

Customers can pre-or­der the new Mac mini with M6 and M5 Pro start­ing to­day, August 25, on ap­ple.com/​store and in the Apple Store app in 30 coun­tries and re­gions, in­clud­ing the U.S. It will be­gin ar­riv­ing to cus­tomers, and in Apple Store lo­ca­tions and Apple Authorized Resellers, start­ing September 22.

Mac mini with M6 starts at $899 (U.S.) and $799 (U.S.) for ed­u­ca­tion. Additional tech­ni­cal spec­i­fi­ca­tions are avail­able at ap­ple.com/​mac-mini.

Mac mini with M5 Pro starts at $1,699 (U.S.) and $1,599 (U.S.) for ed­u­ca­tion. Additional tech­ni­cal spec­i­fi­ca­tions are avail­able at ap­ple.com/​mac-mini.

Additional tech­ni­cal spec­i­fi­ca­tions, con­fig­ure-to-or­der op­tions, and in­for­ma­tion on Studio Display, Studio Display XDR, and Magic ac­ces­sories are avail­able at ap­ple.com/​mac.

ma­cOS 27 is avail­able for test­ing in pub­lic beta through the Apple Beta Software Program at beta.ap­ple.com, with avail­abil­ity as a free soft­ware up­date this fall. For more in­for­ma­tion, visit ap­ple.com/​ma­cos. Features are sub­ject to change. Some fea­tures may not be avail­able in all re­gions or in all lan­guages.

With Apple Trade In, cus­tomers can trade in their cur­rent com­puter and get credit to­ward a new Mac. Customers can visit ap­ple.com/​shop/​trade-in to see what their de­vice is worth. With year-round ed­u­ca­tion pric­ing — avail­able to cur­rent and newly ac­cepted col­lege stu­dents and ed­u­ca­tors — cus­tomers can save on Mac mini, along with a wide range of prod­ucts and ser­vices through the Apple Store on­line and in stores. See Apple’s Education Store for de­tails. Customers in the U.S. who shop at Apple us­ing Apple Card can pay monthly at 0 per­cent APR when they choose to check out with Apple Card Monthly Installments,8 and they’ll get 3 per­cent Daily Cash back — all up front.9 More in­for­ma­tion — in­clud­ing de­tails on el­i­gi­bil­ity, ex­clu­sions, and Apple Card terms — is avail­able at ap­ple.com/​ap­ple-card/​monthly-in­stall­ments.

AppleCare de­liv­ers ex­cep­tional ser­vice and sup­port, with flex­i­ble op­tions for Apple users. Customers can choose AppleCare+ to cover their new Mac, or, in avail­able mar­kets, AppleCare One to pro­tect mul­ti­ple prod­ucts in one sim­ple plan. Both plans in­clude cov­er­age for ac­ci­dents like drops and spills, bat­tery re­place­ment ser­vice, and pri­or­ity sup­port from Apple Experts. For more in­for­ma­tion, visit ap­ple.com/​ap­ple­care.

Every cus­tomer who buys di­rectly from Apple gets ac­cess to Personal Setup. In these guided on­line ses­sions, a Specialist can walk them through setup or fo­cus on fea­tures that will help them make the most of their new de­vice. Customers can also learn more about get­ting started and go­ing fur­ther with their new de­vice with a Today at Apple ses­sion at their near­est Apple Store.

Text of this ar­ti­cle

Text of this ar­ti­cle

Media in this ar­ti­cle

Media in this ar­ti­cle

Results are com­pared to pre­vi­ous-gen­er­a­tion Mac mini sys­tems with Apple M4, 10-core CPU, 10-core GPU, 32GB of uni­fied mem­ory, and 2TB SSD.

Testing was con­ducted by Apple in July 2026. See ap­ple.com/​mac-mini for more in­for­ma­tion.

Apple Intelligence fea­tures are cur­rently avail­able for test­ing through the Apple Beta Software Program, and will be avail­able with ma­cOS 27 this fall for users with an Apple Intelligence-enabled de­vice set to a sup­ported lan­guage. Apple Intelligence is avail­able with sup­port for these lan­guages: English, Danish, Dutch, French, German, Italian, Norwegian, Portuguese, Spanish, Swedish, Turkish, Vietnamese, Chinese (simplified), Chinese (traditional), Japanese, and Korean. Some fea­tures may not be avail­able in all re­gions or lan­guages. For fea­ture and lan­guage avail­abil­ity and sys­tem re­quire­ments, see ap­ple.com/​ap­ple-in­tel­li­gence.

Siri AI is cur­rently avail­able for test­ing through the Apple Beta Software Program. Siri AI will be avail­able with ma­cOS 27 as a beta later this year for users with a sup­ported de­vice set to English, and Apple will quickly ex­pand sup­port for more lan­guages.

Results are com­pared to pre­vi­ous-gen­er­a­tion Mac mini sys­tems with Apple M2 Pro, 12-core CPU, 19-core GPU, 32GB of uni­fied mem­ory, and 8TB SSD.

Product re­cy­cled or re­new­able con­tent is the mass of cer­ti­fied re­cy­cled ma­te­r­ial rel­a­tive to the over­all mass of the de­vice, not in­clud­ing pack­ag­ing or in-box ac­ces­sories. Recycled and re­new­able plas­tic con­tent cal­cu­la­tion in­cludes mass bal­ance al­lo­ca­tion.

Breakdown of U.S. re­tail pack­ag­ing by weight. Adhesives, inks, and coat­ings are ex­cluded from cal­cu­la­tions of plas­tic con­tent and pack­ag­ing weight.

Apple Card Monthly Installments (ACMI) is a 0 per­cent APR pay­ment op­tion that is only avail­able if users se­lect it at check­out in the U.S. for el­i­gi­ble prod­ucts pur­chased at Apple and is sub­ject to credit ap­proval and credit limit. See sup­port.ap­ple.com/​en-us/​102730 for more in­for­ma­tion about el­i­gi­ble prod­ucts. Additional lim­its and re­stric­tions ap­ply. See the Apple Card Customer Agreement for more in­for­ma­tion about ACMI.

Apple Card is sub­ject to credit ap­proval, avail­able only for qual­i­fy­ing ap­pli­cants in the United States and is­sued by Goldman Sachs Bank USA, Salt Lake City Branch.

ModelScope 魔搭社区

modelscope.cn

How Universities Should Prepare Founders

paulgraham.com

How should uni­ver­si­ties pre­pare stu­dents to start star­tups? Y Combinator is in the per­fect po­si­tion to an­swer this ques­tion, be­cause we get them next. We’re like grad school. And be­cause YC has had 20 years to re­fine its model of what a promis­ing founder looks like, you prob­a­bly won’t find a bet­ter tar­get.

What do the YC part­ners look for? It’s sur­pris­ingly sim­ple. They want peo­ple who are good at build­ing things and have a habit of do­ing it.

The hard part of star­tups is prod­uct: know­ing what to build, and be­ing able to build it. And that kind of knowl­edge comes from study­ing com­puter sci­ence or me­chan­i­cal en­gi­neer­ing or mol­e­c­u­lar bi­ol­ogy, not man­age­ment or fi­nance.

So the way to pre­pare un­der­grad­u­ates to be­come suc­cess­ful founders is not to give them some new cur­ricu­lum fo­cused on entrepreneurship”. It’s to do what uni­ver­si­ties al­ready do best — to teach them com­puter sci­ence and me­chan­i­cal en­gi­neer­ing and mol­e­c­u­lar bi­ol­ogy.

Indeed, prepar­ing stu­dents to start star­tups is closer to the ideal of lib­eral ed­u­ca­tion than prepar­ing them for al­most any other kind of ca­reer. Startups suc­ceed or fail based on how much cus­tomers like the prod­uct. Customers don’t care what the founders stud­ied in col­lege. So founders are free to study what­ever they want, as long as they get good at build­ing things.

But build­ing should be un­der­stood in a very broad sense. It does­n’t mean all would-be founders have to study some form of en­gi­neer­ing. Almost any kind of ex­per­tise that could be de­scribed as build­ing or cre­at­ing could be use­ful. It was use­ful to Steve Jobs to have stud­ied cal­lig­ra­phy, for ex­am­ple; it was one of the rea­sons Apple dom­i­nated desk­top pub­lish­ing. So while math and sci­ence and en­gi­neer­ing and de­sign tend to be good bets, I would not want to draw a sharp line around them, be­cause I can imag­ine other forms of build­ing that could be use­ful. And of course you don’t have to ma­jor in some­thing to be good at it. Mark Zuckerberg was good at pro­gram­ming, but he was a psy­chol­ogy ma­jor, not a CS ma­jor.

The best way to de­scribe what would-be founders should study is that they should seek out pow­er­ful ideas. But smart peo­ple are nat­u­rally at­tracted to pow­er­ful ideas any­way. So as long as de­part­ments teach­ing pow­er­ful ideas ex­ist, the sort of peo­ple who’d make good founders will find them.

In fact there are only two things uni­ver­si­ties need to change to be per­fect at prepar­ing founders: they need to make stu­dents feel that start­ing a startup is some­thing they can do, and they need to en­cour­age them to work on their own pro­jects.

At the mo­ment, the be­lief that it’s pos­si­ble to start a startup is very un­evenly dis­trib­uted. YC now gets so many ap­pli­ca­tions that our ap­pli­ca­tion data is a rea­son­able proxy for in­ter­est in star­tups at dif­fer­ent uni­ver­si­ties, and Harvard alumni, for ex­am­ple, ap­ply at about twice the rate of Yale and Princeton alumni. Presumably Harvard stu­dents aren’t that dif­fer­ent from Yale and Princeton stu­dents; the rea­son Harvard stu­dents go on to start more star­tups is just that it’s more cus­tom­ary there. Which in turn im­plies that merely by mak­ing their stu­dents feel that start­ing a startup is a vi­able op­tion, Yale and Princeton could at least dou­ble the num­ber who do.

Once a uni­ver­sity has a cul­ture of start­ing star­tups, you don’t have to con­vince stu­dents that it’s a vi­able op­tion. New stu­dents learn that from older ones. But at a uni­ver­sity that does­n’t have much of a startup cul­ture yet, there are things you can do to help this re­al­iza­tion along. The most ef­fec­tive is prob­a­bly to show stu­dents ex­am­ples of peo­ple who’ve done it.

Until you’ve seen some founders in real life, you tend to think that start­ing star­tups is some­thing done by other peo­ple. Seeing them pops that bub­ble. In fact see­ing founders in real life is dou­bly in­spir­ing: they seem im­pres­sive, but they also seem hu­man. Especially when they talk about the early years, when they were clue­less and made lots of mis­takes. So strangely enough see­ing founders in real life makes be­ing one seem si­mul­ta­ne­ously both de­sir­able and ac­ces­si­ble. It makes stu­dents think I want to be like that, and I could.”

How in­spir­ing founders are to stu­dents is a func­tion roughly of how rich and fa­mous they are di­vided by how much older they are than the stu­dents. So it’s not es­sen­tial to bring fa­mous bil­lion­aires to cam­pus. Founders in their mid twen­ties who are 3 years into a startup with a val­u­a­tion of a cou­ple hun­dred mil­lion will do as well; they may only be a twen­ti­eth as rich and fa­mous, but they’re twenty times eas­ier for stu­dents to iden­tify with.

It’s ob­vi­ous why uni­ver­si­ties that want their stu­dents to start star­tups need to make them be­lieve it’s a vi­able op­tion. But why is it so im­por­tant for stu­dents to work on their own pro­jects?

There are four rea­sons. The first is sim­ply that it’s a great way, pos­si­bly the best way, to un­der­stand a sub­ject re­ally deeply. The ex­cite­ment of cre­at­ing some­thing new is a much more pow­er­ful mo­ti­va­tor than the fear of do­ing badly on an exam.

Second, work­ing on pro­jects to­gether is the best way for co­founders to dis­cover one an­other. The most suc­cess­ful star­tups tend to have mul­ti­ple founders, and the only way to tell for sure if some­one will be good to work with is to work with them. Apple and Microsoft were just the last of many pro­jects their founders had worked on to­gether.

Third, a startup is a pro­ject, so start­ing one will feel nat­ural to some­one who’s used to work­ing on pro­jects of their own. It won’t seem weird that there’s no teacher or boss telling them what to do. They’re used to telling them­selves.

Fourth, and per­haps most sur­pris­ingly, ran­dom side pro­jects are where the best startup ideas come from. The best startup ideas tend to seem so im­plau­si­ble at first that any­one con­sciously look­ing for startup ideas would re­ject them. Who’d ex­pect to start a huge com­pany by cre­at­ing a stu­dent di­rec­tory? So the way to dis­cover the best startup ideas is not to look for startup ideas but just to work on what­ever ran­dom pro­jects seem in­ter­est­ing. Because in fact such pro­jects are far from ran­dom: young peo­ple who are good at build­ing things are tech­no­log­i­cal bell­wethers, so any idea that seems in­ter­est­ing to them is dis­pro­por­tion­ately likely to lead some­where valu­able, even if they them­selves don’t re­al­ize it yet.

Now it should be clear why the YC part­ners care a lot about the pro­jects that ap­pli­cants have worked on and not at all about their GPAs. Projects are the best source of knowl­edge, the best source of found­ing teams, and the best source of startup ideas.

But en­cour­ag­ing stu­dents to work on their own pro­jects may be dif­fi­cult for uni­ver­si­ties. It will mean giv­ing the stu­dents more free time, and uni­ver­si­ties may not like to do that.

Microsoft and Meta have some­thing in com­mon that few peo­ple re­al­ize. They both got started dur­ing read­ing pe­riod at Harvard. Reading pe­riod is the gap be­tween the end of classes and the be­gin­ning of fi­nal ex­ams. It’s called read­ing pe­riod be­cause stu­dents are sup­posed to spend it prepar­ing for ex­ams. But read­ing pe­riod also turns out to have the unique com­bi­na­tion of qual­i­ties that make it per­fect for start­ing new pro­jects: the stu­dents are all on cam­pus, and they don’t have any­thing due the next day. That lat­ter con­straint, es­pe­cially, is a huge drag on the most am­bi­tious stu­dents. Merely elim­i­nat­ing it for a few weeks re­sulted in two tril­lion dol­lar com­pa­nies. Imagine what the US GDP would be if read­ing pe­riod at Harvard were twice as long.

Universities will tend to re­sist the idea of keep­ing stu­dents less busy with course­work. Partly be­cause ad­min­is­tra­tors feel that if they want to achieve some­thing, they have to do it by tak­ing ac­tive mea­sures. Achieving some­thing merely by leav­ing stu­dents alone is alien to their na­ture.

And they should be left alone. These things should be the stu­dents’ own pro­jects; the uni­ver­sity should re­sist the temp­ta­tion to make them of­fi­cial. Partly be­cause stu­dents will be more ex­cited to work on a pro­ject that’s en­tirely their own, and partly be­cause many pro­jects would­n’t sur­vive of­fi­cial recog­ni­tion, be­cause they break some sort of rule. Bill Gates and Mark Zuckerberg both got in trou­ble with the Harvard ad­min­is­tra­tion over pro­jects they worked on as un­der­grads. Bill broke uni­ver­sity rules by bring­ing Paul Allen, who was­n’t a stu­dent, into the com­puter lab with him to work on Altair Basic. Zuck got in such trou­ble over Facemash that he was put on dis­ci­pli­nary pro­ba­tion. And their cases are prob­a­bly more the rule than the ex­cep­tion. Universities have lots of rules, and novel pro­jects are of­ten un­tidy things.

Right now there are stu­dents fly­ing drones out of line of sight. Turn a blind eye to it.

Another rea­son it will be hard for uni­ver­si­ties to keep stu­dents less busy is that they’ll worry that with­out some kind of over­sight, most stu­dents will just waste what­ever free time they’re given. And they will! The price of giv­ing the most en­er­getic stu­dents room to do even bet­ter is that it leaves the least en­er­getic ones room to do even worse. But that’s a price that’s worth pay­ing, be­cause if the most en­er­getic stu­dents do bet­ter they could do a lot bet­ter, whereas the lazi­est stu­dents al­ready learn so lit­tle that there’s not much room for them to do worse. So giv­ing all the stu­dents some of their time back could im­prove the av­er­age out­come a lot, even if it does­n’t move the me­dian.

It may seem a bit ex­ces­sive to change the whole sched­ule of the uni­ver­sity just to en­cour­age would-be founders. They’re never go­ing to be more than 10% of the stu­dents. And it prob­a­bly would be ex­ces­sive if this change only helped founders. But in fact giv­ing the stu­dents some of their time back would help all the most en­er­getic and am­bi­tious ones. They’d all ex­plore new things of one type or an­other if the pres­sure of work were re­lieved for even a week or two.

Now that I’ve ex­plained how uni­ver­si­ties should pre­pare founders, I should ex­plain how not to. One thing uni­ver­si­ties can’t do is ac­tu­ally teach stu­dents how to start star­tups. Starting a startup is one of those things, like chem­istry or paint­ing, that you have to learn by do­ing. Which means a prop­erly run class on how to start a startup would have to be a lab class: the stu­dents would ac­tu­ally have to start star­tups. And I know ex­actly what a class of this type should look like, be­cause YC is it. But YC is very dif­fer­ent in struc­ture from a uni­ver­sity, and if you tried to cram it into an un­der­grad de­gree pro­gram, it would be­come a joke. Are the stu­dents sup­posed to start these com­pa­nies with­out any fund­ing? Are they sup­posed to run star­tups, which no­to­ri­ously take every mo­ment of your time when done prop­erly, while si­mul­ta­ne­ously tak­ing three or four other classes? And what if, de­spite these hand­i­caps, some of the star­tups ac­tu­ally take off? Are the stu­dents just sup­posed to aban­don them? Because it’s ei­ther that or drop out.

Running a startup is in­com­pat­i­ble with be­ing a full time stu­dent. The only way to learn how to start a startup is to do it. Those two state­ments are so ob­vi­ous that they’re prac­ti­cally tru­isms. And yet so many peo­ple man­age to re­main in de­nial about what they im­ply. You can’t teach stu­dents how to start star­tups.

One com­mon re­sponse to this in­con­ve­nient truth is to pre­tend to teach them how to start star­tups, for ex­am­ple by or­ga­niz­ing busi­ness plan com­pe­ti­tions. The stu­dents col­lab­o­rate to come up with a startup idea, which they then pitch to sim­u­lated in­vestors. This kind of ex­er­cise is not merely use­less but pos­i­tively mis­lead­ing. It trains founders to think that fundrais­ing is the es­sen­tial step in start­ing a startup — that the core of start­ing a startup is to cre­ate a story that ap­peals to in­vestors. As an in­vestor, I can tell you that’s not true. Fundraising is merely a nec­es­sary evil. The peo­ple you need to im­press are users, not in­vestors, and the way you im­press them is with pro­to­types, not words. The core of start­ing a startup is not cre­at­ing a story that ap­peals to in­vestors, but cre­at­ing a prod­uct that ap­peals to users.

In fact would-be founders should be do­ing ex­actly the op­po­site of what stu­dents do in busi­ness plan com­pe­ti­tions. Instead of think­ing about star­tups with­out build­ing any­thing, they should be build­ing things with­out think­ing about whether they’ll turn into star­tups.

Probably one of the rea­sons uni­ver­si­ties are tempted to or­ga­nize bo­gus things like busi­ness plan com­pe­ti­tions is that if they ac­tu­ally took the op­ti­mal mea­sures to pre­pare stu­dents to start star­tups, it would look too quiet. Imagine if a uni­ver­sity were do­ing every­thing right. Students would be get­ting a deep knowl­edge of how to build things in classes they were tak­ing out of gen­uine in­ter­est, and work­ing ea­gerly with their friends on side pro­jects that had noth­ing to do with school. The stu­dents would grad­u­ate with ex­actly what pre­dicts suc­cess in founders: the abil­ity to build things and a habit of do­ing it. Plus a sig­nif­i­cant num­ber of those side pro­jects would be in­cip­i­ent star­tups. And yet it would look to par­ents and prospec­tive stu­dents as if the uni­ver­sity was­n’t do­ing any­thing. Where are the classes on entrepreneurship”? Where is the Innovation Center?

And in­deed this is an­other great thing about the op­ti­mal plan for prepar­ing startup founders: it costs noth­ing ex­tra. You don’t have to hire any deans of en­tre­pre­neur­ship or build any new build­ings. In fact if you do, those things will tend to drag you down; there’s no need for them, so if they have any ef­fect at all it will tend to be for the worse. If you have spare money, give it to the peo­ple teach­ing com­puter sci­ence or me­chan­i­cal en­gi­neer­ing or mol­e­c­u­lar bi­ol­ogy.

But if the op­ti­mal route looks too quiet, the so­lu­tion is not to avoid it. The so­lu­tion is to stand firm, know­ing that you’re do­ing the right thing, and even­tu­ally the re­sults will speak for them­selves. If you can de­velop an or­ganic startup cul­ture among your stu­dents and there are mul­ti­ple stu­dents in every year who go on to start suc­cess­ful ones, this will soon be­come ev­i­dent to any­one pay­ing at­ten­tion.

Notes

[

[

[

[

[

[

Notes and Other Stuff Transmitted by Relays

nostr.org

An open so­cial pro­to­col with a chance of work­ing

Nostr is an in­clu­sive com­mu­ni­ca­tion com­mons. A sim­ple stan­dard that de­fines a scal­able ar­chi­tec­ture of clients and servers that can be used to spread in­for­ma­tion freely. Not con­trolled by any cor­po­ra­tion or gov­ern­ment, any­one can build on Nostr and any­one can use it.

Like the in­ter­net it­self: open and chaotic

Nostr em­braces the chaos of the early in­ter­net—mul­ti­ple kinds of data, di­verse forms of user in­ter­ac­tion and dif­fer­ent clients pro­vid­ing their own per­spec­tives over the same un­der­ly­ing in­for­ma­tion.

re­base

Many clients, many servers

The client is the app that is run­ning on your com­puter or phone, the server is what­ever is run­ning on a cloud some­where with a do­main name. In cen­tral­ized plat­forms and other pro­to­cols, one client talks to a sin­gle server. In Nostr clients con­nect to many.

Learn how Nostr is dif­fer­ent ›

sig­na­ture

A new par­a­digm for com­mu­ni­ca­tion

In Nostr, every user is rep­re­sented by a se­cret num­ber called a key” and every mes­sage car­ries a dig­i­tal signature” that proves its au­thor­ship au­thor­ship and au­then­tic­ity with­out the need for any au­thor­ity to say so. This foun­da­tion of trust en­ables the de­cen­tral­ized broad­cast­ing of in­for­ma­tion.

Watch a hu­man-friendly ex­pla­na­tion ›

shield Pro-censorship

The pro­to­col is own­er­less, re­lays are not

Nostr does­n’t sub­scribe to po­lit­i­cal ideals of free speech” — it sim­ply rec­og­nizes that dif­fer­ent peo­ple have dif­fer­ent morals and pref­er­ences and each server, be­ing pri­vately owned, can fol­low their own cri­te­ria for re­ject­ing con­tent as they please and users are free to choose what to read and from where.

hand­shake

Freedom of as­so­ci­a­tion

When the net­work ef­fect is not tied to a sin­gle or­ga­ni­za­tion a group of users can­not harm oth­ers.

Watch ›

land­scape_2

Your own piece of Nostr

If you are a pro­gram­mer or know how to run servers it is triv­ial to run your own re­lay with your own rules.

Write code ›

light­bul­b_2 New Ideas

Exploring the com­mons

Besides be­ing a nat­ural medium for a Twitter-like mi­croblog­ging so­cial net­work, Nostr can also be used for other pur­poses. And not only sim­i­lar things like shar­ing videos, long­form ar­ti­cles, pic­tures or voice notes. There are ini­tia­tives on Nostr for the de­vel­op­ment of sub-pro­to­cols that power closed groups, de­cen­tral­ized wikipedia, couch­surf­ing, mar­ket­places or web an­no­ta­tions; as well as pro­to­cols that don’t use Nostr for the core data but as a co­or­di­na­tion and dis­cov­ery mech­a­nism, such as de­cen­tral­ized code col­lab­o­ra­tion us­ing git, file host­ing, tor­rent shar­ing and video livestream­ing.

Browse the NIPs

grass Ecosystem

Still un­der con­struc­tion

Nostr is an idea with a lot of open-source soft­ware around it and a large user­base, but not a fin­ished, pol­ished prod­uct that you can buy with­out stress. We’re still pretty much in the phase where new pro­gram­mers and early adopters are needed to help us re­fine the pro­to­col flows and the user ex­pe­ri­ence.

com­ment

Microblogging

The so-called outbox model” is the canon­i­cal way of im­ple­ment­ing a cen­sor­ship-re­sis­tant client, but its pa­ra­me­ters are fluid.

Learn about it ›

hub

Relay-based groups

NIP-29 de­scribes a way to do closed groups for fo­rums or chat that can be very ef­fi­cient by re­ly­ing on a re­lay but are still cen­sor­ship-re­sis­tant.

Read the guide ›

How Nostr works

Nostr en­ables true free­dom by al­low­ing users to stay con­nected to their au­di­ence even in ad­verse sce­nar­ios.

I’ve got some ques­tions!

It may sound like Nostr is very good, but what about these hard is­sues?

A pro­to­col is like a com­mon lan­guage that mul­ti­ple dif­fer­ent soft­ware can use to talk to each other, it’s like e-mail, HTML or HTTP.

When we say protocol” we mean that there is no need to use a spe­cific app in or­der to be in Nostr: there are many apps that talk the same lan­guage and can be used (mostly) in­ter­change­ably — and each has its own take on how to do and dis­play things.

In the de­fault feed you never see any spam, be­cause clients will only fetch in­for­ma­tion from peo­ple that you fol­low. In that sense no one can push” spam into you.

It’s trick­ier when you want to see, for ex­am­ple, replies to your posts, in that case a client might be pro­grammed to fetch any­thing that claims to be a re­ply from any­one, which might in­clude spam.

The way we can deal with it on Nostr is by re­strict­ing our area of con­tact with the spam: for ex­am­ple, some clients may eas­ily de­cide to only dis­play replies that come from peo­ple fol­lowed by peo­ple you fol­low. More re­fined strate­gies in­volve an­nounc­ing and then only read­ing notes from re­lays known to be safe” ac­cord­ing to your cri­te­ria (could be re­lays that re­quire pay­ment, re­lays that do screen­ing for hu­mans, re­lays that only ac­cept mem­bers of cer­tain com­mu­ni­ties or po­lit­i­cal af­fil­i­a­tions etc).

There are no per­fect so­lu­tions. But these do not ex­ist any­where, cen­tral­ized plat­forms are also full of spam. Nostr at least is­n’t naïve and tries to build re­siliency from the start.

Yes, Nostr is just a ba­sic client-server ar­chi­tec­ture. And the fact that users can nat­u­rally spread among hun­dreds of dif­fer­ent re­lays while clients can query dozens of re­lays that they’re in­ter­ested in at the same time means the net­work has a nat­ural load bal­ancer (which does­n’t pre­vent a sin­gle re­lay from hav­ing its own in­ter­nal load bal­ancer ei­ther).

Another (almost the op­po­site) con­cern that may be raised is with prob­lems aris­ing from clients hav­ing to con­nect to too many re­lays if the pro­files be­ing fol­lowed for what­ever rea­son de­cide to spread way too much, but this should­n’t be a prob­lem ei­ther be­cause peo­ple tend to fol­low many ac­counts with sim­i­lar con­tent and these will tend to share re­lays. Still, if it hap­pens, it’s cheap for na­tive apps to open many hun­dreds of WebSocket con­nec­tions si­mul­ta­ne­ously (as they will be get­ting very few data in each of those). For web apps that is­n’t so hard, but we can still go up to a few hun­dreds with­out big prob­lems. Regardless of any of that, in any com­plete enough app that wants to dis­play a following feed” it’s al­ready nec­es­sary to store events in a lo­cal data­base, and that will make all these is­sues easy to deal with as you can do the event re­quests in batches in­stead of all at once.

Harassment is sim­i­lar to spam in the sense that any­one can still cre­ate the un­de­sired con­tent and pub­lish to the re­lays that ac­cept them. All the tech­niques men­tioned in avoid­ing spam can also be ap­plied in this case, but if we’re talk­ing about spe­cific in­di­vid­u­als with a per­ma­nent iden­tity and not only an army of bots in this case the prob­lem be­comes eas­ier, as those in­di­vid­u­als can just be blocked by their tar­get and their con­tent will van­ish. Presumably friends of such tar­get will also block, and cre­ative so­lu­tions in­volv­ing shared block­lists can be cre­ated such that some peo­ple don’t even have to click the block but­ton di­rectly.

Other ap­proaches in­volv­ing, for ex­am­ple, re­lays with re­stricted read (that can em­u­late protected ac­count”/“​only friends” fea­tures seen in cen­tral­ized plat­forms) can fur­ther im­prove this.

There are many prob­lems with Mastodon, mostly due to the fact that it does­n’t rely on any cryp­tog­ra­phy. Because it can­not do the multi-mas­ter ap­proach of Nostr due to lack of cryp­tog­ra­phy, iden­ti­ties are as­sumed to be owned” by the server, which is fully trusted by its ten­ants. Mastodon server own­ers can do all the harm cen­tral­ized plat­forms can do to their un­der­lings, which are com­pletely help­less in case of mis­be­hav­ior or even in the nor­mal case where a server owner loses their server or de­cides to shut down for what­ever rea­son.

Worse than that, for many of its pur­ported fea­tures, such as block­ing or di­rect mes­sages, users have to also trust own­ers of the other servers.

There are also prob­lems with re­liance on the DNS sys­tem, but we don’t have to talk about those.

The most in­ter­est­ing fea­ture of Mastodon is that by its na­ture it cre­ates com­mu­ni­ties with shared val­ues that grow in each of its servers. Or, should I say, that should be a fea­ture if it ac­tu­ally worked like that. In fact these are not re­ally com­mu­ni­ties, but a mashup of users that may share some in­ter­ests among each other, but also have other in­ter­ests and those other in­ter­ests end up pol­lut­ing the sup­posed community” with things that do not in­ter­est the other users.

Nostr, on the other hand, can cre­ate real com­mu­ni­ties around re­lays, specif­i­cally be­cause users don’t have to fully be­long to those re­lays, but can go to them only for some of their needs and go to other re­lays for other needs.

Bluesky has many prob­lems, the two most pro­nounced are:

Identity cen­tral­iza­tion: all ac­counts be­long to PLC, a data­base ran by a cen­tral en­tity that can cen­sor at will — or, al­ter­na­tively, they can be­long to a DNS do­main, which is cum­ber­some, also cen­sorable, risky and is not ex­pected to be used by many any­way;

Data cen­tral­iza­tion: be­cause the Relay-AppView-Client flow as­sumes only one canon­i­cal source of data at each step (unlike Nostr multi-mas­ter ar­chi­tec­ture) that source is al­ways a server that has power to cen­sor, shad­ow­ban, re­order data and so on.

Clients are as­sumed to be dumb and trust the AppView, and here you have room for all sorts of un­de­sired shenani­gans. Then AppViews also as­sume to source their data from a sin­gle Relay, and here you have room for the same ef­fect.

You could ar­gue that Bluesky Clients could be­come smart and start sourc­ing data from mul­ti­ple AppViews, or from mul­ti­ple Relays, or that the AppViews could rely on mul­ti­ple Relays, or that the Clients could talk di­rectly to the PDSes — and all of that is pos­si­ble and would in­deed bring so­lu­tions, but no­tice that if those things started hap­pen­ing Bluesky would end up be­com­ing Nostr, ex­cept with more steps.

Yes, this clip an­swers it well.

But ba­si­cally the an­swer is the same as the ques­tion about scale: if users can go to what­ever re­lay they want we’ll see re­lays ran by all sorts of peo­ple and en­ti­ties. Running servers is very cheap, and a re­lay can run on a $5/mo server and house at least a few thou­sand users. It’s not hard to imag­ine re­lays ran by com­mu­ni­ties, in­di­vid­u­als who just want to be use­ful to oth­ers, big or­ga­ni­za­tions want­ing to gain good will with some parts of the pub­lic, but also com­pa­nies, client mak­ers, and, of course, ded­i­cated en­ti­ties who sell re­lay host­ing for very cheap.

It’s not a fea­ture of the world at large to be able to see or hear every­thing that is hap­pen­ing every­where at all times. Nostr in­her­its that prop­erty from the world, mak­ing it so that you can only see what you fo­cus your at­ten­tion on (and you’re al­lowed to see by the re­lay that hosts that in­for­ma­tion).

It’s only pos­si­ble to search on what you have seen, so search en­gines will al­ways have to crawl some parts of the net­work they chose to and in­dex those to en­able pub­lic search. The word chose” is em­ployed be­cause, as we know, there can’t be a global” view of the net­work (and no one would want such a thing any­way as it would be full of spam), so in­dex­ers have to choose. This is not dif­fer­ent from Google de­cid­ing what web­sites to in­dex.

On the other hand, it’s sur­pris­ingly doable for clients to store all the posts from peo­ple you fol­low, or all the posts you have seen or in­ter­acted with over time (since it’s just text, a huge amount of notes can fit in the same space that would oth­er­wise be re­quired to store a sin­gle photo, for ex­am­ple) then pro­vide lo­cal search over that. That kind of search will be suf­fi­cient for most of the cases you would reach out for a search bar in a cen­tral­ized plat­form (which is to search for things that you have seen be­fore), and per­haps even more use­ful since it would nat­u­rally fil­ter out all the un­re­lated garbage.

Last, niche or com­mu­nity-ori­ented re­lays can also pro­vide very use­ful search ca­pa­bil­i­ties by just in­dex­ing the notes they have stored lo­cally, al­ready fil­tered and scoped to that re­lay’s topic or co­hort (imagine search­ing over a Discord, Slack or Telegram group, for ex­am­ple).

The most ba­sic way to do that is by fol­low­ing the nat­ural habits used by most cen­tral­ized so­cial plat­forms users since a long time ago: by look­ing at the peo­ple you fol­low and whom they’re in­ter­act­ing with.

But also it’s not true that Nostr does­n’t have al­go­rithms. Nostr can have al­go­rithms of all kinds: man­ual, au­to­matic, AI-powered or rule-based. Some of these al­go­rithms can be run en­tirely lo­cally on clients (for ex­am­ple, sur­fac­ing posts from the times when you were not on­line, or from peo­ple that make fewer posts), while other al­go­rithms can be pro­vided by all sorts of re­lays, ei­ther by nat­u­rally sur­fac­ing posts from a com­mu­nity of peo­ple you don’t fol­low or by ded­i­cated re­lays that have the stated pur­pose of cu­rat­ing con­tent de­sir­able for a tar­get au­di­ence or even by tar­get­ing spe­cific users.

Nostr uses the same cryp­to­graphic prin­ci­ples of Bitcoin and was kick­started mostly by a com­mu­nity of Bitcoiners, so it has dis­pro­por­tion­ately at­tracted the at­ten­tion of Bitcoiners at the start, but aside from that it does­n’t have any re­la­tion­ship with Bitcoin. It does­n’t de­pend on Bitcoin for any­thing and you don’t have to know or have or care about any Bitcoin in or­der to use Nostr.

What about zaps”? Zaps are a stan­dard for tip­ping Nostr con­tent us­ing Bitcoin that is im­ple­mented by some Nostr clients, but it’s fully and com­pletely op­tional and if you don’t care about Bitcoin you don’t have to bother about it.

speak­er_notes Opinion

What peo­ple are say­ing

Quotes from those who know bet­ter and de­cided to like Nostr.

How much of HN is AI?

blog.coredump.cx

I have a com­pli­cated re­la­tion­ship with Hacker News. The site is the most im­por­tant ag­gre­ga­tor of geek news and a ma­jor source of traf­fic to this blog. At the same time, it has a fair num­ber of toxic com­menters, mak­ing it a de­pend­able source of in­sults hurled in my gen­eral di­rec­tion; if you want a taste, this ar­ti­cle has been called watered-down” and slop”.

The site is run by geeks and for geeks, so it’s not im­mune to tech trends; for ex­am­ple, around 2018, it had a fair num­ber of sto­ries fo­cused on cryp­tocur­ren­cies and NFTs. That said, the re­cent shift feels more pro­found: al­most every day, it feels that the lineup is dom­i­nated by sto­ries fo­cused on AI, writ­ten by AI, or com­mented on by AI.

That im­ages shows a par­tic­u­larly bad day, so to give a more hon­est as­sess­ment, I also per­formed a more sys­tem­atic sur­vey in February 2026, and again in June of the same year.

To get a sense of how much of the feed is oc­cu­pied by AI-related top­ics, I took a sam­pling of the daily top #5 for all of February:

AI took four out of five spots on Feb 4 and Feb 12, plus ar­guably the en­tire line-up on Feb 5 (story #3 was sub­ma­rine mar­ket­ing for an AI ven­dor). The only days with­out LLM news in the top 5 were February 1 (with the first AI story at #7, then #9), February 9 (first at #8), and February 25 (with AI at #6, #9, #10).

For the sec­ond part of the ex­per­i­ment — fig­ur­ing out which sto­ries were likely AI-written — I tapped into Pangram. Pangram is a re­mark­ably good, con­ser­v­a­tive model for de­tect­ing LLM-generated text. These de­tec­tors have bad rap among techies, but the ob­jec­tions are of­ten based on out­dated as­sump­tions or out­right mis­con­cep­tions. For the tools to work, AI writ­ing does­n’t need to be in any way inhuman”. It’s enough that the de­fault voice of the cur­rent crop of LLMs is quasi-de­ter­min­is­tic: ask for the same es­say twice and you’ll get a styl­is­ti­cally sim­i­lar re­sult. The in­di­vid­ual man­ner­isms are hu­man-like, but it’s very un­likely that your writ­ing com­bines the ex­act same set. I write about it a bit more here.

To val­i­date the re­sults, I also re­viewed all the flagged sto­ries and I think the find­ings make sense; if any­thing, Pangram had a cou­ple of false neg­a­tives. To give you a sense of what was flagged, have a look at the #3 story on February 19 (“AI is not a coworker, it’s an ex­oskele­ton”). It had 500+ up­votes and 500+ com­ments. In my opin­ion, it has a wide range of red flags.

In June, to cap­ture more de­tail, I used solid black for pure-play AI navel-gaz­ing (vendor an­nounce­ments, op-eds about the ben­e­fits or draw­backs of the tech­nol­ogy, etc) and hatched shapes for sto­ries that lean heav­ily into AI, but have broader ram­i­fi­ca­tions (e.g., the Instagram AI sup­port agent ac­count hack). As be­fore, sto­ries that are only tan­gen­tially re­lated to AI (e.g., re­ports of RAM price hikes) are not flagged.

In the first half of the month, roughly 60% of the daily HN lineup was AI-related or AI-generated, ta­per­ing off to ~50% as we ap­proached the end of the month. This is up from 40% in February.

No posts

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.

Visit pancik.com for more.