Jun 27, 2026
Improving Automated Code Review Performance: Examining Impacts of Varying Model and Persona on Error Detection and Resolution —
Background With the adoption of agentic coding tools, the majority of code currently written has been written by AI. Usage varies by company, domain, and language, but Google and Anthropic put the share of new code generated by AI at their companies at 75% and 80% respectively. As more code is generated by LLMs, developing accurate LLM-led reviewing protocols will be essential to developing functional, maintainable code at high velocity.…
May 30, 2026
Using Artificial Intelligence to Enable All-To-All-language Communication using Existing Technology —
Summary I made a web app that enables all-to-all language communication between five different languages. This was a step function change from the previous setup (which used human translators who could translate from English to a given language) to a setup where a speaker in any of the five languages could be understood by any of the other languages. I’ll be sharing some of the things I learned during the process and some thoughts on how agentic coding changes software development and usage.…
Apr 11, 2026
Benchmarks for Transcription in a Latter-day Saint Context —
Context The Church of Jesus Christ of Latter-day Saints is a global faith, with over 30,000 congregations around the world, and translating materials into over 188 languages according to church statistics. For church-wide conferences, hundreds of interpreters work to provide translation of talks into various languages. However, many regional meetings and local congregations face translation needs and may not have adequate resources to enable translation.
In recent years, advances in deep learning have enabled high performance in translating languages and transcription of spoken language.…
Mar 22, 2026
Baby Cry Translator App: Methodology and Retrospective —
Over the past couple of weeks, I built a web app to detect cries. It is probably not ready for general use but it was a fun learning experience.
Engineering Approach Vibe Coding I used Claude Code to develop this app. Before writing any code, I developed a fairly detailed plan. I find that it is much easier to write code with vibe coding than to modivy existing code, so I wanted things written down beforehand as much as possible to reduce need for extensive changes in the future.…
Jun 13, 2025
Evaluating 'Thinking' in LLMs Using a Simple Puzzle —
Background A team of researchers recently published a paper claiming that large reasoning models (LRMs) are not capable of “thinking” or making logical choices using some simple logical puzzles. In the paper, LLMs (Large Language Models) and LRMs are both capable of solving the puzzles when low-complexity versions of the puzzles are presented, but when high-complexity versions are presented, both LRMs and LLMs are incapable of logic.
In this post, I’ll be referring to the Tower of Hanoi puzzle, one of the puzzles used in the paper.…
May 18, 2023
Causal discovery using Julia: A brief introduction, a simulation, and a possible use case —
In situations where the causal structure a dataset is unknown, algorithms can be used to estimate DAGs for use in causual inference.
In this blog post, I introduced the concept of a DAG (directed acyclic graph), and why a DAG is necessary for causal inference. While DAGs are a powerful tool for inferring causal effects, if an incorrect DAG is used to conduct an analysis, the resulting parameter estimates will be biased.…
May 13, 2023
Counting Musical Chord Frequencies using Burnside's Lemma —
In my last post, I wrote about using burnside’s lemma to count the number of unique ways beads could be arranged if strung on a bracelet. After writing the post, I had two other questions: how many unique possible chords could be played using the Western 12-note scale? And, as someone who listens to a lot of music, it is likely that I have heard every possible chord which can be composed?…
May 13, 2023
Estimating causal effects under sparsity using the econml package —
In this post, I’ll introduce the econml python package and use it to compare double machine learning and doubly robust learning. I’ll look at whether bootstrapping standard errors improves the coverage of confidence intervals, and I’ll also look at whether sample size influences estimation accuracy.
I. Introduction to econml
The econml package was developed by the ALICE team at microsoft research to facilitate estimation of causal effects. This package builds upon scikit-learn and presents several different algorithms for causal inference in one unified framework.…
May 13, 2023
Introduction to DAGs, and modeling of causal effects using Julia —
In this blog post, I’ll introduce the concept of Directed Acyclic Graphs (DAGs) and I’ll show how you can use simulation studies to demonstrate that unbiased effects can be estimated by blocking the backdoor paths identified in DAGs.
A DAG is a diagram which demonstrates which things cause other things in a situation of interest. Here, we have a DAG showing the relationship between social factors, smoking, and heart disease. We believe that social factors might cause smoking (for example, people of lower incomes might be more likely to smoke than people of higher incomes).…
May 13, 2023
Using Burnside's Lemma for Chord Counting: An Illustrated Guide —
One day, my friend texted me a problem out of the blue:
How many different bracelets can be made with 8 beads, where there are 2 red beads, 2 yellow beads, 2 green beads, and 2 blue beads?
(You must use all beads. Bracelets that can be transformed into one another by rotation or reflection do not count as different bracelets. That is, the bracelets have no beginning or end, no front or back.…