Latest Tech News

Stay updated with the latest in technology, AI, cybersecurity, and more

Filtered by: uuid Clear Filter

UUIDv47: Store UUIDv7 in DB, emit UUIDv4 outside (SipHash-masked timestamp)

UUIDv47 - UUIDv7-in / UUIDv4-out (SipHash-masked timestamp) uuidv47 lets you store sortable UUIDv7 in your database while emitting a UUIDv4-looking façade at your API boundary. It does this by XOR-masking only the UUIDv7 timestamp field with a keyed SipHash-2-4 stream tied to the UUID’s own random bits. Header-only C (C89) · zero deps Deterministic, invertible mapping (exact round-trip) RFC-compatible version/variant bits (v7 in DB, v4 on the wire) Key-recovery resistant (SipHash-2-4, 128-b

Show HN: Stasher – Burn-after-read secrets from the CLI, no server, no trust

Stasher CLI Share secrets from your terminal. One-time only. No accounts. No backend. No BS. I just wanted to share a password. Not spin up a server. Not sign up for a "secure" web app. Not trust a Slack thread. Just. Send. A. Secret. So I built Stasher — a burn-after-read, command-line tool for secure, ephemeral secret sharing. Built for people who are busy, paranoid, or both. "How Can I Trust You?" That's what someone asked me — and they were right to. Even if I say: "It's encrypted"

Use Your Type System

Today I'm discussing a trivially simple technique that I've rarely seen used in production codebases. In programming, we often need to deal with simple values that can be represented by simple, generic types built into our programming language or provided by libraries: types like integer, string, or UUID. In any nontrivial codebase, this inevitably leads to bugs when, for example, a string representing a user ID gets used as an account ID, or when a critical function accepts three integer argu