A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
February 8th, 2024, ISSUE 518

READING

Scala Center Roadmap for 2024

See what are the plans regarding language, compiler, standard library, documentation, MOOCs, developer experience, and community and contributor experience.
Scala Center (@scala_lang)
Maciej Gorywoda - My Scala Story

Maciej Gorywoda is a Product Marketing Manager at JetBrains, IntelliJ Scala Plugin team. You can follow him on X and YouTube.
Maciej Gorywoda (@makingthematrix)
Vladyslav Pekker - My Scala Story

We invited Scala experts to share their Scala Stories. Vladyslav Pekker is a CTO and content creator, you you may recognize him from the DevInsideYou project.
Vladyslav Pekker (@DevInsideYou)
Nicolas Rinaudo - My Scala Story

Nicolas Rinaudo, Scala Developer, author, and sole maintainer of a few useful OSS libraries, such as kantan.csv, is sharing his thoughts with us!
Nicolas Rinaudo (@NicolasRinaudo)
Adam Warski - My Scala Story

Adam Warski is a Scala & Distributed Systems Expert, CTO and co-founder of SoftwareMill, OSS Developer.
Adam Warski (@adamwarski)
Composable concurrency scope of ZIO Semaphore

I am very impressed by ZIO's Scope and it's apt usecase in Semaphore. So much power yet so simple to compose.
Bilal Fazlani (@bilal_fazlani)

VIDEOS

Helenus v1 4 Async API Demo Session

Helenus is collection of Scala utilities for Apache Cassandra. Its goal is to make interacting with Cassandra easier, in a type-safe manner, while trying to avoid introducing a complex API.
Gustavo De Micheli (@nMoncho)
How to gently introduce an FP library

You cannot bring a library with a whole new paradigm and convince people to use it out of the blue. But you can bring a new library that delivers value right away.
Yevhenii Zelenskyi (@impurepics)

EVENTS

Scala IO, Feb 15th-16th, Nantes, France

Save the date!
ScalaIO (@ScalaIO_FR)
Functional stream processing workshop before Scalar, Mar 20th, Warsaw, Poland

Stream processing lies at the heart of many complex problems. Learn to solve them with fs2, the most sophisticated functional streaming library. This workshop will demystify the art of functional stream programming. We’ll see how cats-effect and fs2 excel in event-driven architectures and tackle complex concurrency challenges; all the while maintaining performance, resource safety and error recovery. As a final challenge, we’ll use our knowledge of event-driven systems and concurrent processes to code and animate a simulation game in Scala 3.
Zainab Ali (@_zainabali_)
Full-stack Scala 3 with the ZIO stack workshop before Scalar, Mar 20th, Warsaw, Poland

Lear about structuring a full-stack application for the ZIO stack; writing effectful, purely-functional modules for database interaction and web servers; separating business logic from the "operational" parts of an application; adding configuration, testing, refactoring; integrating Laminar with ZIO for a powerful frontend, on top of ScalaJS; adding full-stack features to an application; understanding patterns and anti-patterns while working with ZIO; building and configuring for dev, staging, prod.
Daniel Ciocîrlan (@rockthejvm)
Scalar, March 21st - 22nd, Warsaw, Poland

Join the greatest Scala conference in Central Europe!
Scalar Conference (@scalarconf)
LambdaConf, May 4th-10th, Estes Park, Colorado

Get ready!
LambdaConf (@lambda_conf)
ScalaMatsuri CFP, June 7th-9th, Tokyo, Japan

The CFP will close at February 24, 2024 (Saturday) at 23:59.
ScalaMatsuri (@ScalaMatsuri)

RELEASES

tapir 1.9.9

With some fixes and dependency updates. Also notable: Memory leak fixes for netty-cats and netty-zio in 1.9.8.
tapir contibutors
Debug as an Effect (DaaE)

Tiny debugger, implemented with Algebraic Effects. Inspired by stepwise for Unison language.
marcinzh
mainargs 0.6.1

