Files
basicBench/039/002.html
2026-02-24 12:28:15 +08:00

7 lines
58 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html lang=en op=show><!--
Page saved with SingleFile
url: https://news.ycombinator.com/show
saved date: Tue Feb 24 2026 10:51:09 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/showrss><title>Show | 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/show><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> | <span class=topsel><a href=https://news.ycombinator.com/show>show</a></span> | <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&amp;goto=show">logout</a></span></table><tr style=height:10px><tr id=bigbox><td><div style=margin-left:36px;margin-top:6px;margin-bottom:12px>Please read the Show HN <a href=https://news.ycombinator.com/showhn.html><u>rules</u></a> and <a href="https://news.ycombinator.com/item?id=22336638"><u>tips</u></a> before posting. You can browse the newest Show HNs <a href=https://news.ycombinator.com/shownew><u>here</u></a>.</div><table border=0 cellpadding=0 cellspacing=0><tbody><tr class="athing submission" id=47123631><td align=right valign=top class=title><span class=rank>1.</span><td valign=top class=votelinks><center><a id=up_47123631 class=clicky href="https://news.ycombinator.com/vote?id=47123631&amp;how=up&amp;auth=a2f89e05f461243c844581bea87ad21be82011e1&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/pgdogdev/pgdog>Show HN: PgDog Scale Postgres without changing the app</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/pgdogdev"><span class=sitestr>github.com/pgdogdev</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47123631>195 points</span> by <a href="https://news.ycombinator.com/user?id=levkk" class=hnuser>levkk</a> <span class=age title="2026-02-23T15:33:24 1771860804"><a href="https://news.ycombinator.com/item?id=47123631">10 hours ago</a></span> <span id=unv_47123631></span> | <a href="https://news.ycombinator.com/item?id=47123631">44&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47128535><td align=right valign=top class=title><span class=rank>2.</span><td valign=top class=votelinks><center><a id=up_47128535 class=clicky href="https://news.ycombinator.com/vote?id=47128535&amp;how=up&amp;auth=1d04468948c762af0c39ced708c8083e631cae94&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/vignesh07/babyshark>Show HN: Babyshark Wireshark made easy (terminal UI for PCAPs)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/vignesh07"><span class=sitestr>github.com/vignesh07</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47128535>65 points</span> by <a href="https://news.ycombinator.com/user?id=eigen-vector" class=hnuser>eigen-vector</a> <span class=age title="2026-02-23T20:45:34 1771879534"><a href="https://news.ycombinator.com/item?id=47128535">6 hours ago</a></span> <span id=unv_47128535></span> | <a href="https://news.ycombinator.com/item?id=47128535">31&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47132143><td align=right valign=top class=title><span class=rank>3.</span><td valign=top class=votelinks><center><a id=up_47132143 class=clicky href="https://news.ycombinator.com/vote?id=47132143&amp;how=up&amp;auth=2543b137db35beee743af5c7c092481e8230bb29&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href="https://news.ycombinator.com/item?id=47132143">Show HN: PaperBanana Paste methodology text, get publication-ready diagrams</a></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47132143>2 points</span> by <a href="https://news.ycombinator.com/user?id=mylsz" class=hnuser>mylsz</a> <span class=age title="2026-02-24T02:34:17 1771900457"><a href="https://news.ycombinator.com/item?id=47132143">16 minutes ago</a></span> <span id=unv_47132143></span> | <a href="https://news.ycombinator.com/item?id=47132143">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47123894><td align=right valign=top class=title><span class=rank>4.</span><td valign=top class=votelinks><center><a id=up_47123894 class=clicky href="https://news.ycombinator.com/vote?id=47123894&amp;how=up&amp;auth=cbb59f4648f1bc734e0e9519e20e33babc72bfce&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://sowbot.co.uk/>Show HN: Sowbot Open-hardware agricultural robot (ROS2, RTK GPS)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=sowbot.co.uk"><span class=sitestr>sowbot.co.uk</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47123894>128 points</span> by <a href="https://news.ycombinator.com/user?id=Sabrees" class=hnuser>Sabrees</a> <span class=age title="2026-02-23T15:48:33 1771861713"><a href="https://news.ycombinator.com/item?id=47123894">11 hours ago</a></span> <span id=unv_47123894></span> | <a href="https://news.ycombinator.com/item?id=47123894">40&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47132102><td align=right valign=top class=title><span class=rank>5.</span><td valign=top class=votelinks><center><a id=up_47132102 class=clicky href="https://news.ycombinator.com/vote?id=47132102&amp;how=up&amp;auth=f3dc43c8ac8c310ec6b580fb7c54fcae32bfe8b6&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://lyra.horse/x86css/ rel=nofollow>Show HN: X86CSS An x86 CPU emulator written in CSS</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=lyra.horse"><span class=sitestr>lyra.horse</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47132102>4 points</span> by <a href="https://news.ycombinator.com/user?id=rebane2001" class=hnuser>rebane2001</a> <span class=age title="2026-02-24T02:27:14 1771900034"><a href="https://news.ycombinator.com/item?id=47132102">23 minutes ago</a></span> <span id=unv_47132102></span> | <a href="https://news.ycombinator.com/item?id=47132102">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47132038><td align=right valign=top class=title><span class=rank>6.</span><td valign=top class=votelinks><center><a id=up_47132038 class=clicky href="https://news.ycombinator.com/vote?id=47132038&amp;how=up&amp;auth=ee02c04e170cfdfa4a434413687af3c226738581&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/FlerAlex/enseal rel=nofollow>Show HN: Enseal Stop pasting secrets into Slack .env sharing from the terminal</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/fleralex"><span class=sitestr>github.com/fleralex</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47132038>3 points</span> by <a href="https://news.ycombinator.com/user?id=ops_mechanic" class=hnuser>ops_mechanic</a> <span class=age title="2026-02-24T02:15:13 1771899313"><a href="https://news.ycombinator.com/item?id=47132038">35 minutes ago</a></span> <span id=unv_47132038></span> | <a href="https://news.ycombinator.com/item?id=47132038">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47131225><td align=right valign=top class=title><span class=rank>7.</span><td valign=top class=votelinks><center><a id=up_47131225 class=clicky href="https://news.ycombinator.com/vote?id=47131225&amp;how=up&amp;auth=46f32014c843ead1406870055cac117f65e4a322&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://www.guidelabs.ai/post/steerling-8b-base-model-release/>Show HN: Steerling-8B, a language model that can explain any token it generates</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=guidelabs.ai"><span class=sitestr>guidelabs.ai</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47131225>8 points</span> by <a href="https://news.ycombinator.com/user?id=adebayoj" class=hnuser>adebayoj</a> <span class=age title="2026-02-24T00:38:02 1771893482"><a href="https://news.ycombinator.com/item?id=47131225">2 hours ago</a></span> <span id=unv_47131225></span> | <a href="https://news.ycombinator.com/item?id=47131225">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47119871><td align=right valign=top class=title><span class=rank>8.</span><td valign=top class=votelinks><center><a id=up_47119871 class=clicky href="https://news.ycombinator.com/vote?id=47119871&amp;how=up&amp;auth=40a1531371725bb93a2bda9bef94325981f822b4&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://llm-timeline.com/>Show HN: AI Timeline 171 LLMs from Transformer (2017) to GPT-5.3 (2026)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=llm-timeline.com"><span class=sitestr>llm-timeline.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47119871>143 points</span> by <a href="https://news.ycombinator.com/user?id=ai_bot" class=hnuser>ai_bot</a> <span class=age title="2026-02-23T09:07:44 1771837664"><a href="https://news.ycombinator.com/item?id=47119871">17 hours ago</a></span> <span id=unv_47119871></span> | <a href="https://news.ycombinator.com/item?id=47119871">52&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47131402><td align=right valign=top class=title><span class=rank>9.</span><td valign=top class=votelinks><center><a id=up_47131402 class=clicky href="https://news.ycombinator.com/vote?id=47131402&amp;how=up&amp;auth=073d418eb80850d7162742f41b02d513f2cf5e16&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/liyu1981/tmux_start_ui rel=nofollow>Show HN: A deadly simple tmux windows like start UI</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/liyu1981"><span class=sitestr>github.com/liyu1981</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47131402>3 points</span> by <a href="https://news.ycombinator.com/user?id=liyu1981au" class=hnuser><font color=#3c963c>liyu1981au</font></a> <span class=age title="2026-02-24T00:56:56 1771894616"><a href="https://news.ycombinator.com/item?id=47131402">1 hour ago</a></span> <span id=unv_47131402></span> | <a href="https://news.ycombinator.com/item?id=47131402">1&nbsp;comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47114530><td align=right valign=top class=title><span class=rank>10.</span><td valign=top class=votelinks><center><a id=up_47114530 class=clicky href="https://news.ycombinator.com/vote?id=47114530&amp;how=up&amp;auth=ed95505d49c6bf0db7346bc3190e02b0d3f732d9&amp;goto=show"><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 (19902025), 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/item?id=47114530">97&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47124064><td align=right valign=top class=title><span class=rank>11.</span><td valign=top class=votelinks><center><a id=up_47124064 class=clicky href="https://news.ycombinator.com/vote?id=47124064&amp;how=up&amp;auth=19aeb31f84ec0492a16b944546840ab858391e73&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/mixpeek/amux>Show HN: Agent Multiplexer manage Claude Code via tmux</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/mixpeek"><span class=sitestr>github.com/mixpeek</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47124064>9 points</span> by <a href="https://news.ycombinator.com/user?id=Beefin" class=hnuser>Beefin</a> <span class=age title="2026-02-23T15:56:39 1771862199"><a href="https://news.ycombinator.com/item?id=47124064">10 hours ago</a></span> <span id=unv_47124064></span> | <a href="https://news.ycombinator.com/item?id=47124064">1&nbsp;comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47129701><td align=right valign=top class=title><span class=rank>12.</span><td valign=top class=votelinks><center><a id=up_47129701 class=clicky href="https://news.ycombinator.com/vote?id=47129701&amp;how=up&amp;auth=ee5fef872bff27bb85dfa33c7a1061db1b48c2d6&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://worldcanvas.art/ rel=nofollow>Show HN: WorldCanvas R/place, but with a real world map as the canvas</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=worldcanvas.art"><span class=sitestr>worldcanvas.art</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47129701>3 points</span> by <a href="https://news.ycombinator.com/user?id=recuerdame" class=hnuser><font color=#3c963c>recuerdame</font></a> <span class=age title="2026-02-23T22:09:58 1771884598"><a href="https://news.ycombinator.com/item?id=47129701">4 hours ago</a></span> <span id=unv_47129701></span> | <a href="https://news.ycombinator.com/item?id=47129701">1&nbsp;comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47129378><td align=right valign=top class=title><span class=rank>13.</span><td valign=top class=votelinks><center><a id=up_47129378 class=clicky href="https://news.ycombinator.com/vote?id=47129378&amp;how=up&amp;auth=3d527accac8316f1b8600cbb0189d0c992d0678f&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/PureBee/purebee rel=nofollow>Show HN: PureBee A software-defined GPU running Llama 3.2 1B at 3.6 tok/SEC</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/purebee"><span class=sitestr>github.com/purebee</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47129378>3 points</span> by <a href="https://news.ycombinator.com/user?id=benryanx" class=hnuser><font color=#3c963c>benryanx</font></a> <span class=age title="2026-02-23T21:45:36 1771883136"><a href="https://news.ycombinator.com/item?id=47129378">5 hours ago</a></span> <span id=unv_47129378></span> | <a href="https://news.ycombinator.com/item?id=47129378">1&nbsp;comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47129222><td align=right valign=top class=title><span class=rank>14.</span><td valign=top class=votelinks><center><a id=up_47129222 class=clicky href="https://news.ycombinator.com/vote?id=47129222&amp;how=up&amp;auth=b297c23034bd4bba4606bfb0ad4176f8a43d287e&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://peekl.dev/ rel=nofollow>Show HN: Peekl A modern alternative to Ansible and Puppet</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=peekl.dev"><span class=sitestr>peekl.dev</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47129222>2 points</span> by <a href="https://news.ycombinator.com/user?id=redat00" class=hnuser>redat00</a> <span class=age title="2026-02-23T21:35:27 1771882527"><a href="https://news.ycombinator.com/item?id=47129222">5 hours ago</a></span> <span id=unv_47129222></span> | <a href="https://news.ycombinator.com/item?id=47129222">1&nbsp;comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47129040><td align=right valign=top class=title><span class=rank>15.</span><td valign=top class=votelinks><center><a id=up_47129040 class=clicky href="https://news.ycombinator.com/vote?id=47129040&amp;how=up&amp;auth=1d21d026e7f71200d2eedbab3385c91578723521&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://merkle.altayakkus.dev/ rel=nofollow>Show HN: Merkle Casino Random CT Domains</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=altayakkus.dev"><span class=sitestr>altayakkus.dev</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47129040>2 points</span> by <a href="https://news.ycombinator.com/user?id=biosboiii" class=hnuser>biosboiii</a> <span class=age title="2026-02-23T21:20:40 1771881640"><a href="https://news.ycombinator.com/item?id=47129040">5 hours ago</a></span> <span id=unv_47129040></span> | <a href="https://news.ycombinator.com/item?id=47129040">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47088005><td align=right valign=top class=title><span class=rank>16.</span><td valign=top class=votelinks><center><a id=up_47088005 class=clicky href="https://news.ycombinator.com/vote?id=47088005&amp;how=up&amp;auth=564c266cc2a6c6afb87b2b8521aa9ea39eb3d4ea&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/jimishol/cholidean-harmony-structure/blob/main/docs/03-case-study-chopin-prelude04.md>Show HN: A geometric analysis of Chopin's Prelude No. 4 using 3D topology</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/jimishol"><span class=sitestr>github.com/jimishol</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47088005>48 points</span> by <a href="https://news.ycombinator.com/user?id=jimishol" class=hnuser>jimishol</a> <span class=age title="2026-02-20T13:48:55 1771595335"><a href="https://news.ycombinator.com/item?id=47088005">1 day ago</a></span> <span id=unv_47088005></span> | <a href="https://news.ycombinator.com/item?id=47088005">11&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47111981><td align=right valign=top class=title><span class=rank>17.</span><td valign=top class=votelinks><center><a id=up_47111981 class=clicky href="https://news.ycombinator.com/vote?id=47111981&amp;how=up&amp;auth=6019344e9a597daf3d3020d354c89b1670190f56&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://voxjong.com/>Show HN: 3D Mahjong, Built in CSS</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=voxjong.com"><span class=sitestr>voxjong.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47111981>127 points</span> by <a href="https://news.ycombinator.com/user?id=rofko" class=hnuser>rofko</a> <span class=age title="2026-02-22T15:53:02 1771775582"><a href="https://news.ycombinator.com/item?id=47111981">1 day ago</a></span> <span id=unv_47111981></span> | <a href="https://news.ycombinator.com/item?id=47111981">58&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47128630><td align=right valign=top class=title><span class=rank>18.</span><td valign=top class=votelinks><center><a id=up_47128630 class=clicky href="https://news.ycombinator.com/vote?id=47128630&amp;how=up&amp;auth=a1bbd7dfcb8a349fd6ec91e628a4329a1c4aaed8&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/sinzin91/search-sessions rel=nofollow>Show HN: Search-sessions Search all your Claude Code session history in &lt;300ms</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/sinzin91"><span class=sitestr>github.com/sinzin91</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47128630>4 points</span> by <a href="https://news.ycombinator.com/user?id=sinzin91" class=hnuser>sinzin91</a> <span class=age title="2026-02-23T20:53:24 1771880004"><a href="https://news.ycombinator.com/item?id=47128630">5 hours ago</a></span> <span id=unv_47128630></span> | <a href="https://news.ycombinator.com/item?id=47128630">4&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47120076><td align=right valign=top class=title><span class=rank>19.</span><td valign=top class=votelinks><center><a id=up_47120076 class=clicky href="https://news.ycombinator.com/vote?id=47120076&amp;how=up&amp;auth=53216ad3c774317f3620fd4f9872a7564f7738d5&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/v420v/ping>Show HN: Implementing ping from the Ethernet layer (ARP,IPv4,ICMP in user space)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/v420v"><span class=sitestr>github.com/v420v</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47120076>7 points</span> by <a href="https://news.ycombinator.com/user?id=ibuki256" class=hnuser><font color=#3c963c>ibuki256</font></a> <span class=age title="2026-02-23T09:41:30 1771839690"><a href="https://news.ycombinator.com/item?id=47120076">17 hours ago</a></span> <span id=unv_47120076></span> | <a href="https://news.ycombinator.com/item?id=47120076">1&nbsp;comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47113567><td align=right valign=top class=title><span class=rank>20.</span><td valign=top class=votelinks><center><a id=up_47113567 class=clicky href="https://news.ycombinator.com/vote?id=47113567&amp;how=up&amp;auth=b2620376e35e93bac9ef09ae8ef6391294b4377e&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://shuru.run/>Show HN: Local-First Linux MicroVMs for macOS</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=shuru.run"><span class=sitestr>shuru.run</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47113567>207 points</span> by <a href="https://news.ycombinator.com/user?id=harshdoesdev" class=hnuser>harshdoesdev</a> <span class=age title="2026-02-22T18:50:14 1771786214"><a href="https://news.ycombinator.com/item?id=47113567">1 day ago</a></span> <span id=unv_47113567></span> | <a href="https://news.ycombinator.com/item?id=47113567">63&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47126560><td align=right valign=top class=title><span class=rank>21.</span><td valign=top class=votelinks><center><a id=up_47126560 class=clicky href="https://news.ycombinator.com/vote?id=47126560&amp;how=up&amp;auth=a75c134afbc60e4b3e20dfbe3192e502df8a714d&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/verekia/voidcore rel=nofollow>Show HN: I vibe-coded a custom WebGPU engine for my MMO</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/verekia"><span class=sitestr>github.com/verekia</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47126560>3 points</span> by <a href="https://news.ycombinator.com/user?id=jverrecchia" class=hnuser>jverrecchia</a> <span class=age title="2026-02-23T18:30:18 1771871418"><a href="https://news.ycombinator.com/item?id=47126560">8 hours ago</a></span> <span id=unv_47126560></span> | <a href="https://news.ycombinator.com/item?id=47126560">1&nbsp;comment</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47125966><td align=right valign=top class=title><span class=rank>22.</span><td valign=top class=votelinks><center><a id=up_47125966 class=clicky href="https://news.ycombinator.com/vote?id=47125966&amp;how=up&amp;auth=bdbe3f513c9be4cf33593bc12370c996dd16030b&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/butter-dot-dev/bVisor rel=nofollow>Show HN: BVisor An Embedded Bash Sandbox, 2ms Boot, Written in Zig</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/butter-dot-dev"><span class=sitestr>github.com/butter-dot-dev</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47125966>13 points</span> by <a href="https://news.ycombinator.com/user?id=edunteman" class=hnuser>edunteman</a> <span class=age title="2026-02-23T17:56:52 1771869412"><a href="https://news.ycombinator.com/item?id=47125966">8 hours ago</a></span> <span id=unv_47125966></span> | <a href="https://news.ycombinator.com/item?id=47125966">4&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47104667><td align=right valign=top class=title><span class=rank>23.</span><td valign=top class=votelinks><center><a id=up_47104667 class=clicky href="https://news.ycombinator.com/vote?id=47104667&amp;how=up&amp;auth=6ba3518246083fe978e386e314f307178e3f4f9e&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/xaskasdf/ntransformer>Show HN: Llama 3.1 70B on a single RTX 3090 via NVMe-to-GPU bypassing the CPU</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/xaskasdf"><span class=sitestr>github.com/xaskasdf</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47104667>387 points</span> by <a href="https://news.ycombinator.com/user?id=xaskasdf" class=hnuser><font color=#3c963c>xaskasdf</font></a> <span class=age title="2026-02-21T20:57:30 1771707450"><a href="https://news.ycombinator.com/item?id=47104667">2 days ago</a></span> <span id=unv_47104667></span> | <a href="https://news.ycombinator.com/item?id=47104667">102&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47125760><td align=right valign=top class=title><span class=rank>24.</span><td valign=top class=votelinks><center><a id=up_47125760 class=clicky href="https://news.ycombinator.com/vote?id=47125760&amp;how=up&amp;auth=40e37eb16b29c505f75680dffc27273a8d9233b5&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/AgentDbg/AgentDbg rel=nofollow>Show HN: AgentDbg - local-first debugger for AI agents (timeline, loops, etc.)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/agentdbg"><span class=sitestr>github.com/agentdbg</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47125760>3 points</span> by <a href="https://news.ycombinator.com/user?id=z-a-f" class=hnuser>z-a-f</a> <span class=age title="2026-02-23T17:44:40 1771868680"><a href="https://news.ycombinator.com/item?id=47125760">9 hours ago</a></span> <span id=unv_47125760></span> | <a href="https://news.ycombinator.com/item?id=47125760">2&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47111929><td align=right valign=top class=title><span class=rank>25.</span><td valign=top class=votelinks><center><a id=up_47111929 class=clicky href="https://news.ycombinator.com/vote?id=47111929&amp;how=up&amp;auth=aa2eda47a14d719f59de8cec6639e7ddc07a7bb0&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://madebymohammed.com/pysaic>Show HN: Rendering 18,000 videos in real-time with Python</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=madebymohammed.com"><span class=sitestr>madebymohammed.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47111929>40 points</span> by <a href="https://news.ycombinator.com/user?id=mbmproductions" class=hnuser><font color=#3c963c>mbmproductions</font></a> <span class=age title="2026-02-22T15:46:59 1771775219"><a href="https://news.ycombinator.com/item?id=47111929">1 day ago</a></span> <span id=unv_47111929></span> | <a href="https://news.ycombinator.com/item?id=47111929">5&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47125584><td align=right valign=top class=title><span class=rank>26.</span><td valign=top class=votelinks><center><a id=up_47125584 class=clicky href="https://news.ycombinator.com/vote?id=47125584&amp;how=up&amp;auth=a4bf0b7e2a103c284c8ebee6b1f43ef084a926ea&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://code.paperlantern.ai/ rel=nofollow>Show HN: Unlock the best engineering knowledge in papers for your coding agent</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=paperlantern.ai"><span class=sitestr>paperlantern.ai</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47125584>5 points</span> by <a href="https://news.ycombinator.com/user?id=kalpitdixit" class=hnuser>kalpitdixit</a> <span class=age title="2026-02-23T17:33:27 1771868007"><a href="https://news.ycombinator.com/item?id=47125584">9 hours ago</a></span> <span id=unv_47125584></span> | <a href="https://news.ycombinator.com/item?id=47125584">20&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47124972><td align=right valign=top class=title><span class=rank>27.</span><td valign=top class=votelinks><center><a id=up_47124972 class=clicky href="https://news.ycombinator.com/vote?id=47124972&amp;how=up&amp;auth=b797e78d305df2582f0c4a3813159453db6f8adf&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://newsletter.masilotti.com/p/what-ive-learned-from-shipping-25 rel=nofollow>Show HN: What I've learned from shipping 25 mobile apps</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=masilotti.com"><span class=sitestr>masilotti.com</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47124972>3 points</span> by <a href="https://news.ycombinator.com/user?id=joemasilotti" class=hnuser>joemasilotti</a> <span class=age title="2026-02-23T16:57:19 1771865839"><a href="https://news.ycombinator.com/item?id=47124972">9 hours ago</a></span> <span id=unv_47124972></span> | <a href="https://news.ycombinator.com/item?id=47124972">discuss</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47124614><td align=right valign=top class=title><span class=rank>28.</span><td valign=top class=votelinks><center><a id=up_47124614 class=clicky href="https://news.ycombinator.com/vote?id=47124614&amp;how=up&amp;auth=0e47007c260800e8e4775dabcc9780e5fdef153d&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://stoar.page/ rel=nofollow>Show HN: Free ecommerce platform for link-in-bio people</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=stoar.page"><span class=sitestr>stoar.page</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47124614>2 points</span> by <a href="https://news.ycombinator.com/user?id=arajnoha" class=hnuser>arajnoha</a> <span class=age title="2026-02-23T16:32:55 1771864375"><a href="https://news.ycombinator.com/item?id=47124614">10 hours ago</a></span> <span id=unv_47124614></span> | <a href="https://news.ycombinator.com/item?id=47124614">2&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47110946><td align=right valign=top class=title><span class=rank>29.</span><td valign=top class=votelinks><center><a id=up_47110946 class=clicky href="https://news.ycombinator.com/vote?id=47110946&amp;how=up&amp;auth=0bf46f9c45c46379de32a2b2a0def0f56756a070&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/younes-io/agent-skills/tree/main/skills/tlaplus-workbench>Show HN: TLA+ Workbench skill for coding agents (compat. with Vercel skills CLI)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/younes-io"><span class=sitestr>github.com/younes-io</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47110946>41 points</span> by <a href="https://news.ycombinator.com/user?id=youio" class=hnuser>youio</a> <span class=age title="2026-02-22T13:44:27 1771767867"><a href="https://news.ycombinator.com/item?id=47110946">1 day ago</a></span> <span id=unv_47110946></span> | <a href="https://news.ycombinator.com/item?id=47110946">4&nbsp;comments</a></span><tr class=spacer style=height:5px><tr class="athing submission" id=47124131><td align=right valign=top class=title><span class=rank>30.</span><td valign=top class=votelinks><center><a id=up_47124131 class=clicky href="https://news.ycombinator.com/vote?id=47124131&amp;how=up&amp;auth=cd0ef66ba54141e80cb5758a75328c9738dd1d2c&amp;goto=show"><div class=votearrow title=upvote></div></a></center><td class=title><span class=titleline><a href=https://github.com/mr-kelly/mato rel=nofollow>Show HN: Mato a Multi-Agent Terminal Office workspace (tmux-like)</a><span class="sitebit comhead"> (<a href="https://news.ycombinator.com/from?site=github.com/mr-kelly"><span class=sitestr>github.com/mr-kelly</span></a>)</span></span><tr><td colspan=2><td class=subtext><span class=subline><span class=score id=score_47124131>3 points</span> by <a href="https://news.ycombinator.com/user?id=chepy" class=hnuser>chepy</a> <span class=age title="2026-02-23T16:00:21 1771862421"><a href="https://news.ycombinator.com/item?id=47124131">10 hours ago</a></span> <span id=unv_47124131></span> | <a href="https://news.ycombinator.com/item?id=47124131">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/show?p=2" 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 10:51:09 GMT+0800 (中国标准时间)</span><a class="infobar-link-icon" target="_blank" rel="noopener noreferrer" title="Open source URL: https://news.ycombinator.com/show" href="https://news.ycombinator.com/show"></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>