Blog

#featured

Subgrid Changes Everything

For the frontenders out there, you’ve likely seen the news. Subgrid has shipped. It came to Firefox back in 2019, to Safari last year, and now Chrome has shipped it. If you haven’t been following, let me catch you up.

Tables

I got my starts in web development back around the turn of the century. Which was not that long ago. Promise. In those *barf* 20+ years, I have seen every major shift in how we lay out websites. When I started, we used tables still. It was gross, but we had no choice.

See the Pen Table Layout by James Finley (@thefinley) on CodePen.

For a table-based layout, you would start with a table to lay out your columns and rows and then nest child tables until you died in a nest of unmanagable code so you could get close to a complex layout. Luckily we never even considered people being on small screens back then.

Floats

At the end of the 1900’s— I just made a lot of people hate me— we got CSS and were told that it was for styling and format, while HTML was for semantics— describing the text and content of our page. Fair, but it had no true layout system. The closest it had was floats, which were really meant to allow you to have text wrap around an image. But we wanted a 6 column layout. So grid systems like 960.gs and Bootstrap were born to allow us to use utility classes to layout pages. Along with that, we entered an era where vertical was problematic— having all your columns match height in a row required very gross tricks. Oh, and clearfixes. Look it up if you need a refresher.

But, our HTML became a lot cleaner as we got to write less code and allow CSS to do it’s thing.

See the Pen Float Layout by James Finley (@thefinley) on CodePen.

Flexbox

For most of the 2000’s we got used to laying out pages using grid systems built on floats. At the end of the 2000’s, we got our next big shift: flex box. And right in time for the Responsive Web movement. Chrome rolled out support in 2010, Safari in 2008, Firefox in 2006. IE got it with version 10 in 2012, which truly opened us up to use it.

See the Pen Flexbox Layout by James Finley (@thefinley) on CodePen.

Flexbox getting solid support and version usage by 2013-2015 meant we could finally easily center things vertically and horizontally for the first time since tables. Over a decade of CSS and no real layout system, no we had one, but we also had grid right on the horizon.

Grid

IE was first to implement Grid in 2015 to the surprise of everyone. This was when Microsoft really started to show signs of caring for web developers and supporting standards with Edge 12. Where flexbox worked well for layout elements out in one dimension— either column or row— grid was a real, true two-dimensional grid system built right into CSS. March 2017 grid shipped in Chrome, Firefox, and Safari. All at once within weeks of each other.

See the Pen Grid Layout by James Finley (@thefinley) on CodePen.

Instead of needing complex utility functions that did math, we now could tell a cell in a grid to start at column 1 and span 3 columns. And this has been are last 6 years of web development. I’ve been in this game for 20 years. Grid is a beautiful thing.

But.

Subgrid

The original spec, from my understanding, included something called subgrid and it was dropped from the original release. You see in the demo above of grid, the grid can only be used by direct children of the element with display: grid. For grandchildren, they are out of luck. Remember us nesting tables back in the 1900’s? Yeah, we had to go back to that. You have a six-column layout with a cell taking up four columns of that. You want to have four items inside that each take up one column? Yeah, those items don’t know about the grid, so you have to establish a four-column grid on their parent and use the calc function to mastery to get your gaps to align. Subgrid was supposed to allow you to pass the grid onto the children of a grid cell.

And now we are caught up to the present. Subgrid has shipped. Browser usage stats are going up. The demo below will work in anything after Chrome 117, Safari 16, and Firefox 17. Edge will get it soon, from my understanding.

See the Pen Subgrid Layout by James Finley (@thefinley) on CodePen.

Now we can truly lay out pages where everything sits in one grid. Blocks on the page can be logically and semantically separated while not making layout complicated and can still internally rely on one grid.

See the Pen Complex Subgrid Layout by James Finley (@thefinley) on CodePen.

