About

I am a software developer who has been running agility for many years. While I'm currently in Missouri and run most of my agility trials in the St. Louis area, I've lived all over the east coast.

Before becoming a software developer, I worked in the veterinary field as a licensed technician for over 15 years. While I did confirmation in my teens, agility seemed to be an amazing sport that would allow me to bond with my dogs and learn fantastic new skills.

I started my first training class just as COVID-19 was beginning take hold in early 2020 but that did not stop us. My first agility sheltie, Remy, learned quickly (much faster than I did). We began trialing in 2021 and I was immediately hooked. We attended the National Agility Championship in 2025 in Tulsa, OK and while I already knew there was no stopping us anytime soon, it solidified my need for agility.

I have added another two shelties to my household, Bishop and Rhett. Rhett completely changed the playing field. He is much more driven and faster than Remy so we struggled for a bit but its only been uphill. He's a blast to run.

Bishop does not run agility. Hip dysplasia and his eyesight have precluded him from it but that did not stop us from doing other things. He's currently training for Rally and should start competing soon.

Blog

What Is This?

Is this really another blog? Not really, I wanted a place for things that interest me, thoughts, etc.

Homelab Setup

Like many people, I set up a homelab using Docker. While most people would opt for something like Portainer, I've always liked Ubuntu Server so that's what I went with. The main part of the homelab consists of many services which are shown in the table below and then there is another setup of multiple connected computers to run Kubernetes for learning/testing scalability, etc.

Service Description
Budget Budgeting Software
Bambu Studio Bambu Studio (3D Print Slicer)
Bento PDF Many PDF tools
Calibre E-Books
Duckdns Updates IP address automatically
Gitea Git repository
Homepage Love this and find it easy to customize
IT-Tools Tons of helpful tools for IT professionals
Jellyfin Movies and Shows
Manyfold 3D print files organizer
Mealie Recipe organizer
NGINX Reverse Proxy
Portainer Docker manager
WG-Easy Wireguard VPN
Wiki.js Documentation

Gitea Repo Creation

I have two gitea instances setup, one for personal use and the other for a company. What I decided I wanted to be able to do was auto backup the company one since the personal use instance is backed up to an external NAS. Surprisingly, this was a lot eaiser than I expected. Let's explain how.

NOTE: This assumes you have admin access on both Gitea instances, if you don't, this will not work.

  1. Create tokens on for both instances
    1. Under Settings, got to Applications
    2. Generate a new token with write:admin permissions
  2. The Gitea API was used in Python (it can be found under <gitea_host>/api/swagger)
    1. The code below hopefully is self-explanatory
    2. Two branches are created on the second host, main and develop
    3. Protections are added to both branches so that neither can be pushed to directly but rather must go through merge requests
    4. Main also cannot be merged to except by the specific user
    5. The add_mirror function is what sets up the backup from the second instance to the first
  3. This was then set up to run using FastAPI through Docker and NGINX so it could be done from anywhere (in NGINX, a specific login was used so that it was protected)
  4. Potential Improvements:
    1. Use Pythons logging library instead of print statements (the Docker logs capture these so I decided it was good enough)
    2. Make it all or nothing since each step could just fail and without looking at the logs, it's not easy to know where something failed
    3. Move the URLs and tokens to an env file and load it with the library dotenv for better security

Map To Poster

This is not my code at all, I just find it incredibly interesting. The code is avaiable at maptoposter.

Have a city you love and want a map of it that looks really cool? Well that's what this does. I've included an example map that I found fascinating. There are tons of colors schemes and you can make your own. The best part is the ability to choose how much of the region you want to see.

Buffalo, NY in the noir color scheme from maptoposter

Dogs

Remy, Rhett, and Bishop in order. Probably the only picture with all three calmly standing and looking at me.

Remy

Remy recieving his first MACH (Master Agility Champion) during the Tri-County Agility Club at Westinn Kennels
Remy found a prize leaf

Rhett

Rhett becoming a sunflower after several runs

Bishop

Bishop protecting his bone from his brothers

Projects

Fur The Record

Tracking the progress of canine agility competitions and how a dog is performing over time is typically done using spreadsheets or other individual methods. This project is meant to create a singular location for all of this information.

  • Backend
    • FastAPI is used for the endpoint creation
    • Data is stored in a relational database using PostgreSQL and SQLAlchemy
    • Security through OAuth and JWT tokens provided by custom middleware
    • Logging middleware to track any issues that may occur and provide analytics for user locations, response time, etc
  • Frontend
    • Javascript for data validation, fetching/posting data to the backend
  • Key Technologies: Python, Docker, Pydantic, FastAPI, PostgreSQL, SQLAlchemy, Javascript, HTML/CSS
