Tuesday, November 17, 2015

Shivering in the dark at the Caltrain platform: a perspective

The wind felt quite cold as we waited on the Caltrain platform. Due to a fatality near the Santa Clara station, trains would be delayed 60 or 90 minutes.

It turned out to be more like two hours, but as I started feeling uncomfortable, I thought, here I am in a pair of jeans, a scarf, a hoodie and a coat. Even if it lasts another hour, tonight I'll have a hot meal and and sleep in my own bed next to my wife in our warm house.

I thought of the thousands of Syrian refugees, fleeing violence at home, and how much harder it will be for them after those bullies from Da'esh launched the Paris attacks. I mean—imagine it:

You're just trying to feed your family, minding your own business, and one day you start to hear rumors. You're afraid, but what can you do? Then one night you hear doors slamming, screams, gunshots; you gather your family and run like hell. The next day you make your way back to town and find your neighbors and extended family killed. You find another survivor, who tells you that armed men went door to door, killing everyone who didn't have the right kind of family name, or wasn't the right kind of Muslim.

And now a bunch of European countries are telling you to stay out, when all you're trying to do is get away from people who have killed off most of your village.

I think about our United States, how many people came from Europe, fleeing religious persecution of all things, in the 17th century. And in the centuries since, how many more came from all over the world to make new lives for themselves, fleeing poverty and persecution. Some came in search of a better life, or maybe just in search of adventure.

And I am embarrassed today to be a citizen of the same country where so many GOP governors have said they'll take no more Syrian refugees. Yes, some "refugees" are actually terrorists, and some real refugees will become terrorists. But the overwhelming majority—I mean let's be serious—are just trying to stay alive.

And I remember with some bitterness that people like Lee Harvey Oswald, Timothy McVeigh, the Columbine shooters whose names I've forgotten, Adam Lanza, and lots of other mass killers were never refugees.

What is the matter with us?

Wednesday, October 14, 2015

Returning to California: Flight Diary (sorta)

A few happy momenets.

I was kicking myself for not just filling the rental car's tank in Manoa. Not finding a filling station on Lagoon Drive, I used the "Maps" app on my phone to find the nearest station. When I got there, I found out: for military personnel only. By the time I found the Chevron at Moanalua Shopping Center, I should have already been at the airport. So much for trying to be a good citizen by filling up near the airport!

But when I got to the airport, I had no trouble checking my bag because the flight was delayed: about 35 minutes. TSA PreChk made for a less-annoying experience at the checkpoint. My section was the last to be called. On the jetway, a gate agent called out, "Any bags to go, pre-tagged?"

Behind me, the young Japanese father said, "えっ? なんって?" (basically "Huh? What'd she...")

Digging into my latent reservoir, I came up with "お預かり..." --the light of understanding dawned in him--"荷物."

He pulled his bag off the stroller and waved an arm. "Excuse me!"

A few people in front of us chimed in, and we eventually got the agent's attention. "We have a stroller here," I said.

The stroller disappeared, and the young dad gave me his thanks.

A few minutes later, on the plane, he got his wish: a chance to do something to help me. We were almost the last ones on the plane, and I was trying to get my roll-on bag into an overhead bin. The young dad moved some stuff for me and I was able to hoist my bag up and into place. "どうも, お疲れ様" I returned.

I was in 9D, with a Chinese couple seated next to me in 9E-F; 9A was occupied but 9B-C were vacant. I slid into 9C, giving the couple room to spread out, and did a little spreading out myself.

A couple hours later, the beverage cart parked at our row for the third time. The flight attendant was tending to row 11. The lady in 9A was looking up hopefully, so I asked her if she needed anything. "Water," she said, so I watched for an opportunity.

As the flight attendant returned to her cart, I leaned toward her. "When you get a chance," I began.

She stopped and I continued, "...she would like..." and I let 9A speak for herself.

Truly feeling blessed today.

Sunday, September 20, 2015

10-20-30 interval training?

From "A Way to Get Fit and Also Have Fun By Gretchen Reynolds July 29, 2015" in the NY Times blogs:
“We wanted to create a workout that could be employed by everyone, from the nonexperienced person to the elite athlete,” Dr. Bangsbo said.

After some trial and error, they came up with a candidate routine and named it 10-20-30 training.

It has become my favorite interval program.

The short version is, this is a routine you're more likely to stick with, probably because it's less grueling; it's as beneficial or more so than tougher regimes. Here's a summary of the steps involved:
  1. warm up
  2. 30 seconds of relaxed movement
  3. 20 seconds of moderate exercise
  4. 10 seconds of maximum effort
  5. repeat steps 2-4 for a total of five cycles (elapsed time 5 minutes)
  6. rest 2 minutes
  7. repeat step 5 (i.e., another 5 minutes)
  8. cool down
As you can see, it's warm-up, 12 minutes, cool-down. The article has a link to a journal article where the aforementioned Dr. Bangsbo is an author: The 10-20-30 training concept improves performance and health profile in moderately trained runners.
J Appl Physiol (1985). 2012 Jul;113(1):16-24. doi: 10.1152/japplphysiol.00334.2012. Epub 2012 May 3.

Tuesday, September 15, 2015

Reflections

Dad was admitted to hospital on Monday August 31, and my sister Donna flew to Honolulu Wednesday to be with him. He was confused but improving, and everyone was talking about his recovery/rehab. Still, as the week wore on, I felt a strong desire to be with him. As I wrote earlier, I responded immediately to the blood center's reminder email, and that gave me a sense of connection with Dad. Yet I also wanted to see him in person.

It was September 3rd and I considered the possibilities. We had a plan to meet my daughter and son-in-law and grandson and niece in Felton Monday the 7th (Labor Day), so I wanted to leave after that. The lovely Carol had reservations to fly to Asia on the 17th, so I wanted to return before that. I'd briefly considered flying to Honolulu Monday morning and canceling our plans with the young folks, but since everyone in Honolulu was optimistic, I left those plans intact and planned to fly out Friday 9/11 (an auspicious date).

We enjoyed our time with the young folks on Monday, but our house phone rang that night, close to midnight. Nothing good happens at that hour, and this was when I heard Dad was in a crisis. An hour later he stopped breathing.

I was distressed about this, and wanted to see my mom and sisters immediately. I briefly considered taking the first flight I could get, which would have been about 6 hours later. Instead I opted for a flight out Wednesday morning.

Tuesday morning I went to the office and set up an email auto-reply. I also preemptively told my colleagues that I was leaving due to a death in the family. Several friends (and colleagues) stopped by to convey their condolences. Two gave me the same excellent advice: DO NOT indulge the "what if?"s.

Should I rent a car? I wasn't sure so I texted my sisters.

As I packed, I thought, well, if I had left Monday morning I might have seen him alive one more time. I thought, if I had "facetime"d him Monday afternoon, as my cousin-by-marriage had, I would have talked to him alive one more time. Then I remembered my friends' excellent advice and renounced those thoughts. No one is ever told what would have happened…

