frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

$2 WeAct Display FS adds a 0.96-inch USB information display to your computer

https://www.cnx-software.com/2025/09/18/2-weact-display-fs-adds-a-0-96-inch-usb-information-displ...
201•smartmic•6h ago•94 comments

Ultrasonic Chef's Knife

https://seattleultrasonics.com/
453•hemloc_io•11h ago•367 comments

The bloat of edge-case first libraries

https://43081j.com/2025/09/bloat-of-edge-case-libraries
8•PaulHoule•1h ago•6 comments

Hyperion: Minecraft game engine for custom events

https://hyperion.rs/
41•cjcuddy•4d ago•8 comments

Teen suspect surrenders in 2023 Las Vegas casino cyberattack case

https://www.casino.org/news/teen-suspect-surrenders-in-2023-las-vegas-strip-cyberattack-case/
41•campuscodi•4h ago•15 comments

Designing NotebookLM

https://jasonspielman.com/notebooklm
177•vinhnx•10h ago•66 comments

Why, as a responsible adult, SimCity 2000 hits differently

https://arstechnica.com/gaming/2025/09/thirty-years-later-simcity-2000-hasnt-changed-but-i-have/
30•doppp•2d ago•16 comments

A brief history of threads and threading

https://eclecticlight.co/2025/09/20/a-brief-history-of-threads-and-threading/
54•emschwartz•6h ago•9 comments

Knitted Anatomy

https://www.knitted-anatomy.at/cardiovascular-system/
73•blikstiender•3d ago•5 comments

I’m Not a Robot

https://neal.fun/not-a-robot/
352•meetpateltech•4d ago•183 comments

Teardown of Apple 40W dynamic power adapter with 60W max

https://www.chargerlab.com/teardown-of-apple-40w-dynamic-power-adapter-with-60w-max-a3365/
112•givinguflac•2d ago•82 comments

Amazon to end commingling after years of complaints from brands and sellers

https://www.modernretail.co/operations/amazon-to-end-commingling-program-after-years-of-complaint...
100•blindriver•1h ago•23 comments

Learning Languages with the Help of Algorithms

https://www.johndcook.com/blog/2025/09/17/learning-languages-with-the-help-of-algorithms/
6•ibobev•3d ago•1 comments

A revolution in English bell ringing

https://harpers.org/archive/2025/10/a-change-of-tune-veronique-greenwood-bell-ringing/
57•ascertain•7h ago•23 comments

Were RNNs all we needed? A GPU programming perspective

https://dhruvmsheth.github.io/projects/gpu_pogramming_curnn/
32•omegablues•2d ago•6 comments

In defence of swap: common misconceptions

https://chrisdown.name/2018/01/02/in-defence-of-swap.html
17•jitl•3h ago•2 comments

Scream cipher

https://sethmlarson.dev/scream-cipher
252•alexmolas•2d ago•94 comments

Solving a wooden puzzle using Haskell

https://glocq.github.io/en/blog/20250428/
55•Bogdanp•3d ago•18 comments

FLX1s phone is launched

https://furilabs.com/flx1s-is-launched/
185•slau•16h ago•142 comments

Escapee pregnancy test frogs colonised Wales for 50 years (2019)

https://www.bbc.com/news/uk-wales-44886585
111•Luc•4d ago•47 comments

After Babel Fish: The promise of cheap translations at the speed of the Web

https://hedgehogreview.com/issues/lessons-of-babel/articles/after-babel-fish
46•miqkt•2d ago•10 comments

Vapor chamber tech keeps iPhone 17 Pro cool

https://spectrum.ieee.org/iphone-17-pro-vapor-chamber
101•rbanffy•13h ago•214 comments

MapSCII – World map in terminal

https://github.com/rastapasta/mapscii
148•_august•2d ago•19 comments

Images over DNS

https://dgl.cx/2025/09/images-over-dns
162•dgl•15h ago•45 comments

Bazel and Glibc Versions

https://blogsystem5.substack.com/p/glibc-versions-bazel
14•goranmoomin•5h ago•25 comments

Why do some gamers invert their controls?

https://www.theguardian.com/games/2025/sep/18/why-do-some-gamers-invert-their-controls-scientists...
69•zdw•6h ago•109 comments

PYREX vs. pyrex: What's the difference?

https://www.corning.com/worldwide/en/products/life-sciences/resources/stories/in-the-field/pyrex-...
123•lisper•21h ago•96 comments

Radar and Radio Failures at Dallas Area Airports

8•pdonner•1h ago•5 comments

Evals in 2025: going beyond simple benchmarks to build models people can use

https://github.com/huggingface/evaluation-guidebook/blob/main/yearly_dives/2025-evaluations-for-u...
61•jxmorris12•2d ago•6 comments

Cormac McCarthy's tips on how to write a science paper (2019) [pdf]

https://gwern.net/doc/science/2019-savage.pdf
201•surprisetalk•13h ago•80 comments
Open in hackernews

Bazel and Glibc Versions

https://blogsystem5.substack.com/p/glibc-versions-bazel
14•goranmoomin•5h ago

Comments