PostgreSQL table diagram

ASSISTT Interface Module

Science code can have many dependencies and typically has various paths to executing the algorithm(s). In order to alleviate this, the ASSISTT Interface Module (AIM) was created to allow for consistent execution using the same command along with a YAML that will vary between algorithms and is standardized when possible. This interface also allows for the algorithms to be executed in many different environments including on premise, via AWS EC2 instance, and using Docker.

  • Written in Python using an Abstract Base Class
  • Pydantic is implemented in order to verify the given configuration YAML
  • Method created to launch a Docker container and execute the interface
  • Built in log methods
    • Easy creation of one or more logs with file output and option for screen output
    • Renaming logs as needed since full standardized name may not be known upon creation
  • Allows for environment variables to be set and used in the configuration YAML via Jinja2 templating
  • Provides a data class that checks that naming schemes meet standards
  • An output YAML is automatically created for capturing all final and intermediate output along with all log files
  • Eases transition of projects between team members due to a coherent strategy in applying this interface to all science algorithms
  • Automatic testing and build of package upon commits and/or merge requests via Gitlab CI/CD Pipelines
  • Used by all algorithms at NOAA's NESDIS Common Cloud Framework
  • Key Technologies: Python, Docker, Pydantic, YAML, AWS EC2, Gitlab CI/CD

Data Support Tracking

Gathering data for economic models had previously been done manually via pulling data from web pages and using Excel to order this data and calculate other needed items. This data is now gathered automatically which led to a significant decrease in time spent gathering data.

  • Data is gathered using several libraries within Python
  • Pandas, Numpy, and/or SciPy is used for calculations, ordering and adding internal mnemonic codes
  • Verification of data and potential historical changes using comparison techniques with previously gathered data
  • Key Technologies: Python, Selenium, Requests, PyPDF2, HTTPX

Data Dissemination System

Previously data was transferred to clients through emailing Excel spreadsheets. Several APIs were created to allow clients to instead pull data in several ways: full sets, filtered subsets, and through zip files as per the client needs.

  • Used FastAPI and authentication tokens to manage security and which databases each client was able to access
  • Validation for queries was implemented along with the ability to find all possible values for a given search key
  • Pulling data through time was made available in order to easily view how the economic model predictions have changed
  • Deployed via Docker to maintain isolation of several other systems
  • Key Technologies: Python, FastAPI, SQLite3

CV

Profile

  • 15+ years of programming experience
  • Leading the standardization of an interface to allow for concise execution of scientific algorithms
  • Managing a team of developers to simplify data collection and economic model building

Education

  • Bachelor of Science
  • George Mason University
  • Major: Chemistry
  • Minor: Computational & Data Sciences
  • Associate of Arts
  • Valencia College
  • Major: Chemistry

Experience

Software Developer IIMarch 2023 – Current

GAMA-1 Technologies

  • 98.3% on time delivery
  • Succesfully taught Docker usage to all other Integrators
  • ASSISTT Interface Module (AIM)
    • Project Owner and Lead Developer
    • Creation of a standardized class that allows for science code to be executed with a single command and configuration YAML
    • Used by all algorithms at NOAA's NESDIS Common Cloud Framework
  • Awarded NESDIS Operating Principle II: Team Work
    • Consistently demonstrated exceptional integration skills
    • Reliability was a key factor in several projects' success
    • Expertise and dedication to high performance
    • Results-focused approach and the ability to work effectively with colleagues have been crucial in driving project success
  • Presented with the Unseen Hero Award from The Office of Low Earth Orbit Observations for work on the Cross Track Sounder Sensor Data Record (CrIS SDR)
  • Key Technologies: Python, Docker, Pydantic, YAML, AWS EC2, CI/CD Pipeline

Software Architect (Consultant)Nov 2022 – Current

World Agricultural Economic &
Environmental Services

  • Supervising a team of developers
  • Data Support Tracking
    • Lead Architect and Developer
    • Framework for gathering data through APIs, PDFs, databases, and websites to support economic models
    • This replaces a manual system decreasing time from days to minutes
  • Data Dissemination System
    • Lead Architect and Developer
    • Creation of APIs used to deliver data to clients
    • Replaces emailing Excel files and allows for users to filter data pulling only what is needed, track past data for comparison, etc.
  • Key Technologies: Python, FastAPI, Selenium, PyPDF2, HTTPX