Each of these major eras of web layout have changed the way we think, the amount of code we write, and what designers are able to design. During the float era having three equal height columns was a PITA. Vertically centering something was too. Grid allows some truly complicated layouts that we are still not scratching the surface on, but in many ways it was hampered by the lack of subgrid support for the last six years. Subgrid changes everything once again and I am more than excited for this new era in web layout design.

When the enemy says I’m done, I’ll lift my praises
When my world come crashing down, I’ll lift my praises high
‘Til the darkness turns to dawn, I’ll lift my praises
I choose to worship, I choose You now

Sometimes the dark is darker than dark. But as Psalm 139 reminds us, “even the darkness is not dark to you; the night is bright as the day, for darkness is as light with you.” The darkness cannot steal my song. Nothing can. Storms, floods, armies, and persecution can try but none of it can take my song. Why? Because it comes from the Lord. The Lord that is over all. So, as Chris Llewellyn beautifully writes, “I build my alter right here and now. In the midst of the darkest night it won’t burn out.”

The phrase means different things to different people. By and large, it has been the way of the West of centuries. Put a different way, most areas of disagreement do not constitute separation.

We deal with this in the church all the time, where Albert Mohler divides theological arguments into three tiers. First tier issues being orthodoxy and worth saying “you are not a Christian” over. These are matters of heresy. Second tier issues are matters that divide denominations, such as paedobaptism. We agree that we are both Christians, but we might not be able to go to the same church together. Third tier are the, what I call, long-beard issues. These are topics that are fun to discuss and debate, but have no affect on our salvation.

I say this to say that we need to think about what hills are worth dying on and realize that the majority of hills are not worth such acts.

This leads us back to the phrase: agree to disagree. When we agree to disagree on a specific topic, sometimes that looks like leaving the topic lay, knowing there is disagreement and being okay with it. There are other topics to discuss, after all. Other times we respectfully continue conversation around the topic because of a mutual desire to understand people we disagree with.

But the truth of the matter is that the existence of agreeing to disagree means that there are topics we cannot agree to disagree on. See first tier topics. For a Christian, this doesn’t mean that you hate— or show any less love for— the person you disagree with, it just means the disagreement is on a topic important enough to cut certain ties— in the context of these disagreements, the tie is the church, this individual is not allowed to lead or participate in certain ways in one’s church and could see church discipline, for instance. For instance, sometimes a disagreement can be on a topic important enough to prevent an individual from being around your children.

These are healthy things to do, but one has to weigh the importance of topics. As a Christian, we have to weigh these things against the Bible and our duties therein.

As a Christian, we are to go and spread the Gospel. To do that, you will be encountering people that disagree with you on the topics that are of most importance to you as a Christian every single day. If I cut ties with everyone that believed that children with Down Syndrome should be rooted out in the womb and murdered, I would be cutting ties with a lot of people that need Jesus. This ends in me being Amish, sequestered to a hundred acres in Arkansas with no Internet, no phone, and no contact with the outside world. Just me, my woodshop, and lots of laughing kids. Actually, that sounds great. But my Lord commands that I engage with the world.

But that is the Christian worldview. Lovingly living alongside men and women that disagree with us is part of the plan. It’s how we spread the Gospel. The worldview that is spreading through the West like wildfire is almost Darwinian: destroy those that you disagree with. Why would you continue to love someone that disagrees with you? You don’t need that kind of negativity in your life. And the result is that the bar for what is worth destroying a relationship, or possible relationship, is much lower for many. What used to clearly fall into “you are Jewish and I am Christian, but we can still be friends,” now lands in “you are Christian and I am trans, so we cannot be friends and I’ll call your manager on Monday to demand that they fire you.”

This is a worldview difference that is stark as we enter into an era of post-Christian society. Where a couple decades ago the atheists followed Christian principles, the new atheists most certainly do not. For many of them, not only are they not okay with agreeing to disagree on their topics, they will chase you down and harass you until you agree. That will come in the way of threats of violence against you, threats against your job, threats to destroy your reputation, threats to go after your children, and worse.

Some of those reading this have seen this form of disagreement either personally or close friends. Others think I am being sensational and hyperbolic. I assure you I am not. All those types of threats I mentioned in the last paragraph I have experienced personally in the last year.

