Our blog
Lunatech’s
engineer blog
All blog posts
Our different categories
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2023-05-17-advanced-kotlin/background.png)
Exploring Advanced Kotlin Features: A Deep Dive for Scala Developers
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2023-03-31-embrace-kotlin/background.png)
Embrace Kotlin: Tips And Tricks for Scala Developers to Get Started
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2022-04-05-bootiful-zio/background.png)
Bootiful ZIO
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2022-01-03-kryo-pitfalls/background.png)
Pitfalls in Kryo Serialization
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2021-05-14-paying-homage-to-the-compall-michael-representation/background.png)
Paying homage to the Compall-Michael pattern, and anticipating Scala 3 Opaque Types
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2020-11-19-how-to-manage-external-dependencies/background.png)
How to Manage External Dependencies
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2020-09-22-polynote-a-better-notebook-to-scala/background.png)
Polynote, a better notebook for Scala
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2020-01-02-time-range-queries-with-cassandra-and-akka-streams/background.png)
Time range queries with Cassandra and Akka Streams
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2019-11-15-lessons-learned-using-spark-structured-streaming/background.png)
Lessons Learned Using Spark Structured Streaming
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2019-10-28-lunatech-advisory-board-member-at-scala-center/background.png)
Lunatech Advisory Board Member At Scala Center!
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2019-08-27-message-reliability-in-kafka/background.png)
Message Reliability In Kafka
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2019-06-04-guardrail-with-http4s-tutorial/background.png)
Guardrail With Http4s Tutorial
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2018-05-25-scala-days-2018-review/background.png)
Scala Days 2018 review
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2018-05-10-lunatech-platinum-sponsor-scala-days/background.png)
Lunatech Platinum Sponsor Scala Days 2018 Berlin
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2018-02-05-apache-spark-for-scala-training---2nd-session-at-lunatech/background.png)
Apache Spark for Scala Training - 2nd Session at Lunatech
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-12-20-dealing-with-heavy-boxes-(monads)/background.png)
Dealing with heavy boxes (monads)
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2016-10-31-side-effects-and-how-to-deal-with-them/background.png)
Side Effects and How To Deal With Them The Cool Way, Part 2 - Monads Introduction
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2016-10-17-side-effects-and-how-to-deal-with-them/background.png)
Side Effects and How To Deal With Them The Cool Way, Part 1 - Pure functions and functors
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-10-03-play-framework---beginner-tutorial---make-a-post-request/background.png)
Play Framework - Beginner Tutorial - Make a post request and save the form data in Mongodb
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-09-12-a-journey-to-scalacheck/background.png)
A journey to ScalaCheck
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-09-05-shapeless---introduction-resources/background.png)
Shapeless - Introduction resources
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-09-05-shapeless---computing-deltas/background.png)
Shapeless - Computing deltas
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-08-17-moving-from-java-to-scala/background.png)
Moving From Java To Scala
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-08-15-play-framework---how-to-handle-a-big-json-file/background.png)
Play Framework - How to handle a big json file in play ( more than 22 root variables)
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-08-01-continuous-integration-on-gitlab-with-sbt/background.png)
Continuous Integration on GitLab with Scala and SBT
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-07-15-recursion-and-trampolines-in-scala/background.png)
Recursion and Trampolines in Scala
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2016-06-24-meet-and-greet-and-scala-days-review/background.png)
Meet and Greet and Scala Days review
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2016-06-06-summer-fast-track-to-scala-training-by-lunatech/background.png)
Summer Fast Track To Scala Training By Lunatech
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2016-05-26-clever-cloud-s-ceo-to-speak-at-lunatech/background.png)
Clever Cloud’s CEO to speak at Lunatech
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2016-05-16-on-the-road-again---scala-days-berlin-2016/background.png)
On the road again - Scala days Berlin 2016
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2016-01-18-fast-track-to-scala---training/background.png)
Fast Track to Scala - Training
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-07-17-regex-extractors/background.png)
Regex extractors
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2014-03-12-squeryl-activiti-transactions/background.png)
Managing database transactions with Squeryl and Activiti
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2013-07-04-play-securesocial-slick/background.png)
Play 2, SecureSocial and Slick
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-04-20-reflections-scala-days-2012/background.png)
Reflections on Scala Days 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-04-11-play-framework-20-productivity-tips/background.png)
Play Framework 2.0 productivity tips
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2012-03-02-validation-scala/background.png)
Validation in Scala
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-02-21-jfokus-2012-what-are-java-developers/background.png)
Jfokus 2012 - what are Java developers up to?
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-02-08-scala-stockholm/background.png)
Lunatech presents at Scala Stockholm
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2012-02-07-playframework-jfokus-2012/background.png)
Lunatech presents Play at Jfokus 2012
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-11-25-scala-list-extractor-demystified/background.png)
The Scala List extractor demystified
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-10-07-duse-xiv-exploring-lightweight-event-sourcing-slides-available/background.png)
Duse XIV - Exploring Lightweight Event Sourcing
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-10-04-duse-xiv-meetup/background.png)
Duse XIV at Lunatech Research
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media/2011-08-24-scala-ceylon-kotlin-goals/background.png)
Own goals - Scala vs Ceylon vs Kotlin
![](https://raw.githubusercontent.com/lunatech-labs/lunatech-blog/main/media//2010-07-19-literal-datastructures-scala/background.png)
Literal data structures in Scala