Graduate Research AssistantAug 2017 – Aug 2022

University of Missouri

  • Studying hydrogen species retention and transport in fusion materials
  • Use of molecular dynamics via super-computing facilities at Argonne National Laboratory and National Energy Research Scientific Computing Center
  • Data (several terabytes worth) were analyzed using various techniques
  • Key Technologies: Python, C++, Fortran, MPI

Graduate Teaching AssistantAug 2017 – May 2018

University of Missouri

  • Assisted in grading, holding office hours, and supplying needed help for students in Thermodynamics II, Mass and Energy Balance, and Unit Operations Laboratory
  • Within Unit Operations, preparation for laboratory experiments and aiding students in proper techniques and safety were employed
  • Aided in the creation of new experiments including centrifugal separation and stirring/mixing labs
  • Repaired machinery and computer setups as needed

Data Analyst & Research AssociateSept 2016 – July 2017

George Mason University

  • Aided Dr. Rebecca Jones in finding novel methods for interpreting and analyzing data sets from the tutoring center and learning assistants within the Chemistry Department
  • The focus of this analysis was to find if there was a significant difference in student grades between the two methods

Internal Medicine Veterinary TechnicianJune 2016 – July 2017

VCA Southpaws Veterinary Specialists & Emergency Center

  • IV and urinary catheterization
  • All forms of venipuncture as well as cystocentesis
  • Performing and reading all types of lab work, including urinalysis, fecals, blood smears
  • All types of fluid therapy, including colloids and crystalloids, blood and plasma transfusions, and CRI infusions
  • Assessing patients: monitoring and maintaining fluid therapy, TPR, evaluating for pain and communicating with doctors on duty of any changes
  • Client communication and education
  • Providing compassion, especially in cases of euthanasia
  • Other veterinary technician duties as required.

Research AssistantMay 2014 – Aug 2016

Bishop Laboratory, George Mason University

  • Performing monomer synthesis and polymerization along with hydrogel particle synthesis
  • Verification of results with nuclear magnetic resonance spectroscopy using a Bruker DPX 400 and XWINNMR software
  • Developing Excel Macro code for expediting tandem mass spectroscopy data processing
  • Database creation using Microsoft Access for further analysis of all data simultaneously

Undergraduate Teaching AssistantAug 2015 – May 2016

George Mason University

  • Computating for Scientists
    • Point of Contact for all teaching assistants during the Fall of 2015
    • Providing office hours and other assistance as needed for the coursework
    • Procotring exams and grading homework
  • Analytical and Quantitative Chemistry
    • Assistance to all students in an active learning with technology course

Undergraduate ScholarJan 2015 – May 2015

George Mason University

  • Research funded by an internal grant awarded via research proposal
  • Performed monomer synthesis and polymerization for antimicrobial peptide harvesting

Emergency Veterinary TechnicianDec 2015 – May 2016

Artemis Veterinary Emergency & Specialty Service

  • Triaging patients
  • All aspects of surgery including inducing and maintaining anesthesia, surgical prep and assistance, surgical packs and sterile technique
  • Assessing and caring for ICU and post-operative patients
  • Other veterinary technician duties as required

Emergency Veterinary TechnicianJuly 2012 – Dec 2015

Regional Veterinary Referral Center

  • Duties as above

Supervisory Emergency Veterinary TechnicianFeb 2007 – July 2012

Veterinary Emergency Clinic

  • Management of all staff on shift, excluding Veterinarians
  • Allocating technician responsibilities and handling client complaints and/or issues regarding payment
  • Handling and surgical procedures of exotic animals
  • All other duties as noted above

Emergency Veterinary TechnicianJune 2006 – Dec 2006

Affiliated Pet Emergency Services

  • Duties as noted above excluding supervisory responsibilities

Veterinary TechnicianApr 2006 – Aug 2006

Millhopper Veterinary Medical Center

  • Duties as noted above excluding supervisory responsibilities

Veterinary and Electrocardiogram TechnicianNov 2005 – Mar 2026

Institute of Veterinary Specialists

  • Performing electrocardiograms via telephone transmission
  • Assisting with improving the signal output for a more diagnostically appropriate sample
  • Traveling with Dr. Davin Borde to perform mobile echocardiograms
  • Duties as noted above excluding supervisory and emergency/internal medicine responsibilities

