www.morling.dev Open in urlscan Pro
2606:50c0:8002::153  Public Scan

Submitted URL: http://www.morling.dev/
Effective URL: https://www.morling.dev/
Submission: On March 24 via manual from US — Scanned from DE

Form analysis 2 forms found in the DOM

<form id="myForm">
  <input type="text" id="inputSearch" name="q" placeholder="Search..." onfocus="warmUp(this)">
  <button type="submit" id="buttonSubmitSearch" style="line-height: normal;"><i id="iconSearch" class="fa fa-search"></i></button>
</form>

<form id="myFormMobile">
  <input type="text" id="inputSearchMobile" name="q" placeholder="Search..." onfocus="warmUp(this)">
  <button type="submit" id="buttonSubmitSearchMobile" style="line-height: normal;"><i id="iconSearchMobile" class="fa fa-search"></i></button>
</form>

Text Content

GUNNAR MORLING


RANDOM MUSINGS ON ALL THINGS SOFTWARE ENGINEERING

 * 
 * 
 * 

 * Blog
 * Projects
 * Conferences
 * Podcasts
 * About




GUNNAR MORLING


RANDOM MUSINGS ON ALL THINGS SOFTWARE ENGINEERING

 * 
 * 
 * 

 * Blog
 * Projects
 * Conferences
 * Podcasts
 * About




RECENT POSTS

Mar 10, 2022

THE CODE REVIEW PYRAMID

When it comes to code reviews, it’s a common phenomenon that there is much focus
and long-winded discussions around mundane aspects like code formatting and
style, whereas important aspects (does the code change do what it is supposed to
do, is it performant, is it backwards-compatible for existing clients, and many
others) tend to get less attention. To raise awareness for the issue and
providing some guidance on aspects to focus on, I shared a small visual on
Twitter the other day, which I called the "

Read More...

Feb 20, 2022

THE JDK FLIGHT RECORDER FILE FORMAT

The JDK Flight Recorder (JFR) is one of Java’s secret weapons; deeply integrated
into the Hotspot VM, it’s a high-performance event collection framework, which
lets you collect metrics on runtime aspects like object allocation and garbage
collection, class loading, file and network I/O, and lock contention, do method
profiling, and much more. JFR data is persisted in recording files (since Java
14, also "realtime" event streaming is supported), which can be loaded for
analysis into tools like JDK Mission Control (JMC), or the jfr utility coming
with OpenJDK itself.

Read More...

Jan 12, 2022

WHAT'S IN A GOOD ERROR MESSAGE?

Update Jan 13: This post is discussed on Reddit Update Feb 7: This post is
discussed on Hacker News As software developers, we’ve all come across those
annoying, not-so-useful error messages when using some library or framework:
"Couldn’t parse config file", "Lacking permission for this operation", etc. Ok,
ok, so something went wrong apparently; but what exactly? What config file?
Which permissions? And what should you do about it? Error messages lacking this
kind of information quickly create a feeling of frustration and helplessness. So
what makes a good error message then? To me, it boils down to three pieces of
information which should be conveyed by an error message: Context: What led to
the error? What was the code trying to do when it failed? The error itself: What
exactly failed? Mitigation: What needs to be done in order to overcome the
error?

Read More...

Dec 21, 2021

ANNOUNCING THE FIRST RELEASE OF KCCTL

🧸 It’s Casey. Casey Cuddle. I am very happy to announce the first stable
release of kcctl, a modern and intuitive command line client for Apache Kafka
Connect! Forget about having to memorize and type the right REST API paths and
curl flags; with kcctl, managing your Kafka connectors is done via concise and
logically structured commands, modeled after the semantics of the kubectl tool
known from Kubernetes.

Read More...

Dec 2, 2021

INTRODUCING THE OSS QUICKSTART ARCHETYPE

I am very happy to announce the availability of the OSS Quickstart Archetype!
Part of the ModiTect family of open-source projects, this is a Maven archetype
which makes it very easy to bootstrap new Maven-based open-source projects,
satisfying common requirements such as configuring plug-in versions, and
adhering to best practices like auto-formatting the source code. Think Maven
Quickstart Archetype and friends, but more modern, complete, and opinionated.

Read More...

Nov 29, 2021

O KAFKA, WHERE ART THOU?

The other day, I came across an interesting thread in the Java sub-reddit, with
someone asking: "Has anyone attempted to write logs directly to Kafka?". This
triggered a number of thoughts and questions for myself, in particular how one
should deal in an application when an attempt to send messages to Kafka fails,
for instance due to some network connectivity issue? What do you do when you
cannot reach the Kafka broker?

Read More...

Nov 22, 2021

REFINING THE RETURN TYPE OF JAVA METHODS WITHOUT BREAKING
BACKWARDS-COMPATIBILITY

If you work on any kind of software library, ensuring backwards-compatibility is
a key concern: if there’s one thing which users really dislike, it is breaking
changes in a new version of a library. The rules of what can (and cannot) be
changed in a Java API without breaking existing consumers are well defined in
the Java language specification (JLS), but things can get pretty interesting in
certain corner cases. The Eclipse team provides a comprehensive overview about
API evolution guidelines in their wiki. When I shared the link to this great
resource on Twitter the other day, I received an interesting reply from Lukas
Eder: I wish Java had a few tools to prevent some cases of binary compatibility
breakages. E.g. when refining a method return type, I’d like to keep the old
method around in byte code (but not in source code). I think kotlin has such
tools? In the remainder of this post, I’d like to provide some more insight into
that problem mentioned by Lukas, and how it can be addressed using an
open-source tool called Bridger.

Read More...

Nov 12, 2021

JDK FLIGHT RECORDER EVENTS IN GRAALVM NATIVE BINARIES

If you have followed this blog for a while, you’ll know that I am a big fan of
JDK Flight Recorder (JFR), the low-overhead diagnostics and profiling framework
built into the HotSpot Java virtual machine. And indeed, until recently, this
meant only HotSpot: Folks compiling their Java applications into GraalVM native
binaries could not benefit from all the JFR goodness so far.

Read More...

Nov 2, 2021

DEBEZIUM AND FRIENDS – CONFERENCE TALKS 2021

If you love to attend conferences around the world without actually leaving the
comfort of your house, 2021 certainly was (and is!) a perfect year for you. Tons
of online conferences, many of them available for free, are hosting talks on all
kinds of topics, and virtual conference platforms are getting better, too. As
the year is slowly reaching its end, I thought it might be nice to do a quick
recap and gather in one place all the talks on Debezium and change data capture
(CDC) which I did in 2021.

Read More...

Oct 24, 2021

WHAT'S ON MY DESK?

I’ve been working from home exclusively for the last nine years, but it was only
last year that I started to look into ways for expanding my computer set-up and
go beyond the usual combination of having a laptop with your regular external
screen. The global COVID-19 pandemic, the prospect of having more calls with
colleagues than ever (no physical meetings), and the constantly increasing need
for recording talks for online conferences and meet-ups made me reevaluate
things and steadily improve and fine tune my set-up, in particular in regards to
better video and audio quality.

Read More...

 * 
 * Next page →

© 2021 Gunnar Morling | Licensed Under Creative Commons BY-SA 4.0