HN user

oasisaimlessly

428 karma
Posts0
Comments253
View on HN
No posts found.
GenCAD 2 months ago

OpenSCAD has almost zero crossover with B-rep modelling ('true' CAD, what this apparently is), though.

Wrapping around is what happens when you decrement the minimum value of any integer type, including signed types.

No, signed wraparound is undefined behavior in C, whereas unsigneds are defined to wraparound. If you use -ftrapv, signed wraparound is an immediate abort().

That's true for signed numbers too though? `int_min - 2 > int_min`

No, that's undefined behavior in C, and if you care about correctness, you run at least your testsuite in CI with -ftrapv so it turns into an abort().

MEMS oscillators do use a vacuum, and that's why they're susceptible to helium. A helium atom is tiny compared to an oxygen or nitrogen atom, and can leak through many otherwise-perfect seals.

So, a (badly-designed) MEMS oscillator is basically a region of vacuum enclosed by a membrane that only helium can permeate. Of course exposing it to helium is going to permanently change its behavior! Once the helium gets in, there's no reason for it to leave, due to the vastly higher atmospheric pressure outside.

What?

Exactly, the application logic is the target. Actually doing seccomp bpf base but for managed bindings (Java, Node, Go, ...) add a lot of complexity....

Maybe proofread the slop before posting it next time?

Why I love NixOS 4 months ago

It does, in combination with a pinned nixpkgs commit, which you can find like this:

    ~/repos/nixpkgs$ git log --grep='nodejs.* 24.14.0' -1 origin/master
    commit 9c0e2056b3c16190aafe67e4d29e530fc1f8c7c7
    Merge: d3a4e93b79c9 0873aea2d0da
    Date:   Tue Feb 24 16:53:40 2026 +0000
    
        nodejs_24: 24.13.1 -> 24.14.0 (#493691)
    ~/repos/nixpkgs$ nix eval nixpkgs/9c0e2056b3c16190aafe67e4d29e530fc1f8c7c7#nodejs_24.version
    "24.14.0"
    ~/repos/nixpkgs$

It's possible to fix this in application code with a Primitive<T> or NoDefault<T> wrapper that acts like a T, except doesn't have a default constructor. Use Primitive<int> wherever you'd use int that it matters (e.g. struct fields), and leaving it uninitialized will be a compiler error.