There are many possible explanations for why designing good APIs is hard. Here are three that come to my mind: Developers are bad at sympathy...
[Read More]
Write Contention and Optimistic Concurrency II
In the last post, we saw how to reduce global contention in a concurrent key-value store and provide some limited transactional support through versioning. In...
[Read More]
Write Contention and Optimistic Concurrency I
The goal of concurrent programming is to organize code in a way that multiple threads of execution can do independent work without losing consistency. When...
[Read More]
Open Source as Business
Since the start of my work in tech, I’ve been fascinated with both the technological and the business aspects of it. A big open problem...
[Read More]
Welcome
This is my technical blog where I gather my thoughts, ideas, and observations about software engineering and technology. I will focus on the topics that...
[Read More]