Bits and bytes of code

Bytes is my collection of short-form posts, tips, and things I learn as I build software.

Keeping your Git branches clean in your local repo is very helpful to make it easy to switch between branches you are currently working on. The last thing you want is a bunch of old branches that have already been merged showing in your list of branches when running git checkout.

When building complex animations, it can sometimes be difficult to fine tune animations, especially if they complete very quickly. Adjusting the duration works, but that becomes a pain when you start building multi-phase animations or when your animation includes several different sets of keyframes.

From time to time, it's helpful to send a coworker the GitHub commit URL for the latest commit in a repository. While you can navigate to GitHub, find the commit links, and manually copy it, using a custom CLI command makes this super easy!

When making a favicon for a website, it's pretty common to convert a PNG to an ICO file. There are countless online converters, but they all have gotchas, rate limits, and it's just hard to find the right one to do the job for you. With a very simple CLI command, we can do it ourselves!

In a previous byte, I discussed how the Arc browser allows a great deal of configuration for keyboard shortcuts. Another thing that I love about Arc is something you get right out of the box: the tab switcher.

I've you've ever implemented dark mode on a website, you probably have experienced that painful moment when you realize that your lovely dark themed site has an ugly white scrollbar. Thankfully, this is fixed very simply using color-scheme.

If you haven't tried the Arc browser I highly recommend giving it a try. It's a fantastic rethinking of how a web browser should work, with tons of goodies packed inside.

Using bold to emphasize text is great in certain scenarios, but it can be difficult to distinguish bold text from normal text, especially in dark mode.

Hammerspoon is a fantastic tool for automating common tasks such as window management, hotkeys, and much more. It uses Lua to allow you to interface with many low-level macOS APIs. Recently I improved my config to manage Focus (do not disturb).

macOS a robust tool for scheduling automated tasks: launchd. While quite different for those used to cron, it's a pretty great tool for scheduling jobs.