Welcome to my corner of the internet.

I work in the financial technology sector, specifically in research on automated arbitrage between electricity markets and algorithmic trading of commodity futures. I also have a Ph.D. in ultrafast condensed matter physics. Here you can find more about what I do , my side projects, and what I think about.

If you were looking to read more specifically about my scientific research, you can do so on the Siwick research group page.

Recent posts

Filtering noise with discrete wavelet transforms

Data is often noisy, containing a meaningful signal component as well as undesired perturbations. Many filtering techniques can be used to filter away noise. In this post, we'll see how to use discrete wavelet transforms to de-noise data.

Posted on 2022-11-23. Last updated on 2022-11-23 .

Chesterton's fence and why I'm not sold on the blockchain

Chesterton's fence is a principle which says that we should understand why things are the way, before we try to push for change. Cryptocurrencies based on the blockchain haven't demonstrated that they understand the reason for centralization of the current payment networks.

Posted on 2022-08-02. Last updated on 2022-08-02 .

Exploring the multiverse of possibilities all at once using monads

I'm working on a global optimization problem, trying to reduce the size of the solution set as much as possible. In this post, I'll show you how to build computations involving choices, such that we traverse the multiverse of possibilities all at once. This post gives an intuition behind the list monad in Haskell.

Posted on 2022-03-02. Last updated on 2022-03-02 .

Can you make heterogeneous lists in Haskell? Sure — as long as your intent is clear

Haskell's type system might seem restrictive sometimes. For example, heterogeneous lists are not allowed. In this post, I show how to build heterogenous collections using existential quantification -- which requires us to be explicit about our intent.

Posted on 2021-09-26. Last updated on 2022-07-06 .

In defence of the PhD prelim exam

The department of Physics at McGill University still requires PhD students to pass the old-school prelim exam. That may change in the near future. Here's why I think we should keep it.

Posted on 2021-06-12. Last updated on 2021-06-12 .

Harnessing symmetry to find the center of a diffraction pattern

Diffraction patterns are very symmetric; how hard can it be to find its center?

Posted on 2021-01-23. Last updated on 2022-02-20 .

Matplotlib for graphic design

This short post shows how I generate the banner at the top of this website programmatically using Matplotlib.

Posted on 2020-11-03. Last updated on 2020-11-05 .

The masked normalized cross-correlation and its application to image registration

For my first contribution to open-source library scikit-image, I implemented the masked normalized cross-correlation. This post details the why and how this happened.

Posted on 2019-04-30. Last updated on 2022-02-20 .

When one temperature is not enough: the two-temperature model

What if we could prepare a system with two distinct temperatures? What would it look like?

Posted on 2019-04-03. Last updated on 2021-12-14 .

Example of a Pandoc filter to abstract away CSS framework quirks

A blog post on using a Pandoc filter to help integrate the Bulma CSS framework into this website.

Posted on 2018-09-12. Last updated on 2018-10-08 .

…or you can find more in the archives.