From Random Walks to the Diffusion Equation
Deriving the diffusion equation starting from the random walk.
I write about Linux, programming, and mathematics.
Deriving the diffusion equation starting from the random walk.
An implementation of reverse-mode automatic differentiation in Rust.
A simple scalar forward-mode automatic differentiation implementation using dual numbers.
An exposition of the Gray-Scott model, ending with pretty pictures. Check it out!
An introduction to the Laplacian and heat diffusion. Finite difference approximations. Some numpy tricks. Let's get heated.
A short note on the Gamma distribution.
Connecting the Fisher Information Matrix to the Hessian of the log-likelihood.
A very brief note outlining the idea of maximum likelihood.
A note showing how to normalize an n-dimensional Gaussian integral.
An informal derivation of Laplace's method.
A brief note showing how to compute a 1D Gaussian integral.
A short exposition of the prosecutor's fallacy.
A note showing how to solve a multivariate least squares regression.
A quick note on wm impersonation to get some Java programs to render a window.
Be careful about how you allocate memory with PyO3, otherwise your computer will explode.
How to change the window switcher menu and disable window decoration in labwc.
Setting up Mastodon is simple, but there are some snags in building on a low-end computer.
It can be surprisingly tough to get all the dependencies in place just to be able to create a window.
How to make the fancy keyboards light up.
The most simple TODO system I could think of.
How to configure Helix language servers on NixOS.
A fun little limit problem.
AKA a brief intro to cgroupv2.
This short notebook shows a simple method for fitting a first-order autoregressive process with JAX.
This notebook demonstrates simple exponential smooth models using JAX.
This Kaggle notebook demonstrates a simple logistic regression model for the Titanic dataset using the JAX library.
From February 5th to February 18th, 2021, McAfee's Advanced Threat Research team held a capture the flag (CTF) competition based on one held the year prior for its own employees. The challenges tested teams knowledge on topics ranging from recon, to cryptography, to rf hacking, and more. I had fun solving the challenges and learned a few things along the way. I decided to clean up the notes I had…
While working on a reverse engineering project (a malware sample written in Objective-C++), I noticed a certain motif which always appeared whenever the program was dealing with C++'s std::string objects.