• Easy publishing to Maven Central with Gradle

    I recently released my first open source library for Java, MDBI. I learnt a lot about the Java open-source ecosystem as part of this process, and this blog summarises that in the hope that it will be useful to others. Specifically, the post will explain how to set up a project using the modern Gradle build system to build code and deploy it to the standard Maven Central repository from the command line really easily.

    Read on →

  • Max's DataBase Interface

    It became necessary to write a Java database access library, since the ones that were available were somehow unsatisfactory. It’s called MDBI, and I’ve written more about it on the Github page.

  • Beware: java.nio.file.WatchService is subtly broken on Linux

    This blog describes a bug that I reported to Oracle a month or so ago but still doesn’t seem to have made it’s way through to the official tracker.

    Read on →

  • Asynchronous and non-blocking IO

    This post aims to explain the difference between asynchronous and non-blocking IO, with particular reference to their implementation in Java. These two styles of IO API are closely related but have a number of important differences, especially when it comes to OS support.

    Read on →

  • Quirks of the Matlab file format

    The Matlab file format has become something of a standard for data exchange in quant finance circles. It is not only handy for those who are using the Matlab interactive environment itself, but also to users working in a diverse spectrum of language, thanks to widespread availability of libraries for reading and writing the files. The format itself also has the handy property of supporting compression – an essential property for keeping disk usage reasonable with working with the highly compressible data that is typical of financial timeseries.

    Read on →