My Shepherd Will Supply My Need

https://youtu.be/ZDrmIJhO-34

My shepherd will supply my need;
Jehovah is His name.
In pastures fresh He makes me feed,
beside the living stream.

He brings my wandering spirit back
when I forsake His ways,
and leads me, for His mercy’s sake,
in paths of truth and grace.

When I walk through the shades of death
Thy presence is my stay;
one word of Thy supporting breath
drives all my fears away.

Thy hand, in sight of all my foes,
does still my table spread;
my cup with blessings overflows;
Thy oil anoints my head.

The sure provisions of my God
attend me all my days;
O may Thy house be my abode,
and all my work be praise.

There would I find a settled rest,
while others go and come;
no more a stranger, or a guest,
but like a child at home.

Source: https://youtu.be/ZDrmIJhO-34

Sometimes you find something you just have to share. – TjL

Plattsburgh Clergy Condemn Insurrection and the Lies That Led to It

TO THE EDITOR: On Jan. 6, 2021, our nation suffered an attack as insurgents breached the Capitol.

As religious leaders, we are deeply grieved and angered by this injury to the norms of democracy and the fear experienced by all those who felt themselves at risk of harm. We also mourn the loss of life as a consequence of the chaos.

We unequivocally condemn the violence of Jan. 6. We condemn the actions of those who allowed themselves to be led by anger and fear fueled by lies and conspiracy theories. We denounce leadership which creates divisions and hatred.

While we may disagree with particular policies and actions of government, we acknowledge this Congress and the incoming president and vice president as duly elected.

In the coming days and weeks, we pray for peace and pledge ourselves to doing what we may to promote truth and justice in this nation for all its people.

We continue to pray for the families of those who lost loved ones because of the violence on Jan. 6. On this week when a new president and vice president is inaugurated, we pray for our divided nation. We pray for those who are so hurt and afraid that they would resort to this kind of violence. We stand with and pray for those who work tirelessly for justice and peace. We pray for those who speak truth to power. We pray for the day when people with competing ideals will sit together in harmony at the table of democracy and fellowship.

At the dawn of this new administration on Jan. 20, with all of its hopes and possibilities, we implore people of faith to fervently pray for peace and unity in our nation, and may those prayers, actualized in our civility and kindness toward one another, bring healing to our nation.

Rev. Philip Richards

Rev. Gregory Huth

Rabbi David Kominsky

Rev. Timothy J. Luoma

Rev. Sally Chase White

Rev. Rebekah L Solar

Rev. Martha E Connor

Rev. Chrysalis Beck

Rev. Peggi Eller

Rev. Nicoline Guerrier

Rev. David Ousley

Rev. Paul Heller

Plattsburgh


Originally published 19 January 2021 in the Press Republican of Plattsburgh, NY

Matthew 25:31-46 – The Sheep and the Goats

This is the Gospel reading for next Sunday (November 22, 2020) which I have recorded so I can listen to it throughout the week. I have used 4 translations:

  1. NRSV
  2. The Message
  3. NIV
  4. NASB

I thought I would share them here for others who might be working on the same passage and who would like to be able to listen to the passage throughout the week, either in one or all of those versions.

You can download an MP3 with all of the versions, or an MP3 of just one version, using the links below. The text of each translation is also included.

Matthew 25:31-46 (All 4 Versions)

Matthew 25:31-46 (all 4 versions)

Download: Matthew 25:31-46 (all 4 translations)

Note: if your MP3 player understands “chapters” then it will be able to jump directly to each translation, if you wish.

Matthew 25:31-46 (NRSV)

Matthew 25:31-46 (NRSV)

Download: Matthew 25:31-46 (NRSV)

31 “When the Son of Man comes in his glory, and all the angels with him, then he will sit on the throne of his glory.

32 All the nations will be gathered before him, and he will separate people one from another as a shepherd separates the sheep from the goats,

33 and he will put the sheep at his right hand and the goats at the left.

34 Then the king will say to those at his right hand, ‘Come, you that are blessed by my Father, inherit the kingdom prepared for you from the foundation of the world;

35 for I was hungry and you gave me food, I was thirsty and you gave me something to drink, I was a stranger and you welcomed me,

36 I was naked and you gave me clothing, I was sick and you took care of me, I was in prison and you visited me.’

37 Then the righteous will answer him, ‘Lord, when was it that we saw you hungry and gave you food, or thirsty and gave you something to drink?

38 And when was it that we saw you a stranger and welcomed you, or naked and gave you clothing?

39 And when was it that we saw you sick or in prison and visited you?’

