Category: Tech

AirPlay 2 on Shairport

This is still in its infancy but it’s fantastic to see AirPlay 2 support making its way into Shairport/Linux. I haven’t tested this yet as I’ve been buying old AirPort Express (amazingly, they support AirPlay 2) devices to replace my Raspberry Pi’s but it’ll be fun to pull out a raspberry pi and try to get synchronized audio playing out on my patio speakers.

Long Form Article Reading on Kindle, Improved

Over the past year I’ve been using a service called Readwise.io to surface highlights from books I read on my Kindle and from articles I read on my iPad using Instapaper.

Screen Shot 2021 06 30 at 3 46 07 PM

The service has its flaws but all in all has been useful to me in helping me to remember what I’ve read and found important.

That said, I’m finding myself less inclined to wanting to read long form journalism on my iPad, especially at night in bed when I’m trying to stay away from screens or at the beach where my Kindle feels easier to read than my iPad.

I have spent the past couple of weeks cobbling together a collection of tools that makes reading long articles on my Kindle easier as well as saves any article highlights I’ve made to Readwise.

I wish that I could use Instapaper for this workflow but, while you can read Instapaper articles on the Kindle pretty easily, tracking highlights doesn’t work so well. So I’ve landed on the following:

Push to Kindle from fivefilters allows me to easily push web articles to my kindle from my Mac (via Safari extension), iPhone or iPad (nice, easy to configure dedicated iOS app)

I then read/highlight on my Kindle paperwhite

When I plug my Kindle into my Mac’s USB connection, the highlights are automatically sent to my Readwise account

This last bit requires a good bit of AppleScript sorcery but it’s pretty easy to achieve using EventScripts.

Basically, EventScripts notices when my Kindle is plugged in. Once it sees the Kindle is plugged in, it executes this AppleScript which emails the My Clippings.txt file automatically to readwise who then imports it.

Really pretty elegant stuff here that, I hope, shows the value proposition of many small/lightweight tools loosely coupled as opposed to some monolithic solution.

Three key health metrics from Apple Watch – V02 Max, HRV and resting heart rate

As I finished up my run this AM, I checked my phone to look at the health data captured during the run. This is my habit and it got me thinking that based upon some recent conversations with friends of mine who got Apple Watches for Christmas, it feels like more than a few Apple Watch users are missing out by not regularly reviewing some of the key health metrics that the watch captures.

Of course, these metrics become more illustritive and valuable the longer you wear your watch. Meaning, you won’t learn a whole lot for a couple of weeks of data but, wear your watch for a few months or years and you’ve got some terrific baseline data to help you get a clearer picture of your overall health. Note, too, that the data your Watch sends to your phone can be viewed in both the Health app and the Fitness app. They offer different views into similar data but the Health app allows access to more data points and allows you to create favorite metrics, etc.

SummaryScreenshot 2021 01 05 at 1 06 03 PM

The first step is realizing how much valuable information the Apple Watch (or other fitness tracker) sends to the Health app. That’s the white icon with the heart on it on your phone. Your watch sends all sorts of data to that app and you’ll want to just view the highlights using the “Summary” view in the Health app.

The first two metrics that I always make sure are on my iOS Health Summary screen are Resting Heart Rate and Heart Rate Variability. (If you’re not sure how to edit your iOS Health App Summary view: Launch Health app, click Summary in bottom left and then “edit” in upper right.)

The more fit you are, the lower your resting heart rate. In theory. More importantly, if you see your resting heart rate trending up or having huge spikes it could be a sign that you’re getting sick or something else is going on to impact your overall health.

Likewise, with heart rate variability (HRV). The greater the variability of your beat-to-beat rate, the healthier your autonomic nervous system. So, higher numbers here are better. If you see your HRV trending downwards it could be a sign that you’re getting sick or something else is going on. I wrote a post a while back about how big changes in both my resting heart rate and my HRV were clearly visible on my phone when I had Lyme’s disease.

Then there’s V02 Max (aka Cardio Fitness). This is a great indicator of your overall fitness. Higher is better. With iOS 14, Apple changed this metric to be called “Cardio Fitness.” I’m glad to see Apple paying attention to this metric. For a while my Apple Watch was very inconsistent in updating my V02 max but since September my watch has updated my V02 max every time I’ve run or walked for longer than 20 minutes.