shykes•3h ago
It appears the Bazel community is getting closer to inventing containers.
jeffbee•2h ago
Bazel comes with ironclad sandboxing features, but people don't use them because build correctness is such a chore.
paulddraper•2h ago
Bazel has number of strategies, including containers.

But that’s only a minority of what it does.

klodolph•44m ago
I don’t think there’s any real insights there.

Containers tend to be coarse-grained. For example, maybe you are writing a program, so you put the entire build environment in a container. If you have lots of programs with different dependencies, do you need lots of containers? Do you need to rebuild lots of containers when dependencies change? Bazel is much more fine-grained, and in Bazel, each individual build action gets its own build environment.

By default, that build environment includes the host (build system) glibc, compiler, system headers, system libraries, etc. If you want repeatable builds, you turn that off, and give Bazel the exact glibc, compiler, libraries, etc. to use for building your program.

You get the isolation of containers, but much faster builds and better caching.

fooblaster•1h ago
Why ain't the first answer.. use a bazel provided tool chain instead of using system toolchains? This article is totally mad.
jmmv•1h ago
Because those Bazel toolchains don’t come with a glibc? How could they?
lokar•1h ago
What? Of course they can, how is that hard?
jmmv•1h ago
You need that glibc on the target system, and glibc doesn’t like static linking. How do you ship the built binary?
lokar•1h ago
You include the target glibc as part of your toolchain

And, I always prefer to actually pick my glibc independently from the host os and ship it with the binary (generally in an OCI image). This way you can patch/update the host without breaking the service.

remexre•1h ago
Does that result in working NSS?
lokar•1h ago
I normally statically link as much as possible and avoid nss, but you can make that work as well, just include it along with glibc.
jmmv•40m ago
Right, so you need to end up creating a container to package the glibc with the binary. Which is not very different from having sysroots.

But what about any tools compiled from source and used during the build? Those can also suffer from these issues.

lokar•29m ago
Yeah, ideally you could build your toolchain from source on any platform. But, in some cases that’s not possible
prpl•21m ago
no, you just need a compatible starlit/glibc. you pick an old version (e.g. RHEL8) or otherwise compile with multiple tool chains if you need newer glibc features
lokar•1h ago
Yeah, making the entire tool chain hermetic and versioned is one of the main benefits of bazel.

You can have every developer cross-compile from a different os/cpu platform

paulddraper•1h ago
Agreed.
jeffbee•41m ago
You make it sound simple. Bazel's docs are minimal and what exists is often wrong. For a C or C++ toolchain you might turn to a contributing project such as toolchains_llvm, but even those experts are still figuring it out, and they give you little guidance on how to assemble your sysroot, which is the actual issue in the article. And, the upstream distributions of LLVM are built under certain assumptions, so unless you know exactly what you are doing, you probably also want to build LLVM instead of using their archives. If you figure out how to build LLVM in a completely consistent and correct way with respect to the STL and support libraries, you will be perhaps the 3rd or 4th person in history to achieve it.
prpl•19m ago
llvm_toolchain or gcc-toolchain or the uber one are all some possibilities
notpushkin•1h ago
> the service crashes with a mysterious error: version 'GLIBC_2.28' not found

Mysterious?

This is by the way why many binary Python packages use https://github.com/pypa/manylinux for builds: if you build on an old glibc, your library will still (generally) work with newer versions.

10000truths•1h ago
One of the niceties of Zig's build system is its batteries-included support for targeting an explicitly provided glibc version. No need for alternate sysroots or dedicated old-distro containers like you would with the traditional C/C++ compilers, all you have to do is append it to the target triplet, like so:

zig cc -target x86_64-linux-gnu.2.17 file.c

klodolph•27m ago
It’s not hard in Bazel either, it’s just not batteries-included.
klodolph•42m ago
JFC the author has done everything wrong here.

A heterogenous build cluster with non-hermetic builds and shared caching. The fact that this is only a glibc symbol versioning problem and not something far more severe is, well, a blessing.

At the bare fucking minimum, I would expect the CI builds to have a homogenous configuration and their own cache, not writable from outside CI. If you’re lazy, just wipe the cache every time you upgrade the CI cluster. Maybe I’ve just been living too long in environments where we care about artifact provenance and I’m blind to the whims of people who don’t care about provenance.

I want to feel sympathetic, because I know Bazel is a pain in the ass to learn, but it sounds like the author was juggling knives in a windstorm and caught a few pointy ends.

r2vcap•21m ago
Whether you use Bazel or not, this is a well-known issue with an equally well-known solution. There’s no need for such a lengthy write-up: just use a consistent sysroot across your entire build environment.

If you can’t create your own sysroot image, you can simply download Chromium’s prebuilt one and configure your C++ compile rules correctly. Problem solved.

01HNNWZ0MV43FF•13m ago
Sounds like a jerb for Docker
rockwotj•10m ago
Yeah I built a custom sysroot for Redpanda (Bazel/C++/Distributed Kafka) using a really simple docker image: https://github.com/redpanda-data/redpanda/blob/dev/bazel/too...

We also have an dockerfile for clang/LLVM in that repo so the whole thing is hermetic. It’s a bit of shame Bazel doesn’t come with stronger options/defaults here, because I feel like I want to reproduce this same toolchain on every C++ project with Bazel