Tuesday, June 21, 2022

Hammock Camping With Aidan

This past weekend, I was able to bring to completion some plans long held.  Looooong held.

With this being the first weekend after the completion of the Spring soccer season, I found on my hands a rare substance — free time.  Saturday morning I woke early, grabbed my hiking pack, and headed out to the Uwharrie National Forest.  I picked a trailhead that I'd visited once before (for just long enough to eat a granola bar and before making the return hike) but had never started at.  From the Tot Hill Farm Trailhead, I marched south on the Birkhead Mountain Trail toward Hannah's Creek.  But I made a last-minute decision to veer off and take a loop side-trail which was marked only as "Camp 3".  I'd not hiked this segment before.

It was a pleasant hike on a clearly less-traveled trail, but the most interesting bit for me was actually finding the camp site(s, plural, as there were two).  One particular site stood out immediately as the perfect spot for a hammock camping stay.  It featured a nice-sized clearing with an established fire pit just yards away from a natural creek (water means fire safety!) and with several mature trees perfectly spaced for at least six hammocks.  I popped up my own hammock and enjoyed the breezy day for a while before continuing my hike.  When it was all told, I'd hiked over 7 miles and felt like I'd found the hammock camping spot for which I'd been searching since Fall 2021.

And that's (at least in part) what I mean by "plans long held".  Nine months ago, my son Aidan and I started talking about camping somewhere with hammocks.  We bought the gear we needed and started scoping out locations.  But life got super busy with Fall soccer.  Then life got super chilly with Winter.  Then Spring soccer, and now AJ has his first job, and the world is rushing to fill everyone's time as an over-response to a slow pandemic year, and....  So the story of over-committed lives seems to go.  We had the gear and the inclination, but no time.

After Saturday's hike, I came home with a renewed sense of possibility.  Sunday was Father's Day, and I had intended to drive out to Denver, NC to hang out with my own dad after church.  But my girls both tested positive for COVID-19, which meant that it wasn't such a good idea to interact in person with my parents.  I enjoyed a 3-mile light local hike immediately after church with a friend.  But the timing seemed right (my company gave me Monday off in recognition of the Juneteenth holiday) and the weather was great, so I asked Aidan if he'd be okay with trying the hammock camping thing that evening.  And to my surprise, he was all in.

We packed up our gear and by 6pm were parked at the Tot Hill Farm Trailhead.  We repeated the hike I'd made the day prior, except we went clockwise around the camp loop instead of counter-clockwise.  By 7:15pm we'd reached the site (which I was thrilled to find empty) and started setting up camp — hanging the hammocks, gathering firewood, etc.  To my wonder, my fire started effortlessly, and as darkness started to close around us we sat by the fire and talked about a variety of things.  One feature of the site I'd noticed the previous day was that there was zero cellphone signal availability.  So in an age where we are constantly interrupted by technology, we found ourselves truly alone together.

It was about 10:30pm when we doused our fire and climbed into our hammocks.  We learned first-hand how challenging it is to wrestle with sleeping bags when trying to sleep on a curved surface.  (There's probably some trick to it; we just didn't know it!)  We learned how exposed one can feel sleeping in a hammock versus inside a tent — how you can hear absolutely everything yet see almost nothing.  We were super grateful for the built-in bug nets our hammocks offered.  We were amazed at how incredibly bright fireflies appear in the dark woods.  And eventually, we drifted off to sleep despite being hyper-aware and over-stimulated.

We woke early (as tends to happen outdoors), having each stirred multiple times through the night to adjust a sleeping bag or shift positions.  The sun had not yet lighted on our location when we climbed out of our packs, munched on Pop-Tarts and reflected on the evening.  But as we started packing things up again, the daylight intensified and aided visibility.  We hit the trail again around 6:30am, and arrived back at the trailhead around 8am, having successfully completed the mission we'd set for ourselves some nine months prior.

