Blog posts
- 2023-02-16 jdbc-audit-proxy
- 2021-03-30 In Defence of Java Checked Exceptions
- 2021-02-13 A JDBC Query Monitor
- 2020-06-20 Maven Multi-Module Builds with Centralized Version Management
- 2019-12-08 Learning Kotlin
- 2019-10-30 Spring Transactions and Exceptions
- 2018-05-06 The Graal Virtual Machine
- 2018-04-22 The New Oracle Java Release Cycle
- 2018-04-11 Google Cloud Platform and AppEngine
- 2018-01-02 More Spring Quirks
- 2017-12-06 Remapping DNS Lookups in a JRE
- 2017-12-06 Spring Forward
- 2017-09-23 Typesafe Config
- 2017-09-20 Accessing Hive via JDBC
- 2017-08-19 Scala Overview
- 2017-07-01 Java 9's Jigsaw Module Framework (JPMS)
- 2017-05-24 Java's Fork/Join Framework
- 2017-05-16 RabbitMQ Threading Model
- 2017-04-01 Threadsafe Variable Access in Java
- 2017-03-19 The Java8 Optional Class
- 2017-03-12 A Simple Wrapper for Starting Processes from Java
- 2017-03-11 Elasticsearch5 TransportClient Mode
- 2017-02-26 Gradle Internals
- 2017-01-25 Some JUnit Rules
- 2017-01-24 Maven Random Tips
- 2017-01-23 Downloading Jenkins
- 2016-11-28 Maven Version Specifiers
- 2016-10-19 Intellij Fail with Maven Provided Dependencies
- 2016-10-08 Java Path Streams Trap
- 2016-06-12 Dropwizard and Hystrix
- 2015-12-19 Eclipse RCP and Java UIs in General
- 2015-11-13 Java 1.7 enhanced reflection API: MethodHandle
- 2015-11-08 A Java Serialization Vulnerability
- 2015-06-22 D-Bus and OSGi
- 2015-06-19 OSGi Service Selection
- 2015-06-18 Anaemic Domain Models
- 2015-06-09 Some osgi-related news
- 2015-05-15 High-performance remote OSGi service calls
- 2014-11-12 Finalize on Fail
- 2014-11-07 JDBC and setAutoCommit Performance
- 2014-11-04 Java Covariant Return Types produce Duplicate Methods
- 2014-03-20 Java Generic Parameter Locator
- 2014-03-16 Precedence-Aware Evaluation
- 2014-03-07 Java Serialization and the Eclipse-JDT compiler
- 2013-10-24 Ad-hoc Logging using the Eclipse Debugger
- 2013-10-22 Java Serialization and the serialVersionUID Property
- 2013-07-08 MyBatis Performance with OSGi
- 2013-03-26 OSGi Foundations
- 2013-02-26 Encryption in Theory and Practice
- 2013-02-25 What is EMF?
- 2013-02-21 New Advice - a wishlist for Java
- 2013-02-18 JAAS Foundations
- 2013-02-01 Spring property-placeholder and generated properties
- 2013-01-05 The TimeUnit Class
- 2012-11-15 Praise for PowerMock
- 2012-11-13 Rounding Up Exceptions
- 2012-10-11 JUnit and Classloaders
- 2012-09-29 Guice Concepts
Articles
- 2023-06-10 Spring Security Session Management
- 2023-03-14 Domain Models - Rich vs Anaemic
- 2021-05-15 Tunneling Checked Java Exceptions Through Lambdas
- 2021-03-30 In Defence of Java Checked Exceptions
- 2021-02-19 Spring Bean Aliases with Programmatic Configuration
- 2021-02-15 Spring Qualifiers
- 2021-02-13 A JDBC Query Monitor
- 2020-06-19 Maven Multi-module Builds with Centralized Version Management
- 2019-12-08 Notes on Kotlin for Java Programmers
- 2019-10-31 Managing Database Schemas with Flyway
- 2019-10-10 Mapping Transactional Exceptions in Spring
- 2018-05-06 The Graal Virtual Machine
- 2017-12-06 Remapping DNS lookups in a JRE
- 2017-12-06 Fixing Spring CORS behind bad proxies
- 2017-09-24 Tail-recursive List Reverse in Scala
- 2017-09-19 JAAS and Kerberos: Failed to find any Kerberos tgt
- 2017-08-19 Scala's match operator and unapply methods
- 2017-08-19 Basic Scala Syntax for Java Programmers
- 2017-05-24 The Java Fork/Join Framework
- 2017-05-08 The RabbitMQ Threading Model
- 2017-05-08 RabbitMQ Exchanges and Queues
- 2017-03-12 Executing External Processes from Java
- 2017-02-26 Gradle Build Tool
- 2017-02-01 Testing Exceptions with JUnit
- 2017-01-27 A JUnit Rule for Elasticsearch Integration Testing
- 2017-01-25 Some JUnit Test Rules
- 2016-11-28 Version Specifiers in Maven 3.x
- 2016-10-10 WTF - Java XOR
- 2015-12-19 The Eclipse P2 Artifact Repository
- 2015-12-19 UI Libraries in Java
- 2015-12-19 Overview of the Eclipse4 Architecture
- 2015-06-18 Anemic Domain Models
- 2015-06-11 OSGi-aware Serialization
- 2015-06-09 OSGi Artifact Resolution and Build Tools
- 2015-05-23 OSGi and Dependency Injection
- 2015-05-15 High-performance remote OSGi service calls
- 2014-03-16 Precedence Aware Evaluation
- 2014-03-07 Java Serialization and Synthetic Methods
- 2013-10-22 Java Serialization and the serialVersionUID Property
- 2013-07-08 MyBatis Caching
- 2013-03-04 OSGi Services
- 2013-03-04 OSGi Classloading
- 2013-03-04 OSGi Security
- 2013-03-04 10 Min Intro to OSGi
- 2013-03-04 OSGi Configuration
- 2013-02-20 Using the SecureRandom Class
- 2013-02-17 JAAS Foundations
- 2013-01-30 Symmetric Encryption in Java
- 2012-10-11 Guice Listeners
- 2012-10-01 Closures
- 2012-09-28 Guice Concepts
- 2012-09-27 Java-related Links
- 2003-01-01 Junit Tests using Custom Classloaders