Friday Links for Mar 20, 2020

Friend of the Devil — Martin D-18

We are on mandatory lock-down here in NJ to help flatten the curve. Yesterday, late in the afternoon I made the mistake of looking at Facebook. I should have known better.

Facebook just seems to bring out the worst in people. So I figured I might try to tilt the scales a little bit more to the positive and record a song and post it. I am going to try to do more of these while we are locked down at home.

Friday Links for Mar 13, 2020

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.

Friday Links for Feb 29, 2020

Friday Links for Feb 21, 2020

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.

Friday Links for Feb 14, 2020

Friday Links for Feb 7, 2020

 

 

Other stuff? My dog ate my Kindle. I had the base model and upgraded to the fancier Paperwhite. Since I use the JUMBO FONT to read without my glasses on, that extra 300dpi really looks nice! Highly recommend paying the extra $30.

Also, been doing a lot of work building out my HiFi setup with an Intel NUC running Roon/Qobuz and loving it. Will do a writeup next week when I’m not so busy. 

Friday Links for Jan 31, 2020

  • Dark Mode for Web – Some css tips for making a dark mode version of a website. Putting this on my list of things to tackle.
  • You Are A Strange Loop – YouTube – Was speaking with some friends about Doug Hofstadter’s Gödel, Escher, Bach the other day and then serendipitously came across this great, short video explainer of the strange loop, key to understanding what he’s getting at in his book. So worth the viewing time.

Other things from this week? I’ve been doing a deep dive on Roon’s audio player as a way to unify my local music catalog with my Qobuz account. Very good so far but I think I need to buy a Mac mini or something to run it as my old MacBook Air isn’t working out so well.

This is somewhat unnecessary right now as I just got in the mail the vinyl LP of Yola’s Walk Through Fire and that has been in heavy rotation on my turntable. Dan Auerbach from the Black Keys plays on/produced this masterpiece. Dude has an incredible ear. Such great stuff.

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

Friday Links for Jan 24, 2020

  1. Instapaper Saves for This Week:

Pinboard Saves for This Week:

On Not Splitting up a Mac Fusion Drive

I’ve been second-guessing drive read/write speeds on my new iMac because it has a fusion drive. My iMac has a 2Tb Fusion Drive so that means it has 128GB SSD and the rest is spinning platters.

I never really know if I’m reading/writing to/from the SSD or the platters. I mean, it seems zippy so my inclination is just to leave it as-is and trust that Apple knows what they are doing.

I have entertained the idea of splitting up the fusion drive and trying to manage the SSD space on my own but thanks to this post, I’m feeling less inclined to do so. Rauol Pop did it and then ran some tests that show splitting the drive up yields equivocal benefits and some measurable negatives so, I’m trusting that the engineers at Apple know what they’re doing.

That, and I’m making good use of 24GB of RAM and just loading up all my applications into RAM anyway, so, there’s that. Also, as soon as they come down in price just a smidge, I’m going to pickup an external SSD that supports Thunderbolt 3 like the Samsung X5, that ought to be pretty close to the speeds of the internal SSD.

Installing pyinstapaper on Mac OS

lxml 4.0 doesn’t build on Mac OS Mojave. But the latest version does. Unfortunately pyinstapaper looks for 4.0 when it builds.

I would have never figured this out but another developer submitted a merge request that noted the lxml issue.

The request hasn’t been accepted yet so if you try to install pyinstapaper using pip it will error out. That said, you can still install pyinstapaper from source (assumes you have jumped through all of the ‘brew install $foo’ requirements stuff) to get python 3.x running on your Mac.

To get pyinstapaper to install:

  • Download the the code for this module as a zip file.
  • Extract zip.
  • Edit the setup.py file and change  the line that reads:
  • ‘lxml>=3.4,<=4’, to ‘lxml>=3.4,<=5’,
  • save the change and then from within the directory that you downloaded the source run
    ‘python setup.py install’ and you should be good to go.

Book Review: No Country for Old Men

This was my first Cormac McCarthy book. I asked a good friend of mine who is a McCarthy fan to pick one and this was his pick.

Man. What an amazing read. All of the components were there: great story, unfamiliar-sounding yet authentic dialog, characters who you really, really cared about. And then on top of that there is a meta-plot about how the hell one ought to behave when the world around you is falling apart, something that seems especially timely.

The story here seems mostly about choosing to commit and persevere no matter how bad the outcome looks. Doing the right thing in the face of inevitability. But it’s so much more than that. The Sheriff may be one of my favorite characters ever. McCarthy’s dialog partly accounts for that but it is also really compelling to watch his internal struggle reconciling his behaviors, something we all deal with at one level or another. Such a great book. Really grateful to have read it.

Book Review: Brave New World

The premise of Brave New World is compelling enough to recommend the book. Especially if you’re in high school, which I think is when I first read it. The dytopian future portrayed by Huxley of a world that tries to engineer a better version of itself challenges the reader to pull connections from more modern attempts at these efforts.

Despite the interesting premise, I just didn’t enjoy the writing. The world represented in the book seemed like an academic exercise that Huxley engineered to make a point. It was interesting but only as a thought exercise.

I discovered that Ridley Scott was going to try to make a movie out of the book and seems to have backed away, citing:

I think Brave New World was probably great in nineteen thirty-eight, because it had a very interesting revolutionary idea. Don’t forget it came shortly before or after George Orwell, roughly the same time. When you re-analyze it, maybe it should stay as a book. I don’t know.

I think Scott would have been hard pressed to get an audience to feel real empathy for any of the characters the way he did in Blade Runner.

