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 never really outgrew him. I still read about Fred Rogers from time to time, and occasionally I pull up an old clip. The one I return to most did not take place in the Neighborhood at all. It happened in Washington and lasts about seven minutes.

On May 1, 1969, Rogers appeared before the Senate Subcommittee on Communications. The Nixon administration had proposed reducing a twenty-million-dollar public broadcasting request to ten million. Senator John Pastore, the chairman, had never seen Rogers's program and seemed ready to move things along.

Rogers did not try to match Washington's usual style. He spoke plainly about his program, the children who watched it, and the importance of helping them understand difficult feelings. Near the end, he recited the words of a song he had written about anger: what children can do with the mad that they feel.

When he finished, Pastore said, "I think it's wonderful. I think it's wonderful. Looks like you just earned the $20 million." Congress later authorized the full amount.

You can watch the complete exchange on YouTube. I recommend it. Rogers never raises his voice, never hurries, and never tries to overpower the man across from him. He simply explains why the work matters. By the end, Pastore is listening differently.

That exchange changed the way I think about Fred Rogers. It is easy to remember the soft voice and miss how formidable he was. He was an ordained minister who regarded television as his ministry. He earned a degree in music composition and wrote hundreds of songs. His program may have looked effortless, but it was anything but casual. The words, the pacing, and even the silences were considered carefully.

His gentleness was not passivity. He knew what he wanted to say, and he did not let the setting turn him into someone else.

Two books helped me understand that side of him, and both are on my reading log. The Good Neighbor by Maxwell King tells the larger story of his life and shows how much discipline supported the calm we saw on television. The Simple Faith of Mister Rogers by Amy Hollingsworth explores the faith behind his work.

Rogers rarely spoke explicitly about God on the air, but he described the space between the television set and the person watching as "holy ground." That explains something about the care he brought to the program. He was not merely producing children's television. He believed what happened in that space mattered.

Rogers once told a young journalist that "deep and simple is far more essential than shallow and complex." I return to that line often. I think about it as a dad of three, when I write software, and when I try to talk honestly about faith. Complexity can make us sound impressive. Volume can make us feel persuasive. Neither guarantees that we are saying anything worthwhile.

Fred Rogers has been gone for more than twenty years. I can still watch those few minutes in Washington and learn something from him. That may be the most remarkable part of his work: he is still teaching.

Why I Still Choose Dapper Over Entity Framework in 2026

I have spent nearly thirty years building software on the Microsoft stack and have worked with .NET since its early days. Whenever I start a new application, I eventually face the same question: how should it talk to the database?

For a long time, my answer has been Dapper and parameterized T-SQL rather than Entity Framework. That choice is not based on a belief that Entity Framework is slow.

Dapper is fast and stays close to raw ADO.NET, but EF Core has improved substantially over the years. Microsoft also provides extensive guidance for finding and fixing performance problems. For most applications, the difference between the two is unlikely to be the deciding factor.

I choose Dapper because I want control over the SQL.

I have spent a large part of my career working directly in SQL Server, so writing a query does not feel like plumbing that ought to be hidden from me. I want to see the statement the database receives. I want to examine its execution plan, understand how it uses the available indexes, and tune it when necessary. With Dapper, the query in my code is the query I investigate when something runs slowly.

That is a better fit for the way I work than starting with LINQ and then examining the SQL generated from it. EF Core provides tools for doing that, of course, but it adds a translation step that I usually do not need.

Dapper originated at Stack Overflow and was built to solve the sort of data-access problems Stack Overflow encountered in production. Its role is deliberately limited: it executes SQL and maps the returned rows to objects. It does not try to manage the database for me.

I also like that Dapper is small enough to understand. When a library sits between an application and its data, being able to follow what it does is valuable. That has become more important to me, not less, as my projects have grown older.

None of this makes Entity Framework a bad choice. A team that prefers LINQ, designs its schema alongside its object model, and relies on code-first migrations may be more productive with EF Core. It provides useful features that Dapper intentionally does not.

Most of the systems I work on have a different history. Their databases tend to outlive the applications that use them. This year, for example, I rewrote a web application originally built in 2013 and moved it to .NET 10. The production database did not need to change. A new application was simply taking its place in front of an existing schema, and Dapper handled that arrangement without trying to redesign it.

That is why I continue to use it. Dapper is not the most ambitious part of the architecture, and I do not want it to be. I know what SQL it will execute, I know where to look when a query misbehaves, and I can replace the application without asking the database to follow it.

For a data-access layer, boring and predictable are useful qualities. After this many years, they are the qualities I value most.

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, 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 fell off the list. But I never stopped having things I wanted to say. So I am picking 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