frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

The Fed says this is a cube of $1M. They're off by half a million

https://calvin.sh/blog/fed-lie/
745•c249709•5h ago•284 comments

Figma Files Registration Statement for Proposed Initial Public Offering

https://www.figma.com/blog/s1-public/
101•kualto•2h ago•32 comments

The Roman Roads Research Association

https://www.romanroads.org/
14•bjourne•1h ago•2 comments

Feasibility study of a mission to Sedna - Nuclear propulsion and solar sailing

https://arxiv.org/abs/2506.17732
153•speckx•7h ago•51 comments

Ask HN: Who is hiring? (July 2025)

163•whoishiring•7h ago•177 comments

Code⇄GUI bidirectional editing via LSP

https://jamesbvaughan.com/bidirectional-editing/
67•jamesbvaughan•5h ago•23 comments

Show HN: Spegel, a Terminal Browser That Uses LLMs to Rewrite Webpages

https://simedw.com/2025/06/23/introducing-spegel/
282•simedw•9h ago•132 comments

The Hoyle State (2021)

https://johncarlosbaez.wordpress.com/2021/02/04/the-hoyle-state/
38•gone35•4h ago•7 comments

I built something that changed my friend group's social fabric

https://blog.danpetrolito.xyz/i-built-something-that-changed-my-friend-gro-social-fabric/
477•dandano•3d ago•199 comments

Show HN: Core – open source memory graph for LLMs – shareable, user owned

https://github.com/RedPlanetHQ/core
35•Manik_agg•5h ago•4 comments

Building a Personal AI Factory

https://www.john-rush.com/posts/ai-20250701.html
18•derek•53m ago•7 comments

Muxio: Rust layered stream and RPC toolkit

https://crates.io/crates/muxio
11•zombiej5•2d ago•0 comments

Experience converting a mathematical software package to C++20 modules [PDF]

https://arxiv.org/abs/2506.21654
83•vblanco•8h ago•15 comments

Ask HN: Who wants to be hired? (July 2025)

48•whoishiring•7h ago•136 comments

When Did Nature Burst into Vivid Color?

https://www.quantamagazine.org/when-did-nature-burst-into-vivid-color-20250627/
77•jandrewrogers•4d ago•51 comments

Cua (YC X25) is hiring an engineer

https://www.ycombinator.com/companies/cua/jobs/dIskIB1-founding-engineer-cua-yc-x25
1•GreenGames•5h ago

OpenFLOW – Quickly make beautiful infrastructure diagrams local to your machine

https://github.com/stan-smith/OpenFLOW
254•x0z•15h ago•62 comments

Swearing as a Response to Pain: Assessing Effects of Novel Swear Words

https://www.frontiersin.org/journals/psychology/articles/10.3389/fpsyg.2020.00723/full
24•sega_sai•2d ago•21 comments

Graph Theory Applications in Video Games

https://utk.claranguyen.me/talks.php?id=videogames
44•haywirez•3d ago•4 comments

The Hidden Engineering of Liquid Dampers in Skyscrapers

https://practical.engineering/blog/2025/7/1/the-hidden-engineering-of-liquid-dampers-in-skyscrapers
17•chmaynard•2h ago•0 comments

The wanton destruction of a creative-tech era

https://blog.greg.technology/2025/06/30/fastly.html
22•gregsadetsky•3h ago•7 comments

All Good Editors Are Pirates: In Memory of Lewis H. Lapham

https://www.laphamsquarterly.org/roundtable/all-good-editors-are-pirates
44•Caiero•2d ago•5 comments

Show HN: HackerNewt - Breadth-first exploring HN client for iOS

https://apps.apple.com/us/app/hackernewt-for-hacker-news/id6448201970
34•hnand•6h ago•22 comments

Show HN: Jobs by Referral: Find jobs in your LinkedIn network

https://jobsbyreferral.com/
100•nicksergeant•9h ago•53 comments

Sam Altman Slams Meta's AI Talent Poaching: 'Missionaries Will Beat Mercenaries'

https://www.wired.com/story/sam-altman-meta-ai-talent-poaching-spree-leaked-messages/
75•spenvo•3h ago•153 comments

Show HN: Arch-Router – 1.5B model for LLM routing by preferences, not benchmarks

33•adilhafeez•4h ago•8 comments

1KB JavaScript Demoscene Challenge Just Launched

72•babakode•3h ago•13 comments

Slouching Towards Sensemaking

https://karanchawla.io/2025/06/29/sensemaking
11•karchaw•2d ago•0 comments

Show HN: I built the tool I wished existed for moving Stripe between countries

https://www.stripemove.com/
71•felphos•9h ago•36 comments

HN Slop: AI startup ideas generated from Hacker News

https://www.josh.ing/hn-slop
65•coloneltcb•6h ago•25 comments
Open in hackernews

Experience converting a mathematical software package to C++20 modules [PDF]

https://arxiv.org/abs/2506.21654
83•vblanco•8h ago

Comments

trostaft•4h ago
Oh, it’s Wolfgang. In computational math, he has a focus on research software that few others are able to do, he (the deal.ii team more generally) got an award for it last SIAMCSE. Generally a great writer, looking forward to reading this.
Asooka•4h ago
I would like to see a comparison between modules and precompiled headers. I have a suspicion that using precompiled headers could provide the same build time gains with much less work.
pjmlp•4h ago
As per Office team, modules are much faster, especially if you also make use of C++ standard library as module, available since C++23.

