Simple Jackson Deserializer

As I was working on some random data with a ZonedDateTime, it turned out Jackson was unable to deserialize it. How come? Why not use Jackson datetime module? The codebase I was working on, did not support the Jackson datetime module. It was also not possible to add this module as all Jackson related code was provided and the vendor stressed very clearly ‘not to mess things up with other versions’....

March 17, 2021 · 1 min

Automate AEM development

When working with AEM, you’re confronted with tedious work - writing components with dialogs defined in XML, lots of boiler-plating. Ideal for automation! Enter your favorite code generator Yeoman, “the Web’s Scaffolding ToolFor Modern Webapps” is great for this purpose. I came to know this when working on some JHipster project. It’s very easy to define generator (eg. generate an AEM component) using templates (renderscript, dialog, ….) I’ve put things together in the AEM Generator Repo....

February 8, 2021 · 1 min

Minified Javascript in AEM Clientlibs breaks the build

Recently we had to integrate third-party minified javascript and css in an AEM client library. Unfortunatly this broke the build on Adobe Cloud. How did we solve this? What’s the problem? Minification! From our client, we received already minified javascript and styling we needed to integrate in the AEM website. Nothing too difficult, but the build on AEM Cloud finished with errors. On top of that, we could not download the logs, so we really were in the dark here....

January 30, 2021 · 2 min

Automate Angular Material Workflow using Schematics

What is this post about? I’m a huge fan of the SpringBoot backend - Angular frontend combination. And since my UX/UI skills are very limited, I really enjoy working with angular material, a really nice library of common widgets implemented as Angular components using the material design. I found myself doing the same thing over and over again: generate a table component, using the material table schematic create a service with Angular CLI connecting to a SpringBoot backend to retrieve objects, using the typical CRUD methods (getAll, save, delete, …) create an interface matching the json obtained from the backend Then I suddenly realized:...

January 2, 2021 · 5 min

Automate Timesheeting

With every job come boring tasks. Number one, by far, is filling out timesheets. And if you are unlucky, as I was in case of the yellow telco, you’re dealing with an old dud. What old dud? I’m talking about fusion by Oracle. It has a horrible interface - even entering a single digit is annoying. On top of that, it was an exotic, buggy, beta version - no one wanted to touch it , including Oracle....

December 13, 2020 · 2 min

Deploy Hugo generated site to Github Pages - Part 2

I still had to run the ./deploy.sh script after committing changes. Not anymore - I’m calling this script in a github action being run after a push to master! Some refactoring was required - I moved the command related to pushing the generating site to a separate script, and this script is called from github actions. UPDATE: this did not work at all! I resorted to trying out a lot of push Github Actions but none worked....

November 18, 2020 · 1 min

Adventures with Microsoft Azure

The last few weeks I spent looking into Microsoft Azure. I followed along with the fundamental learning paths, but I also focused mostly on the spring boot part. Here are some findings. Azure Spring Cloud workshop The Azure Spring Cloud Workshop is a nice overview how to deploy your spring boot application to Azure. Take-aways Something nowhere mentioned is that you get a Eureka Discover compatible server OOTB :) You just need to add the Eureka Discovery Client dependency....

November 3, 2020 · 2 min

Hello World - Spring Cloud Version

I’ve wanting to look into some microservices, but I never got around to it. I stumbled upon Java Brain’s Spring boot microservice course, which is a great series of videos explaining all the concepts. My hello world - Spring Cloud Version contains 3 microservices: datetime-service: returns the current datetime salutation-service: returns at random a salutation for male or female persons greeting-service: uses the first 2 services to compose a greeting Here’s a diagram how they all interact with each other: Keypoints Here are some things that stuck into my head after watching the course:...

October 17, 2020 · 3 min

Tools for Mac OS I use for easier development

This is more a note to self so I know what tools to install when I purchase a new laptop :) Free applications Rectangle App allows for easy moving and resizing of windows. For instance resize the current window so it takes the left half of the screen, the top 1/3rd of the screen, … Atom, the famous editor with plenty of plugins - I personally use it when I need to write or program something small and I don’t want to fire up a fullblown IDE iTerm2 a more fancy shell with additional info on the git status and so on Postman for testing REST endpoints....

August 22, 2020 · 1 min

Get git-commit-id-plugin working with heroku

Spring boot offers out-of-the-box support for git-commit-id-plugin, where you can bind git properties to Spring variables. However heroku cannot work with this. After some reading up, it appears that the hidden .gitsubfolder is not pushed to heroku. Since during build time the git.propertiesfile is generated and saved in the target folder, the git-commit-id-plugin will fail as there is no .gitsubfolder. Then I stumbled on the heroku-maven-plugin. This plugin allows to build your project locally and then push the artifact to heroku - and that’s what I need....

August 9, 2020 · 1 min