Veterinary TechnicianSept 2003 – Nov 2005

Town & Country Veterinary Clinic

  • Duties as noted above excluding supervisory and emergency/internal medicine responsibilities

License & Afilliations

  • Veterniary Technician License
  • Commonwealth of Virginia
  • Granted: July 2012
  • Current Inactive
  • Mensa Member
  • Mensa International
  • Granted: 2014

Presentations

Oral Presentations

  1. B.S. Laufer, A.C. Leiva, K.D. Hammond. “Elucidating the Mechanisms of Hydrogen Blister Formation in Plasma-Facing Tungsten.” 2022 AIChE Annual Meeting. Phoenix, Arizona. November, 2022.
  2. B.S. Laufer, K. Distefano. M.C. Herrington, K.D. Hammond. “Effects of Displacement Cascades on Helium and Hydrogen Near Grain Boundaries in Tungsten.” 63rd Annual Meeting of the APS Division of Plasma Physics. Pittsburgh, Pennsylvania. November 11th, 2021.
  3. B.S. Laufer, K.D. Hammond. “Hydrogen and Helium Near Grain Boundaries in Plasma-Facing Tungsten.” 63rd Annual Meeting of the APS Division of Plasma Physics. Pittsburgh, Pennsylvania. November 11th, 2021.
  4. B.S. Laufer, K.D. Hammond. “Molecular Dynamics Simulations of Hydrogen Retention in Single-Crystal and Polycrystalline Tungsten.” 2021 AIChE Annual Meeting. Boston, Massachusetts. November 9th, 2021.
  5. B.S. Laufer, A.R.M. Iasir, K.D. Hammond. “Simulations of Helium and Hydrogen Interactions with Interfaces in Tungsten and Lithium.” ICFRM20, Online Conference. October 27th, 2021.
  6. B. Laufer, K.D. Hammond. Invited Lightning/Flash Talk at the 2020 Virtual MRS Spring/Fall Meeting & Exhibit, Online Conference. December 4th, 2020.
  7. B. Laufer, K.D. Hammond. “Simulation of Hydrogen Retention in Polycrystalline Tungsten.” 2020 Virtual MRS Spring/Fall Meeting & Exhibit, Online Conference. November 27th - December 4th, 2020.
  8. B. Laufer, K.D. Hammond. “Simulation of the Effect of Hydrogen Repulsion on Clustering and Retention in Tungsten.” 60th Annual Meeting of the APS Division of Plasma Physics, Portland, Oregon. November 7th, 2018.
  9. B. Laufer. “Monomer Synthesis and Polymerization for Antimicrobial Peptide Harvesting.” George Mason University Undergraduate Research Scholars Program, Fairfax, Virginia. May 8th, 2015.
  10. B. Laufer. “Tools for Antimicrobial Peptide Discovery.” George Mason University Department of Chemistry and Biochemistry, Fairfax, Virginia. May 6th, 2015.

Poster Presentations

  1. A.C. Leiva, B.S. Laufer, K.D. Hammond. “Effects of Hydrogen on the Mechanical Properties of Grain Boundaries in Plasma-Facing Tungsten.” Undergraduate Research Week at the University of Missouri. April 18th, 2022.
  2. B.S. Laufer, K.D. Hammond. “Simulations of Hydrogen Retention in Mono- and Polycrystalline Tungsten.” University of Missouri Engineering Research Open House. October 26th, 2021.
  3. B.S. Laufer, K.D. Hammond. “Simulations of Hydrogen Retention in Mono- and Polycrystalline Tungsten.” PFMC-20, Online Conference. May 21st, 2021.
  4. M.C. Herrington, B.S. Laufer, K.D. Hammond. “Effects of Neutron Damage on Hydrogen Near Grain Boundaries in Tungsten.” Research Experiences for Undergraduates at the University of Missouri, Columbia, Missouri. July 23rd, 2021.
  5. K. Distefano, B. Laufer, K.D. Hammond. “Effects of Neutron Induced Displacement Cascades on Helium Bubbles in Tungsten.” Research Experiences for Undergraduates at the University of Missouri, Columbia, Missouri. July 25th, 2019.
  6. S. Kwon, B. Laufer, A. Palmer, Dr. K. Pettigrew. “Evaluating the Efficiency of Teaching Students with Active Learning with Technology Course in Chemistry.” George Mason University Department of Chemistry and Biochemistry, Fairfax, Virginia. December 5th, 2014.