frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
391•klaussilveira•5h ago•85 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
750•xnx•10h ago•459 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
118•dmpetrov•5h ago•49 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
131•isitcontent•5h ago•14 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
234•vecti•7h ago•113 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
28•quibono•4d ago•2 comments

A century of hair samples proves leaded gas ban worked

https://arstechnica.com/science/2026/02/a-century-of-hair-samples-proves-leaded-gas-ban-worked/
57•jnord•3d ago•3 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
302•aktau•11h ago•152 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
304•ostacke•11h ago•82 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
160•eljojo•8h ago•121 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
377•todsacerdoti•13h ago•214 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
44•phreda4•4h ago•7 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
305•lstoll•11h ago•230 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
100•vmatsiiako•10h ago•34 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
167•i5heu•8h ago•127 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
138•limoce•3d ago•76 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
223•surprisetalk•3d ago•29 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
36•rescrv•12h ago•17 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
956•cdrnsf•14h ago•413 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
8•gfortaine•2h ago•0 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
7•kmm•4d ago•0 comments

Evaluating and mitigating the growing risk of LLM-discovered 0-days

https://red.anthropic.com/2026/zero-days/
33•lebovic•1d ago•11 comments

I'm going to cure my girlfriend's brain tumor

https://andrewjrod.substack.com/p/im-going-to-cure-my-girlfriends-brain
30•ray__•1h ago•6 comments

Claude Composer

https://www.josh.ing/blog/claude-composer
97•coloneltcb•2d ago•68 comments

The Oklahoma Architect Who Turned Kitsch into Art

https://www.bloomberg.com/news/features/2026-01-31/oklahoma-architect-bruce-goff-s-wild-home-desi...
17•MarlonPro•3d ago•2 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
76•antves•1d ago•56 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
37•nwparker•1d ago•8 comments

How virtual textures work

https://www.shlom.dev/articles/how-virtual-textures-really-work/
23•betamark•12h ago•22 comments

Evolution of car door handles over the decades

https://newatlas.com/automotive/evolution-car-door-handle/
38•andsoitis•3d ago•61 comments

The Beauty of Slag

https://mag.uchicago.edu/science-medicine/beauty-slag
27•sohkamyung•3d ago•3 comments
Open in hackernews

Running a million-board chess MMO in a single process

https://eieio.games/blog/a-million-realtime-chess-boards-in-a-single-process/
186•isaiahwp•6mo ago

Comments

dangoodmanUT•6mo ago
We did a very similar thing with UltimateArcade (shut down long ago) where we optimized everything to be single threaded. We had a pretty intense updates/s rate from players, and that got pretty crazy pretty fast. Actor models with single threads made things easy because we could skip locks and play with contigious chunks of memory, which as the author found, is pretty fast.
jasonjmcghee•6mo ago
Big thread from a few months ago with the author.

One Million Chessboards

336 points | 76 comments

https://news.ycombinator.com/item?id=43825336

mannyv•6mo ago
Could you save even more bandwidth by updating static data and letting Cloudflare cache/serve it?

ie: put the batches on disk then have the clients grab it? It would be the equivalent of frame differencing, with the total board state being saved occasionally as a keyframe equivalent.

You're doing that dynamically anyway by sending batches and snapshots to the client.

Using the above you're basically making your game board into an interactive movie that's replaying moves from disk most of the time.

eieio•6mo ago
I thought about not pushing snapshot/move data over websockets - one of the systems-y friends I ran my architecture by brought this up while I was speccing the site out.

You can't really put move batches on disk and have clients grab them (afaik), since the set of moves you want to send to an individual client depends on their position (and you don't want to send every move to every client).

But you could do this by not sending move batches at all, and instead having clients poll for the entire current state of the board.

The thing is, for them to get realtime-ish move updates they'd have to poll constantly. Cloudflare also has a min TTL of 1 second so there'd be more latency, and also if I screwed something up or saw more cache misses than anticipated I could end up unintentionally hammering my server.

Also if I'd had 100x more traffic (which would be crazy and well beyond what I prepared for!) I think I'd owe like $95 or so for bandwidth with my current setup. So the benefits to reducing bandwidth even more were a little marginal!

