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.
This post shows how to design efficient rolling statistics routine based on recurrence relations, as well as implementations in Haskell.
Posted on 2023-03-23. Last updated on 2023-03-23 .
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 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 .
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 .
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 .
…or you can find more in the archives.