Thursday afternoon we had an appointment at the mortuary to look at Dad's body before cremation. I wasn't sure I liked the cremation idea, but when I saw his body (it had been in the 'fridge and condensation was forming at several places) I changed my mind. The past few weeks he had lost quite a bit of weight. I wanted to remember him as he was during my previous visits.

We all wept. We agreed that things could have been much worse: it might have been months in a hospital bed in the house, a life he would not have liked. We knew all this, but still it was hard to accept that he was really gone. A world without my father in it is an idea that repels the mind.

Donna said it was good for us to see him here; without it we might imagine he was just at the hospital or somewhere else. I agreed. It's a necessary shock to force the mind to accept an idea that repels it.

Mom asked if someone could pray, and I said, "Not me; I can't even see." My sister Inga spoke to God for us.

We had a memorial service Saturday: the urn holding his ashes sat on a table in front, with a 20"x30" pic of him nearby. Several people shared their memories of him. I heard things I hadn't known before—things that made me desire even more to be like him.

Monday morning we buried his ashes. In a small ceremony at the cemetery we watched the urn go into the underground concrete "vault" and we filed by, dropping flowers into the hole in the earth. Workers from the cemetery closed the vault and shoveled soil to fill the hole, then replaced the sod.

It was important, for me at least, to witness this. As our pastor says sometimes, our bodies know things different from what our heads know. By dropping a flower into the vault (into the hole at least) and mentally saying good-bye to Dad, my body was forced to acknowledge that Dad is really no longer with us on this earth. Without this ritual, my mind would still have known that he's gone, but my body would not be sure.

Sometimes we go to funerals to comfort the bereaved, and I appreciate everyone who came to Dad's memorial to comfort us. But at least from my perspective, the important thing I got was that I acknowledged with both my mind and my body that my dad is no longer with us.

That way, the mind and the body and the reality in the world can all agree—this promotes mental and spiritual health. And I need all of that I can get.

Sunday, September 13, 2015

I try my best to be just like I am…

I heard Bob Dylan's Maggie's Farm on NPR recently, and these lines especially struck me:
Well, I try my best
To be just like I am
But everybody wants you
To be just like them
A worthy endeavor, that. But it's difficult. As Thomas Merton wrote:
We cannot be ourselves unless we know ourselves. But self-knowledge is impossible when thoughtless and automatic activity keeps our souls in confusion. In order to know ourselves … we have to cut down our activity to the point where we can think calmly and reasonably about our actions.
Merton, No Man Is an Island (1955) 7.8 (p. 126)
Thoughtless and automatic activity: that'll keep us from knowing who we are, what we actually admire, what we want to become.

Tolstoy's Ivan Ilych was bedridden as he neared death; I think this enforced reduction in activity was part of how he discovered the vanity in his life:

It occurred to him that what had appeared perfectly impossible before, namely that he had not spent his life as he should have done, might after all be true. It occurred to him that his scarcely perceptible attempts to struggle against what was considered good by the most highly placed people, those scarcely noticeable impulses which he had immediately suppressed, might have been the real thing, and all the rest false.
The Death of Ivan Ilych by Leo Tolstoy, XI (p. 55)
trans. Louise and Aylmar Maude
http://opie.wvnet.edu/~jelkins/lawyerslit/stories/death-of-ivan-ilych.pdf
(downloaded September 2015)
Ivan Ilych's life was certainly not as busy and distracted as the life of a middle-class Millennial, but he kept busy enough with his work and social engagements. It was only when those distractions were curtailed, and when he contemplated his suffering, that he realized that the only real thing in his life may have been the feeble impulses to resist the values of high-status people—impulses which he'd immediately suppressed anyway.

If I do not know who I am, it is because I think I am the sort of person everyone around me wants to be. Perhaps I have never asked myself whether I really wanted to become what everybody else seems to want to become. Perhaps if I only realized that I do not admire what everyone seems to admire, I would really begin to live after all.
Merton, op. cit. 77.8 (pp. 125f)
Ivan Ilych didn't know who he was, really; he didn't know what he actually admired. His folly was also Merton's at times, and I dare say ours as well.

Does it matter, really, if we know ourselves? In the introduction to No Man Is an Island, Merton writes that it's quite important—that it's part of salvation, part of what everyone seeks:

What every man looks for in life is his own salvation and the salvation of the men he lives with. By salvation I mean first of all the full discovery of who he himself really is. Then I mean something of the fulfillment of his own God-given powers, in the love of others and of God.
Merton, op. cit. p. xv
He has more to say about salvation, but he lists self-discovery first. I've been thinking lately about "salvation" so I found Merton's comments particularly interesting.

When he says "salvation," what is he talking about? What are we being saved from? We need to be saved from a life Merton describes here:

Why do we have to spend our lives striving to be something that we would never want to be, if we only knew what we wanted? Why do we waste our time doing things which, if we only stopped to think about them, are just the opposite of what we were made for?
op. cit. 7.8 (p. 126)
There is an even more basic thing we need: we need to know that we are loved by God. We need to know that we're not perfect, and we need to know that it's okay, because nobody is. We need to know that life doesn't consist in possessions or status or even physical health.

And so we must disconnect from thoughtless and automatic activity once in a while. We need to take time for what's important, to tend to our souls. To have unscheduled time. As Buechner wrote in Secrets in the Dark, there are times when it is quiet and you don't really have to do anything, when

[t]he time is ripe for looking back over the day, the week, the year, and trying to figure out where we have come from and where we are going to, for sifting through the things we have done and the things we have left undone for a clue to who we are and who, for better or worse, we are becoming. (59)
Rather than doing the usual thing, once in a while we need to look back, to consider the clues about who we are and who we are becoming.

I'm doing that now, particularly as I try to adjust to the idea of a world where my earthly father no longer lives.

Another memory of Dad

I took a right turn and heard a thumping from the trunk. It was a big roll of paper, "butcher paper" I think, that we used for covering tables for yesterday's lunch reception. The sound reminded me of something Dad told me.

"Did Dad ever tell you that story about the bottle in the trunk?" Neither Mom nor my sister Donna had heard it.

I guess he was still single when this happened, so probably more than 60 years ago. He and a friend were driving, and there was a bottle or something in the trunk. They turned a corner and heard this Bah-dum-bah-dum-bah-dum from the trunk. They found this amusing. "Hey, that's pretty good!" They checked for traffic and swerved left.

Bah-dum-bah-dum-bah-dum. Swerved right. Bah-dum-bah-dum-bah-dum

Pretty soon another sound was heard: a siren, accompanied by flashing lights in the rear-view mirror. They pulled over.

"Lemme smell your breath!" The cop was not pleased.

"The steering seemed a little loose," my dad said.

After checking his license and registration, the cop let them go. "Next time test your steering in a parking lot," he growled.

Is that the kind of thing to tell your son, but not your wife or daughter?

Saturday, September 12, 2015

Dad: some notes

Dad's memorial service was today. They asked me to do the bio—but then… well:
I was asked to do the biography, but since that's printed in your bulletins, I'll elaborate [on it], and start the remembrances early.

Dad was born August 6, 1923 in Fairview, Oregon. He never knew his mother; she died before his 2nd birthday. As a single father overwhelmed with a farm to run, Grandpa Kyung Soo sent little Arthur away to the "Waverly Baby Home." There, Art unfortunately learned something of racism and the dark side of human nature.

One day, a strange man came to retrieve Art from the institution. Art was so afraid of this stranger that on the train ride home, he couldn't bring himself to ask for the bathroom. You can imagine what happened next. Grandpa asked Art why he didn't say anything; when he heard about Art's fear, he spoke kindly to him.

Art moved to Honolulu in 1941 to live with sister Louvie and her husband Kenneth, now both deceased. He wrote home that he got seasick on the boat ride, and that Kenneth seemed to be "a good egg." Then December 7th came.

Dad worked for the Army as an electronics instructor, first as a draftee and later as a civilian. He had an interesting and varied career before the FAA. He was the engineer at the UH radio station near Date and Kapiolani. He sold insurance, which is how he met our mom. They would have celebrated their 60th anniversary next month.

Dad had quite the sense of humor. One day, back when Mom was, ah, "great with child" (me I think), she had lunch with Dad downtown. They were heading their separate ways -- she was on an escalator -- and he called out, "Don't tell your husband."

The FAA would send Dad to school on the mainland, sometimes for months. Mom would record audio letters to him, and include voices of us kids on them. These were small reels of 1/4" magnetic tape.

On one of these stays on the mainland, Dad had an idea. "Hey fellas," he told his classmates, "Let's move our chairs forward 2 inches." They did this every day for a week or two. One morning, the instructor turned around to walk to the blackboard and bumped into it instead. He told me this story just a couple of months ago, in July.

Dad didn't preach a lot, but he impressed upon me the idea that there are other perspectives than mine. "That's a funny-looking caterpillar," I remarked once. I might have been four or five. "You probably look pretty funny to him too, Son," he replied. Indeed.

Way back, when all of us kids were still living at home, Dad habitually went to the blood bank. He'd call out, "going to give blood" before driving off. I don't know how many gallons he gave. I learned from him that giving blood is something that a man does. Part of why I give blood today is that I wanted to be like him. Still do, in fact.

Dad lived a generous and loving life. My wife often recalls meeting him before our wedding. At first sight, Dad said to her, "Here's the girl that's making my son so happy!"

Back when he was only in his 80s, he taught computer skills at HCC. It wasn't for the money. He was always fixing something for somebody.

He also volunteered a lot at this church. In fact he was about 10 feet above the concrete floor of the Parish Hall here, when the ladder slid out from under him; that's how he broke his back.

After that, I heard him praying more. In one of those prayers he was thankful for that experience because it brought him closer to God. When we say Dad never stopped learning, we don't just mean technology.

Oh, and he didn't stop volunteering at the church after that incident either. I learned that a man doesn't stop giving and helping just because of some inconvenience.

Dad was diagnosed with prostate cancer in the summer of 2014, and that was when I finally realized that he might die some day. He had surgeries, and courses of various medicines. He's had a few health crises, and we all knew the end was coming soon. When I last visited, he was very interested in what happens after this life.

The past couple of weeks have been quite frightening, but he'd been improving until Monday; none of us expected we'd be gathered here quite so soon.

But how can we complain? We've all had our lives touched by this wonderful man; I had the distinct pleasure of having him for my dad, of learning from his example and seeing him enjoy his long life.

I can hardly believe he's gone, and sometimes I can barely hold myself together. But then I remember that one of his fondest wishes was that we survive him. So even in our grief, we can rejoice with him that his wish was granted.


That's basically what I said. I wish you could have known him.

Update: And now you can, a little

through some short videos made by his super-talented granddaughter Jana (my niece):
  • Arthur W. Park Memorial Video
    Through this video, I hoped to allow Grandpa to "speak" at his own Memorial Service. Although tears were shed, there was so much laughter, just the way Grandpa would want it. Hope you all enjoy this! (w/clips from the many commercials/films he's starred in!)
  • "Arthur" (Championships Winner: Showdown in Chinatown 2015)
    Published on Nov 9, 2014
    We had less than 3 weeks to make this film, starring 91-year old korean-American senior, Arthur Park, and shot in Honolulu, Hawaii.

Saturday, September 05, 2015

Forwarding non-web email (but not spam) to another address while traveling

We might be the last dinosaurs in California that use a non-web email service, but just in case we aren't, here's the problem and solution. At least I hope the solution works; I'm gonna document it here while developing…

Email arrives at our ISP, and fetchmail(1) brings it to our home using POP over a port forwarded with ssh(1). Here at home, the MDA is procmail(1), which may (it does in my case) sort the inbound messages into folders in maildir format. We read our home email using Thunderbird/Linux or Mail.app/OS X or the IOS Mail thing. These MUAs talk IMAP to the server (dovecot(1) running on Mac Mini). All this works great until we're out of the area.

The lovely Carol will be out of town for a while, and she wants me to send email to one of her webmail accounts (gmail, yahoo, etc.)—but only email originating from an address in her Address Book.

Fly-in-the-ointment #1

She uses Mail.app on both a Macbook Air (portable) and iMac (desktop). These MUAs see the same messages (folders, etc.) because they manipulate email on the server. But that's it! Meaning that each mail client has its own address book. In addition, the Mini is running OS X 10.10.3, where the addressbook is called "Contacts" whereas the MBA runs 10.6.8, where addressbook is called "Address Book."

Address list #1

Starting with the mini, we go into Contacts and say File⇒Export... and select "export archive" or something like this. This creates a new directory named "Contacts - MM-DD-YYYY.abbu" or something like this. In that directory is a file named "AddressBook-v22.abcddb". And file(1) reports that it's a
Contacts - 09-05-2015.abbu/AddressBook-v22.abcddb: SQLite 3.x database
I copied it to my homedir and then had to go get sqlite3.
collin@p64:~$ sudo aptitude install sqlite3
collin@p64:~$ sudo aptitude install sqlite3-doc
collin@p64:~$ 
Then I had to learn how sqlite3 works. Fortunately I've used mysql before, and I could always rtfm...
collin@p64:~$ man sqlite3
SQLITE3(1)                                                          SQLITE3(1)

NAME
       sqlite3 - A command line interface for SQLite version 3

SYNOPSIS
       sqlite3 [options] [databasefile] [SQL]

SUMMARY
       sqlite3  is  a  terminal-based front-end to the SQLite library that can
…
Yippee! Now let's see what's there…
collin@p64:/mnt/home/collin$ sqlite3 from-carol/AddressBook-v22.abcddb 
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /mnt/home/collin/from-carol/AddressBook-v22.abcddb        
sqlite> .tables
ZABCDALERTTONE                  ZABCDPOSTALADDRESS            
ZABCDCALENDARURI                ZABCDRECORD                   
ZABCDCONTACTDATE                ZABCDRELATEDNAME              
ZABCDCONTACTINDEX               ZABCDREMOTELOCATION           
ZABCDCUSTOMPROPERTY             ZABCDSERVICE                  
ZABCDCUSTOMPROPERTYVALUE        ZABCDSHARINGACCESSCONTROLENTRY
ZABCDDATECOMPONENTS             ZABCDSOCIALPROFILE            
ZABCDDELETEDRECORDLOG           ZABCDUNKNOWNPROPERTY          
ZABCDDISTRIBUTIONLISTCONFIG     ZABCDURLADDRESS               
ZABCDEMAILADDRESS               Z_16PARENTGROUPS              
…
sqlite> .schema ZABCDEMAILADDRESS
CREATE TABLE ZABCDEMAILADDRESS ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZISPRIMARY INTEGER, ZISPRIVATE INTEGER, ZORDERINGINDEX INTEGER, ZOWNER INTEGER, Z21_OWNER INTEGER, ZADDRESS VARCHAR, ZADDRESSNORMALIZED VARCHAR, ZLABEL VARCHAR, ZUNIQUEID VARCHAR );
CREATE INDEX ZABCDEMAILADDRESS_ZADDRESSNORMALIZED_INDEX ON ZABCDEMAILADDRESS (ZADDRESSNORMALIZED);
CREATE INDEX ZABCDEMAILADDRESS_ZADDRESS_INDEX ON ZABCDEMAILADDRESS (ZADDRESS);
CREATE INDEX ZABCDEMAILADDRESS_ZOWNER_INDEX ON ZABCDEMAILADDRESS (ZOWNER);
sqlite> select ZADDRESSNORMALIZED from ZABCDEMAILADDRESS;
foo@bar.com
…
That's right: there came a whole slew of email addresses. These are "good" ones.

Combine with address list #2

List #2 is "Address Book" from the MBA running 10.6.8; we export the archive somewhere and get a directory named "Address Book - 2015-09-05.abbu", which contains a file also named "AddressBook-v22.abcddb"; I saved this to a different name, actually "MBA-AddressBook-v22.abcddb", and moved the one from the mini to "miniAddressBook-v22.abcddb", whence it was time to create a combined address list. Like this:
collin@p64:~/tmp$ DBs=$HOME/from-carol/*.abcddb
collin@p64:~/tmp$ for F in $DBs; do \
   echo "select ZADDRESSNORMALIZED from ZABCDEMAILADDRESS;" | sqlite3 $F; \
done
…all done under script(1) Then take the output from that... which may contain whitespace, and also entries like
[16-bit characters] <some@addr>
To deal with that, do this:
collin@p64:~/tmp$ grep @ typescript | grep -v "<" | tr -d ' ' > a1
collin@p64:~/tmp$ grep @ typescript | grep '<' | cut '-d<' -f2 | cut '-d>' -f1 | tr -d ' ' >> a1
collin@p64:~/tmp$ sort -f a1 | uniq > a2
collin@p64:~/tmp$ less a2
That yielded some stuff I don't like, such as:
collin@p64:~/tmp$forFin$DBs;doecho"selectZADDRESSNORMALIZEDfromZAB^MCDEMAILADDRE
A little tweaking covered the bad addresses...
collin@p64:~/tmp$ grep -ve p64 -e / a2 > a3
collin@p64:~/tmp$ 
One more thing: because it was a script(1) output, we need to get rid of the '\r' characters, shown below as 0d. We can do it like so:
collin@p64:~/tmp$ head -n1 a3 | hexdump -C
00000000  31 30 31 36 36 31 2e 33  30 33 33 40 63 6f 6d 70  |101661.3033@comp|
00000010  75 73 65 72 76 65 2e 63  6f 6d 0d 0a              |userve.com..|
0000001c
collin@p64:~/tmp$ view a3
collin@p64:~/tmp$ tr -d '^M' a3 > a4
tr: extra operand `a3'
Only one string may be given when deleting without squeezing repeats.
Try `tr --help' for more information.
collin@p64:~/tmp$ tr -d '^M' < a3 > a4
collin@p64:~/tmp$ head -n2 a3 | hexdump -C
00000000  31 30 31 36 36 31 2e 33  30 33 33 40 63 6f 6d 70  |101661.3033@comp|
00000010  75 73 65 72 76 65 2e 63  6f 6d 0d 0a 31 30 33 33  |userve.com..1033|
00000020  35 33 2e 32 33 31 30 40  63 6f 6d 70 75 73 65 72  |53.2310@compuser|
00000030  76 65 2e 63 6f 6d 0d 0a                           |ve.com..|
00000038
collin@p64:~/tmp$ head -n2 a4 | hexdump -C
00000000  31 30 31 36 36 31 2e 33  30 33 33 40 63 6f 6d 70  |101661.3033@comp|
00000010  75 73 65 72 76 65 2e 63  6f 6d 0a 31 30 33 33 35  |userve.com.10335|
00000020  33 2e 32 33 31 30 40 63  6f 6d 70 75 73 65 72 76  |3.2310@compuserv|
00000030  65 2e 63 6f 6d 0a                                 |e.com.|
00000036
collin@p64:~/tmp$ 
Now we have a file of known good addresses. Let's put them where Carol's procmail can find them.
collin@p64:~/tmp$ cp a4 $HOME/../carol/from-collin/known-good-addresses.txt
collin@p64:~/tmp$ 
So far so good. Then on the mini:
mini1:~ collin$ sudo su - carol
mini1:~ carol$ mv from-collin/known-good-addresses.txt Maildir/  
mini1:~ carol$ ls -o Maildir/kn*
-rw-r--r--  1 collin  15377 Sep  5 15:51 Maildir/known-good-addresses.txt
mini1:~ carol$ 
Whoops! Carol doesn't want a file owned by me, to refer to.
mini1:~ carol$ cp Maildir/known-good-addresses.txt Maildir/known-good-addresses.2015-09-05.txt 
mini1:~ carol$ ls -l Maildir/kn*
-rw-r--r--  1 carol   _lpoperator  15377 Sep  5 15:54 Maildir/known-good-addresses.2015-09-05.txt
-rw-r--r--  1 collin  _lpoperator  15377 Sep  5 15:51 Maildir/known-good-addresses.txt
mini1:~ carol$ mv Maildir/known-good-addresses.txt ~/from-collin/
mini1:~ carol$ ^Dlogout
skipping clear
mini1:~ collin$ 

Now to tell procmail about that

I'm just gonna write this...
    1   # auto-forward to ALT DEST?
    2   :0
    3   * AUTOFORWARD ?? yes
    4   {
    5       VERBOSE=yes LOGABSTRACT=yes
    6   
    7       KNOWNGOOD=known-good-addresses.2015-09-05.txt
    8       ALT_DEST=redacted@redacted.com
    9   
   10       SENDIT=no
   11   
   12       :0 Whc
   13       | formail -zxfrom: -xsender: | grep -qif $KNOWNGOOD
   14   
   15       :0 a
   16       { SENDIT=yes }
   17   
   18       :0 EWhc
   19       | formail -rzxto: | grep -qif $KNOWNGOOD
   20   
   21       :0 a
   22       { SENDIT=yes }
   23   
   24       :0 c                ← See below for workaround
   25       * SENDIT ?? yes
   26       ! $ALT_DEST
   27   
   28       VERBOSE=no
   29   }
Added to Carol's .procmailrc. Here's what it does.
  • Line 3 basically says not to bother with lines 4-29 unless "AUTOFORWARD=yes" appears somewhere before here.
  • Lines 7-8 set some values that we'll use later. We'll refer to them as $KNOWNGOOD and… well, you get the idea
  • Line 12 says that this recipe:
    • W: must Wait for the pipe (line 13) to complete and check the exit code;
    • h: pass only the header to the recipe
    • c: continue (i.e., don't terminate) in case the pipe is successful
    and line 13 takes the header and passes it to formail(1). We then check the from: and sender: fields for a match with the $KNOWNGOOD list.
  • Lines 15-16 say: if we ran line 13 and it was successful (that's the "a" on 15), then set variable SENDIT to "yes"
  • Lines 18 says that this recipe:
    • E: will run only if we did not execute line 16
    • W, h, c: as line 12
    and line 19 tells formail to create a reply, then remove the "to:" field from said reply, then check (grep) the result against $KNOWNGOOD
  • Lines 21-22 are like 15-16
  • Line 24 says to continue on success (as explained for line 12);
    line 25 says keep going only if SENDIT was set to "yes"
    and if so, run line 26, which forwards the email to $ALT_DEST... which now that I think of it will probably fail sometimes.
    Fly-in-the-ointment #2
    Because if the email came from, say, yahoo.com, we're now going to forward it using our ISP's mail server. So the email address at $ALT_DEST will see an email, supposedly from yahoo.com, coming from our ISP and not from any authorized sender of yahoo.com-originated email. That violates sender psomething framework (SPF) and the mail will either bounce or get spam-filed. Urp! I'll figure out a fix later... Time now to make dinner.
  • You can ignore lines 5 and 28; that's "For Nerds Only"
I did a quick test, and at least to an initial approximation "basically, it works." I haven't tried either a "sender" or a "address in reply but not in 'from'" test, but those are pretty rare; I guess I could claim they're there only for completeness...

Workaround for fly-in-the-ointment #2

OK, replace lines 24-26 with the following to resolve the SPF issue. And I think… yep, it's Sender Policy Framework:
24          :0
25          * SENDIT ?? yes
26          {
27      
28              :0
29              * ^From: *\/.*
30              { FROM=$MATCH }
31      
32              :0 fhw
33              * FROM ?? @(facebook|google|gmail|aol|yahoo).com
34              | formail "-iReply-To: $FROM" "-iFrom: redacted@redacted (See Reply-To)"
35      
36              :0 c
37              ! $ALT_DEST
38          }
Here's how it works.
  • 24 is the usual beginning of a procmail recipe. Initially I tried ":0c" here but that resulted in some odd messages and non-functioning. I suspect another procmail+MacOS issue but didn't want to take more time to investigate that; it might be the 4th fly in the ointment… In any case, I coded no "c" here.
  • 25 says to do lines 26-38 only if we set SENDIT to "yes" (i.e., in 16 or 22)
  • Lines 28-30 let us find who the sender is. Normally I would say something like
    FROM=`formail -zxfrom:`
    or maybe
    FROM=`formail -rzxto:`
    but because of fly-in-the-ointment #3, aka the procmail-on-Mac problem documented in https://trac.macports.org/ticket/46623 (and referenced here) that won't work.
  • Line 32 says
    • f: treat the recipe as a filter: that is, modify the message and pass it on to the next recipe.
    • h: pass only the header to the pipe
    • w: wait for the pipe to complete. This ought to be implied for "f" recipes, really, but I'm not sure if it's automatic. I seem to remember being disappointed by this assumption before, but can't say for sure and don't really want to experiment to find out.
  • Line 33 says to do the recipe only if $FROM (set in line 30) matches @facebook.com or @google.com or @gmail.com, etc. The parentheses and the "|" character mean what you probably think they do. One bit of sloppiness here: I should perhaps have escaped the "."; as the recipe stands, an address like "whatever@aolxcommunity" would match. But it's close enough
  • Line 34 fixes the addressing for the email message. First, we put the original "From:" address into the "Reply-To" header.
    Rather than claiming that the message comes from facebook, google, gmail, etc., we'll say that the lovely Carol is sending it from our ISP. That gets past the SPF filters. The "From:" line will remind her, when she sees one of these, to look at the Reply-To: header to find out where the mail really came from.
  • Finally, lines 36-37 send the mail to the alternate destination, which she'll be able to read while on the road. The "c" in line 36 like the "c" in line 12.
I gave this version a quick test, too, and it seems to work.

Thoughts toward the end

Dad is 92, so statistically speaking he’s probably not long for this world. His cancer is metastatic and he’s in the hospital, which only reinforces the prognosis.

We’ve spoken about his approaching end, but as I’ve told many grieving friends and colleagues in the past, one can never actually be ready for it—no matter how long we’ve seen it coming.

What is happening inside me? Well, I have to tell you I’m rather a mess. Dad’s fondest wish is that his descendants all outlive him. Indeed, the alternative would be awful. I know all this, but I’m not actually ready to go through it.

So how am I processing all this? Not very well. And yet part of what’s happening is that I feel compelled to be a better man. When I got Thursday morning’s notice, “You’re eligible to donate life-giving blood!” the urge to run over to the blood center was powerful.

You see, Dad had a habit of donating blood. When I was still living at home, he would sometimes announce, “Going to give blood” before heading to the blood bank. Part of that was prudence: you build up credit, and if you need some units of blood in the future, you don’t have to buy them. I don’t know how many gallons he gave, but it was way beyond what he might ever credibly need. So the savings aspect wasn’t his only motivation. Giving blood, I learned, is something a man does.

And so, with Dad so many steps closer to the grave, I wanted to do something life-affirming—something Dad would do, or rather, something Dad did.

As Phillip stuck the needle into my arm that afternoon, I mentioned Dad’s habit. “Part of why I do this is I wanted to be like him. Still do!” I said, barely retaining my composure.

“That’s what a parent wants,” he returned. Indeed.

Something else is happening to me in these days: when I see young people, my paternal feelings arise a little more strongly than before. Perhaps that Socioemotional selectivity theory is kicking in: 18 months ago I felt like I’d live forever, but today I know better—that I’m unlikely to double my years. I probably don’t have even four decades left.

I can hear some of you laughing: “Four decades? I haven’t even been alive that long!” But I remember my grandmother telling me just the other day, when I six or seven years old, that this world goes by fast. I’m here to tell you that she was right. The other day I reported for work at my first “real” job as a development engineer at hp. That was about four decades ago.
A colleague spoke about a lack of enjoyment in life—particularly his work life. I thought about his words and wrote him a few paragraphs with my thoughts. Another young guy stood up to the boss in a meeting. He wasn’t defiant, but he declined to promise an earlier delivery date for one of his tasks. I wrote him some paragraphs about a similar experience I’d had in my earlier years, and encouraged him to keep up his self-awareness. Bowing to the pressure will only get you in trouble, I told him.

I’m not sure I would have done that two years ago; two years ago I’m not even sure I would have noticed what these guys were saying, or how it was an invitation for me to speak [or write] into their lives.

With young women, my paternal feelings come out even more strongly, perhaps because I have daughters. A young friend is starting a career in elementary education, and as I thought of her energy and her love blessing those kids, it made me feel so happy. I told her so, too.

And that brought to mind the passion and experience that the lovely Carol brings to her lessons, and to young mothers at a church group—I thought about how she’s blessing those students and those young mothers, and that made me happy, too. (I also told her.)

It is good to think about death sometimes, as this article notes. I’m not sure I want to greet each morning with, “It is a good day to die,” but I need to remember that I will die some day, probably before four decades are out. And also to think about people in my life who deserve good words from me—comfort or encouragement—and remember to be liberal with those gifts. If not today, then when? As the Bible says, Do not withhold good from those to whom it is due, when it is in your power to act. And not because something Bad will happen if I don’t, but because doing it will bring good into the world, in and through my life. And because that's what a man does.

Wednesday, August 26, 2015

Finding life… in death

As Ivan Ilych faces death in Leo Tolstoy’s 1886 novella, life seems to him “a series of increasing sufferings” and he does not understand why. As he says to himself,
“If I could only understand what it is all for! But that too is impossible. An explanation would be possible if it could be said that I have not lived as I ought to. But it is impossible to say that,” as he remembered all the legality, correctitude, and propriety of his life. “That at any rate can certainly not be admitted,” he thought, and his lips smiled ironically as if someone could see that smile and be taken in by it. “There is no explanation! Agony, death…. What for?”
The Death of Ivan Ilych by Leo Tolstoy, X (53)
trans. Louise and Aylmar Maude
downloaded July 2015
Some time later, he suddenly sees that it might actually be true—that he had not spent his life as he should have, that the whole arrangement of his life and all his interests might have been false.
He tried to defend all those things to himself and suddenly felt the weakness of what he was defending. There was nothing to defend.

“But if that is so,” he said to himself, “and I am leaving this life with the consciousness that I have lost all that was given me and it is impossible to rectify it—what then?”

op. cit., XI (55)
He finally acknowledges—or, as Tolstoy writes, “it was revealed to him,” that though his life in fact had not been what it should have been, something could still be done to correct the situation. Ivan Ilych accepts the truth about his life, how he has missed the mark; he asks and receives forgiveness, finding relief from guilt and shame even as he dies.

Reading about Ivan Ilych and his repentance put me in mind of a case from Irvin Yalom’s classic text Existential Psychotherapy (Basic Books, 1980). “Bonnie” was a long-time cigarette smoker who had a hard time quitting. Her smoking had destroyed her health and her marriage. What made it difficult for her to decide to stop smoking? In therapy,

one of the important themes that arose was her realization that, if she stopped smoking now, then that would mean that she could have stopped smoking before. The implications of that insight were far-reaching indeed. Bonnie always considered herself as a victim: a victim of Buerger’s disease, of her habit, of a cruel, insensitive husband. But if, in fact, her fate had always been under her control, then she would have to face the fact that she must bear the entire responsibility for her disease, for the failure of her marriage, and for the wreckage (as she put it) of her adult life.
Yalom, op. cit. pp. 320f
(emphasis in original)
Such a realization does not come easily; in Ivan Ilych’s words, it “at any rate can certainly not be admitted.” Thus, a part of Bonnie thwarted her efforts to quit smoking. She wasn’t exactly dying quite yet, but she was divided: she wanted to live, but she didn’t want to recognize her own responsibility for the “wreckage.”

Ivan Ilych had two advantages over Bonnie: First, he saw that death was imminent. According to Carstensen’s Socioemotional selectivity theory, “as time horizons shrink… motivational shifts… influence cognitive processing.” Ivan Ilych’s time horizon shrank precipitously as he understood that he was dying; he had weeks rather than decades ahead of him. I take Carstensen’s theory to predict that as death approaches, it also drives out tolerance for nonsense, as it did for Ivan Ilych: he cast his denial aside.

His second advantage was that he understood that forgiveness was possible. Though not devout, he confesses to a priest.

Yalom mentions neither urgency nor forgiveness in his description of Bonnie’s case: she’s not already dying, and she is offered no relief from whatever guilt and shame she may feel.

What does this mean for you or me? For me at least, it’s helpful to remember that death could come any day (the phrase memento mori comes to mind). Though we all know that death could come any day, we often forget it. Death is an abstract concept, because many of us have decades left; this may as well be forever.

“It is a good day to die” may also be helpful in combating our society’s pervasive death denial. Spoken not only by Star Trek’s fictional Klingon warriors but also by Prairie Home Companion’s real-life host Garrison Keillor, it’s something I said to myself this morning on the train platform.

How is this helpful? As I consider that today could be my last day, I ask myself if I would have any regrets; is there something I need to confess or ask forgiveness for? Or anything else that would make today a bad day vs. a good day to die? Something I could remedy?

Reading Buechner’s Secrets in the Dark (Harper, 2006), I came across his remark about “the temptation to believe that we have all the time in the world, whereas the truth of it is that we do not” (39); and therefore we need to be reminded to be careful with our lives, because they are the only lives we are going to have.

As I think of loved ones whom I’ve outlived or am likely to outlive, I remember many acts of kindness and generosity and love—gifts I happily receive, not only for themselves, but because they call me to be a better person than I am today.

These days I talk with many people who I hope will survive me; I want to give them gifts like those I've received. I want them to know that they’re special; I want them to know that life is not about money and status, but about being who they are and doing what they are called to. I want them to know that they do in fact matter, and that forgiveness and fulfillment and peace are available to them.

Sunday, August 02, 2015

Incident at Rio Grande Gorge Bridge

"Your tire is about flat." The woman had not yet started her car, but came out to have a look.

"Oh, no!" she said. She pulled out her phone.

We were just finishing our lunch at a shady spot near the Rio Grande Gorge Bridge, and the lovely Carol was thinking to spend some time reading. Feeling my "damsel in distress" button pressed, I walked around the car as said damsel was folding up her phone, looking dejected. I made a sympathetic noise, and asked her if she had a spare. She did, "But…"

Carol chimed in around here with "my husband would probably be happy to help." So that's what we did. The damsel (probably about our age actually), who I'll call "Erin," was driving a 2003 Nissan SUV, on which she had never changed a tire. I looked under the car, and saw a full-sized spare. Nice! But Erin was hesitant. It has been quite a while since she'd changed a tire, and had little memory of how to do it. Have I mentioned that she'd pushed my "damsel in distress" button?

Erin opened the hatch and removed some equipment. Under the floor we found some tools: a hex wrench and a rod with a "T" at one end. "Where's the jack?" I wondered, and started to lift the tool tray out. I found some resistance, and after a moment, also found a wing-nut, which I started to loosen. Erin took over, spinning the wingnut counterclockwise while I gradually lifted an edge of the tool tray, and there I found a jack. Success!

I wasn't sure where to place the jack, and I asked Erin if she still had the manual (when all else fails...). Sure enough, she did. I encouraged her to take her time and to follow the order of steps in the manual. There was one thing I forgot to make her do: engage the T-shaped rod to engage the spare-tire winch. But she did it herself at the end—catching my mistake of omission. Other than that, though, she did all the work. I told her what to do and how to do it, and she executed everything.

Carol was very supportive of this effort, noting that I was teaching Erin how to fish, rather than simply giving her one.

As we worked, and for some time afterward, Erin told us about her life and her travels, and also about her niece's travel.

It was a lovely time, and it was nice for me to feel useful on vacation. And we got something out of it, too. Carol asked her whether it was worthwhile to walk across the Rio Grande Gorge Bridge. Erin said it was, but she also recommended a trail that started just behind us. About a half-mile down is a bench, she said, and the view from there is fabulous. We took the half-mile or so walk, and sure enough, the view was well worth the 10-15 minute walk. Photos were taken. Truly a win-win adventure.

Wednesday, July 22, 2015

Saved!—by Rock'n'Roll?

I've been watching bits of the Oscar-winning 2014 documentary 20 Feet from Stardom. About half an hour in, we hear about Merry Clayton's duet with Mick Jagger on Gimme Shelter; you can see an excerpt on youtube.

Gloria Jones, who was a gospel singer and also sang with Joe Cocker and T. Rex, spoke on the film about this: "What I liked was that she could sing. She was able—to be Merry. She didn't have to (gesturing) bring it down." I found her next comments (not in the youtube excerpt) remarkable: "Everybody was telling us we had to 'bring everything down,' so when the rock'n'roll world came and said, 'No, we want you to sing, it saved us. Saved us. Saved our lives."

Why would Jones say that gospel singers like herself and Merry Clayton needed saving? (According to this openculture story and others, Clayton was the daughter of a Baptist minister and sang in her father's church.) This put me in mind of two other quotes. The first is from Barbara Brown Taylor:

The problem is, many of the people in need of saving are in churches, and at least part of what they need saving from is the idea that God sees the world the same way they do.
― Barbara Brown Taylor, An Altar in the World: A Geography of Faith
downloaded from goodreads July 2015

The second is from Kent Haruf's lovely novel, Eventide. In an earlier volume, we meet the McPherson brothers, bachelor farmers who take in a homeless pregnant teen-ager. As Eventide begins, Victoria is leaving for college with her little girl, and the brothers are helping her move into her apartment. The manager wonders if they're her grandfathers or uncles:

We're not related that way, Victoria said. They saved me two years ago when I needed help so badly. That's why they're here.

They're preachers, you mean.

No. They're not preachers. But they did save me. I don't know what I would've done without them. And nobody better say a word against them.

I've been saved too, the girl said. I praise Jesus every day of my life.

That's not what I meant, Victoria said. I wasn't talking about that at all.

Victoria was saved from homelessness and poverty. And from alienation. "I don't know what I would've done without them," she said.

The apartment manager was saved from… eternal death? I assume she means her sins have been forgiven and that she will be made perfect in the world to come. She has what we in the church call "assurance of salvation," the promise of eternal life. This is no small thing, but somehow she comes off as faintly ridiculous.

Barbara Brown Taylor writes about being saved from a wrong notion about God. This is huge, actually. If our ideas about God are far enough away from the truth, we'll find ourselves worshiping and obeying some other god. This is not good.

The salvation Gloria Jones speaks about is somehow not quite as serious—but maybe it is: she, and Merry Clayton and the others, were saved from a life of not being able to really express themselves—of feeling in some way unacceptable, unapproved, not cherished for who they really are.

I'm sorry to say that we in the church sometimes treat women this way; some congregations don't accept the idea of women as elders; some won't listen to a woman teach. In the churches where Jones and Clayton worshiped, they didn't even want women to really sing.

But rather than go on a rant here, I want to say that in this world we all have our blind spots. As Curt Thompson notes in The Anatomy of the Soul, many of us are simply doing the best with what we have. Or something close to it anyway.

Imagine if you will a group, a community, a congregation, where we all think the only thing we need saving from is a set of things we call "sins," and maybe something unpleasant after this present life. We don't think we need to be saved from illusions about God, we don't think we need to be saved from distraction or folly that lead us to live futile lives.

If I were in a congregation like that, how introspective might I be, or not be? How willing might I be to question the status quo? And if the status quo meant that women in our group, my sisters in the Lord, should be told to sing [or not] in a certain way, how likely would I—or anyone—be to try to change things? It would take some sort of awakening, probably the intrusion of the Spirit of God, perhaps in the voice of a prophet; and a willingness in the congregation to hear and accept something that makes them feel uncomfortable.

So the McPherson brothers saved Victoria Roubidoux from poverty and alienation and homelessness. Reflection and self-examination and openness to the Spirit of God can save us from folly and oppression. And if we encourage someone to truly be themselves, to be the person God meant them to be, we can prevent [maybe even relieve] a sense of shame about who they are—and save ourselves from being oppressors as well.

And we do need to be saved from becoming one of the oppressors, one of those people who put others down and lord it over them. Even the early disciples needed saving from that:

25Jesus called them together and said, “You know that the rulers of the Gentiles lord it over them, and their high officials exercise authority over them. 26Not so with you. Instead, whoever wants to become great among you must be your servant, 27and whoever wants to be first must be your slave— 28just as the Son of Man did not come to be served, but to serve, and to give his life as a ransom for many.”
Matthew 20:25-28 NIV

We all need saving, and I don't just mean we need to hear and believe the good news of Jesus. We also need to think correctly about who God is and how he sees things. And for goodness's sake, we need to be saved from being part of the oppressive congregation/gang/culture that denies dignity to our fellow human beings.

Which means we need—I need—to be open to the possibility that I'm part of the problem; I need to be willing to examine myself and to be willing to change my mind (or to repent, to use the jargon). So help me God.

Wednesday, July 01, 2015

Replacing front brake pads on a 2007 Honda Odyssey: When all else fails…

My niece said that the brakes on her 2007 Odyssey minivan were shot. "Are they squealing?" I asked. That was two weeks ago, she said. It's beyond that; now the noise was more like a scraping. She wanted to take it to Chevron to have them do the needful. My dad, who looks 77 though he'll be 92 pretty soon, said it would cost a fortune and they probably wouldn't be able to do it today anyway. He said we could Just Do It, to coin a phrase.

Where's the nearest auto parts…? It was O'Reilly's, where the old Pawaa (later "Cinerama") theater used to be. So I ran down there and bought a set of ceramic pads. I seemed to remember reading something from Ray Magliozzi (of "Car Talk") about how they stopped better and lasted longer than the plain vanilla ones, and were quieter and cost less than the super-deLuxe ones. While the clerk was fetching the parts, I looked at the book rack. There was a Chilton's repair manual for the Odyssey, 2001-2010 or so. How much? $29, she said. I figured it would pay for itself, but I didn't know at the time that payback would be within half an hour.

I returned to the house to find that Dad had brought out an impact driver and a tool box, and was getting ready to remove one wheel. I tracked down the car's jack and started elevating the right front (passenger) quarter of the car.

We removed the wheel and the hubcap promptly fell off. This struck me as weird: the hubcap is held on by the lug bolts. Anyway, Dad pointed out the caliper mounting bolts. I started trying to loosen the top one, but didn't make much headway. I mean, I could whack the far end of my 14mm box wrench with my hand and it would move—either direction!—yet it never got looser. Same with the lower one. Finally, in desperation, I decided to RTFM and discovered two very important things:

  1. Remove only the bottom bolt—don't touch the top one; and
  2. When trying to turn the bolt, use another wrench (19mm open-end) to hold the retaining nut.
Whoa! That was the big surprise. And thank goodness I decided to buy the manual. Without it, I don't know how many advice pages and youtube videos I would have looked at.

As far as other surprises, I forgot to replace the clips on the front-right brakes; when doing the front-left (driver side) I remembered. Naturally I remembered the anti-squeal brakes on the right side but almost forgot it on the left, but Neil mentioned it and I added it.

The manual also had the hint of using a C-clamp to compress the brake pistons. Fine idea, but we didn't need it. My "doing what comes naturally" plan worked fine.

The driver-side pads were definitely shot. The "squeal to alarm the driver when the pad gets too low" indicator had sheared off, and the wear indicator was gone, too, indicating that yes, the pads were toast (the passenger-side pads still had some wear left in them). We didn't replace the rotors as this was a rush job. I told my niece, and her husband: Next time, replace the rotors too.

Tuesday, June 30, 2015

Mac ports migration: Cleanliness is next to—or in this case necessary for—functionality

Short version: If you installed/used mac ports (formerly darwin ports i think?) under Mac OS 10.8 say, and you're now running 10.10, follow the instructions in https://trac.macports.org/wiki/Migration and skip no steps. In particular don't skip sudo port clean all, though it may take a long time (over 45 minutes in my case).
(Some) details follow.

A few years ago I installed some software on this macbook® pro using the marvelous and wonderful mac ports system. Then, more recently, after interminable nags from Apple®;’s Software Update™ program, I succumbed and updated "Snow Leopard" (?) to Mac® OS X® Yosemite™.

The fly appeared in the ointment when I tried to use the “old” ports with OS X Yosemite. I got a bunch of messages about how this and that were incompatible, and was urged to follow instructions at some web address, which redirected me to https://trac.macports.org/wiki/Migration; this has clear, detailed instructions on What Must Be Done. And so I followed them. Sort of.

I did something silly, though, which messed things up for a while. I got to the part that says “sudo port clean all” and after 5-10 minutes of seeing stuff scroll off the page, I said, "Hurmpf, I don't know we really need to do all that. I mean, I don't recall having any partly completed installs."

I can hear you now. "You idiot! What about the one that aborted and told you to do the migration??!" Exactly.

So I repeated the instructions. When I got to the "clean all" part, I ran that command under time(1) and went for a swim. I came back and found it still running! To add to my vexation, I had cats (Tiger Lily and Maka) fascinated by the smell of pool-water on my feet. The "sudo port clean all" took nearly 46 minutes. That's right, the better part of an hour.

I followed the rest of the instructions on the page and everything Just Worked. Good news.

Monday, June 29, 2015

Why we thought it was a good idea

Some years ago I read about the paradox that whereas parents report lower levels of happiness during the child-raising years than childless couples do, they later remember those years as happier times than their childless counterparts.

I've wondered about this on and off, and a few days ago found a possible explanation. I was reading Atul Gawande's marvelous book Being Mortal, where he mentioned an interesting study of patients who experienced painful medical procedures while awake. (The experiment was one of a series recounted by Nobel laureate Daniel Kahneman in his book Thinking, Fast and Slow.) These patients were asked throughout their procedures to rate the level of pain on a scale of one to ten. “At the end, the patients were also asked to rate the total amount of pain they experienced during the procedure.” (237)

The patients' final ratings were not even close to the sum of their moment-by-moment ratings; rather, “[t]heir final ratings largely ignored the duration of pain. Instead, the ratings were best predicted by what Kahneman termed the ‘Peak-End rule’: an average of the pain experienced at just two moments—the single worst moment of the procedure and the very end.”(237)

Indeed, it seems to apply to a lot of experiences in life, not just surgery and child-raising.


In my own case, as I look back on my own experience in raising two wonderful daughters, I remember the positive experiences more than the negative ones. When we were living in Japan, our younger child attended local schools. They had taken the kids to visit a shrine, and our daughter reported to us that the children had been expected to stand in a certain place, bow, and clap. (No church-state separation there!) "But of course I didn't do it," she added.

She had interpreted the ritual -- correctly I think -- as a prayer to the god of that place, and I was so grateful that our young child had the spiritual discernment to understand she was being asked to worship another god, and also the intestinal fortitude to resist the pressure to conform.

I also recall keenly when our older daughter, then 13, said to a roomful of parents and school officials, "I want to know what will be done to address what happened today." (What had happened didn't include physical violence, but a teacher did behave quite badly. I do not think she was a bad person, but she was certainly in the wrong job.)

The principal, momentarily dumbfounded, asked what our daughter had in mind. "She should apologize to us," she said, "and some of us should apologize to her." Did I mention that our daughter was 13 when she said this?

Do I remember any negative experiences? Well, there's what probably amounted to the stupidest thing I've done as a parent -- which I don't think I've confessed on this blog.

There were times when I was sure one of our kids had reached a new plateau of unreasonableness (this happened more than once). I remember that it happened, and I remember using that bit about the new plateau (I was pleased with myself for coming up with it too). But I don't remember with any clarity what triggered the exasperation, or even the feeling itself; those memories have faded into oblivion. I also know that we had some nights of very little sleep, some hours of continuous screaming and wailing from a restrained child, epic cleanup experiences (you don't want to know), discussions about why you really shouldn't bite your sister, and other things like this... but not very clearly.

Which may be why someone referred to them as "Collin's perfect children": I know my daughters aren't perfect, but I have a hard time locating their faults.

Saturday, May 30, 2015

Wednesday I finally remembered what I taught on Sunday…

I led a discussion on 1 Thessalonians 3:6–13. Here’s the background, which you can read in Acts 16-17:
Prompted by a vision, the apostle Paul went to Philippi to tell people about Jesus. Many came to faith, but others beat him and threw him in jail. Paul went to Thessalonika, and people came to faith there. But opposition arose after some weeks; he had to skip town in the dead of night. He went to Berea, his persecutors followed him, and he went on to Athens. There he asked his escorts to send Timothy and Silas to him as soon as possible.

But Paul was so worried about the Thessalonians that he sent Timothy back to encourage them and see how they were doing under persecution. (Apparently Timothy was somewhat lower-key and could come into town without getting arrested, or having a riot erupt.) Timothy met up with Paul in Corinth, where Paul was so happy and relieved that he wrote this letter, which we call 1 Thessalonians.

Paul wrote to the Thessalonians, “Night and day we pray most earnestly” (3:10) that God would open the way for him to visit them again and encourage them in their faith.

Here’s how I approached the passage in my teaching: Since God is the principal actor in any Bible narrative, what is God doing in the lives of the Thessalonians? What do they do to cooperate with God, vs hindering his work in their lives?

How about in the life of the apostle Paul? What’s God doing, and how does Paul cooperate or resist God’s work? Look at all the persecution Paul has faced! Does anybody hate your work so much that they follow you from one town to the next to persecute you? As Paul endures persecution, and maybe considers quitting, do you think he’s perhaps learning something about what’s really important in life?

Of course, all that is just so much historical conjecture unless we ask the question: What is God doing in your life and mine, and how can we cooperate with, or resist, God’s activity in us? I look at Paul’s prayer, and I think of questions like

  1. What happened to the Apostle Paul as he prayed “night and day most earnestly” that the Lord Jesus would clear the way so that he could help someone grow in his/her faith? What would happen to me if I prayed like that?
  2. If God wants to make my “love increase and overflow for each other and for everyone else,” (3:12) how can I cooperate with God’s work? How can I hinder it?
  3. How can I cooperate or hinder God’s work when he wants to strengthen my heart to be blameless (3:13), etc.?
We discussed those questions, and I closed with Paul’s prayer from Philippians 1:9–10:
And this is my prayer: that your love may abound more and more in knowledge and depth of insight, so that you may be able to discern what is best and may be pure and blameless until the day of Christ…
Like many church attendees, I promptly forgot what happened on Sunday. But my innovation was this: I forgot even though I was the one who had done a lot of the talking.

Fortunately, I eventually remembered on Wednesday morning. Here’s how it happened. “Desmond”(not his real name) is in a recovery program in our area, and I’ve been meeting him on Thursdays, but a few times we had trouble finding each other. We tried changing our meeting time, but we had not been able to get that nailed down. I was quite disappointed at not being able to meet him, and suddenly I remembered: What if I were to pray night and day most earnestly that God would open the way for me to get together with him? D’oh!

Turns out I didn’t have to pray very long. Desmond replied to my email (he doesn’t have a phone) the same day; we decided on 1:00pm. I thanked the Lord for this encouragement. I might have remembered to ask him to keep the way clear for Desmond and me to actually see each other this time.

You guessed it—something came up. I got to Desmond’s place, and someone at the desk said he’d already left for an appointment (this is the thing that suddenly came up). Desmond had emailed me, but I don’t check my home email frequently while at work. Was I disappointed!

“But God” had heard my prayer, even if I hadn’t actually said it. I turned around, and there was Desmond, walking down the steps. I offered to give him a lift, saving him a bus ride, so we did get to see each other. We talked about our families, and we encouraged each other to walk with the Lord. I dropped him off at his appointment... and I forgot to pray with him. But we do have a plan (and a specific time) for next Thursday. Here’s what I came away with:

  1. What would happen to me if I prayed like Paul?
    I think I’d remember more often who’s in charge, and who has the ability to make things happen.
  2. What would happen to me if I actually remembered on Monday, say, rather than Wednesday, what was said on Sunday? Especially if it was me who was saying it?
    I guess we’ll never know the answer to that one.
  3. Why is it that God wants to do his work through people who forget he’s in charge, who can’t remember what’s preached (even if they’re the ones preaching it), and who forget to pray for/with people?
    Because there is no Plan B! As I was writing this, John’s words came to mind: “And of his fulness all we have received, and grace for grace. For the law was given by Moses; grace and truth came by Jesus Christ”
As our pastor likes to say, there is nothing like the church—a crew of motley sinners who often don't even remember who’s in charge, but God uses them—uh, us—to bring about his kingdom on earth. Does anyone dare say to God, “Good luck with that”?

Saturday, April 18, 2015

“Let us make…”

Couldn’t sleep the other night, or maybe it was early in the morning, and I recounted (silently, because the lovely Carol was still asleep) the creation story. As I’ve written elsewhere, it’s not a chronology, but the wording and sequencing give us important clues about the author’s purpose.

When I got to the creation of humanity, it hit me that the language changed:

3And God said, “Let there be light,”

6And God said, “Let there be a vault between the waters …”

9And God said, “Let the water under the sky be gathered …”

11Then God said, “Let the land produce vegetation …”

14And God said, “Let there be lights in the vault of the sky …”

20And God said, “Let the water teem with living creatures, and let birds fly above the earth across the vault of the sky.”

24And God said, “Let the land produce living creatures …”

26Then God said, “Let us make mankind in our image, in our likeness, …

From Genesis 1
Seven times God commands something into existence, or commands the land or water to produce or teem with something. But in the eighth instance of this formula we get “Let us make mankind in our image…”

What does it mean? What is the writer (traditionally, Moses) trying to tell us here? If we read the rest of the paragraph, that might give us a clue.

26Then God said, “Let us make mankind in our image, in our likeness, so that they may rule over the fish in the sea and the birds in the sky, over the livestock and all the wild animals, and over all the creatures that move along the ground.”
27So God created mankind in his own image,
in the image of God he created them;
male and female he created them.
28God blessed them and said to them, “Be fruitful and increase in number; fill the earth and subdue it. Rule over the fish in the sea and the birds in the sky and over every living creature that moves on the ground.”

The first thing that stands out is God himself taking responsibility for creating humanity, vs. telling the water to teem with living creatures (1:20) or the land to produce living creatures (1:24). Though in both those situations God is the one doing the creating, the sea and land seem almost to be intermediaries; they receive the commands to produce animate life.

When God creates mankind, however, no intermediary is mentioned; God simply says, “Let us make mankind…”—indeed, no command precedes the creation of humanity. After he creates humans, he gives us a few commands:

  1. Be fruitful and multiply
  2. Fill the earth
  3. And subdue it
  4. Rule over sea, air and land creatures
Commands 1 and 2 are shared with other creatures (the sea creatures at least); commands 3 and 4 are unique to us.

I suppose the point of this is to tell us that the creation of humanity was a special event. Though we are obviously created beings, God gave us a unique role, with unique responsibilities, and we have a unique relationship with him. It’s not just that we were created in his image; we are regents, ruling with his authority.

Wait—maybe that’s what “image” and “likeness” (verse 26) mean: besides being personal, rational, volitional, emotional beings (as Larry Crabb, Jr. says) we are also to be like him as we rule for him. Which is actually special enough.

Thursday, April 16, 2015

A programming surprise

Many years ago, when I was in graduate school and most of my colleagues hadn't even been born yet (!), I took a class on computer architecture. Part of the class involved programming a function/subroutine to compute the nth Fibonacci number in various machines' assembly languages.

Later, when I started interviewing candidates for programming jobs, I would ask them to describe their approach, and then write code to do that computation. I did that for some 25 years or so, but one day, I saw an answer I could not have imagined beforehand. Well, maybe if I had done a lot more reading and thinking about the mathematics of it I might have... Anyway, I wanted to share it with you so I wrote it down here.

Missing the Point in Hebrews 2—for many years

I don't know how many times I’ve read the first two chapters of Hebrews, but recently I saw something that I somehow missed for years. Chapter 1 begins without much of a preamble:
In the past God spoke to our fathers at various times and in various ways through the prophets but in these last days he has spoken to us by his Son, whom he appointed heir of all things, through whom also he made the universe. The Son is the radiance of God’s glory and the exact representation of his nature…
from Hebrews 1:1–3
The author then shows how Jesus is greater than the angels, and ends the chapter with this: “Are not all angels ministering spirits sent to serve those who will inherit salvation?” (Hebrews 1:14). And then chapter 2 begins with this:
We must pay more careful attention, therefore, to what we have heard, so that we do not drift away. For if the word spoken by angels was binding, and every violation and disobedience received its just punishment, how shall we escape if we ignore such a great salvation? This salvation, which was first announced by the Lord, was confirmed to us by those who heard him. God also testified to it by signs, wonders and various miracles, and gifts of the Holy Spirit distributed according to his will.

It is not to angels that he has subjected the world to come, about which we are speaking.

Hebrews 2:1-5
I find these verses fascinating. First, we must pay careful attention “to what we have heard”—what’s that? In 1:2 we read that God has spoken by his Son, but for all these years when I read those verses I was focused on the Son and forgot to notice that when God spoke, he had something to say!

Fortunately the author tells us that what God has spoken was “a great salvation” (2:3). What salvation is this about? Well, it was something announced by the Lord (Jesus I think; God and the Holy Spirit are mentioned in the same sentence). What did the Lord announce? A few things come to mind:

  • The time is fulfilled and the Kingdom of God is at hand; repent and believe this good news! (Mark 1:15)
  • God loved the world so much that he gave his only begotten son, that whoever believes in him will not perish, but have eternal life. (John 3:16, as you probably already knew.)
  • Blessed are the poor in spirit, for theirs is the kingdom of heaven. Blessed are they that mourn, for they shall be comforted. Blessed are the meek, for they shall inherit the earth. (and more: Matthew 5:3-10)
  • Truly, truly, I say to you, she who hears my word and believes him who sent me has eternal life and is not condemned; she has passed out of death into life (John 5:24)
  • And I give eternal life to them, and no one will snatch them out of my hand. My father, who has given them to me, greater than all, and no one is able to snatch them out of the father's hand (John 10:something)
  • I am the resurrection and the life; he who believes in me will never die (John 11: something)
The author of Hebrews does answer one question for us definitively: if we wonder about this salvation—is it about this world, this life only, or [also] about the world to come?

I actually have wondered about this, because I had the impression that first-century Jews and Christians thought of “salvation” as mostly being about life here on earth. Didn't people want to make Jesus king by force? When Jesus healed people, didn't he say “your faith has saved you” (emphasis added)?

But the author of Hebrews is talking about the world to come, as we read in verse 5. And he gets even more explicit after that:

But we see Jesus, who was made a little lower than the angels, crowned with glory an honor, because he suffered death, so that by the grace of God he might taste death for everyone.

In bringing many sons and daughters to glory, it was fitting that God, for whom and through whom everything exists, should make the pioneer of their salvation perfect through what he suffered. Both the one who makes people holy and those who are made holy are of the same family. So Jesus is not ashamed to call them brothers and sisters.

Hebrews 2:9–11
Ah—another clue! Jesus suffered death, and by God’s grace he tasted death “for everyone.” Which reminds me of the Christmas carol, “Hark! The Herald Angels Sing”—particularly this part:
Mild he lays his glory by
Born that man no more may die
And here's another: God brings many persons to glory, and that too has something to do with salvation and with what Jesus suffered.

That salvation, wherein God brings us to glory and makes us holy, also has to do with becoming a sibling of our Lord Jesus. Come to think of it, that reminds me of Psalm 68:

A father to the fatherless, a defender of widows,
is God in his holy habitation.
God sets the lonely in families,
he leads out the prisoners to prosperity;
but the rebellious live in a sun-scorched land.
Psalm 68:5–6
Indeed, being rescued from loneliness, being adopted into a family where Jesus is my brother—not only for this world, but also for the world to come—that’s sounding pretty good.

Wednesday, April 15, 2015

Meditation: emptying my mind?

But her delight is in the law of the Lord
        And in his law she meditates day and night
She is like a tree planted by streams of water
 which yields its fruit in season
 and whose leaf does not wither.
Whatever she does prospers.
from Psalm 1
What meditation is the psalmist talking about? There are some kinds of meditation whose adherents try to empty their minds; this isn’t that. Someone told me that the word translated “meditate” has the sense of ruminating—chewing on something slowly; we meditate on something, as a cow chews and re-chews grass.

Joshua is instructed about the book of the Law: “Meditate on it day and night,” (Joshua 1) and do everything written in it. There’s a promise, viz., of prosperity and success, for those who meditate on and obey the teaching. In the New Testament, Paul says to let our minds dwell on whatever is good, honorable, right, pure, lovely and so on (Philippians 4). The Bible, in other words, tells us to meditate on God’s teaching, to give our hearts to what’s in heaven, to think about good things; it doesn’t commend the practice of emptying our minds.

But does the Bible forbid it? Is it actually harmful to try to think of nothing? Is it a sin? Or might it actually be beneficial?

Here’s what I make of it: Besides being told to think about certain things, we’re also told not to think about others: Don’t plot harm (Proverbs 3:29), don’t envy the violent (3:31), etc. It’s probably better to think of nothing, versus plotting evil against one’s neighbor.

In that sense, emptying one’s mind is neutral: it’s not actively bad (vs. scheming iniquity) nor actively good (cf. meditating on God’s goodness and love). Indeed, sometimes it may be positive: in Psalm 131 the writer talks about quieting himself like a weaned child. What’s a weaned child thinking about? Not much! And in Psalm 46, an oft-quoted verse instructs us to “Be still and know that I am God” (46:10).


Now there is a passage in the New Testament where Jesus talks about what happens when an evil spirit leaves a person and nothing takes its place. I read it and wondered if it might refer to emptying one’s mind. Here’s a possible interpretation: If I empty my mind of evil thoughts and don’t replace them by something else—meditating on Scriptures, say—then they may come back more powerfully than before. Here’s the parable:

“When an impure spirit comes out of a person, it goes through arid places seeking rest and does not find it. Then it says ‘I will return to the house I left.’ When it arrives, it finds the house unoccupied, swept clean and put in order. Then it goes and takes with it seven other spirits more wicked than itself, and they go in and live there. And the final condition of that person is worse than the first. That is how it will be with this wicked generation.”
Matthew 12:41–45
After re-reading it in context, I don’t see how it could possibly mean that.

Here’s the situation: Jesus is talking with some hostile Pharisees and teachers of the law. They say Jesus is casting out demons “by Beelzebul, the prince of demons” (12:24). They demand a sign (12:38) from him. Jesus replies (12:39): “A wicked and adulterous generation asks for a sign! But none will be given it except the sign of the prophet Jonah.” Jesus then explains that foreigners will condemn the current generation of Israelites because they listened to God’s message when it came to them, and the leaders of the Israelites (who really should know better) refuse to listen to Jesus.

The parable about impure spirits comes immediately after this. It’s from that, and the last sentence above (“wicked generation”) that I conclude that the parable is directed against those hostile to him. I did a quick search on my shelf and on the web, and the commentators think the parable refers to unrepentant Israelites and (by extension) others who hear Jesus and yet reject him.

Luke’s account is similar: though the sequencing isn’t exactly the same, Jesus gives the parable during a confrontation with people who say he’s driving out demons “[b]y Beelzebul, the prince of demons” (Luke 12:15) or testing him by asking for a sign from heaven (12:16).

So I don’t think this parable is warning followers of Jesus against being still (Psalm 46:10) or quieting oneself (as in Psalm 131).

But the Scriptures encourage us to take positive action with our thoughts, too: meditate on instructions from God (Psalm 1:2–3; Joshua 1:8), think about things that are true, honorable, right, pure, lovely (Philippians 4:8); devote ourselves to prayer and thanksgiving (Colossians 4:2ff).