Blog

  • Parking Garage Spirituality

    I had a spiritual experience in a parking garage. Does that sound weird? It was mysterious, but not supernatural.

    End of my senior year in high school, I came to Portland, and fell in love. I'd saved up a chunk of money working odd jobs, and moved right after graduation.

    Back in the old days, kids, there was an activity we all had to do all the time: wait. When you parted ways with someone, you'd make a plan to meet again, and then you'd have to… wait.

    I was waiting, in the parking garage at the corner of Middle and Union street, for my girlfriend. It was a beautiful day, I had the windows open, smoking, radio, nice. Finished smoking. Listened to the radio a while, shut it off to save battery.

    Nothing to do but wait. Listening to seagulls cry and traffic rush. Outside I could see the sky, picturesque clouds moving slowly, making patterns of sun rays on the roofs across the street. Nothing else.

    I heard footsteps inside the garage. From the pace and the click, sounded like a woman in heels, in a hurry. She had a long way to walk too, the sound just kept going.

    I noticed as she walked the echo inside the garage changed, I could see her position in my mind's eye as she crossed one of the angled ramps of the garage level to another. Kept going.

    Then the footsteps disappeared. Wait, where'd she go? Hold on, they didn't disappear. I realized I had been focusing so intently to the still-ringing echoes, I’d simply tuned out the footsteps.

    This thrilled me. Musicians talk about listening to the spaces between the notes, and now I got it. I heard the seagulls again. They hadn't stopped either, I'd just tuned them out too.

    The clouds drifted, the sun shined. In one way, it was loud, but in another way it was silent. In my mind's eye, I saw the gulls circling and dipping, the traffic on the street slow for the woman to cross.

    That's when it happened. I realized I hadn't been aware of myself, I guess for… minutes now.

    I was part of the world. The cries of the gulls and the rumble of traffic vibrated my ear drum, the same air moved in and out of my lungs. There was no 'I' separate from these things. No stories in my head about everything wrong.

    Silence inside. Not just contentment, the complete absence of any desire.

    Maybe my girlfriend showed up, maybe there was a fender bender outside the garage: I honestly don't remember what broke the spell. Obviously something snapped me out of it.

    But for weeks after the feeling kept coming back. Total peace.

    Some say when we die, we relive all our experiences. The good ones are heaven, the bad ones hell. If I got stuck in that experience for eternity, I would be very happy.

    So yes, I think that heaven on earth can be in a parking garage. Maybe that is weird, but life is a mystery.

    Mysterious, not supernatural.

  • The Definition Of Happy

    I started reading the dictionary when I was four years old, so I'm very attuned to the definitions of words. One of the most ill-defined words is "happiness".

    There's a lyric by the band Morphine that sums it up for me: "I'm exactly where I want to be right now."

    Isn't that happiness to you? To be where you have everything you want. To want for nothing.

    There's two ways to try to get to that place. One is to work to change "where" we are. Not just your location, but people, possessions, feelings, events.

    All of humanity's problems come from that way. False happiness.

    This is what Secular Buddhism means about desire. Desire is infinite – no matter how good things are, they could always be a little better. Happiness is always just a little further away, never here.

    Back to "I'm exactly where I want to be right now." What's the other way?

    First, full disclosure: it's not just easier said than done, it's teeth-grittingly gruelingly hard, the hardest thing I've ever tried. But it's worth it.

    The other method is to change what you want. Want exactly where you are right now. Because we're all where we are for reasons.

    But how can we want the world with all its ugliness? Today there's war in Ukraine, yesterday was the anniversary of my friend's suicide, kids' parents get cancer and die, kids get cancer and die.

    All of these things I have had to learn to want, in the sense of "wanting for nothing", accepting. And I am grateful for all of them.

    I'm grateful I got to be a part of my friend's life, even for a short time, and that I learned from his death how much his brothers meant to me. I'm grateful my brother's death brought me closer to his family, and that from it I learned to be more accepting. I'm grateful my friend responded to her daughter dying by organizing her community in a charity memorial, and from that I learned even the death of a child can be transformed.

    I'm grateful for the war in Ukraine, because it's given me the courage to write this. I've learned I believe in the possibility of redemption for all mankind, through rejecting false happiness.

    True happiness is not for the weak of heart. You have to be incredibly strong to withstand it, because you have to accept everything, exactly as it is. The joy and the sorrow, we don't get to pick and choose.

    (Acceptance doesn't mean we can't take action to make changes in the world. We just can't be disappointed when the world doesn't meet our expectations.)

    Love, acceptance, gratitude, true happiness… and grueling ordeals of discomfort. They're all the same thing.

    I'm exactly where I want to be right now.

  • Life Is A Party, Life During Wartime

    The Talking Heads song has a stark contrast between the desperation of its lyrics – "I got some groceries, some peanut butter / To last a couple of days" – and its music, which is a stone cold jam.

    This morning two members of our team, from Eastern Ukraine, didn't show up for the morning meeting.

    How do we go on when something like this happens?

    Prince answers that for me: "Life is a party, and parties weren't meant to last."

    To be able to party, you have to have two things: something to celebrate and energy to work.

    When I was 18 to 19, several people I knew died unexpectedly. At the time, I felt terribly sorry for myself for my bad luck. I put my energy into feeling bad instead of partying.

    What a waste! I felt bad because I took for granted my good fortune – fortunate to have had such a rich life, I could know so many people.

    And more, I also didn't yet understand that people would just keep dying all my life. Parties weren't meant to last.

    Now I start with gratitude for what I have, for those we haven't lost (yet!).

    Then I work. A party is work, because you have to bring energy to a celebration. So the celebration needs to be worth it, it needs meaning.

    Life is a desperate jam. We never know which party will be the last. I decided long ago to honor those passed by rededicating myself to living.

    Fight for your right to party. Even if you're dancing with tears in your eyes.

  • Pro Positive: Veggies Not Vegetarian

    There's two ways we can define our identity: through addition, or subtraction. I was in Little Rock, AK, when I blew a waitress' mind with addition.

    I was touring with a band called The Asteroid Shop. We were booked at Juanita's in Little Rock, great venue, and the show came with a free meal. I was psyched; out on the road, it can be hard to find anything remotely healthy to eat.

    The waitress was blasé. No doubt used to broke musicians who get the free meal and don't tip, she couldn't care less about our order. But the place was empty, so there was no escape.

    I ordered veggie enchiladas with borracho beans. "Those have meat in them," she sighed. I replied, "That's okay, I like the flavor."

    She stared at me with her head cocked for a good beat and a half. Then her eyes crinkled."I get it… You're not a vegetarian, you just like yo' veggies."

    "That's right," I said, "Just like mama said!" She cracked up. I left her a big tip.

    I'm not anti-meat, I'm pro-veggie. I had digestive problems for years, and eating veggies cleared it up. They're less expensive than meat, and better for the environment. And when they're cooked right, they can be just as tasty.

    I respect my vegan friends, but I don't need to be against anything in order to eat this way. I just try to fill up my plate with so many veggies there's no room for anything else. I don't always succeed, but I always try again.

    I'm not anti-negative, I'm pro-positive. Eat your veggies. If you don't have anything nice to say, don't say anything at all. And get back up when you fall down.

    Just like mama said.

  • Lyrics: Happy Hours

    Chuck said to meet
    Is more exciting than parting
    But you got to part
    To not let your heart harden
    You've got to leave
    Today behind tomorrow
    You've got to leave
    Both the joy and the sorrow

    I've got to run
    To keep from hiding
    I've got to laugh
    To keep from crying
    I've got to live
    To keep from dying
    But I'm sure as hell
    Not gonna give up trying

    All my life I've lived like
    Someone else's dream
    All my life I've known things were not
    What they seem!

    Happy hours
    They seems so long
    How can some short moments mean so much
    Happy hours
    They feel so raw
    When I know
    In a moment
    This could all be gone

  • Homeless Wisdom

    I have a rule: I'll give anyone who asks me for money on the street one dollar per day.

    There's a reason for it: working in downtown areas for years, I'd see the same folks multiple days a week, sometimes on the weekends too. By putting a cap on the amount I gave at any one time, I could avoid being frustrated with the frequency of all the times.

    It's also not really about the money, I get something out of it too. Let me tell you about the best dollar I've given.

    I was walking down Grant Street. I was in San Francisco teaching JavaScript to programmers at Macy's, and it was intense. On top of the technical challenge, the class had the same demands any teacher faces: assessing students, keeping everyone productive and engaged.

    I did well at the job, I held a "preferred instructor" status for consistenly good feedback. But the way I did well at it was by beating myself ragged about the tiniest mistakes.

    So at first, lost in my head, I walked past this old guy asking for money. Almost got to the cross street before I stopped and turned back.

    He stood there holding a soda cup. He wasn't shaking the coins or talking to passerby. His body language sure seemed like he was accepting donations. But in San Francisco, the people who get their clothes secondhand wear last year's styles of trail running shoes and dark-wash jeans, so it can be awful hard to tell. Just to make sure, I looked into the cup before I dropped in a dollar.

    "Thanks," he said affably. "How are you doing today?"

    I was stunned for a beat. I'd given out money dozens, maybe hundreds of times at this point. No one had asked me how I was doing.

    "I'm pretty alright, thanks for asking. How are you?"

    "Well, I'm doing better than these people" – he waved his hand dismissively at the whole city – "they don't know how good they got it." He switched to a whiny-kid voice. "Ohh, my iPhone's not new enough. Ohh, my BMW's not new enough. I deserve to live in a fancier part of town."

    He looked me straight in the eyes. "I was on a fishing boat that sank 30 miles off the coast of Alaska, 35 degree water. These people don't know what trouble is."

    He told me the whole story: the bilge pump failed, the ship started taking on water. The Coast Guard tried to helicopter a replacement pump but the seas were too choppy to safely land the massive machine.

    Without the pump the ship took on water terrifingly fast. The crew barely had time to put on their survival suits before hitting the icy water, and wait for the rescue helicopters to arrive.

    As he was tossed by the waves, he started to smell liquids floating to the surface. Diesel fuel mixed with sailors' cologne. "I'll never forget that smell 'til the day I die."

    We talked a little while longer about life experiences until there was a pause. I realized that I had Big Important Things to go do, and he had other people to share his wisdom with. I left with a wallet a dollar lighter, shoulders immeasurably more.

    It's not about the money. It's about the chance to make a brief connection with another human being. Every interaction is different, but I always learn something about my fellow people, gain some perspective on my problems.

    That wisdom doesn’t need a home.

  • Truth In Music And Software

    One of the many things music and software have in common is their complex determination of truth.

    Both have a low and high bar for truth. The low bar for software is mechanical: does it even run? Does it produce the desired result, and in a reasonable period of time.

    The low bar for music corresponds. We can all tell when a performer stumbles, loses the beat, cracks just short of the high note.

    It takes a more skilled observer to perceive the high bar.

    I saw an interchange on The Voice: while the judges were bantering, Kelly Clarkson sang a line from one of Alicia Keys' songs. Keys immediately asserts, with no malice but total certainty, "That's not how it goes." I couldn't tell exactly what Clarkson missed, but I don't doubt for a second that Keys did.

    I wrote recently about how "Louie Louie" gets played wrong all the time. It's a simple I-IV-V chord progression, but the V chord has to be minor. It's a subtle change, but once someone points it out to you, you'll always hear it played wrong.

    These are not high bar criteria though. They're subtler, elevated, but they're still about correctness, a binary pass/fail.

    They can be measured.

    A software program should handle weird input without crashing, use appropriate amounts of system resources. These are measurable criteria.

    Good software needs good qualities in addition to its measurable quantities: it should use abstraction in the most useful way, clearly communicate its intent in source code.

    Qualitative characteristics can't be measured. Our preferences for different qualities make up our taste.

  • Groundhog Birthday

    Groundhog Day came early for me this year. I was born on The Day The Music Died.

    On February 3rd, 1959, Buddy Holly, Ritchie Valens and The Big Bopper's plane crashed. Later, Don MacLean wrote the song "American Pie", inspired by the event.

    In the movie "Groundhog Day", Bill Murray endlessly wakes up to the same day over and over again, his alarm clock always playing Sonny and Cher's "I Got You Babe".

    For me, it's "American Pie". I don't hear it every year on my birthday. But a lot. This year, I heard it a few days ago, but it instantly transported me to that eternal day.

    Every day we wake up. Each day seems different, but often it's not. An entire life looks like a single day: come slowly out of the fog, get ready, start working, take a break. Back to work, quit and relax, lose consciousness.

    If the days repeat almost indistinguishably, maybe the lives do too – not reincarnation necessarily, but maybe everyone's experience overlaps more than we think. We all put clothes on every day, but we can't possibly remember every time we tie our shoes. We all bite our cheeks, forget what we went in the other room for, wake up on a cold gray morning and stare out the window a long time before remembering what happened yesterday.

    Regardless. There's two skills to master: the short game, and the long one. I work to get better each day I repeatedly wake up to, and also the single arc of future days, getting fainter as it stretches into the distance.

    If we knew how long we had, we could balance the two perfectly, but it doesn't work that way. The person who gets a terminal diagnosis puts their affairs in order. The person who passes in a plane crash leaves everything undone. What if you didn't have to balance?

    Spoiler: In "Groundhog Day", Bill Murray first goes nuts with boredom and confinement. Then he becomes a hedonist and indulges all his worldly desires. Finally, he turns to others. In learning how to become the life of the party and how to interact with the townspeople, he learns how to accept, how to love, and be loved. And then he's finally at peace.

    Someone said, live every day, not like your last, but like everybody else's. If it was that person's last day, how would you treat them differently, would you forgive them more easily, go out of your way to make something easier? We have to balance first taking care of ourselves, so we can then care for others.

    I haven't put out any music or writing for a while, but it doesn't mean I'm not working on it. I just have to try different paths, different balances. I'm learning how to be at peace, and still be the life of the party.

    To me, that's love. That's the day I want to wake up to endlessly.

    Groundhog Birthday.

  • Keyboards Decouple

    Music and programming have so much in common. It's not a coincidence both have keyboards. In fact, the musical keyboard can illustrate how all programs work.

    Until the computer, the most complex tool ever created was the pipe organ. The source of the sound starts out simple: pressurized air – poetically called "the wind" – flows into the pipes, which vibrate, creating sound.

    The pipe also has to be connected to the keys (called the "action"). Early on, each key was connected to one or more pipes directly, by a wooden rod. This was simple, but also limiting – you couldn't have more than a few sets of pipes, and the more air pressure, the harder the key was to push down.

    One partial solution, stops, turned off groups of pipes. The organist would choose a few groups to play together, making the keys easier to push (occasionally they would do the opposite, "pull out all the stops", to make the instrument as loud as possible).

    This still required the keyboard to be physically connected to the pipes. The ultimate solution used a process that software development calls "decoupling".

    Decoupling, like it sounds, means removing connections. Inessential connections. There's no reason you want the keys hooked directly to the pipes. On a bicycle or a car, some might want direct manual control for sport reasons, but there's no benefit to direct action on a keyboard.

    On the organ, the wind held the solution. A separate stream of the wind routed to tubes under the keyboard. Pressing the key allowed the wind to (silently) escape, which then caused a spring flap to open, letting full wind into the pipe. By balancing the strength of the spring against the keyboard-wind, the keys became almost as easy to press as a piano, and just as easy to hold.

    This method had tons of advantages. The pipes could be placed far from the keyboard. The limit on pipes was now how much wind (and space, and money) you could spare. Stops became a matter of routing pneumatic tubing, leading to complex variations on grouping.

    But like mechanical action, there's nothing desirable about pneumatic action itself either. Running tube to every key and hooking up the stops like a telephone interchange was serious effort. And I'm sure all those pipes required maintenance as the bass frequencies shook them loose. Electronic action replaced pneumatic.

    Eventually the wind and pipes aren't strictly necessary. I have a fondness for a big, physical pipe organ. But a really good amplifier and speaker can do 98% of the job at 2% of the cost.

    We've made everything easier and easier. Now we come to the point where we replace the input and output.

    Once you've decoupled two things enough, they only communicate through what's called an interface. The organ doesn't know what is pressing the keys. The keyboard could be replaced by a player-piano type mechanism, or with an electronic sequencer. The interface of the pipe action only needs to know 1. what pipe(s) to send wind to 2. at what time.

    Then we can further unhook the output of the action from the amplifier and speaker, and connect it to a simulation of another interface.

    There's an interface inside your head, between your eardrum and the air. We know how the pipe physically vibrates the air, and if we calculate the acoustics, now we have a simulation of what the organ sounds like in a room.

    All modern software works by breaking up layers like this. It's called abstraction. The "ear" layer doesn't know anything about the "pipe" layer, which knows nothing about the "key" layer (which knows nothing about the "player" layer).

    Breaking layers at the wrong place can make an awful mess. But done right, it has tremendous benefits, allowing massive variations to be tightly controlled. All modern software uses these techniques.

    Software development calls the result of good high-level abstraction "composition". Which makes developers like composers.

    It's no coincidence.

  • Define Rock N Roll

    I started reading the dictionary when I was four years old, so I grew up very aware of definitions. And "rock 'n roll" is a hard term to define.

    Before pandemic, I went on a trip overseas. When I came back, the customs officer handed me my passport and said, "Rock 'n roll". When I think of rock 'n roll, a law enforcement professional conducting official business is almost the opposite. The concept, like "cool", got drained of meaning by commercial culture.

    Originally, the term comes out of gospel – "Rock my soul in the bosom of Abraham" – but church ain't rock 'n roll. It first started to get widespread use in music we wouldn't fully identify with it today. Before '57, "rock 'n roll" and "rhythm and blues" were interchangable.

    Listen to the original version of "Louie Louie", by Richard Berry and The Pharoahs. The song became the national anthem of rock 'n roll, but Berry's version has a smoothness instead of an edge. It was on its way to being forgotten if The Kingsmen and Paul Revere and The Raiders hadn't scored hits with their interpretations years later.

    In jazz, there's an unofficial group of songs, called "standards", you're expected to know by heart. A jazz "jam" session usually isn't improvised – they're playing "I Got Rhythm", "Heart and Soul", and so on.

    I put together a playlist of rock 'n roll standards. They have a lot in common, but very little is the same between all of them. They were all written between 1955-65, and they all sound like they go together. But other than that you can't say anything about the whole group: it's not all one race, one gender, all city or all country.

    It's a mix – the melting pot – that's what makes it exciting. It borrows the best from all the cultures.

    It's American music. Listen, the constitution doesn't say you have to like this music to be a citizen. But I think it would be tough to love America and not like this very essential part of its history at least a little bit. This is top-shelf, pure and uncut feel-good music. Do you not like feeling good, even a little, sometimes?

    Maybe that border cop was right. Maybe we should make it part of our national definition. The thing all the in-crowd and outcasts, mainstream and minority, oldtimers and newcomers can agree on.

    God Bless America, and God Bless Rock 'n Roll.