Update (November 5, 2024): Ultimately, a $5 USB audio adapter will be more reliable than apps for software volume control of HDMI/DP devices. If that's an option for you, go for it. I have tried SoundSource, Sound Control, eqMac, etc. In my experience, these introduce system instability and the situation hasn't improved for 10 years. […]
Generate Mac App Icons Photoshop Action
Creating App Icons in all the required sizes for a Mac app can get pretty tedious. Here is a Photoshop action to simplify the task: Download Mac App Icon actions for Photoshop CS6+ The first thing it does is to paste the clipboard contents into a square document — so it's designed for workflows where […]
Making Sausage: Fixing a Previous Git Commit
Let's say I'm six commits ahead of master on my work branch. I've sent out a review, and find out I need to fix something on the 3rd commit. This is my workflow for fixing up the previous git commit: Get to a clean state on the work branch. (git stash if needed) Make the […]
Shuffle Algorithms for Music
Update, March 7, 2014: Improved shuffling has been rolled out on Spotify. More details at the Spotify Labs post, How to Shuffle Songs. Lots of users complain that Spotify's shuffle algorithms aren't really random. This can best be explained by a cognitive bias called the clustering illusion. Users aren't wrong to complain, though. What people […]
Subpixel Letter-Spacing in Webkit
As of sometime in August, Chrome Canary enables subpixel CSS letter-spacing attributes. It's a beautiful thing. https://bugs.webkit.org/show_bug.cgi?id=20606 http://src.chromium.org/viewvc/blink?view=revision&revision=153727
Avoid Faux-Bold with Web Fonts
Only the best web fonts have a full complement of bold, italic, and bold-italic faces. Typekit provides lots of great fonts with a fleet of variants, but if you're on a budget or enjoy the freedom of Google Fonts (as I do), you'll find a lot of great fonts that don't have true bold variants. […]
Converting to Retina
These are my personal recommendations for making the switch to a high-DPI website. 1. Step one: stop working at 72 DPI This one is for the designers: get into the practice of doing everything at high-DPI. If you are working in Photoshop, get to know and love shape layers and the path tool, even for […]
Google Analytics for Backbone Apps
When you build a single-page web app with something like Backbone driving routes and managing browser history, the page load event is only going to happen once at the beginning of the session. The standard Google Analytics javascript snippet doesn't work so well for these single-page apps. You should trigger an Analytics event when the […]