40 And the king will answer them, ‘Truly I tell you, just as you did it to one of the least of these who are members of my family, you did it to me.’

41 Then he will say to those at his left hand, ‘You that are accursed, depart from me into the eternal fire prepared for the devil and his angels;

42 for I was hungry and you gave me no food, I was thirsty and you gave me nothing to drink,

43 I was a stranger and you did not welcome me, naked and you did not give me clothing, sick and in prison and you did not visit me.’

44 Then they also will answer, ‘Lord, when was it that we saw you hungry or thirsty or a stranger or naked or sick or in prison, and did not take care of you?’

45 Then he will answer them, ‘Truly I tell you, just as you did not do it to one of the least of these, you did not do it to me.’

46 And these will go away into eternal punishment, but the righteous into eternal life.”

Matthew 25:31-46 (MSG)

Matthew 25:31-46

Download: Matthew 25:31-46 (MSG)

31-33 “When he finally arrives, blazing in beauty and all his angels with him, the Son of Man will take his place on his glorious throne. Then all the nations will be arranged before him and he will sort the people out, much as a shepherd sorts out sheep and goats, putting sheep to his right and goats to his left.

34-36 “Then the King will say to those on his right, ‘Enter, you who are blessed by my Father! Take what’s coming to you in this kingdom. It’s been ready for you since the world’s foundation. And here’s why:

I was hungry and you fed me,
I was thirsty and you gave me a drink,
I was homeless and you gave me a room,
I was shivering and you gave me clothes,
I was sick and you stopped to visit,
I was in prison and you came to me.’

37-40 “Then those ‘sheep’ are going to say, ‘Master, what are you talking about? When did we ever see you hungry and feed you, thirsty and give you a drink? And when did we ever see you sick or in prison and come to you?’ Then the King will say, ‘I’m telling the solemn truth: Whenever you did one of these things to someone overlooked or ignored, that was me—you did it to me.’

41-43 “Then he will turn to the ‘goats,’ the ones on his left, and say, ‘Get out, worthless goats! You’re good for nothing but the fires of hell. And why? Because—

I was hungry and you gave me no meal,
I was thirsty and you gave me no drink,
I was homeless and you gave me no bed,
I was shivering and you gave me no clothes,
Sick and in prison, and you never visited.’

44 “Then those ‘goats’ are going to say, ‘Master, what are you talking about? When did we ever see you hungry or thirsty or homeless or shivering or sick or in prison and didn’t help?’

45 “He will answer them, ‘I’m telling the solemn truth: Whenever you failed to do one of these things to someone who was being overlooked or ignored, that was me—you failed to do it to me.’

46 “Then those ‘goats’ will be herded to their eternal doom, but the ‘sheep’ to their eternal reward.”

Matthew 25:31-46 (NIV)

Matthew 25:31-46 (NIV)

Download: Matthew 25:31-46 (NIV)

31 “When the Son of Man comes in his glory, and all the angels with him, he will sit on his glorious throne.

32 All the nations will be gathered before him, and he will separate the people one from another as a shepherd separates the sheep from the goats.

33 He will put the sheep on his right and the goats on his left.

34 “Then the King will say to those on his right, ‘Come, you who are blessed by my Father; take your inheritance, the kingdom prepared for you since the creation of the world.

35 For I was hungry and you gave me something to eat, I was thirsty and you gave me something to drink, I was a stranger and you invited me in,

36 I needed clothes and you clothed me, I was sick and you looked after me, I was in prison and you came to visit me.’

37 “Then the righteous will answer him, ‘Lord, when did we see you hungry and feed you, or thirsty and give you something to drink?

38 When did we see you a stranger and invite you in, or needing clothes and clothe you?

39 When did we see you sick or in prison and go to visit you?’

40 “The King will reply, ‘Truly I tell you, whatever you did for one of the least of these brothers and sisters of mine, you did for me.’

41 “Then he will say to those on his left, ‘Depart from me, you who are cursed, into the eternal fire prepared for the devil and his angels.

42 For I was hungry and you gave me nothing to eat, I was thirsty and you gave me nothing to drink,

43 I was a stranger and you did not invite me in, I needed clothes and you did not clothe me, I was sick and in prison and you did not look after me.’

44 “They also will answer, ‘Lord, when did we see you hungry or thirsty or a stranger or needing clothes or sick or in prison, and did not help you?’

45 “He will reply, ‘Truly I tell you, whatever you did not do for one of the least of these, you did not do for me.’

46 “Then they will go away to eternal punishment, but the righteous to eternal life.”