Long held plans.  But longer still for me.  This weekend brought parity that I needed to assuage a bit of parenting guilt.  You see, I'd taken AJ's older brother camping at Pilot Mountain a decade prior, and ever since that time it had bothered me that I wasn't able to offer the same one-on-one experience with Aidan.  This year — on Father's Day even — the combination of a lovely day, available time, a global pandemic, and an adventurous son resulted in some personal achievement, imbalances balanced, and valuable memories made.



Tuesday, July 27, 2021

"Gracious and Holy"

Over the past month, the Student Pastor at our church (and a dear friend) Evan Smith has been filling the pulpit on Sunday mornings as our senior pastor enjoys some much-deserved vacation time. (You might have noticed, but 2020 was a rather hard year for folks, and perhaps especially pastors.) Evan chose to deliver a cohesive, four-part sermon series, and settled a couple of months ago on the theme of God's presence. Over the four weeks, he planned to illuminate the thread of God's desire to dwell with His people that runs through the whole of Scripture: from Eden (where God walked with Adam and Eve), through the Exodus (where God "tabernacled" with the Israelites), to the Embodiment (or Incarnation, where Jesus — the Word who both was with God and was God — became flesh and dwelt among us), and into the promise of Eternity (where the people of God will enjoy the immediate presence of God forever). And if you were paying close attention, you noticed that those four waypoints were alliterative — such a good Baptist pastor! But between the lines of this story runs the equally deep and powerful truth of God's nature as both perfectly holy — such that imperfection in His presence runs the risk of eradication — and immensely gracious.

These were some of the many thoughts swimming around in my head on July 4, 2021. I was hiking alone the Robbins Branch Loop Trail in the Uwharrie National Forest, and trying to enjoy a calmness of mind. Irritatingly, though, my brain just seemed frantic — jumping from thought to thought across all the various roles I play (husband, parent, employee, worship leader, etc.). At one point, I actually yelled aloud in the forest in frustration, "Why is it so noisy in here?!" And then a strange thing happened. In what seemed like no time at all, the melody and opening words of the chorus of a new song were in my head, coalescing around the themes of Evan's sermon series. I spent the next several hours (and about 8 miles of hiking) developing the skeleton of the song. I was super-grateful to be alone in the woods, not least because it's really embarrassing to be tripping over tree roots whenever I turned my attention to my phone's voice recorder app or tried to type into it some lyric ideas!

Once home, I spent the next week or so putting meat on the song skeleton. Friends I shared the concept with seemed more supportive of this song than usual, so it felt like effort well-invested. And this past Sunday, Amy and I — along with other members of our church's worship team — shared the song with our church family. God be praised for using such an unworthy vessel to encourage His Church in song. Gracious and holy He truly is.

"Gracious and Holy" You made the Earth and the heavens. Spoke words to form them and fill them. So all that we have is by Your hand. Gracious and holy You are. You gave us freedom and purpose. We chose rebellion and curses. But hope lingered under the surface. Gracious and holy You are. Gracious and holy You are. You are here, always with me, Nearer than sacred to naked should be. You speak promises over my shame. I know that I'll never be the same. You came to dwell with Your people; Strengthen the downcast and feeble; And rescue us from every evil. Gracious and holy You are. Humbly you gave Your life for us. Hope is reversing our curses, Restoring our freedom and purpose. Gracious and holy You are. Gracious and holy You are. You are here, always with me. Nearer than righteous to wretched should be. You speak promises over my shame. I know that I'll never be the same. Now you are seated in Heaven, So, by the Spirit You've given, We will proclaim, "Christ is risen!" Gracious and holy You are. Gracious and holy You are. You are here, always with me, Nearer forever than failure could be. You poured righteousness over my shame. Called me Your child and then gave me Your name. You are here, always with me, Nearer forever than failure could be. You poured righteousness over my shame. I know that I'll never be the same. I know that I'll never be the same. ©2021 C. Michael Pilato; License: CC-BY-3.0

Here also is a demo recording that I made as a reference for our worship team (with many thanks to my son Aidan for lending his percussive skills):

Finally, you can get lead sheets (including the source MuseScore file) for the song from my GitHub repository.

Wednesday, March 3, 2021

