Ai Tooling
Transitioning to using AI tools
Despite working in the applied AI field for the last couple of years, I’ll admit that for a while I was resisting using it in my daily life, or my coding. This post is about transitioning to comfortably using AI, while leaving room for growth.
At work, I found early on that LLMs could be extremely helpful for analyzing data in minutes, which would otherwise take a human hours or even days. But I have concerns about privacy, I have a lot of friends who are vehemently against AI (for various reasons I won’t go into here), and I didn’t have great ideas about use cases in my personal life where I thought AI could really help (and wouldn’t steer me in the wrong direction). For some things, it still felt better to ask humans for advice.
Evaluating Eval Tooling
This post is about things I wish all eval tools provided (but many don’t).
Over the last couple of years, I’ve used several different eval tools, from home-grown and pre-release products, to open source and startup-built tools with wide adoption. Most of them had inconsistent features at best, and glaring omissions for what I thought were obvious features, at worst.
Now, to be fair, what I’m asking for from an eval tool is kind of a lot. I want something that can
Remote Work Best Practices
Recently, I’ve been surprised to note how many companies aren’t just returning to offices (ugh, open offices are the worst!), but are still actively unwilling to do remote work well.
Here are some hints for things that I’ve learned can be helpful, after working remotely for a few years at a variety of companies - some that were remote-first or remote-only, and some that didn’t have mature practices around it:
Against Demo Driven Development
Some folks love doing demo days, but I find it sometimes gets in the way of actual work, creates more work in the long run, and/or can be downright demoralizing (especially to backend teams). Here’s why.
What is demo-driven development?
• Building something specifically to be able to show it off
• Rushing to get stuff in before an arbitrary deadline
• A way to get people motivated by an audience (positive) or shame (negative)
Vibe Coding
Some observations on vibe coding
I get a lot of questions about working with LLMs. Something I hear people discussing a lot is whether AI-generated code is better, or worse, or just more evil than human-generated code. I don’t think it’s an either/or question. To me, it’s just another tool: like most tools, there are ways to use them for good, or as weapons.
I think vibe coding is great if you need to write a one-off script that isn’t intended to be part of production code. For example, I asked Claude to help me come up with ways to generate fairly large test data sets for my last project, and it decided to write me a script to do it. This worked beautifully for what I needed, and saved me a ton of time. I did have to iterate on the prompt a bit to get it to do what I wanted, and that was a little nerve-wracking, so I saved off the different versions of the code (because sure enough, sometimes it got worse in ways I didn’t expect).
On Grief and Resources
I’ve been doing a lot of work around grief lately.
Both of my parents died in 2023. Two other friends also died in 2023 - both former coworkers. One was in his mid-thirties and had a rare brain tumor; the other died from COVID.
My dad’s death last June came after several months in the ICU. He endured repeated rounds of dialysis, which he hated, and ventilator-associated pneumonia, which I hadn’t heard of before. He had opted for open-heart surgery, I think because he didn’t fully understand the risks given that he was a cancer patient for over 10 years, and like many people, believed that doctors are superheroes. I was with him, and held his hand when they turned off the machines at his request.