Please Christian, be aware that persecution is coming in the States. If your job hasn’t been threatened yet, it will be sooner or later. You will get a call from HR and be told to defend yourself against baseless claims. If your children haven’t been used as collateral to get your obedience yet, they will be sooner or later. Hold to your faith and show grace in these situations. Look to the martyrs of old. Don’t waiver in your faith or your testimony.

Understand, Christian, that we are dealing with worldview differences so often now that it is becoming normal. Try to be peaceable in all things and know that many in our modern world have no intent on doing anything of the such. You are now the counterculture.

On Dragons and Darkness

Note: I wrote the following in June of last year in my journal. Many words were written in that journal that will not be published. Some were too personal, some too dark. But the following I believe should see the light of day.


Overwhelmed. It is a word that has consumed my life as of late. And I have been struggling to grasp it all. The darkness of the world caught up to me.

For we are not contending against flesh and blood, but against the principalities, against the powers, against the world rulers of this present darkness, against the spiritual hosts of wickedness in the heavenly places.

Ephesians 6:12 (RSV)

Our world. Seems like a whirlwind over the past couple decades. I started to see the slope when I entered college. And the world has slid. And slid. And slid. And those of us that go the opposite direction of the cliff are called crazy. But I am quick to point out to those baffled by the illogic of it all that we are arguing with the Dead. How can we expect them to reason?

Our battle? It is with the rulers of the darkness.

And that darkness. Until Christ returns that darkness is here to stay. And while light pushes back darkness, while the Church spreads the Light, at times it can feel that we are outnumbered. That we are outmatched.

But so was Gideon. And that was the point.

For we are not alone in the darkness. We are not to rely on ourselves in the darkness. We are with Christ and He with us.

In this present darkness, I have been thinking about monsters. Dragons, titans, fearsome beasts out to do nothing but destroy. It is hard to not look out into the night and wonder what is looking back. Knowing that our war is against the rulers of the darkness, I look out and know they look back. I shudder and hold to my torch.

Neil Gaiman wrote what he thought was a quote from GK Chesterton in saying:

Fairy tales are more than true;
not because they tell us that dragons exist,
but because they tell us that dragons can be beaten.

This was a bit of an oversummarization of GK1, but it gets to his point. As children we know that our world is scary. We do not have to be taught this. We know, just beyond the edge of the veil of darkness, monsters creep, waiting to devour us. We know the importance of light and staying by it, maybe if for no other reason but to be able to see what comes. Fairy tales teach us that we have a Savior fearless and ready to grab his sword, ready to ride into the darkness and return with the head of a dragon.

Yes, there are dragons just beyond sight, lurking, ready to ambush you. Flaming tongues ready to burn you alive. But behind you stands a Slayer of Dragons. His Sword sharp, His wit sharper. While our mortal frames are frail, we are given strength to battle monsters of an unseen realm.

So here I am. Overwhelmed by the darkness. The coals of my fire casting low flickers of light against the trees. Though my encampment is surrounded by the enemy, though the dragons lurk, I am safe in Christ. He sits by, sword at the ready. And in Him, I can persevere.

Footnotes

  1. G. K. Chesterton, Tremendous Trifles
    “The timidity of the child or the savage is entirely reasonable; they are alarmed at this world, because this world is a very alarming place. They dislike being alone because it is verily and indeed an awful idea to be alone. Barbarians fear the unknown for the same reason that Agnostics worship it—because it is a fact. Fairy tales, then, are not responsible for producing in children fear, or any of the shapes of fear; fairy tales do not give the child the idea of the evil or the ugly; that is in the child already, because it is in the world already. Fairy tales do not give the child his first idea of bogey. What fairy tales give the child is his first clear idea of the possible defeat of bogey. The baby has known the dragon intimately ever since he had an imagination. What the fairy tale provides for him is a St. George to kill the dragon.”

Narrative and Storytelling

