“I’ve ripped off very few songs in my life, but I’ve ripped off the Hot Pockets theme in like three songs.”

Jenny Lewis Tiny Desk Concert: www.npr.org/2020/02/2…

Filter Through Command in BBEdit

I’ve used BBEdit for a long time, but only recently started digging into the scripting side of it. If you’re willing to write your script against it’s scripting dictionary in AppleScript or JavaScript, you can do a lot, including attaching a script to every menu command in the app. You do however have to write a script and put it in the right place before you can use it. Sometimes I’d rather pipe my text through grep 'foo' | sort -u like you can on the command line, and have it format my text for me.

TextMate has exactly this command, so emulating that seemed like a good place to start:


I figured out that I could build most of what TextMate has as a BBEdit Text Filter:


Dr Drang had already done pretty much exactly the same thing, but I wanted my script to remember at least the last command I ran, which won’t work with his approach. To get that, I needed to make a proper AppleScript so that I could take advantage of persistent properties (which is a super useful thing AppleScript can do if they’re saved as an scpt file).

You can copy the script below into Script Editor and save it in script format to BBEdit’s Text Filters folder:

property default_command : "sort"

on RunFromBBEdit(_range)
	set shell_command to the text returned of (display dialog "Enter a shell command:" with title "Filter Through Command" default answer default_command)
	if shell_command is "" then
	end if
	set default_command to shell_command
	if _range as text = "" then
		set text_content to text of front document
		set results to executeCommand(shell_command, text_content)
		set text of front document to results
		return ""
		set text_content to _range as text
		set results to executeCommand(shell_command, text_content)
		return results
	end if
end RunFromBBEdit

on executeCommand(shell_command, text_content)
	set AppleScript's text item delimiters to {ASCII character 13}
	set results_text to text items of (do shell script "echo " & quoted form of text_content & " | " & shell_command)
	set AppleScript's text item delimiters to {ASCII character 10}
	set return_text to text items of results_text as text
	set AppleScript's text item delimiters to {""}
	return return_text
end executeCommand

Set up MacPorts as a replacement for Homebrew last night. So far so good I think? The only package which wasn’t available so far was swiftlint, which I can build myself.

I’m trying to make a habit of saying “thank you” instead of “sorry” whenever it’s appropriate. For example, thanking someone for their time instead of apologizing for taking it.

Using os_signposts with Instruments is so cool and useful for seeing what your app is doing and zeroing in on specific operations. This post shows the kind of thing I’m talking about if you haven’t used signposts before: www.iosdev.recipes/os-signpo…

I’m looking for alternatives to Napkin for marking up and combining multiple images in a similarly flexible way and would welcome any suggestions. Most of these apps are either full blown image editors or only want to work on one screenshot at a time without a flexible canvas.

I’ve been using NetNewsWire on macOS for months, and I’m now using the iOS beta as well. Like the Mac beta last year, it already feels high quality and exactly how I want. New NetNewsWire is a different app than old, but it somehow captures what I’d missed using other readers.

Off to a good start exercising in 2020. Ring Fit Adventure is definitely making it a lot easier to keep the streak going on days I don’t walk or bike enough.

I’ve been playing Ring Fit Adventure each day for over a week, and am enjoying it. I don’t know how well it will work for getting in shape long-term, but with the number of overhead presses and squats I’m doing, my strength seems like it’s going to have to improve at least.

It’s been a wild and eventful week for me, which has involved a late night trip the emergency vet, and many trips to the regular one. Thankfully everyone is feeling better and things are finally back to normal.

Ever since NetNewsWire started putting out usable builds several months ago, my RSS reader has moved from the category of things where I try new ones all the time to being a solved problem. It’s just exactly what I want.

Every time I read an article about Drafts, I think I need to figure out how to use it more.

Drafts for Mac: It’s Action Time