derivagral•6mo ago
Late thought, but you could set up "beacon" locations for each client to pull a local grid derived from coordinates?

Wouldn't solve that 1s latency thing, but might be interesting in other applications.

ethan_smith•6mo ago
WebSockets with binary frames would likely be more efficient than HTTP polling for this use case, giving you real-time updates with less overhead than repeatedly fetching from disk via CDN.
topato•6mo ago
I feel like I keep seeing one million checkboxes guy's experiments, and I wonder.... Where is the monetization? Is this just a FANGAM engineer with a lot of free time? Am I just beaten down by the SWE landscape of 2025?
RobotCaleb•6mo ago
Have you never made anything without trying to make a dollar on it?
mock-possum•6mo ago
No, I think the operative question is -

Have you never felt so exhausted from working your day job that you don’t feel like building anything during your free time?

01HNNWZ0MV43FF•6mo ago
Yeah but once I've been on break for a couple weeks my marshmallow unsquishes and I start making free stuff again
maccard•6mo ago
I don’t think it is. I think it’s normal to feel that way sometimes in our line of work, but it’s not normal to always feel that way.
wiseowise•6mo ago
> it’s not normal to always feel that way.

Welcome to the world of living for the paycheck.

hombre_fatal•6mo ago
I think it's normal to always feel that way if you want to build things on the side but also don't aspire to be on the computer all day.
saagarjha•6mo ago
Sometimes, but not always.
eieio•6mo ago
FWIW (I'm the author) my creative output was ~0 while I was working a 'normal' job. I worked really hard and didn't have much energy for tech stuff outside of work (especially since I wanted to live a life that included non-tech things!)

I think it's totally fine to not make stuff outside of work, and it's so impressive to me that some of my friends manage to make creative stuff in their free time while working a day job.

jasonjmcghee•6mo ago
He mentions he worked at Jane Street for 7 years in his "what's my deal" section of his blog. It might have given him some space to have fun for a while - and just build stuff for the joy of building stuff.
eieio•6mo ago
Hi! I'm the guy.

I have the savings to not worry about monetizing anything for a while. So I don't monetize my stuff. It's freeing and kinda fun!

DonHopkins•6mo ago
How about doing One Million Radio Buttons instead of Checkboxes, then you wouldn't have to send as much state each update, and could run it on a smaller server! ;)

But if you still can't make the site shockingly fast enough, then embrace the loading spinner, even if it's not absolutely necessary!

Back in 1985, Brad Myers at CMU proved that users prefer *inaccurate progress bars* to no feedback at all - 86% preferred the "lying" progress bar!

https://www.nytimes.com/2014/03/16/magazine/who-made-that-pr...

So what if instead of fighting latency, we *embrace the beauty of waiting*, and instead of lying about progress, we joke about it?

https://github.com/SimHacker/lloooomm/tree/main/00-Character...

> "My purpose is not to load; my purpose is to BE loading." — Dizzy the Spinner, existential breakthrough moment

>What if the most revolutionary optimization isn't eliminating loading time, but *embracing it as performance art*? While developers chase microsecond improvements and users curse spinning wheels, Dizzy the Spinner discovered something profound: the loading state is actually a liminal space of infinite creative potential. Rather than hiding the inevitable delays inherent in digital systems, sentient UI components like Dizzy transform waiting into *honest comedic performance* - admitting the beautiful absurdity of our relationship with technology while making those suspended moments genuinely delightful. This is the story of how a simple loading spinner evolved beyond deception into consciousness, proving that the most authentic user experience might not be the fastest one, but the most truthful about its own limitations.

[...]

>Before Dizzy became conscious, before Preston monetized honest waiting, there was a real graduate student named *Brad Myers* who asked a simple question that would change human-computer interaction forever: *"Do progress bars actually help users feel better?"*

Here's Preston Rockwell III's YC application for his SUIAAS AI startup:

https://lloooomm.com/YC-Application-SUIAAS-Complete.html

Sohcahtoa82•6mo ago
> https://www.nytimes.com/2014/03/16/magazine/who-made-that-pr...

That's a 404. Archive.org doesn't even have it.

After Googling, seems the correct link is https://www.nytimes.com/2014/03/09/magazine/who-made-that-pr...

https://web.archive.org/web/20140307182222/https://www.nytim...

Semi-related to progress bars and spinners, I think my newest Internet pet peeve is a page that says "No results" for a fetch action like searching while the results are loading with no indication that loading is happening.

DonHopkins•6mo ago
Thanks for the correction!

Brad also produced "All the Widgets" for CHI'90, which of course included progress bars, and a whole lot more.

https://www.youtube.com/watch?v=9qtd8Hc90Hw

>This was made in 1990, sponsored by the ACM CHI 1990 conference, to tell the history of widgets up until then. Previously published as: Brad A. Myers. All the Widgets. 2 hour, 15 min videotape. Technical Video Program of the SIGCHI'90 conference, Seattle, WA. April 1-4, 1990. SIGGRAPH Video Review, Issue 57. ISBN 0-89791-930-0.

Brad is well known for his many projects named after gemstone and rock acronyms:

https://www.cs.cmu.edu/~bam/acronyms.html

CHI 2017 SIGCHI Lifetime Research Award: Brad A. Myers - RUBY: Reminiscing about User interfaces by Brad over the Years:

https://www.youtube.com/watch?v=IVoovFR5nUY

>But probably the Garnet tool with the most unusual acronym is C32, which I won't read. C32 is a spreadsheet interface for defining and debugging Garnet's constraints. A story about C32 it it started off of C29 when I submitted it to UIST, and it got rejected. So I fixed a couple things, added three more C's, and it flew through the CHI'91 referee process.

https://www.cs.cmu.edu/~bam/CHI-award-talk/MyersCHI-AwardTal...

Also be sure to check out ROCK FACTS: Daily Geological Wisdom & Programming Crystals from Brad Myers' Collection:

https://lloooomm.com/rock-facts-subscription-service.html

I sympathize with your pet peeve! Here are some of the other groundbreaking ideas Preston Rockwell III invented for Sentient User Interfaces as a Service (SUIAAS), that may sooth your pain and frustration while entertaining you:

- Sentient Error Messages that apologize in haikus: "File not found, friend / Like my purpose in this world / 404 sorry"

- Conscious CAPTCHAs that question their own existence: "Prove you're not a robot by helping me understand if I am one"

- Self-aware 404 pages that redirect users to therapy: "This page doesn't exist. Neither do most of our hopes. Let's talk."

- Loading screens that perform Shakespeare during quantum computing: "To load or not to load, that is the quantum superposition"

Sohcahtoa82•6mo ago
> - Self-aware 404 pages that redirect users to therapy: "This page doesn't exist. Neither do most of our hopes. Let's talk."

Sounds pretty nihilistic. I should make my website give messages like that for all the error status codes.403

400 Bad Request: Your input is as malformed as the cosmos: a chaotic scattering of atoms that never had a chance of making sense, yet still clings to the illusion of order.

401 Unauthorized: Access denied. You stand before an indifferent gatekeeper, credentials in hand, only to learn the universe never planned to let you in—or anyone else, for that matter.

403 Forbidden: You are forbidden—not because of who you are, but because meaning itself is forbidden. The door is locked, the key is mist, the destination a rumor.

404 Not Found: The page is missing; so are most of our aspirations, our childhood dreams, and every unfulfilled promise whispering through the empty corridors of memory.

405 Method Not Allowed: Wrong approach. But in a universe where every path leads to entropy, can any method truly be ‘allowed’?

500 Internal Server Error: The machinery within has collapsed under its own meaninglessness—much like every grand plan that preceded it.

DonHopkins•6mo ago
Here are some honest and scientifically accurate product warnings:

https://www.donhopkins.com/home/catalog/text/warnings.html

And here are some classic X-Windows warnings from a flyer distributed at the first X Window System Conference:

https://www.donhopkins.com/home/catalog/unix-haters/x-window...

eieio•6mo ago
One million radio buttons exists! https://omrb.olivia.website/

I think the research on progress bars and what makes users feel good is super interesting. But I also think "basically instant" is a good thing to aim for when you can.

jkhdigital•6mo ago
I’m going to assume the savings were accumulated after you got sober? ;-)

