• The case for leverage in personal investing

    The standard advice for personal investing that I see all around the web is to put your money into one or more low cost equity index tracking funds. Commentators also sometimes recommend an allocation to bonds (e.g. a 60/40 split between stocks and bonds), though the popularity of this advice seems to become less common with every passing month of the bull market.

    Read on →

  • Portfolio mean-variance optimisation in the browser

    This is just to announce that I’ve written a small tool to visualise the risk/reward tradeoffs associated with investing in a diversified portfolio of risky assets.

    Read on →

  • Faster ordered maps for Java

    Sorted maps are useful alternatives to standard unordered hashmaps. Not only do they tend to make your programs more deterministic, they also make some kinds of queries very efficient. For example, one thing we frequently want to do at work is find the most recent observation of a sparse timeseries as of a particular time. If the series is represented as an ordered mapping from time to value, then this this question is easily answered in log time by a bisection on the mapping.

    Read on →

  • 4 things you didn't know you could do with Java

    Java is often described as a simple programming language. While this is arguably true, it has still retained the ability to surprise me after using it full time for years.

    Read on →

  • A Cambridge Computer Science degree summarised in 58 crib sheets

    From 2005 to 2008 I was an undergraduate studying Computer Science at Cambridge. My method of preparing for the exams was to summarise each lecture course into just a few sides of A4, which I’d then commit to memory in their entirety.

    Read on →