Kotlin is a very nice language to write backend code that is expressive and concise, yet clear and readable. If you are writing backend code, and especially if you’re using Java, I believe you should take a good look at Kotlin.
I hope Kotlin can keep up and stay relevant in the coming decade. Otherwise I may have to find a new language to love. 💔
https://henko.net/blog/why-i-love-kotlin-on-the-backend/
[#]programming #kotlin
=> More informations about this toot | View the thread
Almost completely agree with this post on Kotlin by Tyler Russel. Kind of wish I had written it.
Happy to see someone else who recognizes that Kotlin is a really nice language for backend development.
https://tylerrussell.dev/2025/01/10/my-thoughts-on-kotlin-perspectives-after-4-years/
[#]programming #kotlin
=> More informations about this toot | View the thread
I'm a bit confused about the term "data-oriented" programming.
https://en.wikipedia.org/wiki/Data-oriented_design suggests it refers to "a program optimization approach motivated by efficient usage of the CPU cache, often used in video game development."
https://inside.java/2024/05/23/dop-v1-1-introduction/ uses the term to describe "a chain of systems, each with a potentially changing state, that operate on immutable data".
They seem to try to define the same/similar terms. Are there other terms for either of these ideas?
=> More informations about this toot | View the thread
"That's Not an Abstraction, That's Just a Layer of Indirection"
The problem with layers of indirection is that they add cognitive overhead. They’re often justified under the guise of flexibility or modularity, but in practice, they rarely end up delivering those benefits.
Really liked this post by Fernando Hurtado Cardenas. It is the kind of post I wished I had written myself. 🙂
https://fhur.me/posts/2024/thats-not-an-abstraction
[#]programming #abstraction
=> More informations about this toot | View the thread
A colleague found out why we've been having problems with our .dockerignore file. It turns out it was named " .dockerignore" with a space in front of the dot, and nobody notices. 🤦 #docker #programming
=> More informations about this toot | View the thread
One year ago, I decided to start blogging again. Here's a bit of reflection.
https://henko.net/blog/one-year-of-blogging/
[#]blogging #indieweb
=> More informations about this toot | View the thread
I wonder how many people participants in the popular coding competition Advent of Code have Copilot turned on. 🤔 (I don't.)
https://henko.net/blog/why-use-ai-for-advent-of-code/
[#]adventofcode #programming #ai
=> More informations about this toot | View the thread
Thankfully this is not production code. 😄 #adventofcode #kotlin
=> More informations about this toot | View the thread
@underlap's recent post on "Blogs, signal to noise ratio, and discovery" got me thinking.
I realize that I really want to find a way to have high-quality conversations on the internet, but I'm not sure I've found the right medium. I discuss this in my latest blog post.
https://henko.net/blog/i-want-to-talk-to-you/
=> More informations about this toot | View the thread
I just wrote a spontaneous eulogy of my use of physical notebooks, triggered by @underlap posting about his notebooks. 🤓
https://henko.net/blog/notebooks-no-more/
[#]notebooks #obsidian
=> More informations about this toot | View the thread
Only mock your own interfaces. That is one of my rules of thumb for writing robust unit tests.
When you mock/stub third-party interfaces, you will encode your expectation of what the real component would do, which may differ from what it would actually do. If you failed to anticipate the correct behavior when you wrote the code under test, you will likely encode that same incorrect behavior in your mock.
https://henko.net/blog/only-mock-your-own-interfaces/
[#]programming #unittesting #testing
=> More informations about this toot | View the thread
Sometimes when you make a change, it ends up changing you.
New blog post: "No going back", about how test-driven development, nullsafe languages, and immutable data structures have all changed me as a developer.
https://henko.net/blog/no-going-back/
[#]programming #tdd
=> More informations about this toot | View the thread
Fascinating history of a feature I've used many times without thinking too much about it.
https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/
[#]java #intellij
=> More informations about this toot | View the thread
New blog post: Zero support policy (the right way)
I like to treat every support issue as bug. As an indication that there is something in my product, documentation, or process that is broken. Otherwise there wouldn’t have been a support issue in the first place.
Is it an impossible goal? Sure. But aiming for it drives real improvement.
https://henko.net/blog/zero-support-policy/
[#]programming #softwaredevelopment #support
=> More informations about this toot | View the thread
New blog post: Depth-first development
I have found many benefits in applying the depth-first search algorithm to how I write code. Just as depth-first search is an algorithm that explores a path fully before backtracking to explore others, I try to follow the original task for as long as it takes to complete it. I keep a list of everything else to follow up later.
https://henko.net/blog/depth-first-development/
[#]programming #softwaredevelopment #tdd #focus
=> More informations about this toot | View the thread
[#]TIL: You can use the ->>
operator in PostgreSQL to select fields inside a JSON objects stored in a text column.
For example, assuming that events.data
is a text column containing a JSON object:
SELECT events.timestamp, events.data::json->>'field1' AS field1 events.data::json->>'field2' AS field2 FROM events
[#]sql #postgresql #json
=> More informations about this toot | View the thread
You may not end up where you expected, and you may be glad for it! (Using my career is an example.)
https://henko.net/blog/no-straight-line/
[#]career #change #expectationvsreality
=> More informations about this toot | View the thread
My thoughts after a first few steps into the world of Go.
https://henko.net/blog/my-thoughts-on-go/
[#]programming #golang
=> More informations about this toot | View the thread
I released a small hobby project on GitHub today. It is called Laebel, and is a small server that runs as a service in a Docker Compose project, serving a website that documents the project.
The elevator pitch (not that it needs one) would go something like this:
Automatic README-style documentation site for your Docker Compose project which helps you get an overview of the project.
https://github.com/henrikje/laebel
It is quite basic, but I do have some plans to extend it. 🤓
[#]programming #docker
=> More informations about this toot | View the thread
The best design does what it needs to, and no more.
https://henko.net/blog/when-nothing-can-be-removed/
[#]programming #simplicity
=> More informations about this toot | View the thread
=> This profile with reblog | Go to henrikjernevad@mastodon.social account This content has been proxied by September (3851b).Proxy Information
text/gemini