frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Flux 3

https://bfl.ai/blog/flux-3
167•ThouYS•2h ago•42 comments

The PImpl idiom and the C++26 std:indirect type

https://mariusbancila.ro/blog/2026/07/23/the-pimpl-idiom-and-the-cpp26-stdindirect-type/
27•signa11•1h ago•19 comments

Writing by hand is good for your brain

https://nealstephenson.substack.com/p/writing-by-hand-is-good-for-your
1267•dwwoelfel•18h ago•567 comments

Startup founders urge U.S. government not to shut off Chinese open weight AI

https://www.politico.com/news/2026/07/22/startup-founders-urge-trump-not-to-shut-off-chinese-open...
899•theanonymousone•17h ago•754 comments

Show HN: Echo – Fable-level results at 1/3 the cost using open-weight models

370•adam_rida•12h ago•174 comments

The Beam Engine

https://glinscott.github.io/beam-engine/
346•glinscott•1d ago•72 comments

What happened to TheNumbers.com

https://stephenfollows.com/p/what-just-happened-to-thenumberscom-should-worry-us-all
364•nickthegreek•15h ago•166 comments

Why Software Factories Fail (or: harness engineering is not enough)

https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/wsff.md
301•dhorthy•17h ago•218 comments

What else do people draw on gradient.horse?

https://rybakov.com/blog/what_else_do_people_draw_on_gradient-copy.horse/
124•spython•5d ago•20 comments

Quickly rewrite Git repository history

https://github.com/newren/git-filter-repo
36•modinfo•3d ago•1 comments

Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

https://learnopengl.com/
233•ibobev•17h ago•118 comments

98.css

https://jdan.github.io/98.css/#status-bar
449•lopespm•9h ago•106 comments

Software rendering in 500 lines of bare C++

https://haqr.eu/tinyrenderer/
277•mpweiher•18h ago•62 comments

I regret migrating to Codeberg

https://xn--gckvb8fzb.com/i-regret-migrating-to-codeberg/
259•boramalper•18h ago•166 comments

DARPA, U.S. Air Force fly AI-controlled F-16

https://www.darpa.mil/news/2026/darpa-us-air-force-fly-ai-controlled-f-16
234•r2sk5t•18h ago•257 comments

Projects every RC live races and results

https://rc-replay.dev/lr/vmrc/r/6912053
5•apokly•3d ago•0 comments

Why Sony can't bring back its classic Walkman models

https://obsoletesony.substack.com/p/why-sony-cant-bring-back-classic-walkman
104•speckx•14h ago•92 comments

Show HN: Palmier Pro – Open-source macOS video editor built for AI

https://github.com/palmier-io/palmier-pro
148•harrisontin•17h ago•24 comments

Building on ATProto

https://lukekanies.com/writing/building-on-atproto/
154•speckx•14h ago•76 comments

Astronomers may have found the first exomoon

https://www.eso.org/public/news/eso2610/
216•MarcoDewey•18h ago•81 comments

OpenAI’s accidental attack against Hugging Face is science fiction that happened

https://simonwillison.net/2026/Jul/22/openai-cyberattack/
504•abhisek•1d ago•386 comments

Claude Cookbook

https://platform.claude.com/cookbook/
8•saikatsg•3h ago•0 comments

Fields Medals 2026

https://www.mathunion.org/imu-awards/fields-medal/fields-medals-2026
169•nill0•18h ago•87 comments

Launch HN: Screenpipe (YC S26) – Record how you work and turn that into agents

74•louis030195•15h ago•53 comments

Freeze-Casting

https://en.wikipedia.org/wiki/Freeze-casting
24•soupspaces•4d ago•5 comments

Modula-3 History Collection on Computer History Museum

https://softwarepreservation.computerhistory.org/modula3/
21•pjmlp•3d ago•3 comments

A solid-state “atomic channel” for separating rare earth elements

https://pme.uchicago.edu/news-events/news/cleaner-route-purifying-rare-earth-elements
90•MarcoDewey•14h ago•24 comments

The Visual 6502

http://visual6502.org/JSSim/index.html
89•infiniteregrets•8h ago•22 comments

The arguments against open source AI are bad

https://tombedor.dev/arguments-against-open-source-ai-are-very-bad/
265•jjfoooo4•15h ago•186 comments

Visualizing the Artemis II Mission

https://foxglove.dev/blog/visualizing-the-artemis-ii-mission
5•msadowski•3d ago•0 comments
Open in hackernews

