Thursday, December 26, 2019

Some things I'm thankful for (particularly at work)

Some weeks ago at Trinity Menlo Park, Pastor Aaron reminded us that life is short, and we don’t have many days to bless those around us. Inspired by that remark, I emailed the below to a few (i.e., quite a few) of my co-workers.
2019-12-04 2:12pm Pacific
Colleagues,

I was reflecting the other day on things I’m grateful for. Family and friends, of course; a measure of health; vehicles and home appliances that work well enough. Not least is the opportunity to work together with so many intelligent, hard-working folks (yes I mean you).

And as I reflect on the ONTAP development experience at NetApp, it strikes me how much better that experience is today as compared to what it has been. Reviewboard is just one of the major improvements that came in over the past 15 years or so.

In the “old days,” you could check something into ontap/main, only to get a nasty-gram from the build daemon. Then you’d find out that the build daemon had been failing for several hours because somebody broke it and no one fixed it!

Auto-heal isn’t perfect, but it’s pretty close, which we can tell by how surprised everybody is when it can’t back out a bad checkin.

I also remember a day when Isabelle submitted something and the build-ng daemon whined at her. She backed her change out and the daemon kept failing! It took several days to figure out that missing dependencies had hidden the real culprit, which had been submitted some weeks before :-(

Bedrock and DOT/dev aren’t perfect either, but again we’re surprised at sporadic failures...

I think of Anchorsteam, which shipped at least a full year late. We added Scrimshaw after Fullsail, because customers were waiting so long for another release—but Scrimshaw was late, too! Back then, managers really had no idea how close we were to being ready. Or they wouldn’t say :-(

Although the six-month release cadence hasn’t been a panacea, it has brought some reality into the management ranks.

And do you remember how much stuff we shipped without testing? Scrimshaw.3 had no snapmirror testing whatsoever! A former VP demanded that we test patches more thoroughly—and also ship them more rapidly—that didn’t work too well.

I am so thankful that today we have CITs and auto-heal, daily code coverage reports, CTL, and other tools to enhance ONTAP’s quality.

All these things took a lot of work from a lot of folks. Reviewboard, bedrock, bammbamm, CITs, auto-heal on both build and CIT, and so much more. You know who you are.

Thank you thank you thank you for how you’ve improved life for developers, and thereby for all the folks that rely on our products every day.

Monday, December 23, 2019

What did Jesus mean when he said “salvation”?

Recently the story of Jesus’s encounter with Zacchaeus appeared on pray-as-you-go at this link for November 19th; “coincidentally,” Menlo Church’s November 24th sermon covered the same passage. The lovely Carol showed me a page from her devotional guide that also focused on this passage, and encouraged its readers to write a few paragraphs about salvation: what does that mean to me? Following are a few thoughts.
9Jesus said to him, “Today salvation has come to this house, because this man, too, is a son of Abraham. 10For the Son of Man came to seek and to save the lost.”
Luke 19:9–10, NIV (2013)
Perhaps you know the story: Zacchaeus, a rich and corrupt tax collector in first-century Israel, encounters Jesus in Jericho; Jesus goes to Zack’s house for a meal, Zack repents, and Jesus says that salvation had come to the house. The full text is here.

Reflecting on this story, and particularly what Jesus says about salvation, it struck me that my understanding of the passage is quite different from the way I understood it 20–30 years ago. Back then, as a young evangelical, I would have had a very narrow idea of “salvation”: I thought it meant the shift from a dim eternal destiny to a bright one. Before salvation, Zacchaeus was headed for hell; once saved, he was headed for heaven.

The way this happened, I would have said, was that some time during the visit, Zack came to “believe in Jesus” (in a John 3:16 sort of way), and at that point, became a child of God, as John 1:12 promises. Being thus adopted by God, he was now destined for heaven. And I would have said that his proclamation (“Here and now I give half of my possessions to the poor…”) was evidence of Zack’s belief and perhaps of an incipient transformation wrought by God.

That belief somehow caused God to change his mind about Zack; God’s view used to be that Zack was deserving of hell, but after Zack came to believe, God saw him as forgiven: in the words of the hymn, “clothed in His righteousness alone / faultless to stand before the throne.”

OK, that explanation wasn’t as clear and crisp as I’d have liked, though, because as Romans 3 teaches, nobody ever looks for God. Ephesians 2:8 says we’re saved by grace through faith, but even faith is a gift from God; we can’t generate that faith by ourselves.

Suppose that Zacchaeus had said nothing about providing for the poor, or about making restitution to those he cheated? It would not have made any difference to me back then; my view, based on verses like John 1:12 and John 3:16 and John 5:24, was that basically “all you need is to believe.”

Although there was some muddiness in my understanding, that’s how I thought about the “salvation” thing.

Thirty years later…

How is my thinking different today? For one thing, my understanding of “salvation” is broader and with a different focus. As I understand it, in first-century Israel, Eternity-in-Hell-after-you-die was not the thing people would feel most in need of being saved from. They would be thinking of how to be saved from oppression, poverty, fear or shame. Or from being a pariah in the community.

Which Zacchaeus was. I wonder how his short stature affected his experience growing up. Was he ridiculed or bullied? Is that why he he decided to collaborate with the Roman oppressors to exploit his own people? And to cheat them besides?

So he became a tax collector, then chief. He got money, and maybe some sort of revenge against his persecutors, but his wealth didn’t gain him respect within the community. I see him as caught in a viscious cycle partly of his own making. And I think that when Zacchaeus saw Jesus, he didn’t see the kind of hate and judgment that he saw on the faces of those around him. Somehow, during the party, he was enabled to see a way out of that viscious cycle—he saw a better way to be. This is the kind of thing that can happen when Jesus encounters us: we find ourselves suddenly able to take a step we had not previously imagined.

As Paul wrote in Titus 3: “For we ourselves were once foolish, disobedient, led astray, slaves to various passions and pleasures, spending our days in malice and envy, hated by others and hating one another. But when the goodness and mercy of God our savior appeared, he saved us, not on the basis of our good deeds, but according to his mercy…”

God, in the person of Jesus, made it possible for Zacchaeus to escape the slavery of those various passions and pleasures—or at least, to begin the journey. How could Zacchaeus keep on the journey? How can any of us do so? The author of Hebrews exhorts us to pay attention so as not to drift away.

1We must pay more careful attention, therefore, to what we have heard, so that we do not drift away. 2For if the message spoken by angels was binding, and every violation and disobedience received its just punishment, 3how shall we escape if we ignore such a great salvation?
from Hebrews 2
She writes that Jesus is “the source of eternal salvation to all who obey him” (5:9). She exhorts us to be diligent in pursuing our hope, that we may not be sluggish, but “imitators of those who through faith and patience inherit the promises” (6:12).

What does this look like? Suppose I fall into the ocean at night. I can’t touch bottom. Suddenly I hear a life preserver splash in the water but I can’t see it. A voice tells me to swim ahead. It tells me to turn right; I pay careful attention and do what I’m told. Eventually I grab it. In this story, I have a big problem: I’m helpless in the water. Do I want to be saved? Well, yes—but I’m way more concerned about drowning than about eternal destiny. I had to pay attention; I couldn’t ignore such a salvation. I had to obey.

But I might also be worried about eternal destiny; it’s the kind of thing we tend to postpone thinking about until the last possible moment. And a first-century Israelite might very well be thinking about sin and forgiveness. The book of Leviticus has the most instances of “forgiven” of any in the English Bible. John baptized people “for the remission of sins.”

So I think people would be concerned about both. Actually, as I was thinking and writing about this, I remembered that first-century Greek has a lot fewer words than modern American English. The word translated “saved” can be (and sometimes is) translated “healed.” And in Matthew’s gospel, we read that the angel told Joseph to call the baby Jesus, “because he will save his people from their sins” (1:21).

I now think of salvation as being much broader: as saving the whole person from every kind of hurt: ostracism, drowning, cancer, PTSD, guilt and shame, loneliness, depression, famine, sword. Ultimately, from death: as the Apostle Paul writes, we are destined not for wrath but for obtaining salvation through our Lord Jesus Christ, who died for us so that whether we are awake or asleep (a euphemism for dying), we may live together with him. I think that’s in 1 Thessalonians… yes it is: link here (NASB)

Tuesday, December 10, 2019

Wednesday with Poppy

being a shortened version of this post from July

with Carol in July

with me, June campout in Big Sur
17 July 2019

I do and I don’t want to forget this day. The past several months, Poppy has been clingy, maybe feeling uncomfortable because of her kidney disease. Last week I was wishing she could pee normally. But as they say, “Be careful what you wish for,” because yesterday she let loose with a puddle on the hardwood floor.

Before walking her, I surveyed the back yard. There on the path was a normal-looking #2. I never thought I’d be so happy to see one of these; her elimination had been out of whack since the vet put her on a low-protein diet. I found her lead and a pet refuse bag, and invited her out. She bounded over with almost her former intensity, and exploded out the gate once I opened it. She soon ran out of gas, but we walked fully 20 minutes.

Carol would be out most of the day; I worked from home so Poppy wouldn’t be alone. The past few days I prepared her meals from leftovers. Poppy was refusing the weird stuff from the vet, and didn’t even want her old kibble. On this morning I put a little water and rice on the stove, and some salmon, under her close supervision. After it simmered a few minutes, I stirred in a fiber capsule, let it cool for a bit, and walked it to her crate. “Sit!” I commanded. She promptly obeyed. Placing her bowl on the floor, I said, “OK,” and she fell to.

In a couple of minutes she found me and gave me her “More?” look. I scooped a handful of her formerly-favorite kibble into her bowl. She ate most of that, and then stopped. “Well,” I thought, “She must be feeling better.”

A while later, it was time to go to the bank. “Want to go for a ride?” I called.

She jumped off the couch and looked at me expectantly. I gathered my things and she followed me to the garage. The van is too high for her to get into by herself, so I lifted her onto my seat. She jumped to the passenger side. I lowered her window, belted myself in, and off we went. About half-way through town, she began looking toward my window. “Want to come over?” I asked.

At the next traffic signal, I scooted back a few inches, and she took a tentative step. I lifted her onto my lap, and as the light turned green, she put her paws onto the door. A few blocks later, she wanted to go back; I gave her a one-handed boost to the passenger seat.

I left both front windows open a few inches. “I’ll be back in a flash,” I told her, and went into the bank.

I returned to find her in the driver’s seat. “Excuse me,” I said as I opened the door. She returned to the passenger seat and we went for her last ride back to the house. I gave her a half-tablet of the antiemetic, to help her feel more comfortable in her final hours.

I fed her for the last time. Well, almost the last: she came to me in the kitchen with her “Carrot?” look. I handed her one, which she cheerfully chomped. (She did that Monday, too, but immediately vomited the whole thing. This time everything stayed down.)

Carol came home to take Poppy to the vet. I just wanted to be somewhere else, so I gathered a few things and went to the office. Poppy followed me outside. Maybe she suspected something was up, because when I leave I always say, “Be a good girl”; this time I knelt down and stroked her fur. “I’m sorry, Poppy,” I said. “I’m so sorry.” I’m sure she could tell I was really broken up about something.

At work it was “Employee Appreciation Week” and there was an ice cream social. But I didn’t want ice cream and didn’t feel social, so I skipped it. I did something vaguely productive and went home. As I entered the house there was no jingle of Poppy’s tags on her collar, no little footsteps.