Tim Hopper Profile picture
👨🏻‍💻 machine learning engineer 🐦 math and programming jokes 🤫 Writing https://t.co/9WzGnMWMIx.
Feb 28, 2022 7 tweets 2 min read
Many teams require "code review" without putting any effort into establishing a common understanding of that that means.

It's worth taking time as a team to establish a common understand of "code review".

Here are some principles I recommend to my teams: Advantages of code review:
‣ Code correctness: uncover bugs
‣ Design feedback: manage code-base complexity
‣ Mutual learning: reviewer & contributor teach one another
‣ Regression protection: reduce fear of future edits
Nov 2, 2021 9 tweets 3 min read
A thread about a simple tool that has been transformative for my teams data science work:

I provide engineering and infra support for a small data science team who work in Python. Our team workflow was improved in 2021 is a data cataloging tool called Intake (intake.readthedocs.io/en/latest/inde…) by @anacondainc.

We deal with data in a variety of formats. Data arrives in various ways: auto loaded into buckets, by email, as transformations of other datasets, etc.
Jan 20, 2020 21 tweets 3 min read
🧵 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".

Software progress doesn't follow Moore's Law. Managers characterize software projects as "usually innocent and straightforward, but... capable of becoming a monster of missed schedules, blown budgets, and flawed products."

Ouch.
Sep 10, 2019 13 tweets 3 min read
Talking to my team today about new-to-Python 3 features we could/should be using.

1. Newest versions of libraries like numpy, pandas, dask, and scikit that have dropped Python 2 support. f-strings!
May 9, 2019 11 tweets 2 min read
Nine Challenges in Applying Machine Learning to Cybersecurity

1️⃣Defining the problem
2️⃣Labeled data
3️⃣Cost of being wrong
4️⃣Model decay
5️⃣Adversarial actors
6️⃣Biased feedback Loops
7️⃣Data access
8️⃣Model interpretability
9️⃣Model instability

1️⃣ Defining the problem.

You can't accurately mitigate malicious activity unless you can define malicious activity.
Mar 25, 2019 15 tweets 3 min read
Knuth explains his view that if you want to understand an algorithm, you have to first teach a computer to do it.

Knuth is skeptical of Dijkstra's attitude that algorithms written on paper are good enough.

Knuth was able to "retire" from Stanford at 52 with money saved and royalties from "The Art of Computer Programming" to devote himself to furthering "The Art of Computer Programming".