Stereotypes are helpful. Sure, some aren’t reality, but others help us start our understanding of a situation, a community, or an individual. The Right in politics has long been seen as facts-driven, dry, and lacking empathy— after all, facts don’t care about your emotions. The Left, where they might lack facts, the raw emotion they employ to tell their story, to spin a narrative and to dissuade men and women from disagreeing is powerful.

Now, that isn’t to say that the Left fully lacks facts or the Right fully lacks creative artistry. But there sure is a dichotomy.

And here is something many on the Right have started to realize and rectify. On the Right, if we want media— art, music, movies, novels— we have to consume Leftist viewpoints and narratives all the time. There just isn’t much good stuff coming from our side. So we learn to cringe quietly to get past the pushing of this topic or that topic and we keep buying and nothing changes.

The Left doesn’t have the same problem. There is little reason for them to consume non-fiction books the Right writes on this political or that philosophical topic, there is little reason for them to listen to our Holy Hip Hop, our Christian Metal, or our worship music.

We want to watch a superhero movie with our kids and we get Leftist talking points pushed on us. They don’t want to read a non-fiction book from our perspective.

So two problems.

First, we have little to enjoy but that which the Left produces. We sing songs that go against our views— even our deeply held religious views—, we watch movies that insult Christians subtly and overtly, and we binge TV that hates us. Slowly these views start to seep in, because of course they do. You cannot consume hours of opposing views a week without changing. And that is as an adult. Children are targeted harder and are so much more susceptible to the teaching. The Left is winning hearts by speaking to hearts really well— not a good message, but good messaging.

Second, we have nothing the Left can enjoy to hear our viewpoints. This is where so much division has come from. Most on the Right intimately understand the positions of those on the Left because unless we have no TVs, no smart phones, no social media, we have their views being pumped into everything we consume. But the Left tends to only know what the Left tells them about us. Stereotypes, mockeries, and characterizations designed as easy-to-tear-down straw men. You could respond that the Right does the same thing, but how many on the Left are watching our terrible church movie nights? Even we know how terrible the characterizations are because we know the Left well enough, but the Left doesn’t.

We have to get better at telling our perspective through stories. Guys like Brian Sauvé are doing this well in music and podcasts. We have to tell stories that everyone needs— an innate, irresistible draw— to hear. And we see what happens when we do. In the last couple months two songs have dropped that have shook the industry. Try That in a Small Town wouldn’t have been a blip had the Left not tried to shut it down. Country music is not generally loved outside of country music fans. But the Left branded it “racist” and, instead of succeeding, the song rocketed to the top of the charts. Why? Because folks that wouldn’t have listened to it listened and heard a story they could unite around, we need to come together as a community and protect our own.

Then Oliver Anthony came out of no where with Rich Men North of Richmond. Viral hit, 26 million views as I’m writing this. This song is a focusing. It is not you vs. me, but us vs. them. Our government no longer represents us— Left or Right— and the number of hurting Americans is growing and groaning. The Left-wing media is trying to find a way to respond to this, largely attacking the Right for adopting it as an anthem, but they are failing again. Why? Because narrative and storytelling is how to speak to hearts. And 26 million views shows the impact it is having. Oliver hit a vain and struck a nerve.

Conservatives.discd We need to protect these men, feed them, train them, and let them do their thing. That is what the Left does, for better or worse. Storytelling is central to humanity. We need it, even the most intellectual, facts-driven of us. Just this week I watched Fellowship of the Ring and The Two Towers instead of the latest drivel for “modern audiences.” For the countless books, blog articles, podcasts, and more discussing the topics, Jason Aldean and Oliver Anthony in less than 5 minutes captured hearts and brought diverse people together to rally and unite. Go look up react videos for both of these. People that we have been told shouldn’t be enjoying these songs, shouldn’t be agree with this, are soaking it up because what we were told was stereotypical lies.

We do not need to control the narrative, but we do need to start using the narrative. So let’s march forth. Festina Lente.

Sitting in Worship

It has been a week. Psalm 57 keeps coming back this year. Our captors demand we worship their gods, but at least Christ is Lord has been trending on Twitter most of the week? Our culture is retching, to say the least. It would be too easy to collapse under the weight of it, the sorrow, the hurt. But, as the dragons prowl outside and I grab my lyre and belt out worship.

This morning this song came back to me and I repeat this prayer:

Give me the strength
To be able to sing
It is well with my soul

Staring down the dragons when the Lion of Judah stands at your side eases the nerves.

These words echoed last year. I stood amongst the Church and cried more than I have in my entire adult life. I stood on stage, hidden behind the brim of my hat and my guitar, praising God that my instrument wasn’t my voice, tears streaming down my face.

It’s easy to sing
When there’s nothing to bring me down
But what will I say when I’m held to the flame
Like I am right now

Even If by MercyMe

Church got me through. Being with the Body, amongst the Body, surrounded by the Body. They were my legs when mine didn’t work. And music. God speaks so much through art and worship.

I know You’re able and I know You can
Save through the fire with Your mighty hand
But even if You don’t
My hope is You alone

The lyric “but even if You don’t.” Last week we talked about sovereignty and God’s will during our Wednesday night group. We must pray to God as if He will answer our prayers and praise God even if He doesn’t.

But God, when You choose
To leave mountains unmovable
Give me the strength to be able to sing
It is well with my soul

Leaving mountains unmovable. That was my 2022. But I lit many campfires and sang many dark nights, after the kids and the Sun went down, “it is well with my soul.”

Right to Not Be Offended

A major settlement of $80,000 was just granted to a local student who sued the college right up the road from where we live. Three fellow students saught out her social media presense and found posts they disagreed with about abortion, police, and more and filed no-contact orders through the school because they felt “harassed” and “discriminated against.” The school granted them without giving the accused graduate student a chance to defend herself. Now three professors will be taking mandatory free speech training and the school handbook will be updated to “ensure students with varying political, religious and ideological views are welcome in the art therapy program.”

As always, I’m glad to see courts uphold the constitutional rights of Conservatives, even if their beliefs are counter-cultural.

Seeking a no-contact order because you are offended is an abuse of no-contact orders. Seeking out the offensive material makes it even more so. Let’s just say I have some experience here. You are not required to read someone else’s social media posts, their personal blog, or anything else they do online. You can block and unfollow them.

Let me put it this way: you do not have a right to not be offended. That isn’t a right recognized by law or the constitution of the United States. However, others have a right to free speech. People are allowed to say things you disagree with. Folks are allowed to say things I disagree with. Their freedom and mine are intertwined. I cannot block their freedom without blocking my own. I can disagree with what they post and even respond publically to it, but I cannot run to the courts and remove their rights to post it.

Let us instead engage in debate and dialogue. If you are incapable of that— trust me, many are— you can go the other way. Don’t engage. There are plenty of topics that I have opinions on but am not capable of engaging in debate on. I don’t know enough or it actually isn’t worth the debate. It has taken me a very long time to get to this point, to know that not every hill is made for dying. To avoid appearing pugnacious, quarrelsome.

My rule typically is if an argument is not going to move a discussion forward or better our understanding of each other, it likely isn’t worth it. And that is okay. Disagreement and leaving disagreement alone is fine and healthy. Not all disagreement needs to fuel endless, fruitless debate.

Sharks Are Lurking

We were at a local beach with our kids a few weeks ago. A weekend out, away from the stress of the world. My daughter, ever the friendly one, was playing with a young boy when I got a sick, deep in my stomach feeling. I approached the lad and asked, “Bud, what’s your name?” He responded, “My name is Ivy and I’m a girl. I can prove it, I have seven Barbies at home.”

Let us be clear, girls do not talk this way and Ivy was not a girl.

Not having encountered this kind of situation yet, I pulled my daughter aside and told her that she cannot call him a girl as this is a lie, but could call the young man Ivy. I allowed my daughter to continue playing with him, but we stayed close. All the interactions were strained and weird.