My custom Planning Center Services plan report. You're welcome.

To all my fellow Planning Center Services jockeys out there, I thought I'd share with you a custom Plan report that I created (using one of the built-in reports as a baseline, mind you) and have been using for years now. Now, before you assume that all I've done here is fiddle with colors and fonts and page layout, hear me out. There are some features of this template that I want you to know about.

First—and the primary reason that I love this template so much—is that it handles Plan and Item Note categories dynamically. Unlike the built-in templates, this report template doesn't have to be modified just because you use different Notes categories than the default Planning Center ones. In fact, it doesn't care what specific Notes categories you have at all. Rather, it examines the Plan and its Items and dynamically determines which Note types are actually employed. This means two things: that it doesn't waste any page/screen real estate on unused Note categories, and you can use the same template for entirely different Service Types with entirely different categories defined!

The second, admittedly minor, thing that I like about this template is that it adds a column for icons that appear next to certain Item types. So Songs show up with a music notes icon (♫) next to them; Media items show a "play" triangle (⏵). It's a little thing, but it draws the eye to certain Item types quickly.

Finally, the template itself allows some quick customization of the features it employs via a collection of boolean variables at the top.  This allows you to use the same basic template for multiple custom Reports, but with little easy tweaks to goven the feature set for each one.  So, for example, I have a Report that shows everything that I distribute to my A/V operators and band members.  But I have another one using this same template that I use for our Ushers and Greeters where the variables show_plan_people, show_plan_notes, and show_item_notes have been set to false.

So, without further ado, my template. Please feel free to copy, use, and modify this thing to better suit your church's needs!

