41554 blogs · [ { "id": "01a0bb50-70bf-737d-923b-f620ceb6375e", "title": "The Maven Build Cache in Practice", "url": "https://maarten.mulders.it/2026/09/the-maven-build-cache-in-practice/", "published_at": "2026-09-18T11:46:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d5efe84d", "title": "The Road to Reproducible Builds on the JVM", "url": "https://maarten.mulders.it/2026/09/the-road-to-reproducible-builds-on-the-jvm/", "published_at": "2026-09-04T06:45:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d61c9462", "title": "Building a CLI with Quarkus, Kotlin and GraalVM", "url": "https://maarten.mulders.it/2025/07/building-a-cli-with-quarkus-kotlin-and-graalvm/", "published_at": "2025-07-28T06:17:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d6e6867b", "title": "Coding, Thinking and Adapting: My Take-Aways from Devoxx Poland 2025", "url": "https://maarten.mulders.it/2025/06/coding-thinking-and-adapting-my-take-aways-from-devoxx-poland-2025/", "published_at": "2025-06-16T19:53:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d6f42f1f", "title": "Authenticate Jakarta EE apps with Google using OpenID Connect", "url": "https://maarten.mulders.it/2024/08/authenticate-jakarta-ee-apps-with-google-using-openid-connect/", "published_at": "2024-08-20T08:02:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d70b7de6", "title": "Reduce Maven Plugin logging", "url": "https://maarten.mulders.it/2024/07/reduce-maven-plugin-logging/", "published_at": "2024-07-16T06:16:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d713e1aa", "title": "Devnexus 2024", "url": "https://maarten.mulders.it/2024/04/devnexus-2024/", "published_at": "2024-04-10T22:50:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d7333c13", "title": "Measure Your Maven Build", "url": "https://maarten.mulders.it/2024/03/measure-your-maven-build/", "published_at": "2024-03-15T07:46:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d749a87f", "title": "Why Write Boring Apps?", "url": "https://maarten.mulders.it/2024/03/why-write-boring-apps/", "published_at": "2024-03-01T13:00:00+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d7950a49", "title": "Devoxx 2023: First Impressions", "url": "https://maarten.mulders.it/2023/10/devoxx-2023-first-impressions/", "published_at": "2023-10-09T10:04:15+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d7bde801", "title": "Devnexus 2023 live blog", "url": "https://maarten.mulders.it/2023/04/devnexus-2023-live-blog/", "published_at": "2023-04-05T15:49:15+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d7df3d8f", "title": "Notes from JavaZone", "url": "https://maarten.mulders.it/2022/09/notes-from-javazone/", "published_at": "2022-09-12T19:56:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d7f7c633", "title": "Using HSQL in OpenLiberty", "url": "https://maarten.mulders.it/2022/08/using-hsql-in-openliberty/", "published_at": "2022-08-23T06:46:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d8504794", "title": "Mutation Testing badge with PIT and Stryker Dashboard", "url": "https://maarten.mulders.it/2022/07/mutation-testing-badge-with-pit-and-stryker-dashboard/", "published_at": "2022-07-30T08:41:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d917b0eb", "title": "Playing with Loom", "url": "https://maarten.mulders.it/2022/03/playing-with-loom/", "published_at": "2022-03-04T06:39:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d9244f9b", "title": "The Dapr SDK for Java: Pub/Sub & Distributed Tracing", "url": "https://maarten.mulders.it/2022/01/the-dapr-sdk-for-java-pubsub-distributed-tracing/", "published_at": "2022-01-11T07:36:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d98d7c91", "title": "Jakarta EE meets Dapr", "url": "https://maarten.mulders.it/2021/09/jakarta-ee-meets-dapr/", "published_at": "2021-09-28T07:46:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8d9ad2679", "title": "Getting to know Dapr", "url": "https://maarten.mulders.it/2021/09/getting-to-know-dapr/", "published_at": "2021-09-10T08:46:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8da1e9dde", "title": "Build your own OpenJDK on macOS", "url": "https://maarten.mulders.it/2021/05/build-your-own-openjdk-on-macos/", "published_at": "2021-05-31T06:31:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8da50d35b", "title": "Introduction to Maven Toolchains", "url": "https://maarten.mulders.it/2021/03/introduction-to-maven-toolchains/", "published_at": "2021-03-16T07:31:12+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8da9c6c2c", "title": "Use git bisect to pinpoint a bug", "url": "https://maarten.mulders.it/2021/01/use-git-bisect-to-pinpoint-a-bug/", "published_at": "2021-01-28T13:15:09+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8db1a2b5d", "title": "What's New in Maven 4", "url": "https://maarten.mulders.it/2020/11/whats-new-in-maven-4/", "published_at": "2020-11-30T07:02:09+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8dbed003c", "title": "Block misbehaving IP addresses using Fail2Ban and AbuseIPDB", "url": "https://maarten.mulders.it/2020/10/block-misbehaving-ip-addresses-using-fail2ban-and-abuseipdb/", "published_at": "2020-10-19T09:46:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8dc33289f", "title": "Multiple Git identities", "url": "https://maarten.mulders.it/2020/07/multiple-git-identities/", "published_at": "2020-07-13T06:10:05+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8dcc103e3", "title": "Mutation Testing badge with Pitest and Stryker Dashboard", "url": "https://maarten.mulders.it/2020/06/mutation-testing-badge-with-pitest-and-stryker-dashboard/", "published_at": "2020-06-30T11:18:13+00:00" }, { "id": "01a0879d-feb9-729f-aab5-50e8dd9ca63d", "title": "Infrastructure as Code with Terraform", "url": "https://maarten.mulders.it/2020/06/infrastructure-as-code-with-terraform/", "published_at": "2020-06-22T06:37:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c897794bed", "title": "DevNexus Day 2: Metrics, Monolith Decomposition", "url": "https://maarten.mulders.it/2020/02/devnexus-day-2-metrics-monolith-decomposition/", "published_at": "2020-02-21T19:55:00+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89826e219", "title": "DevNexus Day 1: WebAssembly, Productivity", "url": "https://maarten.mulders.it/2020/02/devnexus-day-1-webassembly-productivity/", "published_at": "2020-02-21T13:20:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c898381a70", "title": "Customise the Maven Release process", "url": "https://maarten.mulders.it/2020/01/customise-the-maven-release-process/", "published_at": "2020-01-10T07:30:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c898d4f0cf", "title": "Devoxx - Day One", "url": "https://maarten.mulders.it/2019/11/devoxx-day-one/", "published_at": "2019-11-06T15:22:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89910b1fd", "title": "Building a programming language on GraalVM (Part 1)", "url": "https://maarten.mulders.it/2019/10/building-a-programming-language-on-graalvm-part-1/", "published_at": "2019-10-13T14:27:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8992de4de", "title": "Code One - Day Three", "url": "https://maarten.mulders.it/2019/09/code-one-day-three/", "published_at": "2019-09-19T03:08:00+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c899e7c988", "title": "Code One - Day Two", "url": "https://maarten.mulders.it/2019/09/code-one-day-two/", "published_at": "2019-09-17T23:11:00+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89a1d53c6", "title": "Code One - Day One", "url": "https://maarten.mulders.it/2019/09/code-one-day-one/", "published_at": "2019-09-17T01:42:32+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89a7d5434", "title": "How did I get that library?!", "url": "https://maarten.mulders.it/2019/09/how-did-i-get-that-library/", "published_at": "2019-09-11T16:42:32+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89acfe9a7", "title": "Reports from Devoxx PL", "url": "https://maarten.mulders.it/2019/06/reports-from-devoxx-pl/", "published_at": "2019-06-25T12:00:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89ae50303", "title": "Securing Apache HTTPD with Microsoft Active Directory", "url": "https://maarten.mulders.it/2019/03/securing-apache-httpd-with-microsoft-active-directory/", "published_at": "2019-03-26T06:07:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89b8d618d", "title": "Troubleshooting SOAP and MTOM using the command line", "url": "https://maarten.mulders.it/2018/12/troubleshooting-soap-and-mtom-using-the-command-line/", "published_at": "2018-12-17T07:24:13+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89c4b2b8f", "title": "How does BEAST work?", "url": "https://maarten.mulders.it/2018/11/how-does-beast-work/", "published_at": "2018-11-21T06:23:44+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89c9f3036", "title": "A first look at MVC 1.0", "url": "https://maarten.mulders.it/2018/09/a-first-look-at-mvc-1.0/", "published_at": "2018-09-14T19:20:19+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89cd2c02d", "title": "Custom SOAP Faults using Spring WS", "url": "https://maarten.mulders.it/2018/07/custom-soap-faults-using-spring-ws/", "published_at": "2018-07-24T14:05:35+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89d214dc6", "title": "Building ASP.NET Core apps on CircleCI", "url": "https://maarten.mulders.it/2018/04/building-asp.net-core-apps-on-circleci/", "published_at": "2018-04-02T09:42:35+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89d520c63", "title": "Simple UML drawing with PlantUML", "url": "https://maarten.mulders.it/2018/04/simple-uml-drawing-with-plantuml/", "published_at": "2018-04-01T18:27:35+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89d7ce330", "title": "Impressions of the first JVMCON", "url": "https://maarten.mulders.it/2018/02/impressions-of-the-first-jvmcon/", "published_at": "2018-02-01T18:17:00+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89e113c07", "title": "I upgraded to Java 9 - Part II", "url": "https://maarten.mulders.it/2018/01/i-upgraded-to-java-9-part-ii/", "published_at": "2018-01-23T14:14:35+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89e211438", "title": "I upgraded to Java 9 - here's what happened", "url": "https://maarten.mulders.it/2018/01/i-upgraded-to-java-9-heres-what-happened/", "published_at": "2018-01-12T18:28:35+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89e7c8f3a", "title": "Devoxx 2017", "url": "https://maarten.mulders.it/2018/01/devoxx-2017/", "published_at": "2018-01-07T12:15:35+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89f31947f", "title": "Getting Started with Zuul", "url": "https://maarten.mulders.it/2017/12/getting-started-with-zuul/", "published_at": "2017-12-30T12:15:35+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89f88e3e1", "title": "JavaOne 2017", "url": "https://maarten.mulders.it/2017/10/javaone-2017/", "published_at": "2017-10-06T13:05:45+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89feb06ec", "title": "Markdown to PDF", "url": "https://maarten.mulders.it/2017/08/markdown-to-pdf/", "published_at": "2017-08-09T19:33:45+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c89ff6813f", "title": "No bind or arrow functions in in JSX Props - Why? How?", "url": "https://maarten.mulders.it/2017/07/no-bind-or-arrow-functions-in-in-jsx-props-why-how/", "published_at": "2017-07-25T05:30:45+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a073e790", "title": "Installing the CUDA Toolkit on Ubuntu", "url": "https://maarten.mulders.it/2017/07/installing-the-cuda-toolkit-on-ubuntu/", "published_at": "2017-07-12T05:55:32+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a0fc5a4e", "title": "JBCNConf & Voxxed Days LU", "url": "https://maarten.mulders.it/2017/06/jbcnconf-voxxed-days-lu/", "published_at": "2017-06-22T13:05:32+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a1ceeeb9", "title": "Elastic stack: a renewed introduction", "url": "https://maarten.mulders.it/2017/04/elastic-stack-a-renewed-introduction/", "published_at": "2017-04-18T06:05:32+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a24efb96", "title": "Verify logging with Logback", "url": "https://maarten.mulders.it/2017/03/verify-logging-with-logback/", "published_at": "2017-03-02T08:15:32+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a2d63b2b", "title": "Blah blah Microservices blah blah", "url": "https://maarten.mulders.it/2017/02/blah-blah-microservices-blah-blah/", "published_at": "2017-02-25T18:15:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a33d2a2e", "title": "Jfokus, Day 2", "url": "https://maarten.mulders.it/2017/02/jfokus-day-2/", "published_at": "2017-02-08T14:30:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a3c31427", "title": "Quickly switch Java versions on macOS", "url": "https://maarten.mulders.it/2017/02/quickly-switch-java-versions-on-macos/", "published_at": "2017-02-07T16:06:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a3e30942", "title": "Jfokus, Day 1", "url": "https://maarten.mulders.it/2017/02/jfokus-day-1/", "published_at": "2017-02-07T06:10:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a45c3a31", "title": "Long time, no blog", "url": "https://maarten.mulders.it/2017/01/long-time-no-blog/", "published_at": "2017-01-31T06:10:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a54ea87c", "title": "Automatic scan for known vulnerabilities in dependencies", "url": "https://maarten.mulders.it/2016/08/automatic-scan-for-known-vulnerabilities-in-dependencies/", "published_at": "2016-08-30T13:30:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a5e3fe74", "title": "Tweaking nginx for serving static content", "url": "https://maarten.mulders.it/2016/03/tweaking-nginx-for-serving-static-content/", "published_at": "2016-03-01T12:42:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a5ef5125", "title": "Quickly count your code base", "url": "https://maarten.mulders.it/2016/02/quickly-count-your-code-base/", "published_at": "2016-02-03T06:10:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a608fa52", "title": "Easily upgrade Java dependencies", "url": "https://maarten.mulders.it/2016/01/easily-upgrade-java-dependencies/", "published_at": "2016-01-20T15:11:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a6823e4c", "title": "Combining Docker and Maven", "url": "https://maarten.mulders.it/2015/12/combining-docker-and-maven/", "published_at": "2015-12-02T06:34:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a6a308ad", "title": "Timing in Protractor tests", "url": "https://maarten.mulders.it/2014/06/timing-in-protractor-tests/", "published_at": "2014-06-27T06:05:40+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a71b8ea8", "title": "Mobile emulation in Google Chrome", "url": "https://maarten.mulders.it/2014/06/mobile-emulation-in-google-chrome/", "published_at": "2014-06-20T07:03:19+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a75db909", "title": "This method is likely to yield significantly better performance", "url": "https://maarten.mulders.it/2013/04/this-method-is-likely-to-yield-significantly-better-performance/", "published_at": "2013-04-06T14:57:21+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a856a37e", "title": "Checking logfiles with logcheck", "url": "https://maarten.mulders.it/2013/03/checking-logfiles-with-logcheck/", "published_at": "2013-03-23T16:19:17+00:00" }, { "id": "01a0879d-feba-73ef-bb54-f6c8a8f646f2", "title": "IPv6 on Raspbian", "url": "https://maarten.mulders.it/2013/03/ipv6-on-raspbian/", "published_at": "2013-03-11T18:24:15+00:00" } ] posts Claim your blog
Back to maarten.mulders.it
Blog · corpus.blog/blogs/maarten.mulders.it/posts

maarten.mulders.it

maarten.mulders.it

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013