Emmanuel Nhan
enhan.eu
Emmanuel Nhan
@enhan.eu
Backend software developer. Special interest in Functional Programming. Scala for work.
Husband and father.
Pactice 🇻🇳 Vovinam Việt Võ Đạo
Apparently AFOL

https://pronoun.is/he/
https://enhan.ghost.io
Reposted by Emmanuel Nhan
🎉 Unison 1.0 has landed!

After years of engineering, design, and community collaboration, we’re excited to announce this milestone!

Spread the word!
Announcing Unison 1.0
After years of engineering, design, and community collaboration, we're excited to release Unison 1.0. This version delivers a refined programming workflow and a mature toolchain. Join us as we celebrate this milestone and look ahead to the future of Unison.
www.unison-lang.org
November 25, 2025 at 7:01 PM
Reposted by Emmanuel Nhan
☃️ It’s almost Advent of Code time again!
🧝 Exercise your brain, practice your Scala, help the elves
🧠 We will be posting solutions and explanations daily on our website
💌 You may share your own solutions there (and discuss on Discord)
details: www.scala-lang.org/blog/2025/1...
Join us for the Advent of Code 2025
www.scala-lang.org
November 24, 2025 at 1:18 AM
Going down the rabbit hole with netty and io_uring 🙈... let's see how deep I'll end
October 29, 2025 at 11:26 PM
Reposted by Emmanuel Nhan
Scala 2.13.17 is here! It improves compatibility with JDK 25 LTS, supports Scala 3.7, improves Scala 3 compatibility and migration, and more.

It also has a few minor potentially breaking changes.

For details, refer to the release notes on GitHub: github.com/scala/scala...
Release Scala 2.13.17 · scala/scala
The Scala team at Akka is pleased to announce Scala 2.13.17. This release is compatible with the new JDK 25 LTS. The following are highlights of this release: Compatibility JDK 25 support in optim...
github.com
October 7, 2025 at 2:22 AM
Reposted by Emmanuel Nhan
Type Gymnastics with Builder Pattern
blog.rhetoricalmusings.com/posts/builde...
Type Gymnastics with Builder Pattern
blog.rhetoricalmusings.com
October 4, 2025 at 3:59 PM
Reposted by Emmanuel Nhan
🎉 The Ktor @opentelemetry.io integration doc is now live - ktor.io/docs/server-... #kotlin #otel
Distributed tracing with OpenTelemetry in Ktor Server | Ktor
ktor.io
September 24, 2025 at 2:25 PM
I started to use my blog as my personal doc. Here is my how to in k8s (it has only one entry) : www.enhan.eu/my-k8s-howtos/ . Let's see how far it'll grow...
My k8s howtos
At work, we deploy on Kubernetes clusters using terraform. From a developer perspective, from writing code to running in production, those technologies make it incredibly fast. Yet sometimes it can ta...
www.enhan.eu
September 22, 2025 at 10:18 PM
TIL #Java is getting typeclasses 😲 (source : youtu.be/Gz7Or9C0TpM?... ). My last line of Java might have 7 years old, but it's super nice to see that it's a still growing language.
Growing the Java Language #JVMLS
YouTube video by Java
youtu.be
August 29, 2025 at 8:57 AM
Reposted by Emmanuel Nhan
Gave an internal talk on variance in Scala last week. No video, slides and article here:

https://rossabaker.com/presentations/understanding-scala-variance/