Started playing City: Skylines on console and am already obsessed. Never realized how much I was missing out on only ever getting to play Sim City occasionally in computer class in junior high.

A not unexpected – based on the people I’ve met at work – but still delightful thing to happen is going into some code which was written months ago by someone else and see it’s already fantastically factored and understandable.

I really enjoy using fish as my shell, however, the little bits of incompatibility or things are pretty annoying. Going to try to get zsh set up in a reasonable way and see if I can stick with that for a while.

I had one of those nights last night where I woke up at 5 AM and couldn’t get back to sleep for a long time. I eventually woke up way later than I have been and didn’t get out of the house at a very reasonable time. Bummer.

Pilot Vanishing Point 2019 Limited Edition

I love the Pilot Vanishing Point. Depending on which day you asked, I’d more often than not say it’s my favorite pen[1]. It’s a (relatively) affordable fountain pen with an incredibly smooth 18k gold nib, and a novel retraction mechanism — an unusual feature in fountain pens. In a slightly uncharacteristic move for me, when I saw the 2019 Limited Edition, I ordered it immediately.

The finish is called “Tropical Turquoise.” I like turquoise and thought the blue with black swirl finish looked good in photos. In person, however, it’s much nicer. The finish sparkles in a way that didn’t come across in the pictures. Pilot has made 2019 of these pens, of which mine is #949. And while it’s not technically an anniversary edition[2], this year marks Pilot’s one-hundredth anniversary, which made it feel a little more special.

The only nib size available with this edition is medium, which can be a bit of a mixed bag depending on which paper you use it with. On high-quality paper like Rhodia or Midori, it’s excellent, and I appreciate the smoothness of the broader nib. On Leuchtturm, it’s acceptable, but your lines will come across a bit thick, and on something like a Baron Fig, it tends to bleed a bit depending on the ink. Since I keep a fine nib in my other Vanishing Point, this was preferable for me, but it’s something to keep in mind. I really wish Pilot made a Medium/Fine nib because the jump is so significant between the two sizes.

If the medium is too thick for you, however, a great feature of the Vanishing Point is that Pilot makes extra nib units available at reasonable prices. And once you have multiple, they can be swapped in around four seconds. Effectively, it lets you own a variety of gold nib pens in different sizes at a discounted price.

I tested using the included cartridge of turquoise ink, and the writing experience was (expectedly) very smooth. If you’ve used steel nib pens and are looking for your first gold nib pen, one of the regular Vanishing Points is hard to beat on value.

Overall, I’m entirely happy with my purchase. It’s just what I expected, was not outrageously priced for a limited edition, and looks even better in person. If you’re on the fence and can find one available, go for it.

  1. Other days, I might say it was the LAMY 2000.  ↩

  2. $4800 is a bit out of my price range.  ↩

I moved all of my old blog content from Wordpress to Micro.blog, and can recommend it as a host if you want something simple. Migration was a one button import that grabbed images, set up redirects, etc.

The booting sounds of that Mac SE actually appeared on a recording I did as a sort of backing track a long time ago (which I still think sounded pretty cool) and traveled with me to shows for a while. Will be a fun endeavor to restore it to its full system 6 glory.

Ordered an improbably long T15 screwdriver (aka a “Mac cracker”) with the intention of replacing the capacitors and installing an CF card reader in the Mac SE I bought for $4 at a thrift store about 14 years ago.

I finished applying for a new apartment this morning in Campbell, so hopefully, that goes through quickly. Cupertino has been a fine place to live, but I’ll be happy to save a little money and have good coffee, bookstores, etc. be a bit more walkable.

The extra wide lens on the iPhone 11 is fantastic. I didn’t realize how much I’d use it, but I have been constantly.

Wasn’t sure if I had work today or not… but the full parking lot when I arrived sort of gave away that I did.

Decided the classic mouse ears are really the only way to go at Disneyland.

Me Feige, I don’t feel so good. I don’t want to go… to Sony.