The PImpl idiom and the C++26 std:indirect type

https://mariusbancila.ro/blog/2026/07/23/the-pimpl-idiom-and-the-cpp26-stdindirect-type/
27•signa11•1h ago

Comments

shevy-java•1h ago
C++ is getting more and more complex. It used to be said that people use only a small percentage of it when writing C++, but I am beginning to think that the cake is a lie here.
feelamee•45m ago
where "more and more complex" do u see in this article? This is a basic C++ idiom, which constantly used by developers
konstmonst•36m ago
std::indirect looks for me like another pointless c++ thing that already works with forward pointer declaration. You can add it to another ton of pointless things C++ adds without fixing the old ones. The issue with c++ is that it is so big, that everyone uses some kind of dialect of it and the fancier it gets, the less readable it becomes and the more magic happens behind the curtains. A developer of a C++ codebase now has to learn a specific meta language of this codebase. Fuck that, I have enough languages and their idiosynchronies to remember for my work now. After using Go for a pair of years returning to C++ is like coming back to a big archaic mess. I'll just go learn Rust instead and forget all those new useless C++ templates like std::indirect
seanhunter•35m ago
Yes. If anything, this is taking a complex yet common idiom and making it simpler.
dvratil•27m ago
I think the parent's point is that we started with raw pointers to implement PIMPL, then we had std::unique_ptr, and now we have std::indirect. So there are now three different ways how PIMPL can be implemented, each has its gotcha's and subtle differences that one needs to keep in mind. In large codebases you will now have to deal with all three solutions being used, depending on how old the code is.
gblargg•15m ago
The point of each improvement is fewer easily-made errors. Having implicit deep copying handled avoids lots of errors with manually implementing it the oldest way.
coffeeaddict1•1h ago
This is actually useful, but despite it is another extra thing you will have to remember when reading C++ code. I guess with LLMs things aren't so bad.
skrebbel•39m ago
Why? It’s still the good (bad) old pimpl pattern. It just got a bit shorter. When reading you dont even need to grok “std::indirect”, you see the word pimpl and you know what’s going on.
MaPi_•6m ago
I don't really get why people keep repeating the "C++ is too big" complaint together with the implication that you need to remember the entirety of the standard library. In comparison Java has networking, GUI framework and even MIDI in its standard libraries. Is it because C++ is more closely related to C which library is so small that it barely contains anything useful? I much prefer code that uses a library feature rather than yet another poorly implemented and not documented hand rolled version of it.
zabzonk•44m ago
Hmm. Do people use PIMPL that much (I have used it, but rarely) that we need std library support (and testing, documentation, understanding)? Just asking.
neonz80•38m ago
They didn't add PImpl support, they added std::indirect which can be used for PImpl among other things.
seanhunter•38m ago
Back when I used to write C++ it was used all over the place. Admittedly that was a log time ago.
green7ea•37m ago
I remember using it all the time for the Windows headers because they pollutes the compilation unit like you wouldn't believe — the rule was to only include them in c/cpp files.
feverzsj•37m ago
Yes, if you actually care compile times.
RossBencina•27s ago
[delayed]
flohofwoe•35m ago
This std::indirect thingie looks more like a general helper for any data 'dangling off' an object, not limited to pimpl.

Not sure how much pimpl is used in reality, but it's a pretty ok solution to speed up build times (apart from unity builds), because it avoids having to include headers that are only needed for the private state into the public interface header.

3form•40m ago
This looks great indeed - I wonder if there are any particular gotchas, though, as things often are in C++next land.

With many of the features coming into the language over time, I kinda wish that a bit more restricted subset of it eventually becomes a thing, but I know in practice it might as well be a completely different language. That, and I expect that still many other things have not been resolved as well as they are elsewhere, such as build system and dependency management (although I haven't touched this stack for a while now, so I would love to be surprised).

dingaling911•14m ago
"Holds a value, except sometimes"
dvratil•30m ago
It's often used in libraries where you need to guarantee ABI compatibility. Fixing a bug or implementing a feature may require adding a new member into the class, which would change its size (thus break ABI compatibility). PIMPL is the typical solution here, since the inner/impl class is not part of the public ABI.

I also like to use it sometimes to "hide" private methods and their documentation into PIMPL, so the public header is kept clean.

zabzonk•23m ago
> PIMPL is the typical solution here, since the inner/impl class is not part of the public ABI.

Yep, that's what I've used it for. Didn't find it too difficult to implement it myself, but I guess every bit of convenience/bug avoidance helps.