A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
September 5th, 2024, ISSUE 548

READING

Perfect Tab Completions

Tab completions are usually added to CLI applications, one shell at a time, as (welcome) afterthoughts by other developers who know how to write them, but who may not be so proactive in maintaining them. I want to fix that with a library I've been developing over the last few years: Exoskeleton.
Jon Pretty (@propensive)
David's programming examples knowledge base

A huge repository of various code examples in Scala, categorized.
Crosson David (@crodav)
Writing an Android app with Scala.js

There are still alternative ways to write Android apps. One of the simplest (which is what I'll be writing about) is using Scala.js and Electron. While Electron apps are not ideal, this approach is still good enough for most small applications. So, here's a post about what went well and what went wrong during this process. Hopefully this will be helpful to others wanting to write an app in Scala.
João D. Costa (@JD557)
com.lihaoyi issue bounties, September 2024 edition

September's bounties are all Mill themed, around fleshing out Mill's usability from Java and other languages. None of them require deep knowledge of Mill internals, and are suitable for even casual users to pick up and try and implement. They are a non-trivial amount of work, and the bounty values reflect that to try and make it worthwhile
Li Haoyi (@li_haoyi)
huge performance boost for sbt-git

Yesterday I was profiling sbt loading time and I found that sbt-git was using about 40% of the CPU time.
Adrien Piquerez (@adrienpi2)

EVENTS

Unison Forall, Sept 20th, remote conference

Whether you're a seasoned Unison developer or just curious about the future of programming, this conference is a chance to explore the friendly and powerful world of Unison, a language designed from the ground up to simplify modern software development.
Unison (@unisonweb)
Lambda World. Oct 2nd - 4th, Cadiz, Spain

Don't miss he largest Functional programming event in South Europe!
Lambda World (@lambda_world)
Call for Speakers - Art of Scala, Oct 10th, Warsaw, Poland

Don't miss this live (+online) Scala conference in a great venue in central Warsaw! Call for Speakers ends Sept 10th.
Evolution Engineering + ScalaWAW
Scala.IO, Nov 7th-8th, Paris

This edition brings us together in Paris for two days, with a multi-session structure and a large community space. With a great venue, wonderful speakers, and a lot of surprises, we are looking forward to meeting you there!
Scala.IO (@ScalaIO_FR)

RELEASES

Helenus v1.0.0

Helenus is collection of Scala utilities for Apache Cassandra. This release is the first major one for Scala 3.
Gustavo De Micheli (@nMoncho)
Scala 2.12.20

This release improves compatibility and compiler-profiling.
Scala contributors
Apache Pekko 1.1.0

Bugfixes, additional APIs, and a lot of other changes.
Apache Pekko contributors





  1. Scala Times Issue #549

    Capabilities for Control. Scalar 2025 Call for Papers is open!. Unison Forall, Sept 20th, remote conference. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Call for Speakers - Art of Scala, Oct 10th, Warsaw, Poland.


  2. Scala Times Issue #548

    Perfect Tab Completions. David's programming examples knowledge base. Writing an Android app with Scala.js. Unison Forall, Sept 20th, remote conference. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  3. Scala Times Issue #547

    Streaming Hash Computations. Launch Scala, faster than Native. Distributed locks in Kubernetes with Scala. The Future Software Engineer. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  4. Scala Times Issue #546

    Upcoming Changes to Givens in Scala 3.7. Unexpected Scala Functions: groupMap. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Call for Speakers - Art of Scala, Oct 10th, Warsaw, Poland. Scala.IO, Nov 7th-8th, Paris.


  5. Scala Times Issue #545

    ZIO-like dependency injection using implicit resolution. The Mechanics of Mitigation. Publishing test traces to Grafana using otel4s and weaver. Announcing Decisions4s: When Ifs Are Not Enough. State of structural typing support in Scala 3.3.0.


  6. Scala Times Issue #544

    Direct-style Bootzooka: 2024 update | SoftwareMill. The Tri-Z Architecture: a Pattern for Layering ZIO Applications in Scala. The Error Management Manifesto. Migrating to Safety. Benchmarking database sharding in Akka | @lightbend.


  7. Scala Times Issue #543

    Lambda World. Oct 2nd - 4th, Cadiz, Spain. Metals v1.3.4 - Thallium | Metals.


  8. Scala Times Issue #542

    Effective Error Handling. Developer Ecosystem Survey 2024. Pseudorandom Acts of Kindness. Scala 3 Metaprogramming Learning Resources. Scala to WebAssembly: How and Why.


  9. Scala Times Issue #541

    Tapir documentation improvements. Checked exceptions: fixed!. Use cases for Scala. ScalaWAW #33 - beach party! Jul 25th. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  10. Scala Times Issue #540

    PureConfig with Scala 3 - Tutorial. Developer Experience in Open Source Software. "Learn Functional Programming The Fast Way!" PDF is free. ScalaBridge London @ SiriusXM!, Jul 18th. ScalaWAW #33 - beach party! Jul 25th.


  11. Scala Times Issue #539

    YAML as a valid Scala 3 code. ExecutionContext.parasitic and Friends. ScalaBridge London @ SiriusXM!, Jul 18th. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Faster and less mysterious sbt builds with Develocity.


  12. Scala Times Issue #538

    Make Impossible States Unrepresentable: Network Edition!. Ten things I like about Scala 3. Compiling Bad Code. The ZIO 2 “mental model”. JetBrains course: Functional Programming in Scala.


  13. Scala Times Issue #537

    A Logic Circuit Simulator with Cats-Actors. Magda Stożek - My Scala Story. Lambda World. Oct 2nd - 4th, Cadiz, Spain. ScalaBridge London Jun 20th, 2024. Armored type safety with Iron.


  14. Scala Times Issue #536

    Scala 3 improvements in Metals (and hopefully, IntelliJ IDEA). Purify Your Tests III: Lean, Mean Testing Machine. 12 years of the com.lihaoyi Scala Platform. Scala Is Not Going Anywhere. OpenTelemetry With Scala Futures.


  15. Scala Times Issue #535

    GraphQL in Scala: Role-Based Access Control. WebSocket chat using structured concurrency, Ox & Tapir. Tapir tutorials, part 1. Scala 2.13 LTS planning. A Sighting of filterA in Typelevel Rite of Passage.


  16. Scala Times Issue #534

    Lagom is approaching end of life: possible migration paths. WebSockets in Scala, Part 2: Integrating Redis and PostgreSQL. Scala service combined with PostgreSQL, Flyway, Doobie, Ciris, IO(Cats Effects), Http4s…. Akka 24.05: More Security. More Performance. More Efficiency.. Forking and Interruption in ZIO.


  17. 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.


  18. 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.


  19. 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.


  20. 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.


  21. 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.


  22. 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.


  23. 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.


  24. 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.


  25. 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).


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.