Thursday, May 30, 2013

Exciting new puzzles! Brought to you by vpnc!

I wanted to connect to my employer's VPN, so I typed "vpnc" with the usual parameters. After entering my password (etc), my computer claimed to be connected, but I couldn't resolve any hostnames. Huh? I typed "vpnc-disconnect" (as root), and was told
no vpnc found running
Harrumpf. So I restored /etc/resolv.conf (vpnc puts some rfc1918 addresses in there, which is what my company's intranet uses for DNS), and tried to run vpnc again.

No joy: it couldn't find the IP address of my company. In fact, nothing outside the house was reachable. Why not?

collin@p3:~> netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
xxx.yyy.zz.ww   192.168.1.254   255.255.255.255 UGH    1500 0          0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
collin@p3:~>
(xxx.yyy.zz.ww is my company's vpn gateway). Well, there's no default route, for one thing! So I tried this:
collin@p3:~> sudo route add default 192.168.1.254
SIOCADDRT: No such device
Gaaa... it's been too long since I typed that string. What's the incantation required?
collin@p3:~> man route
ROUTE(8)                   Linux Programmer's Manual                  ROUTE(8)



NAME
       route - show / manipulate the IP routing table

SYNOPSIS
       route [-CFvnee]

       route  [-v]  [-A  family]  add [-net|-host] target [netmask Nm] [gw Gw]
              [metric N] [mss M] [window W]  [irtt  I]  [reject]  [mod]  [dyn]
              [reinstate] [[dev] If]
…
OK, that gave me the needed clue; I was missing the magic word gw, so I typed:
collin@p3:/mnt/home/collin> sudo route add default gw 192.168.1.254
and voilà, everyting started working!
collin@p3:/mnt/home/collin> netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
collin@p3:/mnt/home/collin>
The default route (in yellow) appeared, and I could do everything I needed.

Why did vpnc hose my routing table then abort? I don't know; I suppose this old IBM lease-return has some hardware problems. But they only affect me once in a while, so since it ain't totally broken, I won't replace it.

The Rich Man and Lazarus

Last weekend's brilliant sermon unpacked the parable of the rich man and Lazarus from Luke 16.

Our teacher, Charley Scandlyn, pointed out that Lazarus was the only person in all the parables of Jesus who is given a name. This reminded me, a few days later, of a Hebrew proverb that says something about a name being better than riches, and I found it this morning:

A good name is more desirable than great riches;
      to be esteemed is better than silver or gold.  
Proverbs 22:1 (NIV)
Now everybody who heard the parable would have known this verse from Proverbs. And since I remembered it within a couple of days, I have to believe some who were there would have remembered it instantly.

So as I picture the scene in my mind, Jesus begins the parable (Luke 16:19), “There was a rich man who was dressed in purple…” people would have nodded. This would be a typical opening. Purple was a color that only the rich could afford. But then Jesus adds “…and fine linen…” which would have stopped the nodding. The phrase “fine linen” doesn't mean much to us today, but what Jesus is saying here is that this guy has the fanciest underwear. This would be like saying the guy was dressed in Armani or Brooks Brothers suits, and he also wore the finest long-johns money could buy.

So there may have been some chuckles here. Jesus continues, “…and lived in luxury every day. 20At his gate was laid a begger named Lazarus…”

I imagine Jesus pausing here briefly. The laughter has just started to subside, and now the people are truly astonished. I have to believe that some in the crowd would have remembered the verse from Proverbs, and caught Jesus's meaning instantly. The beggar has a name, Lazarus, and the rich clown with the fine underwear—nobody even knows his name! We don't care what his name is; he's nobody!

As Jesus continued the parable, the rich man is revealed to be a man without sense or honor. Even in the afterlife he has no understanding of the nature of things.

You can find the sermon at http://mppc.org/learn/sermons; look for one dated May 25-26, 2013.

Saturday, May 18, 2013

Computer culture shock

Heard some stories about the clash of computer cultures, from an American tech guy working with an international non-profit. The first story was one about not writing your password down. The new user was disappointed that he couldn't write the password down, and he wanted to use a password in his native language—which you can't type on a US keyboard. When he heard he couldn't do that, he protested: "I know only 4 words in English!" (which he didn't remember how to spell). The American tech guy said, "Let's use those," and typed the login ID. "Now type your password."

The user had never used a keyboard before! He looked at the keyboard. "Where's 'H'"?

He learned how to hunt and peck each letter out. After maybe half an hour of practice, he was able to reliably type his password in before the login timeout. Whew!

Before this interaction, the tech guy hadn't met a lot of people who didn't speak English, and not many who didn't touch-type.

Another interaction was with a user at the other end of a telephone line. "Type “sudo rm /var/run blahblah.pid”," said the tech help guy. "It'll ask for your password."

The response wasn't encouraging: "Aaaa! I broke it! It's broken!"

After several back-and-forth sessions, the reason came out. In a terminal window, when the password is requested, "echoing" is turned off. So you type your password, and you don't see anything. Of course the password isn't shown (this prevents "shoulder surfing") but neither are asterisks shown, and the cursor doesn't advance. So the user thought the computer had died.

Makes sense, but this is not the sort of thing I could have predicted, had I been in the tech guy's place.

Last story: The Unix™ Way says that when a command completes successfully, we don't show anything. So one can imagine a novice at the keyboard, wanting to remove (i.e., "rm") a file named a.out, and typing something like this:

$ rm a.out
$ _
and saying, "Huh? Why didn't it work?" Well, actually it did work, which is why it didn't say anything. But he doesn't know that; perhaps he expected it to say "Delete succeeded." or something. Maybe he types it again, with this result:
$ rm a.out
$ rm a.out
rm: cannot remove `a.out': No such file or directory
$ _
At this point our novice may be quite confused: the first one failed, but the second one... failed because... the file isn't there any more... then why didn't the first one give me that same messa... Oh! The first one succeeded, but it didn't say anything; the second one failed, with that message, because it succeeded the first time! Oh! OK!

And the light comes on. He remembers reading somewhere about how commands don't say anything when they succeed, only when they fail. It didn't sink in when he read it, but now the "no news is good news" thing has started to become part of his computer consciousness, his culture.

And a few years from now, he'll tell someone, "Okay, now type rm a.out" and he won't mention the part about how no news is good news. When the other person says, "It didn't work!" he'll probably say, "It didn't? What was the error message?"

Monday, April 08, 2013

Dovecot doesn't restart after software update & power fail

Impatient? click here
Yesterday afternoon, the patio door slid open and the lovely Carol appeared. "Before I restart the computer, should I close everything?" she asked.

That's right, it was a software update operation. I suggested that she quit NeoOffice, Firefox and Mail[.app]; it turned out that there was one other question to answer, but I gave it no further thought. For a while.

About 1:30 a.m., the power came back on. It hadn't been off for long, because the microwave oven's clock had the correct time when we got up later this morning. Other electronic clocks, though, were blinking. And the computers were off.

Actually mine, some lease-return IBM/Lenovo desktop from the previous decade, was already on. I guess that's what happens on power-fail-recovery. The Mac Mini, though, was silent. I fumbled around for the button and it came up.

I returned from walking the dog, to discover that thunderbird (on my Linux pee-cee) wasn't able to connect to the server—that is, dovecot on the mac mini (our setup is described further here).

I'm embarrassed to tell you that my first thought was to blame the software upgrade. "Shoulda checked to see if I needed a new rev of dovecot too," I muttered to myself. But then I came to my senses. Nope, everything was fine last night, after the upgrade (and supper).

I mused upon this while chewing my cereal. This might take some time to run down, I thought, and I tried to imagine how annoying it would be for the lovely Carol to have to do without email access.

"Bah—it musta been the power-failure!" I thought. Looked for /var/run/dovecot.pid -- no such file. Hurmpf, I said, and next typed grep dovecot /var/log/system.log, which revealed that dovecot was supposedly already running. The pid file (which was in /opt/local/var/run/dovecot.pid or something like this) claimed dovecot was running as PID 30. Of course "ps p30" told me the awful truth -- that was cron running there.

So it was a stale pid file. Becoming root, I "rm"ed the file, and in fairly short order some nice system process had re-spawned dovecot, and all was well.


update 2015-10-17

The filename is actually /opt/local/var/run/dovecot/master.pid
This is on Mac OS X 10.10.5

Sunday, March 31, 2013

A more catholic science?

First Things is a Catholic magazine—that's Catholic with a capital C.

But many of us forget that small-c "catholic" means "universal" or "inclusive," which is why protestants like me still proclaim, "We believe… in the holy catholic church." I was reminded of this today, Resurrection Day, while reading this article from the April issue:

Most often the story is told like this: There is some feature of the world that science is at a loss to explain. Christians rush to claim that this feature can only be explained by God. Science later produces probable non-theistic hypotheses, and the Christians must beat a hasty retreat.
God and the Gaps by Ross McCullough
A lot of religions have done this, right? The sun rises because Apollo drives his chariot across the sky starting at dawn.

McCullough correctly points out that just because the Apollonian explanation is offered, that doesn't shut down all discussion; the chariot explanation is just one hypothesis, after all.

But what I wanted to mention today is that the empty tomb, or rather The Empty Tomb, is a phenomenon that materialists are so far unable to explain. That first Easter morning was filled with despair and resignation. When the body of Jesus was not in the tomb where it was laid, this resignation became wild hope and utter confusion. Panic and utter confusion also came to the guards (Matthew 28:4, 28:11-15).

How did this happen? Modern science, with its anti-religious materialistic prejudice, refuses to consider the possibility that God intervened in his world in this case. McCullough again:

Why exclude a class of possible answers? Why be atheistic as a matter of method? Why not, instead, choose a more catholic science, admitting a broader array of hypotheses, excluding conclusions based not on predetermined criteria but on what best fits the data?
Why not indeed? Today, Christians all over the world proclaim our answer: Jesus Christ is risen!

He is risen indeed!

Tuesday, March 26, 2013

Interrupted?

"Life," someone said, "is what happens to you when you're busy making other plans." Oh, it was Lennon.

But what I really wanted to tell you about was this fabulous word from Newbigin, from The Light Has Come:

Jesus had no program of his own. He planned no career for himself… He simply responded in loving obedience to the will of his Father as it was presented to him in all the accidents, contingencies, and interruptions of daily life, among all the personal and public ambitions and fears and jealousies of that little province of the Roman empire. (200)
I happened upon this in Responding to our Call, volume 4 of the Companions in Christ series [buy].

The point, of course, is that if we want to follow Jesus, we are also to imitate him in this aspect of his life. Newbigin continues:

So the disciple… will not be concerned to create a character or career for himself. He will leave that to the wise husbandry of the Gardener, who alone knows what pruning, what watering and feeding, what sunshine or rain, warmth or cold is needed to produce the fruit he desires. (ibid.)
Which reminds me of a "Jews for Jesus" song: And press your life into His hands, That He might drink the wine. [link]

When I tell my story, I mean how I came to follow Jesus, I sometimes say I was driving down the road of life, and Jesus was there at a crossroads, indicating that he'd like to go the way of life with me. The problem was, he wanted to drive.

As it turns out, yielding the steering wheel (and the accelerator and brake) was not something I could do once and then forget about. Daily my plans must be surrendered: "I choose above all else to live this day with you" means that walking with God, responding to interruptions in a way pleasing to him—these things are a higher priority than my plans and dreams.

And so "thy kingdom come, thy will be done on earth (and in my life) as it is in heaven." Amen.

Sunday, March 24, 2013

What's new

A friend mentioned that my blog has been dark lately, and he wondered how I was doing. James, this one's for you.

First, the news: my father's two remaining brothers died recently -- Harry, approaching 95, on 2/21; when Gilbert (97 next month) heard the news, he took a turn for the worse and succumbed 3/7, exactly two weeks later. My dad is the youngest to survive to adulthood; he has just one sister left.

The illness and death afforded opportunities to have conversations about things we don't often discuss. Though I felt somehow inadequate several times in these past days, I'm glad I spent the time with my family.

Being with my father, and remembering my uncles in recent years, made me think about what I hope for in my future decades. I do not hope to be taking 30-mile bike rides at age 90, and I imagine much more of my memory will have left me by then; I do not expect to have a lot of brilliant insights. But I do hope I'm more loving, joyful, peaceful, patient, kind, generous, gentle and so on. I hope I can be a man of blessing.

Some good things have been happening through fellowship. Carol and I are in a small group that more or less uses the sermon study guides. Recently we talked about Colossians 3 and the concept of doing everything in the name of the Lord Jesus Christ. What a challenge! Carol hurts my feelings so I ignore her for a while -- in the name of the Lord Jesus Christ? I don't think so.

In a men's small group I'm in, we were talking about 2 Corinthians 12:9f. What is our weak spot? the book asked. We had to think about this, but the concept of doing everything (every detail of our lives) in the name of the Lord Jesus -- that made it quite clear that we have a number of weak spots. Or blots.

Last week we shared dinner with a couple who were so happy that they found our church. Like many of us, they had attended churches where questions were not welcomed, so the thoughtful, respectful, open approach that we take to our faith at MPPC was, and is, very refreshing to them, and it's brought greater engagement in learning, spiritual transformation, discipleship.

We are very grateful for our Sunday morning fellowship group, "Side by Side," which has been in some ways like an extended family to us. It's a community where we encourage each other—stimulate each other to love and good deeds, as the author of Hebrews tells us.

As we approach Good Friday, and Easter Sunday, I remember some past Easters, and one Easter morning in particular, now over 30 years ago, when I marveled at the idea that someone could love me enough to die in my place, to pay the penalty for my sins (or to pay a ransom to set me free), so that I might have eternal life. It seemed a wonderful thought, but it was unbelievable to me.

But a voice from the empty tomb thundered to me over a nearly 2000-year period, "Believe it!"

And so on Easter Sunday morning I will join with my brothers and sisters worldwide in proclaiming, "He is risen indeed!"