Hillel Wayne - Everything about distributed systems is terrible | Code Mesh LDN 18
ฝัง
- เผยแพร่เมื่อ 16 ต.ค. 2024
- This video was recorded at Code Mesh LDN 18 bit.ly/2P7SPII
Get involved in Code Sync's next conference bit.ly/2Mcm4aS
---
EVERYTHING ABOUT DISTRIBUTED SYSTEMS IS TERRIBLE
by Hillel Wayne
THIS TALK IN THREE WORDS:
TLA+
Formal
Specification
TALK LEVEL: Intermediate
ABSTRACT
Distributed systems are hard. How do you test your system when it's spread across three services and four languages? Unit testing and type systems only take us so far. At some point we need new tools.
Enter TLA+. TLA+ is a specification language that describes your system and the properties you want. This makes it a fantastic complement to testing: not only can you check your code, you can check your design, too! TLA+ is especially effective for testing concurrency problems, like crashes, race conditions, and dropped messages.
This talk will introduce the ideas behind TLA+ and how it works, with a focus on practical examples. We'll also show how it caught complex bugs in our systems, as well as how you can start applying it to your own work.
Read the full abstract: codesync.global...
---
THE SPEAKER - HILLEL WAYNE
Coder, chocolatier, cjuggler
Hillel is a software consultant in Chicago who specialises in formal specification. He is the author of Learn TLA+ (learntla.com), currently writing Practical TLA+ (Apress, est 2018), and on the Alloy Adoption and Outreach working group. In his free time he juggles and makes candy.
More on Hillel Wayne: codesync.global...
---
CODE SYNC & CODE MESH LDN 18
Code Mesh LDN is powered by Code Sync. Code Mesh LDN 18 was sponsored by WhatsApp, Toyota Connected, Erlang Solutions, TEAMango, and aeternity.
CODE SYNC
Website: www.codesync.global
Twitter: CodeMeshIO
Facebook: / codesyncglobal
LinkedIn: / code-sync
Mail: info at codesync.global
#CodeMesh #HillelWayne #TLA+ #FormalSpecification #DistributedSystems
This is such an amazing talk.
Edit: I've been working on a new system and getting stuck with too many states/behavior. This saved me.
For those who want a resonable middle ground. Property based testing is a great way to explore most of your state space in your existing code. Exploring the entire state space is not always realistic or even possible in non trivial components.
What is the talk he refers to about the first law of distributed systems? Cannot catch it. :(
He says that the first law of distributed systems is: Don't.
everything is graphs
lol, Drugs!
Damn.