See VC++ devblogs and CppCon/C++Now talks from the team.

Pre-compiled headers have only worked well on Windows, and OS/2 back in the day.

For whatever reason UNIX compilers never had a great implementation of it.

With exception of clang header maps, which is anyway one of the first approaches to C++ modules.

fpoling•16m ago
This has been puzzling me for over 3 decades. My first experience with C++ was Borland C++ for DOS. It had precompiled headers and it worked extremely well.

Then around 1995 I got access to HP-UX and native compiler there and GCC. Nobody heard about precompiled headers and people thought the only way to speed up compilation was to get access to computer with more CPUs and rely on make -j.

And then there was no interest to implement precompiled headers from free and proprietary vendors.

The only innovation was unity builds when one includes multiple C++ sources into super-source. But then Google killed support for it in Chromium claiming that with their build farm unity builds made things slower and supporting them in Chromium build system was unbearable burden for Google.

dataflow•3h ago
Precompiled headers are generally better for system/3rd-party headers. Module are better than PCHs for headers you own, although in some cases you may be better off not using them at all. (I say these because the benefit depends on the frequency with which you need to recompile them, and the relative coupling etc.) Depending on how heavy each one is in your codebase, and how often you modify global build settings, you may have a different experience. And neither is a substitute for keeping headers lightweight and decoupled.
w4rh4wk5•3h ago
From my experience, compile times ain't an issue if you pay a little attention. Precompiled header, thoughtful forward declarations, and not abusing templates get you a long way.

We are commonly working with games that come with a custom engine and tooling. Compiling everything from scratch (around 1M lines of modern C++ code) takes about 30-40 seconds on my desktop. Rebuilding 1 source file + linking comes in typically under 2 seconds (w/o LTO). We might get this even lower by introducing unity builds, but there's no need for that right now.

ttoinou•3h ago
40 seconds for 1M lines seems super fast, do you have a fast computer and/or did you spend a lot of time optimizing the compilation pipeline ?
vblanco•3h ago
The modern cryengine compiles very fast. Their trick is that they have architected everything to go through interfaces that are on very thin headers, and thus their headers end very light and they dont compile the class properties over and over. But its a shame we need to do tricks like this for compile speed as they harm runtime performance.
ttoinou•2h ago
Why does it ruin runtime performance ? The code should be almost the same
vblanco•2h ago
Because you now need to go through virtual calls on functions that dont really need to be virtual, which means the possible cache miss from loading the virtual function from vtable, and then the impossibility of them being inlined. For example they have a ITexture interface with a function like virtual GetSize(). If it wasnt all through virtuals, that size would just be a vec2 in the class and then its a simple load that gets inlined.
ttoinou•2h ago
Ah yes this kind of interface ok indeed this doesn't seem like a useful layer when running the program. Maybe the compilers could optimize this though
w4rh4wk5•1h ago
We didn't create this code base ourselves, we are just working with it. I'd assume the original developers payed attention to compile times during development and introduced forward declarations whenever things got out of hand.

My computer is fast, AMD Ryzen 9 7950X, code is stored on an NVMe SSD. But there certainly are projects with fewer lines of code that take substantially longer to compile.

npalli•3h ago
Thanks to author for doing some solid work in providing data points for modules. For those like me looking for the headline metric, here it is in the conclusion

  While the evidence shown above is pretty clear that building a software package as a module provides the claimed benefits in terms of compile time (a reduction by around 10%, see Section 5.1.1) and perhaps better code structure (Section 5.1.4), the data shown in Section 5.1.2 also make clear that the effect on compile time of downstream projects is at best unclear. 
So, alas, underwhelming in this iteration and perhaps speaks to 'module-fication' of existing source code (deal.II, dates from the '90s I believe), rather than doing it from scratch. More work might be needed in structuring the source code into modules as I have known good speedup with just pch, forward decls etc. (more than 10%). Good data point and rich analysis, nevertheless.
Someone•2h ago
It wouldn’t surprise me if they could do better if they gave up on doing most of the work programmatically.

One part of me agrees with (both from the paper)

> For example, putting a specific piece of code into the right place in each file (or adding necessary header files, as mentioned in Section 5.2) might take 20-30 seconds per file – but doing this for all 1051 files of deal.II then will take approximately a full day of (extremely boring) work. Similarly, individually annotating every class or function we want to export from a module is not feasible for a project of this size, even if from a conceptual perspective it would perhaps be the right thing to do.

and

> Given the size and scope of the library, it is clear that a whole-sale rewrite – or even just substantial modifications to each of its 652 header and 399 implementation files – is not feasible

but another part knows that spending a few days doing such ‘boring’ copy-paste work like that often has unexpected benefits; you get to know the code better and may discover better ways to organize the code.

Maybe, this project is too large for it, as checking that you didn’t mess up things by building the code and running the test suite simply takes too long, but even if it seems to be, isn’t that a good reason to try and get compile times down, so that working on the project becomes more enjoyable?

isatty•2h ago
The code block styling is less than ideal.