frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Swiss researchers find password manager security gaps

https://www.swissinfo.ch/eng/various/researchers-find-major-security-gaps-in-password-managers/90...
1•proque•1m ago•0 comments

Many consumer electronics manufacturers 'will go bankrupt' by the end of 2026

https://www.pcgamer.com/hardware/memory/many-consumer-electronics-manufacturers-will-go-bankrupt-...
1•smetannik•2m ago•0 comments

Nightshift: Use your leftover CC/Codex tokens overnight for maintenance PRs

https://github.com/marcus/nightshift
1•edwin•3m ago•0 comments

Clerk

https://clerk.vision/
2•tosh•5m ago•0 comments

Firm Data on AI

https://www.nber.org/papers/w34836
1•mychaelangelo•5m ago•0 comments

Final step to put new website into production deleted it instead

https://www.theregister.com/2026/02/16/who_me/
3•jethronethro•7m ago•0 comments

10 years building vertical software: are we cooked?

https://twitter.com/nicbstme/status/2023501562480644501
1•nbstme•10m ago•0 comments

Show HN: ZIT: Zooplankton Image Tool for 2d rendering of biological locomotion

https://github.com/juleshenry/zooplankton-image-tool
2•juleshenry•10m ago•0 comments

After all the hype, some AI experts don't think OpenClaw is all that exciting

https://techcrunch.com/2026/02/16/after-all-the-hype-some-ai-experts-dont-think-openclaw-is-all-t...
1•zerosizedweasle•11m ago•0 comments

Show HN: I built an all-in-one workspace for agencies and freelancers

https://www.7desk.io
1•syketdas•11m ago•1 comments

Software Archeology in 2026

https://xav.io/blog/software-archeology/
1•xavxav•11m ago•0 comments

Kim Dotcom says Palantir allegedly hacked

https://twitter.com/KimDotcom/status/2023165849721536672
7•hooch•12m ago•0 comments

Dutch Government Claude Plugins

https://github.com/MinBZK/overheid-claude-plugins
1•GeertJohan•13m ago•0 comments

Software licensing and my opposition to copyleft

https://github.com/BurntSushi/notes/blob/fae52f03a655c1294226482d4ddd70c55cf62af3/2020-10-29_lice...
2•akktor•13m ago•0 comments

Show HN: LLMFeeder – Multi-tab web to Markdown for LLM context (v2.1.0)

1•jatinkrmalik•13m ago•0 comments

Sl − display animations to correct users who accidentally enter sl instead of ls

https://man.cx/sl%286%29
1•jjmarr•14m ago•0 comments

Show HN: TaxPal – Free tax calculator for 1099 freelancers (Q1 due April 15)

https://taxpal-kappa.vercel.app
1•greenbelt-dev•16m ago•0 comments

Show HN: Vocalinux // 100% offline voice typing for Linux

https://vocalinux.com/
1•jatinkrmalik•17m ago•0 comments

Show HN: NabavkiData – AI that detects corruption in public procurement

https://www.nabavkidata.com
2•proofkit•17m ago•1 comments

Ten Maps of Greenland

https://mhinfographics.github.io/funtography/18.html
1•gmays•20m ago•0 comments

I built a WhatsApp Status Saver that uses fewer ads than competitors

https://play.google.com/store/apps/details?id=com.appgenstudio.wa_status_saver_2026&hl=en_US
1•appzenstudioo•21m ago•1 comments

Amazon Mired in Longest Losing Streak Since 2006 on Capex Angst

https://www.bloomberg.com/news/articles/2026-02-13/amazon-eyes-longest-losing-streak-since-2006-o...
1•1vuio0pswjnm7•22m ago•0 comments

Slow, Then Suddenly

https://frantic.im/suddenly/
1•speckx•23m ago•0 comments

Dola-Seed-2.0-Preview debuts at #6 on arena.ai

https://seed.bytedance.com/en/blog/dola-seed-2-0-preview-model-release-on-arena
2•elahieh•24m ago•0 comments

Cartography Now Maps Permissions Across All 3 Clouds: My LFX Mentorship Journey

https://cartography.dev/blog/gcp-and-azure-rpr
1•alexchantavy•26m ago•0 comments

Show HN: Sira,an AI native flight booking experience

https://www.travelwithsira.com/
1•malwaregeeeek•27m ago•0 comments

German Social Democrat paper adds to calls for social media curbs for children

https://www.reuters.com/sustainability/society-equity/german-social-democrat-paper-adds-calls-soc...
1•1vuio0pswjnm7•28m ago•0 comments

Did We See a Black Hole Explode in 2025? [video]

https://www.youtube.com/watch?v=sbqrjBZwgLQ
1•jmward01•29m ago•0 comments

Microscope super-resolution with an LED array and Fourier Ptychography [video]

https://www.youtube.com/watch?v=9KJLWwbs_cQ
2•newpavlov•29m ago•0 comments

I Language

https://github.com/IbrahimHindawi/I
1•VoidLegend•29m ago•1 comments
Open in hackernews

Testing Postgres race conditions with synchronization barriers

https://www.lirbank.com/harnessing-postgres-race-conditions
26•lirbank•1h ago

Comments

haliliceylan•45m ago
Thats not postgresql problem, thats your code

IMHO you should never write code like that, you can either do UPDATE employees SET salary = salary + 500 WHERE employee_id = 101;

Or if its more complex just use STORED PROCEDURE, there is no point of using database if you gonna do all transactional things in js

lirbank•38m ago
Fair point - atomic updates like SET salary = salary + 500 sidestep the race condition entirely for simple cases. The examples are intentionally simplified to isolate the concurrency behavior. The barrier pattern is more relevant when you have read-modify-write operations that involve application logic between the read and the write - those can't always collapse into a single UPDATE.
lirbank•29m ago
Here's a real-world example where atomic updates aren't an option - an order status transition that reads the current status from one table, validates the transition, and inserts into another:

await db().transaction(async (tx) => { await hooks?.onTxBegin?.();

  const [order] = await tx.select().from(orders)
    .where(eq(orders.id, input.id))
    .for("update");

  const [status] = await tx.select().from(orderStatuses)
    .where(eq(orderStatuses.orderId, input.id))
    .orderBy(desc(orderStatuses.createdAt))
    .limit(1);

  if (input.status === status.code)
    throw new Error("Status already set");

  await tx.insert(orderStatuses).values({ ... });
});

You need the transaction + SELECT FOR UPDATE because the validation depends on current state, and two concurrent requests could both pass the duplicate check. The hooks parameter is the barrier injection point from the article - that's how you test that the lock actually prevents the race.

erpellan•5m ago
The standard pattern to avoid select for update (which can cause poor performance under load) is to use optimistic concurrency control.

Add a numeric version column to the table being updated, read and increment it in the application layer and use the value you saw as part of the where clause in the update statement. If you see ‘0 rows updated’ it means you were beaten in a race and should replay the operation.

lirbank•46s ago
Good point. The barrier pattern from the article applies to both approaches - whether you're using pessimistic locks or optimistic version checks, it's good to verify that the concurrency handling actually works. Barriers let you test that your version check correctly rejects the stale update, the same way they test that your lock prevents the race.