Hanno Embregts

Java Developer & Speaker, strong with the Force - full bio

Blog

Eleven crazy learnings from the Java 11 certification: the crazy stuff that is allowed in switch statements (7/11)

Posted on 09 Aug 2022 by Hanno Embregts java certification

In the summer of 2021, I got my Java 11 certification. I expected it to be quite a breeze, because I’d been a Java developer for 14 years and surely I should have seen it all by now, right? Turned out I was very wrong. I came across lots of things that I didn’t even know were possible with Java. In this weekly blog series I will go through 11 of these ‘crazy learnings’ that surprised me the most, even as an experienced developer. Today we’ll look at the crazy stuff that is allowed in switch statements.

Eleven crazy learnings from the Java 11 certification: method overloading priorities (6/11)

Posted on 02 Aug 2022 by Hanno Embregts java certification

In the summer of 2021, I got my Java 11 certification. I expected it to be quite a breeze, because I’d been a Java developer for 14 years and surely I should have seen it all by now, right? Turned out I was very wrong. I came across lots of things that I didn’t even know were possible with Java. In this weekly blog series I will go through 11 of these ‘crazy learnings’ that surprised me the most, even as an experienced developer. This week’s blog is about about method overloading priorities.

Eleven crazy learnings from the Java 11 certification: division by zero (5/11)

Posted on 26 Jul 2022 by Hanno Embregts java certification

In the summer of 2021, I got my Java 11 certification. I expected it to be quite a breeze, because I’d been a Java developer for 14 years and surely I should have seen it all by now, right? Turned out I was very wrong. I came across lots of things that I didn’t even know were possible with Java. In this weekly blog series I will go through 11 of these ‘crazy learnings’ that surprised me the most, even as an experienced developer. This week we’ll get mathematical as we focus on dividing by zero in Java.

Eleven crazy learnings from the Java 11 certification: anonymous subclasses in enums (4/11)

Posted on 19 Jul 2022 by Hanno Embregts java certification

In the summer of 2021, I got my Java 11 certification. I expected it to be quite a breeze, because I’d been a Java developer for 14 years and surely I should have seen it all by now, right? Turned out I was very wrong. I came across lots of things that I didn’t even know were possible with Java. In this weekly blog series I will go through 11 of these ‘crazy learnings’ that surprised me the most, even as an experienced developer. This week we’ll focus on anonymous subclasses in enums.

Eleven crazy learnings from the Java 11 certification: accessing static interface methods (3/11)

Posted on 12 Jul 2022 by Hanno Embregts java certification

In the summer of 2021, I got my Java 11 certification. I expected it to be quite a breeze, because I’d been a Java developer for 14 years and surely I should have seen it all by now, right? Turned out I was very wrong. I came across lots of things that I didn’t even know were possible with Java. In this weekly blog series I will go through 11 of these ‘crazy learnings’ that surprised me the most, even as an experienced developer. This week is about accessing static interface methods.

Eleven crazy learnings from the Java 11 certification: stream elements should implement Comparable (2/11)

Posted on 05 Jul 2022 by Hanno Embregts java certification

In the summer of 2021, I got my Java 11 certification. I expected it to be quite a breeze, because I’d been a Java developer for 14 years and surely I should have seen it all by now, right? Turned out I was very wrong. I came across lots of things that I didn’t even know were possible with Java. In this weekly blog series I will go through 11 of these ‘crazy learnings’ that surprised me the most, even as an experienced developer. This week we dive into stream elements.

Eleven crazy learnings from the Java 11 certification: a few freaky array declarations (1/11)

Posted on 28 Jun 2022 by Hanno Embregts java certification

In the summer of 2021, I got my Java 11 certification. I expected it to be quite a breeze, because I’d been a Java developer for 14 years and surely I should have seen it all by now, right? Turned out I was very wrong. I came across lots of things that I didn’t even know were possible with Java. In this weekly blog series I will go through 11 of these ‘crazy learnings’ that surprised me the most, even as an experienced developer. We start off with a few freaky array declarations.

Do you know Java? Care to prove it?

Posted on 11 Feb 2022 by Hanno Embregts, Steve Poole & Martijn Verburg java conference

Here’s your chance to share your knowledge about Java, the JVM and all its offshoots, side alleys, traps, pitfalls, amazing capabilities and history. Know a cool fact about Kotlin? Got the low down on what colour James Gosling’s car was when he invented Java? Can you explain how to use caching in Spring?

Explaining software development to a class of 6-year olds

Posted on 17 Nov 2021 by Hanno Embregts teaching software-development

My daughter is 6 years old, and she and her classmates are currently learning about various professions. Her teacher asked the kids’ parents whether they would want to come into the classroom and explain their profession in 15 minutes or so. I really liked the idea of inspiring these bright young minds with some fun stories about software development, so I applied and prepared a lesson. Which turned out to be a lot harder than I thought it would be.

Pattern matching will make Java an even more powerful language

Posted on 10 Jun 2021 by Hanno Embregts & Peter Wessels java pattern-matching

We’ve known lambdas and streams since Java 8, and they’ve made Java a more powerful language. In the next few versions of Java, even more features that originated in functional languages will be added, one of which is pattern matching. It provides an elegant way to apply conditions to certain aspects of an object. We set out to investigate the possibilities that were introduced in JEP 305 (‘Pattern Matching for instanceof’) and how the pattern matching roadmap will make Java an even more powerful language.

Congratulations Java, and many happy returns!

Posted on 23 May 2020 by Hanno Embregts java

Today is Java’s 25th birthday! On the 23rd of May 1995 the language was introduced at the SunWorld conference, in a time where desktop applications reigned supreme and the internet was still in its infancy.

Ethics in Software Development

Posted on 10 Jan 2019 by Hanno Embregts ethics engineering-culture software-development

I was interviewed by Peter Kofler on ethics in software development. He asked me some questions and I answered them as follows. A bit of it is about politics, another bit is about religion, but it is mainly about being a responsible software developer. So this time I mixed my personal and professional opinions. Still, I hope it makes for an interesting read!

Migrating 25K lines of build scripting to Gradle

Posted on 23 Sep 2016 by Hanno Embregts gradle ci-cd

Software developers are not particularly keen on maintaining build scripts. Sure, they will do their part in making things work and they’ll even have a go at optimizing the most necessary parts. But they prefer to spend their time writing production code using a ‘real language’, because they feel it better supports their desire for maintainability, flexibility and elegance. That old project that’s been gathering dust for ages and relies on thousands lines of Ant code is a case in point.