Softinio's Notes on Software Engineering - Issue 5
It has been an exciting few weeks since my last newsletter. Java 17 launched with some exciting features. Apache Spark PR to add support for Scala 2.13 got merged. And Kafka 3 was released.
Scala
Spark support for Scala 2.13 is merged 🎉
[SPARK-25075] Build and test Spark against Scala 2.13 - ASF JIRA
Cross-Platform Mobile dev with Scala and Capacitor | by Antoine Doeraene | Jul, 2021 | Medium — antoine-doeraene.medium.com These last years, the trend has been to export web technologies out of the browser, into the desktop (e.g., electron) and more and more into Mobile Applications (e.g., Ionic). Whether or not we like…
Swift
Write a DSL in Swift using result builders - WWDC21 - Videos - Apple Developer — developer.apple.com Some problems are easier to solve by creating a customized programming language, or “domain-specific language.” While creating a DSL...
What are Swift Concurrency’s task local values? – Donny Wals — www.donnywals.com If you've been following along with Swift Concurrency in the past few weeks, you might have come across the term "task local values". Task local values are…
What are monads – Daniel Steinberg on Swiftly Speaking — www.youtube.com In this excerpt from Swiftly Speaking, Daniel Steinberg talks about monads. For the full interview, click here: https://youtu.be/FxUK_RnTpvA?t=29
Java
Java 17 launched on September 14th, 2021. I am pretty excited about this release as it does include some features that I have used in other languages like Scala such as sealed classes and pattern matching using improved switch statements. This release is also LTS. Excited to use Java 17.
Java 17 arrives with long-term support: What's new, and is it falling behind Kotlin? • The Register — www.theregister.com Text blocks, sealed classes, switch expressions, records, and more
Kafka
Apache Kafka 3.0 - Major Improvements, Breaking API Changes, and New Features — www.confluent.io I’m pleased to announce the release of Apache Kafka 3.0 on behalf of the Apache Kafka® community. Apache Kafka 3.0 is a major release in more ways than one. Apache
Other
In defense of blub studies | benkuhn.net Why it’s worth it to deeply understand the fiddly, boring-seeming details of the computer systems you use every day.
Thinking in Events: From Databases to DistributedCollaboration Software
This is the paper associated with the above talk by Martin Kleppmann
Don't Get Stuck in the CON Game (V3) - by Pat Helland - Scattered Thoughts on Distributed Systems — pathelland.substack.com Consistency, convergence, and confluence are not the same! Eventual consistency and eventual convergence aren’t the same as confluence, either.
GraalVM at Facebook. Facebook is using GraalVM to accelerate… | by Alina Yurenko | graalvm | Jul, 2021 | Medium — medium.com Facebook is using GraalVM to accelerate its Spark workloads and reduce memory & CPU usage. Keep reading to learn about their migration story, performance improvement results, and future plans.
Category Theory
Discovered a new YouTube channel on Category Theory