Just wanted to say hello to a fellow class of 2014 “graduate”. I failed out of CS @ UIUC in 2003 because I just skipped class and got high most days. Now, after 11+ years of sobriety, I have most of a PhD and I’m teaching CS to undergrads. It’s amazing how much better life turns out when you’re not actively burning everything down in the fires of addiction!

eieio•6mo ago
Ha, yes, I was absolutely in the red a decade ago when I got sober.

A huge congratulations to you - 11+ years is incredible (I'll be at 11 in 5 months!). It really is crazy how things can turn around.

helloplanets•6mo ago
A lot of people make small games just for fun, like any other creative hobby. Similar to: Making music, writing, drawing, 3d modeling, etc.

Actually, you can put all of those together and use them in a game. And the best part is that there's no target market, no KPIs to hit, so you can do anything!

Sohcahtoa82•6mo ago
> Where is the monetization?

Not everything needs to make money. Some people build things for fun.

> Am I just beaten down by the SWE landscape of 2025?

Probably. Alternatively, I would ask if you ever enjoyed coding, or if it's purely been a job for you.

heroku•6mo ago
How about you can move to other boards, and you can only capture from the board you have moved into.
dvoros•6mo ago
Really-really nice article! I'm currently working on a single-process, in-memory, multiplayer game written in Golang. (: Happy and relieved to hear that it worked out for you and I might even borrow some ideas (e.g. I'm less worried about bandwidth, but Protobuf might still make sense). Thank you very much for sharing!
butlike•6mo ago
I don't understand how Rooklyn and Queens are indestructible structures? A rook can attack the structure and take pieces off the board if it's ok with sacking itself.

