• 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 →

  • Rpath emulation: absolute DLL references on Windows

    When creating an executable or shared library on Linux, it’s possible to include an ELF RPATH header which tells the dynamic linker where to search for the any shared libraries that you reference. This is a pretty handy feature because it can be used to nail down exactly which shared library you will link against, without leaving anything up to chance at runtime.

    Read on →