Skip to content

Christopher James Willcock

Enjoy Kaizen


Running Heather Moyse Heritage Park

I did some complete stretching then ran for about … hmm. 45 seconds perhaps?

I didn’t take the go-’round way lol. It’s Heather Moyse Heritage Park.

I ran the park trail.


I walked a 1/2 lap around the 1/4 mile (400m) and dropped my sweater there.

I walked the rest of the lap.

I ran the track to my sweater.

I walked the track and trail back to the stretching spot behind the benches, and did some cool-down stretches.

Then I walked home.

This was a couple days ago.

My legs haven’t felt that in a long time! I ran alot, 1992 – 1998.

Daniel walked, stretched, and ran too. He could have run for much longer than me.

But I was faster!

I found street workout via calisthenics -> street workout.

Look Who’s Ducking

From the Making of Dads’ Breakfast


Sign the releases.

Release early.

Release often.


I further took down the font-size of table text in the Gutenberg editor, from fourteen (14) to twelve (12).

        font-size: 12px;


I put the fence back up after the apple tree knocked it down about a decade ago. Didn’t stick in the corner. Back at ‘er.

I knew it was bad when I realized that …

I had made a mistake too!

What time zone is it? Duh.

Et tu, Facebook?

I tried to add all my places-lived to Facebook, from empty through 35 years of moving around and remembering rough dates.

You haven’t lived until you’ve broken Facebook.

I have fourteen added in a row, with the fifteenth showing me the block.

I moved back and forth a bunch, to one home-base. That is naturally, the same location that I list as my hometown above.

I hit something that displays HTML formatting, e.g. <br /><br />. Rare I guess, to have that much valid history to queue?

I guess that depends on whom, or what, is doing the considering.


I prefer to preserve the privacy I still hold over exact calendar dates of my moves. I send to Facebook, each move in the calendar year as an enumeration beginning January N, where N starts at 1 and increases each time it is used. This keeps events in the same order, without forcing me to tell a convincing lie by estimating differently.

The lesser of two evils, in my considering.


UPDATE: 27 mins later …

I’ve removed all the duplicates. Still blocked from adding locations.

I guess Facebook assumes if this message is being sent, it isn’t possibly a person and they stop helping me out. The ‘Help Center’ link isn’t actualized there because the HTML got caught in a filter and entity-encoded.

JavaScript can’t do this

++this.ring_pointer %= this.sample_width;

I want to firstly increment, and then take the modulus as the value of my variable.


this.ring_pointer = ++this.ring_pointer % this.sample_width;

sup, duck?

From the Making of Dads’ Breakfast


My tables in the Gutenberg editor have cells that are too full to fit the tableau.

I took the font size down two pixels (2px) from sixteen to fourteen (14).

	font-size: 14px;

noize’s realm

I got a little side-tracked while figuring out the computer and didn’t notice the time.

Duck, We Should Talk

When I copy text to my clipboard, and paste it into a table cell using the Gutenberg editor, a space is automatically added at the front of the text I paste.


I hit paste. I carefully remove that leading space that WordPress seems to think is necessary.

Every. Time.

Nothing To See Here Duck

It would be swell if the page-break block in WordPress allowed me to specify a piece of content that would appear as page-footer & page-header on subsequent page-fulls.

The various page-break blocks should share their content, so that changing the content in one, changes content in all others to match at the same time.

At present, the page-break block has no configurable options at all.

Dads’ Breakfast: Commit 998df0135f

From the Making of Dads’ Breakfast


You are welcome to view this commit via github, sourcehut, or author’s original.

I use two (2) flatscreen LCD monitors at my writing desk. Both monitors are 1080p and leave me some room around the default block widths in the Gutenberg editor. These have a maximum width of 31.77% of my viewing area. I’m looking for nearer to half as a minimum return on my monitor-dollar.

I preserve some negative space around the tableau but impose a little bit more room for tables and various things, by applying the following CSS to the editor:

