Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Fifteen years later, the Apple Cards origin story (lexontech.org)
    —discuss
  2. Revealing the details of how OpenAI agents hacked Hugging Face (swarmtraces.org)
    306comments
  3. A single function Jev-like wrapper for LLMs, including vision models (allanrbo.blogspot.com)
    21comments
  4. We're gonna need a lot more mathematicians (terrytao.wordpress.com)
    178comments
  5. Plan mode is dead (aymannadeem.com)
    314comments
  6. Ollaya – Ollama for open-source, Jev-style decision models (ollaya.dev)
    117comments
  7. Floci: Locally emulating any cloud service (floci.io)
    2comments
  8. Is your Postgres migration safe or not safe? (safenotsafe.dev)
    9comments
  9. Show HN: Jev Plays Pokémon Red (jev-pokemon.vercel.app)
    85comments
  10. What even is an OS now? (sockpuppet.org)
    285comments
  11. The Murky History of Soviet-Born Tetris (mitpress.mit.edu)
    13comments
  12. How to keep enjoying programming in a world of LLMs (haskell.org)
    71comments
  13. Gravity seems holographic. What does that mean for reality? (quantamagazine.org)
    174comments
  14. Scientists build most accurate atomic clock (phys.org)
    6comments
  15. Jury finds Facebook liable for deceiving users in Cambridge Analytica case (cbsnews.com)
    56comments
  16. Ask HN: Who's still keeping a DOS machine up because the business depends on it?
    124comments
  17. 16GB iPod Nano 3G Upgrade (tuckerosman.com)
    3comments
  18. Fourier Analysis: Drawing Llamas with Circles (adekau.github.io)
    3comments
  19. Parsing Expression Grammar vs. Regexes: Building Org Parser in Lisp, Export HTML (jointhefreeworld.org)
    —discuss
  20. Excel now supports multiple values in a single cell (techcommunity.microsoft.com)
    140comments
  21. A new world airport and its baggage (computer.rip)
    2comments
  22. From Thin Air to Bootable Images: The Tine Build System (amutable.com)
    —discuss
  23. First Principles Thinking (sunilsadasivan.com)
    112comments
  24. Lab on a Contact Lens Can Measure Stress Through Serotonin (ieee.org)
    12comments
  25. HomelabFest will be in St. Louis in September 2027 (homelabfest.org)
    17comments
  26. I wrote a ray tracer in Brainfuck (epestr.com)
    18comments
  27. The far side of the Moon provides clues to a previous magnetic field (ethz.ch)
    —discuss
  28. One Piece of Flock Camera Data Put This Innocent Woman in Jail for 13 Days (jezebel.com)
    81comments
  29. Remembering Johannes Doerfert (llvm.org)
    3comments
  30. Show HN: Hacker Atlas - A map of what Hacker News talks about (hackeratlas.com)
    20comments

Is your Postgres migration safe or not safe?

29 pointsby 3h agosafenotsafe.dev
9 comments
1h agoHN ↗

Thing that bit me most wasn't the DDL itself, it was lock queuing. An ADD COLUMN is instant but if it waits behind a long read, every query behind it piles up too. Lock_timeout plus retry saved us more than any clever migration tool.

58m agoHN ↗

Agree. `lock_timeout` will go a long way in terms of damage control.

56m agoHN ↗

Nice. Integrating it on CI and catching there is still the best way/place. Having said, it doesn't work like that in practice.

23m agoHN ↗

I like the concept and I'm trying to work out if it'll be useful for me, but I just cannot get past the cookie-cutter LLM style of the landing page. A Go library doesn't need a marketing page with a seemingly unrelated artwork and call-outs like "Climb from easy to nightmare →". Put a runnable example front and centre.

1h agoHN ↗

Author here: Adding some context. I led the Postgres platform team (2019-23) at Cloudflare and we were supporting 170+ growing product teams. One of the constant asks is schema migration review. We published a lot of best practices, added CI checks however, it was still hard to catch. Also, I tried to explain the internals of how the locking (rewrite) works, but I realized most of the devs just want the answer - Is it safe or not safe to run?

Not sure if it rings a bell, the name is a reference to the Silicon Valley Jian Yang's hot dog or not hot dog app.

Also, I understand the decision of safe vs not-safe depends heavily on data/histogram and edge cases, but still quite a lot of low-hanging issues can be easily caught with a deterministic rule engine. So I ported pg_savior[1] and used sql parser from libpg-query-node[2] which compiles as WASM, so it entirely runs on the browser. No telemetry, no login. Source attached [3]

[1] https://github.com/viggy28/pg_savior [2] https://github.com/constructive-io/libpg-query-node [3] https://github.com/viggy28/safe-not-safe

1h agoHN ↗

Wow, great idea!

It's not immediately clear from the README, but is it easy to run with multiple profiles like "backwards-compatible", "revertable" (both data and schema) and "destructive" for that final clean-up in multi-staged no-downtime migrations? Basically common subsets of "safe-ness" of the schema migration queries.

I imagine it can be tuned, but I'd love this for all my projects.

And since I am currently on a project doing MS SQL (gasp), that'd be cool too ;)

I am familiar with an "is it a hot dog" app from back in the day, bit would have never made the connection :)

46m agoHN ↗

Thanks you.

Certainly, there is a lot of room to improve the README. Overall the project is very much alpha.

You're right. Currently, it's very binary. The answer is more nuanced and it should classify it based on the profiles like you mentioned.

Also, I noticed parsers for other databases that compiles to WASM. So, all running on client side.

1h agoHN ↗

really like the browser-only approach here - catching the obvious migration risks locally before they ever reach CI feels super useful