Flare Gun

Posted on Thu, Dec 22 2022 in Bob's Journal

I was a teenager, attending one of the annual youth conventions that my denomination held. The speaker for that evening told us a story:

A truck driver is driving along the highway at night, on his way to deliver his next load, when suddenly he sees a light in the distance. A second later, a blinding flare smashes into his windshield. The driver slams the brakes and jumps out of the cab to find the person responsible. He is furious. He runs to the guy with the flare gun and starts yelling at him. "What are you doing? I ought to beat you to a pulp." The guy responds that the bridge ahead has collapsed and the flare gun was his only way to keep the truck driver from driving into the ravine.

"This is you," the speaker informed me and my friends. "The bridge is out, and the people around you are barreling down the road of life, headed for a crash. What will you do to protect them from that fate? Is any action too extreme to save their souls from destruction?"

I took the message to heart. I carried my Bible to school every day. I highlighted the verses of the path of salvation in it, and marked each passage with the page number of the next step. I practiced walking through those steps in case I had the opportunity to share the gospel with my peers. I took the occasional barb from my classmates, but it was worth it. Like the truck driver, they didn't yet understand that I was saving them.

It took me two decades to realize this was a false analogy. In actuality I had been walking along the road when someone burst from the woods and handed me a flare gun. "The bridge is out ahead!" he shouted at me. "You have to prevent people from passing this point. Use this flare gun to stop them."

I dutifully began firing at oncoming traffic. Most of the vehicles sped by. A few slowed down to see what was going on, but they eventually kept going. I was a bit too excited to hear what they were saying, but I assumed it was something like "I really want to drive off a cliff and die."

Several hours into the night, when the traffic had slowed down, I began to notice certain facts that had escaped me at first. I hadn't seen a single emergency vehicle headed for the scene of the bridge collapse. Surely someone must have reported it by now. Even more troubling, I would occasionally see cars coming from the other direction. Unable to contain my curiosity, I began walking down the road. Somewhere on my trek I dropped the flare gun along the side of the road. I've been walking for an hour now and haven't seen any sign of a bridge.

To those of you who took a flare to the windshield, I'm very sorry. I was just doing what I was told I was supposed to do. To the guy who handed me a flare gun, please stop. To those of you still holding flare guns, I'm sorry it makes you feel bad that I dropped mine. Please don't shoot me with your flare gun. We can just talk. To all of you heading down the road, good luck. So far it looks just fine.

Elevating Others

Posted on Sat, Dec 17 2022 in Bob's Journal

