So long and thanks for all the fish

Today marks the last day of my adventures at Canoo Engineering AG. Back in 2010 Canoo celebrated it’s 10th year anniversary on April 1st with a full day event; that very same day I joined the company, which gave me the opportunity to meet pretty much everyone in one day. It’s been 8 years (plus 1 month) full of challenges and friendship; I had the opportunity to design from scratch the architecture of a systems platform used my a working group comprised of multi-national companies; helped migrate existing Java desktop solutions from Swing/SWT to JavaFX; coached teams on the intricacies Read More

Customize JAR manifest entries with Maven/Gradle

How many times have you found yourself in a situation where you can’t tell if the artifacts used by the application are the correct ones or not? How many times have you looked at a bug report stating that the problem is caused by version X of a particular artifact but you are certain the bug was fixed in said release? On closer inspection (after unpacking, debugging, even decompiling!) you find that the artifact in production is not the right one even though the version appears to be the correct one. One option we have to mitigate this problem is Read More

Maven scopes vs. Gradle configurations

Both Maven and Gradle are popular choices when it comes to building Java projects. These tools share common traits but there are some key differences that make you more productive depending on a particular scenario (no, I’m not referring to the XML DSL vs. Groovy/Kotlin DSL schism), case in point scopes vs. configurations. Scopes and configurations are used by each tool to define dependencies and how they affect different classpaths, such as the compilation and runtime classpaths. Maven defines 6 scopes: compile, runtime, provided, system, test, and import. Gradle on the other hand defines the following configurations when the Java Read More

Contributing to JavaFX

Johan Vos (@johanvos) has setup a mirror of the official OpenJFX codebase as a repository at Github ( This repository allows anyone interested in contributing to JavaFX to be able to send patches to the project. Would you like to join the efforts to move JavaFX forward? These are the steps you must follow with the current pipeline: Have a Github account. It only takes a few minutes to setup and it’s free! Have a bug/feature in mind you’d like to see fixed/added to JavaFX. Browse the list of open issues at to see if you can help; discussing Read More

2017 in Review

2017 has been a hectic year to say the least, however on the JVM side of things I’m quite happy with the results so far. We’ve got a brand new release of Java in September! The feature list added to Java9 is impressive, you can catch a glimpse of what’s new in Trisha’s (@trisha_gee) Real World Java 9 talk. Of course the elephant in the room when it comes to Java 9 is Jigsaw. Developers around the world are still trying to figure out how to get their tools and libraries to work with the new modular system, I recommend Read More

Become a patron

I’ve been working with Open Source code for more than 2 decades, first as a consumer then as an active producer. Working in Open Source has been a very rewarding experience, it has helped me hone my skills as a programmer, discover and learn quite a good number of programming languages (my favorite being Groovy in the JVM so far), interact with people all over the world. Alas writing and supporting Open Source takes time and effort. Most of the work I’ve done so far in this space has been done on my spare time, any related expenses have come Read More

First JCP EC face-to-face meeting in 2018

The JCP Executive Committee meets once a month to discuss topics of relevance to the Java platform and its community. Being a group of 25 members distributed around the world the preferred option for these meetings is the remote one, however the EC comes together 3 times a year to meet face-to-face, the first of these meetings just happened a few days ago at IBM’s campus in Hursley, UK. First day of the January #JCP EC meeting hosted by @IBM in Hursley — JCP (@jcp_org) January 30, 2018 This was my second meeting as part of the JCP EC Read More

The Road to BaselOne – Stop 9 – Basel

The final leg of the BaselOne tour began very early in the morning in Geneva as we prepared ourselves to visit CERN. We arrived just before staff, employees and visitors rushed into the place. We’d like to thank Manuel Álvarez and Pablo del Castro for organizing the visit and taking the time to explain us the mission, history, technical details and discoveries made by CERN. Our first stop was the workshop where the magnets arrive, get serviced and tested, then shipped to the tunnel. The following screenshot is of one of the test beds used to measure the performance of Read More

The Road to BaselOne – Stop 8 – Geneva

We’ve had a blast so far at the Italian section of the tour, alas it was time to say goodbye to old and new friends and start the journey to our next destination. The schedule marked Geneva as our next stop, the plan was to continue traveling west then north to reach Geneva, however there were no suitable train routes in that direction, thus we headed back to Milano and crossed the border between Italy and Switzerland by passing under the Alps. This was Sebastian’s last chance to get a cup of delicious italian made coffee. The scenery in this Read More

The Road to BaselOne – Stop 7 – Torino

Torino, what a great city. We arrived early morning from Milano after a quick train ride. We had time to do some work during the day and catch up with e-mails. Next Simone Bordet, co-leader of JUG Torino took us for a short trip around the city center and sample local delicacies at Café Al Bicerin. There are so many sights and interesting places to visit, both inside and outside of the city, alas it was time to join the JUG thus we headed to the venue. We’ll have to come back again to Torino to have a further look. Read More

ˆ Back To Top