A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
November 19th, 2020, ISSUE 353

READING

Functional pancakes

Let’s apply functional programming to a practical problem. Can you guess what it’s going to be?
Adam Warski (@adamwarski)
Scala 3 Developers Survey

The survey is for all developers, whether you’re a professional, a hobbyist, or a student who code in Scala. Share your experience and expectations, and win an Amazon Gift card!
SoftwareMill (@softwaremill)
Managing Database Migrations in Scala

A very popular Java library for handling migrations is Flyway. We’ll combine that with Typesafe Config (aka HOCON) for configuration, along with PureConfig for parsing it. And Cats Effect for describing our effects, because we love FP, right?
Alex Nedelcu (@alexelcu)
One year with Akka 2.6

If you haven’t followed all announcements in detail, this post gives an overview of what has happened during the last year.
Akka Team (@akkateam)
Best practice for natural Ordering

Scala has scala.math.Ordering, Java has java.lang.Comparable. These are interfaces used for defining a natural order, which can then be used to sort lists of elements, or in data structures implemented via binary search trees, such as SortedSet.
Alex Nedelcu (@alexelcu)
Event-driven railway network based on Pulsar

An introduction to Apache Pulsar and Neutron (a Pulsar client based on fs2).
Pavels Sisojevs (@scalamonster)
Mirror, Mirror on the Wall, Who’s the Genericioust of Them All?

Discover generic programming with Scala 3.
Philipp Martini (@maphiFP)

VIDEOS

Tagless Final - Part 15.2 - trust, but verify (The Big Rewrite)

In this video we will write tests and conclude the series. This is part 2/2.
DevInsideYou (@DevInsideYou)
Programming in Scala for beginners - week 9: sets and key-value tables

Open Scala lectures in Swedish by Björn Regnell at Lund University, Sweden.
Björn Regnell
Introduction to Variance in Scala

Here's the first episode in a series of collaborations with excellent developers and speakers from the Scala community.
Jakub Kozłowski, Wiem Zine (@WiemZin)
Given and Using Clauses in Scala 3

This video will continue the Scala 3 journey. This one is pretty important as it covers the new "contextual abstractions": given instances and using clauses.
Daniel Ciocîrlan (@rockthejvm)

EVENTS

ZIO Hackathon, November 20th-21st, online event

Attendees of ZIO Hackathon 2020 will be able to attend talks on ZIO projects from leading open source contributors, as well as receive expert mentorship in contributing features, bug fixes, and documentation enhancements to the ZIO ecosystem of libraries. Every Contributor to the ZIO library during the ZIO Hackathon will receive this collectible T-shirt!
Ziverge (@zivergetech)
Essential Effects (EU), November 23rd-25th, online event

Essential Effects teaches how to safely create, compose, and execute effectful Scala programs using the Typelevel cats-effect library, and how to integrate these concepts and techniques into your projects. The course will take place online as three 4-hour sessions with breaks, 12pm-4pm UTC.
Inner Product (@InnerProductLLC)
London Scala Open Source Saturday, November 28th, online event

Come and meet up with fellow contributors and maintainers to hack on their projects. We'll tackle good first issues in Scala, ScalaJS, and many more! First time contributors are especially welcome to help improve the https://www.lsug.co.uk/ website, written in functional Scala. Whether you're an experienced contributor or new to GitHub, we'll help you get your first taste of an open source project.
London Scala User Group (@londonscala)
Functional Scala, December 3th-4th, London

Learn the critical topics you need to excel as a Scala developer, and celebrate the Scala programming language and community. Every ticket holder to Functional Scala 2020 will receive an all-day Scala 3 course by John de Goes and a collectible T-shirt!
Ziverge (@zivergetech)
Scala 3 for Scala 2 developer, December 8th - 10th, Online training

In this course, developers who are already familiar with Scala 2.x will get a high-speed introduction to all the changes coming in Scala 3, including semantic changes, syntactic changes, new features, and dropped features. Use code "ScalaTimes10" to receive 10% off at the checkout.
John A. De Goes (@jdegoes)
Functional Scala Megapack (3 workshops)

Functional Design + Functional Data Modeling + Scala 3 for Scala 2 developers. Use our special link to get a 15% discount!
John A De Goes (@jdegoes)

RELEASES

sbt 1.4.3

Featuring update to Coursier 2.0.6, IntelliJ import fix on Windows, metabuild dependency resolution fix, and more.
sbt contributors
Akka HTTP 10.1.13