Matthew 25:31-46 (NASB)

Matthew 25:31-46 (NASB)

Download: Matthew 25:31-46 (NASB)

31 “But when the Son of Man comes in His glory, and all the angels with Him, then He will sit on His glorious throne.

32 And all the nations will be gathered before Him; and He will separate them from one another, just as the shepherd separates the sheep from the goats;

33 and He will put the sheep on His right, but the goats on the left.

34 “Then the King will say to those on His right, ‘Come, you who are blessed of My Father, inherit the kingdom prepared for you from the foundation of the world.

35 For I was hungry, and you gave Me something to eat; I was thirsty, and you gave Me something to drink; I was a stranger, and you invited Me in;

36 naked, and you clothed Me; I was sick, and you visited Me; I was in prison, and you came to Me.’

37 Then the righteous will answer Him, ‘Lord, when did we see You hungry, and feed You, or thirsty, and give You something to drink?

38 And when did we see You as a stranger, and invite You in, or naked, and clothe You?

39 And when did we see You sick, or in prison, and come to You?’

40 And the King will answer and say to them, ‘Truly I say to you, to the extent that you did it for one of the least of these brothers or sisters of Mine, you did it for Me.’

41 “Then He will also say to those on His left, ‘Depart from Me, you accursed people, into the eternal fire which has been prepared for the devil and his angels;

42 for I was hungry, and you gave Me nothing to eat; I was thirsty, and you gave Me nothing to drink;

43 I was a stranger, and you did not invite Me in; naked, and you did not clothe Me; sick, and in prison, and you did not visit Me.’

44 Then they themselves also will answer, ‘Lord, when did we see You hungry, or thirsty, or as a stranger, or naked, or sick, or in prison, and did not take care of You?’

45 Then He will answer them, ‘Truly I say to you, to the extent that you did not do it for one of the least of these, you did not do it for Me, either.’

46 These will go away into eternal punishment, but the righteous into eternal life.”

Automators Podcast, episode 58

I was extremely pleased to be on episode 58 of the Automators podcast on Relay.fm.

This was my first time on Automators, which is a show that I have really enjoyed since it first began.

I’m guessing anyone who has managed to still find and read my site probably knows this already, but I’ve also been on a few episodes of Mac Power Users too:

Links and Show Notes

Here are the show notes for Automators 58:

Free Books: Healthy Clergy Make Healthy Congregations

(Note: These books are only free today, September 3rd, 2020)

Steve McCutchan posted on The Presbyterian Outlook’s website that today (September 3rd, 2020) is his 54th wedding anniversary. He adds:

My wife, Sandy, who passed away this past November 30th, in addition to being my faithful companion, was also the chief editor of all my books. This includes the nine-volume series, Healthy Clergy Make Healthy Congregations (HCMHC). I’ve decided that in celebration of the fifty-three years we spent together and in thanksgiving for all she contributed to me, I’m going to GIVE AWAY ALL NINE VOLUMES of the HCMHC series on that day.

Here are links to the Kindle versions of each book, plus a 10th book which is also free today:

Those links go to Amazon.com and to the Kindle versions. They should show a price of $0.00. (If not, you may have missed the deadline.)

I’m not sure if they are free in other Amazon stores other than Amazon.com.

I haven’t read these books, so I can’t vouch for them directly, but it seems like a generous offer, worth checking out.

Thanks to Steve for making these books available in honor of Sandy’s memory.

These Are Not the Masks You‘re Looking For…

Scene: Jenkins, a product manager at Disney, reports to his Boss about Disney’s new licensed Star Wars masks for COVID-19…

Jenkins: “Hey boss! We’ve got those Star Wars face masks for sale on the website.”

Boss: “Great! People need to be wearing masks, and we have some iconic masked characters: Darth Vader, Boba Fett, Kylo Ren, The Mandalorian…”

Jenkins: “Um…”

Boss: “What?”

Jenkins: “It’s just, um. Those are all excellent suggestions, sir. It’s just that… We didn’t make those.”

Boss: “Oh. Huh. Well… Ok. Decided to do with Storm Troopers then?”

Jenkins: “Oh… Storm Troopers… Yeah that would have been a good one…”

Boss: “…”

Jenkins: “…”

Boss: “So what did you…”

Jenkins: “We’ve got an R2D2…”

Boss: “Oh, the gold droid who talks a lot? I lov—”

Jenkins: “Um, no sir, that’s C3PO… He’d be a good one, though, I’ll write that down. We did the other one.”

Boss: “You did a mask of a droid… but not the one whose head is shaped like… a head?”

