HNHacker News
TopNewBestAskShowJobs

mad44

1,915 karma · joined August 16, 2007

submissionscomments
mad44··on Distributed Systems Classics (2017)
Here is my list: https://muratbuffalo.blogspot.com/2021/02/foundational-distr...
mad44··on The Two Abstractions of System Design: Hide or Reduce
Yes. The followup blogpost makes this more concrete over an example:

https://muratbuffalo.blogspot.com/2026/08/composition-and-mo... The rely-guarantee reasoning we used in this post is where the two abstractions meet and become a joint constraint. The modularity abstraction is the boundary: we split the specs into private versus interface variables, hiding produced from the consumer and consumed from the producer. The modeling abstraction is the Env actions. E.g., EnvPut is not an API for the producer, it is a reduction of the producer: the minimal behavioral skeleton of the entire producer relevant to the consumer's property.

mad44··on Specifications Don't Exist (2025)
There are now projects like Specula that, using LLMs, enable us to derive specifications from the implementation, and somewhat paradoxically, use those specifications to find bugs in the implementation. https://muratbuffalo.blogspot.com/2026/08/specula-scaling-fo...

Secondly, I think the open partial specs, composable specs would help address the problems with monolithic specs that Dodd's cites. https://muratbuffalo.blogspot.com/2026/08/composition-and-mo...

mad44··on Classical chess ranks 562nd of 960 starting positions after 460,800 games
AI written, and makes no sense it how the piece flows.
mad44··on Cloudspecs: Cloud Hardware Evolution Through the Looking Glass
Does anyone have any explanation or theories about the NVME SSDs pricing anomaly?
mad44··on Ask HN: What are the best engineering blogs with real-world depth?
MongoDB Engineering Blog is shaping up well

https://www.mongodb.com/company/blog/channel/engineering-blo...

mad44··on Patrick Winston: How to Speak (2018) [video]
I had summarized this talk here: https://muratbuffalo.blogspot.com/2020/01/how-to-speak-by-pa...

And a couple more pearls from Prof. Winston here as well. https://muratbuffalo.blogspot.com/search?q=winston

mad44··on Ask HN: Stanford CS 153 help
Also Mahesh Balakrishnan (Yale, Facebook/Meta, Confluent) https://muratbuffalo.blogspot.com/search?q=mahesh
mad44··on Ask HN: Stanford CS 153 help
Marc Brooker @mjb https://news.ycombinator.com/user?id=mjb
mad44··on Emacs 2011-2023
I was also unhappy with emacs breaking across versions, but I learnt to adopt to the new and sane keyboard shortcuts for org mode. http://muratbuffalo.blogspot.com/2024/01/dude-wheres-my-emac...
mad44··on How to Read a Paper [pdf]
How I read a research paper https://muratbuffalo.blogspot.com/2013/07/how-i-read-researc...
mad44··on Slack: Our biggest redesign yet came to be
It makes working across other slack workspaces inconvenient by adding another click to select another workspace.
mad44··on Slack: Our biggest redesign yet came to be
Yes, the redesign sucks, it is hard to use.
mad44··on Edsger Dijkstra’s One-Day Workweek
I had written this in 2014 as a short introduction to Dijkstra's EWD notes. https://muratbuffalo.blogspot.com/2014/09/revisiting-ewds.ht...
mad44··on Ask HN: Could you share your personal blog here?
Distributed systems, database systems, writing, research, cloud computing

https://muratbuffalo.blogspot.com

mad44··on How to listen to database changes using Postgres triggers in elixir
http://muratbuffalo.blogspot.com/2016/09/sonification-for-mo...

Sonification for monitoring and debugging distributed systems

mad44··on Foundational distributed systems papers (2021)
There it is in the post:

In Search of an Understandable Consensus Algorithm. Diego Ongaro, John Ousterhout, Usenix ATC, 2014.

mad44··on Foundational distributed systems papers (2021)
Public Service Announcement. Reading research papers is so important for your growth and career, please put in a process to do it at least once in a month or two. (I will try to write a blog post about why it is important, and how to go about it, since I see there is a big need for this.)

Papers We Love is a great resource, https://paperswelove.org/, if you like to get involved in a community to dip your feet into reading papers first.

mad44··on Foundational distributed systems papers (2021)
> the original text is not a mystical text beyond your comprehension; you too can engage with it and draw your own conclusions.

This! This is so important.

Here is what I wrote (oh, wow, 10 years ago) about the process I use for reading papers. I hope it helps people.

https://muratbuffalo.blogspot.com/2013/07/how-i-read-researc...

mad44··on Ask HN: What has your personal website/blog done for you?
At https://muratbuffalo.blogspot.com/ I distill and summarize distributed systems and database systems research paper. I recently got over 600 posts.

The main benefit of the blog for me was to crystallize my understanding. Having forced myself to post in public, I try to write a simple and accessible summary. This leads me to realize the gaps in my understanding, and fill them. This also strengthens my understanding, because by explaining the work in my own words, I internalize the concepts better. When I revisit a paper I have read before, the difference between a paper I wrote a post about and one I just read for myself is clear as day and night. I have a much better recall about the paper I posted. For a paper I wrote a summary, I just go to my summary and am able to cache back in all my understanding of the paper to my brain with a quick re-read of my summary.