<!-- QUICK CUSTOMIZATION: {% assign show_plan_notes = true %} {% assign show_plan_people = true %} {% assign show_item_times = true %} {% assign show_item_length = true %} {% assign show_item_description = true %} {% assign show_item_notes = true %} --> <html> <head> <title>{{ plan.ministry.name }}:: {{ plan.dates }}</title> <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,600;1,400;1,600&display=swap" rel="stylesheet"> <style> body { padding: 0; margin: 5px; color: #222; font-family: Roboto, sans-serif; font-size: 14pt; } h1 { font-size: 1.5em; font-weight: normal; text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.9); } h2 { font-size: 1.1em; font-weight: normal; padding: 20px 35px; margin: 0; line-height: 1em; text-shadow: 0 1px 0 white; } h3 { font-size: 0.9em; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); } pre { margin: 0; padding: 0; white-space: pre-wrap; font-size: .9em; } table#plan { width: 100%; border-collapse: collapse; margin-top:0px; margin-bottom: 15px; font-size: 10pt; } table#plan tr { border-bottom: 1px solid #ddd; } table#plan thead { display: table-header-group; } table#plan th { color: white; background: #444; font-weight: bold; padding: 0.5em 1em; vertical-align: middle; } table#plan td { text-align: center; padding: 0.5em 1em; } table#plan .icon { padding: 0; } table#plan .preservice .time, table#plan .preservice .length { color: #aaa; } table#plan .time { width: 3em; text-align: center; } table#plan .length { width: 3em; text-align: center; } table#plan .note_column { text-align: left; background: #f8f8f8; border-left: 2px solid white; } table#plan .header { text-align: left; font-weight: bold; color: black; background: #ddd; } table#plan .note { font-weight: bold; text-align: left; vertical-align: middle; min-width: 1in; } table#plan .element { min-width: 3in; text-align: left; } table#plan .element .description { font-size: 0.86em; color: #444; font-style: italic; } table#header { width: 100%; border: none; padding: 0; border-collapse: collapse; } table#header td { padding: 2px; vertical-align: top; } .artwork { float: left; margin-right: 15px; height: 40px; } .note_content { background: yellow; padding: 4px 8px 0; border-radius: 0.3em; } #header { padding: 5px 20px; background: #000; color: white; line-height: .8em; margin: 0; } #header img { float: right; height: 60px; margin-right: -15px; } #titles { color: #333; font-size: 1.1em; font-weight: normal; padding: 10px 20px; margin: 0; line-height: 1.1em; text-shadow: 0 1px 0 white; min-height: 45px; } #plan_title { font-style: normal; font-size: 0.8em; display: block; color: #666; margin: 4px 0 0 0; } #plan_notes, #plan_people { background: #f8f8f8; margin: 1em 0; border-left: 4px solid black; padding: 0.5em 0 1em 2em; } #plan_notes { font-size: 0.8em; background: #ffffd0; } #plan_notes .plan_note { margin-top: 1em; } #plan_notes .plan_note_category { font-weight: bold; } #plan_people { font-size: 0.9em; } #plan_people .person { font-size: 0.7em; margin-right: 15px; display: inline-block; } #plan_people .person_status_U { opacity: 0.5; } #plan_people .person_category { clear: both; padding-top: 1em; } #plan_people .person_category p { font-size: 0.8em; margin: 0; } #plan_people .person_position { font-style: italic; } #plan_people .position { font-weight: bold; } </style> </head> <body> <!-- If showing item notes, first build a list of item note categories in use. --> {% if show_item_notes %} {% assign used_item_note_categories = '' | split: '' %} {% for item in plan.items %} {% for note in item.notes %} {% assign category = note.category.name | split: '|' %} {% assign used_item_note_categories = used_item_note_categories | concat: category %} {% endfor %} {% endfor %} {% assign used_item_note_categories = used_item_note_categories | uniq | sort %} {% endif %} <div id="header"> <h1>{{ plan.ministry.name }} - {{ plan.dates }}</h1> </div> <div id="titles"> <img class="artwork" onerror="this.style.display='none'" src="{{ plan.series_artwork_url }}" /> <div id="series_title">{{ plan.series_title }}</div> <div id="plan_title">{{ plan.plan_title }}</div> </div> <!-- If showing plan notes, first build a list of plan note categories in use, then iterate. --> {% if show_plan_notes %} {% assign used_plan_note_categories = '' | split: '' %} {% for note in plan.notes %} {% assign category = note.category.name | split: '|' %} {% assign used_plan_note_categories = used_plan_note_categories | concat: category %} {% endfor %} {% assign used_plan_note_categories = used_plan_note_categories | uniq | sort %} {% unless used_plan_note_categories == empty %} <div id="plan_notes"> {% for plan_note_category in used_plan_note_categories %} <div class="plan_note"> <div class="plan_note_category">{{plan_note_category}}</div> {% for note in plan.notes %} {% if note.category_name == plan_note_category %} <div>{{note.note}}</div> {% endif %} {% endfor %} </div> {% endfor %} </div> {% endunless %} {% endif %} <table id="plan"> <thead> <tr> {% if show_item_times %} {% for time in plan.plan_times %} <th class="time">@{{ time.starts_at | date: '%I:%M' }}</th> <!-- {% increment colspan %} --> {% endfor %} {% endif %} <th class="icon"></th> <!-- {% increment colspan %} --> <th align="left">Element</th> <!-- {% increment colspan %} --> {% if show_item_notes %} {% for category in used_item_note_categories %} <th class="note">{{ category }}</th> <!-- {% increment colspan %} --> {% endfor %} {% endif %} {% if show_item_length %} <th class="length">Length</th> <!-- {% increment colspan %} --> {% endif %} </tr> </thead> <tbody> {% for item in plan.items %} {% case item.item_type %} {% when 'Header' %} <!-- Header rows --> <tr> <td colspan="{{ colspan }}" class="header">{{ item.title }}</td> </tr> {% else %} <!-- Non-header rows --> {% assign item_class = ''%} {% if item.is_preservice or item.is_postservice %} {% assign item_class = 'preservice ' %} {% endif %} <tr class="{{ item_class }}"> {% if show_item_times %} {% for time in plan.plan_times %} <td class="time item {{ item_class }} {{ item.item_type }}"> {% for item_time in item.times %} {% if item_time.time_id == time.id %} {{ item_time.actual_time | date: '%I:%M' | downcase }} {% endif %} {% endfor %} </td> {% endfor %} {% endif %} <td class="item icon"> {% if item.item_type == "Song" %}&#9835;{% endif %} {% if item.item_type == "Media" %}&#9205;{% endif %} </td> <td class="item element {{ item_class }} {{ item.item_type }}"> {{ item.title }}{% if item.song %} [{{ item.arrangement.music_key }}]{% endif %} {% if show_item_description %}<div class="description">{{ item.description }}</div>{% endif %} </td> {% if show_item_notes %} {% for category in used_item_note_categories %} <td class="item note note_column {{ item_class }} {{ item.item_type }}"> {% for note in item.notes %} {% if note.category_name == category %} {{ note.note }} {% endif %} {% endfor %} </td> {% endfor %} {% endif %} {% if show_item_length %} <td class="item length {{ item_class }} {{ item.item_type }}">{{ item.length }}</td> {% endif %} </tr> {% endcase %} {% endfor %} </tbody> </table> {% if show_plan_people %} <!-- If showing plan people, first build a list of person categories in use, then iterate. --> {% assign used_person_categories = '' | split: '' %} {% for plan_person in plan.plan_people_not_declined %} {% assign category = plan_person.category.name | split: '|' %} {% assign used_person_categories = used_person_categories | concat: category %} {% endfor %} {% assign used_person_categories = used_person_categories | uniq | sort %} {% unless used_person_categories == empty %} <div id="plan_people"> {% for plan_person_category in used_person_categories %} <div class="person_category"> <p><strong>{{ plan_person_category }}</strong></p> {% for plan_person in plan.plan_people_not_declined %} {% if plan_person.person.name != null %}{% if plan_person.category.name == plan_person_category %} <div class="person person_status_{{ plan_person.status }}"> &bull; <span class="person_name">{{ plan_person.person.name }}</span> <span class="person_position">({{ plan_person.position }})</span> </div> {% endif %}{% endif %} {% endfor %} </div> {% endfor %} </div> {% endunless %} {% endif %} </body> </html>

