Menu
Category

Uncategorized

Does Not Contain

Uncategorized Oct 10, 2020

I occassioanlly need to scan a folder and all of its subdirectories to see if any of them DO NOT contain files of a certain type.

I’m fully aware you can do this with some combination of shell commands, but I always spent 20 minutes googling for how to do it again every time I needed to. It was faster just to write this small utility myself.

I call it dnc, which stands for “does not contain”. You can download the source or a pre-built binary on GitHub. The builds aren’t notarized. So be sure to ask Apple if it’s OK to run this on your Mac.

Read the full post for an example of why I need this script.

Dot Dee Tee

Uncategorized Oct 09, 2020

Inline with my affinity for backing up and owning my data, one component of that strategy is avoiding proprietary file formats and databases whenever possible and reasonable. That’s why I prefer plain text (and more recently .textbundle) for all of my notes, and why I’m so meticulous about how I organize my family’s photo archives.

It gives me the agility to move from app to app or even (heaven forbid, it may eventually happen) to a new platform as my needs change. If you own your own data, there’s no lock-in.

So along those lines, here’s a very tiny optimization (is that the right word for this?) that I’ve been doing for years that helps keep my reference material organized and more easily searchable and filterable.

(Oh, and also a quick story about how I effed up someone else’s data.)

Five

Uncategorized Oct 09, 2020

I don’t quite understand how it’s been five years already. Nevertheless, happy birthday to the most fearless and persistent young lady I’ve ever known.

Five

The App That Never Was

Uncategorized Oct 01, 2020

While using one of my favorite iOS Shortcuts the other day, it occurred to me how much things have changed in six years.

I say six years ago specifically because it was in 2014 that I made an iOS app called Upshot.

Sadly, Upshot never saw the light of day because I couldn’t get it past App Review for very dumb reasons. Lucky for you though, after I show the ridiculously simple Shortcut that I now use instead, this gives me the opportunity to tell you my very favorite App Store rejection story.

Sample Code to Make your Mac App Open at Launch and How to Handle Global Keyboard Shortcuts

Uncategorized Sep 21, 2020

After my post last week about the updates I made to my audio app Ears, longtime internet buddy @macrael asked:

@tylerhall Do you use libraries for the hotkey-setting UI or the start-on-launch stuff? I’m putting together my first Mac app and am looking into those parts rn.

I do, actually. In addition to replying to MacRae on the nightmare birdsite, I thought I’d post the two helper projects here for anyone else searching.

Listen Up

Uncategorized Sep 17, 2020

One of the best things that have come out of the pandemic for me has been my little Mac app, Ears. I had the idea for it and built it about a month into quarantine because I was in so many remote meetings throughout the day. And depending on the time of day, how much notice I had before the call, if my kids were around, all sorts of reasons – I found myself frequently switching my Mac’s audio between speakers, AirPods, headphones, etc. It was a pain, so I built Ears to make that easier.

Since that first release in June, I’ve been refining the app to fit my workflow even better. And tonight, I’m delighted to push out a new release with additional features for all the work-from-home-warriors out there jumping between calls.

Don’t Let Experience Get in Your Way

Uncategorized Sep 11, 2020

A coworker and I have been working crazy hours since March on a huge new product feature – him on Android and myself on iOS. Quite frankly, it’s maybe the best work we’ve done in our careers. And work I, at least, wasn’t sure we were even skilled enough to pull off. When we first pitched it to the client, we asked for eight weeks of uninterrupted dev time to build an MVP. They gave us five.

If he and I had predicted these challenges upfront, I’m not sure if we would have pitched the work at all. But we missed them. And now I think that’s a good thing. Because, unfinished loose ends or not, we now find ourselves mere weeks from shipping the best work we’ve ever done.

Merging and Deduplicating a Whole Lot of Google Photos

Uncategorized Aug 22, 2020

The point of this blog post is to say that I’m preparing for an eventual move to another photo cloud service. I’m also trying to keep my local backups neatly organized. So, I wrote a small command-line tool to specifically deal with the Google Photos backup format that you’ll receive if you request a dump of your data.

It takes Google’s directory structure and all their duplicated files, merges, sorts, and deduplicates your photos and videos into a sane folder structure – the one I’ve been using for over a decade.

An Epic Blog Post

Uncategorized Aug 16, 2020

Oliver Reichenstein, founder of iA Writer, writes about Apple and modern software monopolies. The entire post is well worth reading. And whether you side with him and the $17.86 billion corporation or the $1.97 trillion corporation, you gotta admit it takes guts to lay out that argument on your company blog when the future of your business depends on the kind of day your next anonymous App Store reviewer is having.