Skip to content

2024

What does it mean to be a better Java? (Part 1)

In the old days, programming languages would come and go. In the modern age, languages remain for decades as platforms on top of which new ecosystems are born, never to be dethroned. Java is the venerable sage of the server-side world—but new languages still attempt to take it on.

Don't touch Throwable

Throwable is the supertype of all things that can be thrown. It often appears in codebases as an upper bound for error handling. Here's why you shouldn't do it.

The vulnerability is by design

We should all strive to write code that is harder—if not impossible—to exploit. Sometimes, however, the vulnerability comes from places we thought we could trust.

GitLab over GitHub

Over the years, many people have asked me why I prefer using GitLab over GitHub. Although an exhaustive comparison wouldn't be possible in a single article, I'd like to highlight a few points of interest.

Dependency Injection without a framework

Dependency Injection is more popular than ever. As with all popular things, the original idea is becoming more and more diluted down, to the point that discussing it is becoming difficult. Let's go back to the roots, and see what DI really is.

Tabs vs spaces: the case of accessibility

Since forever, programmers have debated between the use of tabulations or spaces to represent indentation. Nowadays, even mentioning this debate leads to dismissal—but recent tools make one option much better than the other.