Webmentions are now live on every post on dBlogIt! Thanks to @voxpelli https://webmention.herokuapp.com
Hooking up my website notes to Twitter via good old Bash scripting
GitLab is on a roll!
When they introduced GitLab CI and Runners I was in. I immediately moved my blog’s repository from GitHub to GitLab and set it up to start building with my Node Hugo docker image. I didn’t switch off of my own server, however. That is until, GitLab posted about how to secure your GitLab Pages with TLS and Let's Encrypt.
A couple of nights ago I pointed switched over to GitLab Pages completely. Since I no longer had the benefit of my own nginx server configuration, I needed to put it behind CloudFlare. Now I have compression, expires headers, SSL, and automatic builds whenever I check in.
Now that I’m using Windows at work I needed a decent terminal. First step was to get Git Bash set up, which has everything I need to get by in a Windows world on a day to day basis. Second step was to figure out how to get tabs. Fortunately this has been done. Scott Hanselman did a little write up on how to get a tabbed terminal with Console2. It’s not ideal, but it does a pretty good job.
At some point during middle school, I got this idea to make a Molotov cocktail. My friend Curtis was going to spend the night and we were going to sleep out in a tent in the back yard. He came over that day while my parents were still at work.
“They used to blow up tanks with these bombs called Molotov cocktails,” I told Curtis. “They used them in The War!”
I had no idea who “they” were, or what war. In fact, I had only a vague recollection of what one of these “bombs” looked like, which I must have seen in a library book or the Encyclopaedia Britannica.
In my mind I had all the necessary components:
- Big glass jars
- Lots of gasoline
- Canvas for a wick
I pitched it to him while walking to the garage, already a savvy salesman—
“Let’s make one! We can blow something up.”
I can’t remember what his response was. I’m sure it was an emphatic YES. What kid would say no? Even if he was apprehensive, would I have cared? Hell no. I was making a “bomb.”
My childhood home had this huge detached garage that my grandpa built. It towered above the house with its pitched roof and rafters. It was so big that you could put at least a few cars in it easily, and still have plenty of room to work on other awesome kid things like Making Sandwich Bags Filled With All The Chemicals You Can Find, and Peeing In The Corner. But we didn’t choose to work there, rather, we laid claim to the side door.
There by the side door we hastily poured gas from a red plastic gasoline jug into a giant mason jar that I had swiped from the kitchen. Eight ounces, 16, 24, 32, finally stopping just below the rim. We dropped a wide strip of canvas into the jar, half of it submerged, and the other half hanging limply over the edge.
It’s go time.
We marched purposefully. Onward to our target, through the tall grass, by the apple trees, and behind the house, to a large patch of dirt where the apricot tree stood.
There was a tall wooden fence, painted bright red, which bordered the property. And there, in front of the fence was a lowly water spigot wrapped in gray insulated styrofoam to keep it from freezing. This poor spigot was the target.
“Why a spigot?”, one might ask. “Aren’t there better targets for this kind of thing?” Well yes, of course. There are many things worth the total fiery annihilation of a jar filled with gasoline. Unfortunately, one cannot truly understand the mostly undeveloped mind of a middle schooler. For example:
A friend and I once spent 30 minutes throwing ourselves at the windows of the elementary school library simply because we believed they were made of Plexiglass and wanted to know if they would break. The windows were made of Plexiglass, and they most definitely did not break, if you’re wondering.
Another time, maybe just before middle school, I cut my radio in half with a hacksaw, and then shot it to pieces with my BB Gun. What would compel me to do something so asinine? Maybe I was mentally challenged, or maybe all middle schoolers are mentally challenged.
Which brings me back to the spigot.
I remember the flame instantly consuming the canvas and lighting the top of the jar on fire. Black smoke intermingled with red and orange flames anxiously licked at my young hand. In a panic, I threw the jar—fire poured from the vessel beside me leaving a giant flaming trail in the air on its way to its target.
The jar hit the ground, spilling its contents and bouncing into the air. Gas and fire consumed the ground, around the apricot tree, across the dirt, up the spigot, and onto the fence. It hit the ground again, spinning and spiraling liquid flame everywhere.
But our crude incendiary was a dud! Oh, thank god it was a dud! It didn’t break and shatter into a million tiny flaming shards like it should have. It didn’t explode! Thank god it didn’t explode.
It is Armageddon. The sky is black and everything is burning. The fence is burning and the spigot is burning. The ground is melting and the poor old apricot tree that I’ve loved for all these years is on fire.
Curtis is kicking sand on the fence—on the spigot which we cannot use to put out the fire because it IS on fire.
In that instant, I remember the big red fire extinguisher in the kitchen and I make a dash for it, screaming, “I’m getting the fire extinguisher!”. I run past the apricot tree, around the side of the house and through the kitchen door. It’s half my height, and heavy, and covered in dust.
When I arrive back at the scene I pull the pin on the extinguisher and dramatically throw it to the ground. Dustin to the rescue! I know what will happen: a white powdery foam will erupt from the extinguisher. It will blanket the landscape with its fire-cancelling properties and we will be saved! I grip the handle and squeeze. But nothing happens.
I squeeze tighter. Still nothing. With all my might, I squeeze, as the world around me continues to burn. But the god-damned thing just won’t go. I look at the circular indicator on the side of the extinguisher. The yellow needle is pointing as far away from that little green slice of salvation we like to call Fully Charged. There is no pressure in this thing. I drop it on the ground and start kicking sand.
We kick, and kick, and kick, until, little by little, the fire is no more.
And then we see it. The blackness that covers everything.
We spent the rest of the day trying to cover our tracks so that mom and dad wouldn’t find out what we had done. We repainted the fence, raked up the charred dirt, and even re-insulated and taped that poor spigot. Incredibly, the apricot tree sustained no visible damage. It was the Immortal Tree of Second Chances, which could withstand anything, even fire.
My parents never found out until many, many, years later. The house had long been sold, and under its new ownership, it had burned to the ground. Seeing the connection, I confessed with a grin that it was the second time that trailer had witnessed the raw power of a fire gone wild. And then I reminded them to check the pressure on their fire extinguisher.
Paul Graham puts life and child-rearing into perspective in his post Life is Short:
Having kids showed me how to convert a continuous quantity, time, into discrete quantities. You only get 52 weekends with your 2 year old. If Christmas-as-magic lasts from say ages 3 to 10, you only get to watch your child experience it 8 times. And while it’s impossible to say what is a lot or a little of a continuous quantity like time, 8 is not a lot of something. If you had a handful of 8 peanuts, or a shelf of 8 books to choose from, the quantity would definitely seem limited, no matter what your lifespan was.
It reminds me to continually re-focus on the things that matter—whatever those things may be: children, family, relationships, career—and to not let anything else steal away those meaningful moments.
In The Four Agreements, Don Miguel Ruiz discusses the impeccability of words:
…like a sword with two edges, your word can create the most beautiful dream, or your word can destroy everything around you.
But this example really drove the concept home for me (emphasis mine):
If I see you in the street and I call you stupid, it appears that I’m using the word against you. But really Im using my word against myself, because you’re going to hate me for this, and your hating me is not good for me. Therefore, if I get angry and with my word send all that emotional poison to you, I’m using the word against myself.
I’ve been ruminating on this concept for a little while now, and the thought that I keep coming back to is this: how many of the things I say are working against me? Even the smallest of remarks has the power to create ripples which could change my life. I am speaking with intention? Are you?
I wrote this Ruby command line app to give Jekyll a better publishing workflow. Then I switched over to Hugo and couldn’t post anything at work1 because installing Ruby on Windows was crazy hard for this old Linux guy2.
So I decided to go low-tech and use Grunt to manage my publishing workflow. Why not use Hugo’s built in archetypes? They don’t have all the special values that I want. For example, I use a 3 byte hex string for my post URLs. Hugo doesn’t have that.
So now I just run
grunt do:post:"Post name" and I’m done. Cross platform,
easy to maintain, and no extra dependencies. Check out the source for the
task in my Gruntfile on GitHub for more info.