I have to give a talk, now what?

Knowing how to communicate your work is an important skill for an engineer to have. Unfortunately, communication skills, both written and oral, are very often neglected in technical jobs. The attitude that strong technical skills are sufficient, and in particular for software engineers that code says it all, is rather prevalent. Not everyone is a … Continue reading I have to give a talk, now what?

Pravega: Storage for streams (ApacheCon @Home 2020)

This is the talk I have given at ApacheCon @Home - 2020 in the Streaming track. I start by motivating stream data and the need of storage for streams. Traditional storage systems on one side of the abstraction spectrum and messaging systems on the other have not really solved the problem of storage for streaming … Continue reading Pravega: Storage for streams (ApacheCon @Home 2020)

Zab Correcteness

Apparently Yahoo! Labs removed access to tech reports, including the proof of correctness we had written for Zab (ZooKeeper Atomic Broadcast). I'm consequently making it available here. YL-2010-007

Keep moving forward: Liveness in distributed systems

In distributed computing jargon, properties are classified as either safety or liveness properties [1, 2]. Consistency is a typical safety property: the state of the system is never inconsistent for some definition of consistent. Of course, "never inconsistent" assumes an ideal world in which us developers do everything right in the code, which history has … Continue reading Keep moving forward: Liveness in distributed systems