Travis B. Hartwell

The home of Travis on the web.

Summary

Meditator. Kidney transplant recipient. On dialysis. Losing vision to retinitis pigmentosa. Little Person. Gamer. Writer. Friend.

Innovator. Problem-Solver. Software Engineer. Software toolsmith. Free and Open Source Software Advocate. Known for fixing the unfixable and driving operational efficiency by automating the disjointed and scaling the gridlocked. 15+ years experience in software packaging, dependency management, and writing custom tools and automation for everything from large-scale distributed systems to desktop GUI components and applications to general software tools. Deep expertise in infrastructure management, CI/CD pipelines and problem-solving. Proven mentor and teacher, open-source advocate and presenter at national tech conferences.

Resume

My latest resume can be found here:

Presentations and Publications

I keep a running list of publications and presentations I have given, including several presentations at national tech conferences.

List of Presentations and Publications

Current Projects

The following are recent personal projects I have been working on.

Dot Files

My dotfiles repository, with my configuration managed with Chezmoi. This includes configuration for Zsh, Doom Emacs, Ledger, Mise, and other tools. This configuration works on Mac OS and Linux.

GitHub Repository

Financial Tools

These financial tools are several tools I have written for my own use. I have been tracking my personal finances using Ledger since 2014. I have written the following tools to help with this:

  • datacleanup: tool in Python to clean up CSV files downloaded from financial institutions
  • financial-importer: tool in Rust to generate Ledger entries from CSV files based on rules configured in a TOML file
  • pricesdb-updater: tool in Rust to download daily commodity prices from Yahoo Finance and create Ledger supported pricesdb file

GitHub Repository

Past Projects

The following are personal projects I have worked on in the past but am no longer actively developing.

rbasic

rbasic is a BASIC interpreter, a la 1980's GW-BASIC. It is implemented in Rust, as a project to learn the Rust language.

Worked on from 2016 to 2017.
Old Dot Files

I previously used myrepos and vcsh to manage my personal software configurations, split up over several GitHub respositories. These configurations were used on Linux, primarily NixOS.

This configuration was split up over the following public repositories, plus some private repositories for secrets and other private configuration:

  • vcsh_mr: the manyrepos configuration.
  • vcsh_cli-misc: Miscellaneous CLI tool configuration.
  • vcsh_emacs: modular configuration for Emacs (Spacemacs).
  • local-nix: modular NixOS configuration used across 4 machines.
  • vcsh_shell: Modular shell configuration.
  • vcsh_X: configuration for X and related tools.
Worked on from 2014 to 2019.
Metaproject

Metaproject was an implementation of basic project support for Emacs. It was intended to be similar in features to the newer and now popular Projectile project.

GitHub Repository

Worked on in 2009.
Informant

Informant was a set of utilities for keeping a user informed of events. It consisted of an informant, which is the means by which the user is alerted to the occurrence of the said event, and a number of sources that "whisper" an alert to the informant when the event occurs.

It was implemented as a Gnome Panel applet or a stand alone Gtk program in the Python programming language and used the Twisted network programming framework.

Worked on from 2003 to 2004.
Small Personal Utilities

I wrote a few small useful utilities for myself and shared on various versions of my website.

These include:

  • Random Code: Archive of page on my old blog with links to code.
  • Homepage: Old homepage at USU with links to small scripts I wrote.
Worked on from 1999 to 2006.
TBMenu

I wrote this simple menu program in C++ for DOS back in 1999 and uploaded it to SimTel. In 2017, I found an archive of SimTel online, downloaded the zip file from there and uploaded the source to GitHub.

Worked on in 1999.
Open Source Contributions

I have contributed to several open source projects. As many as I can remember are listed here.

Riak

I was a contractor for Basho Technologies, the company behind the Riak distributed database and contributed fixes and features to several of the Riak open source projects during this time. I contributed to the following:

Contributed from 2015 to 2017.
Spacemacs

Spacemacs is a configuration package for Emacs. I contributed a few fixes and additional features to the project. I also gave a presentation at a conference and made some videos and blog entries about the project.

Contributed from 2015 to 2016.
NixOS

NixOS is a Linux distribution that supports declarative configuration. I contributed packaging for a few packages I was using at the time.

Contributed in 2015.
Twisted

Twisted is an event-driven networking framework for Python. I became acquainted with the project soon after learning Python back in 1999. I contributed small fixes and documentation to the project.

  • My Commits: Note that it isn't with my GitHub username, because these were done originally in Subversion and this is the repository converted to Git.
  • Twisted Web: A Tutorial: I gave a presentation on Twisted Web at PyCon DC 2003.
Actively contributed from 2001 to 2004.
Where to Find Me

The following are links to my various profiles and accounts online:

Archive

Over the years, I have had various blogs and sites that are no longer online. The following are links to those, for archive purposes, with links to archive.org. Note that not all pages on these sites are necessarily available.

Dates Used Title Description Archive Link
2011 - 2015 I Am Travis Blog Both Personal and Technical Writing link
2012 - 2014 I am Short Personal Tumblr link
2012 - 2014 Software Craftsmanship Tech Focused Tumblr link
2010 - 2011 The Software Toolsmith Technical Writing link
2003 - 2008 www.travishartwell.net Blog Both Personal and Technical Writing link
200X - 2006 nafai77 Live Journal Both Personal and Technical Writing link
2001 - 2002 Personal USU Homepage Simple Personal Homepage link