As of a few minutes ago, I've submitted this report template back to the fine folks that develop Planning Center Services so that they may consider integrating its enhancements into the core product itself.

Wednesday, December 30, 2020

"O For a Thousand Tongues"

Way back in January 2016, I was working to create a modernized arrangement of the Public Domain hymn, "O For a Thousand Tongues to Sing" by Charles Wesley.  I'd hope to preserve the original melody and lyrics, and maybe just add a bridge or something.  I ended up adding a sort of bridge for each stanza.  Unfortunately, while I was really happy with my additions, they never really paired well with the feel of the original hymn.  So I shelved the idea, revisiting it from time to time over the years in further failed attempts to shoehorn together two incompatible ideas.

On June 30, 2020, however, I gave up trying to make fit what never would, and instead restructured the whole song around my additions.  I heavily edited the original hymn lyric and melody while still trying to preserve the essence of what it said.  After all, to wish that one had a thousand tongues to sing God's praise all the louder is a beautiful sentiment!  So that, as well as the general message of the hymn's stanzas, remain the core of what is now essentially a brand new song.

As I intend to share the song with my local church, I needed to whip up a demo of it.  Last night I spent about an hour tracking acoustic guitar, electric guitar, and bass guitar.  After my son Aidan finished watching a movie with his friends, I asked him to come upstairs and lay down a drum track.  Then this morning, I was able to get my wife Amy in front of a microphone to track the lead vocals, with me laying down some harmonies immediately thereafter.

The result of those three-and-a-half hours of recording and mixing are available on my SoundCloud page:



I've licensed the song under the Creative Commons Attribution 3.0 Unported License.  And as part of my commitment to reducing barriers to adoption for music truly written for the church (rather than for a paycheck), I've posted the sheet music for the song to my GitHub repository.

And here are the lyrics for the song:

