News for hackers. Stuff that matters.

prydt

I'm a big fan of Chain Replication (the CRAQ paper [1] mentioned is one of my favorites)

Something I'm curious about: How does a recovering node know that it is healthy enough to serve requests? Is there some anti-entropy protocol used between the tail and the recovering node?

[1] https://www.usenix.org/legacy/event/usenix09/tech/full_paper...

Re:Chop Up Your Books on Tuesday September 15, 2026 @03:50PM (#49717939)
I came to a similar realization recently. I used to care so much about how pristine my books looked and then I realized that some of my favorite books I have found in used bookstores are ones which are written all over and have a well-worn feel to them. I now annotate all my books with pencil and also write my name in them. I love seeing a history of who's owned a given book when I open the front cover and see a name and phone number.
Re:Distributed Systems Classics on Monday September 14, 2026 @08:30PM (#49706146)
> Chain replication is how a huge percentage of real-world cloud-scale data replication is done

Is this still true today? I know that Facebook does [1], but I don't have references for any other places which use it.

[1] https://engineering.fb.com/2022/05/04/data-infrastructure/de...

Re:Distributed Systems Classics on Monday September 14, 2026 @06:57PM (#49705406)
Some of these probably aren't exactly classics but I do love:

- rendezvous hashing / consistent hashing

- Hybrid logical clocks

- "Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS"

- "Scaling Replicated State Machines with Compartmentalization" (much more recent but really one of my favorite papers)

Re:Principles for Fast Tokio Applications on Monday September 14, 2026 @06:46PM (#49705289)
Do you have any references for these principles for writing Tokio servers? Or just a high level summary of what best practices look like?
Re:A Few Good Ideas in Programming Languages on Saturday September 12, 2026 @03:39PM (#49676375)
I didn't expect this to get posted here. Long time lurker here.

I'm really interested in programming language design and ergonomics. What niche PL features would you like to see have more adoption?

Re:A Few Good Ideas in Programming Languages on Saturday September 12, 2026 @03:16PM (#49676106)
At least in my understanding of SSA, its a compiler implementation detail which makes writing optimizations simpler. I imagine you can implement flow typing without SSA.

Can you elaborate what you mean?

Re:A Few Good Ideas in Programming Languages on Saturday September 12, 2026 @03:09PM (#49676014)
What's the nice short paper? (I'd be interested in reading it!)
Re:A Few Good Ideas in Programming Languages on Saturday September 12, 2026 @02:16PM (#49675353)
The contract programming in D is pretty much syntactic sugar for placing asserts at different parts of your program.

Refinement types can be used as compile time checks for preconditions and postconditions, while this contract programming is inserting runtime checks.

Here's a good post on the type state pattern in Rust (we don't actually have refinement types in something like Rust but the type state pattern is somewhere closer to refinement types on this spectrum): https://cliffle.com/blog/rust-typestate/

Re:A Few Good Ideas in Programming Languages on Saturday September 12, 2026 @02:02PM (#49675199)
The syntax is correct but I made a logical error since balance is being compared to itself (as opposed to the new balance at the end).
Re:A Few Good Ideas in Programming Languages on Saturday September 12, 2026 @02:01PM (#49675182)
Looks like its a typo :(

The correct way to go about this would be to return the new balance and capture the return value in the first part of the out postcondition like:

```D double deposit(double amount) in (amount > 0, "Deposit amount must be positive") out (result; result == balance) { balance += amount; return balance; } ```

My mistake!

https://dlang.org/spec/function.html#postconditions

Yeah my biggest issue has been that none of my muscle memory transfers over and it adds another hurdle to ever getting back into the game.
Re:Philosoph Jürgen Habermas Gestorben on Saturday March 14, 2026 @02:00PM (#47379306)
+1 These are incredible lectures and there's another series from Rick Roderick on the history of western philosophy that I also love: https://youtube.com/playlist?list=PLxPmwaGMOAvsZp9vavFkyxYFZ...
Re:GPT-5.4 on Thursday March 05, 2026 @01:43PM (#47265507)
I no longer want to support OpenAI at all. Regardless of benchmarks or real world performance.
Re:People Loved the Dot-Com Boom. The A.I. Boom, Not So Much on Saturday February 21, 2026 @11:16PM (#47108091)
I think this is because the prevailing narrative around this bubble is:

A) AI gets very good and you'll lose your job.

OR

B) This whole thing is a bubble and because of how many eggs have been put in this single basket, when the bubble pops, you'll lose your job as we head into a recession.

It really does just seem like pure downside to the average person, not even to mention all the slop everywhere, deepfake revenge porn being democratized, and generally just having bad gpt wrappers shoved down your throat.

Edit: There really isn't a sense that AI is going to help the common person. Inequality is rising and AI seems to only fuel this fire. I hope that we as a society can actually distributed the fruits of AI to everyone... but I'm not holding my breath.

Re:Building a TUI is easy now on Friday February 13, 2026 @05:19PM (#47008583)
I think the implicit assumption here is that you are using a terminal-based code editor like neovim... which is not necessarily true.
Re:Tiny C Compiler on Saturday February 07, 2026 @08:01PM (#46930207)
I would highly recommend Wirth's Compiler Construction. Great, short book with a lot to say.
Re:Ask HN: Could you share your personal website here? on Wednesday January 14, 2026 @02:30PM (#46621492)
https://prydt.xyz

I've been really inspired to blog more thanks to HN. -- not much, but it's a start.

Came here to say this. Using opencode with the API works fine.
Re:Rust in the Linux kernel: part 2 on Friday June 27, 2025 @11:28PM (#44402119)
My interest in Rust comes from getting frustrated with C's type system. Rust has such a nice type system and I really enjoy the ownership semantics around concurrency. I think that C++ written "correctly" looks a lot like Rust and libkj [1] encourages this, but it is not enforced by the language.

[1] https://github.com/capnproto/capnproto/blob/v2/kjdoc/tour.md

Re:Writing your own C++ standard library part 2 on Monday June 02, 2025 @03:08AM (#44156372)
Have you seen libkj [1]? I've used it and really enjoy working with it. It has a rust-like owned pointer and the whole library uses these smart pointers.

It has proper container classes based on B-trees and its also got an async runtime.

[1] https://github.com/capnproto/capnproto/blob/v2/kjdoc/index.m...

Re:Immutability Changes Everything (2016) [pdf] on Saturday January 25, 2025 @05:52PM (#42825752)
One of my favorite papers! This reminds me of Martin Kleppmann's work on Apache Samza and the idea of "turning the database inside out" by hosting the write-ahead log on something like Kafka and then having many different materialized views consume that log.

Seems like a very powerful architecture that is both simple and decouples many concerns.

Re:Merry Christmas Everyone on Wednesday December 25, 2024 @04:31PM (#42511297)
Merry Christmas!

Older »