Calling Long Distance

Hey, it’s Evan…

Oh, hey! Listen, I can’t answer the phone right now, but if you leave your name, number, and a message, I’ll call you right back. Thanks!

My first voicemail greeting

Evan! It’s… me? You? There’s time travel involved. Or something. But it’s 2022 right now and… I need you to know something. Something I wish I had learned 20 years ago, so I’m telling you.

You are being lied to.

(I mean, the alarmists and Bush’s haters do have a point, but I’m not talking about Iraq.)

No, this is much more insidious than that. This lie goes back generations, over a thousand years. It is a lie almost as old as Christianity itself.

Because if you can’t stop a revolution, you co-opt it. You twist it so that even though things are changing, even though there’s massive upheaval, you still have what you want.

Why did the Rich Young Ruler go away sad? Because he didn’t want to give up what he had: his comfort, his possessions, his status.

And why were Jesus’ followers so disappointed in him? Because he wasn’t going to put the Jews back over the Romans. He was all about having the Jews and the oppressed force their oppressors to see them as human. That’s where the shirt and coat thing, that’s where the “turn the other cheek” thing comes from: it’s not being passive, it’s forcing the person to see what they are doing to you, what their group is doing to you.

And for a little while, we got it. Look at the first few chapters of Acts, how they took care of each other, sharing what they had and giving what others needed.

And how there was no room for hoarding possessions there, because hoarding what you didn’t need was antithetical to the Gospel. And there was no room for amassing power because we’re all equal in the eyes of God.

And this was a movement, a revolution. It was an idea. It wasn’t something you could stop by killing someone. Or even lots of people.

Now, I want to make my metaphor clear here: being rich, as in the Rich Young Ruler, is about hoarding. It’s about having more money than you need to live or even be comfortable. It can also be about power, about influence, about authority. It’s about having so much of those that others have to go without because of you.

The disparity between the rich and poor is really bad in my time, but I think it’s still pretty bad in yours. Look at how many people don’t have food, shelter, basic needs, and then look at how many rental properties sit vacant. I know you’re not a fan of welfare, but look at how someone can still be working and need welfare. And then look at how much the owners of that company make.

But it’s not just that! Look at those in authority: how much of what they do is taking care of people, and how much is to bolster their own authority? How many with influence and prestige hesitate to use it for fear of losing it?

And that brings us back to the lie. It didn’t start with Emperor Constantine, but he sure codified it. And it’s infested and grown and latched onto and leeched off of the Church, and it’s been cut back at times but it’s clever and it’s insidious and it finds new ways to bury itself in us, and you are not immune. You are not immune to it!

It has fully infested your culture. I don’t mean the culture you are ”fighting” against; I mean the culture of church-going, praise-and-worship-music-business, family-friendly media, end-times-are-coming ”Christianity.” It is a culture, same as everything else.

And that culture will tell you that a camel can pass through the eye of a needle if it contorts itself juuuuuuust right. And that is a damnable lie.

You cannot follow Jesus while seeking power, seeking influence, seeking wealth, seeking authority. You cannot. Anyone who says otherwise is selling something.

You would wear The Ring to try to do good, and it will only corrupt you.

Jesus didn’t tell us to watch out for creating dependency. He told us to help the poor. He didn’t tell us to keep from rewarding sinful behavior. He told us to help our neighbors, no matter who they are. He didn’t tell us to fight a culture war. He told us to love our enemies. And you know this. You know all of this.

And I am begging you now, put that into practice. And do it fearlessly. Don’t worry about being the ”right” kind of Christian; just be Christ-like. Don’t conflate morality and outward appearance with where someone’s heart is. I’m going to say this again, because you need to hear this the most: there are more Christians around you than you realize because you currently have a very narrow view of what a ”Christian” is.

Every person is a person, even if they’re straight or gay, conservative or liberal, attend the “right” church or ”wrong” church or no church at all, whether they’re squeaky clean or curse like a sailor. Everyone is someone, and they all have something to teach you. I’m begging you not to be closed to that.

Listen, I know how important it is for you to get the right answers, I know how much you want to do the right thing. That’s not a bad thing. But it is causing you to see enemies where there are none. And it’s keeping you from listening to and being changed by and truly loving your friends. Your neighbors.

Now, I’m not saying you’re being deliberately lied to. But when that ancient lie has infested so much of what you’ve learned, then everything you know is wrong.

You don’t believe me. Why would you? I mean, Jesus himself said a call like this is useless. So no, I don’t think this is going to change anything, at least for us. Maybe it’ll plant a seed somewhere, though. Maybe there’s someone in my time that needs to hear this just as much as you.

