Infinite scroll with a side of Copilot

Ben Prothe - - 4 mins read
One of my new goals for using AI as a development tool is to start trying to use it for more than just enhanced autocomplete, with some important limitations. First, I want to make sure I actually continue to learn as I code. So I don’t want to use Copilot as a starting point. Second, I don’t want to enter a “vibe coding” loop, blindly accepting changes. I had a good experience with Copilot recently with a self assigned challenge.

My Dad, CAD, and the Bad

Ben Prothe - - 5 mins read
Perspective can be a funny thing… It’s so hard to remember your historical context when you’re “up to your ass in alligators” or “in the thick of it”. Being a software engineer or any kind of tech-adjacent specialist has been a little intimidating lately with all of the AI hype. You’re probably tired of hearing about it, it’s so prevalent. Change like this stirs up anxiety and discontent. For one, there’s a change in the development workflow.

Relational Data Design and Drizzle

Ben Prothe - - 1 min read

Series: Final Project Rebuild

So, remember this where I talk picking a robust ORM solution? Well, I’ve begun to draw out my entity relationship diagram (shoutout to Lucidchart) and I am working on the problem of keeping my tables from getting “too wide”– one of the fundamental weaknesses of typical ORMs. Here are a few of the features of Drizzle that are going to save me: To create many-to-many relationships you actually create a proper join table where values other than foreign keys can live.
Overview This is a fairly large section, highlighting the process by which I’ve created the starting point for the auth and user registration for the new iteration of my bootcamp final project. I wanted to do my best to follow current best practices and build out a solid starting point for user registration and authentication. A primary reference for this work was this excellent video by Michael Guay. I like how he organizes the NestJS project and his approach seems to follow pretty solid, modern best practices, though these things seem to change all the time.
Today I’ll talk about the first step I’ve taken towards my new pet project: a total rebuild of my bootcamp final project. My team of 3 completed this project in the span of 2 weeks at the very beginning of the 2020 pandemic… as in, we had been going to classes in person, then we entered quarantine just as we got our team assignments and completed everything remotely. At the time we had only been writing code for 10 weeks.

Ref Shenanigans Kicked my Butt

Ben Prothe - - 6 mins read
Intro We all know you’re not actually supposed to try to use refs in a React app. I’m not talking about when you need to save a mutable value without causing rerenders… I’m referring to the “funny business” like attaching a ref to a DOM node or using it to lift up the API of a component. This kind of thing feels weird if you’re thinking in the “React Way”.

Shower Thought

Ben Prothe - - 1 min read
I’m working on my new creative project and reminding myself how to use Next.js (I haven’t touched it since before my last job). This is a cool framework. I’m not sure if they’ve just sold me on snake oil but if it works how it should, I’m really excited to use it and talk about it here!

Why I Made a Blog, Not a Portfolio

Ben Prothe - - 8 mins read
TL;DR For a dev like me, a portfolio doesn’t do the job of illuminating my value and could be a waste of time. Creating a blog with Hugo allows me to save time in development. A blog provides a medium through which I can share what I know and what I’m doing in smaller, bite sized chunks. I can also keep a track record while I am also working on private projects.