sebastiandaschner news

thursday, november 19, 2020

Hello from autumn-weather Vienna and welcome to another newsletter.

It seems I’m repeating myself in how I’m starting these newsletters in this year 2020, but I hope that all of you are well and healthy. Here we went into the second lockdown for this year, similar to many other countries and places, and I once again wanted to point out that we always have the power to choose, to make the best out of a situation, no matter the external circumstances.

I hope you can use this time well, maybe learn some new thing or two, start that side project you thought about for a while, or contribute to some interesting open source projects — if you don’t know which one, let me know, I have many ideas.

Especially if you want to know how to do modern, cloud-native CI/CD with Tekton & ArgoCD, I have something for you :-)


What’s new


Video course on cloud-native CI/CD with Tekton & ArgoCD

A lot of enterprise workloads have been moved to cloud-native environments, with Kubernetes or OpenShift, yet many projects are struggling with updating their Continuous Delivery stack.

I’ve recorded a video course in which I want to show how to implement a proper Continuous Delivery pipeline for modern Enterprise Java projects, using Tekton and ArgoCD. We’re going to see what a non-trivial CI/CD pipeline for a Java project looks like, that includes deploying to different environments and running system as well as smoke tests. We’ll also see what gotchas we might run into and how to troubleshoot our Tekton builds.

The point was that I’ve struggled myself with how to come up with a proper Tekton environment and pipeline, and I wanted to share my experience.

Have a look at the course.


The Effective Developer Podcast

For those of you who follow the Effective Developer podcast, you’ve probably already seen that there are new episodes online in which I interview guests where we have a chat about developer productivity, or Java, or both. The first two of such interviews were with Java Guru Adam Bien and Java Community Leader Steve Chin. Both are not only well-known in the Java ecosystem but also have a lot to share in how to become more effective engineers.

The Effective Developer podcast is available for free on all major podcast platforms, now also on Apple Podcasts. Check it out!


JDK 9 try-with-resource enhancement

The following enhancement has been out there for a while, but I only learned about it earlier this year.

Since JDK 9, we can reference resource variables in try-with-resource blocks, even when the assignment happens before:

Transaction transaction = session.beginTransaction();

try (transaction) {

    // do something

} catch (RuntimeException e) {
    // handle exception

This example uses the Neo4J OGM Transaction API. Thanks to the enhanced try-with-resource block we can access the transaction variable in the catch block, and the close() method will still be reliably invoked.


Thanks a lot for reading and see you next time!


Did you like the content? You can subscribe to the newsletter for free: