Fear and Light

It’s remained that way because I’ve been afraid.

Always, always in the pit of my stomach, deep down in the back of my lizard brain, there’s this nagging voice when it comes to the low-level work, the real work, the type of code that real developers write

You’re not good enough. You can’t make it work. You’re not smart enough to figure it out.

So I keep punting on the work. I keep pushing that bug fix further and further out and just hope that my code keeps working and that a random macOS point release doesn’t bring it all crashing down.

But two nights ago I sat down in my office. And just fucking did it. I told myself “no” was not an acceptable answer and dove into every arcane, unmaintained bit of Apple documentation I could find. Searched old Cocoa mailing lists for sample code, and finally, finally have a working solution.

After thirteen, years I finally got past my own shit and mental demons and made it happen. I guess I was just fed up with myself constantly ducking out of doing the hard work. That, plus a looming deadline I have to meet, finally held my feet to the fire on this particular feature in a way that has never been done before. So many features. So many bug fixes. Thousands of customer emails and replies. Brainstorming sessions. UI mockups on the back up napkins at bars or doodling on a notepad while at my real job. But this one damn bug was always out of reach. And now it’s done.

To my future self ten years from now: this post is for you.

Fastmail Wrapper for macOS

I keep looking through my archives of old, private coding projects – the ones that I built just for myself to solve a particular need – to see if I can find any that other folks might find useful. So, here’s another one I spent a few hours cleaning up recently.

It’s a native macOS app (wrapper) around the fastmail.com website that supports:

  • Multiple Fastmail accounts.
  • Native macOS notifications (and sounds).
  • Customizable Dock icon badges.
  • Keyboard shortcuts (⌘1 – ⌘9) to quickly open specific accounts.

Roland is a Static Website Generator Written in Swift

If there’s one thing I’m good at, it’s reinventing wheels. So here’s Roland – an open source, blog-aware, static website generator written in Swift that also uses PHP under the hood because PHP is still the best template language.

MailMate

It took me a few days longer than I had hoped to get started, but here’s the first post in a new Favorite Things category celebrating #IndieSupportWeeks. First up, is the incomparable MailMate by Benny Kjær Nielsen. It’s “the email client for the rest of us”. Anyone out there remember Email init? Which then became … Read more

April 5, 2020

And when the other side is reached, I hope we can look back on the things we did and how we were feeling in this moment and learn from that.

#IndieSupportWeeks

With all that’s going on in the world, it may not surprise folks to learn that small developers are starting to feel the economic crunch along with everyone else. I hope you’ll stick around and read along as I go into excruciating detail about my favorite software and services that I can’t live without.

So, uh, I think Catalina 10.15.4 Broke SSH?

I was completely at my wit’s end and feeling like I had lost my mind until about a half hour ago. And I don’t know what difference connecting via a hostname versus an IP address would make when specifically using a non-standard port above a certain threshold. I’m not even going to go into it. I don’t want to end up on Hacker News again bitching about Catalina. I just hope I’ve stuffed this post with enough keywords so that anyone else searching on Google might come across the answer.

A Quick Shell Script to Keep a LAN File Server Mounted All the Time

Now that we’re all stuck at home practicing social distancing, my children’s mood depends on their favorite TV shows and movies always being available during their iPad free time. And my sanity depends on not hearing the awful clicking noise of the external drive our video library is stored on while I’m working at my desk. Moving it to a networked file server running off a Raspberry Pi was simple enough and solved the problem. But after trying a few 3rd party apps to keep the network share always mounted, here’s the simple shell script I wrote instead.

Spotish for macOS

I know I keep referring to this tweet of mine from last year… One day I will get around to either releasing or open sourcing the dozen or so bespoke, one-off Mac apps I’ve built just for myself. Today is not that day. The reason for that is because I really do have a backlog … Read more

Three Things Today

Every task management app has a feature that will let you postpone, delay, or snooze a task. You can tell them to push a todo item out by a day or a week, etc. But I like to think Three Things is smarter than that. It’s designed to be flexible and forgiving – pragmatic and realistic. When you defer a task, it won’t accidentally reschedule it for a day that’s already overflowing with commitments. It literally will not allow you to schedule more than three tasks per day.

It fits my brain. Maybe it’ll fit yours, too.