2024-03-24
Computed fields in frozen Pydantic models

Preserving the hashability and pseudo-immutability of frozen Pydantic models while deriving the value of fields from other settings. Cachable for performance, dynamic for flexibility.

2024-03-24

Preserving the hashability and pseudo-immutability of frozen Pydantic models while deriving the value of fields from other settings. Cachable for performance, dynamic for flexibility.

2022-05-22
Making migrations a breeze with Exodus

Exodus is a database migration runner I have created for use with Spring web applications. It shines where incumbents do not by offering simplicity and removing bloat.

2022-05-22

Exodus is a database migration runner I have created for use with Spring web applications. It shines where incumbents do not by offering simplicity and removing bloat.

2022-05-09
An in-memory jester in King Java's court

Say goodbye to long setup times in JUnit suites by mocking datasources with the H2 database engine. Easily apply SQL scripts, reset state between runs, and capture & test log output.

2022-05-09

Say goodbye to long setup times in JUnit suites by mocking datasources with the H2 database engine. Easily apply SQL scripts, reset state between runs, and capture & test log output.

2022-04-29
Smoothing out the shell with Nacar

Introducing Nacar, an open-source tool to create interactive text-based interfaces from simple YAML blueprints. An exercise in generative metaprogramming and creating UIs using pure Bash.

2022-04-29

Introducing Nacar, an open-source tool to create interactive text-based interfaces from simple YAML blueprints. An exercise in generative metaprogramming and creating UIs using pure Bash.

2021-11-14
The lazy Sunday guide to sailing the serverless seas

Quickly deploy APIs without leaving the comfort of the command line. Containerise your application, deploy to AWS, and route via a custom domain proxied over Cloudflare without breaking a sweat.

2021-11-14

Quickly deploy APIs without leaving the comfort of the command line. Containerise your application, deploy to AWS, and route via a custom domain proxied over Cloudflare without breaking a sweat.

2021-02-17
Where does the SqueezeCompass point?

In the wake of the early 2021 $GME short squeeze frenzy I created SqueezeCompass to rank, filter, and visualise S&P500 stocks based on metrics such as short interest.

2021-02-17

In the wake of the early 2021 $GME short squeeze frenzy I created SqueezeCompass to rank, filter, and visualise S&P500 stocks based on metrics such as short interest.