I'm a software person at Prodigy. My COVID projects are currently Pizza & Bread.

Introducing RenamerThing

 ·  Permalink

I’ve been a devoted “Paperless” person since 2012. I first got started with the ideas in David Sparks’ Paperless book, and I’ve grown my systems and practice from there.

The goal is that all the documents I might need are digital, organized, and findable. And all the paper is shredded and out of my life (and house).

For every document that needs safekeeping, my process roughly looks like this:

  • I use a ScanSnap scanner to scan to an OCR’d PDF in a folder called “Action”.
  • I shred the paper. This fills me with glee.
  • Hazel detects the new file, renames it, and moves it to the proper folder based on its contents, if it can.
  • For all the files left that Hazel can’t handle automatically, I manually rename and move them.

This last step is annoying. In a scanning and shredding session I might have twenty or thirty files left over to rename. I have to look at the contents of each file and rename based on my naming scheme. I’m currently executing a will, which involves a lot of paper, so this problem has come up more often than normal.

I wrote an app to scratch this very particular itch.

RenamerThing is stupidly simple. Given a folder, it’ll list all the files in the folder. When you select one, it’ll show a QuickLook view of the file (the contents) and there’s a bar at the top to give the file a new name. There’s also some shortcuts for prefixing with dates.

It’s on the Mac App Store for free. I might consider adding more to it in the future, but consider this a minimally useful version. That said, I have no idea if this is useful to anyone else, but it was driving me nuts, so I hope maybe this can help someone else too.

RenamerThing Screenshot

It’s shocking to me how much better Hacking With Swift is than Apple’s own documentation.

I asked my kiddo what he wants to do this weekend and he says he wants to make a movie and get a Netflix deal. Do I know anyone at Netflix that can hook a 6-year-old up?

Campbell Scott playing Tim Cook was the best thing about Jurassic World: Dominion.


 ·  Permalink

I’m years late to this party, but the Arduino is so cool.

I’m a software person. I have almost no hardware experience outside of a high school class decades ago where we built hardware logic gates.

But, my kiddo has been falling down the Ghostbusters rabbit hole and he really wanted to make a ghost trap with blinking lights, sounds, and doors that open. It sounded like a perfect excuse to learn some basic electronics.

I bought the Arduino Starter Kit for like $100 CDN and it came with:

  • A microcontroller
  • LEDs to blink
  • Piezoelectric buzzer for beeping
  • A servo to open the ghost trap (naturally)
  • Wires, resistors, LCD screens, and lots more

It also came with an amazing starter manual that walks you through several projects to gain understanding of the various components in the kit. There’s even YouTube videos if you want a more visual walkthrough.

The Arduino has an IDE for uploading code to the microcontroller. The language is it’s C/C++ with a really simple API for controlling the various pins on the board.

In about an hour we had figured out how to have blinking lights and beeping sounds in response to a button press. I’m really excited to see how impressive of a ghost trap we can build.

My software career has been writing code that runs on servers or in browsers. I have some empathy for the hardware, especially when I do things that tax it. But, there’s something tangibly different about code written for a server in the cloud versus code on the Arduino. It’s addicting to see your software change something in the physical world. I really recommend it to other software people.

They say I should continue to hold because my call is very important to them, but I’m starting to think they might be lying.

My six-year-old, in disgust: “Ugh, like, why don’t we have flying cars yet. I thought last year for sure we’d have flying cars.”

As a parent, there’s nothing more fulfilling than when your son turns to you and tells you that he loves playing Ghostbusters with you because you look just like the Stay Puft Marshmallow Man.

Me: “Who do you think would win, a black bear or a human?”

6-year-old: “Well… the human could just build a house in the black bear’s habitat and it’ll die off.”

Savage. 🐻

Ben’s 83rd Postulate: Most text processing problems will inevitably lead to a programmer saying out loud “Ugh, fine, I guess I’ll use a regex.”

Thought: I need to get a yoga mat.

30 minutes later…

Well, the mats from this factory have the improved multi-cellular rubber, so I definitely need that.

“The U.N. Security Council is meeting on Friday at 3 p.m. to vote on a resolution condemning Russia and demanding immediate withdrawal of troops. Russia is expected to veto the resolution.”

Hmm… this seems like a loophole that maybe should be closed.

I love libraries like mock-fs. I think it’s almost always better to mock at the persistance layer than to do custom mocks for every call to something stateful.

If you had asked my teenage self what areas of Philosophy would be critically important to society in 2022, there’s no way I would have put money on Epistemology. But here we are.

The transition to ECMAScript Modules feels like it’s going to mirror the move from Python 2 to Python 3. This is going to be bumpy.

1Password 8

 ·  Permalink

1Password’s major rationale for moving from AppKit to Electron has been speed of development. They want to ship fast, and they don’t want the cost of supporting another native platform in AppKit. Allen Pike has a great rundown on this argument:

Slow is a dangerous place for a product company to be. Slow product teams tend to be outcompeted by fast ones. We complain about how Figma and Slack don’t feel native, but why are most of us using Figma and Slack? We’re using them because they outbuilt and outcompeted their native competitors. There are so many things that could improve in these products, but they’re the best tools yet built for their purposes.

The major downside, of course, is bloat. More memory and bigger binaries are not ideal for an app that tends to run in the background all the time. And we all have examples of Electron apps that felt big and bloaty.

I figured I’d give the beta a shot when I installed 1Password on my new MacBook Pro. And, I gotta say, I like it better. 1Password was an app that always had a lot of custom UI. They made that UI work with AppKit, but the Electron version feels more solid. It feels less like the ground is going to shift from underneath you. It’s possible (likely?) that this is the result of quality design work and not solely because of the framework, but if we needed to sacrifice to the Electron gods to get this design, I think it’s worth it.

I haven’t noticed any performance lag. Of course, it helps that this MacBook Pro is a ridiculous machine.

My biggest annoyance with it continues to be what is also the most obvious characteristic of Electron apps: immovable modals. Preferences modals are always locked in the middle of the primary window with some custom dimming going on behind them. This is when it feels the most like a non-native web app.

But, I’ll take that tradeoff for a serious design improvement to an app I use every day.

Lucky first try on Wordle. Yep, this is going to be a thing.

Wordle 193 3/6