frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

GTM Engineer Roles at WorkMotion, Supabase, SymphonyAI

https://gtmjobs.beehiiv.com/p/9-gtm-engineer-roles-this-week-workmotion-supabase-symphonyai-more
1•benchmarkapp•2m ago•0 comments

Claude Flags Hantavirus Vaccine Questions as Security Risk

1•pell•5m ago•0 comments

Syrian Tourist Map

https://alnashra.org/map11/gis_syria2/syria_tourism.php
1•altilunium•8m ago•0 comments

Data Centers in Space

https://nb1t.sh/data-centers-in-space/
1•freakynit•9m ago•0 comments

Google removes privacy assurances after stuffing devices with their AI model

https://www.thatprivacyguy.com/blog/google-quietly-removes-on-device-ai-privacy-claim/
1•AlexanderHanff•10m ago•1 comments

Show HN: Link_in_bio – Static HTML, no-back end Linktree alternative

https://github.com/p32929/link_in_bio
1•heliskyr2•14m ago•0 comments

Debian welcomes the 2026 GSoC interns

https://bits.debian.org/2026/05/welcome-gsoc2026-contributors.html
1•tannhaeuser•14m ago•0 comments

Mathematics Genealogy Project

https://www.mathgenealogy.org
1•ipnon•15m ago•0 comments

WebRTC Is the Problem

https://moq.dev/blog/webrtc-is-the-problem/
2•L_226•16m ago•0 comments

Copying Memory Is an Art

http://miod.online.fr/software/openbsd/stories/ovbcopy.html
1•signa11•25m ago•0 comments

Zed Is Pretty Nice

https://blog.kronis.dev/blog/zed-is-pretty-nice
2•KronisLV•25m ago•1 comments

CERN's KiCad component library now open source

https://home.cern/computing/cerns-kicad-component-library-now-open-source/
2•elashri•29m ago•1 comments

Scripily – AI for Restoring and Transcribing Damaged Documents

https://scripily.com/
1•thisarajay•32m ago•0 comments

Atlas of Artificial Intelligence

https://vivamau.github.io/aimap/
1•mnovasoftrm•32m ago•1 comments

Pi-for-Word: Pi Agent as Add-In for M365 Office Word

https://github.com/damianofalcioni/pi-for-word
1•damianofalcioni•35m ago•0 comments

Global perceptions of US fall below Russia under Trump

https://www.reuters.com/world/china/global-perceptions-us-fall-below-russia-under-trump-survey-fi...
3•benterix•39m ago•1 comments

San Fran: We Buried a $10k Treasure Chest

https://www.buriedtreasuresf.com
2•vinnyglennon•39m ago•0 comments

AI is rapidly changing cybersecurity across the world

https://fixtechhubs.blogspot.com/2026/05/ai-cybersecurity-threats-are-rising.html
1•rindodi•41m ago•0 comments

GitRace – a tap-to-fly arcade game where every level is a real GitHub repo

https://driftwood-4cd6d.web.app
1•root_theory•41m ago•0 comments

SEO Migration Checklist: From A to Z (DevGuide)

https://focusreactive.com/blog/seo-migration-checklist/
2•katyadrozd•44m ago•1 comments

Coinbase AWS Service Disruption

https://status.coinbase.com/incidents/frg5wqm113dh
1•aghuang•48m ago•0 comments

Show HN: Corsproxy – Fix CORS Errors Instantly – Free for Development

https://corsproxy.io/
1•mariusbolik•49m ago•0 comments

Notes from Inside China AI Labs

https://www.interconnects.ai/p/notes-from-inside-chinas-ai-labs
1•eamag•50m ago•0 comments

Police advised to disable Bluetooth on Axon body-worn cameras to avoid detection

https://www.abc.net.au/news/2026-05-08/police-advised-turn-bodycams-to-flight-mode-over-security-...
2•stubish•1h ago•0 comments

Diagrammer: Tell the model, get the diagram or the graphical map

https://github.com/IdraDev/Diagrammer
1•idradev•1h ago•1 comments

0ctx – Local-first project memory for AI workflows

1•som3on3•1h ago•0 comments

Memories of David Attenborough as he turns 100

https://www.theguardian.com/tv-and-radio/2026/may/08/david-attenborough-at-100-memories-encounters
1•yreg•1h ago•0 comments

How the NSA obtains and uses airline reservations (2013)

https://papersplease.org/wp/2013/09/29/how-the-nsa-obtains-and-uses-airline-reservations/
1•downbad_•1h ago•1 comments

I, robe-ot: the Android monk working to reboot the faith of S. Korea's Buddhists

https://www.theguardian.com/world/2026/may/08/jogyesa-temple-south-korea-humanoid-ai-robot-gabi
2•ta988•1h ago•0 comments