Jenkins: “Yes sir… We have some others.”

Boss: “Show me…”

Jenkins: “This one features the 1977 cast…”

Boss: “1977… Jenkins, you do know we’ve made a few more of these movies since then, right?”

Jenkins: “But this is iconic artwork, sir…”

Boss: “Why does Leia look like she’s one of Luke’s legs? And… is she wearing a turtleneck? And a tiara for a belt?”

Jenkins: “Sir, you mentioned our newer properties, I think you’ll really like this one, it has iconic symbols from the new movies.”

Boss: “Not those stupid dice, I hope…”

Jenkins: “No, sir, we’ve gotten rid of those, as you asked. Look here.”

Boss: “What are these?”

Jenkins: “Those are symbols of the rebellion.”

Boss: “That one looks like the adapter I used to have to use for my 45 RPM albums.”

Jenkins: “Sir?”

Boss: “Nevermind. Who is the guy with the tusks?”

Jenkins: “You know, sir, that’s… um… Darth… Tuskus…”

Boss: “Where are the X-Wings?”

Jenkins: “Oh, um…”

Boss: “You said iconic symbols. I don’t see an X-Wing, or a TIE Fighter, or even a lightsaber. Those are pretty important symbols of Star Wars, right? How about the Millenium Falcon?”

Jenkins: “You’re going to love this last one. It’s ‘The Child’…”

Boss: “Who?”

Jenkins: “‘The Child’? From ‘The Mandalorian’?”

Boss: “You mean ‘Baba Yoda’?”

Jenkins: “Actu— Yes. Baby Yoda, sir. You’re going to love this one.”

Boss: “Jenkins. Did you cut off Baby Yoda’s ears?”

Jenkins: “No no no. See, of you hold the elastics out like this, see how it kind of looks like the shape of ears?”

Boss: “When people wear this mask, are those elastics going to stick out like that?”

Jenkins: “Um. No?”

Boss: “No, they’re not. So it’s just going to look like they’re wearing a mask with Baby Yoda’s ears cut off.”

Jenkins: “I…”

Boss: “Get out.”

Jenkins: “Yes, sir. I’ll bring your ideas to the team.”

Boss: (pushing button under desk) “I don’t mean out of my office. I mean out of the building. These men will show you the way. We’ll send your last check to you.”

Compare macOS Versions with zsh and is-at-least

Update (26 July 2020)

Howard Oakley has reported that Big Sur is both 10.16 and 11.0.

For the purposes of shells scripts, sw_vers will return 11.0 unless SYSTEM_VERSION_COMPAT=1 is set. If it is set, then sw_vers will return 10.16.

To my mind, this new information only makes the following suggestion more useful, because it will work under either scenario.

end of update

Original Post

I have already run into an issue where I’ve had to adapt some of my scripts for Big Sur.

(n.b. if you have used the -p arg to shasum in the past, it no longer exists in Big Sur. There is a new -U option which is not the same as what -p used to do. Ironically, -p was for ‘portable’ mode.)

It has already been noted that Apple is referring to Big Sur as “macOS 11” which presumably means that sw_vers -productVersion will return ‘11.0’ once Big Sur is out of beta.

However, at least as of this writing (10 July 2020), sw_vers -productVersion on Big Sur returns ‘10.16’.

If you are trying to write a shell script which can be used on both Big Sur and earlier versions of macOS, how can you check to see which version you are running?

I would like to recommend the following, which uses a feature which I believe is unique to zsh — and since Apple has made zsh it’s preferred shell, I recommend writing all of your shell scripts in zsh (however I should note that I may be a little biased, as I’ve been using zsh for 20+ years).

is-at-least

The zsh feature in question is called is-at-least and you use it like this:

autoload is-at-least

is-at-least "$MINIMUM" "$ACTUAL"

where $MINIMUM and $ACTUAL represent the two numbers that you want to compare. What is especially nice about is-at-least is that it can compare version numbers such as 10.15.5 and 10.13.4 and 10.16 (or 11.0).

Note: the autoload is-at-least line needs to be called once-per-script before you use is-at-least but once you’ve loaded it, you can use is-at-least as many times as you want in that script.

The key here is that regardless of whether Big Sur reports itself as 10.16 or 11.0, we can use ‘10.16’ as $MINIMUM and then set $ACTUAL to the version of macOS that we are using.

Note that you don’t have to use variables here, you could do this:

autoload is-at-least

is-at-least "10.16" "$ACTUAL"

The result of is-at-least will be zero if $ACTUAL is at least equal to 10.16, or 1 if it is not.

