Scala.IO 2017
2017-11-02..2017-11-03
Lyon, France
[Scala.IO 2014, Scala.IO 2016, Scala.IO 2017, Scala.IO 2024 - Nantes]
| title | author | length |
|---|---|---|
| Beyond Eventual Consistency | Jamie Allen | 01h 00m |
Starbucks rebuilds rewards and mobile-order systems because Cassandra’s eventual consistency causes stale reads that lose sales and points. Alternatives… | ||
| Stream All the Things! | Dean Wampler | 47m |
Argues that data-centric and microservice architectures converge and compares four concrete tools: Spark, Flink, Akka Streams, Kafka Streams, with Kafka as the… | ||
| The Making of an IO | Daniel Spiewak | 56m |
Claims that a practical Scala IO must support three evaluation modes (strict, lazy, async), predictable thread-pool control and resource safety. Shows… | ||
| The Design of the Scalaz 8 Effect System | John A De Goes | 56m |
Scalaz 8 supplies a concrete IO data type with an async constructor that returns now / later / later-with-cancel results, lawful fiber-based concurrency with… | ||
| A practical introduction to Category Theory | Daniela Sfregola | 45m |
A practical runthrough of Category Theory grounded in Scala: concrete Scala typeclass code lives on GitHub and is shown for Monoid, Functor, Applicative, Monad… | ||
| A Crash Course in Category Theory | Bartosz Milewski | 01h 15m |
Starts from concrete type constructions—void, unit, product, sum, List/Option/Either—and shows how they arise from categorical universal properties; models… | ||
| Freestyle: A framework for pure functional apps, libs and microservices | Raúl Raja Martínez | 36m |
Freestyle 0.4.0 claims a concrete, stack‑safe way to build purely functional Scala apps and microservices: algebras get generated by Scala‑meta macros so… | ||
| What Orwell's 1984 Can Teach Us about Programming | Daniel Beskin | 48m |
Three Orwellian slogans map to concrete Scala techniques: war is peace becomes a war on effects using Option/Either/List plus Option/Either/List monads… | ||
| 10 things a Scala developer feels when coming back to Java | Brice Leporini | 46m |
Compares practical trade-offs when moving from Scala back to Java: Lombok reduces boilerplate but obscures generated code; Spring Cloud gives service discovery… | ||
| Haskell in production in 2017 at a startup? Yup | Frederic Menou, Clement Delafargue | 53m |
FretLink runs Haskell in production for core services (three services so far, adding about one new service per month) and deploys reproducible binaries with… | ||
| Implementing a database in Haskell | Yorick Laupa | 54m |
A Haskell toy event store called LambdaDB is presented: an append-only, event-sourced NoSQL with write-only append and reads by stream. It uses protobuf v2 for… | ||
| Compiling like a boss! | Mirco Dotta | 53m |
Claims concrete numbers: Scala 2.12 yields about 20–30% compile improvement over 2.11, a single implicit/macro fix delivers ~40% reduction across a codebase… | ||
| Automatic type class instance derivation with shapeless | Etienne Couritas | 46m |
Shows how to use the shapeless library to automatically derive Scala type-class instances (specifically Ordering) for case classes and ADTs by converting them… | ||
| Our 8 years journey with Scala | Naoki Takezoe, Takako shimamoto | 23m |
Eight years of adopting Scala lead to concrete outcomes: existing Java libraries stay reusable, bugs drop and the team reports 50% code reduction on trials; a… | ||
| Cracking marketing automation with Reactive Streams | Stefano Bonetti | 14m |
HomeAway replaces manual Excel uploads with production streaming feeds that push property updates to multiple ad platforms, using Reactive Streams backpressure… | ||
| From `goto` Statements to Recursion Schemes | Jean Rémi Desjardins | 25m |
Claims that extracting recursion patterns yields more correct, fusible, and reusable code, demonstrated by the Scala library matryoshka which encodes schemes… | ||
| Move fast and fix things | Gabriele Petronella | 50m |
Scalafix is a rewrite-and-lint tool that actually performs code transforms: it uses Scalameta’s semantic DB and token-level patches to change symbols, add… | ||
| What’s in the next iteration of the standard collections? | Julien Richard-Foy | 37m |
Scala 2.13 delivers a full collections rewrite that simplifies the class hierarchy to two implementation classes per node, makes default implementations lazy… | ||
| Principles and tools to cleverly model your data in Scala | Christophe Calvès | 01h 02m |
Explains how to build free monads in Scala starting from case classes and sealed trait hierarchies, and how to use fixed-point types to represent recursive… | ||
| Help, my whole team started coding in Rust | Clement Delafargue | 54m |
Clever Cloud describes adopting Rust alongside Java, Scala and Ruby for small standalone tools and a performance-sensitive proxy, using cargo for builds and… | ||
| What Referential Transparency can do for you | Luka Jacobowitz | 30m |
Argues that referential transparency buys concrete benefits: easier testing, memoization, automatic parallelization and compiler optimizations; demonstrates a… | ||
| Editing Trees with Zippers | Ratan Sebastian | 32m |
Zippers let code traverse and mutate recursive trees without destructive updates by keeping a focus plus a context and implementing most moves as constant time… | ||
| Case classes ate my RAM | Roman Grebennikov | 50m |
Case-class-heavy Scala heaps turn out to store tiny payloads and huge object overhead: a four-char String + long case class lands around ~72 bytes while naïve… | ||
| Surviving a world overflowing with effects | Benoit Lemoine | 43m |
Shows how effects that aren’t expressed in types can be modeled in Scala by rewriting a vending‑machine example as pure functions and as monadic descriptions… | ||
| Time Series Job Scheduling at Criteo with Cuttle | Guillaume Bort | 54m |
Criteo replaced a single Ruby scheduler with Cuttle, a distributed Scala scheduler that runs ~300k jobs/day over ~4PB of logs to produce trillions of records… | ||
| My Scala application from head to toe | François Laroche, Charley Pestoury | 40m |
A team ported a complete Scala app to Scala.js with React, wiring sbt to webpack and using npm or yarn for JavaScript dependencies. They report fast… | ||
| Full Stack Scala | Trond Bjerkestrand | 46m |
Claim: compile‑time sharing of types and APIs lets front and back use the same Scala code so mismatches show up as build errors. Tools demonstrated: Scala.js +… | ||
| Death to boilerplate with Scala meta | Damien Gouyette | 21m |
Scala.meta macros are used to eliminate repetitive boilerplate by generating concrete Scala code with quasiquotes for building and pattern‑matching ASTs. They… | ||
| Apache Beam and Google DataFlow IRL with Scala Scio | Alick Paul | 15m |
Scio is a high-level Scala API built on the Apache Beam Java SDK that lets the same pipeline run as batch or streaming and swap runners without rewriting… | ||
| Reactive-Config will Hocon you... so Don't Stop The Appli \o/ | Mohamed Achelif | 13m |
A small Scala library wraps Typesafe Config (HOCON) to add live reload of file-backed config without restarting applications. It uses Akka actors — a periodic… | ||
| 7 sins of a Scala beginner | Jakub Kozłowski | 26m |
Claims five sins not seven and walks through concrete mistakes: sacrificing readability for conciseness (unnamed tuples, chained maps, missing public type… | ||
| Let the Compiler Help You: How to Make the Most of Scala's Type System | Markus Hauck | 42m |
Shows practical Scala techniques to make the type system catch real bugs: use smart constructors and private companion constructors to prevent invalid values… | ||
| Interactive development with Dotty | Guillaume Martres | 47m |
Dotty (Scala 3) provides interactive tooling by reusing compiler internals: it serializes TASTy trees into classfiles so IDE features can query compiled… | ||
| Deriving pleasure | Jon Pretty | 01h 12m |
Generates a claim: Magnolia is a compact macro (~300 lines) that produces generic type-class derivations without shapeless, with concrete mechanics — it… | ||
| Refactoring toward a more functional style in F# | Clément Bouillier | 49m |
Shows refactoring an F# implementation of the Trivia kata from mutable, object-style code into deterministic, testable functional code: mutable arrays/lists… | ||
| Scala Native: the marriage of performance and functional comfort | Antoine Gourlay | 30m |
Scala Native compiles Scala ahead-of-time into native binaries to give much faster startup and direct C interop. The talk covers building a real CLI that binds… | ||
| The Path to Generic Endpoints using Shapeless | Maria Livia Chiorean | 17m |
Goal is a single generic update endpoint for Guardian content atoms so field-level edits avoid overwrite conflicts; building hundreds of endpoints is untenable… | ||
| How to fail at building a reactive information system? — MNT postmortem | Jérôme Duchemin | 55m |
An account of rebuilding a reactive information system for 1.1 million users using Scala, Akka, Kafka, Play and MongoDB plus a DevOps pipeline and automated… | ||
| Going bananas with recursion schemes for fixed point data types | Pawel Szulc | 37m |
Claims a workable generalization of catamorphism to fixed‑point data types, implemented in Scala with Matryoshka and demonstrated on expression ASTs. Shows… | ||
| Working efficiently with immutability | Marcin Matuszak | 43m |
Marcin Matuszak (http://twitter.com/@marcinmatuszak)
Selling point of most functional languages is immutability. It seems no brainer but the problem start… | ||
| Composable event sourcing with monads | Daniel Krzywicki, Étienne Vallette d'Osia | 39m |
Claims a Sourced monad lifts commands into composable creation/update values so event sourcing becomes a persistence detail, reifying intermediate events and… | ||
| Next generation Scala builds with CBT | Jan Christopher Vogt | 58m |
CBT claims a practical replacement for slow Scala build tools: a resident background JVM that gives lightning fast response time, build definitions written as… | ||
| Introduction to Akka Stream | Marc Karassev | 45m |
This talk presents Akka Streams end-to-end, covering sources, flows, sinks, custom graphs and materialized values, and how to compose reusable graphs in code… | ||
| Domain Invariants & Property-Based Testing for the Masses | Romeu Moura | 48m |
Argues that property‑based testing works on real messy code not just toy FP examples and shows concrete tools and patterns: ScalaCheck driving random inputs… | ||
| Scale up calm down @ emarsys - How we build Scala teams | Tamas puski | 10m |
Company uses Scala to build a b2c marketing cloud and runs a two‑year pilot where PHP developers switch to Scala; result: two Scala teams and more than ten… | ||
| Specs2, from starters to dessert and... a look in the kitchen. | Eric torreborre | 47m |
Covers concrete features and tradeoffs: data tables using | and ! operators that compile with aligned cells, command-line control of ScalaCheck parameters and… | ||
| Simplify Your Project Configuration with PureConfig | Jean-Yves Besson | 16m |
PureConfig maps Typesafe Config directly into Scala case classes (using shapeless LabelledGeneric) to eliminate boilerplate getters and casts, applying default… | ||
| Bayes and Bool Walk into a Bar | Samy Zarour | 42m |
Scala code constructs a probability monad with map/flatMap, sampling-based density and discretization, and a simple API to generate users, dice/coin games and… | ||
| Lessons Learned: Ultra-Fast Feedback with spark | Jonathan winandy | 12m |
Presents an approach to speed up Spark edit-test cycles by collapsing repeated MapReduce-style joins into cogroup-based stage collapse and reusing stable… | ||
| Hamsters: A Tiny Scala Utilities Library | Loic Descotte, Damien Gouyette | 18m |
Hamsters is a small Scala utility library that provides practical helpers built on standard Either/Option/Future: a Validation that accumulates all errors… | ||
| Monix: An Alternative to Akka-Streams? | Bounkong Khamphousone | 46m |
Compares Monix and Akka-Streams by implementing the same URL-caching pipeline in both: read URLs, perform asynchronous HTTP GETs, aggregate successes and… | ||
| Scala on Wire | Maciej Gorywoda | 19m |
Wire migrates its Android client from Java to Scala over about a year and claims concrete gains and tradeoffs: Scala on Android with SBT build issues resolved… | ||
| Remote4J: Monadic Remote Invocation for Java | Raphael Jolly | 14m |
A small Java library that provides a Remote monad to avoid Java RMI boilerplate by wrapping objects and shipping closures through map and flatMap. It… | ||
| Free monad or tagless final? How not to commit to a monad too early | Adam Warski | 43m |
Claim: free monad and tagless final are equally expressive but trade off representation and ergonomics. Live‑coding converts a Future‑based loyalty‑points… | ||
| Scala for Java developers | Magnus Härlin | 45m |
Claim: switching parts of a Java codebase to Scala eliminates most nullpointerexceptions — one presenter counts NPEs on one hand after a year — by using Option… | ||
| Starting Scala: Between Confusion and For-Comprehension | Melanie Lavabre | 20m |
A beginner-oriented Scala talk that walks from zero to a working backend, focusing on practical technologies: Play2 for routes and controllers, Akka for… | ||
| Alpakka Project Contributor Experience | Olivier Nouguier | 24m |
Describes Alpakka’s practical Akka Streams connectors and demonstrates building a back-pressured connector for Apache Geode using nonblocking APIs, futures and… | ||
| The three paths of Scaling with Akka | Fran Perez | 48m |
A concrete walkthrough shows a conference-management microservice built with Scala using Akka Cluster Sharding, Cassandra persistence and Kafka write API; it… | ||
| Kleisli, a Friend Who Means You Well | Xavier Bucchiotty, Tristan Sallé | 53m |
A Scala talk describing the evolution of a rules engine from plain predicates to Either for errors, then to asynchronous Futures, an object-composite, and… | ||
| Using Monoids for Large Scale Business Stats | Kumar, Ramachandrasekaran | 39m |
Claims a working system called Abel aggregates a million events in ~15 minutes on a single box, built from concrete pieces: Kafka for ingestion, local… | ||
| A DSL for My NoSQL Database | Romain Lecomte | 09m |
Describes a small Scala DSL that models Aerospike NoSQL actions as an algebra plus interpreter: operations are represented as a monadic program that delays… | ||
| ScalaIO's Welcome Day 1 | 08m | |
Provides logistical information for day 1 of ScalaIO: lists sponsors, announces Xavier Loup joining the association, and enforces badge-required entry and… | ||
| Functional Refactoring: How to Approach It | Loic Knuchel | 45m |
Concrete Scala refactoring techniques to make code functional: replace nulls, vars and throws with Option/Either for explicit signatures and Result types for… | ||
| nothing matches | ||