7 lines
63 KiB
HTML
7 lines
63 KiB
HTML
<html lang=en op=news><!--
|
||
Page saved with SingleFile
|
||
url: https://news.ycombinator.com/?p=2
|
||
saved date: Tue Feb 24 2026 11:06:26 GMT+0800 (中国标准时间)
|
||
--><meta charset=utf-8><meta name=viewport content="width=device-width, initial-scale=1.0"><style>:root{--sf-img-0: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMTYiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMiAyNyAxNC0yOSAxNCAyOXoiIGZpbGw9IiM5OTkiLz48L3N2Zz4=")}</style><style>body{font-family:Verdana,Geneva,sans-serif;font-size:10pt;color:#828282}td{font-family:Verdana,Geneva,sans-serif;font-size:10pt;color:#828282}input{font-family:monospace;font-size:10pt}a:link{color:#000000;text-decoration:none}a:visited{color:#828282;text-decoration:none}.title{font-family:Verdana,Geneva,sans-serif;font-size:10pt;color:#828282;overflow:hidden}.subtext{font-family:Verdana,Geneva,sans-serif;font-size:7pt;color:#828282}.yclinks{font-family:Verdana,Geneva,sans-serif;font-size:8pt;color:#828282}.pagetop{font-family:Verdana,Geneva,sans-serif;font-size:10pt;color:#222222;line-height:12px}.comhead{font-family:Verdana,Geneva,sans-serif;font-size:8pt;color:#828282}.hnname{margin-left:1px;margin-right:5px}#hnmain{min-width:796px}.title a{word-break:break-word}.comment a:link,.comment a:visited{text-decoration:underline}.c00 a:link{color:#000000}.c5a a:link,.c5a a:visited{color:#5a5a5a}.c73 a:link,.c73 a:visited{color:#737373}.c82 a:link,.c82 a:visited{color:#828282}.c88 a:link,.c88 a:visited{color:#888888}.c9c a:link,.c9c a:visited{color:#9c9c9c}.cae a:link,.cae a:visited{color:#aeaeae}.cbe a:link,.cbe a:visited{color:#bebebe}.cce a:link,.cce a:visited{color:#cecece}.cdd a:link,.cdd a:visited{color:#dddddd}.pagetop a:visited{color:#000000}.topsel a:link,.topsel a:visited{color:#ffffff}.subtext a:link,.subtext a:visited{color:#828282}.subtext a:hover{text-decoration:underline}.comhead a:link,.subtext a:visited{color:#828282}.comhead a:hover{text-decoration:underline}.hnmore a:link,a:visited{color:#828282}pre:hover{overflow:auto}.votearrow{width:10px;height:10px;border:0px;margin:3px 2px 6px;background:var(--sf-img-0),linear-gradient(transparent,transparent) no-repeat;background-size:10px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){.votearrow{background-size:10px;background-image:var(--sf-img-0),linear-gradient(transparent,transparent)}}@media only screen and (min-width:300px) and (max-width:750px){#hnmain{width:100%;min-width:0}body{padding:0;margin:0;width:100%}td{height:inherit!important}span.pagetop{display:block;margin:3px 5px;font-size:12px;line-height:normal}span.pagetop b{display:block;font-size:15px}.title{font-size:11pt;line-height:14pt}.subtext{font-size:9pt}.votearrow{transform:scale(1.3,1.3);margin-right:6px}.votelinks{min-width:18px}.votelinks a{display:block;margin-bottom:9px}input[type="text"]{font-size:16px;width:90%}}</style><link rel=alternate type=application/rss+xml title=RSS href=https://news.ycombinator.com/rss><title>Hacker News</title><meta name=referrer content=no-referrer><link rel=icon href=data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE4IiB2aWV3Qm94PSI0IDQgMTg4IDE4OCIgd2lkdGg9IjE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im00IDRoMTg4djE4OGgtMTg4eiIgZmlsbD0iI2Y2MCIvPjxwYXRoIGQ9Im03My4yNTIxNzU2IDQ1LjAxIDIyLjc0NzgyNDQgNDcuMzkxMzAwODMgMjIuNzQ3ODI0NC00Ny4zOTEzMDA4M2gxOS41NjU2OTYzMWwtMzQuMzIzNTIwNzEgNjQuNDg2NjE0Njh2NDEuNDkzMzg1MzJoLTE1Ljk4di00MS40OTMzODUzMmwtMzQuMzIzNTIwNzEtNjQuNDg2NjE0Njh6IiBmaWxsPSIjZmZmIi8+PC9zdmc+><link rel=canonical href="https://news.ycombinator.com/?p=2"><meta http-equiv=content-security-policy content="default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:; object-src 'self' data:; frame-src 'self' data:;"><body><center><table id=hnmain border=0 cellpadding=0 cellspacing=0 width=85% bgcolor=#f6f6ef><tbody><tr><td bgcolor=#ff6600><table border=0 cellpadding=0 cellspacing=0 width=100% style=padding:2px><tbody><tr><td style=width:18px;padding-right:4px><a href=https://news.ycombinator.com/><img src=data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE4IiB2aWV3Qm94PSI0IDQgMTg4IDE4OCIgd2lkdGg9IjE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im00IDRoMTg4djE4OGgtMTg4eiIgZmlsbD0iI2Y2MCIvPjxwYXRoIGQ9Im03My4yNTIxNzU2IDQ1LjAxIDIyLjc0NzgyNDQgNDcuMzkxMzAwODMgMjIuNzQ3ODI0NC00Ny4zOTEzMDA4M2gxOS41NjU2OTYzMWwtMzQuMzIzNTIwNzEgNjQuNDg2NjE0Njh2NDEuNDkzMzg1MzJoLTE1Ljk4di00MS40OTMzODUzMmwtMzQuMzIzNTIwNzEtNjQuNDg2NjE0Njh6IiBmaWxsPSIjZmZmIi8+PC9zdmc+ width=18 height=18 style="border:1px white solid;display:block"></a><td style=line-height:12pt;height:10px><span class=pagetop><b class=hnname><a href=https://news.ycombinator.com/news>Hacker News</a></b><a href=https://news.ycombinator.com/newswelcome.html>welcome</a> | <a href=https://news.ycombinator.com/newest>new</a> | <a href="https://news.ycombinator.com/threads?id=cdostan">threads</a> | <a href=https://news.ycombinator.com/front>past</a> | <a href=https://news.ycombinator.com/newcomments>comments</a> | <a href=https://news.ycombinator.com/ask>ask</a> | <a href=https://news.ycombinator.com/show>show</a> | <a href=https://news.ycombinator.com/jobs>jobs</a> | <a href=https://news.ycombinator.com/submit rel=nofollow>submit</a></span><td style=text-align:right;padding-right:4px><span class=pagetop><a id=me href="https://news.ycombinator.com/user?id=cdostan">cdostan</a> (<span id=karma>1</span>) | <a id=logout rel=nofollow href="https://news.ycombinator.com/logout?auth=025505045d1988297412d0a373394a79fe9ed9d7&goto=news%3Fp%3D2">logout</a></span></table><tr style=height:10px><tr id=bigbox><td><table border=0 cellpadding=0 cellspacing=0><tbody><tr class="athing submission" id=47119530><td align=right valign=top class=title><span class=rank>31.</span><td valign=top class=votelinks><center><a id=up_47119530 class=clicky href="https://news.ycombinator.com/vote?id=47119530&how=up&auth=e5ecf90e06b7ad7579a3e34e471f1240d0a05480&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.chrisbrunet.com/p/elsevier-shuts-down-its-finance-journal>Elsevier shuts down its finance journal citation cartel</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=chrisbrunet.com"><span class=sitestr>chrisbrunet.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47119530>535 points</span> by <a href="https://news.ycombinator.com/user?id=qsi" class=hnuser>qsi</a> <span class=age title="2026-02-23T08:22:34 1771834954"><a href="https://news.ycombinator.com/item?id=47119530">18 hours ago</a></span> <span id=unv_47119530></span> | <a href="https://news.ycombinator.com/hide?id=47119530&auth=e5ecf90e06b7ad7579a3e34e471f1240d0a05480&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47119530">95 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47089405><td align=right valign=top class=title><span class=rank>32.</span><td valign=top class=votelinks><center><a id=up_47089405 class=clicky href="https://news.ycombinator.com/vote?id=47089405&how=up&auth=c6ec26d9f9c42a8315a200071fe912c15ea3f180&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.unfavorablesemicircle.com/ rel=nofollow>Unfavorable Semicircle</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=unfavorablesemicircle.com"><span class=sitestr>unfavorablesemicircle.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47089405>9 points</span> by <a href="https://news.ycombinator.com/user?id=evo_9" class=hnuser>evo_9</a> <span class=age title="2026-02-20T15:41:17 1771602077"><a href="https://news.ycombinator.com/item?id=47089405">2 hours ago</a></span> <span id=unv_47089405></span> | <a href="https://news.ycombinator.com/hide?id=47089405&auth=c6ec26d9f9c42a8315a200071fe912c15ea3f180&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47089405">2 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47100612><td align=right valign=top class=title><span class=rank>33.</span><td valign=top class=votelinks><center><a id=up_47100612 class=clicky href="https://news.ycombinator.com/vote?id=47100612&how=up&auth=426c5eb44a32660a808ad1a1185205c1d36cd885&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.science.org/content/article/viking-was-job-description-not-matter-heredity-massive-ancient-dna-study-shows>‘Viking’ was a job, not a matter of heredity: ancient DNA study (2020)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=science.org"><span class=sitestr>science.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47100612>154 points</span> by <a href="https://news.ycombinator.com/user?id=bookofjoe" class=hnuser>bookofjoe</a> <span class=age title="2026-02-21T13:24:04 1771680244"><a href="https://news.ycombinator.com/item?id=47100612">11 hours ago</a></span> <span id=unv_47100612></span> | <a href="https://news.ycombinator.com/hide?id=47100612&auth=426c5eb44a32660a808ad1a1185205c1d36cd885&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47100612">139 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47087838><td align=right valign=top class=title><span class=rank>34.</span><td valign=top class=votelinks><center><a id=up_47087838 class=clicky href="https://news.ycombinator.com/vote?id=47087838&how=up&auth=72c0561748390f742b141c1762dec79be62528ba&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.newscientist.com/article/2231732-the-lighthouse-how-extreme-isolation-transforms-the-body-and-mind/>The Lighthouse: How extreme isolation transforms the body and mind (2020)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=newscientist.com"><span class=sitestr>newscientist.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47087838>71 points</span> by <a href="https://news.ycombinator.com/user?id=nixass" class=hnuser>nixass</a> <span class=age title="2026-02-20T13:33:03 1771594383"><a href="https://news.ycombinator.com/item?id=47087838">10 hours ago</a></span> <span id=unv_47087838></span> | <a href="https://news.ycombinator.com/hide?id=47087838&auth=72c0561748390f742b141c1762dec79be62528ba&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47087838">20 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47085061><td align=right valign=top class=title><span class=rank>35.</span><td valign=top class=votelinks><center><a id=up_47085061 class=clicky href="https://news.ycombinator.com/vote?id=47085061&how=up&auth=a57db6ea71f0da96920c7bac553e0a073182bafe&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://sites.stat.columbia.edu/jcliu/paper/GSPRT_SQA3.pdf>Generalized Sequential Probability Ratio Test for Families of Hypotheses [pdf]</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=columbia.edu"><span class=sitestr>columbia.edu</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47085061>26 points</span> by <a href="https://news.ycombinator.com/user?id=luu" class=hnuser>luu</a> <span class=age title="2026-02-20T07:59:21 1771574361"><a href="https://news.ycombinator.com/item?id=47085061">9 hours ago</a></span> <span id=unv_47085061></span> | <a href="https://news.ycombinator.com/hide?id=47085061&auth=a57db6ea71f0da96920c7bac553e0a073182bafe&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47085061">5 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47076789><td align=right valign=top class=title><span class=rank>36.</span><td valign=top class=votelinks><center><a id=up_47076789 class=clicky href="https://news.ycombinator.com/vote?id=47076789&how=up&auth=8963f9ce7d00b6351c0cb9363033a6d81ca3f609&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://terezi.pyrope.net/ccgoto/>Emulating Goto in Scheme with Continuations</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=pyrope.net"><span class=sitestr>pyrope.net</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47076789>51 points</span> by <a href="https://news.ycombinator.com/user?id=usually" class=hnuser>usually</a> <span class=age title="2026-02-19T17:58:27 1771523907"><a href="https://news.ycombinator.com/item?id=47076789">12 hours ago</a></span> <span id=unv_47076789></span> | <a href="https://news.ycombinator.com/hide?id=47076789&auth=8963f9ce7d00b6351c0cb9363033a6d81ca3f609&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47076789">16 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47113728><td align=right valign=top class=title><span class=rank>37.</span><td valign=top class=votelinks><center><a id=up_47113728 class=clicky href="https://news.ycombinator.com/vote?id=47113728&how=up&auth=c3e1cde004336245a2207c3f00513e7fbe3b9023&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://hawksley.org/2026/02/17/timeframe.html>I built Timeframe, our family e-paper dashboard</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=hawksley.org"><span class=sitestr>hawksley.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47113728>1530 points</span> by <a href="https://news.ycombinator.com/user?id=saeedesmaili" class=hnuser>saeedesmaili</a> <span class=age title="2026-02-22T19:12:31 1771787551"><a href="https://news.ycombinator.com/item?id=47113728">1 day ago</a></span> <span id=unv_47113728></span> | <a href="https://news.ycombinator.com/hide?id=47113728&auth=c3e1cde004336245a2207c3f00513e7fbe3b9023&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47113728">355 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47122789><td align=right valign=top class=title><span class=rank>38.</span><td valign=top class=votelinks><center><a id=up_47122789 class=clicky href="https://news.ycombinator.com/vote?id=47122789&how=up&auth=d9863bbedd8cf2ed401986eb984e72fa50ed1fff&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://sabrinas.space/>The peculiar case of Japanese web design (2022)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=sabrinas.space"><span class=sitestr>sabrinas.space</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47122789>229 points</span> by <a href="https://news.ycombinator.com/user?id=montenegrohugo" class=hnuser>montenegrohugo</a> <span class=age title="2026-02-23T14:28:39 1771856919"><a href="https://news.ycombinator.com/item?id=47122789">12 hours ago</a></span> <span id=unv_47122789></span> | <a href="https://news.ycombinator.com/hide?id=47122789&auth=d9863bbedd8cf2ed401986eb984e72fa50ed1fff&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47122789">111 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47119274><td align=right valign=top class=title><span class=rank>39.</span><td valign=top class=votelinks><center><a id=up_47119274 class=clicky href="https://news.ycombinator.com/vote?id=47119274&how=up&auth=417172c49b1b1bf67bd80c8627834fe2bb03174e&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://magicalmushroom.com/index>Magical Mushroom – Europe's first industrial-scale mycelium packaging producer</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=magicalmushroom.com"><span class=sitestr>magicalmushroom.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47119274>365 points</span> by <a href="https://news.ycombinator.com/user?id=microflash" class=hnuser>microflash</a> <span class=age title="2026-02-23T07:43:47 1771832627"><a href="https://news.ycombinator.com/item?id=47119274">19 hours ago</a></span> <span id=unv_47119274></span> | <a href="https://news.ycombinator.com/hide?id=47119274&auth=417172c49b1b1bf67bd80c8627834fe2bb03174e&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47119274">120 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47131047><td align=right valign=top class=title><span class=rank>40.</span><td valign=top class=votelinks><center><a id=up_47131047 class=clicky href="https://news.ycombinator.com/vote?id=47131047&how=up&auth=6d8f042953bcb91fcb78bcb2b064575853921a30&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href="https://news.ycombinator.com/item?id=47131047">ChatGPT finds an error in Terence Tao's math research</a></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47131047>19 points</span> by <a href="https://news.ycombinator.com/user?id=codexon" class=hnuser>codexon</a> <span class=age title="2026-02-24T00:19:47 1771892387"><a href="https://news.ycombinator.com/item?id=47131047">2 hours ago</a></span> <span id=unv_47131047></span> | <a href="https://news.ycombinator.com/hide?id=47131047&auth=6d8f042953bcb91fcb78bcb2b064575853921a30&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47131047">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47127081><td align=right valign=top class=title><span class=rank>41.</span><td valign=top class=votelinks><center><a id=up_47127081 class=clicky href="https://news.ycombinator.com/vote?id=47127081&how=up&auth=bd9acbd992f441d562a400a40e50ae18f7c823cb&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://techcrunch.com/2026/02/23/americans-are-destroying-flock-surveillance-cameras/>Americans are destroying Flock surveillance cameras</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=techcrunch.com"><span class=sitestr>techcrunch.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47127081>600 points</span> by <a href="https://news.ycombinator.com/user?id=mikece" class=hnuser>mikece</a> <span class=age title="2026-02-23T19:04:34 1771873474"><a href="https://news.ycombinator.com/item?id=47127081">8 hours ago</a></span> <span id=unv_47127081></span> | <a href="https://news.ycombinator.com/hide?id=47127081&auth=bd9acbd992f441d562a400a40e50ae18f7c823cb&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47127081">405 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47075455><td align=right valign=top class=title><span class=rank>42.</span><td valign=top class=votelinks><center><a id=up_47075455 class=clicky href="https://news.ycombinator.com/vote?id=47075455&how=up&auth=d3af239d5cd05f3ad152d82880c3a855f47b8756&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://spectrum.ieee.org/solid-state-lidar-microvision-adas>Sub-$200 Lidar could reshuffle auto sensor economics</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=ieee.org"><span class=sitestr>ieee.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47075455>394 points</span> by <a href="https://news.ycombinator.com/user?id=mhb" class=hnuser>mhb</a> <span class=age title="2026-02-19T16:23:39 1771518219"><a href="https://news.ycombinator.com/item?id=47075455">20 hours ago</a></span> <span id=unv_47075455></span> | <a href="https://news.ycombinator.com/hide?id=47075455&auth=d3af239d5cd05f3ad152d82880c3a855f47b8756&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47075455">531 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47127838><td align=right valign=top class=title><span class=rank>43.</span><td valign=top class=votelinks><center><a id=up_47127838 class=clicky href="https://news.ycombinator.com/vote?id=47127838&how=up&auth=a7823e1776f41b8201d54aa8b45cabee98b2b8ac&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.quantamagazine.org/how-can-infinity-come-in-many-sizes-20260223/>How Can Infinity Come in Many Sizes?</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=quantamagazine.org"><span class=sitestr>quantamagazine.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47127838>16 points</span> by <a href="https://news.ycombinator.com/user?id=EA-3167" class=hnuser>EA-3167</a> <span class=age title="2026-02-23T19:55:31 1771876531"><a href="https://news.ycombinator.com/item?id=47127838">7 hours ago</a></span> <span id=unv_47127838></span> | <a href="https://news.ycombinator.com/hide?id=47127838&auth=a7823e1776f41b8201d54aa8b45cabee98b2b8ac&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47127838">1 comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47127133><td align=right valign=top class=title><span class=rank>44.</span><td valign=top class=votelinks><center><a id=up_47127133 class=clicky href="https://news.ycombinator.com/vote?id=47127133&how=up&auth=94d59632acb21e9ce4c940d1fb630596634fcb3d&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/forget-solid-state-batteries-researchers-have-made-a-lithium-ion-breakthrough-that-could-boost-range-and-drastically-lower-costs>A lithium-ion breakthrough that could boost range and lower costs</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=techradar.com"><span class=sitestr>techradar.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47127133>64 points</span> by <a href="https://news.ycombinator.com/user?id=thelastgallon" class=hnuser>thelastgallon</a> <span class=age title="2026-02-23T19:07:41 1771873661"><a href="https://news.ycombinator.com/item?id=47127133">7 hours ago</a></span> <span id=unv_47127133></span> | <a href="https://news.ycombinator.com/hide?id=47127133&auth=94d59632acb21e9ce4c940d1fb630596634fcb3d&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47127133">30 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47128827><td align=right valign=top class=title><span class=rank>45.</span><td valign=top class=votelinks><center><a id=up_47128827 class=clicky href="https://news.ycombinator.com/vote?id=47128827&how=up&auth=f553f29fd6fabbe89edc797ce9426d33f171c713&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://0x19.co/post/snom360_doom/ rel=nofollow>Porting Doom to a 20-year-old VoIP phone</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=0x19.co"><span class=sitestr>0x19.co</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47128827>10 points</span> by <a href="https://news.ycombinator.com/user?id=25hex" class=hnuser>25hex</a> <span class=age title="2026-02-23T21:06:39 1771880799"><a href="https://news.ycombinator.com/item?id=47128827">5 hours ago</a></span> <span id=unv_47128827></span> | <a href="https://news.ycombinator.com/hide?id=47128827&auth=f553f29fd6fabbe89edc797ce9426d33f171c713&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47128827">1 comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47120201><td align=right valign=top class=title><span class=rank>46.</span><td valign=top class=votelinks><center><a id=up_47120201 class=clicky href="https://news.ycombinator.com/vote?id=47120201&how=up&auth=8da5da2bbcba3096f501ed47312593eab69d2dd5&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://iopscience.iop.org/article/10.3847/1538-3881/ade5a7>SETI@home: Data Acquisition and Front-End Processing (2025)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=iop.org"><span class=sitestr>iop.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47120201>87 points</span> by <a href="https://news.ycombinator.com/user?id=tosh" class=hnuser>tosh</a> <span class=age title="2026-02-23T09:58:33 1771840713"><a href="https://news.ycombinator.com/item?id=47120201">17 hours ago</a></span> <span id=unv_47120201></span> | <a href="https://news.ycombinator.com/hide?id=47120201&auth=8da5da2bbcba3096f501ed47312593eab69d2dd5&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47120201">18 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47077358><td align=right valign=top class=title><span class=rank>47.</span><td valign=top class=votelinks><center><a id=up_47077358 class=clicky href="https://news.ycombinator.com/vote?id=47077358&how=up&auth=e54baf99b14e3a606a9c7d85c9656098288ba489&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://win-vector.com/2026/02/19/what-is-a-centipawn-advantage/>What Is a Centipawn Advantage?</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=win-vector.com"><span class=sitestr>win-vector.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47077358>59 points</span> by <a href="https://news.ycombinator.com/user?id=jmount" class=hnuser>jmount</a> <span class=age title="2026-02-19T18:40:35 1771526435"><a href="https://news.ycombinator.com/item?id=47077358">15 hours ago</a></span> <span id=unv_47077358></span> | <a href="https://news.ycombinator.com/hide?id=47077358&auth=e54baf99b14e3a606a9c7d85c9656098288ba489&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47077358">30 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47078112><td align=right valign=top class=title><span class=rank>48.</span><td valign=top class=votelinks><center><a id=up_47078112 class=clicky href="https://news.ycombinator.com/vote?id=47078112&how=up&auth=3269119132d93931428bf2151dbecd439e539600&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://play0ad.com/new-release-0-a-d-release-28-boiorix/>0 A.D. Release 28: Boiorix</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=play0ad.com"><span class=sitestr>play0ad.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47078112>332 points</span> by <a href="https://news.ycombinator.com/user?id=jonbaer" class=hnuser>jonbaer</a> <span class=age title="2026-02-19T19:37:00 1771529820"><a href="https://news.ycombinator.com/item?id=47078112">22 hours ago</a></span> <span id=unv_47078112></span> | <a href="https://news.ycombinator.com/hide?id=47078112&auth=3269119132d93931428bf2151dbecd439e539600&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47078112">114 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47117886><td align=right valign=top class=title><span class=rank>49.</span><td valign=top class=votelinks><center><a id=up_47117886 class=clicky href="https://news.ycombinator.com/vote?id=47117886&how=up&auth=8639af91813cad44c8cf6794f6caf4f822281cc4&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://andrewkchan.dev/posts/crawler.html>Crawling a billion web pages in just over 24 hours, in 2025</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=andrewkchan.dev"><span class=sitestr>andrewkchan.dev</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47117886>165 points</span> by <a href="https://news.ycombinator.com/user?id=pseudolus" class=hnuser>pseudolus</a> <span class=age title="2026-02-23T03:54:32 1771818872"><a href="https://news.ycombinator.com/item?id=47117886">23 hours ago</a></span> <span id=unv_47117886></span> | <a href="https://news.ycombinator.com/hide?id=47117886&auth=8639af91813cad44c8cf6794f6caf4f822281cc4&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47117886">55 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47130078><td align=right valign=top class=title><span class=rank>50.</span><td valign=top class=votelinks><center><a id=up_47130078 class=clicky href="https://news.ycombinator.com/vote?id=47130078&how=up&auth=7c2fb20278d752b12ad266d05aa8a322a0f06af8&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://umbrellatoday.app/blog/202602-nyc-blizzard-warm-oceans rel=nofollow>Warm Oceans Turned a 3-Inch Forecast into a Record NYC Blizzard</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=umbrellatoday.app"><span class=sitestr>umbrellatoday.app</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47130078>4 points</span> by <a href="https://news.ycombinator.com/user?id=s-xyz" class=hnuser>s-xyz</a> <span class=age title="2026-02-23T22:45:01 1771886701"><a href="https://news.ycombinator.com/item?id=47130078">4 hours ago</a></span> <span id=unv_47130078></span> | <a href="https://news.ycombinator.com/hide?id=47130078&auth=7c2fb20278d752b12ad266d05aa8a322a0f06af8&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47130078">1 comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47085790><td align=right valign=top class=title><span class=rank>51.</span><td valign=top class=votelinks><center><a id=up_47085790 class=clicky href="https://news.ycombinator.com/vote?id=47085790&how=up&auth=680bfe944c8edfb05ee53308c0adc7464a74b5dd&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.theguardian.com/artanddesign/2026/feb/20/an-unknown-woman-how-i-discovered-a-hidden-tragedy-tied-to-russias-most-famous-painting>I discovered a hidden tragedy tied to Russia's most famous painting</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=theguardian.com"><span class=sitestr>theguardian.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47085790>19 points</span> by <a href="https://news.ycombinator.com/user?id=n1b0m" class=hnuser>n1b0m</a> <span class=age title="2026-02-20T09:46:22 1771580782"><a href="https://news.ycombinator.com/item?id=47085790">4 hours ago</a></span> <span id=unv_47085790></span> | <a href="https://news.ycombinator.com/hide?id=47085790&auth=680bfe944c8edfb05ee53308c0adc7464a74b5dd&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47085790">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47129683><td align=right valign=top class=title><span class=rank>52.</span><td valign=top class=votelinks><center><a id=up_47129683 class=clicky href="https://news.ycombinator.com/vote?id=47129683&how=up&auth=070c6b8dfb2c22024efb19dd993ad78a749c76f1&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://informnapalm.org/en/russian-drone-operators-use-belarus/>Ukrainian hackers uncover how Russian drone operators are using Belarus</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=informnapalm.org"><span class=sitestr>informnapalm.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47129683>23 points</span> by <a href="https://news.ycombinator.com/user?id=doener" class=hnuser>doener</a> <span class=age title="2026-02-23T22:08:24 1771884504"><a href="https://news.ycombinator.com/item?id=47129683">4 hours ago</a></span> <span id=unv_47129683></span> | <a href="https://news.ycombinator.com/hide?id=47129683&auth=070c6b8dfb2c22024efb19dd993ad78a749c76f1&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47129683">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47119210><td align=right valign=top class=title><span class=rank>53.</span><td valign=top class=votelinks><center><a id=up_47119210 class=clicky href="https://news.ycombinator.com/vote?id=47119210&how=up&auth=505f854f72cfdd8c83bafa430022e2d183c9567e&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.ewtnnews.com/vatican/pope-leo-xiv-tells-priests-to-use-their-brains-not-ai-to-write-homilies>Pope tells priests to use their brains, not AI, to write homilies</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=ewtnnews.com"><span class=sitestr>ewtnnews.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47119210>528 points</span> by <a href="https://news.ycombinator.com/user?id=josephcsible" class=hnuser>josephcsible</a> <span class=age title="2026-02-23T07:33:57 1771832037"><a href="https://news.ycombinator.com/item?id=47119210">19 hours ago</a></span> <span id=unv_47119210></span> | <a href="https://news.ycombinator.com/hide?id=47119210&auth=505f854f72cfdd8c83bafa430022e2d183c9567e&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47119210">419 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47131380><td align=right valign=top class=title><span class=rank>54.</span><td valign=top class=votelinks><center><a id=up_47131380 class=clicky href="https://news.ycombinator.com/vote?id=47131380&how=up&auth=11cc0e800224273dbd67b6e737f459259b87aef9&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.seattletimes.com/business/local-business/paul-brainerd-conservationist-who-pioneered-desktop-publishing-dies-at-78/ rel=nofollow>Paul Brainerd, conservationist who pioneered desktop publishing, dies at 78</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=seattletimes.com"><span class=sitestr>seattletimes.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47131380>12 points</span> by <a href="https://news.ycombinator.com/user?id=dangle1" class=hnuser>dangle1</a> <span class=age title="2026-02-24T00:53:51 1771894431"><a href="https://news.ycombinator.com/item?id=47131380">2 hours ago</a></span> <span id=unv_47131380></span> | <a href="https://news.ycombinator.com/hide?id=47131380&auth=11cc0e800224273dbd67b6e737f459259b87aef9&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47131380">2 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47128628><td align=right valign=top class=title><span class=rank>55.</span><td valign=top class=votelinks><center><a id=up_47128628 class=clicky href="https://news.ycombinator.com/vote?id=47128628&how=up&auth=0f6d428d1936b81cecc3709ace686b868eaf53a8&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://joplinapp.org/news/20260223-warrant-canary/ rel=nofollow>Our Warrant Canary</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=joplinapp.org"><span class=sitestr>joplinapp.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47128628>6 points</span> by <a href="https://news.ycombinator.com/user?id=Coral-Tiny" class=hnuser>Coral-Tiny</a> <span class=age title="2026-02-23T20:53:23 1771880003"><a href="https://news.ycombinator.com/item?id=47128628">6 hours ago</a></span> <span id=unv_47128628></span> | <a href="https://news.ycombinator.com/hide?id=47128628&auth=0f6d428d1936b81cecc3709ace686b868eaf53a8&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47128628">5 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47113618><td align=right valign=top class=title><span class=rank>56.</span><td valign=top class=votelinks><center><a id=up_47113618 class=clicky href="https://news.ycombinator.com/vote?id=47113618&how=up&auth=ea45076a19276faecd67ff4db1201d36e6cc26d7&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://joinloops.org/>Loops is a federated, open-source TikTok</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=joinloops.org"><span class=sitestr>joinloops.org</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47113618>562 points</span> by <a href="https://news.ycombinator.com/user?id=Gooblebrai" class=hnuser>Gooblebrai</a> <span class=age title="2026-02-22T18:56:40 1771786600"><a href="https://news.ycombinator.com/item?id=47113618">1 day ago</a></span> <span id=unv_47113618></span> | <a href="https://news.ycombinator.com/hide?id=47113618&auth=ea45076a19276faecd67ff4db1201d36e6cc26d7&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47113618">376 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47114530><td align=right valign=top class=title><span class=rank>57.</span><td valign=top class=votelinks><center><a id=up_47114530 class=clicky href="https://news.ycombinator.com/vote?id=47114530&how=up&auth=ed95505d49c6bf0db7346bc3190e02b0d3f732d9&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://cia-factbook-archive.fly.dev/>Show HN: CIA World Factbook Archive (1990–2025), searchable and exportable</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=cia-factbook-archive.fly.dev"><span class=sitestr>cia-factbook-archive.fly.dev</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47114530>465 points</span> by <a href="https://news.ycombinator.com/user?id=MilkMp" class=hnuser><font color=#3c963c>MilkMp</font></a> <span class=age title="2026-02-22T20:50:23 1771793423"><a href="https://news.ycombinator.com/item?id=47114530">1 day ago</a></span> <span id=unv_47114530></span> | <a href="https://news.ycombinator.com/hide?id=47114530&auth=ed95505d49c6bf0db7346bc3190e02b0d3f732d9&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47114530">97 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47128799><td align=right valign=top class=title><span class=rank>58.</span><td valign=top class=votelinks><center><a id=up_47128799 class=clicky href="https://news.ycombinator.com/vote?id=47128799&how=up&auth=5ebf19e5fada9212f769c08b41569029a6dcf537&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://videocardz.com/newz/stop-killing-games-update-says-eu-petition-advances>Stop Killing Games update says EU petition advances</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=videocardz.com"><span class=sitestr>videocardz.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47128799>91 points</span> by <a href="https://news.ycombinator.com/user?id=LorenDB" class=hnuser>LorenDB</a> <span class=age title="2026-02-23T21:04:19 1771880659"><a href="https://news.ycombinator.com/item?id=47128799">6 hours ago</a></span> <span id=unv_47128799></span> | <a href="https://news.ycombinator.com/hide?id=47128799&auth=5ebf19e5fada9212f769c08b41569029a6dcf537&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47128799">52 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47124171><td align=right valign=top class=title><span class=rank>59.</span><td valign=top class=votelinks><center><a id=up_47124171 class=clicky href="https://news.ycombinator.com/vote?id=47124171&how=up&auth=ff0f2bb99ad0f4536710658df78d27c992a4bdb1&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://missing.csail.mit.edu/>The Missing Semester of Your CS Education (2026)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=csail.mit.edu"><span class=sitestr>csail.mit.edu</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47124171>20 points</span> by <a href="https://news.ycombinator.com/user?id=anishathalye" class=hnuser>anishathalye</a> <span class=age title="2026-02-23T16:02:48 1771862568"><a href="https://news.ycombinator.com/item?id=47124171">11 hours ago</a></span> <span id=unv_47124171></span> | <a href="https://news.ycombinator.com/hide?id=47124171&auth=ff0f2bb99ad0f4536710658df78d27c992a4bdb1&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47124171">2 comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47129241><td align=right valign=top class=title><span class=rank>60.</span><td valign=top class=votelinks><center><a id=up_47129241 class=clicky href="https://news.ycombinator.com/vote?id=47129241&how=up&auth=f99361565739b55207bdb0f7629b0d090f3cc19a&goto=news%3Fp%3D2"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://blog.cloudflare.com/code-mode-mcp/ rel=nofollow>Code Mode: give agents an API in 1k tokens</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=cloudflare.com"><span class=sitestr>cloudflare.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47129241>3 points</span> by <a href="https://news.ycombinator.com/user?id=consumer451" class=hnuser>consumer451</a> <span class=age title="2026-02-23T21:36:46 1771882606"><a href="https://news.ycombinator.com/item?id=47129241">5 hours ago</a></span> <span id=unv_47129241></span> | <a href="https://news.ycombinator.com/hide?id=47129241&auth=f99361565739b55207bdb0f7629b0d090f3cc19a&goto=news%3Fp%3D2" class="clicky hider">hide</a> | <a href="https://news.ycombinator.com/item?id=47129241">discuss</a></span><tr class=spacer style=height:5px><tr class=morespace style=height:10px><tr><td colspan=2><td class=title><a href="https://news.ycombinator.com/?p=3" class=morelink rel=next>More</a></table><tr><td><img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" height=10 width=0><table width=100% cellspacing=0 cellpadding=1><tbody><tr><td bgcolor=#ff6600></table><br>
|
||
<center><span class=yclinks><a href=https://news.ycombinator.com/newsguidelines.html>Guidelines</a> | <a href=https://news.ycombinator.com/newsfaq.html>FAQ</a> | <a href=https://news.ycombinator.com/lists>Lists</a> | <a href=https://github.com/HackerNews/API>API</a> | <a href=https://news.ycombinator.com/security.html>Security</a> | <a href=https://www.ycombinator.com/legal/>Legal</a> | <a href=https://www.ycombinator.com/apply/>Apply to YC</a> | <a href=mailto:hn@ycombinator.com>Contact</a></span><br><br>
|
||
<form action=//hn.algolia.com/>Search: <input type=text name=q size=17 autocorrect=off spellcheck=false autocapitalize=off autocomplete=off value><template shadowrootmode=user-agent><div contenteditable=plaintext-only></div></template></form></center></table></center><single-file-infobar style="accent-color: initial !important; place-content: initial !important; place-items: initial !important; place-self: initial !important; alignment-baseline: initial !important; anchor-name: initial !important; anchor-scope: initial !important; animation-composition: initial !important; animation: initial !important; appearance: initial !important; aspect-ratio: initial !important; backdrop-filter: initial !important; backface-visibility: initial !important; background: initial !important; background-blend-mode: initial !important; baseline-shift: initial !important; block-size: initial !important; border-block: initial !important; border: initial !important; border-radius: initial !important; border-collapse: initial !important; border-end-end-radius: initial !important; border-end-start-radius: initial !important; border-inline: initial !important; border-start-end-radius: initial !important; border-start-start-radius: initial !important; inset: initial !important; box-shadow: initial !important; box-sizing: initial !important; break-after: initial !important; break-before: initial !important; break-inside: initial !important; buffered-rendering: initial !important; caption-side: initial !important; caret-color: initial !important; clear: initial !important; clip: initial !important; clip-path: initial !important; clip-rule: initial !important; color: initial !important; color-interpolation: initial !important; color-interpolation-filters: initial !important; color-scheme: initial !important; column-count: initial !important; column-fill: initial !important; gap: initial !important; column-rule-color: initial !important; column-rule-style: initial !important; column-rule-width: initial !important; column-span: initial !important; column-width: initial !important; contain: initial !important; contain-intrinsic-block-size: initial !important; contain-intrinsic-size: initial !important; contain-intrinsic-inline-size: initial !important; container-name: initial !important; container-type: initial !important; content: initial !important; content-visibility: initial !important; counter-increment: initial !important; counter-reset: initial !important; counter-set: initial !important; cursor: initial !important; cx: initial !important; cy: initial !important; direction: initial !important; display: initial !important; dominant-baseline: initial !important; dynamic-range-limit: initial !important; empty-cells: initial !important; field-sizing: initial !important; fill: initial !important; fill-opacity: initial !important; fill-rule: initial !important; filter: initial !important; flex: initial !important; flex-flow: initial !important; float: initial !important; flood-color: initial !important; flood-opacity: initial !important; font-family: initial !important; font-feature-settings: initial !important; font-kerning: initial !important; font-optical-sizing: initial !important; font-palette: initial !important; font-size: initial !important; font-size-adjust: initial !important; font-style: initial !important; font-synthesis-small-caps: initial !important; font-synthesis-style: initial !important; font-synthesis-weight: initial !important; font-variant-alternates: initial !important; font-variant-caps: initial !important; font-variant-east-asian: initial !important; font-variant-ligatures: initial !important; font-variant-numeric: initial !important; font-variant-position: initial !important; font-variation-settings: initial !important; font-weight: initial !important; font-width: initial !important; glyph-orientation-horizontal: initial !important; glyph-orientation-vertical: initial !important; grid: initial !important; grid-column-end: initial !important; grid-column-start: initial !important; grid-row-end: initial !important; grid-row-start: initial !important; hanging-punctuation: initial !important; height: initial !important; hyphenate-character: initial !important; hyphens: initial !important; image-orientation: initial !important; image-rendering: initial !important; inline-size: initial !important; inset-block: initial !important; inset-inline: initial !important; isolation: initial !important; letter-spacing: initial !important; lighting-color: initial !important; line-break: initial !important; line-height: initial !important; list-style: initial !important; margin-block: initial !important; margin: initial !important; margin-inline: initial !important; margin-trim: initial !important; marker: initial !important; mask: initial !important; mask-composite: initial !important; mask-mode: initial !important; mask-size: initial !important; mask-type: initial !important; math-shift: initial !important; math-style: initial !important; max-block-size: initial !important; max-height: initial !important; max-inline-size: initial !important; max-width: initial !important; min-block-size: initial !important; min-height: initial !important; min-inline-size: initial !important; min-width: initial !important; mix-blend-mode: initial !important; object-fit: initial !important; object-position: initial !important; offset-anchor: initial !important; offset-distance: initial !important; offset-path: initial !important; offset-position: initial !important; offset-rotate: initial !important; opacity: initial !important; order: initial !important; orphans: initial !important; outline: initial !important; outline-offset: initial !important; overflow-block: initial !important; overflow-inline: initial !important; overflow-wrap: initial !important; overflow: initial !important; overscroll-behavior-block: initial !important; overscroll-behavior-inline: initial !important; overscroll-behavior: initial !important; padding-block: initial !important; padding: initial !important; padding-inline: initial !important; paint-order: initial !important; perspective: initial !important; perspective-origin: initial !important; pointer-events: initial !important; position: initial !important; position-anchor: initial !important; position-area: initial !important; position-try: initial !important; position-visibility: initial !important; print-color-adjust: initial !important; quotes: initial !important; r: initial !important; resize: initial !important; rotate: initial !important; ruby-align: initial !important; ruby-overhang: initial !important; ruby-position: initial !important; rx: initial !important; ry: initial !important; scale: initial !important; scroll-behavior: initial !important; scroll-margin-block: initial !important; scroll-margin: initial !important; scroll-margin-inline: initial !important; scroll-padding-block: initial !important; scroll-padding: initial !important; scroll-padding-inline: initial !important; scroll-snap-align: initial !important; scroll-snap-stop: initial !important; scroll-snap-type: initial !important; scroll-timeline: initial !important; scrollbar-color: initial !important; scrollbar-gutter: initial !important; scrollbar-width: initial !important; shape-image-threshold: initial !important; shape-margin: initial !important; shape-outside: initial !important; shape-rendering: initial !important; speak-as: initial !important; stop-color: initial !important; stop-opacity: initial !important; stroke: initial !important; stroke-color: initial !important; stroke-dasharray: initial !important; stroke-dashoffset: initial !important; stroke-linecap: initial !important; stroke-linejoin: initial !important; stroke-miterlimit: initial !important; stroke-opacity: initial !important; stroke-width: initial !important; tab-size: initial !important; table-layout: initial !important; text-align: initial !important; text-align-last: initial !important; text-anchor: initial !important; text-autospace: initial !important; text-box: initial !important; text-combine-upright: initial !important; text-decoration: initial !important; text-decoration-skip-ink: initial !important; text-emphasis-color: initial !important; text-emphasis-position: initial !important; text-emphasis-style: initial !important; text-indent: initial !important; text-orientation: initial !important; text-overflow: initial !important; text-rendering: initial !important; text-shadow: initial !important; text-transform: initial !important; text-underline-offset: initial !important; text-underline-position: initial !important; text-wrap: initial !important; timeline-scope: initial !important; touch-action: initial !important; transform: initial !important; transform-box: initial !important; transform-origin: initial !important; transform-style: initial !important; transition: initial !important; translate: initial !important; unicode-bidi: initial !important; vector-effect: initial !important; vertical-align: initial !important; view-timeline: initial !important; view-transition-class: initial !important; view-transition-name: initial !important; visibility: initial !important; white-space: initial !important; widows: initial !important; width: initial !important; will-change: initial !important; word-break: initial !important; word-spacing: initial !important; writing-mode: initial !important; x: initial !important; y: initial !important; z-index: initial !important; zoom: initial !important; -apple-pay-button-style: initial !important; -apple-pay-button-type: initial !important; border-spacing: initial !important; -webkit-box-align: initial !important; -webkit-box-decoration-break: initial !important; -webkit-box-direction: initial !important; -webkit-box-flex: initial !important; -webkit-box-flex-group: initial !important; -webkit-box-lines: initial !important; -webkit-box-ordinal-group: initial !important; -webkit-box-orient: initial !important; -webkit-box-pack: initial !important; -webkit-box-reflect: initial !important; -webkit-column-axis: initial !important; -webkit-column-progression: initial !important; -webkit-cursor-visibility: initial !important; -webkit-font-smoothing: initial !important; -webkit-hyphenate-limit-after: initial !important; -webkit-hyphenate-limit-before: initial !important; -webkit-hyphenate-limit-lines: initial !important; -webkit-initial-letter: initial !important; -webkit-line-align: initial !important; -webkit-line-box-contain: initial !important; -webkit-line-clamp: initial !important; -webkit-line-grid: initial !important; -webkit-line-snap: initial !important; -webkit-locale: initial !important; -webkit-nbsp-mode: initial !important; -webkit-rtl-ordering: initial !important; -webkit-text-fill-color: initial !important; -webkit-text-security: initial !important; -webkit-text-stroke-color: initial !important; -webkit-text-stroke-width: initial !important; -webkit-text-zoom: initial !important; -webkit-user-drag: initial !important; -webkit-user-modify: initial !important; -webkit-user-select: initial !important;"><template shadowrootmode=open><div><style>.infobar,.infobar .infobar-icon,.infobar .infobar-link-icon {min-inline-size:28px;min-block-size:28px;box-sizing:border-box;}.infobar,.infobar .infobar-close-icon,.infobar .infobar-link-icon {opacity:0.7;transition:opacity 250ms;}.infobar:hover,.infobar .infobar-close-icon:hover,.infobar .infobar-link-icon:hover {opacity:1;}.infobar,.infobar-content {display:flex;}.infobar {position:fixed;max-height:calc(100% - 32px);top:16px;right:16px;margin-inline-start:16px;margin-block-end:16px;color:#2d2d2d;background-color:#737373;border:2px solid;border-color:#eee;border-radius:16px;z-index:2147483647;animation-name:flash;animation-duration:.5s;animation-timing-function:cubic-bezier(0.39,0.58,0.57,1);animation-delay:1s;animation-iteration-count:2;}.infobar:valid,.infobar:not(:focus-within):not(.infobar-focus) .infobar-content {display:none;}.infobar:focus-within,.infobar.infobar-focus {background-color:#f9f9f9;border-color:#878787;border-radius:8px;opacity:1;transition-property:opacity,background-color,border-color,border-radius,color;}.infobar-content {border:2px solid;border-color:#f9f9f9;border-radius:6px;background-color:#f9f9f9;overflow:auto;}.infobar-content span {font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:18px;word-break:break-word;white-space:pre-wrap;margin-inline:4px;margin-block:4px;}.infobar .infobar-icon,.infobar .infobar-close-icon,.infobar .infobar-link-icon {cursor:pointer;background-position:center;background-repeat:no-repeat;}.infobar .infobar-close-icon,.infobar .infobar-link-icon {align-self:flex-start;}.infobar .infobar-icon {position:absolute;min-inline-size:24px;min-block-size:24px;}@keyframes flash {0%,100% { background-color:#737373;}50% { background-color:#dd6a00;}}.infobar:focus-within .infobar-icon,.infobar.infobar-focus .infobar-icon {z-index:-1;background-image:none;margin:4px;}.infobar .infobar-close-icon {min-inline-size:22px;min-block-size:22px;}.infobar .infobar-icon {background-color:transparent;background-size:70%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHADIRLMaOHwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAPUExURQAAAIqKioyNjY2OjvDw8L2y1DEAAAABdFJOUwBA5thmAAAAAWJLR0QB/wIt3gAAAGNJREFUSMdjYCAJsLi4OBCQx6/CBQwIGIDPCBcXAkYQUsACU+AwlBVQHg6Eg5pgZBGOboIJZugDFwRwoJECJCUOhJI1wZwzqmBUwagCuipgIqTABG9h7YIKaKGAURAFEF/6AQAO4HqSoDP8bgAAAABJRU5ErkJggg==);}.infobar .infobar-link-icon {right:4px;background-size:60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHAB8H+DhhoQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAJUExURQAAAICHi4qKioTuJAkAAAABdFJOUwBA5thmAAAAAWJLR0QCZgt8ZAAAAJJJREFUOI3t070NRCEMA2CnYAOyDyPwpHj/Va7hJ3FzV7zy3ET5JIwoAF6Jk4wzAJAkzxAYG9YRTgB+24wBgKmfrGAKTcEfAY4KRlRoIeBTgKOCERVaCPgU4Khge2GqKOBTgKOCERVaAEC/4PNcnyoSWHpjqkhwKxbcig0Q6AorXYF/+A6eIYD1lVbwG/jdA6/kA2THRAURVubcAAAAAElFTkSuQmCC);}.infobar .infobar-close-icon {appearance:none;background-size:80%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHAB8VC4EQ6QAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAJUExURQAAAICHi4qKioTuJAkAAAABdFJOUwBA5thmAAAAAWJLR0QCZgt8ZAAAAJtJREFUOI3NkrsBgCAMRLFwBPdxBArcfxXFkO8rbKWAAJfHJ9faf9vuYX/749T5NmShm3bEwbe2SxeuM4+2oxDL1cDoKtVUjRy+tH78Cv2CS+wIiQNC1AEhk4AQeUTMWUJMfUJMSEJMSEY8kIx4IONroaYAimNxsXp1PA7PxwfVL8QnowwoVC0lig07wDDVUjAdbAnjwtow/z/bDW7eI4M2KruJAAAAAElFTkSuQmCC);}.infobar { top:16px; bottom:auto; }.infobar { right:16px; left:auto; }</style><form class="infobar"><span tabindex="-1" class="infobar-icon"></span><span tabindex="-1" class="infobar-content"><input type="checkbox" required="" class="infobar-close-icon" title="Close"><span>Tue Feb 24 2026 11:06:26 GMT+0800 (中国标准时间)</span><a class="infobar-link-icon" target="_blank" rel="noopener noreferrer" title="Open source URL: https://news.ycombinator.com/?p=2" href="https://news.ycombinator.com/?p=2"></a></span></form><script>function Wo(n,{saveUrl:e,infobarContent:t,saveDate:a}){if(e){const o=n.querySelector("single-file-infobar").shadowRoot;o.querySelector(".infobar-content span").textContent=t||a;const i=o.querySelector(".infobar-content .infobar-link-icon");i.href=e,i.title="Open source URL: "+e}};function Ho(n,e=_o){const t=n.evaluate("//comment()",n,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);let a=t&&t.singleNodeValue;if(a&&a.nodeType==Node.COMMENT_NODE&&a.textContent.includes(e)){const n=a.textContent.split("\n"),[,,e,...t]=n,o=e.match(/^ url: (.*) ?$/),i=o&&o[1];if(i){let n,e;if(t.length&&(e=t[0].split("saved date: ")[1],e&&t.shift(),t.length>1)){let e=t[0].split("info: ")[1].trim();for(let n=1;n<t.length-1;n++)e+="\n"+t[n].trim();n=e.trim()}return{saveUrl:i,infobarContent:n,saveDate:e}}}};(function Go(n,e){const t=Ho(n,e);t&&t.saveUrl&&Wo(n,t)})(document, "SingleFile");</script></div></template></single-file-infobar> |