This is a small maintenance release which fixes a bug in the client connection pool and optimizes some cases of discarding entities.
Akka Team (@akkateam)





  1. Scala Times Issue #353

    Scala 3 Developers Survey. Managing Database Migrations in Scala. One year with Akka 2.6. Best practice for natural Ordering. Event-driven railway network based on Pulsar.


  2. Scala Times Issue #352

    Domain-Driven Design with FP in Scala. Explicit term inference with Scala 3. Keep alive for JMS connections. Why You Should Learn Scala in 2020?. A step-by-step guide for debugging memory leaks in Spark Applications.


  3. Scala Times Issue #351

    Autorecovery for (JMS) Streams. ZIO-AWS with ZIO Query. Implementing Scala.js Support for Scala 3. Let’s Talk About the Scala 3 Indentation. Concurrency in Cats Effect 3.


  4. Scala Times Issue #350

    Designing tapir’s WebSockets support. BSP Support in sbt 1.4. Streaming With Probabilistic Data Structures: Why & How. Scala 3 Migration guide. ScalaZONE - Scala 3 Programming Language Courses.


  5. Scala Times Issue #349

    Generic IOApp alternative. Let's build a Scala mock library. How To Make Integration Tests Less Flaky. Option  - the null of our times. Top Link of September: Polynote, A better notebook for Scala.


  6. Scala Times Issue #348

    Java 15 through the eyes of a Scala programmer. Functional Design, October 20th - 22nd, Online training. Scale By the Bay, November 12th - 14th, online event. Functional Data Modeling, November 18th - 19th, Online training. ZIO Hackathon, November 20th-21st, online event.


  7. Scala Times Issue #347

    A short guide to Blocker. Using: Did they forget something?. The assignment operator is broken!. Attending a hackathon with Scala and Akka (Streams) on Microsoft Azure. Programming Scala, Third Edition.


  8. Scala Times Issue #346

    Getting Started with Knative in Scala. Tagless Final - Part 12 - delivery-http-http4s (The Big Rewrite). Programming in Scala for beginners - week 5: classes. Eyjafjallajökull Lecture 2019. Scala 3: Enums.


  9. Scala Times Issue #345

    Tour of Scala. Polynote, A better notebook for Scala. Single command Scala setup. Dotty becomes Scala 3. Functional Effects with ZIO.


  10. Scala Times Issue #344

    Can we build better?. Algebra and Parametricity. How to Deploy a Scala Application to AWS Lambda. 5 lessons learned from my continuing awesome journey with ZIO. Scala 3 - A community powered release.


  11. Scala Times Issue #343

    Underscores are Overloaded in Scala!. Scala, React, and SSR (part 2). Scala Africa Development Program Has Launched. Scala micro.sphere.it, September 15th. Essential Effects EU, September 14th-16th, Online Course.


  12. Scala Times Issue #342

    What’s coming up in sttp client 3?. FP in the City Virtual Conference, September 10th. Scala Castle, September 14th-17th. Scala micro.sphere.it, September 15th. Essential Effects EU, September 14th-16th, Online Course.


  13. Scala Times Issue #341

    Concurrency In Scala with Cats-Effect. Scala, React, and SSR (part 1). More Algebra of Algebraic Data Types. Akka HTTP 10.2 Release - Q/A with the Akka team. Type-Level Programming in Scala, Part 3.


  14. Scala Times Issue #340

    SoftwareMilling around OSS - Scala Love. More Intuition on Optics. Type-Level Programming in Scala, Part 2. An Introduction to Functional Design. VimtelliJ: All the best of Vim in IntelliJ.


  15. Scala Times Issue #339

    Scala Knowledge Bits Archives. Functional Effects with ZIO. Experiment with Loom. Auto publish sbt plugin from Travis CI. Scala String Interpolation.


  16. Scala Times Issue #338

    ZIO 1.0 Released. Retry Failing Tasks with Cats and Scala. An Intuition for Optics. Evoneering - Scala Bootcamp. How Does "20 seconds" Work in Scala?.


  17. Scala Times Issue #337

    Thinking With Types. IntelliJ Scala Plugin 2020.2 is released!. Announcing Dotty 0.26.0-RC1. A Dive into Configuring Metals · Metals. Life with fatal warnings.


  18. Scala Times Issue #336

    IntelliJ Scala Plugin 2020.2: Auto-import for Implicits. "First Class" Types in Scala 3. What is an Effect?. Writing Angular Services in Scala. Tagless Final - Part 4.2 - Why The F[_].


  19. Scala Times Issue #335

    Actors using Scala & Akka  - Part 2: AskPattern and SpawnProtocol. Railway Oriented Programming in Scala. Mocking endpoints with ZIO sttp. Top Link Of June: A Beginner's Guide to Scala 3.0. Tagless Final - Part 4.1 - Power to the Interpreters!.


  20. Scala Times Issue #334

    Scaling Event Bus. One-click install for Scala. Visual Scala reference. Functional, Type-safe, Testable Microservices with ZIO gRPC, July 16th, Online Webinar. Configuration management in Scala using zio-config, July 23rd, Online Webinar.


  21. Scala Times Issue #333

    Using akka and react to organize your single page scala.js application. Tagless Final - Part 2 - Introduction to the Expression Problem. Functional, Type-safe, Testable Microservices with ZIO gRPC, July 16th, Online Webinar. Configuration management in Scala using zio-config, July 23rd, Online Webinar. Functional Scala Fundamentals, September 1st-3rd, Online Course.


  22. Scala Times Issue #332

    Mastering modularity in ZIO with ZLayers. Scala/Mill: Step 1, Creating a new Mill project. Cats Concurrency basics with Ref and Deferred. Tagless Final - Part 1 - What is Tagless Final?. Getting started with ZIO.


  23. Scala Times Issue #331

    Managing dependencies using ZIO. Scala Programming - The State of Developer Ecosystem in 2020 Infographic. Announcing the Moving from Scala 2 to Scala 3 course. Streaming all the way with ZIO, Doobie, Quill, http4s and fs2. Playing With Scala - Slick.


  24. Scala Times Issue #330

    A Beginner's Guide to Scala 3.0. Opening the fridge with ZIO. Writing functional DSLs for business domains. What Functional Programming Is, What it Isn't, and Why it Matters. Dependent Types in Scala 3.


  25. Scala Times Issue #329

    Addendum to Alex N's blog post on Scala warnings. Scalar 2020 whiteboard voting. Stream Processing with Scala by Itamar Ravid, June 15th, Online Workshop. Essential Effects, June 15-16th, Online Course. Microsphere, June 16th, Online Event.


Organizing an event?
Promote it with
Scala Times.
The Scala Times reader?
Get a banner!
Got a tip?Send it in!
Follow us onTwitter.
Curated bySoftwareMill.
We arehiring.
Andtaking on projects.