So I’ll leave you with this: watch out for grouping and judging a mass of people. Gay people, liberals, pro-choice women, feminists, poor people, immigrants, migrants, Catholics; remember that everything you say and believe about them affects actual, individual people. People that you know or will know.

And it is neither weakness nor unfaithfulness to have your convictions changed because you love your neighbor.

Because with grace, with forgiveness, with love, there is no ”us” and ”them”; there’s only you and your neighbors.

So love God, and love your neighbor. Everything else—everything else—is extra.

…hey, I gotta go. I’m running out of change. Just know there’s a lot of things that if I could, I’d rearrange.


Introducing Grimoire

TL;DR: I’m building Deckbox but for Pokémon cards. Headless WordPress app with a Next.js/React frontend. You can browse the catalog now; you can also request a beta invite if you want to try it out. Want to learn more? Read on!

My first job out of college was for Blackbaud working on their next-generation platform. It was a software-as-a-service built with an API-first design: every action taken by a user, even through the official app, went through the API. During my time there, the primary app went from a Windows application to a Javascript application (something that made my Mac-loving heart happy), and this was possible because the user interface was decoupled from the application logic.

I think this architecture has stuck with me more than I realized. As headless WordPress took off, I had the chance to learn how to properly build a API-based application. Now all I needed was a problem to solve…

A problem like the massive amount of Pokémon cards in my collection. I’ve started selling some of them on TCGplayer, and while they have a decent app, it didn’t quite fit my needs. I needed an application I could store my catalog in and quickly check it for cards that have increased in value. It also needed to be able to tag different versions of the same card for when it came time to build a deck.

I’d worked on something for this before, even wrote a blog post about it, but now it’s time to finish the job. To that end, let me introduce Grimoire.

Yeah, it doesn’t look like much. In the interest of finishing, this is a minimally viable product. In this case, lots of Bootstrap. But let me show you what there is!


The Optimist Still Laments

In September of 2020, I published a song called “The Optimist’s Lament” that was one-half a listing of everything going wrong with the world and one-half a desperate prayer to God to help. Today, I lament more.

Today, right-wing insurrectionists stormed the capitol of my country in an attempt to stop the certification of an election. This is horrible. Yet what hurts me the most here is seeing the multiple instances of Christian imagery in the attack.

Check the “Proud American Christian” in this flag:

via Anthony B. Bradley / @drantbradley on Twitter

Or the more classic Christian Flag in the background of this one:

Image may contain: one or more people, beard, hat, closeup and outdoor
via J. M. Giordano photo / @jmgpix on Twitter

And I’m not surprised. Honestly, I’m not even angry anymore. Just sad. I’m sad that my faith—the part of me that I can hold on to when literally nothing else makes sense—is used in this way.

I was angry about this once. But this already happened in 2020:

After having police and National Guard units disperse protestors with flash-bang and tear gas munitions, President Trump posed for media with a bible in front of St. John’s Church.
via Doug Mills / The New York Times

Not to mention 2016:

via Christianity Today

But this is just politics. It goes all the way back to the late 70’s where many prominent Christian leaders were galvanized into politics by the Supreme Court verdict in Roe v. Wade the loss of tax exemptions by Bob Jones University based on their segregationist policies:

Although a few evangelical voices, including Christianity Today magazine, mildly criticized the [Roe v. Wade] ruling, the overwhelming response was silence, even approval. Baptists, in particular, applauded the decision as an appropriate articulation of the division between church and state, between personal morality and state regulation of individual behavior. “Religious liberty, human equality and justice are advanced by the Supreme Court abortion decision,” wrote W. Barry Garrett of Baptist Press.


The IRS was not placated. On January 19, 1976, after years of warnings—integrate or pay taxes—the agency rescinded the school’s tax exemption.

For many evangelical leaders, who had been following the issue since  Green v. Connally, Bob Jones University was the final straw. As Elmer L. Rumminger, longtime administrator at Bob Jones University, told me in an interview, […] “That was really the major issue that got us all involved.”

Randall Balmer, “The Real Origins of the Religious Right,” Politico

But I don’t have the energy to be angry about that. Because while some have been using the name of Jesus to justify abhorrent political views like locking undocumented immigrants in literal cages or promoting the rich at the expense of the poor, others have just been using symbols of Christianity to justify… stuff.

Picture of the founder of My Pillow with his cross necklace enlarged
via MyPillow
via DaySpring

So yeah. I don’t have the energy to get angry about images of Christ’s sacrifice—the time that the crowd chose to execute an innocent man instead of the violent insurrectionist—being used to sell a fascist coup.

