Poka yoke: Mistake-proofing via Functional Programming
"Poka yoke” (po-kah yo-kay) is a term from Japanese manufacturing that means "mistake proofing". It is a powerful concept (equally powerful in software) in which the design of a system shapes usage so that human error is prevented or corrected before it can cause real harm. In this session we will explore how and why FP maps so well onto the poka yoke concept. We will discuss the merits of mistake proofing over diligence, and rethink our approaches to craft and quality. You will leave with a new lens to evaluate languages, tools, and your own code. Examples in Elixir, Elm, F#, and Idris.
Outline/Structure of the Talk
- Poka yoke background
- FP background
- Specific poka yoke examples in FP languages
- Designing code to prevent mistakes
- Grading tools and code
Learning Outcome
Gain a new lens to evaluate languages, tools, and your own code.
Target Audience
Developers who are attracted to FP for quality and safety reasons
schedule Submitted 3 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Bryan Hunter - Elixir by the Bellyful
45 Mins
Keynote
Beginner
Elixir makes me happy, and I bet it will make you happy too. OK, but why is that? Elixir is a modern functional programming language with productive “dev joy” tooling, and it sits atop a decades-stable, crazy-scale, battle-tested foundation: the ErlangVM and OTP. In under three years after Elixir reached 1.0 it has already topped big, popular languages like C# on Stack Overflow’s "2017 Most Loved Language” list. After this session you will understand what makes Elixir special, the ecosystem will be illuminated, and you will have the "why, what, and how" knowledge to confidently begin your Elixir journey.
-
keyboard_arrow_down
Peter Saxton - All Chat Applications
45 Mins
Talk
Intermediate
Elixir is a powerful tool. In just 15 minutes you can have an acceptable chat application. Here endeth the blog post, but wait you have more questions.
How do you deploy your application? Is Docker necessary, or even useful? What about service discovery, secrets, load balancing and other cloud flavoured issues.
Let's take that chat application and make it scalable, fault-tolerant and available. Using concrete examples I will provide solutions to all these questions and maybe even more.