GitHub Squash Merges are a Menace
I love squash merging. I think it’s the simplest way to maintain a legible commit history on main, a shared dev branch, etc. It’s easy for most people to follow, and it doesn’t require you to be too Big Brained about git. GitHub even provides a convenient interface for doing this, right in the pull request UI!
But GitHub’s squash merge workflow undermines the biggest benefits of squash merges: clear, simple, atomic commit messages that explain what each commit does.
How We Do Our Best Work
Dan Luu tweeted about some great work interns that he has mentored accomplished at Twitter:
One intern did https://t.co/nsFW20j9Hm and another did interesting data analysis then built a working prototype for across the fleet profiling that others were able to use to find real inefficiencies.
— Dan Luu (@danluu) August 31, 2022
Those are things that could go into a staff promo packet as a major project.
Thoughts on OKRs
OKRs are one of those business ideas that are just simple enough to be dangerous. You think you understand it in a day, and you can see where your company is falling short: lacking focus and underdelivering. You see how clear, measurable goals could improve the situation.
Here’s the one sentence version: You set objectives, and for each objective come up with several key results that you can measure to see if you met the objectives.
You Should Squash Merge to main
Every so often I’ll see a meme on Twitter like: and it makes me so mad. For good reason! OSS project repositories that support merge commits to main are usually littered with useless comments like: “Merge change from $USER, $PR”. It makes the commit history on main utterly useless and you get to check the various feature branches in a never ending snake of commits to find out what the hell changed.
Why I (Still) Use Vim
Every so often I wonder if I’m making trouble for myself by doing all of my typing in vim. Writing for this blog, writing engineering plans and design documents, and writing code. There are tools that are made especially for doing these jobs, and vim certainly doesn’t have any facility for making diagrams.
All vim can really do is edit a bunch of bytes, trying to represent them as formatted text.