O For a Thousand Tongues All-gracious Master, glorious God, Give me the words to proclaim. Spread thru the whole earth, here and abroad, The honor of Your holy name. Father, You give me the choice, But Your grace compels me to lift up my voice. If I was mute, I'd still make joyful noise to Thee. O, for a thousand tongues to sing! Jesus, your name calms the deepest of fears. You bid every sorrow to cease. Your mercy is music in this sinner's ears— Your love is the source of my peace. Savior, You knew all along That you'd trade perfection for all I'd do wrong. Lord, may my life make a beautiful song to Thee. O, for a thousand tongues to sing! O, for a thousand tongues to sing my great Redeemer's praise! Sing of the glories of my King; the triumph of His grace! Jesus you've broken the power of sin. Your blood sets the prisoners free. Dying you saved us, then rising again Accomplished supreme victory! O, for a thousand tongues to sing our great Redeemer's praise! Sing of the glories of our King; the triumph of His grace! Your church in heav'n and earth below, this sacrifice we bring! O, for a thousand tongues to sing. O, for a thousand tongues to sing. O, for a thousand tongues to sing. Spirit of God, fill this place. Write on our hearts songs of mercy and grace. Oh, God, we're desperate to give every praise to Thee. O, for a thousand tongues to sing! O, for a thousand tongues to sing! O, for a thousand tongues to sing!

Wednesday, July 15, 2020

Ambassadors for Christ?

Ugh. Today, besides feeling physically subpar (hello, tick bite!), I feel spiritually defiled. In a moment of weakness and morbid curiosity, I made the mistake of reading some of the Facebook feeds of a handful of people in my church. I think we might have a problem.

The Word of God tells Christians that they are citizens of a new kind of Kingdom. This Kingdom is not one with physical, geographical boundaries, a two-party political system, checks and balances, and a (merely) 200-year-old governing document. It's God's Kingdom, existing outside the physical Universe and governed by God Himself:
But our citizenship is in heaven, and from it we await a Savior, the Lord Jesus Christ, who will transform our lowly body to be like his glorious body, by the power that enables him even to subject all things to himself. [Phillippians 3:20-21 ESV]
One cool thing is that when we become citizens of that Kingdom, God leaves us in place, planted in the physical realm to serve His purposes. Our job? To be His ambassadors:
Therefore, we are ambassadors for Christ, God making his appeal through us. We implore you on behalf of Christ, be reconciled to God. [2 Corinthians 5:20 ESV]
But as I read post after hate-filled post on Facebook, it became crystal clear to me that either the Kingdom has fewer citizens than I'd hoped, or those citizens grossly misunderstand their roles as ambassadors. Were I to judge by what I saw (and have heard), I would calculate that "ambassador for Christ" has come to mean "culture warrior". We Christians line up on political, sociological, idealogical, racial, or any other "-al" line we can find, dig in our heels, crane our necks and bend our ears for the sound of the charge!

What if we revisit the idea of ambassador-ship with a new objective: to make—by our every word, thought, and deed—the Kingdom of heaven and the God who governs it so glorious and attractive that its opponents simply emigrate to it. No need for blood shed. No anger. No insults. Just love and faithful representationambassadorshipof the King of Kings.

Wednesday, August 28, 2019

Oreos and Milk Done Right

For far too long, I've held an absolutely essential piece of knowledge—a life skill that every person should have—and I've failed to share it with the world.  Today I repent of that, beg your forgiveness, and offer reparation by sharing with you now this critical information.  Today, I want to tell you the proper way to eat Oreos with milk.

It goes without saying that in order to accomplish this, you'll need Oreos, milk, and a cup or mug to contain the milk.  But lest we assume too much, let me clarify some things.
  • These instructions assume you can eat an entire Oreo in one mouthful.  If you can't, you're clearly not built for eating Oreos and should probably take up Veggie Straws or something else instead.
  • Don't use a cup or mug that's too small.  You need at least a depth of milk sufficient to completely submerge the cookie.  And you need enough width in your container to do the same.
  • Don't use skim milk.  The higher the fat content of the milk, the better.  I strongly suggest whole milk.  And don't use warm milk.  You want your milk as cold as possible.  If, when you pour your milk, it looks like Elmer's white glue and chills the hand that holds your cup or mug, that's a good sign.
  • Don't use fake Oreos.  Seriously.  I'm all for generic brands of most things, but ... no.