Nullsoft, 1997-2004 AOL kills off the last maverick tech company (2004)

https://slate.com/technology/2004/11/the-death-of-the-last-maverick-tech-company.html
1•downbad_•1h ago•1 comments
Open in hackernews

Ask HN: We just had an actual UUID v4 collision...

8•mittermayr•1h ago
I know what you're thinking... and I still can't believe it, but...

This morning, our database flagged a duplicate UUID (v4). I checked, thinking it may have been a double-insert bug or something, but no.

The original UUID was from a record added in 2025 (about a year ago), and today the system inserted a new document with a fresh UUIDv4 and it came up with the exact same one:

b6133fd6-70fe-4fe3-bed6-8ca8fc9386cd

We're using this: https://www.npmjs.com/package/uuid

I thought this is technically impossible, and it will never happen, and since we're not modifying the UUIDs in any way, I really wonder how that.... is possible!? We're literally only calling:

import { v4 as uuidv4 } from "uuid";

const document_id = uuidv4();

... and then insert into the database, that's it.

Additionally, the database only has about 15.000 records, and now one collision. Statistically... impossible.

Has that ever happened to anyone?! What in the...

Comments

samdhar•1h ago
The math says no. UUID v4 has 122 bits of randomness, so collision probability for 15K records is N²/(2·2^122) ≈ 2·10^-29. That's somewhere around "fewer collisions per universe lifetime than atoms in your liver." Whatever you're seeing, the culprit is overwhelmingly somewhere else.

Things to check, in descending order of how likely they actually are:

1. Data import / migration / backup restore, perhaps? Did anyone load a CSV, run a seed script, restore a snapshot, or copy rows between environments at any point in the last year? This is what "duplicate UUID" is in 99% of cases. Check git on migrations, ops history on the DB, and ask anyone who might have been moving data around.

2. Application retry / rollback bug maybe? Code path that generates a UUID, attempts insert, fails on constraint violation, retries with the same UUID variable still in scope. Check whether UUID generation lives inside or outside the retry boundary.

3. Older versions of the uuid package in certain bundler environments would fall back to Math.random() instead of crypto.getRandomValues(). What version are you on? Anything <4.x is suspect; modern v8+/v9+ uses crypto everywhere correctly.

4. Could also be a process fork bug. If a UUID generator runs in a child process spawned from a parent that already used the PRNG, the entropy state can get copied. Rare in Node specifically, more historical in old Python/Ruby setups.

If you've ruled all of those out and the row really was generated independently a year apart via crypto.getRandomValues, go buy a lottery ticket. But it's almost certainly cause #1.

serf•1h ago
1 in 4.72 × 10²⁸

1 in 47.3 octillion.

i'd be suspecting a race condition or some other naive mistake, otherwise id be stocking up on lottery tickets.

(lol at the other user posting at the same time about the lottery ticket.. great minds and all that.)

mittermayr•50m ago
Not sure why the second comment was flagged (I didn't do it!), but I was able to read it and also the comment from serf, thanks.

I fully agree. It makes no sense. Yet...

The only guesses I'm having is that we originally generated UUIDv4s on a user's phone before sending it to the database, and the UUID generated this morning that collided was created on an Ubuntu server.

I don't fully know how UUIDv4s are generated and what (if anything) about the machine it's being generated on is part of the algorithm, but that's really the only change I can think of, that it used to generated on-device by users, and for many months now, has moved to being generated on server.

stubish•24m ago
The UUIDv4 collision is statistically extremely unlikely. What is more likely is both systems used the same seed. This might be just a handful of bytes, increasing the chance of collision to one in billions or even millions.
beardyw•40m ago
Just a stupid question, but why not append the date, even in seconds as hex. It's just a few bytes and would guarantee that everything OK now will be OK in the future?
mittermayr•35m ago
yeah, any sort of additional semi-random data could've helped prevent this, I'm sure. That, however, is also kind of the idea of UUIDv4, it has lots of randomness and time built in already.
flohofwoe•5m ago
UUID v4 consists of only random bits, no timestamp info.
flohofwoe•7m ago
You can just use a different UUID variant which includes timestamp data instead (e.g. v1 or v7), there are also variants which include the MAC address.
wg0•31m ago
Would the UUID v7 be more collision proof? Hard to say because it takes time into account but then the number of entropy bits are reduced hence the UUID generated exactly at the same time have more chance of a collusion because number of entropy bits are a much smaller space hence could result in collusions more easily.

Thoughts?

naikrovek•14m ago
The chance of a UUIDv4 collision is very low, but it is never zero.

If everything is done properly, then this is very likely the one and only time anyone involved in the telling or reading of this account will ever experience this.

jordiburgos•13m ago
Please, do not use b6133fd6-70fe-4fe3-bed6-8ca8fc9386cd, I checked my database and I was using it already.