moving slow and fixing things

cartoon orange cat sleepily looking out from under a blanket while wearing a bowtie
picture of a white man (Tom) smiling and looking into the camera

Tom Eichlersmith

he/him/his

I like to learn and understand new things.


This page is just one example: a single hand-written HTML file with CSS style manually made. It may not be the "prettiest" or the most "modern", but its mine and I understand each piece of it.

Here are a few more of my projects where I am trying my best to learn, create, and share.


zen-zine

A Typst package to help typeset an 8-page or 16-page zine about your favorite topic. I started this project after wanting to have a zine about my PhD thesis and it has become a fun project where I learn more about the inner workings of Typst. My zine library is small but is available online and is something I am proud of.

denv

POSIX-sh compliant program to uniformly interact with docker, podman, Apptainer, and Singularity container runners. I originally developed this in the context of a large C++/Python project on both personal computers and academic computing clusters and it has given me a good field on which to learn the details of container runners.

ldmx-sw

A Physics experiment's data simulation and reconstruction software written in C++ which I've become a large contributor to as I worked on the experiment throughout my PhD thesis studies. Many of my other repositories are related work to this experiment and its softare (mostly prefixed with ldmx-).

I am particularly pround of my contributions to the documentation of this project and our usage of a containerized development eco-system in order to make it easier for new contributors to be on boarded. Since this is a Physics experiment, lowering the (programming) barrier to entry is paramount in order to make sure we can harness the people-power we have access to.

hdtree

Storage of columnar yet ragged data with a runtime-defined schema with HDF5 files. This was my attempt to mimic ROOT's TTree interaction mode (and data "shape") but using a different file format (HDF5 instead of ROOT). While not successful in the sense of adoption, I found it useful in learning complicated C++ coding concepts surrounding the use of templates to make "user plugin" code require less boilerplate.

cribbage

An unpublished Rust crate for simulating and analyzing hands of the card game cribbage.

I wanted to learn some Rust and I like playing cribbage, so here we are. Maybe if I have some extra mental energy in the future, I will return to it.

RandomManifoldWalks

My undergraduate senior thesis in mathematics where I studied how random walks behaved depending on the shape of the surface they resided upon. My first large(ish) C++ project, but one I always think of returning to.
cartoon of Calvin thinking of relaxing in a tree with his tiger-buddy Hobbes

I created this image from combining multiple drawings made by Bill Waterson. Credit to Bill Waterson, masterful creator of Calvin and Hobbes