Lanky Dan Blog

Java friendly Kotlin - default arguments

June 25, 2020
kotlinjava

Kotlin functions and constructors can define default arguments, allowing calls to them to skip any argument that has a default value. This…

Transaction savepoints in Spring JDBC

June 14, 2020
springspring dataspring data jdbckotlinjava

Savepoints allow you to create markers within a transaction which you can rollback to, without preventing the transaction from being…

Cancelling coroutines

May 11, 2020
kotlincoroutines

Sooner or later, you will need to cancel a coroutine that you started. Let’s look at how you can do just that. How to cancel a job One of…

Waiting for coroutines

April 26, 2020
kotlincoroutines

Coroutines allow you to execute tasks asynchronously without blocking the calling thread, such as the main thread. Great, but sometimes you…

Launching your coroutine knowledge

April 17, 2020
kotlincoroutines

Coroutines are essentially lightweight threads that allow your applications to squeeze more juice out of the machines they are running on…

Java friendly Kotlin - static functions

March 18, 2020
kotlinjava

In this post, we will look at writing static functions in Kotlin that treat Java callers as first-class citizens. Recap There are three ways…

Defined by failure - How failure fueled my improvement

February 27, 2020
personal

I am going to go with a more personal blog post today. This is something that I have wanted to write for several years now. Better late than…

Calling Java Functional Interfaces from Kotlin

February 10, 2020
kotlinjava

Basics Below is a Functional Interface defined in Java: Note, that an interface does not need to be annotated with to be treated as one. In…

Serializable Java Lambdas

January 24, 2020
javakryolambdasfunctions

Recently I was presented with the following error when serializing a lambda with Kryo: If you do not recognise the syntax, don’t worry, it…

Responder flow validation (part 3 - overriding)

January 06, 2020
cordakotlindltdistributed ledger technologyblockchain

To finish off my trilogy of blog posts on including validation inside your responder flows, I present to you the final topic. How to…