Month: April 2019

  • Examples of Kotlin making your Java code better video

    People at work suggested Kotlin was “just syntactic sugar”, so I set out to explain how Kotlin can really make better code, and here is the result: Slides: Examples of Kotlin making your Java code better slides

  • What is a Monad? Video

    Slightly jokey video about what a Monad is, but with a genuine explanation, all in just about 5 minutes. First given as a lightning talk at the ACCU Conference in 2019. Slides: What is a Monad? Slides

  • Build with a different Java version (e.g. 11) using Docker

    To spin up a temporary environment with a different Java version without touching your real environment, try this Docker command: docker run -i -t –mount “type=bind,src=$PWD,dst=/code” openjdk:11-jdk bash (Change “11-jdk” to the version you want as li…

  • Outdoor Maps in Galaxy Store

    My Outdoor Maps app for Samsung Gear/Galaxy watches has finally been approved in the Galaxy Store.

  • Outdoor Maps in Galaxy Store

    My Outdoor Maps app for Samsung Gear/Galaxy watches has finally been approved in the Galaxy Store.

  • ACCUConf 2019

    The ACCU conference happened in Bristol again this year. For my first time ever, I was at a workshop. In fact, I ran a work shop with Chris Simons. We talked about Evolutionary Algorithms in practice. We gave a 90 minute talk later in the week, using t…

  • ACCUConf 2019

    The ACCU conference happened in Bristol again this year. For my first time ever, I was at a workshop. In fact, I ran a work shop with Chris Simons. We talked about Evolutionary Algorithms in practice. We gave a 90 minute talk later in the week, using t…

  • Rabbit Escape t-shirts

    If you’d like to help promote Rabbit Escape, my free software Android/PC game, how about a t-shirt? Use the link below to design your shirt: Rabbit Escape t-shirt Note: there’s no profit in this for us – it’s just for promotion. If you’d like to contr…

  • Scheduling a task in Java within a CompletableFuture

    When we want to do something later in our Java code, we often turn to the ScheduledExecutorService. This class has a method called schedule(), and we can pass it some code to be run later like this: ScheduledExecutorService executor = Executors.new…