What Mister Rogers Still Teaches

Some of my best childhood memories have a cardigan and a pair of blue sneakers in them. I grew up with Mister Rogers, and I have never really outgrown him. Every so often I still find myself reading about the man or pulling up one of his old videos, and the one I return to most runs less than seven minutes and took place nowhere near the Neighborhood.

On May 1, 1969, Fred Rogers sat down in front of the Senate Subcommittee on Communications. President Nixon wanted to cut public broadcasting funding in half, from twenty million dollars to ten. The chairman, Senator John Pastore, had never seen the show and was not in a patient mood. Most people go to Washington armed with statistics and prepared statements. Rogers spoke about his work and the children it served in the same unhurried voice he used on television, and he closed by reciting the words of a song he had written about helping children handle anger.

When he finished, Pastore said, "I think it's wonderful. I think it's wonderful. Looks like you just earned the $20 million." Congress went on to authorize the full twenty million. You can watch the full exchange on YouTube, and I would encourage you to. It may be the most effective seven minutes of persuasion ever filmed, and there is not a raised voice in it.

Here is what strikes me about that moment. We remember Fred Rogers as soft, and we forget that he was formidable. He was an ordained minister who saw television as his ministry. He held a degree in music composition and wrote hundreds of songs. Every word on his program was weighed and deliberate. The gentleness was not the absence of strength. It was strength, aimed carefully. He won over a skeptical chairman not by arguing harder, but by refusing to be anyone other than himself.

Two books shaped how I understand him, and both sit on my reading log. The Good Neighbor by Maxwell King tells the full story of his life and how much discipline sat underneath all that calm. The Simple Faith of Mister Rogers by Amy Hollingsworth looks at what was driving it all. Rogers rarely mentioned God on the air, but he described the space between the television set and the viewer as "holy ground." He treated a children's show like sacred work, and it showed in every frame.

Rogers once told a young journalist that "deep and simple is far more essential than shallow and complex." I think about that line a lot, and not just as a dad of three. It applies to how we write software. It applies to how we talk about our faith. It applies to just about everything worth doing. We live in a loud time, and the temptation is to believe that louder is how you win. Fred Rogers is less than seven minutes of evidence that it is not.

He has been gone more than twenty years, and he is still teaching. That might be the most remarkable thing about him.

Why I Still Choose Dapper Over Entity Framework in 2026

I have been writing .NET applications for nearly thirty years, and one of the first decisions on any new project is the data access layer. My answer has been the same for a long time: Dapper, with parameterized T-SQL. Not Entity Framework. Here is why, and it is probably not the reason you expect.

It is not really about performance. Dapper is fast, sitting close to raw ADO.NET, but EF Core has closed most of that gap over the years, and Microsoft documents the tuning work honestly. If raw speed were the whole argument, this post would be out of date already.

The honest reason is control. I have spent as much of my career inside SQL Server as I have inside C#, and SQL is not a problem I need to be protected from. When I write the query myself, I know exactly what is going to hit the database, which indexes it will use, and what the execution plan looks like. When something is slow, I tune a query. I do not reverse engineer what a LINQ expression decided to generate on my behalf.

Dapper was built by the team at Stack Overflow to run Stack Overflow, and it shows. It does one job: run your SQL, map the results to your objects, and get out of the way. The whole library is small enough to actually understand, which is a quality I have come to appreciate more with every year in this business.

To be fair, Entity Framework is a good tool, and I am not here to start a war. If your team lives in LINQ, your schema follows your code, and you lean on migrations, EF Core will serve you well. But my world is usually the opposite: databases that outlive the applications written against them. Just this year I rewrote a web application from 2013 onto .NET 10, and the production database did not change at all. The schema came first, and Dapper never once got in the way of that.

Boring and predictable is not a criticism of a data access layer. After thirty years, boring and predictable is exactly what I want sitting between my application and my data.

