frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

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

https://openciv3.org/
632•klaussilveira•13h ago•187 comments

Start all of your commands with a comma

https://rhodesmill.org/brandon/2009/commands-with-comma/
20•theblazehen•2d ago•2 comments

The Waymo World Model

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

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
34•helloplanets•4d ago•26 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
110•matheusalmeida•1d ago•28 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
43•videotopia•4d ago•1 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
10•kaonwarb•3d ago•10 comments

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

https://github.com/valdanylchuk/breezydemo
222•isitcontent•13h ago•25 comments

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

https://github.com/pydantic/monty
213•dmpetrov•13h ago•103 comments

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

https://vecti.com
323•vecti•15h ago•142 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
372•ostacke•19h ago•94 comments

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

https://github.com/microsoft/litebox
359•aktau•19h ago•181 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
478•todsacerdoti•21h ago•234 comments

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

https://eljojo.github.io/rememory/
275•eljojo•16h ago•164 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
404•lstoll•19h ago•273 comments

Dark Alley Mathematics

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

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
25•romes•4d ago•3 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
56•kmm•5d ago•3 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
16•jesperordrup•3h ago•9 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
245•i5heu•16h ago•189 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
13•bikenaga•3d ago•2 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
54•gfortaine•10h ago•22 comments

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

https://infisical.com/blog/devops-to-solutions-engineering
141•vmatsiiako•18h ago•64 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
281•surprisetalk•3d ago•37 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/
1060•cdrnsf•22h ago•436 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
133•SerCe•9h ago•119 comments

Learning from context is harder than we thought

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

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

https://github.com/phreda4/r3
70•phreda4•12h ago•14 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•8h ago•11 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
63•rescrv•20h ago•23 comments
Open in hackernews

Revisiting Loop Recognition in C++ in Rust

https://blomqu.ist/posts/2025/loop-recognition/
27•todsacerdoti•8mo ago

Comments

pjmlp•8mo ago
I was expecting that the C++ code would have been updated to C++23 best practices, and what are all those std::list doing in modern CPU cache lines?
npalli•8mo ago
Not only is it not C++23, the C++ code is from the 2011 paper!, so pre-C++11. Rust maybe better than code written before C++11 is not a strong take.
pjmlp•8mo ago
Yes it has a pretty much C++98/C++ARM feeling to the code style.
quietbritishjim•8mo ago
In fairness, updating to a range-based for loop would give the same effective code as using iterators manually in the loop as they have done. I'm not convinced any new features in C++23 (after C++11) would have given a performance improvement - was there something you had in mind?

The choice of std::list is a bit more dubious. Looking at the code (I found a mirror [1]), it seems like it's mostly for appending and iterating but there is pop_front in one place. Maybe std::deque would be better? Or std::vector with an iterator noting the effective start? Or maybe they were deliberately choosing a poor data structure to stress the compiler (and if so the OP should've used a linked list in Rust for fairness). The article doesn't comment so we can only guess their motivation.

[1] https://github.com/hundt98847/multi-language-bench/blob/mast...

npalli•8mo ago
std::list to std::vector should be the big one.

std::map to std::unordered_map could be next.

then, really ranges/constexpr/std::move could make a difference, hard to say definitely.

Beyond these, Modern C++ would have most definitely led to much shorter code as that was a metric for comparison.

quietbritishjim•8mo ago
> std::list to std::vector should be the big one

That is not a "C++23 best practice", which is what I was replying to. It doesn't even need C++11! And one use of this type uses pop_front() so std::vector is not obviously a good choice here.

> std::map to std::unordered_map could be next.

Again, I called out C++11 as possibly making a difference - sure this could help but it doesn't need C++23.

> then, really ranges/constexpr/std::move could make a difference, hard to say definitely.

How? Ranges are a nice syntax but what would they speed up here? There doesn't seem to be anything evaluated at compile time so what's the benefit of constexpr? (Even std::move doesn't have an obvious use in the benchmark code but that's C++11 anyway.)

> Beyond these, Modern C++ would have most definitely led to much shorter code as that was a metric for comparison.

I agree that would be interesting, but I'd be surprised if the code was much shorter. I'd guess something like 10%.

pjmlp•8mo ago
> was there something you had in mind?

More like on how to write the code in more ergonomic way than the performance by itself, maybe some of that stuff could even be constepxr/eval.

krona•8mo ago
By my reading, the C++ FindSet() implementation of the union/find algorithm builds a temporary list! Incredible scenes.
kvemkon•8mo ago
> Raspberry Pi OS Bookworm

> g++ (Debian 12.2.0-14) 12.2.0

> cargo 1.87.0 (99624be96 2025-05-06)

Looks like cargo is not from OS repo. So either use both outdated gcc and rust from RaspiOS or install the recent gcc-15 from experimental.

SkiFire13•8mo ago
Moreover they also differ in the optimizer being used. A more fair comparison would use Clang for C++ or rustc_codegen_gcc for Rust, possibly with the same versions of LLVM and/or GCC/libgccjit.
Joker_vD•8mo ago
The whole blogpost reads surprisingly angry, for some reason. Is it just my impression?

> And Google can go to hell.

Oh, apparently the tone is intended. Why though?..

camblomquist•8mo ago
I somehow missed the comments on this post. I think I need to respond not just to this but to the other (completely valid) criticisms in the comments here. And because you bring up what I think is a more interesting problem, you're the comment I'm replying to.

The anger I think stewed for a long time but was in it very nearly since the beginning of this project two years ago (I stopped working on it for quite a while).

First, my anger was directed at C++. std::map forced to be a Red-Black Tree for one. And I had originally written a lot about that anger in the first draft. I had written about how if this paper had baked in the oven a bit longer, they would've had C++11 to work with. I wanted to try to write a Modern C++ version of the code but that goal was what kept me from touching the project for over a year. I had gotten sick of C++ as a whole both at work and in my personal projects. And by the time I got back to it, the discussion on C++ no longer felt like it had a place in the post if it were to have the structure it ended up having.

On the rewrite, I found myself getting more and more frustrated by the original paper itself. The methodology felt flawed yet I felt I had to keep it. I said in the aside how the read of the paper gave this impression that they wanted to shill Go with this paper, like this was going to be its big debut as a language until it failed pretty much every test thrown at it. I don't know how this turned into Google Hate. Or at least, I don't remember. Maybe something about the current state of the world or an impression of Google company culture based on the tone of the paper. Maybe I just didn't want to be angry at Hundt specifically.

Much like the original paper, this post should've spent more time in the oven. But after spending so much time on it, it also felt like I just needed to get it out there so I could be done with it.