Here’s a complete example script as a gist for those who may find it useful.

#!/bin/zsh -f
# Purpose: Check to see if we are running on Big Sur
#
# From: Timothy J. Luoma
# Mail: luomat at gmail dot com
# Date: 2020-07-10
PATH="/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin"
# this will check to make sure `sw_vers` exists
# if it does not, this is probably not macOS
if ((! $+commands[sw_vers] ))
then
echo "$NAME: 'sw_vers' is required but not found in $PATH" >>/dev/stderr
exit 2
fi
## First we get the value for this Mac and save it to `$ACTUAL`
ACTUAL=$(sw_vers -productVersion)
## load 'is-at-least' so we can use it
autoload is-at-least
## "Is the version of macOS that we are using _at least_ 10.16?"
is-at-least "10.16" "$ACTUAL"
## EXIT will be '0' if ACTUAL is at least 10.16
## EXIT will be '1' if ACTUAL is _less than_ 10.16
EXIT="$?"
if [[ "$EXIT" == "0" ]]
then
# This is Big Sur (or later)
echo "YES"
elif [[ "$EXIT" == "1" ]]
then
# This is BEFORE Big Sur
echo "NO"
else
# we should never get here
echo "This should not have happened. EXIT = $EXIT"
fi
exit 0

view raw
macos-is-at-least.sh
hosted with ❤ by GitHub

Listen, record, and even pause Relay.fm Live using VLC and Audio Hijack

Relay.fm has a schedule of live shows which you can listen to as they are recording. Most people just listen to these in a web browser, because that makes the most sense and is the easiest way to do it. If you have an iOS device you can use the free Relay.fm app which I will also use if I am not at home when a show is live.

However, if I am on my Mac when a show is live, I prefer to listen using VLC which is a free app, and I also like to record the live show, either so I can pause it if I get interrupted or can just listen later to the MP3. This is accomplished by using VLC plus Rogue Amoeba’s Audio Hijack program, which is not free, but which any self-respecting Mac nerd ought to own because it’s amazing cool and powerful. It can do 1,000 more things than this, but I’m just going to talk about this for now.

Using VLC to listen to Relay.fm live

To listen to Relay.fm in VLC, you need the URL to the live-stream server:

http://stream.relay.fm:8000/stream

That URL is only enabled when the live-stream is active.

First go the File » Open Network:

VLC: File » Open Network

Second, put the URL into the Network URL in the Open Source window that will open:

VLC: Network Pane

If the live-stream is active, it will look like this:

VLC: Live Stream window

If you’re comfortable with the command line, you can replace the first two steps by this line in Terminal:

open -a VLC 'http://stream.relay.fm:8000/stream'

which will automatically open VLC with the stream playing (again, only if it is live).

Record Relay.fm Live with VLC and Audio Hijack

If you want to record Relay.fm with Audio Hijack, we can still use VLC, and then set it up the output to go two places:

  1. To an MP3 so we can listen later

  2. To the Mac’s speakers

In number 2, we also add a “Time Shift” block, which will allow us to pause the livestream (which will keep recording in real-time to the MP3, because that is completely separate). It will also allow us to rewind the broadcast if we missed something. It’s sort of like TiVo for audio.

The setup (which Audio Hijack calls a “Session”) will look something like this:

VLC in Audio Hijack

You can see there are two “branches” from VLC, one going up to an MP3, and the other going down to “Time Shift” and “Output Device”.

We have to tell VLC what to play when this Session runs, which we can set by clicking on the VLC “block” in Audio Hijack, which will reveal the VLC settings. You can see it here:

VLC settings in Audio Hijack

Note that the box next to “Open URL” is checked, and the URL is entered into the appropriate box.

You can also change the MP3 settings (not shown) by clicking on the “Recorder” block. I have mine set to save recordings to the folder ~/Music/Audio Hijack/ with filenames that are formatted like this:

Relay.FM-2019-05-16-at-13-04.mp3

The first part makes sure that all the Relay.fm recordings will be grouped together by name, and then the date (YYYY-MM-DD) followed by the time that the recording began (13-04 refers to 1:04 p.m. local time on May 16th of 2019).

You can download my Audio Hijack session file here: Relay-to-Speakers-and-mp3.ahsession

Assuming you have Audio Hijack installed, you should be able to double-click on the Relay-to-Speakers-and-mp3.ahsession file and have it open right in Audio Hijack. You can then adjust any of the settings that you might want to change. (The file also assumes that VLC is installed at /Applications/VLC.app.)


