Recent posts


How to Distribute Binaries for OS X Using Homebrew

A good, quick and easy way to distribute OS X binaries using homebrew.



Fish shell design principles

These design principles are a good read. Not necessarily directly applicable to most types of software, but the spirit and direction of thought is broadly relevant across many types of software.

The fish design has three high level goals. These are:

  • Everything that can be done in other shell languages should be possible to do in fish, though fish may rely on external commands in doing so.
  • Fish should be user friendly, but not at the expense of expressiveness. Most tradeoffs between power and ease of use can be avoided with careful design.
  • Whenever possible without breaking the above goals, fish should follow the Posix syntax.

To achieve these high-level goals, the fish design relies on a number of more specific design principles. These are presented below, together with a rationale and a few examples for each.

Continue reading

Testcontainers 1.0.0 release

I’ve just released v1.0.0 of Testcontainers, the little library for using Docker containers in JUnit tests. It’s been great to get feedback and contributions from others - and especially awesome to hear kind words about it along the way.

This latest release brings some small tweaks and improvements throughout, as well as one fairly significant internal change.

Continue reading testcontainers testing docker java

Better JUnit Selenium testing with Docker and Testcontainers

This is the third article in a series (1, 2) that explores integrated JUnit testing involving external components, supported by Testcontainers.

This post explores how Testcontainers can directly help improve our Selenium testing ruggedness and reduce some of the problems that I’ve observed on previous projects.

Continue reading testcontainers testing selenium docker java

Fun with Disque, Java and Spinach

This example continues similarly to a previous post, in which I used my Testcontainers tool to aid integration testing of Java code against a dependency running in a Docker container.

This time, following the recent 1.0 RC1 build of the promising-looking Disque, I wanted to play with using it from Java. Disque comes from antirez, author of the awesome Redis tool. Additionally this was a chance to try out one of the Java Disque client libraries, Spinach, by the author of the Lettuce Redis client.

Continue reading testcontainers testing docker disque java