As software engineers, we are constantly challenged to explain what we do and how we do it.
This communication challenge becomes even more pronounced when we talk to non-technical stakeholders.
Now that AI is enabling us to produce more than ever before, this problem has become even greater.
But how do we effectively convey complex technical concepts to a non-technical audience?
Continue reading →
The world is changed.
I feel it in the water.
I feel it in the earth.
I smell it in the air.
Much that once was is lost, for none now live who remember it.
— Galadriel (The Fellowship of the Ring)
Continue reading →
Jim is a guy who never stops exploring.
A couple of years ago, he dove into dependency injection.
But now, all of a sudden, something else hit him.
Event systems are pretty common these days.
As a Spring guy, he’s been using events for ages, but now he feels the need to know how they actually work under the hood.
So, how do they actually work?
Continue reading →
Within the JVM community, once in a while somebody jokes about getting old and therefore needing to start learning COBOL.
Usually, someone responds that there are indeed some “precious older people” who wrote COBOL, or dare I say it, still write COBOL today.
For me, COBOL has always sounded like a relic of the past.
Something you read about, not something you seriously consider learning.
But lately, I have been hearing rumours about companies starting to recruit new employees specifically to fill COBOL vacancies.
That triggered me hard enough to start wondering.
Can I actually run COBOL on my own laptop today, and if so, can I have a reasonably nice developer experience while doing so?
Continue reading →
The day before yesterday, I had the opportunity to attend Kotlin Dev Day.
The event featured five parallel lanes, so my experience reflects just one perspective, yours could be completely different.
Join me as I share the highlights of my day!
Continue reading →
If you want to use AI for coding, there are plenty of tools to choose from.
Popular options include GitHub Copilot, Claude Code, and Gemini.
But what if you’d rather not send your code to external services?
Now that computers are becoming more powerful, is it possible to run a large language model locally and use it as your own coding assistant?
Continue reading →
Modern CSS gives us powerful math functions to simplify layout logic that used to require media queries.
One of these is the min() function.
With min() we can define a property that depends on multiple values, and the browser will automatically use the smallest one.
This helps us write more responsive and maintainable styles.
Continue reading →
The waves crash upon Eilean Draoidheachd, the Island of Magic.
From the mainland it is little more than a shadow, forever veiled in mist and salt-born fog.
Sailors whisper that it is cursed, that the storm itself makes its home there.
Others speak of endless wind and rain, bound to that shore by some forgotten spell.
But the islanders know better.
They tell of An Naoimh, the Holy One, whose breath stirs the clouds and whose voice moves the sea.
Some still name her An Cailleach, the ancient crone who weaves her will through storm and silence alike.
And when the waves rise higher than the cliffs, they say she is speaking again, chanting her spells into the wind.
Continue reading →
Sometimes it happens.
You stumble upon something that feels brand new to you — only to find out it’s been around for years.
When I joined Moderne and started working with its OpenRewrite framework, this exact thing happened.
I discovered the Java Service Provider Interface (SPI), a native mechanism in Java that enables plugin-like extensibility in applications.
Continue reading →
It’s the year 2023.
JDriven colleagues have gathered to discuss the new trends and deprecations of our work to put on the latest TechRadar.
Once everybody is seated, everyone contributes their latest opinions.
Very soon discussions run high.
Lombok is dropped at the table of discussion as well.
After some debate, it is decided.
Lombok is put on HOLD!
Continue reading →
False expectations take away joy, according to Sandra Bullock.
Such was my feeling when I tried to write a full-fledged document using AsciiDoc.
I thought I would be a pleasant journey.
Could I be wrong?
Continue reading →
Sometimes the answer to your problems is right in front of you.
But somehow you just can’t grasp it until you’ve had a bit of an enlightenment experience.
This happened to me a couple of weeks ago.
Continue reading →