Training a Local GLaDOS TTS Voice

I pulled GLaDOS voice lines from the Portal game files, reconciled transcripts against the Portal Wiki, hand-reviewed the messy cases, and trained a local TTS model.

Read More
Training a Local GLaDOS TTS Voice

STT Benchmark: Cohere Transcribe vs Gemma 4

Gemma 4 accepts raw audio as multimodal input now, so can it match a dedicated ASR model for transcription? Ran 50 LibriSpeech samples on an RTX 3090. Not even close.

Read More
STT Benchmark: Cohere Transcribe vs Gemma 4

Toucan Corne Keymap Reminder

Working through a keymap to a new Corne layout keyboard. First time using ZMK and doing layouts via firmware files in C

Read More
Toucan Corne Keymap Reminder

PhD Advisor Analyzer Agent Experiment

An experimental targeted deep research tool I built to help in my own PhD application process. I've rebuilt it to be more robust and open sourced it to share it with the community. A working demo is available to use on my website here.

Read More
PhD Advisor Analyzer Agent Experiment

Resistance Cascade: An Agent-Based Model of Civil Resistance Dynamics

This article looks at the empirical data on protests in authoritarian countries as a function of regime type and information control, then constructs an agent based model to examine how the effect of uncertainty can help explain the differences in protest and resistance movements in these differing regime types.

Read More
Resistance Cascade: An Agent-Based Model of Civil Resistance Dynamics

Using AI

A quick jot of notes on how I use AI tools

Read More
Using AI

ML Prediction of Agent-Based Model Outcomes: Schelling's Segregation Model with 3D Manifold Predictions

Thomas Schelling's segregation model demonstrates how individual preferences can lead to complex social patterns. Here I visualize the results of a grid search across two parameters as a 3D manifold with ML outcome predictions.

Read More
ML Prediction of Agent-Based Model Outcomes: Schelling's Segregation Model with 3D Manifold Predictions