Combined, these three metrics can tell me a lot about how stressed out I am, if I am getting enough sleep and if I am exercising enough, too little or too much. Definitely worth adding to your Summary screen if you have an Apple Watch.

iPad Pro for home studio recording

I love my iPad Pro for recording. My current workflow involves laying tracks into GarageBand and then either exporting the stems out to a Google Drive where one of my band mates adds them to our band’s Reaper projects or I dump the project to my Mac and play around with the mix in Logic.

But the best part about the iPad Pro as the nucleus of my recording setup is this:

I can use the portable setup in the early AM with headphones and not disturb anyone . . .
…and then later just bring the iPad into my office for this setup.

This kind of flexibility can’t be beat. I’ve made and recorded more music over the past two weeks with this setup than I’ve made in years. Some of the motivation to record surely comes from Mirror Sound and just thumbing through those pages gave me all sorts of setup ideas.

Being able to just use a USB dongle and a midi keyboard/headphone setup for moving from room to room is very lightweight/portable setup. I am also very happy with my Akai MPK mini even if I don’t totally know how to use it to its full potential.

Using the iPad Pro, I can also plug in an audio interface and do the full microphone recording setup in my office is great. I’ve got a good template setup in GarageBand for the two mic multitrack setup so as soon as I have something to record I can just pop down on my stool, start a new project based on the template and hit record. Takes about 1 minute to get setup and it sounds really damn good.

That said, I’m hoping that Santa brings the new audio interface that I’ve asked for so I can stop using my Zoom H4N as that minute of setup time is due almost solely to how long it takes the zoom to connect as an audio interface. That, and I still haven’t found a really stable USB hub that allows me to run the interface, power and my midi keyboard concurrently in my iPad. But them’s first-world problems.

 

Deleting minutes from Apple Watch Exercise

I accidentally left Zwift running in the background on my Apple TV the other night and ended up with a few thousand exercise minutes showing up on my Apple Watch rings. In the interest of maintaining clean data I set about trying to remove the unearned minutes. Whoa. What a rabbit hole!

– you can remove the activity: iPhone Health App->Browse->Search for Workouts->select Workouts, scroll to bottom->Show All Data->Delete the workout.

But that doesn’t seem to get rid of the minutes. Crazy, right?

To do that: iPhone Health App->Brows->Search for Exercise Minutes->Scroll to bottom->

Pick the device that recorded the spurious data (in my case it was the iPhone as that’s where the Zwift companion app lives) and you can delete all of the exercise minutes registered by that device for a given day in one shot (as opposed to deleting each individual minute).

Tedious, but it seemed to work. The “rings” retained my legitimate Apple Watch recorded minutes and discarded the inaccurate/unearned iPhone recorded minutes.

Goodreads. The roach motel for your reading data?

Have never had a whole lot of love for Goodreads as the site feels like Amazon stealth research department. Now that they’ve made it impossible for me to get out my annual stats via API, I’d really like to find a good alternative.

 

UntitledImage

Readwise feedback and remembering what you’ve read

The value of reading is proportional to the ability to remember what you have read. Reading is a richer experience when you are reading through a lens informed by the context of everything you’ve read and experience before.

Indeed, how much richer is daily life when you can call on a piece of verse or a quote to help inform or understand a given experience?

Meaning, there is real life-enriching value in being able to remember what you’ve read.

That said, I have a horrible, horrible memory.

For reasons not entirely clear to me I have very poor autobiographical memory and remember very few details about the past days of my life. There are all sorts of theories about why autobiographical memory deficit exists but ultimately all that matters are the workarounds that one can come up with to compensate for it.

Fortunately for me, I am very dedicated to journaling and I try to take a lot of photos!

On top of that, as a musician, I’ve always struggled with trying to remember chord progressions, melodies, song lyrics, etc. It takes me countless rehearsals of a single piece to commit it to memory. Though once committed, material tends to stay there, so that’s promising. 

It is just that the effort to get the material committed is so great that I have to be very specific, precise and intentional about how/what material I will work on to commit to memory.

All this is to say that early on during quarantine, I spent a few weeks writing a handful of python scripts that would present me with highlights and notes that I have made concerning what I’ve read. My reading tends to take place in three buckets: Kindle (for fiction/non-fiction books), Instapaper for feature length articles from magazine/blogs and Reeder/RSS for shorter material.

