London Scala Talks: Jamie Wickham-Jones, Tomasz Godzik and Julien Truffaut
Details
π The London Scala User Group is back in action! π
Come along to another round of London Scala Talks! This month, we'll be hearing from Jamie Wickham-Jones, Tomasz Godzik and Julien Truffaut. We look forward to seeing you!
ββββββββββββββββββββ
*Agenda*
6:00pm - π» Doors open. Come along and grab a drink!
6:20pm - π£οΈ Jamie Wickham-Jones: Using fibers to great effect
7:00pm - π Join us for some free food and drinks! Vegetarian and gluten free options are provided. Let us know if you'd like something special - we'd be happy to accommodate.
7:30pm - π£οΈ Julien Truffaut: Resource Management Made Easy: Introducing Resource from cats-effect Library
8:20pm - π£οΈ Tomasz Godzik: (Scala) Metals LSP 1.0.0 - stable and productive development environment
9:00pm - π» Stay for drinks and discuss the talks!
ββββββββββββββββββββ
π£οΈ Jamie Wickham-Jones: Using fibers to great effect - walking through a scala implementation of distributed "Compare and Swap" operations with ETCD
Jamie Wickham-Jones will walk through how to implement a "Compare And Swap" operation using the official ETCD java client (v3 api) and the Cats-Effect library.
We'll unpick some of the nuances of interfacing with java; look at ways of controlling effects and handling concurrency with the IO monad and fibers; and learn about CAS operations and how they can be used for locking amongst distributed applications.
ββββββββββββββββββββ
π£οΈ Julien Truffaut: Resource Management Made Easy: Introducing Resource from cats-effect Library
This presentation addresses the common issue of forgetting to close resources such as files or HTTP clients, and the resulting challenges when faced with exceptions or interruptions during processing.
I will present Resource, a solution from the cats-effect library that provides an elegant way to address this problem. We will go through various use cases demonstrating its key characteristics including error handling and composing multiple Resources together. Attendees will also learn about unconventional use cases, such as consuming elements from a queue and transforming Resources to a Stream.
*Julien Truffaut*
I am a backend engineer with more than 10 years of experience from start-ups to tech giants like Amazon.
I love teaching the practical side of functional programming in Scala. I created my own online course at FP-Tower which is used by many companies to train junior and mid-level Scala developers.
I am also the author of the popular open-source library Monocle, an optics library that helps functional Scala developers easily traverse, transform, and access deeply nested data structures.
ββββββββββββββββββββ
π£οΈ Tomasz Godzik: (Scala) Metals LSP 1.0.0 - stable and productive development environment
Language Server Protocol is used to provide language support for different languages in various editors without the need to adjust it for every possible combination. Metals LSP server is an LSP server for Scala used by many users primarily in Visual Studio Code, Sublime, Emacs and Neovim.
Over the recent years the server has been heavily developed with many new features and improvements and I believe it's something that makes users more productive than any other tool before. Itβs a lightweight alternative to classic IDEs with a comparable set of features. The main focus has always been making it a fast and responsive experience without the need to wait minutes for indexing or running a program.
Let's go on a journey where I will show the most useful features one can find in Metals on one hand, but also some issues and how to overcome them on the other. My aim is to improve your editors experience by showing you exactly how one can benefit from the design choices behind this Scala language server.
Lastly, we will also go over some recent improvements that help us to spot the issues and make the user experience more stable and enjoyable.
*Tomasz Godzik*
Tomasz has worked with multiple programming language tools through the years trying to provide a pleasant environment for other developers to interact with. Team lead of ScalaCLI and Metals teams at VirtusLab.
ββββββββββββββββββββ
π Thanks to our partners:
ScalaJobs: https://scalajobs.com/
VirtusLab: https://virtuslab.com/
ββββββββββββββββββββ
π£οΈ Would you like to present, but are not sure how to start? Give a talk with us and you'll receive mentorship from a trained toastmaster! Get in touch and we'll get you started:
https://forms.gle/zv5i9eeto1BsnSwe8
π‘ Interested in hosting or supporting us? Please get in touch:
https://forms.gle/3SX3Bm6zHqVodBaMA
ββββββββββββββββββββ
π All London Scala User Group events operate under the Scala Community Code of Conduct:
https://www.scala-lang.org/conduct/
We encourage each of you to report the breach of the conduct, either anonymously or by contacting one of our team members. We guarantee privacy and confidentiality, as well as that we will take your report seriously and react quickly.
https://forms.gle/9PMMorUWgBnbk1mm6
