frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

sshole

https://sshhole.com
1461•josemrb•5h ago•390 comments

Alpine Linux Security Advisory: OpenSSH-server password authentication bypass

https://alpinelinux.org/posts/2026-11-05-openssh-password-authentication-bypass/
280•pantalaimon•3h ago•29 comments

Motorola Signature 27 with GrapheneOS support

https://motorolanews.com/motorola-signature-27-2/
143•monneyboi•1h ago•65 comments

Launch HN: Rivet (YC W23) – Scale and Orchestrate Agents on S3

https://github.com/rivet-dev/rivet
16•NathanFlurry•42m ago•4 comments

The Lisp curse, now coming to your ecosystem

https://javahippie.net/programming/llm/2026/03/05/the-lisp-curse-coming-to-your-ecosystem.html
64•marcolinux•2d ago•43 comments

September in Servo: <progress>, rounded rectangles, and more

https://servo.org/blog/2026/11/05/september-in-servo/
95•iamnothere•3h ago•24 comments

My psychophysics as a bilateral cochlear implant user

https://claude.ai/artifact/L8qsMc3SorytGW3LA81nYf
60•mi-rae•1h ago•11 comments

Bild AI (YC W25) Is Hiring Founding Product Engineers

https://www.ycombinator.com/companies/bild-ai/jobs
1•rooppal•58m ago

Window Sweaters

https://github.com/saragordic/window-sweaters
20•nickswalker•1h ago•5 comments

Download your favourite YouTube videos

https://criminallyvulgar.dev/you-should-absolutely-download-your-favourite-youtube-videos/
144•surprisetalk•5h ago•64 comments

Show HN: A decent text-to-image model trained for ~$20K (Apache 2.0 Weights)

https://www.linum.ai/field-notes/pjit-21k
34•schopra909•1d ago•2 comments

OpenSSH 10.6p2 Critical workaround for alpine without PAM

https://www.openssh.org/releasenotes.html#10.6p2
165•selckin•6h ago•9 comments

The Stacks Project, Formalized in Lean

https://axiommath.ai/research/the-stacks-project-formalized/
21•namanbnsl•1h ago•3 comments

I wish tech companies knew more about me

https://rakhim.exotext.com/i-wish-tech-companies-knew-more-about-me
91•freetonik•4h ago•78 comments

My gym forced a social media down my throat. So I reverse-engineered its app

https://shayon.work/blog/reverse-engineering-gym-pass
15•yewenjie•30m ago•4 comments

MCP Explained

https://mcp-explained.com/
156•rwilinski•3h ago•80 comments

Obscure audio codec is a perfect fit for the N64

https://phoboslab.org/log/2026/11/n64-ulc-codec
110•frostbyte7•5h ago•7 comments

We can do better than line-buffered output

https://nullprogram.com/blog/2026/11/05/
41•zdw•2h ago•1 comments

Building a Multi-Agent System from Scratch: Architecture Patterns

https://kadhar.dev/blog/multi-agent-systems-from-scratch
23•kadharmfn•2h ago•8 comments

Baidu released ERNIE 5.5 Flash Base

https://ernie.baidu.com/release/ernie-5-5-flash-base/
142•pretext•8h ago•79 comments

Vibe Coding Keypad

https://www.keychron.com/products/keychron-f4-he-8k-vibe-coding-keypad
48•ta988•1h ago•24 comments

Show HN: Stroq – a local audit of what your coding agent did and why

https://github.com/AGGIB/Stroq
17•agybay_07•2h ago•3 comments

GPT-6 Astra covertly underperforms on safety research

https://alignment.openai.com/misalignment-reports/covert-underperformance-on-safety-research-tasks/
179•lucrbvi•10h ago•81 comments

OCAP Bounded Authority: Edera's Managed Approach to Object Capabilities

https://edera.dev/stories/ocap-bounded-authority
16•virtio_vixen•1h ago•0 comments

Lemmings CSS Animation

https://markblah.github.io/lemmings/
349•MarkBlah•13h ago•70 comments

Nordstjernen, Northstar, Southstar: minimalist webbrowsers in C and Rust

https://nordstjernen.org/
20•Propelloni•2h ago•17 comments

Discord is ditching Electron and its new app uses less RAM

https://www.theverge.com/news/1027379/discord-ditching-electron-web-app
202•archb•4h ago•163 comments

TextEdit vs. Pages

https://leancrew.com/all-this/2026/10/textedit-vs-pages/
65•surprisetalk•2d ago•47 comments

Awesome repositories are no longer awesome

https://erikgahner.github.io/posts/2026/awesome-repositories-are-no-longer-awesome/
222•erikgahner•6h ago•107 comments

Nasdaq plummets 4% into correction territory

https://www.cnbc.com/2026/11/04/stock-market-today-live-updates.html
23•kristianp•49m ago•7 comments
Open in hackernews

Comparing floating-point numbers (2012)

https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
26•sph•1y ago

Comments

LegionMammal978•1y ago
I'd argue that any equality comparison of floating-point numbers is asking for trouble, unless you're specifically working with small dyadic fractions (using exact comparison) or testing a purely heuristic 'closeness' condition (using fuzzy comparison).

Of course, inequalities show up in a lot more places, but are similarly fraught with difficulty, since mathematical statements may fail to translate to floating-point inequalities. E.g., in computational geometry, people have written entire papers about optimizing correct orientation predicates [0], since the naive method can easily break at small angles. This sort of thing is what often shows up as tiny seams in 3D video-game geometry.

[0] https://www.cs.cmu.edu/~quake/robust.html

mtklein•1y ago
My preferred way to compare floats as being interchangeably equivalent in unit tests is

    bool equiv(float x, float y) {
        return (x <= y && y <= x)
            || (x != x && y != y);
    }
This handles things like ±0 and NaNs (while NaNs can't be IEEE-754-equal per se, they're almost always interchangeable), and convinces -Wfloat-equal you kinda know what you're doing. Also everything visually lines up real neat and tidy, which I find makes it easy to remember.

Outside unit tests... I haven't really encountered many places where float equality is actually what I want to test. It's usually some < or <= condition instead.

sph•1y ago
I have built a production Javascript library with decent amounts of users that incorporates the following hack to deal with float error (avert your eyes if you're sensitive):

  // 1.2 - 1.0 === 0.19999999999999996
  // fixFloatError(1.2 - 1.0) === 0.2
  var fixFloatError = function (n) {
    return parseFloat(n.toPrecision(12));
  };
It felt correct at the time, but after reading the article, I cringe at how fundamentally broken it is. I got away with it because the library is used to convert betting odds, which are mostly small floating point numbers, so the error is often < 10^-12.