I wrote some code that would extract my highlights and notes from Kindle and Instapaper and store them locally so that I could periodically review them as a united collection.

Then a few weeks ago, I discovered Readwise which does EXACTLY the same thing but SOOOO much better.

Readwise takes your notes/highlights from what you’ve read and sends you a daily email with a handful of these highlights. I can say that there is no email I look forward to receiving each day as much as I look forward to the Readwise daily digest.

I have years’ worth of highlights that the service pulls from and I am regularly presented with wisdom that some past version of myself mined from the pages of books and articles but that my present self has entirely forgotten about. The re-presentation of material that was at one point meaningful enough to highlight is powerful.

It helps to cement the foundation of understanding what you’ve read.

It helps you to draw together and synthesize disparate subjects and highlights that you would have never been able to synthesize without the re-presentation of the quotes in this new context.

Readwise is a wonderful and valuable tool, especially for someone who has a difficult time with memory to begin with.

That said the biggest area that Readwise is lacking in is providing context for the highlights that are being presented. So I reached out to them with some feedback on the service and thought I’d like to share publicly a few of the things that might make this service even better:

Hi,

Some feedback. I would like to see for any given highlight, whether viewing on the web or in my daily email:

For books: 
– the ability to open kindle desktop and see the highlight. 
– Bonus points for being able to leverage https://read.amazon.com/notebook for viewing notes so that we’re not dependent upon having the kindle app installed
– the ability to view the book on bookshop.org (or amazon) so that you could see the cover image (I read a lot of books and sometimes need more than just a title/author to help jiggle my memory
– bonus points for pulling in a cover image to display with the quote
– a link to goodreads (or any other user defined service for storing reviews)
– data around when the book was read, when the highlight was saved.
– basically as many affordances for context as possible

For instapaper articles
– the ability to open the article in instapaper
– the ability to open the article at its original source URL
– data around when the article was read/when the highlight was saved
– when presenting the title of the article, include the title of the publication and the author (right now the presentation is inconsistent, sometimes shows author, sometimes shows publication)

The ability to get this contextual information right from the email would be great. I see that there is dropdown menu available in the email that ought to bring up the quote as presented in readwise in a popup window but that doesn’t work in mail on Mac (the window pops up but the quote never appears).

Likewise, I really like the idea of being able to share quotes/highlights on twitter/micro.blog etc but the current method of using an image of the quote seems like it could be improved by giving the user the ability to include more of this contextual information via the share feature (source url, title, etc.).

I would be really happy to promote that the quote was surfaced by readwise when sharing through the sharing function but right now I have to handcrank the appearance/data for what I’m sharing and by the time I get done adding the title/source etc to my tweet or post I’ve generally forgotten to add “via readwise” at the end of it. Make it easier to share source url, book title/cover image, link to bookshop.org, etc. using the built in tool without having to do a bunch of editing/adding and that would create a great incentive to keeping that “via @readwise” on the share. Does that make sense?

Thanks for building such a useful tool,

Jim

Reminder to Charge Apple Watch

Wrote up a handy little Keyboard Maestro macro that will remind me to charge my Apple Watch.

The special sauce here is that it runs any and every time I wake up my Mac between 5AM and 10:30AM.

You can download the Keyboard Maestro macro here.

[update: So, Keyboard Maestro doesn’t have a trigger for “password unlocks screensaver” And that is really when this thing needs to run. Enter the amazing EventScripts. Had no idea this tool existed but it kicks off AppleScripts for various system events (unlock screensaver, song change in iTunes, etc.). So worth the $6. Hope it continues to work once I upgrade to Big Sur!)

UntitledImage

Apple One

Signed up. It’s a no-brainer for my family as we were already on the 2TB cloud storage plan.

AppleTV+

It’s got Ted Lasso. Enough said. 

kidding. Still AppleTV+ has some terrific stuff on it. And Ted Lasso.

Apple News+

I’ve hated Apple News ever since it started asking me if I wanted to open RSS feeds in it but it seems to have stopped doing that maybe? And I’m curious to see how the audio version of news works. So, verdict is out on News.

Apple Music

Maybe the worst music service, ever. But I sync my Spotify lists over to Apple Music and can play them on my HomePods so, there’s that. We had Spotify Family. I think I’m the only one who won’t fully make the jump to Apple Music so I kept the individual Spotify plan for myself and we’ll see how the rest of the family makes the transition. I don’t think they’ll miss Spotify like I would.

Arcade?

I don’t know what it is and am not likely going to find out.

Fitness+

Kinda excited to see how this pans out. I use Zwift right now but everything about Zwift’s bluetooth/hardware integration feels janky. Hoping Apple can do this better.

iOS Shortcuts and Email interfaces to OneNote

One of the tools in the MS Office suite we use at work that I find myself using more and more is OneNote. It is my “everything bucket.” 

Unfortunately, Microsoft’s OneNote can not be easily targeted by the powerful automation affordances that Apple provides (Apple Script, Keyboard Maestro, iOS shortcuts). Meaning, while OneNote runs on my Mac, iPhone and iPad, adding notes requires opening the application, finding the note I want to edit and adding the relevant information.

That little bit of friction—switching contexts/application from whatever I’m currently doing so I can open OneNote, find the right pages, etc.—stinks. It means breaking my concentration. Losing my flow.

A typical use case for me is that I’ll be working on a project and realize that I want to bring something up at my next developers meeting with my team or raise an issue during my manager meeting. I have different notebook sections for each of my recurring meetings as well as a “To Discuss” page in each one of those notebook sections. Being able to just quickly send these ideas/notes into the relevant page would be great. 

To its credit, OneNote does support emailing content into the application which is marginally useful but you have zero control over where that content goes within your OneNote notebook. So that’s not super helpful here.

Enter Microsoft’s Power Automate. Using Power Automate you can append/prepend content to a given page within Microsoft OneNote via email using a subject line filter:

UntitledImage

 

Power Automate seems very janky. It is a 1.0 release but it seems more beta. That said, this Flow —as it’s referred to in the Power Automate jargon —gets the job done. It can sometimes take a few minutes for the contents of the email to appear on the page. Note, also, that this only seems to work when using OneNote for business. Apparently there is also a non-business version. Leave it to Microsoft to create silly distinctions like that in their product line.

So but anyway, being able to email agenda topics to my relevant pages is very helpful. Still, it feels very un-Apple like. Enter iOS shortcuts and Siri.

UntitledImage

With this handy little shortcut on my iPhone, watch and iPad and I can just say “hey Siri, discuss with devs” and she’ll ask me what I want to discuss and then sh will send that text via email  to the right OneNote page.

I’ve got a few of these different Flows setup. “Discuss with devs” and a few “Discuss with” so and so’s where so and so is one of a handful of names of people with whom I meet regularly. 

I’ve been using these for about a week now (since upgrading to iOS 14 on my iPhone) and it’s been amazingly reliable. 

Doing the math on Apple Watch 6 vs. SE

I think my next Apple Watch will almost certainly have cellular data on it. I love running in the woods without my phone (using just my watch and AirPods) but could definitely see the benefit of being able to call someone from my phone in an emergency.

Screen Shot 2020 09 16 at 10 55 10 AM

The biggest difference (besides price) between the 6 and SE for me is the always-on screen (and a less powerful chip — S5 vs S6 — though apparently 2x as fast as my current series 3 chip). It makes me nuts that I’m wearing a watch that comes straight out of science fiction but I need to touch it to my nose when my hands are holding something and the screen doesn’t come on when I raise my arm.

But that price difference, man.

The 6, with cellular is $529.

The SE with cellular is $359.

That $170 difference would cover almost a year and half of AT&T cellular data for the SE, so maybe I’d have to touch it to my nose a few times but that seems like a pretty good deal to me. The SE with cellular seems like too good of a deal to pass up.

Diet success with Due App, shortcuts and app launching

Here’s one truth about how I lose weight: nothing is as effective as simply writing down what I eat.

If I track everything I eat in a calorie tracking app (I use one called Track, but there are a bunch of similar apps), I eat less. Maybe seeing what I’m eating makes me more conservative in my snacking or maybe I don’t want to take the time to log that handful of M&Ms so I skip them. Either way, I’ve lost about 15 pounds during this quarantine, all by simply tracking my calories. 

The thing is that I usually stop logging what I eat after a few weeks. Logging what I eat is a nuisance. I regularly forget to open my calorie tracking application right after I eat and by the time I finally get around to it as I’m sitting down to watch a show before bed, I’ve largely forgotten what I’ve eaten throughout the day.

So what makes this time different?

Well, for starters, I’ve been using the Due application on my iPhone to remind me to enter my calories after breakfast, lunch and dinner each day. Due is a persistent reminder application. Meaning, it just keeps annoying you with reminders until you actually do the damn thing it’s reminding you to do. 

Still, after a couple of weeks of using Due, I started just clicking “done” on the reminder because clicking through the reminder and opening my calorie tracker application just seemed like a pain in the ass and was too much friction. So, I solved that friction point by adding a link in the reminder that opens my calorie tracker in one click. 

In other words, tracking what I’m eating has been working for me because I chained together three different, loosely-coupled technologies here:

  • a decent calorie tracking app that makes a tedious task as easy as possible – Track
  • a persistent, annoying reminder application to remind me to log my calories – Due
  • a link in the reminder to make it super-easy, low-friction to open my calorie tracking application right from the reminder. – iOS shortcut

Some apps support a URL Scheme to open the application (for example, music:// opens the Music application). The Track application doesn’t, AFAIK, have URL Scheme support so instead I just created an iOS shortcut to open the application and I call that shortcut in the reminder like this

IMG 9A9E4424A017 1

So, when the alert pops up on my phone, I just click the red link and Track opens up. Nifty.

But, this Reminder + Link to Application has also been helpful for the Day One #photoaday challenge for the month of September. Every day at mid-morning I get an alert to post a photo from today to Day One with a link to the application that opens Day One and creates a new post:

IMG 1D868C3ACF03 1

Here you’ll see that Day One support the URL Scheme directly so there’s no need for me to create an iOS shortcut, I can just call the new post URL and it works (though, why it doesn’t show up in red in Due is beyond me).  You can do a whole bunch of cool things with the Day One URL Scheme, like go right to the activity feed: dayone://activity  or create an entry with a clipboard image dayone://post?entry=Hello Self&imageClipboard=1. See this list if you want more ideas.

Amazon quietly removes ability to download order history

At the end of each month, I run an Automator process on my Mac that loads that month’s Amazon Order History file into a markdown table in Day One. I’ve been doing this for a couple of years now and it’s useful for a whole bunch of reasons. When did I buy something? Just search day one. How much did I spend last month on Amazon? Just look in Day One. 

This month though, I went to download the file from Amazon and the interface for selecting a month’s worth of orders and downloading them is gone.

I reached out to Amazon support on Twitter and through the website and was told that the page had been removed and it was replaced by a “Request My Data” page.

UntitledImage

This isn’t a self-service download portal like the previous version but instead allows you to request ALL of your order history and it takes up to 5 days to receive the data. I submitted my request 3 days ago and haven’t seen anything yet. In any case, this seems like a step backwards to me and makes it more difficult to track on a monthly basis what I’m buying. 

Library Management of Live Grateful Dead Matrix Recordings

For the past several months I’ve been using Roon audio server to handle my home hi-fi listening. It’s a slightly pricey subscription model for what I use it for and I’m actively looking for an alternative. Basically, I just want a box that holds a bunch of lossless audio files and serves them up to my raspberry hi-fi/pi with a DAC on it.

Being able to control the playback through an iOS app is a must. So I’m on Roon and re-ripping a bunch of my CDs to lossless (opportunity provided by quarantine/working from home, an upside).

Besides listening to losslessly-ripped CDs, I am also really, really enjoying matrix recordings of Grateful Dead shows. Occasionally, (well, frequently) when I download matrix recordings, the .flac files are missing good metadata. Applying metadata to the Flac tracks can be a bit tricky so I thought I’d detail my process below.

Start by downloading some torrents of good matrix recordings. I use Transmission app to download torrents.

Once you’ve downloaded a show, you’ll have a folder with a bunch of .flac files and usually a .txt file that contains the show information.

You’re going to want to “tag” your Flac files using the information contained in that .txt file. There are a handful of Mac apps that do meta-tagging on audio files but I use one called xACT.

X Audio Compression Toolkit does a zillion things but the one thing it does that nothing else seems to do is take a text file of song information and apply it sequentially to a bunch of audio files.

So, if you’re great-sounding flac matrix recording files are missing metadata, here’s how you fix that problem, easily, in xACT.

Open the app and hit the “tags” tab.

Load the Flac files into the listing on the left side of screen.

Next, open the .txt file that accompanied the flac files and you’ll find a listing of the songs like this:

UntitledImage

You’ll want to edit this list to get rid of any line breaks, extra info, etc. I use TextMate to do this and it take about 2 seconds to create this:

UntitledImage

The key here is you want exactly as many lines in the file as there are tracks in the xACT window. It will apply each line to the files sequentially. Brilliant. So, highlight the track listing (remember no blank lines!) now, in xACT click the small “Auto-name” box next to the “Title” tag field. This will pull up a window into which you can paste your sequential track names.

Click OK and then “Write Tags” in xACT. Bammo!! There you go.

I also like to add album art, the Venue, etc. and then click “Write Tags” again before uploading the tracks to my Roon Audio player so when I’m done it looks like:

UntitledImage

Note that as long as all of the tracks are highlighted on the left you won’t actually see the Track name displayed. You want them all selected when applying Artist, etc. You can click an individual track to confirm that the Track name was applied.

Once I import that show into Roon it looks like this:

UntitledImage

Mac->Parallels->Windows Remote Desktop Keyboard mapping problem

Whoa, this was driving me nuts, so glad I got it sorted.

When I used Remote Desktop on my Mac’s Parallel’s VM running Windows 10, every time I typed the pipe key (|) I got double quotes (“) and every time I typed a backslash (\) I got a single tick (‘) and my quote (“) key gave me a tilde (~).

Made it very hard to work in putty while shelled into a remote machine on the remote machine because I couldn’t type | pipe character which is kinda important for Linux. Anyway, I found the answer on the Parallels forum from a guy in Italy who was having a similar problem

I had to edit the keyboard settings on the version of Windows running in Parallels (not on the Remote Desktop machine) to use just US QWERTY instead of US (Apple). Logged out, and everything is working!

Essential Working From Home Apps and Tools

All of this working from home has meant that I have not spent this much uninterrupted time behind my personal computer since I do not know when. This is to say, over the past few weeks I have dialed in my personal setup in a way that is super-useful to me and I thought I’d share the apps/tools I’ve started/revisited using since working from home during the quarantine.

First up, Apple’s AirPods Pros.

I’ve never owned headphones with active noise cancelation before but, man, where have these been all of my life???? Right now, there is a huge racket in my house from one of my kids shooting hoops in his room with a nerf basketball. I can feel the ball bouncing but my concentration is not broken because I can not hear the sound of the ball bouncing. This is AMAZING!

Throughout the day I am bathed in the warm nothingness of active noise cancellation. On occasion I’ve noticed that I do not even have music playing, I’m just enjoying the near-silence that they offer. If you need to concentrate in a noisy house, highly recommended.

Audio/Listening/Zoom

Over the past few weeks I’ve evolved a somewhat complicated Zoom/music listening setup on my iMac. At work, we live in Zoom and I’ve had to do some refactoring to balance my music and Zoom needs. I’ll detail a few of those tools here:

Triode: I listen to The Current throughout the day when I’m not actively listening to music from my collection. Triode is *the* best radio playing application, ever. If you listen to internet radio stations, hard to imagine life without it.

I want my music to play through my Kinter Tripath amplifier to my external speakers but want my Zoom/Facetime audio to go through my iMac display. This black magic wizardry is achieved through an application called SoundSource from Rogue Ameoba. Combined with a cheap dongle, I can easily send audio from any app to any output. Awesome application, highly recommended.

As an aside, I have been using this time while trapped in my office to re-rip some CDs into Lossless (ALAC) format and am using XLD running on an old, headless Mac mini to do so.

Other apps for maintaining sanity:

DayOne Journal. I’ve been using this application for years but making notes about what it is like to experience this quarantine has felt important.

Waking Up. Sam Harris’ meditation app has been my meditation app of choice for about a year now. I have less time to use it now that we are all at home but every time I use it, I feel better.

I’ve got a few other notable mentions like Parallels, Microsoft Teams and OneDrive which have all made getting real work in a Windows-centric environment less unproductive. Also, I just started using GeekTool to pipe some useful outputs to my desktop but the jury is still out on how useful that is. If time permits I’ll circle back in a few weeks to update here.

Conveying Presence/Availability During Remote Work

My day job is Business Systems Architect at Princeton University Press. As a precautionary measure to prevent the spread of the COVID-19 virus, all staff in the Princeton office have been asked to work from home for the next month.

The team I work with at the Press consists of programers, analysts and project managers. The Press has a robust infrastructure built up around Zoom to support remote meetings and many of us regularly work from home. That said, a month away from face-to-face interaction with my colleagues is going to be a different kind of experience, for sure. As such I’m documenting here the friction points, possible solutions, tips/hacks, etc. that we discover during this month-long exercise.

User Presence

I believe that once you get the various communication infrastructure established for remote meetings, remote file access, etc (of which I’ll write more as the days go on here), one of the challenges of working remotely is conveying presence/availability while working at home.

It is easy to walk by a colleague’s desk at work and get a sense if you can comfortably interrupt with a question or comment, much harder to do so when working remotely. There are many tools that could be used for this. Many programming shops use Slack, others Skype. At the Press, all staff are on Zoom and some are regular users of Microsoft Teams.

So I am looking here primarily at conveying user presence in Zoom vs Teams:

Both Teams and Zoom offer a “chat” section in their applications where you can set your availability and view whether or not your co-workers are available, away, busy, etc.

Zoom Status Guide

Zoom’s status options don’t synchronize well across devices. Meaning, if you set your Desktop Zoom application to “away” and then close Zoom on your desktop because you are expecting to use your mobile device, co-workers will continue to see you as “away” until you re-open your desktop Zoom app and change your status to “available.”

Meaning, your availability on your mobile device is not conveyed to your other co-workers.

The best way to think about Zoom status is: whatever your Desktop status is set to (or was last set to when you closed the app) is how your co-workers will likely see your status appear in the Chat section of Zoom.

Teams Status Documentation

Team’s status is the hands-down winner here. It almost-instantly synchronizes across all devices (mobile/desktop) when you change it (using the Desktop app you change your status by clicking your initials in the upper right corner of the application).

Also, the Teams iPhone application seems to be much better at providing chat notifications when the app is in the background then Zoom. Zoom chat alerts on the iPhone are pretty inconsistent in my experience.

Likewise Teams offers a very handy “Set status message” that you can fill out so that if someone messages you in the Teams chat area, they will get an auto-response to their message.  Meaning you could set your status message to “letting the dog out, back at 1:55pm” and if someone chats with you they’ll get that message as a reply automatically. Much more useful than a generic away/available status icon.

I have spent an equal amount of time using the chat function on Teams as I have on Zoom. They both have their benefits but clearly when it comes to conveying user-presence, Teams is superior. This opens up questions such as:

  • Do we standardize on one tool for chat even though multiple staff regularly use Zoom for chat?
  • Or, do we maintain user-presence/status in two apps and hope that we remember to set them both correctly?

We’re only on Day 1 here, so I don’t have a clear answer yet but, stay tuned.

Disclaimer: I’m writing about my experience of mandatory remote work at Princeton University Press during the COVID-19 pandemic, any comments and opinions here are entirely my own.

Logging throughout the day with Day One and iOS shortcuts

Spending some time on the Day One community page on Facebook it seems like for those who journal multiple times per day–adding notes, thoughts, activities throughout the day–there are two schools of thought for capturing throughout the day:

1.) create a new entry in Day One for each of the day’s multiple entries
2.) append to a single daily entry throughout the day.