MainArgs is a small, dependency-free library for command line argument parsing in Scala.
Li Haoyi (@li_haoyi)





  1. Scala Times Issue #533

    Apache Pekko becomes a Top-Level Project. Scala Meetup at Evolution. Purify Your Tests: 2 Parametric, 2 Declarative. Introducing TARP Stack – Tapir, React and PostgreSQL. IO effect tracking using Ox.


  2. Scala Times Issue #532

    Duchess at Scala.io. Purify Your Tests. Tuning ZIO for high performance. JetBrains Joins the Scala Center Advisory Board!. Introducing com-lihaoyi Issue Bounties.


  3. Scala Times Issue #531

    Que es un Higher-Kinded Type de Scala?. ScalaMatsuri, June 7th-9th, Tokyo, Japan. Custom-compile errors with a venegance. Data Engineering at Netflix using Apache Spark and Flink.


  4. Scala Times Issue #530

    Direct-style Effects Explained. How to build AI apps with Scala 3 & Besom. Spec-first and code-first, hand in hand. ScalaMatsuri, June 7th-9th, Tokyo, Japan. Direct Style Scala Stack - An Experiment.


  5. Scala Times Issue #529

    Jacek Kunicki - My Scala Story. Kalix tutorial: Building invoice application. Safe direct-style Scala: Ox 0.1.0 released. LambdaConf, May 4th-10th, Estes Park, Colorado. LambdaConf - The Grand Hackathon Finale, May 10th.


  6. Scala Times Issue #528

    Lean Scala: Reddit discussion. Learn Functional Programming The Fast Way!. Caliban on Tailcalls's GraphQL benchmarks. LambdaConf, May 4th-10th, Estes Park, Colorado. LambdaConf - The Grand Hackathon Finale, May 10th.


  7. Scala Times Issue #527

    How implicits are useful . ScalaWAW #32, Apr 18th, Warsaw. LambdaConf, May 4th-10th, Estes Park, Colorado. LambdaConf - The Grand Hackathon Finale, May 10th. ScalaMatsuri, June 7th-9th, Tokyo, Japan.


  8. Scala Times Issue #526

    Announcing the Scala Ambassadors initiative. Supporting high-performance response streaming in Shardcake. IntelliJ Scala Plugin 2024.1 Is Out!. LambdaConf, May 4th-10th, Estes Park, Colorado. ScalaMatsuri, June 7th-9th, Tokyo, Japan.


  9. Scala Times Issue #525

    Scams in the Scala Community update. Why we bet on Scala at SwissBorg. Capture Checking in Scala 3.4. Why Effects libs? . Benchmarking Tapir: Part 3 (Loom).


  10. Scala Times Issue #524

    Tapir dropping Scala 2.12 support. Scala 3 Roadmap for 2024. Leveraging sbt remote caching on a big modular monolith. Krzysztof Ciesielski - My Scala Story. The Montréal Effect: Why Programming Languages Need a Style Czar.


  11. Scala Times Issue #523

    Zainab Ali - My Scala Story. Handling errors in direct-style Scala. Scala 3.3.2 post-mortem analysis. Distributed Context Propagation with otel4s. Pre-SIP: Improve Syntax for Context Bounds and Givens.


  12. Scala Times Issue #522

    The Functional Programming in Scala Course Is Out!. Shipping your code to cloud with Scala, Besom and Pulumi. Flavors of shared state in Cats Effect. Pekko Akka Compatibility. Benchmarking Tapir: Part 2.


  13. Scala Times Issue #521

    What to do with your End Of Life Akka?. Introducing Playwright-jsEnv for unit testing in scala-js environments. The holy graal of GitHub Actions. Gabriel Volpe - My Scala Story. Game development in Scala.js with David Smith.


  14. Scala Times Issue #520

    My team built and productionized a custom rate limiter in Scala. Benchmarking Tapir: Part 1. WebSockets in Http4s. Improving my Distributed System with Scala 3 (Part 2). Tomas Mikula - My Scala Story.


  15. Scala Times Issue #519

    Debugging session #1: zio-logging & quill. Scala Developer Advocate open hours - AMA . Better Shell Scripting with Scala-CLI. C-style for loops in Scala 3. Paweł Marks - My Scala Story.


  16. Scala Times Issue #518

    Scala Center Roadmap for 2024. Maciej Gorywoda - My Scala Story. Vladyslav Pekker - My Scala Story. Nicolas Rinaudo - My Scala Story. Adam Warski - My Scala Story.


  17. Scala Times Issue #517

    #1BRC in Scala & Scala-Native. Errors happen. Can we get rid of them using ZIO Test?. Scala IO, Feb 15th-16th, Nantes, France. Functional stream processing workshop before Scalar, Mar 20th, Warsaw, Poland. Scalar, March 21st - 22nd, Warsaw, Poland.


  18. Scala Times Issue #516

    GraphQL in Scala: Handling side effects. Type class constraints in object algebras. Migrating event sourced Akka application from CockroachDB to AlloyDB. Jakub Kozłowski - My Scala Story. Scala 3: My migration journey.


  19. Scala Times Issue #515

    Deriving Tail Recursive Fibonacci. Virtual Threads Looming with Adam Warski. Scala Meetup, Jan 31st, Hamburg, Germany. Scala Meetup @ MOIA feat. VirtusLab, Feb 1st, Berlin, Germany. Scala IO, Feb 15th-16th, Nantes, France.


  20. Scala Times Issue #514

    Kotlin from Scala perspective: Advent Of Code 2023. Partially applied functions and currying. GraphQL in Scala: Advanced Schema Generation. Async File IO. Update NextDNS with a Scala CLI script.


  21. Scala Times Issue #513

    Scala 2 Macro Tutorial. A Beginner's Guide to GraphQL in Scala. Writing modular application using the Kyo library. What Can Scala Learn from Rust?. Scala IO 2024, Feb 15th-16th, Nantes, France.


  22. Scala Times Issue #512

    Scala's great ecosystem. What Can Scala Learn from Rust?. Scala IO 2024, Feb 15th-16th, Nantes, France. Scalar 2024 CFP, March 21st-22nd, Warsaw, Poland. LambdaConf 2024, May 4th-10th, Estes Park, Colorado.


  23. Scala Times Issue #511

    Designing a (yet another) retry API. The compilation cost of implicits. Scala Survey Results 2023. Get started with Scala. The X-Ray Mode.


  24. Scala Times Issue #510

    IntelliJ Scala Plugin 2023.3. How to avoid For-Comprehension Pitfalls in Scala. My migration journey. #89 Algebraic Effects with Kyo: Happy Path Programming. Scala in the City, Dec 14th, London.


  25. Scala Times Issue #509

    Type class derivation with ZIO Schema. Scala traits vs enums for ADTs. Practical Type-Level Programming in Scala 3. Extension of Erased Values in Scala 3. For-Comprehension Use Cases in Scala.


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 by SoftwareMill.
We are hiring.
And taking on projects.