RSSAmplifier

Blog

Stefan@eu90h.com's blog

I write about Linux, programming, and mathematics.

eu90h.comRSS feed ↗28 posts

Latest posts

From Random Walks to the Diffusion Equation

Deriving the diffusion equation starting from the random walk.

mechagrad: Reverse-Mode Automatic Differentiation in Rust

An implementation of reverse-mode automatic differentiation in Rust.

Forward-Mode Automatic Differentiation with Dual Numbers

A simple scalar forward-mode automatic differentiation implementation using dual numbers.

The Gray-Scott Model of Autocatalytic Reactions

An exposition of the Gray-Scott model, ending with pretty pictures. Check it out!

Heat

An introduction to the Laplacian and heat diffusion. Finite difference approximations. Some numpy tricks. Let's get heated.

The Gamma Distribution

A short note on the Gamma distribution.

The Fisher Information Matrix

Connecting the Fisher Information Matrix to the Hessian of the log-likelihood.

Maximum Likelihood Estimation: A Brief Outline

A very brief note outlining the idea of maximum likelihood.

Normalizing the Gaussian Integral: The Multivariate Case

A note showing how to normalize an n-dimensional Gaussian integral.

Laplace's Method of Integration

An informal derivation of Laplace's method.

Normalizing the Gaussian Integral: The Single-Variable Case

A brief note showing how to compute a 1D Gaussian integral.

The Prosecutor's Fallacy

A short exposition of the prosecutor's fallacy.

Deriving the Matrix form of Linear Regression

A note showing how to solve a multivariate least squares regression.

Ghidra on labwc on Wayland on NixOS: A Lesson in Java UI Toolkit Weirdness

A quick note on wm impersonation to get some Java programs to render a window.

Mind Your PyO3 Allocations!

Be careful about how you allocate memory with PyO3, otherwise your computer will explode.

Disable Window Decorations and Window Switcher Menu in labwc

How to change the window switcher menu and disable window decoration in labwc.

Getting Mastodon to Run on a Low-RAM VPS

Setting up Mastodon is simple, but there are some snags in building on a low-end computer.

Setting up a Rust winit/wgpu Development Environment on Wayland under NixOS

It can be surprisingly tough to get all the dependencies in place just to be able to create a window.

Logitech g810 NixOS udev Rules

How to make the fancy keyboards light up.

A Simple Local TODO in Fish Shell

The most simple TODO system I could think of.

Helix Language Servers & NixOS

How to configure Helix language servers on NixOS.

A Limit Problem

A fun little limit problem.

Limiting a Linux Process' CPU Usage

AKA a brief intro to cgroupv2.

Fitting an AR(1) model with JAX

This short notebook shows a simple method for fitting a first-order autoregressive process with JAX.

Simple Exponential Smoothing with JAX

This notebook demonstrates simple exponential smooth models using JAX.

Logistic Regression the JAX Way

This Kaggle notebook demonstrates a simple logistic regression model for the Titanic dataset using the JAX library.

McAfee ATR CTF 2021 Writeup

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…

More Than You Ever Wanted To Know About C++ String Layouts

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.