I’ve been using my changelog script for years to generate release notes from git commit messages. It’s saved me countless hours and helped me maintain complete, informative changelogs across all my projects. I wrote changelog in 2017 and mentioned it back in 2024. I’ve used it for every project I’ve worked on since then, and…
It’s time for my yearly roundup of my favorite tools, hardware, and projects. I’m combining everything in one post this year. You might find something new, or you might just have your own preferences validated. Feel free to add your own suggestions in the comments! It’s been an interesting year. I lost my job in…
I’ve published a repo of my own Git commands and aliases. Most of these commands started as aliases and then got more complex. All of the commands are described in the README. They’re nothing terribly complex, but I find them all useful almost every time I use Git. I’ve also included my collection of aliases.…
Recent changes in my health have made it such that some days I’m couch-bound upstairs, while my office (and primary work computer) is in the basement. This has led to some interesting solutions for my daily work. My day job at Oracle I can mostly do from my couch and my work laptop. The only…
Here we go again with my yearly roundup of my favorite stuff. I’m going to do this year in a few parts. This one will be all Mac apps, and it will the longest because Mac apps are my favorite. Best new and updated macOS apps In no particular order, here are some of my…
7 years ago I wrote about a script I was using to generate changelogs for Marked. Since then I’ve continued updating the script to work with just about all of my projects, from Xcode projects to Ruby gems to scripts that just have a VERSION file in the same directory. It can output a few…
Ok, so you may or may not have heard of my Howzit project, so I’ll begin by recapping. “Howzit” is a contraction of “how does it” that allows you to query any project with commands like howzit build or howzit deploy and get documentation, as well as automatically execute the necessary steps for a task.…