ScalaSyd Reboot - Episode 2


Details
Almost 3 years after the last ScalaSyd event, we're back in 2021!
2021 will be a year full of ScalaSyd events!
We’re planning to have an event every month, at the beginning of each month.
If you want to give a talk, you can:
- Create an issue with your proposal in our Github repo: https://github.com/scalasyd/scalasyd
- Contact Jules Ivanic either on Twitter (https://twitter.com/guizmaii) and/or by email at jules.ivanic@gmail.com (I’m faster to answer on Twitter!)
We’re interested in everything around Scala!
Don’t be shy!
Come talk to our friendly community about your discoveries, your work, or anything you’re passionate about! 🙂
You can join the Australian Scala Community on Slack here: https://join.slack.com/t/scalamelb/shared_invite/zt-n288t51y-c2dql1OvWU71Si~lctJDLw
-----
Streaming with ZIO and Kafka
Aleksandar Skrbic
Getting started with FP is usually intimidating, but it shouldn't be, especially if you are going to use ZIO.
I want to share the process of building a stream processing application that uses Apache Kafka as a data backbone and ZIO library for business logic. You are going to see how to make your application configurable with ZIO Config, how to build a simple stream processor with ZIO and ZIO Streams, and finally how to structure your functional application with ZLayers.
Who is Aleksandar?
I'm a software engineer from Serbia passionate about Scala and functional programming. I love to talk at conferences, meetups, and to contribute to open-source projects
-----
Far more than you ever wanted to know about ADTs
Nicolas Rinaudo
Algebraic Data Types are a very simple, yet very powerful tool to use when designing systems. Most developers are familiar with them, or subsets of what we call ADTs, even if they are not aware of them - enumerations, for example, or records.
The purpose of this talk is to clarify what ADTs are, what properties they have and how these properties can be used to express strong invariants at the data level - such as making illegal states or state transitions impossible to represent.
It also explores the generalised form of ADTs - GADTs - and attempts to lift some of the confusion that surrounds them in the Scala community.
We will also (lightly) tackle the theory behind them and try to understand where the “algebraic” part of the name comes from.
By the end of the talk, attendants should have a solid intuition of when and how to use them, and be able to bring them to use in their own projects directly.
Who is Nicolas?
Nicolas is the CTO of Besedo, where we use Scala to moderate large volumes of user generated content and do weird things to machine learning models.
After too many years as a Java programmer and a thankfully brief stint in marketing, Nicolas discovered Functional Programming through Scala and fell in love. Since then, he's made it his mission to learn and explain the scary bits, by focusing on practical applications.
Nicolas is also the author and sole maintainer of a few useful OSS libraries, such as kantan.csv.

ScalaSyd Reboot - Episode 2