I fall firmly into the second camp, using markdown bullets and a time stamp to log entries to a single entry throughout the day.

Unfortunately, for all of Day One’s strengths and features it does not make it especially easy to automate the process of appending thoughts/notes to a single day’s entry throughout the day.

In the past, I might have relied on a bit of AppleScript or Keyboard Maestro to solve this problem. But now, my time is split evenly between sitting behind my Mac and using my iPad.

Apple is making it harder and harder to write one-size-fits-all automations that can be used on the Mac and on the iPad and iPhone. Automation is now platform specific: shortcuts on iOS and some combination of automator, AppleScript, keyboard maestro, Alfred, etc. on the Mac.

But whether I’m in front of my Mac or my iPad, I always have my iPhone with me. And while it’s not the best device for capture, I decided to focus my “capture and append” automation efforts on the iPhone rather than string together a bunch of hacks on my Mac.

I wrote an iOS shortcut I wrote does the following:

  • checks to see if a Day One entry exists for today
  • if one doesn’t exist it prompts you to create either:
    • a blank entry
    • an entry using a few prompt questions
  • prompts for log entry
  • asks if you want to put time with the log entry
  • appends the time/log entry to the end of today’s journal entry

If you are going to use this shortcut you must expand the six “Day One” actions in the shortcut and change the “Journal” field to match the name of the journal you’re using in Day One.

