708 karma · joined November 8, 2011
If you want to remove something you could add a tombstone record (like Cassandra) and eventually remove the original entry during routine maintenance operations like repacking into a more efficient format, archival into cold storage, TTL handling etc.
"ATProto for Distributed Systems Engineers" describes how updates from the users end up in their own small databases (called PDS) and then a replicated log. What we traditionally think of as an API server (called a view server in ATProto) is simply one among the many materializations of this log.
I personally find this model of thinking about dataflow in large-scale apps pretty neat and easy to understand. The parallels are unsurprising since both the Restate blog and ATProto docs link to the same blog post by Martin Kleppmann.
This arch seems to be working really well for Bluesky, as they clearly aced through multiple 10x events very recently.
[1]: https://atproto.com/articles/atproto-for-distsys-engineers
My team migrated several kloc k8s configuration to pkl with great success. Internally we used to write alert definitions in pkl and it would generate configuration for 2 different monitoring tools, a pretty static documentation site and link it all together nicely.
Would gladly recommend this to anyone and I’m excited to be able to use this again.
I wish it would give me a good curated news feed from dozens of sources, and adapt based on feedback. I badly wanted to love it, but no matter how much I tried it ended up looking something like a mix of Buzzfeed and Murdoch propaganda.
Happy to see the idea is not dead and new companies are giving it a shot.
The author presents a very approachable technique for building pedagogical compilers by starting with a tiny subset of the language - a language that can accept integers and print it and incrementally grows it into Scheme. Every step yields a fully working compiler for a progressively expanding subset of Scheme. Every compiler step produces real assembly code that can be assembled and executed directly by the hardware.
I've dabbled with compilers for a while now and in my experience I found this to be among the best ways to get people excited about compilers. There is some code available from Nada Amin[2] for the curious and I'm re implementing it from scratch again[3].
1. http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf
1. Write a scheme in 48hrs in Haskell
2. Kaleidoscope tutorial by LLVM developers
I'll update the post with this feedback.Thank you.
JavaScript as an ecosystem needs mature robust solutions rather than a new way to do things every other week.
https://www.goodreads.com/list/show/106375.YC_s_Winter_Readi...
I feel good.