Huxley apparently was inspired to write the book in response to a trip he made to the US where he observed our obsession with youth and commercialism. That’s easy enough to believe. Out national fixation on self-improvement seems like just the kind of ecosystem that unchecked could eventually yield the kind of attempts to engineer the friction out of life represented in Brave New World.

To me, it’s this thread of the book’s narrative that is so interesting to me. Specifically, what happens when you engineer the suffering out of life. Huxley’s plot seems to fixate on the tools and techniques used to engineer the friction out of life but I think the tools and techniaues are mere disctraction.

Instead, especially relevant and meaningful are the effects of a life devoid of friction or where friction is seen as somehow being different from or seperate from the good life. Huxley fails to really dig into this thread in a satisfying way and perhaps that why it felt a little flat to me.

It certainly seems relevant today where we seem spend so much energy trying to reduce friction, sadness, pain, etc. from our lives. But it occurs to me that those things we try to avoid and minimize (and which have been erradicated in Huxley’s work) are exactly the things that make life worth living.

That is the underlying message of BNW that gets hidden in all of the dystopian engineering: If life is all good, it’s no good. Life is only good to the extent that we are open to the suffering it exposes us to.

Book Review: The Nickel Boys

The Nickel Boys was on a lot of “Best of” lists for 2019 so I figured to check it out and I’m glad I did. I haven’t read anything else by Colson Whitehead so not sure if this is true with all of his writing but he got me to feel a degree of empathy for his characters that was so deep that by the end of the book I felt wrung out.

I don’t get that a lot.

Moreover, I’m a middle age white guy and here I am feeling really deep connection and empathy towards these African american boys in Jim Crow south. Whitehead’s ability to connect the reader to these characters is unreal. I found myself highlighting certain passages throughout the book that achieved this effect and by then end I realized that part of his skill lies in what I think of as a casual intimacy with the characters’ inner lives.

Meaning the powerfully brutal scenes built connection and alone they would have probably been sufficient. But certain scenes where the narrator makes these offhanded observations—like when waiting for a table at a restaurant, briefly wondering if the delay is racism or just bad service—reveal the lens through which the characters are viewing the world and by the end of the book you and the character are nearly one and the book is just a powerfully moving experience. Grateful that Whitehead wrote it and that I got to experience it.

Friday Links for Jan 17, 2020

I implemented this great python script from @micahflee to automatically get rid of my tweets after a specified period of time. Similar to the Chrome extension I use to get rid of my Facebook posts but automated/scheduled so much more convenient.

  • The Death of the Good Internet Was an Inside Job | The New Republic – Another obituary for Google’s RSS reader and how Facebook ruined the Internet.
  • It’s time to change the abortion debate in America – Worthwhile read. This argument could be applied to a host of issues facing Americans.
  • Daring Fireball: Quit Confirmation for Safari on MacOS – Great little Keyboard Maestro script.
  • Stereo HomePods for Difficult Rooms and Social Listening

    I’ve seen couple of blogs (Kirkville, BirchTree) recently opining on stereo HomePod configurations and comparing them to a pair of Sonos speakers. I don’t have a pair of Sonos to compare my stereo HomePod configuration to but my experience with the HomePods stereo pair may be useful for some so I am sharing here.

    A few months ago we re-arranged the furniture in several rooms in our house. The net effect was that my Vandersteens (and, as such, my serious listening space) were relocated out of our living room and into a smaller room that has become my now dedicated listening area.

    We spend a lot of time in our living room and–as we have large families–often times with a lot of people. I needed a music solution to replace my traditional HiFi and Vandersteen towers that didn’t take up nearly as much space. (Note: I have in-ceilings in the living room but they just don’t sound as good as regular speakers and really don’t fill up the room without creating two very loud areas underneath that make it impossible to carry on a conversation so we never use them in that room).

    So when the opportunity came to pick up a second HomePod at a discount (I got mine refurb’d from Apple store but they show up new for $200 on sale on occasion), I decided to try a stereo pair of HomePods in the living room.

    For this situation they are absolutely perfect. And by this situation I mean: a large living room area with seating all over the place where you want the music to sound good no matter where you are sitting. The HomePods are amazing at delivering good sound in this environment and I would argue that they are way better than my Vandersteens for this situation.

    Sure, where the Vandersteens (or a pair of Sonos) might give you good sounds with great stereo imaging and a convincing sound stage, the eight speakers in the HomePods give you a really diffuse stereo field instead.

    Yes, you give up a single sweet spot with vivid imaging. That said, about 85% of the seating options in my living room get a really full stereo sound field where you hear a balanced representation of both the right and left speakers.

    The HomePods are strange in this way in that you can be sitting very close to one of the pair but still not sure if what you’re hearing is predominantly coming from the speaker closest to you or the one on the other side of the room.

    Moreover, as you move further and further away from the HomePods, the volume of the music does not seem to fall off quite so rapidly. Meaning it’s easier to have a conversation in the room while music is playing and the music volume always seems just about right now matter where your are sitting.[1]

    NewImage

    Bose 901’s featured multiple speakers for dispersion.

    In this way, the HomePods remind me a lot of the Bose 901s. Say what you want about Bose but it is near impossible to beat the experience that pair of 901s delivers to a roomful of people listing to music outside of the dead center stereo imaging position that most speaker pairs mandate.

    The HomePods, like the 901s before them, are for social music listening (as opposed to the lone experience of sitting dead center between a pair of towers) and they do a terrific job at that.

     

    1.) This volume roll off is similar to the effect that our Bose L1 with an array of 24 speakers has in our live performances where the music seems to be a pretty constant volume no matter how near/far you are from the tower, it’s uncanny