p.s. – You can easily adapt these instructions to record other podcasts which record live, by creating a new “Session” in Audio Hijack and changing the URL of the live-stream server. For example, ATP’s URL is http://marco.org:8001/listen

With ATP, you can even use Audio Hijack’s “Schedule” feature to record Wednesday nights at 8:58 p.m. (US/Eastern) to 11:55 p.m. and automatically record most of ATP’s live shows. They do occasionally change that date/time of recording, but that will catch most weeks. I suggest starting a few minutes before 9:00 p.m. not because I want to subject you to Marco’s Phish concerts, but just to give yourself a little leeway. Also, they usually stop recording long before 11:55 p.m., but Audio Hijack is smart enough to figure out when there is no sound playing.

The Daily Lectionary Podcast

Last year (2019) during Lent, I started reading The Daily Lectionary. After Easter, I stopped. No idea why, really. I guess because Lent was over? Which doesn’t make much sense, because I enjoyed reading it every day. Nevertheless, I stopped.

Recently, I’ve been wanted to resume the practice again, but I found that I really liked the idea of reading it in community.

Unfortunately, right now we can’t really read “in community” very easily — at least not in the ways that we’re used to thinking of “community”. I did think of making it a daily Zoom call, but everyone I know right now has plenty of Zoom calls, so I decided to do something different.

I decided to start a podcast where I read The Daily Lectionary.

A Little Background Information

If you have been involved in a mainline Christian church, you may be familiar with the lectionary as a list of readings assigned for Sundays throughout the year, and it operates on a three year cycle. The Revised Common Lectionary is the most familiar, but that’s only one kind of lectionary, and there are lots of others.

The Presbyterian Church (USA) also has a two-year daily lectionary from our Book of Common Worship. You can find the readings online at https://pma.pcusa.org/devotion/. That page is updated every day to show the current day’s readings.

(Of course, there’s nothing particularly “Presbyterian” about the readings; they all come from the Christian Bible, so if you are not Presbyterian, don’t consider that a hindrance.)

Each day consists of 7 readings:

  • 2 Psalms for the morning
  • 3 Readings for mid-day
  • 2 Psalms for the evening

Now, I know you may be thinking, “Seven readings?!?” but these are not long readings. In fact usually they are fairly short, compared to readings that we usually have for a Sunday worship service.

In fact, looking at the readings from the past two weeks’, I can tell you that reading all 7 of them takes an average of 13 minutes per day! The shortest day was about 10 minutes, and the longest was about 17 minutes. If you can take 20 minutes a day, you can do this.

Also note: The podcast is just the text. There is no commentary or interpretation offered, which would not only lengthen the time commitment, but it might be a barrier to some folks. The whole point is simply to have the texts themselves to read, with the expectation that you will add your own thoughts and prayers to the hearing of them.

The mid-day readings usually include one reading from the Hebrew Bible, one reading from the epistles, and one reading from the Gospels.

The times are, of course, just suggestions. You can read them all at once, or divide them differently. I found that I preferred to read the two “morning Psalms” and the three “mid-day” readings early in the day, and then I would read the 2 evening Psalms when I went to bed. There’s no wrong way to do it.

(As an aside: the daily lectionary also tends to repeat the Psalms. This is not a mistake; it is, I believe, intended to give you another opportunity to hear something that you might have missed the first time, or that means more to you on one day than it might have on another.)

“How to listen”

There are several ways to access these recordings, so if you do not know how to do it one way, keep reading, and maybe you’ll find another option you like better.

Option 1: Listen as a Podcast

If you already know what a podcast is and how to use them, then all you need to know is that you should use https://feedpress.me/lectionary as the link to subscribe.

sketch of the Plattsburgh church

You can also search for “Daily Lectionary” in the iTunes Podcast Directory, but if you do that, please note that there are more than one, so look for either my name (Rev. Dr. Timothy J. Luoma) or the picture of the Plattsburgh church (shown here) which is what I used for artwork.

Each day’s readings post at midnight on the day of the assigned reading, so no matter how early in the morning you get up, it should be available for you.

Each episode also includes links to the text of the readings, in case you want to read along as you listen.

Option 2: Receive Links via Daily Email

If you don’t know what a podcast is, or would rather just get a link via email, you can subscribe via email using this link.

Note: To sign up, you will need to enter your email address, then you will receive an email with a link. You must click that link in the email you receive in order to confirm that you want to receive the daily emails.

You will receive one email each day with a link to the page for today’s readings. Click the link, and you will find a web page where you can listen (and read along, if you’d like).

