TextExpander dates and times

Recently, I decided my collection of date and time snippets in TextExpander was a mess: too many snippets and abbreviations that were too hard to remember. So I cleaned it up into what I hope will be a more useable system.

The complexity of my date and time snippet collection comes from the many formats I use. In reports I send to clients, I use dates in the formal long American style: October 18, 2017. In emails, I often use the short, slashed style: 10/18/17.1 In naming files, I use styles that alphabetize in chronological order: 2017-10-18 or 20171018.

What I really wanted was just one snippet that generated a popup menu from which I could choose the appropriate date style. Unfortunately, while TextExpander has a feature for including popups in a snippet, I couldn’t get it to accept other snippets as the options.

TextExpander popup maker

Every time I tried to add a percentage sign to an option (% is TextExpander’s marker character for snippets), TextExpander balked and changed the % to a /. I even typed out the popup code by hand in BBEdit and tried to paste it into TextExpander, but all that did was cause TextExpander to crash. So although TextExpander does allow nested snippets, it apparently doesn’t allow them in popups. Back to the drawing board.2

What I came up with was set of abbreviations based on ds for “date stamp” and ts for “time stamp.” Here they are:

There also a mixed one. The abbreviation “dts” gives a combined date and time stamp that alphabetizes in chronological order: 2017-10-18 13:05:22.

TextExpander date and time snippets

The Date and Time snippet group has a d prefix, so to get, for example, “2017-10-18 13:05:22” I type ddts.

The advantage of using repeated characters to distinguish the snippets is that it cuts down on the thinking I need to do. If I want a date stamp, I know the abbreviation is some number of ds followed by an s. I can’t fully justify my choices for how many ds are in each abbreviation; it just seemed right to me based on how often I use each date style.

  1. A good argument could be made that this is stupid. Why use an abbreviation tool like TextExpander to create what is, in essence, another abbreviation? But there are social conventions to be met. If I’m writing a reply to an email thread in which everyone else is talking about “10/19/17,” I’m going to look silly talking about “October 19, 2017.” ↩︎

  2. I could make a single popup in Keyboard Maestro that would work on the Mac, but I wanted a system that also worked on iOS. ↩︎

New Siri woes

I waited a couple of weeks before installing iOS 11 on my phone, and this weekend was the first time I used it to give me driving directions. Things weren’t quite right. The phone was connected to my car’s audio via Bluetooth, and I was listening to a podcast. As usual, Siri would interrupt the podcast to tell me of an upcoming turn, but the podcast often didn’t resume when she was done. I’d have to tap the play button on the center console to get it running again.

I wanted to see if I could replicate that today as I was driving home. I couldn’t, but not because Siri worked as expected.

Because I had to pick something up at the library, I figured I’d have Siri give me directions to it and see how they interacted with the podcast that was playing. I never got that far. The Naperville library has three branches, so I expected “Hey Siri, get directions to the Naperville library” would return options. Instead, I learned that the new Siri is less robust at handling two steps like that. She acted as if she heard only the “Hey Siri” part, because she made the little bee-beep sound that indicates she’s waiting for instruction.

In response to “Get directions to the Naperville public library,” she told me of only one option, the main branch, which wasn’t where I wanted to go. I tried a few times to get her to give me the branch I wanted by including the street it’s on, but that never worked. One time she wanted to take me to a local restaurant, and another time she tried to send to some place in—I am not making this up—Sweetwater, Texas.

OK, I figured, I don’t really need proper directions, I just want to see how they work with the playing podcast.1 So I asked for directions home.

“Getting directions home,” she said. And then turned off. I tried again; same result. Again; same result. And again; same result. The podcast, by the way, did resume every time Siri quit, but I’d lost interest in that part of the experiment by now. On the bright side, Siri failed with an interesting and expressive new voice.

The frustrating thing is I’m not even sure what to be angry about. Was it an internal problem with iOS 11? Was it a failure of the network? Or was is due to some newly introduced defect in the communication between my car and the phone? I’d like to know because I’ve been thinking I’d get a Series 3 Apple Watch2 this fall, and I can’t imagine being happy with it if Siri has actually gotten worse.

I’ll have to do a lot more with Siri in the next few weeks to see if today was especially bad or the new norm.

  1. In case you’re wondering, I always pause the podcast before issuing Siri commands, so there’s only one voice for her to listen to. ↩︎

  2. The thing I may remember most about last night’s recording of Connected is the number of Apple Watches in the audience. I’ve never been in a room with that many, and that includes my local Apple Store. Once I noticed this, I didn’t even see people anymore—just a bunch of wrists with squares on them. ↩︎


The boys from Connected recorded a podcast this evening in Chicago at the Marriott just east of the Rush hospital complex, and I got to see it live.

Connected panel

The Release Notes conference is in town this week, which is what brought several internet friends here. I had a chance to say hello to Stephen, Myke, Greg Pierce, Aleen Simms, Jason Snell, and John Voorhees. Federico, unfortunately, got away as I was talking to Myke. It would have impressed my wife if I’d gotten a selfie with him.

I won’t spoil the episode for you (or the Ungeniused episode that Myke and Stephen recorded just before Connected), but I will mention that one of Stephen’s iBook G3s played a prominent role.

Connected panel with iBook

BBEdit 12

I’m usually wary of reviews of complex software. A program with lots of features—especially one whose users will work with it every day, often for hours every day—can’t really be reviewed by someone who’s used it for only a few weeks.

So I smiled as I read Jason Snell’s and Michael Tsai’s reviews of BBEdit 12. They’ve both been using BBEdit for over 20 years, so they can’t be accused of making snap judgments. And of course they’re not really reviewing the product as a whole. It’s too big for that. Jason focused on just a few of the new features, column editing in particular,1 and Michael gave what may be the best endorsement one could ever give an application:

As a user, I appreciate that it pretty much never does anything to annoy me. This is rare.

That may seem like damning with faint praise, but if much of your professional time is spent using software (and I suspect that’s true for most of you), you know what a ringing endorsement it really is. And it’s in keeping with the Bare Bones motto: it doesn’t suck.

My history with BBEdit has been a little more complicated than Jason’s or Michael’s. Although I, too, started using it in the mid-90s, I had to drop it during my eight years as a Linux user. When I returned to the Mac in 2004-2005, I also returned to BBEdit. Then I switched to TextMate, and although I enjoyed its more Unixy flavor, I missed Split Text View, chunk undo, and the ability to open very large files without choking. Finally, I returned to BBEdit five or six years ago when it became clear that TextMate 2 and I were never going to get along. I haven’t seriously considered another editor since then.

Although I enjoyed reading Jason’s and Michael’s reviews, I can’t say they had any influence over me. I bought the BBEdit 12 upgrade as soon as I saw it was available.

  1. This is my favorite of the new features. I deal with comma-separated and tab-separated value files at least once a week, and being able to avoid the spreadsheet-to-BBEdit dance that Jason describes will be a big timesaver. In fact, column editing was the first thing I did after installing BBEdit 12, and it was on a real file for work, not some made-up test file. ↩︎