@media (min-width: 1280px){
		max-width: 800px;

@media (min-width: 1600px){
		max-width: 960px;

With this change, on any screen with two-thirds (2/3) the horizontal resolution of a monitor like one of mine the block widths increase from 47.66% to five-eights (5/8) of the viewport width. At screens five-sixths (5/6) mine the block widths increase from the 41.69% of the viewport width imposed by the previous media query -up from 38.125% at default WP size- to three-fifths (3/5) of the viewport width.

The ratio of viewport width to block width changes as the viewport width increases. I’m keeping the tableau on desktop to a comfortable one-half (1/2) of a 1920 pixels wide viewport. YMMV.

Dearest Dustbunny Duck Buddy

When I’m writing in a block, and need to add a couple of rows to my table, WordPress doesn’t have an obvious way to add n-rows at a time.

I’m pressing on the table icon in the WYSIWYG toolbar, selecting to ‘add row after’ and surprise, trying to do that again to add another. The first go breaks the interface. Pressing the toolbar icon now shows the selections all muted. No add row available to me here. I need to click on my table again first.

Okay, the table inside the blocked table lost focus when I added a row. I know how to give it the focus back.

Verse, WordPress 5+

Test of verse type.
What's that about?
Enter key doesn't create a new block now.
This should be closer to the top of the visual queue.
Uh, guys? Guys? Shift+Enter doesn't create a new block. I'm stuck here.
Ah-ha! The down arrow is needed. 
But wait, there's WordPress! -_-
No HTML entities either?

Writing My Curriculum Vita

I am a part of all that I have met; 
Yet all experience is an arch wherethro’
Gleams that untravell’d world whose margin fades
For ever and forever when I move. 

Sir Alfred, Lord Tennyson – Ulysses

I ever-so-briefly attended the University of Prince Edward Island for the Fall semester of 2003 or 2004 or 2005. Then I left and went to work instead. Before that? After? What sort of work do I do? Have I tried some other things along the way? Have I published anything? Contributed to organizations?

A CV is a different sort of thing than a resume, and for a different purpose. I want one, so, to work!

Why Sign Git Commits?

From the Making of Dads’ Breakfast

When choosing to trust code written by another person, I endeavour to take a measured risk. Consider the attack on CoPay, carried out via the compromise of an overlooked-on-update dependency, otherwise unrelated to the virtual currency exchange software concern.

Scenario: What if that code-contributing person is victimized by a masquerading identity thief, and goes on unknowingly promulgating the originating repository, now including commits of malicious code?

Challenge: When all is found out, is the whole identity compromised?

Resolution (GPG): Notify the certifier of the compromised GPG fingerprint. The master private key holder has de-certification authority over the signature certified for signing commits, and may revoke certification of the maligned signing certification, rapidly upon providing their own advertisement of change of certifications. Upon receipt of such a fingerprint or similar identifying information, revoke the compromised signing key and exercise stable surety-of-identity from the master key to generate and certify anew, a signing key for origination of authentic commits to the code repository. The identity is not the signing key, and the originator can readily have an assured identity with which to signify the authenticity of corrective actions and sundry commits.

I hope my original works are useful mechanisms by which surety-of-origination acts to strengthen the whole, now that I am signing my commits.

I have my master private key stored offline in an encrypted USB, but keep a signing subkey-pair on my local machine for day-to-day use. I ensured that my signing subkey was present on the shell where my development work was taking place, and configured my git client to use my signing subkey.

When I could manually sign any commit by git commit -S, and have it work as expected, it was then time to have git challenge for signature on every commit, by setting the global option: git config --global commit.gpgsign true.

On commit, I answer the challenge with my GPG passphrase to apply my signature using my private signing subkey. Such signed commits are indicated as verified by both my-own installation of Gitea at and third-parties Github, et al.

My signing certificate expires two (2) years from the day I certified it, on 2021-03-16. If I go down, I’m taking all my certificates with me! 😀 That’s the graceful failure mode, and hopefully unnecessary for a very long time while I give it some more thought!

I welcome criticism, discussion and advice of the reader, that we may talk awhile.

I found the article Create GnuPG key with sub-keys to sign, encrypt, authenticate by Gerhard, via Tinned Software, helpful in getting started with GPG.

I found the article Using an offline GnuPG master key by Damien Goutte-Gattat helpful in learning to remove the secret from my master key, such that I now have an offline master key in encrypted, cold storage, while continuing to have the convenience of signing keys on my workstation.