👋 Hey, I’m Tim Hopper!

I’m an experienced machine learning platform engineer and Python developer. You can check out my resume at resume.tdhopper.com.

For over 10 years, I’ve helped companies solve business problems with machine learning in domains such as banking, cybersecurity, environmental science, and weather forecasting. I see my role as helping data scientists and researchers shorten feedback loops and spend time on their business problems (instead of fussing with cloud resources).

I’m also excited about developer productivity, especially in Python development. I am (slowly) working on an ebook on Python developer tooling and like to help teams use Python more effectively.

✍🏻 Writings:

tdhopper.com has been a place for my thoughts and writings since grad school. If you’re new here, start with these:

🖥️ Personal Projects:

I have an occasional podcast in which I talk to friends about things they’re interested in. You can find it in your podcast directory or at podcast.tdhopper.com.

Years ago, I created Should I Get a Phd? where I interviewed nine friends about whether a young, bright student should consider pursuing a PhD. This is the resource I wish I’d had before starting a PhD program, and it’s been useful to many.

Python Plotting for Exploratory Data Analysis is a Rosetta Stone for Python plotting libraries, and it also compares them to the GOAT of plotting libraries: ggplot.

I created Notes on Dirichlet Processes after working on a DARPA-funded open source project for developing Bayesian nonparametric models in Python. I did a lot of work to understand Bayesian nonparametrics and derive the Gibbs sampler for Hierarchical Dirichlet Processes. Notes on Dirichlet Processes shares what I learned for the benefit of others.

I enjoy wildlife and nature photography in my free time. dothopper photo is my gallary.

Free Disk Space is a little site I maintain with commands for freeing up disk space on your computer.

⌨️ Open Source:

I love to contribute to open source as I’m able. I’ve contributed to libraries like cpython, datamicroscopes, Streamparse, Conda, lda, and Pandas.

👨🏻‍💻 Social Media:

You can find me on Twitter and LinkedIn.

I love Twitter and have written some bangers over the years.

🗣️ Talks:

I’ve been speaking at conferences and meetups for many years. I keep a list of my recorded talks here. If you’d like to get a taste of my talks, start with Five semesters of linear algebra and all I do is solve Python dependency problems or Challenges in Applying Machine Learning to Cybersecurity.

Featured image of post No Silver Bullet

No Silver Bullet

In 1986, Fred Brooks published "No Silver Bullet—Essence and Accident in Software Engineering" where he argues that there is no silver bullet that "to make software costs drop as rapidly as computer hardware costs do".

Featured image of post Code Review Guidelines for Data Science Teams

Code Review Guidelines for Data Science Teams

A proposed code review guideline for data science teams, emphasizing the benefits of code reviews, what they are not intended for, and offering detailed advice for both submitting and reviewing pull requests.

FOOTER