You may also want to edit the questions in the “A new entry from prompts” section. Just make sure to split them up with a line break.

Once you make those changes, it should just work for you.

The big caveat here is that if you use Day One on both iPad and iPhone, this shortcut seems to only work on one device. It works great on my iPhone. But if I try to use it on my iPad and I haven’t yet opened Day One on my iPad the shortcut doesn’t realize that I’ve already created an entry for today on my iPhone.

This seems to be related to background syncing of the journal contents. The solution is just use it on one iOS device OR make sure you open up Day One and that it syncs before running it on that other device. That being said, even when I do run it on the iPad, the appended line doesn’t show up on the entry, which is weird because if I view the entry on my iPhone, it’s there.

Again, syncing seems to be the issue here. Day One support has been helpful (as always) in helping me troubleshoot this but it seems like iPadOS background syncing is just flakey right now.

Here’s a link to the shortcut. Ok, happy logging!

Note/Update: the shortcut now copies the entry to your clipboard. Occasionally it seems like the shortcut doesn’t actually append the log entry as expected. I don’t know why. Restarting my iPhone seemed to solve the problem so probably syncing related but in any case, by copying the entry to your clipboard if for some reason the log note doesn’t appear when the entry is opened, you can always just paste it in from the clipboard. Lame, I know. I wish shortcuts were more reliable.