#scala
Ross A. Baker: Understanding Scala Variance
rossabaker.com
July 25, 2025 at 3:27 PM
Pretty sure it is not a good idea to mess around with terraform k8s provider(s) blocks at 1am 🤔
July 21, 2025 at 10:46 PM
Currently writing a #Scala (basic) implementation of the #Kafka protocol as part of our internal hackathon. I said it before but I'm saying it again : scodec is amazing !
March 28, 2025 at 11:30 AM
A fe days ago, Kafka 4.0.0 was released. And look what's in it : the Early Access for KIP-932 : Queues for Kafka ! Quite hyped about this one I must admit #kafka
cwiki.apache.org/confluence/d...
Queues for Kafka (KIP-932) - Early Access Release Notes - Apache Kafka - Apache Software Foundation
cwiki.apache.org
March 27, 2025 at 10:51 AM
Cats-effect 3.6.0 is here ! Congrats team ! So many exciting things in there : github.com/typelevel/ca... #scala #typelevel
Release v3.6.0 · typelevel/cats-effect
This is the fifty-fifth release in the Cats Effect 3.x lineage. It is fully binary compatible with every 3.x release and fully source-compatible with the 3.6.x lineage. Please note that we did brea...
github.com
March 24, 2025 at 5:01 AM
Reposted by Emmanuel Nhan
Do you know that #Scala `Console.println` can't fail with an IOException? It uses #Java `PrintStream` under the hood, and in case of failure, it does so silently.

Here is why (it was a design decision): stackoverflow.com/questions/29...
PrintWriter and PrintStream never throw IOExceptions
Some days ago I realized that PrintWriter (as well as PrintStream) never throw an IOException when writing, flushing or closing. Instead it sets an internal flag (trouble=true) when an error occur...
stackoverflow.com
January 20, 2025 at 4:20 PM
Reposted by Emmanuel Nhan
🚀 Scala 2.13.16 is here! This release improves compatibility with JDK 24, supports Scala 3.6, improves Scala 3 cross-building and migration, and more. There are also a few minor breaking changes. Details: github.com/scala/scala/...
Release Scala 2.13.16 · scala/scala
The Scala team at Akka (formerly Lightbend) is pleased to announce Scala 2.13.16. The following changes are highlights of this release: Breaking change On the empty string, .tail and .init now thr...
github.com
January 16, 2025 at 12:01 AM
Reposted by Emmanuel Nhan
What mandatory code reviews can do to a team. It happens often, it is really easy to fall in those traps. But it does not have to be that way, you can transform them into a great collaboration tool
unhandledexpression.com/what-we-owe-...
January 13, 2025 at 9:52 AM
Before 2025, I wanted to blog about
tooling and pieces of software that make my life way better as a Scala developer. Big thanks to their developers out there 🙏
www.enhan.eu/gems-in-the-...
Gems in the Scala Ecosystem
Years ago, I used to think "Scala tooling is nonexistent or bad". I've been too deep in the Scala world to compare accurately with other languages, yet I feel, as 2024 is coming to an end, that Scala ...
www.enhan.eu
December 27, 2024 at 7:54 AM
Reposted by Emmanuel Nhan
I propose we replace semantic versioning with pride versioning
December 21, 2024 at 7:07 PM
Reposted by Emmanuel Nhan
Can OO and FP be reconciled? Probably not.

But day 11 of advent of papers provides a super interesting take on a version of OO that is completely compatible with immutability and purity. On Understanding Data Abstraction, Revisited by William Cook.

jimmyhmiller.github.io/advent-of-pa...
On Understanding Data Abstraction, Revisited
What if you could have your beautiful immutability, but keep object oriented programming?
jimmyhmiller.github.io
December 12, 2024 at 4:18 AM
Reposted by Emmanuel Nhan
📯 Scala 3.6 is out!
💪 Improved syntax for givens, context bounds (SIP-64)
💪 Multiple, interleaved type parameter lists (SIP-47)
🧪 Experimental features, such as named tuples
🎉 and more; details: scala-lang.org/news/3.6.2
⚠️ use 3.6.2; ignore 3.6.1 and 3.6.0
December 11, 2024 at 4:52 PM
Reposted by Emmanuel Nhan
Le JUG Toulouse est sur Bluesky : @toulousejug.bsky.social
December 10, 2024 at 5:48 PM
Reposted by Emmanuel Nhan
🦃 for cyber monday sales, sbt 1.10.6 is now available at $0

sbt 1.10.6 features:
- Coursier 2.1.19, which includes resolution changes related to Maven BOM (bill of materials)
- Fix to Ctrl-C (cancelling)
eed3si9n.com/sbt-1.10.6 #Scala
sbt 1.10.6 · eed3si9n
eed3si9n.com
November 30, 2024 at 7:50 AM