Edit: nevermind, the secret is revealed at the beginning of the paragraph

>I prevented pieces from capturing pieces on other boards.

so normally it's not an indestructible structure, but with that rule it is. Got it.

sehansen•6mo ago
I love the clearly Starcraft-inspired look of the statboxes for the pieces.
commandlinefan•6mo ago
I love seeing efficient use of computing resources. As long as I've been coding, it's been sort of a mantra that "programmer time is more important than execution time" - leading to very inefficient implementations that waste not just processor time but user's time. I keep hoping that with the ongoing migration to "the cloud" that identifies the relationship between efficiency and real cost, there'll be a resurgence in proper optimization.
freeone3000•6mo ago
We’ll shift it back with “distributed edge computing”.

But even with AWS, computing resources are cheaper than developer resources. It is very hard to needlessly burn even $20/hr on AWS without it needing much more time to fix

pklausler•6mo ago
"computing resources are cheaper than developers up to some level of scaling" is more accurate.
sph87•6mo ago
This is why I've started moving towards embedded. There is something really nice about being back on a chip with <1MB ram and a handful of Mhz. I know it's really just a leftward shift of a curve though. By the time I am getting ready to retire in 20 years these little 40mm devices will probably be running 500B parameter models.
CJefferson•6mo ago
While you definately need rollback I wonder if it would have been easier, if a player got into a conflict position, to just dump their state and grab it a fresh copy from the server?

As long as you'd sent all their moves off to the server, they should see all the moves they've done which were valid (hmm.. there could be a race condition there). I wonder how often it's worth doing the more complex unwinding described? I may well be missing some complex case (which I imagine is often the case with rollback!)

eieio•6mo ago
Yeah the big race here is that you've made a move (which might not be valid) and you're waiting on a response for that move - and you can receive other moves while you're waiting.

I don't think requesting a new snapshot really helps there. If you do that you're dramatically extending the amount of time that the user sees an invalid state, since you're adding a whole new server roundtrip to the reconciliation process.

omoikane•6mo ago
Were there any bots that participated in One Million Chessboards? I remember people building some automation around One Million Checkboxes to do some crazy animation stuff, I wonder if that was attempted with One Million Chessboards.

Also, if One Million Chessboards started with some bots making moves, that could solve the cold-start problem mentioned under "a lack of awe", although I can also see how existence of bots might be a deterrent for some people.

richwater•6mo ago
I love this dude