Software engineer, space enthusiast, hiker (original) (raw)
Avoid exceptions for control flow - the performance argument Posted on September 10, 2024 It is widely accepted mantra that exceptions should not be used for control flow. The main arguments against that practice have to do with code structuring, pointing out that exceptions are not very different from “go-to” statements, which are considered harmful, and that even in languages that support exceptions there...[Read More]
Java URL class is broken Posted on September 2, 2024 The Java programming language is about to turn 30 years old. It has been a widely successful language. One of the keys to its success, in particular in the enterprise world, is its commitment to backwards compatibility. If you take a piece of Java code written three decades ago, changes...[Read More]
Are you leaking this? Posted on August 21, 2024 Regarding memory management, Java is in general a much safer language than C or C++. However, it is still possible to get in trouble if you are not careful. One common pitfall is to leak the this reference from a constructor, which can produce strange behaviour, since the this reference...[Read More]
Why I do not love Mockito annotations Posted on August 9, 2024 Mockito is an open source mocking library for Java. I have been using Mockito for many years, and I am very grateful to the maintainers of this library for their hard work. Although the practice of mocking is a controversial topic in itself, I have found Mockito to be a...[Read More]
Terminal setup Posted on December 25, 2023 NOTE This is not a complete blogpost, just a collection of resources that I use to setup my Mac terminal. This document may be updated at anytime.[Read More]
Connect HomeKit lights Posted on December 25, 2023 I have a number of “smart lights” at home from 3 different vendors. I recently had to change to a new iPhone, and after restoring from a backup, some of my carefully setup lights stopped working in the Apple Home (HomeKit) application. The funny thing was the lights were still...[Read More]
Using a custom apex domain with Github Pages Posted on August 20, 2023 Yesterday I refreshed my website using Jekyll and Github Pages. Today I reconfigured it to be available under my berrueta.net domain. Previously I had instructed my DNS registrar to redirect the traffic from berrueta.net to berrueta.github.io, but I wanted to use the apex domain instead of Github’s.[Read More]
Scaling towards a thousand microservices Posted on August 20, 2023 In 2019 I prepared a talk about Atlassian’s journey into the world of microservices. At that time the company had around 1,000 microservices running in production, and I thought the story was worth sharing.[Read More]
Refreshing my personal website with Github Pages and Jekyll Posted on August 19, 2023 I created my first personal website around 1996 in the now defunct Geocities. Later I maintained a personal website in asturlinux.org, the local Linux user group that I co-founded. Then I moved to just blogging in blogpost.com and my personal website was no longer maintained. After many years of neglect,...[Read More]