[If you're not familiar with this year's FIRST Robotics Competition game, here's a short video introduction. It may be hard to understand the following without that knowledge.]

When I first started mentoring on the Krypton Cougars, they were, to be blunt, not very good. They were only in their second year and had limited resources. Through the years that I spent mentoring the team, I watched them slowly become an average team. Occasionally winning or doing well, occasionally doing quite the opposite, a team with growing name recognition, but at best only a competent support robot.

After more than a decade, though, with an impossible number of hours in the books, the Krypton Cougars have been to the world championship twice, most recently finishing on Einstein, the finals of the finals. It's been an exciting journey, even though I've only been able to watch the past few years from the sidelines.

Due to COVID, competitions had been closed to spectators and I haven't been able to watch them in person since 2019, so it was extremely exciting to finally attend Ramp Riot, one of their off-season events, this fall. The team did very well during qualifications, losing only one match and finishing second overall. As alliance captains they chose Roboforce, a competent shooter and with minimal climbing ability, as their first pick. Their second pick was Dawgma, chosen to serve as a defense robot and block scoring by the opposing alliance.

FIRST is trying out a new double-elimination format for their playoff matches this off-season. Before their first match could even start, Dawgma was working on their robot on the field, attempting to get it to connect to their control system. They did not succeed. Their robot never moved the entire match, allowing the opposing alliance to play double-team defense, and just like that the Krypton Cougars found themselves in the losers bracket, with a score of 81 to 94.

Dawgma was unable to repair their robot before the next match, so they were replaced by the highest remaining team, the PSIcotics, a robot that I had first taken note of early in the competition when parts of it started falling off during their match, but at least they could move. Our alliance won easily, staying alive for one more match.

The next elimination match was against the first-place alliance. It was a close match, particularly since all three of the robots on the opposing alliance were capable of climbing, while the only reliable climber on our alliance was the Krypton Cougars, but our alliance managed to stay alive 109 to 106. The following match the Krypton Cougars won handily, but PSIcotics began to have mechanical issues and spent the final minute of the match barely able to move.

Fortunately, by then Dawgma had gotten their issues sorted out, so they returned to our alliance for the final match of the losers bracket. The match started unexpectedly. Literally. Apparently someone accidentally triggered the match too soon. Fortunately, no humans were on the field at the time. The match was stopped and the robots were set up again. The actual match started extremely close, and our second shooter, Roboforce, died near the sideline almost immediately after the autonomous period. With Dawgma playing defense, the Krypton Cougars were the entire offense. The opposing alliance devoted a robot to blocking them the entire match. Trying to score as many points as possible, the Krypton Cougars ran out of time and didn't complete their climb. Fortunately, Dawgma was able to get on the bars, resulting in a final score of 80 to 79. Our alliance was going to the finals.

Now, unlike most double-elimination tournaments, there is a reset built into grand finals, making them best of three. We were now on even footing. During the timeout before the match, Roboforce was able to repair their machine, and the first match of the finals was a high scoring affair, as both teams focused on shooting cargo into the goal. With three functional climbing robots, our alliance was able to pull off the victory with a score of 115 to 105.

However, after the match, the programming mentor said "We're dragging a swerve module." Sure …

Continue reading

Is A Tomato A Fruit?

Posted on Sat, Dec 3 2022 in Bob's Journal

One of the popular gotcha questions in politics at the moment is "What is a woman?". It only has four words, and most of us can identify a woman with only a quick glance. It's used as the primary example of how the "leftists" are ignoring reality, letting their "woke" ideas cloud an obviously simple question. Yet any attempt to answer it turns out to be tautological ("A woman is someone who society accepts as a woman"), overly simplistic ("A woman is someone who can have children"), or tediously long ("Someone with two X chromosomes, plus those with this syndrome but excluding those with this disorder unless...")

This complexity is not limited to matters of gender. Almost everything we deal with on a daily basis suffers the same complications. A common example is the question "Is cereal a soup?" If we try to define the characteristics that make something a soup, we'll likely come to the conclusion that cereal fits the definition, even though we understand intuitively that they're very different things. Or we may overcorrect to suit our intuition and create ad-hoc restrictions that rule out things we know are soups.

The problem, if we want to see it that way, is that our minds are neural networks. We didn't learn what a chair was by being given a rigorous definition. Rather, we were exposed to thousands of examples of things called "chairs" until our brains were trained to recognize them on sight. Any attempt to clearly define a chair with a rigorous definition is post-hoc, and is likely to fall apart at the boundary between "chair" and "not chair".

This is where, in my opinion, a lot of philosophy goes wrong. It wants to break reality down into clearly delineated categories, and reality simply can't be mapped that way. Our artificial buckets serve many useful purposes. They allow us to deal with a complicated reality in a way that doesn't overwhelm us, but that convenience comes with a cost.

Our concepts are situational. What we consider a fruit is very different depending on if we're making a fruit salad or labeling the parts of a plant for botany. It's not enough to ask what something is. We also need to know why we want to know what something is.

In normal conversation we don't trouble ourselves with such rigor. If someone asks us to bring another chair for the dining room table we don't ask for clarification or drag over the nearest recliner. We intuitively use the purpose to arrive at the expected definition.

So, if someone decides to ambush you with "What is a woman," ask them what they hope to achieve using that definition.


Posted on Thu, Nov 24 2022 in Bob's Journal

It's Thanksgiving yet again, an increasingly controversial holiday. Like so many have before me, I'm going to ignore all that and just be thankful.

I'm thankful to you for visiting this site and reading my words, even if it's not on Thanksgiving.

I'm thankful to the countless mathematicians, physicists, engineers, and programmers who have given us the internet as we have it today. Without all of their often thankless work, so much of what I do to provide for my family would be impossible, or at least far less pleasant.

I'm thankful to all the doctors and nurses who, despite increasingly unhinged conspiracy theories about their motivations, have kept on doing what they can to keep their patients safe.

I'm thankful to the teachers and librarians who carry on educating everyone who wants to learn, even if that's being made increasingly difficult by those who don't understand education.

I'm thankful to all of the election officials who continue to make sure that democratic elections can be carried out despite increasing distrust and polarization. I'm even thankful to all of the candidates that made election denial a part of their campaign and yet have conceded when it's become clear they've lost.

I'm thankful to the remaining reporters and media outlets who care more about distributing accurate information than pushing an agenda, and are willing to publish true information regardless of who it will benefit.

I'm thankful to the artists, poets, authors, musicians, songwriters, actors, and filmmakers who invest their time and talents into crafting beautiful pieces of art for others to enjoy.

I'm thankful to all the firefighters, EMTs, and social workers who have dedicated their lives to salvaging terrible situations.

I'm thankful to scientists in so many different fields who continue to push forward our understanding of the universe around us, and open the doors to ever greater discoveries. I'm especially thankful to those scientists who use their expertise to help humanity have a reason to be optimistic about the future.

I'm thankful to every person who has the opportunity to act selfishly and instead acts in the interest of others. No matter how small, it's these acts of love and cooperation that give me hope that there are bright days ahead.

Thank you.

Animal Cruelty

Posted on Tue, Apr 6 2021 in Bob's Journal

Every morning, when I pull my shaving cream from the medicine cabinet, there is a picture of a small bunny on the side of the can. Under the picture are the words "Cruelty free". That is my daily reminder that somewhere out there, a shaving cream company is shaving bunnies.

Chesterton's Fence

Posted on Fri, Apr 2 2021 in Bob's Journal • Tagged with software

There is a guiding principle of second-order thinking explained by G. K. Chesterton in his book The Thing.

There exists in such a case a certain institution or law; let us say, for the sake of simplicity, a fence or gate erected across a road. The more modern type of reformer goes gaily up to it and says, “I don’t see the use of this; let us clear it away.” To which the more intelligent type of reformer will do well to answer: “If you don’t see the use of it, I certainly won’t let you clear it away. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to destroy it.”

While Chesterton was thinking of social structures, this is a good principle in many areas, including computer software. Many of us in the early days of our programming careers (because of course, we've all learned our lesson and never fall for this anymore) come across a line of clearly useless code. Its removal would improve readability and have no negative impact, and so it is discarded. Only later did we discover that that piece of code was instrumental in preventing some error we hadn't even realized was possible.

After a few such encounters, a programmer tends to become superstitious about such sections of code. If you don't have the time to understand it deeply (and in the modern business world, who does?), you just leave it alone and hope for the best. To return to the fence analogy, we could remove the fence, but that would mean taking responsibility for understanding it. Maybe it really could be removed. Maybe a speed bump or warning sign would be more appropriate, but it's hard to say. Instead, the enterprising programmer leaves the fence in place, but jams a stick in the hinges to hold the gate open.

The drivers are delighted that they can now barrel down the street without having to stop and open the fence, until that fateful day when the stick breaks or wiggles loose and the fence slams shut in front of a car traveling at fifty miles per hour.

The next programmer comes along to investigate the wreck and he isn't looking at the fence anymore. Now, he wants to understand the stick. After considering it a while, he decides he needs a stronger stick, or one that's differently shaped. Or perhaps he just needs to use some glue to hold the stick in place better. When that fails, more modifications are made to the stick, and eventually modifications begin being made to those modifications.

Finally, someone gets sick of this mess with the pile of twenty sticks held together with twine, mud, and glue, and reroutes the traffic along a mud path alongside the road. Of course, this path is more treacherous and we need a way to make traffic stop and consider the road ahead of them carefully. So a fence is added.

The Great Race

Posted on Mon, Jul 13 2020 in Bob's Journal

Recently I had the chance to spend some time with my brother and his family at a nice house with a creek running nearby. Soon the kids and adults were splashing around in the water. Someone, possibly my brother, suggested to the kids that they have a boat race. They would pick a boat and float it down the stream, and see which one reached the finish line first. I stood downstream to catch the boats before they drifted away to the sea.

Having no actual boats, it was up to each child to select their water craft. Miranda selected a long grass-like blade from a plant, which she was quite confident would be the fastest boat. Her oldest cousin, Eva, selected a leaf. After some consideration, she connected it to another leaf with a stick. Upon further review, she removed the stick and returned to her single-leaf design. Eva's younger sister, Mya, selected a charred piece of wood from the fire pit. Jay, the youngest and only boy, selected a rock.

His dad, a teacher, laughed, and pointed out to Jay that his rock would not float. Jay pondered this for a moment before agreeing that it would be better to switch boats. He chose a different rock.

The charred wood won.


Posted on Sat, Feb 15 2020 in Bob's Journal

Our congregation has started out the new year with a series about the parables in the book of Luke. This is right up my alley, and last Sunday we tackled the parable of the Good Samaritan. Since we're supposed to sit quietly and not ask questions, I have a lot of pent up ideas. Fortunately, I have a website.

For those of you who don't trust me, you can find the full text in Luke 10:25-37, but I'm going to rehash it here. An expert in the law asked Jesus "What must I do to inherit eternal life?" This may be the earliest recorded instance of someone asking this question of a Rabbi, but it became very popular as Jewish eschatology advanced in the following centuries. Jesus, being a proper Rabbi, returned the question to the expert, treating the expert as his student. The man was not deterred and answered "Love the Lord with all your heart and your neighbor as yourself." Jesus praised the scholar, but the scholar was only coming to his real point. "And who is my neighbor?" he asked Jesus.

This question might seem strange to us, but to the culture of Jesus's time it was a big deal. They were trying to maintain their cultural identity and their unique relationship with God. To do that, you needed to associate only with like-minded people, and Jesus seemed to have a problem with that. He wasn't sticking to the devout Jews only, but had picked up a following of sinners and tax-collectors, and there was some concern that he might even have dealings with less savory characters like Samaritans or Gentiles.

So Jesus tells a story. "A man was going down from Jerusalem to Jericho (probably to avoid going through Samaria), when he was attacked and robbed. His body was left broken and barely clinging to life along the road when a priest, on his way to the temple, passed by. He saw this man and his plight, and quickly crossed to the other side of the road and continued to Jerusalem. Soon, a Levite, also heading for his duties at the temple, came along. He likewise saw the suffering man and crossed the road to avoid him. Finally, a despised Samaritan came up the road. He saw the beaten man and had compassion. He tended the man's wounds and carried him to safety. "Who was a neighbor here?" asked Jesus.

The expert in the law could only reply "The one who had mercy on him."

In the sermon last Sunday we heard about the importance of caring for those in need. We even heard about the need to avoid racism and xenophobia, important messages at times such as these. Yet I cannot believe that was the point of the story Jesus told. I just think the real meaning is something we have a little trouble talking about in Christian circles.

The story is not, as we might hope, about a Jew reaching out to help a struggling outsider. This is a story about the Kingdom of God and how to live out God's will, and like most of Jesus's parables the problem is religion. All Jews knew they should love their neighbor, and this man who was beaten and left for dead was certainly a neighbor in need. The problem was that there were other laws that superseded helping someone in need. In particular, people doing holy jobs, such as this priest and Levite, needed to maintain their purity to do their jobs. Touching a potentially dead body or getting contaminated by blood would rendered them unfit for service. In order to maintain the temple this suffering man had to be left to die. It was only the Samaritan, with no theological statement to make, who could actually get down and help the wounded.

The message to the expert in the law, and to us, is to stop worrying about keeping up our holiness and get down into the trenches with those who are in need. Jesus was not opposing God by reaching out to the unclean of his society. He was doing his will.

I think the relevance of this message is hard to …

Continue reading

The Cat of Unintended Consequences

Posted on Thu, Oct 17 2019 in Bob's Journal

My parents live back a series of gravel roads in the lower foothills of the Appalachian mountain range. Their next door neighbor is a country song come to life. He lives in a trailer. His wife left him. His dog died.

To make matters worse, his son and his son's wife had been living in his trailer. He started building a barn-like structure behind the trailer for them to live in once their baby was born, but after the birth of their child and associated domestic squabbles, both left, leaving behind a half-completed structure and five cats.

Not being a man familiar with the concept of house cats, he has done the best he could, setting out boxes with straw in them, and placing food out for them regularly. However, the cats are left, as cats often are, to wander freely wherever their feline desires lead.

The other weekend we went to visit my parents, and while we were playing around their house, Miranda discovered the joys of perspective. She would run near and far, yelling to ask us if she looked bigger or smaller from each new place.

This commotion attracted the attention of one of the cats, who crossed the field between the houses and began to rub against Miranda's legs. Now Miranda loves cats, and to have a cat that actually wanted to play with her was a dream come true. She and the cat spent the afternoon playing hide-and-seek around my parent's house. She even got down on the ground to be more like the cat. My dad found some old dog treats in his house (a story for another day) and let Miranda give them to the cat. Miranda had the time of her life.

But, all good things must come to an end, and eventually it was dinner time. The cat was left to return to its wanderings, and Kelly made sure Miranda washed her hands extra well.

While we were eating, the cat found its way to the glass door by the kitchen table, and began meowing and clawing at the screen door. It wanted its new little human friend to come back out and play, but it was already late and we had to be up early the next morning, so the cat was left without its playmate.

The next morning I got up at six. I went to the kitchen to get a cup of water, and the cat jumped up outside the kitchen door. Finally, the humans were awake and its friend would come back soon, but it was not to be. As we were loading our car for a trip into Pittsburgh, the cat jumped into the driver seat, and had to chased out by Kelly. We left, hoping that the cat would realize that Miranda wasn't going to be around that day.

While we were away, the cat decided that it had found a new home, and bedded down under the steps to the kitchen door. My dad chase the cat out, and blocked off the space under the steps. When we returned late that night, the cat was sleeping under my dad's truck, and jumped into the back seat next to Miranda when I opened the door. I pulled the cat out, and we went inside.

Unsurprisingly, the cat was still outside the house the next morning. We went to church, and the cat was waiting for us when we returned, despite the weather having turned rainy. The cat was still there when we returned again late that evening.

The next morning it was time for us to head back home, and cat watched from under my dad's truck as we pulled away. That cat is still at my parent's house, pining for its little friend, over a week later.

Pleasing God

Posted on Thu, Jul 25 2019 in Bob's Journal

Since God is a father, maybe it would make his day to see his children playing nicely with the other kids, being patient, growing, learning, and happily spending time with him.