Martin Kleppmann
๐ค SpeakerAppearances Over Time
Podcast Appearances
I said, yes, we're going to solve this harder engineering problem because we think decentralization is a valuable feature.
and we know perfectly well that most startups are not going to solve this problem because they will just do the easy pragmatic thing which is the right thing for startups to do but we have a different set of incentives and we can afford to put in the time to try and solve those hard problems and as you said if we can solve them then it creates more optionality for anyone any users of this technology they can if they want to choose to use this decentralized tech
And there's still trade-offs around it, but at least if they're not having to invent it from scratch, it'll be a lot easier to adopt this kind of decentralized tech for those who want to use it.
So inside academia, you're also teaching.
What courses do you teach?
At the moment, I have a concurrent and distributed systems course for the undergraduates and a cryptographic protocol engineering course for the master students.
And then additionally, this year, I have a seminar course on security and I'm teaching also the undergraduate operating systems course.
Yes, so that distributed systems course, it's a bit more theoretical than what is in the book.
So it's more focused on algorithms and sort of how we convince ourselves that the algorithms behave correctly under the assumptions of distributed systems that we talked about of like nodes may crash, communication might be unreliable, clocks might be wrong, etc.
So that's really it.
It's not a very long course.
It's just eight lectures worth of material.
But it goes into substantially more detail on the algorithms than the book.
So, for example, one of the lectures goes through the entire raft consensus algorithm, which is pretty complex.
But I really wanted to show the students exactly how it works because it's just such a nice illustration of the challenges of distributed systems and the various measures we need to take in order to handle the various types of edge cases and failures that can happen and showing that those problems can be overcome.
It's not easy and the algorithms are very subtle and it's very easy to have bugs in them, but it is possible to solve consensus in a way that works pretty well.
And so that's really the sort of message I'm trying to get across with this course.
I don't think I have a particularly like unique teaching style.
I just...
In lectures, I will go through slides.