(Unfortunately, there is no way to have the actual audio file delivered via email, but the link should make it almost as easy to get as if it was in your email.)

Option 3: Read (and Bookmark!) a Web Page

If you do not want to use either of those options, you go to this page: The Daily Lectionary and add it to your browser’s “bookmarks” or “favorites,” so you can quickly get back to it.

From there, you can read the text of each day’s readings and listen to the recordings, right from each page.

Option 4: Read using your own Bible and a printed reference guide

You can also find printable lists of the readings for each month in 2020 (or for the entire year, if you want).

Option 5: Get the readings emailed to you each day

The PC(USA) offers a daily email newsletter with the readings, so you don’t have to keep 5 bookmarks in your Bible.

Option 6: There’s an app for that!

The PC(USA) also offers an app for iPhone/iPad and Android devices which will give you the daily readings in your hand.


I hope that this will be a help to those who might want to add daily Scripture readings to their lives but have struggled to do it on their own.

Shortcut: Due Schedule Call

(A note to the reader: although it has been updated and re-posted on March 21, 2020, this was originally written in October 2018.)

Here’s a scenario that you might relate to: I’ll often think to myself, “Oh, I just remembered that I call someone, but I can’t call them right now.” Here are some examples:

  • I need to call to arrange some type of service (plumber, electrician, car shop, etc) but it’s after they are closed for the day.
  • I need to call a friend or family member, but it’s during the day when they are probably working, so I need to call them in the evening.
  • I meant to call someone earlier, but forgot, and it’s too late in the day to call them now.

Or I might want to make sure that I call someone at a specific time:

  • I need to call the car repair shop as soon as they open tomorrow.
  • I want to call Mom on Tuesday night before she leaves on Wednesday.

Et cetera.

Here’s the problem. Well, one of the problems.

If I can’t do it now, I need to set some kind of reminder to do it later.

If the time comes for me to call and I’m distracted, tired, busy, or otherwise occupied, I might not actually make the call when the time comes, so I need my Current Self to make this as easy as possible for my Future Self.

In the past, what I have done is added a note in Due which would say something like “Call AppleCare” and then set the time/date when I want to be reminded.

(If you haven’t used Due, one of the things everyone loves about it is that it will keep reminding you to do something until you actually do it. You can have the reminders repeat every minute, every 5, 15, 30, etc. It’s the most-reliable way to get yourself to do something at a specific time or close to it.)

The problem with my method has always been that the reminder would do off, and then I’d have to do to the phone app, look up the person I wanted to call, and then select the phone number. Sometimes I would realize that I didn’t have the number that I needed to call, and wondering if I had the number that I needed to call always made me dread when a reminder came up to make a call.

It’s that little bit of friction that doesn’t seem like much, but often made me resistant to actually Do The Thing I needed to do when the reminder goes off. It has also happened that I’ve dismissed the reminder, and then been distracted before I actually made the call, either because I didn’t have the number, or something similar.

Now I realize that when you see it written down, it seems silly, and maybe it is, but I’m being honest: even that little bit of “friction” in the process made it much less likely that the call was going to get made, and even when I did it, it always seemed like a bit of a hassle. One of the things I most appreciated about David Allen’s Getting Things Done book was when he talked about being lazy and therefore wanting to make things as easy as he could. He devised the whole system to make it so that when it came time to doing things, he had removed as much friction as possible.

Then I learned that Due has a built-in feature which makes this easier.

I’m sure this is mentioned in the documentation somewhere, but I stumbled across it by accident.

I set a reminder in Due, but this time I added the phone number of the person I needed to call as part of the reminder text. When the reminder alert went off and I went to dismiss it, Due automatically prompted me to call the number.

My eyes grew very wide.

“So you’re telling me that if I put the phone number into Due along with the reminder, then Due will recognize that it’s a phone number and offer to dial the phone for me?”

This is a lazy-person’s dream. Having the number right there means the friction has been removed. I can dismiss the reminder and make the call in one step! And if I realize that I don’t have the number now when I’m thinking about making the call later I can look up the number as my leisure so that I am 100% sure that I’ll have it when I need it.

“This is awesome!” I thought.

But only for a moment. Because brains are terrible, at least mine is, and so the first thing it said to me is: “You do realize that this means that you need to go to the Contacts app, find the person, select their phone number, copy the phone number, and then paste the phone number into Due, right?”

Yeah, I know it seems like that’s not a big deal, but my brain is a jerk and he knows exactly how to push my buttons.

And just like that, there was friction again. It had just from “Doing The Thing” to “Setting The Reminder” which meant now I was subtly resistant to even making the reminder to do the thing that I needed to do.