Why I Stopped Blogging (and Why I'm Back)

My last post here was January of 2018. Seven years is a long time between posts, so this one comes with a little explaining.

The short version is that life got full. I got married. Two more kids came along, which brings us to three. My walk with Christ kept deepening. I kept reading, a lot, and I kept building things. I rewrote MySafeInfo from the ground up, and I launched My Family Devotion, a free devotional for families to read aloud together.

Not all of it was easy. In February of 2023 I was diagnosed with kidney cancer. I had surgery that March, and I have been cancer free ever since. I will not go into the details here, but I cannot tell that part of the story without gratitude. God carried my family and me through it.

Somewhere in all of that, blogging quietly fell off the list. But I never stopped having things I wanted to say. So I am picking the pen back up, with a few changes. Posts will be short. Some will be about programming, since that is how I have spent nearly thirty years of my working life. Some will be about apologetics and theology, since that is where my heart lives now. And some will just be about a book worth reading or an idea worth chewing on.

To everything there is a season, and a time for every purpose under heaven. (Ecclesiastes 3:1)

This is a new season. Glad you are here for it.

One Solitary Life

He was born in an obscure village, the child of a peasant. He grew up in another village, where he worked in a carpenter shop until he was thirty. Then, for three years, he was an itinerant preacher.

He never wrote a book. He never held an office. He never had a family or owned a home. He didn't go to college. He never lived in a big city. He never traveled two hundred miles from the place where he was born. He did none of the things that usually accompany greatness. He had no credentials but himself.

He was only thirty-three when the tide of public opinion turned against him. His friends ran away. One of them denied him. He was turned over to his enemies and went through the mockery of a trial. He was nailed to a cross between two thieves. While he was dying, his executioners gambled for his garments, the only property he had on earth. When he was dead, he was laid in a borrowed grave, through the pity of a friend.

Twenty centuries have come and gone, and today he is the central figure of the human race. I am well within the mark when I say that all the armies that ever marched, all the navies that ever sailed, all the parliaments that ever sat, all the kings that ever reigned, put together, have not affected the life of man on this earth as much as that one, solitary life.
- James Allan Francis, One Solitary Life

He Has Risen

It's around 5:00 AM in Jerusalem as I write this post, and all I can think about is the women arriving at the empty tomb of Jesus Christ.

The women were terrified and bowed with their faces to the ground. Then the men asked, “Why are you looking among the dead for someone who is alive? He isn’t here! He is risen from the dead!”
- Luke 24 5-6
Why are you looking among the dead for someone who is alive? Can you imagine that moment? Not even death could keep our Messiah from fulfilling His mission. I think about it all the time. Starting with the moment He prayed in the Garden of Gethsemane. Two chapters earlier in Luke 22:41 we hear "Then Jesus went about a stones throw away from them. He kneeled down and prayed." This was the final prayer of Jesus before He would be arrested, beaten, tortured, and sent to the cross. What's more remarkable is that He is praying for us. How do we know this? In Luke 22:42, Jesus asks God to take the cup of suffering away — yet when told "No", Jesus is still willing to go to the cross — for us!

Then I think about Jesus on the cross in Luke 23:34 when Jesus said "Father, forgive them, for they don't know what they are doing." Is that not representative of a Messiah that you want to follow? Christ Jesus praying for the men who tortured him, mocked him, and nailed Him to the cross.

Then in the Gospel of Matthew we read the following:

About three in the afternoon Jesus cried out in a loud voice, "Eli, Eli, lema sabachthani?" (which means "My God, my God, why have you forsaken me?").
- Matthew 27:46
This was a verse I used to struggle with. For the longest time I didn't take the time to understand what it meant, or why Jesus would cry out those words, or why God would forsake Jesus. But think about the moment Jesus took His final breath:

When Jesus had tasted it, he said, "It is finished!" Then he bowed his head and released his spirit.
- John 19:30
How was it possible for Jesus to feel that sense of abandonment? In that moment Jesus Christ took on all the sin of the world. Your sin. My sin. All sin. God simply had to look away for that singular moment when Jesus Christ carried the weight of all sin.

It's certainly worth noting that Jesus was also quoting Psalm 22:1, which is just further proof that He matched the prophetic fingerprint from the Old Testament of the coming Messiah . But we have to remember that Jesus was a human being, and this act of calling out to God was representative of our mortal struggle against death. Of course Christ wanted there to be another way. But there wasn't. We know that from Luke 22:42: "Father, if you are willing, please take this cup of suffering away from me. Yet I want your will to be done, not mine." Jesus didn't want to die. But that's what is the most remarkable part of it... He chose to die anyway.

But make no mistake, although God may have looked away as Jesus cried out and took His last breath, there was no separation between God and Jesus Christ. There simply was no other way to pay the debt of our sin. A perfect sacrifice was required. Jesus Christ was the only person who could save us. He lived the life we should have lived. He died the death we should have died. He saved us from the snares of hell and overcame death. Why? One word. Love.

Nothing we do will ever — ever —  and I mean ever, be sufficient to repay the debt that Jesus Christ paid for our sins —  yet He still pursues us relentlessly. He still extends grace and mercy to each of us. He still offers us all the chance to have a personal relationship with Him. Stop and think about that! You have the opportunity to have a personal relationship with Jesus Christ. All it takes is an invitation. And the invitation isn't from Jesus. It's from you! All you have to do is ask Jesus to be your Lord and Savior. To come in to your heart. It may not be easy. But it's that simple. And here's the best part. You don't have to have it all figured out to put your trust in Christ. It starts with a single act of obedience.

Taste and see that the LORD is good; blessed is the one who takes refuge in him.
- Psalm 34:8
As I reflect on the Resurrection this evening, I can't help but think about the lyrics to one of my favorite songs that we sang tonight at church, and when I say "sang", picture a thousand people standing and worshiping in awe, at the grace, mercy, and love that Christ showed for us when death was arrested and my life began.

Death Was Arrested
https://www.youtube.com/watch?v=m1fEJC0JtBw

[Verse 1]
Alone in my sorrow and dead in my sin
Lost without hope with no place to begin
Your love Made a way to let mercy come in
When death was arrested and my life began

[Verse 2]
Ash was redeemed only beauty remains
My orphan heart was given a name
My mourning grew quiet my feet rose to dance
When death was arrested and my life began

[Chorus]
Oh your grace so free
Washes over me
You have made me new
Now life begins with you
It's your endless love
Pouring down on us
You have made us new
Now life begins with you

[Verse 3]
Released from my chains I'm a prisoner no more
My shame was a ransom he faithfully bore
He cancelled my debt and he called me his friend
When death was arrested and my life began

[Verse 4]
Our savior displayed on a criminal's cross
Darkness rejoiced as though heaven had lost
But then Jesus arose with our freedom in hand
That's when death was arrested and my life began
That's when death was arrested and my life began

[Chorus]
Oh your grace so free
Washes over me
You have made me new
Now life begins with you
It's your endless love
Pouring down on us
You have made us new
Now life begins with you

[Bridge]
We're free free
Forever we're free
Come join the song
Of all the redeemed
Yes we're free free
Forever amen
When death was arrested and my life began
(2x)
When death was arrested and my life began
That's when death was arrested and my life began