10 years of Instapaper

Scouring the web for new/interesting stuff to read is one of the best things about the Internet for me. My workflow for this foraging has been pretty similar for a very long time: browse RSS feeds of interesting people, read short interesting stuff immediately, save the longer stuff in a “read it later” tool.

For the past 10 years, my “read it later” tool of choice has been Instapaper.

To celebrate 10 years of using Instapaper, I went through and cleaned out my “unread” folder and archived the stuff from the past 10 years that I will probably never read completely. Now I’ve got 9 unread articles and 996 articles in my archives as read/mostly read.

I also ran some analysis on my 10 years of reading history using python and the Instapaper API. I repurposed a bunch of code from this project  and that gave me a real head start on putting together some python code to analyze my Instapaper usage.

Unfortunately the Instapaper API is limited to 500 bookmarks so my time analysis below only represents the last 500 articles I read, so I am not sure how accurate/valuable it is.

Instapaper aby

That said, if you visit the “settings” page of your Instapaper account you can download a .csv file with your complete list of bookmark titles and URLs. Having a complete list of all article titles allowed me to do some cool word cloud analysis of the titles of the articles I’ve saved for the past 10 years:

Instapaper wc

Funny how just about right that word cloud is in capturing my reading habits/interests! I love that Jim Harrison gets his own little line in the upper left.

Anyway, suggestion to the guys who are currently keeping Instapaper alive: make it possible to include the date, progress and bookmark_id in the .csv that is downloadable through the settings page. Including in the .csv those attributes that are available via the API’s bookmarks/list method would allow the ability to do a full analysis on how many articles I saved/read per month over the past 10 years.

Instapaper is a joy to use and is very tightly integrated into my reading life and how I use the internet. I thought it was surprising/cool/interesting to realize that I have been using it for 10 years now. Thanks @MarcoArment for writing it and @bthdonohue for keeping it alive!

Reset All Finder Window Customizations

Sometimes you need to go nuclear and get back to baseline on all of those Finder window customizations that you make over time and start afresh. This will get rid of all the .DS_Store files that hold those customizations. I save it as a bash script, chmod it 775 and keep it in my ~/bin/ directory as reset_finder_windows.sh

#!/bin/bash
sudo find / -name .DS_Store -delete; killall Finder