<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Jon Deaton's personal website</title><link>https://jondeaton.github.io/</link><description>Recent content in Home on Jon Deaton's personal website</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 13 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jondeaton.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>*Premeditatio malorum* and anxiety</title><link>https://jondeaton.github.io/post/premeditatio_malorum/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/post/premeditatio_malorum/</guid><description>&lt;p>Stoic wisdom advocates practice of &lt;em>premeditatio malorum&lt;/em> — the continuous visualization
of worst-case scenarios. This negative visualization is said to inoculate one’s
wellbeing against inevitable misfortune and strengthen gratitude for the everyday. The
recommendation rests on the same intuition that derives the famous equality:&lt;/p>
&lt;p>&lt;strong>Happiness = Reality - Expectations&lt;/strong>.&lt;/p>
&lt;p>The goal of negative visualization is not merely to recalibrate one’s internal
assessment of what to expect from the world, but to fundamentally &lt;em>mis&lt;/em>-calibrate it
such that the formula tends positive. The stoic strives not to maximize the equation,
but to guard against it ever falling below zero. In modern terms, its tampering with
one&amp;rsquo;s own internal &amp;ldquo;dopamine reward prediction error&amp;rdquo; by hacking the prediction.&lt;/p></description></item><item><title>Hadamard Conjugation</title><link>https://jondeaton.github.io/draft/hadamard_conj/</link><pubDate>Sat, 27 Jul 2024 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/draft/hadamard_conj/</guid><description>&lt;h2 id="hadamard-conjugation">Hadamard Conjugation&lt;/h2>
&lt;p>On the wikipedia page for the Hadamard-Walsh Transform, you&amp;rsquo;ll find a near
incomprehensible section the transform&amp;rsquo;s application in mollecular phylogenetics.&lt;/p>
&lt;p>It turns out that whats going on here really isn&amp;rsquo;t that complicated, but is merely being
obfuscated by unnecessary jargon (as biologists tend) like &amp;ldquo;Klein group&amp;rdquo;.&lt;/p>
&lt;p>The &amp;ldquo;Klein group&amp;rdquo; is really &amp;ldquo;two bit xor&amp;rdquo;.&lt;/p>
&lt;p>01 01 10
10 11 11&lt;/p>
&lt;hr>
&lt;p>11 10 01&lt;/p>
&lt;p>In a phylogenetic tree T, there are&lt;/p></description></item><item><title>Associative Boundary Resetting for SSMs (Mamba)</title><link>https://jondeaton.github.io/draft/s6_reset/</link><pubDate>Wed, 21 Feb 2024 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/draft/s6_reset/</guid><description>&lt;p>This post is about a technical detail of boundary resetting for Selective State Space
Models (S6) like &lt;a href="https://arxiv.org/abs/2312.00752">Mamba&lt;/a>. I discuss boundary resetting
for Selective SSMs, and give an implementaiton that enables resetting at boundaries
without sacrificing the associativity of the binary scan operation, thereby maintaining
parallelizability.&lt;/p>
&lt;p>This model architecture was introduced by Albert Gu, Tri Dao in the paper &amp;ldquo;Mamba:
Linear-Time Sequence Modeling with Selective State Spaces&amp;rdquo; and has gained attention as a
potential alternative architecture to transformers.&lt;/p></description></item><item><title>Applying AI to Biological Data: Challenges and Lessons</title><link>https://jondeaton.github.io/draft/bio_ai/</link><pubDate>Thu, 05 Oct 2023 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/draft/bio_ai/</guid><description>&lt;p>My work in the past few years has focused on translation of methods underlying the
remarkable advances in AI and NLP to biological sequence design problems.&lt;/p>
&lt;p>Many of the most successful algorithms in NLP can be translated with little modification
to operate on biological sequences rather than natural language. Take for example the
influential Evolutionary Scale Model (ESM) which is basically just the BERT masked-token
prediction task applied to protein sequences.&lt;/p></description></item><item><title>Distributed Computing with Custom Beowulf Cluster</title><link>https://jondeaton.github.io/post/beowulf-part3/</link><pubDate>Mon, 04 Dec 2017 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/post/beowulf-part3/</guid><description>&lt;p>&lt;em>Originally published on &lt;a href="https://jondeaton.wordpress.com/2018/12/04/parallel-computing-with-custom-beowulf-cluster/">wordpress&lt;/a>&lt;/em>&lt;/p>
&lt;p>&lt;img 
src="https://jondeaton.github.io/images/cluster_blog/cluster.webp" 
alt="Assembled Cluster"
style="width: 300px; float: right; margin-left: 10px; margin-bottom: 10px;" 
/>&lt;/p>
&lt;p>In my last two blog posts, I discussed how I assembled and configured a distributed
computing cluster using some old laptops and Raspberry Pis. In this post I will discuss
using this cluster for developing distributed computing tasks in C++ using MPI. The
distributed application that I developed is a DNA k-mer counter.&lt;/p>
&lt;h2 id="background-on-dna-sequence-analysis">Background on DNA Sequence analysis&lt;/h2>
&lt;p>In biology, the analysis of DNA sequences is critical in understanding biologic
systems. Many DNA analysis algorithms focus on identifying genes (the functional units
that DNA encodes), however, some DNA analysis algorithms focus on other features of DNA
sequences. One alternate approach is analyzing the “k-mer” content of a DNA sequence.
K-mers are short sub-sequences of a DNA sequence of length k. Many DNA analysis
algorithms make conclusions about biologic systems based on the abundances of each k-mer
in the DNA sequence. Other k-mer based metrics include the number of unique k-mers in a
DNA sequence and the shape of the distribution of k-mer frequencies. In my undergraduate
research, I used the frequencies of k-mers in DNA sequences to identify novel viruses.&lt;/p></description></item><item><title>Building a Beowulf Cluster from old MacBooks: Part 2</title><link>https://jondeaton.github.io/post/beofulf-part2/</link><pubDate>Sun, 08 Oct 2017 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/post/beofulf-part2/</guid><description>&lt;p>&lt;em>Originally published on &lt;a href="https://jondeaton.wordpress.com/2017/10/08/building-a-beowulf-cluster-from-old-macbooks-part-2/">wordpress&lt;/a>&lt;/em>&lt;/p>
&lt;p>&lt;img 
src="https://jondeaton.github.io/images/cluster_blog/cluster.webp" 
alt="Assembled Cluster"
style="width: 300px; float: right; margin-left: 10px; margin-bottom: 10px;" 
/>&lt;/p>
&lt;p>When we left off at part 1, we had ArchLinux installed on each of the computers in the
cluster, and each is also running an SSH server so that is can be accessed remotely. The
next step is to set up a shared file system that each node has access to. This will be
very helpful later when coordinating distributed tasks, if for instance we are
processing a bunch of files and we need each node to have access to any of the files.&lt;/p></description></item><item><title>Building a Beowulf Cluster from old MacBooks: Part 1</title><link>https://jondeaton.github.io/post/beowulf-part1/</link><pubDate>Sun, 01 Oct 2017 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/post/beowulf-part1/</guid><description>&lt;p>&lt;em>Originally published on &lt;a href="https://jondeaton.wordpress.com/2017/10/01/building-a-beowulf-cluster-from-old-macbooks-part-1/">wordpress&lt;/a>&lt;/em>&lt;/p>
&lt;p>&lt;img 
src="https://jondeaton.github.io/images/cluster_blog/cluster.webp" 
alt="Assembled Cluster"
style="width: 300px; float: right; margin-left: 10px; margin-bottom: 10px;" 
/>&lt;/p>
&lt;p>My family uses their laptops a lot, and they tend to get them replaced after several
years. A year ago, I scrounged around our house and rounded up every old computer that I
could find with the hope of putting them together to make some kind of super computer.&lt;/p>
&lt;p>Five old MacBook Pros in hand (some very old), I did some research and discovered that
indeed I could put them to use in what is called a “Beowulf cluster“. A Beowulf cluster
is a collection of computers connected through a (hopefully fast) network connection so
that they can coordinate parallel and distributed computing tasks. In the next few blog
posts, I’ll go into detail about how I turned a these discarded laptops that would have
never been used again into a cluster that I use for distributed computing.&lt;/p></description></item><item><title/><link>https://jondeaton.github.io/other/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/other/</guid><description>&lt;h2 id="mentorship">Mentorship&lt;/h2>
&lt;ul>
&lt;li>Hosted AI resident &lt;a href="https://wukevin.github.io/">Kevin Wu&lt;/a> at Google X&lt;/li>
&lt;li>Hosted AI resident &lt;a href="https://www.francesding.com/">Frances Ding&lt;/a> at Google X&lt;/li>
&lt;li>Hosted research intern &lt;a href="https://ckbjimmy.github.io/">Wei-Hung Weng&lt;/a> at Google Research&lt;/li>
&lt;/ul>
&lt;h2 id="honors-and-awards">Honors and Awards&lt;/h2>
&lt;ul>
&lt;li>2017 Tau Beta Pi National Engineering Honors Society Member&lt;/li>
&lt;li>2015 NCAA First Team Academic All American&lt;/li>
&lt;li>2014 NCAA First Team Academic All American&lt;/li>
&lt;li>2013 NCAA First Team Academic All American&lt;/li>
&lt;li>2013 Lincoln D. Granniss Yale University Scholarship, Dwight Church Award for the Outstanding Senior&lt;/li>
&lt;/ul>
&lt;h2 id="volunteer-work-2015">Volunteer Work (2015)&lt;/h2>
&lt;p>I volunteered in a neurology unit at the Stanford Hospital and Clinics where I helped
nurses and secretaries accomplish tasks throughout the unit. I also interacted with
patients and their friends and family to improve their overall experience at the
hospital.&lt;/p></description></item><item><title>Artistic Gymnastics</title><link>https://jondeaton.github.io/gymnastics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jondeaton.github.io/gymnastics/</guid><description>&lt;h2 id="usa-junior-national-team-member">USA Junior National Team Member&lt;/h2>
&lt;p>I was a member of the &lt;a href="https://usagym.org/pages/athletes/athleteListDetail.html?id=113855">USA Junior
National&lt;/a>
team from 2008 - 2013. To become a member of the national team I placed within
the top seven gymnastics of my age group at national championships. Being on the
national team earned me the opportunity to train at week-long training camps at
the USA Olympic Training Center in Colorado Springs, CO several times a year.&lt;/p>
&lt;div align="center">
 &lt;iframe
 width="560" height="315" src="https://www.youtube.com/embed/4DO6WHEYfFo"
 title="YouTube video player"
 frameborder="0" allow="accelerometer; autoplay; clipboard-write;
 encrypted-media; gyroscope; picture-in-picture; web-share"
 allowfullscreen>
 &lt;/iframe>
 &lt;br>
 &lt;iframe
 width="560" height="315" src="https://www.youtube.com/embed/rHvJpavgs6s"
 title="YouTube video player"
 frameborder="0" allow="accelerometer; autoplay; clipboard-write;
 encrypted-media; gyroscope; picture-in-picture; web-share"
 allowfullscreen>
 &lt;/iframe>
&lt;/div>
&lt;div class="caption">
 Competing at the Junior national champonships on Floor and Vault.
&lt;/div>
&lt;p>&lt;img 
src="https://jondeaton.github.io/images/gymnastics/china_USA-1400.webp" 
alt="Assembled Cluster"
style="width: 300px; float: center; margin-left: 10px; margin-bottom: 10px;" 
/>&lt;/p></description></item></channel></rss>