I don’t even have the energy to get angry about images of Christ’s sacrifice—the entire means by which I can gain some hope in this bleak life—being used to sell questionable political beliefs.

Because I spent too much energy fighting off images of Christ’s sacrifice—an event so traumatic Jesus literally sweat blood in anticipation of it—being used to sell sub-par, half-quality merchandise that I’m “supposed” to buy instead because it’s “Christian.”

So yeah, I’m sad. Sad that the symbols of my faith, rather than being a sign that I am welcome and safe, are now warnings for me to stay away.


Looping Background Music With Intro in Godot Engine

Title is a mouthful, right? But this is something I’ve been trying and failing to find a clear answer to for months. Now that I’ve found the answer, time to take Sal‘s advice and write a blog post.

The Basic Idea

You’re making a video game. You’re using Godot because you like open source and free stuff. You’ve got some kick-awesome background music because, well, reasons. And while you can get a good loop out of the music, you’d still like to have an introduction to the music.

Background music with an intro is pretty standard in most video game music. Take a listen to “Green Hill Zone” from… well, every Sonic game ever. But particularly Sonic Mania.

Notice how when the music loops at 0:53, it doesn’t go all the way back to the beginning but instead loops from partway into the music? This helps set the stage for the level’s atmosphere and provide a more natural feel to the music.

It’s also a feature we’ve come to expect as players, so if you can do it in your game it’s a good idea. So how do we get it in Godot?


Given the current consternation around social media, it has become more important to get the Smolblog project off the ground in a significant way. So here goes…

Follow along on GitHub


Retroactively Sign Git Commits

It’s a classic situation. You’re contributing to a project, filed your pull request, and gotten it approved by your peers. You’re all ready to merge your code and add your humble contribution to the project when, out of nowhere, GitHub gives you this:

GitHub error: Merging is blocked: The base branch requires all commits to be signed.

How do you go about doing this, especially when you’ve already committed your work and pushed it to the server? How do you retroactively sign your Git commits? We’ll do this in six steps:

  1. Gather Information
  2. Install GPG
  3. Create or use a key
  4. Set up Git to sign commits using GPG
  5. Rebase your commits
  6. Overwrite your branch with your newly signed commits

There’s a lot to unpack, so we’re going to need six steps. Also, these instructions are for macOS; Windows and Linux users may have different commands.

Read more on »


Fixing oEmbed With a Custom Provider

The story of my blogging career over the past few years could be summed up as, “How I Learned to Stop Worrying and Love the Reblog.” There’s something that’s so much fun about finding something cool and sharing it on my blog without worrying about saying something poignant or ultimately meaningless in an effort to “add to the conversation.” Sometimes it’s enough just to amplify the conversation, or share that video.

This is why I’m so excited about oEmbed. It’s a standard API that takes a given link and turns it into an embeddable… thing. It’s most commonly known as “that thing that turns a YouTube link into a video,” but the underlying technology can be used for any web page. This includes sites like Reddit, Twitter, and Imgur, as well as blogging sites like Tumblr and, yes, WordPress.

Read the rest on WebDevStudios »


Hashing a Custom Taxonomy

I have a confession. I like Pokémon.

It’d really be more accurate to say I never stopped liking it. Sure, there was that point when it wasn’t “cool” anymore and I was too busy trying to be “cool,” but this is the kind of thing that just sticks with me. So, naturally, I’ve built up a collection of Pokémon cards. And what does someone like me do when they have a collection of something?

Build a WordPress-based database site for cataloging it, of course! This is where hashing a custom taxonomy comes into the picture.

Read more on »

Best Of Introspection

Introducing Smolblog

Around the end of last year, I wrote an essay about what made Tumblr unique in the blogging world, followed by another essay about different technologies that can be used by a blog platform. And then I did nothing.

Well, not nothing. I went and got a new job. I also started sketching out some more concrete ideas. And while I want to be farther along in the actual development of things, I also want to start getting feedback on the ideas themselves.

Full disclosure: I’m great at talking about ideas, but I’m still learning to actually execute on them. Which is kinda disappointing, since the execution is where so many ideas go from "good" to "awesome." So, bear in mind, this is an idea. It may not get very far, it may not get very good, it may crash and burn spectacularly. But these are problems I have wanted to solve for myself, and if I can help solve them for others, then I feel that I must try. So with that, let me announce…


Technology Cannot Make a Platform, But It Does Help

The web literally exists to share content. The first web browser was also a web editor. And ever since then, programmers have been working on ways to make publishing easier and better. As such, there’s no shortage of existing technologies that a new platform can build off of.