Okay, on to the life-changing instructions.

First, grasp an Oreo cookie between your thumb and forefinger, with each making contact on one of the Oreo logos on either side of the cookie.  (If you don't see an Oreo logo, you're using fake Oreos.  And I literally just told you not to do that.)  Put some real pressure on the cookie with your fingers—not enough to crush it, but pretty close to it.  Now, submerge the Oreo completely in the milk while maintaining this pressure.  Yes, your fingers are going to get wet—deal with it.

All this might sound pretty obvious, but as any seasoned Oreo-milk-dunker knows, the trick is figuring out how long to keep the cookie submerged.  And you might be wondering why must we maintain this solid finger pressure on the cookie.  After all, they hardly weigh anything and are unlikely to attempt to escape our grasp on their own.

The answer lies in the sheer importance of getting these two seemingly incompatible foods—one a natural byproduct by which nearly all mammals are initially nursed; the other a completely unnatural, highly processed junk food—to unite properly at or near the molecular level[*].  If your Oreo is in the milk for too short a time, then what was the point?  You're merely eating a damp Oreo.  But to linger for too long will have you watching your disintegrating cookie's disparate parts sinking out of sight into the milky white abyss.

As it turns out, the pressure you're putting on those Oreo logos gives you all the tactile feedback you need to know exactly when to remove the cookie from the milk.  As soon as that logo begins a crush a bit under your firm-but-non-damaging bit of finger pressure, the time is right.  Remove the cookie from the milk, shove it into your awaiting mouth, and rejoice as you've never rejoiced before.

Once again, this is not for those who lack a certain degree of fortitude.  Your thumb and forefinger will get wet with milk.  They will also pick up the debris of the crushed Oreo logos.  You'll have to open your mouth a bit wider than high society might advise.  Sometimes, doing things properly involves some risk-taking.  This is such a time.

Now, there's no need to e-mail me your thanks.  It's my great pleasure to serve my fellow man in this way, sharing the results of my years of experimentation in this field.  My hope is simply that you'll do the same.

Oh!  But I nearly forgot the final step in the instructions:  grab another cookie and repeat!

[*] No real scientists were consulted while authoring this article.

Monday, March 4, 2019

Self-publishing my worship songs

I've talked about it forever, but this past weekend I decided to finally act.  I've setup a GitHub repository to which I intend to commit sheet music for the various Christian worship songs that I compose.  You can visit the project at:
https://github.com/cmpilato/worship-music
I've added the music from my recent "Shepherd of My Soul" composition (which my worship team at Providence introduced to our congregation brilliantly this past weekend, I might add!), plus a few other songs.  I also have placeholders for several other tunes that I'm committing to self-publish here, too.

Those who know me well know that I can be pretty outspoken about copyrights and licensing and such, especially as regards music written (at least ostensibly) "for God" or "for the Church".  This is why every worship song I've written carries a Creative Commons license.  But while it's all well and good to say, "My songs I offer without restrictive licensing," it matters little if there are other barriers to sharing and re-use.  This self-publishing effort is a way for me to remove some more of those barriers.  I genuinely want folks to take and use these songs with minimal impediment if they find them worth taking and using, and I'm willing to put in the extra effort to encourage as much.

My goal is to keep for each song MuseScore files withat a minimumlead sheets for the songs, plus MusicXML and PDF exports of the same.  I could, of course, just use PDFs, but that would discourage getting corrections submitted by folks who are far better at musical transcription than I am.  It would also prevent easy transposition of the songs into alternate keys.  At the moment, you can load the score into MuseScore, select the whole score (Control-A), and then use the Notes > Transpose... menu to put the song in whatever key you wish.  It's that simple!  Someday I may also include links to recorded demos of the songs, specific hints for individual instruments, etc.

May God bless this tiny little human's effort to make His praise even more widespread.