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. 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 (ldmx-sw) being developed and run on both personal computers and academic computing clusters. 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 software (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 (denv). 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.

my-first-firmware

I've started learning how to write firmware for FPGAs and its been really fun. The firmware I'm writing is mainly focused on data collection logic to interact with custom electronics designed for a Physics experiment. This repo has an early draft of a "trigger" which is used to make a quick decision on if the data under observation should be saved to disk or not, without one our experiments would quickly run out of disk space with uninteresting data.

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.

Some Posts I Like

These are mastadon toots that resonate with me. They are not my own.



@hal_pomeranz@infosec.exchange avatar

I’m a very experienced computer booper and a Luddite. Not in the way most people think the word Luddite means as somebody who stubbornly refuses to adopt technology. Rather a Luddite as in one who see and protests the use of technology to undermine the value of skilled work and the workers.



i hate ai, i like human projects
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