What I learned at home shook me to my core. My daughter told my wife that she was playing with the young boy and a group of children. They split up boys and girls to play a game. The boy then yelled at my daughter, demanding that she call him a girl or he wouldn’t play with her. He kept scolding her until she caved and said, “fine, you’re a girl!”

Parents. I failed. My gut said to get her away, to protect her, but my heart assumed that this boy wasn’t going to do anything while I was close. Unfortunately he had already done it before I realized what was happening. And I am furious.

This child was taught to manipulate other children. His mother was close by. My daughter felt violated, didn’t know how to tell us there. Didn’t understand why this boy was yelling at her.

This is the insidious part of transgenderism. It would be one thing if they lived their lives and let us live ours. But that isn’t how it works. They must force us to participate in their charade. But to participate is to bear false witness. To lie. My daughter knew this boy wasn’t a girl, but she wanted to play. That’s why we were at the beach. To have fun, to decompress. But this young child decided to prey on her, to force her to lie. And all she wanted was to play so he took advantage of that to force her.

Let me speak clearly, we have learned a lesson in my house. My guard is sharpened.

Parents, this is what is lurking below the waves. Be vigilant. They want you to speak their lies. To deny truth. And they dance in the streets chanting that they are coming for your children. Trust them when they say that. They are.

The Curse of Work?

I overheard someone grumbling at a gas station about the curse of work this morning. It caught me off guard. It brought me back to some the earliest practical theology that stuck with me.

Work came before the fall.

It’s both simple and resounding. Adam had to work in the Garden. This was deemed good. To cultivate, to dominate, to steward. These were tasks for mankind in the perfect, good Creation before sin entered the world.

This is why idle hands get men into trouble. We were not designed to do nothing. It’s why you hear so many say they cannot vacation well. They want to be doing things. I am one of those people. Too long away from working and I start to get anxious. Yes, reading a good book is great, a taking a day by the beach can be relaxing, a week driving around the mountains to mesmerizing, and a week at a music festival charges up the batteries, but…

I was made to work.

I wake up early, usually between 4 and 5am, and work on side projects— like the new mandolin I just started— to get by brain ready for the day. A work friend jokingly said that once the kids move out I’d likely start sleeping in and I responded that I’d still be getting up early and going into the shop to build things.

If I didn’t have my day job as an engineer I would be building other things, whether apps or wooden things. Simply, I could never go more than a week or two without productively doing things.

If you treat work as a part of the curse, that is where your bar will be. If you reset your heart to seeing that work was created by God, you can start to see the importance of your role in the world, even if lowly, and start to bring glory to God in one of the most substantial parts of your life.

Back to the Shop

I posted about a new set of builds in May. That was before DelFest. That was also before Denver. We’ve been… a bit busy. And my… priorities have shifted a hair. You see, I had said I was building two instruments hopefully this year: an electric mandocello and a Telecaster-inspired guitar. But then I took my nearly $1000 mandola on two major adventures and realized that maybe I need an banger. A cheaper, lightweight, acoustic instrument I could bring everywhere with me. Because I truly bring my mandola almost everywhere with me. Everyone is well aware that it is a security blanket.

The banger. Now my wife laughs at me because I cannot create a truly cheap instrument and my woodworking buddy Boushard would chime in to say “because he’s a woodworker,” so my budget is around $200 total. Most of that will be hardware and the inlay. The wood is all locally sourced. Walnut for the body, sassafras for the top, and bird’s eye maple for the neck.

Since I am very comfortable on an iPad, all the design work for these types of projects starts as a sketch in Linea and then goes to full vectors in Affinity Designer. I can easily export SVGs and have the Cricut cut them out of paper. There was a lot of refining and getting the headstock to a point that I love it.

Over the weekend I was able to get paper templates cut on the Cricut, MDF templates made for the headstock and body, and the wood cut down to size. It honestly felt great to be back in the shop working.

Much more is coming on this and you can follow along on Instagram at @MinotaurGuitars.