This being said, I also benefited in terms of networking and collaboration. Through the blog post discussions on Twitter, I made many friends who work on distributed systems and databases. I think the blog was also useful for getting me a sabbatical at Microsoft Azure CosmosDB in 2018.

Finally, it feels really good to share my learnings, and put my rough ideas in the open. I learn from other blogs, and it feels good to give back. Every couple months I would get an email, thanking me for my blog, and that means the world to me.

mad44··on Our brains 'time-stamp' sounds to process the words we hear
Is this a specific thing to ADHD? I do this a lot, and I am ADD, but I thought this is a common thing.
mad44··on Our brain is a prediction machine that is always active
Our brains are like wireless radio receivers in that way: https://muratbuffalo.blogspot.com/2012/12/our-brains-are-rad...
mad44··on Strict-serializability, but at what cost, for what purpose?
Thank you for the explanation.

I get it now. It is all thanks to separating the operation as 1. agreeing on WAL, 2. executing after waiting all WAL agreements stabilizing.

There is a separation between the two. This can introduce waits (which could be theoretically unbounded for EPaxos but Tempo and Accord bounds this).

Maybe in some sense this is in the same spirit of Calvin's serializing WAL first and executing it later. But Accord avoids a single entity doing the serialization and achieves it via a leaderless Paxos approach which uses dependency graphs for WAL serialization, and later using another protocol for WAL execution after settlement.

mad44··on Strict-serializability, but at what cost, for what purpose?
Why is it not possible for r to take a dependency on w2 and no dependency on w1?

w2 may hit different nodes than w1 in a sharded database?

Or is the leader-Paxos approach in Accord operate over all nodes in the database regardless of the shards the keys fall into? (I guess that is the only explanation.) But then scalability of these global transactions would be limited, no?

Thank you for your detailed explanations.

mad44··on Writing one sentence per line
Fine, here you go, with the line breaks

;; one sentence per line

(defun wrap-at-sentences ()

  "Fills the current paragraph, but starts each sentence on a new line."

  (interactive)

  (save-excursion

    ;; Select the entire paragraph.

    (mark-paragraph)

    ;; Move to the start of the paragraph.

    (goto-char (region-beginning))

    ;; Record the location of the end of the paragraph.

    (setq end-of-paragraph (region-end))

    ;; Wrap lines with 'hard' newlines (i.e., real line breaks).

    (let ((use-hard-newlines 't))

      ;; Loop over each sentence in the paragraph.

      (while (< (point) end-of-paragraph)

        ;; Determine the region spanned by the sentence.

        (setq start-of-sentence (point))

        (forward-sentence)

        ;; Wrap the sentence with hard newlines.

        (fill-region start-of-sentence (point))

        ;; Delete the whitespace following the period, if any.

        (while (char-equal (char-syntax (preceding-char)) ?\s)

          (delete-char -1))

        ;; Insert a newline before the next sentence.

        (insert "\n")))))

(global-set-key (kbd "M-j") 'wrap-at-sentences)
mad44··on Writing one sentence per line
I had copied this Emacs macro just for doing that.

;; one sentence per line (defun wrap-at-sentences () "Fills the current paragraph, but starts each sentence on a new line." (interactive) (save-excursion ;; Select the entire paragraph. (mark-paragraph) ;; Move to the start of the paragraph. (goto-char (region-beginning)) ;; Record the location of the end of the paragraph. (setq end-of-paragraph (region-end)) ;; Wrap lines with 'hard' newlines (i.e., real line breaks). (let ((use-hard-newlines 't)) ;; Loop over each sentence in the paragraph. (while (< (point) end-of-paragraph) ;; Determine the region spanned by the sentence. (setq start-of-sentence (point)) (forward-sentence) ;; Wrap the sentence with hard newlines. (fill-region start-of-sentence (point)) ;; Delete the whitespace following the period, if any. (while (char-equal (char-syntax (preceding-char)) ?\s) (delete-char -1)) ;; Insert a newline before the next sentence. (insert "\n")))))

(global-set-key (kbd "M-j") 'wrap-at-sentences)

mad44··on Why Decentralization Matters (2018)
Replying to "Why Decentralization Matters"

https://muratbuffalo.blogspot.com/2018/03/change-my-mind-abo...

mad44··on Meta quickly detects silent data corruptions at scale
https://muratbuffalo.blogspot.com/2021/06/silent-data-corrup...
mad44··on Why Decentralization Matters (2018)
Three years ago, I had written this as a response. https://muratbuffalo.blogspot.com/2018/03/change-my-mind-abo...

I don't see any better arguments, development put forth since then

mad44··on Bhūribhirbhāribhirbhīrābhūbhārairabhirebhire
Watch till the end. https://www.youtube.com/watch?v=gG62zay3kck
Page 1 of 6Next →