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
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
Let's use this first post to highlight scala-cli.virtuslab.org , one of the (many) gems you can find in the Scala ecosystem ! #scala #tooling
Scala CLI | Scala CLI
More featureful Scala Command-Line
scala-cli.virtuslab.org
November 21, 2024 at 9:54 PM