(Look, I’m not proud that I’m like this, I’m just telling you how I actually am.)

Complication #2: Google Voice

There was actually a bigger complication: most of the calls that I make are not made with via the iOS Phone.app, but with Google Voice.

I use Google Voice for all of my calls related to my “day-job”, and I need/want to use Google Voice for those calls because then the caller-ID will show the phone number that work-related people have for me, instead of my actual iPhone number.

So there’s another piece of friction.

If only there was some way to make this easier…

Cue “Shortcuts”

As most of the people who are reading this probably know, Apple just introduced an app called “Shortcuts” which is basically version 2 of an app which was previously not-by-Apple. Version 1 of the app was called “Workflow”.

I never really used Workflow much. Although Apple had approved it and let it into the App Store, I was certain that Apple would eventually kick it out of the App Store, and then I would be sad if I had built a bunch of things with it.

Well, as it turns out, not only was I wrong, but I was wrong in about as big of a way as possible. Instead of kicking Workflow out of the App Store, Apple bought Workflow, and renamed it “Shortcuts”. In iOS 13, Shortcuts was released as part of iOS itself, instead of a separate app that needed to be downloaded and installed.

Once Shortcuts became an official Apple app, I decided to start using it. But this was the first time that I had a problem that I really wanted to solve with automation on the iPhone:

“How can I make it easier to schedule calls on my iPhone?”

I was poking around in Shortcuts when I realized that I could send the name and phone number of a contact to Due fairly easily.

All I had to do was choose the person from my Contacts.app, and the shortcut could automatically copy the name and phone number, and sent both pieces of information to Due. Then all I had to do was pick a date/time for the reminder.

But what about Google Voice? Unfortunately the official Google Voice app doesn’t support Shortcuts (yet?), but there is another iPhone app for Google Voice called GV Connect which has an URL scheme (for the nerds in the audience, GV Connect supports “x-callback-url”), meaning that I can use it with Shortcuts.

“Due Schedule Call”

Putting all of this together, I made my first real Shortcut, which had 3 (or possibly 4) steps.

  1. Select a contact from my contacts list
  2. If the contact has more than one phone number, it will prompt you to choose which one to use.
  3. Next it will ask if you want to use Google Voice or the regular Phone app
  4. Finally it will send that information to Due, so you can set a time/date for the reminder.

Step #2 was the last piece that I figured out. If I didn’t have some way to choose a phone number, I was either left with the option of sending all of the phone numbers to Due (which was a terrible idea) or just automatically picking the first one (which wasn’t a great idea, although better than the previous alternative).

After that, the real magic happens between steps 3 and 4, and it happens completely in the background.

If I choose the Phone.app, the shortcut just sends the name and number to Due. But, if I choose Google Voice, the shortcut reformats the phone number into the proper syntax for GV Connect, and includes it in the text that is sent to Due.

By front-loading all of the decisions into the first part of the process (making the reminder), I have made it easier for my Future Self to actually make the phone call. It’s easier than it has ever been.

When I “check off” the reminder, Due will let me trigger the call with almost zero effort.

For the first time ever it is just as easy for me to use Google Voice as it is to use the built-in Phone app!1

See For Yourself

I made a short (about 1 minute) screencast of this shortcut in action.

In it, I setup 2 reminders:

  1. I selected a contact named “Apple” (which has multiple phone numbers) and scheduled a call to be made with the Phone app.

  2. I selected a contact named “AppleCare” (which only has 1 phone number) and scheduled a call to be made via GV Connect.

You can see it here:

(Be sure to make it full-screen so you can see things more easily.)

You can get the shortcut here.

Thanks

Thanks to Andreas Amann, GV Connect’s developer, who helped improve this shortcut.

Thanks also to Raymond Velasquez who helped me solve another part of the puzzle via a post on the forum for the Automators podcast, which is a great place to get automation help for iOS or Mac.

Side note: if you aren’t listening to Automators with Rose Orchard and David Sparks, you really should be.

Update 2018-10-13

It occurs to me that this shortcut might be useful to more people if I offered a variant without the Google Voice portion. After all, if you don’t use Google Voice, there’s no sense in having to choose the phone app each time this shortcut runs.

So I made a version without Google Voice. You can find it here:

Due Schedule Call (without Google Voice)


  1. In fact, it’s actually one less tap to use Google Voice rather than the regular phone app, because when you use the Phone app, Due offers to let you call or message the phone number, whereas with GV Connect I can specify that I want to make a call, not send an SMS.