Skip to content

Enjoy Kaizen

The Representatives

Pick one. Be. Never alone again.

Closing Questions

// Do time: 2.5 years

Should I write C bindings for html5ever wrapping functions, in rust (programming; ex lacuna)?

Or write an HTML5 Parser in C for PHP, straight on through?

Incarcerous Eponym



There is an ongoing discussion among key contributors to the PHP language on the PHP internals mailing list about embarking on a new language project to simplify PHP maintenance.

Dads’ Breakfast: Commit c6ac2d562b

From the Making of Dads’ Breakfast


I added microformats to Dads’ Breakfast, my active WordPress theme and ongoing bit of coding in the open.

Dads’ Breakfast: Commit c6ac2d562b,

It is early days in D. B. but my Psymantic theme is longer in the tooth (practice) and in it I wrote some code to mute WordPress’ microformatting with h-entry and hentry wherever post_class() is used. WordPress applies the h-entry context to all of my owned content, sans-theme. A dirty press is, the working press. I think I may have leveled-up on the distraction-free writing mode with this one.

With that out of the way and on adding the h-entry back I was left with a divot to fix when the post_class('h-entry') no longer worked as the WordPress documentation of this library function describes it to do and thus I discovered the platform is left compromised by my D. B. theme architecture. First, I had this planned and second, they-all started it.

Using the conventional post_class() template tag, to now allow a theme author to use discretion on the location of an h-entry via post_class() is a must-do in order to obviate the shoe-horning I need to accomplish to make this theme. h-entry is therefore written wp-entry in the post_class() library function call using a Psymantic-based theme in WordPress.

This is the simplest I can figure to satisfy the requirements of semantic interoperability given modern definitions of both WordPress & Microformats. There is much more done in the Psymantic theme to mute microformatting. Aside: I should write about that maybe.

Trial balloon now steady on a string, adding the h-entry back via wp-entry is done:

 * Filter the post_class tag to convert wp encoded microformats.
 * @since 0.1.0
 * @param  array $classes The list of classes.
 * @param  array $class   The class provided to the function at call-time.
 * @param  int   $post_id The ID of the post for which the classes are given.
 * @return array The filtered classes.
function dadsbreakfast_post_class_convert_wp_microformats( $classes, $class, $post_id ) {
	return str_replace(
add_filter( 'post_class', 'dadsbreakfast_post_class_convert_wp_microformats', 10, 3 );

The rest of the commit is there for those with additional time and interest.

Against selfdogfood as Polite Nomenclature for Principles

I don’t like the association to the selfdogfood term.

I love making my own stuff for my own site that I use. That’s ‘selfdogfooding’ on the IndieWeb.

‘Food’ I plan to ‘eat’ in the morning, is that breakfast selfdogfooding then?

That’s an unhappy association.

A dog’s breakfast is a breakfast mistake. As is a dog’s dinner.

I feel it trend on through all the foods fit for the dog.

I strive for no mistakes in making a meal.

I seem to have a compatibility issue with the term.

To put it simply, I must eat.

To suggest my own made meal is like the dog’s?

That’s impolite and uncalled-for.

Johannes Me That Duck

I just wanted to embed my self-hosted WP-theme repository for this theme, via iframe on my blog post.

I recently added some microformats in a single commit, that I would reason over, here.

Check Out the Bill on That, Duck.

I always turn that screen off if I’m watching a movie. Now Win10 wants to turn off my notifications when I full-screen any other monitor. #nothanks

A graph from my report of the past 26 weeks in domain monitoring.

A partial screenshot of the most dense table header I have authored.

That Meaty Feeling

I took my bike for a quick rip around the block today. First time this year.

It began with an accidental front-tire wheelie in the driveway. An anxious moment there as I got my feet under it cringed and caught the bike frame between my knees. I dreaded the bang and screech of metal-on-metal behind me where stupid meets van but it never came. I was petrified, struck stiff, with my back tire a couple feet in the air spinning in near-silence until I gingerly twisted away to lower the bike down to the ground.

Foxing a look around the neighbours’ to see if I’d been spotted I slowly started to breathe again.

“Umm, ow?”

Unsure of what had happened my eyes followed the taut line of the street down the gentle slope typical of the island to the busy shops of the harbour. Slowly the muggy calm and I found each other again in the warm embrace of another humid Summer evening on the Atlantic seaboard. Deep inhale and, none the wiser. “Didn’t even hurt,” I thought as I cool-beaned it back up the driveway.

I am fifty (50) days smoke-free today, more-or-less. This is just about the time I needed to make significant progress in excising the ashen aura that permeates. Cleaning my garage out day-by-day, the layers of stink in that winter ashtray were starting to get too close for comfort and I jumped on my bike for a break. Fresh air, clean air, just air, and exercise were calling my name.

It strikes me as funny now, if the fresh air had actually called my mobile phone, perhaps that wouldn’t have snuck onto the bicycle by way of my pocket, only to be discovered with the first good bit of mustard I spread thick on the pavement.

“What’s in my pocket? Is that my keyring falling out? Phone!? Brake!! Wrong brake!!!”

Two yards into my journey and I’ve already nearly fragged myself before I got past the family van. But pride can be mended and my cell phone is not bended, so I put that somewhere safe for awhile and away I go.

I have a gentle slope to the street out front, just enough to ride the brake, the rear brake to a standstill, my line-of-sight getting out and around the neighbour’s front porch. I spy the docks at the harbour. There are headlights on the street between here and there, but far enough down to not matter now and nothing the other way. I’m off!

My home is not on the corner but the neighbour has no yard. It slips past and now my first left turn. The first breathing of the wind made by my passing lights over my cheek and I find the gear I need to begin to push hard down the block. I’ve been watching F-1 so I’m of a mind to hurry and I brake late at the stop sign. I didn’t see the eyes of that fellow in the navy blue truck as he twitched his foot on the brake midway through his right turn to join the street I’m on. I stop cleanly but not quite completely before my sign. So awkward.

My heart goes out to him. To have gotten scared that the other fellow couldn’t handle his ride, only to then jerk the jalopy out in the middle of the street because he couldn’t take the pressure of our close encounter. I let him off easy, averting my eyes and getting back on the hop in a bit of a rolling stop.

Ack. Forgot to gear up at the stop. Out of practice. I’m halfway to the next stop before I get any power down through the back tire. I take it to the end but stop defensively for this one. The approaching intersection is onto a broad street, a back-way connector of the main North-South and East-West corridors through the city. It sees much traffic and I steer clear of giving anyone a scare traveling through. It’s clear and I go again. Ready for it this time.

I take the bike off the line and around to my left like a shot. One pump of my legs doesn’t take the tire very far but all of my explosivity -if what little oomph I can manage today qualifies for such a dangerous sounding potential- pours into acceleration. I gear down again, again, again, keeping each leg pump at the edge of too-hard, pushing through, gaining speed. The force of it lifts my bottom from the seat. Now there’s my old friend back to play, a low whistle past my ears, a wind. I remember the fifteen more gears I haven’t reached yet and it’s over. Gearing up to make the last left turn.

As I come around, a truck is ponderously advancing toward the intersection. Then, stops. There in the middle of the street, far ahead of where the intersection sits, by at least 10 yards. He’s almost in front of my house.

“Oh come on! What is he stopping there to do, blocking the street on purpose? Why is he sideways like that?”

My fight or flight response kicks in and I’m making a rapid dive through my memories on the hunt for who jerks around a blue truck in town. Meanwhile I’m on both brakes now, but I want to keep rolling to maintain some forward momentum in case I need to book it down to the water. In hindsight, this is likely not a viable escape plan, but I digress. That truck isn’t blue. My neighbours have dropped their green truck into reverse and their smiling faces greet me as I roll up and on by, the driver waving me on through behind and before he finishes backing into his driveway.

That being both a bicycle ride and done I jump off, drop the kick-stand and let go, breathing fast. I wonder how much of it is adrenaline and how much exertion. Searching out some liquid, each step sends a ping deep into my brain, letting me know my thighs, knees, calves and ankles have pending comments about what they just went through. I tell myself to stretch first the next time I get on the bike and carefully do quick partial stretches. The damage is already done.

I shake that off and take a deep breath while I grab at both walls, my arms straight out to the sides, feeling the pull in my center as my lungs expand to press against the muscles of my chest. A thought of growing strong. Pushing hard, to build strength. Adding muscle. Savouring the pain of it. Effecting change. Getting strong. Muscle, meet, me.

Thanks, once again, go out to Greg McVerry for providing the writing prompt for this post at Quick Thoughts.

The Gummy Bear of Imprecise Articulation

Twitter was aflutter yesterday over a venture capitalist’s tribbling on human capital. He asserted: there exists a class of engineer whose valuable outputs are an order of magnitude more valuable than other engineers. He proceeded to thread descriptions of a dozen characteristic attributes and behaviours which occur more frequently than average, in his experience, among members of the class.

Amidst uproar many commenters closed ranks and outed themselves as unitarily valuable engineers. Still others mocked the VC’s attempt, ascribing many more and numerous unsavoury characteristics to what quickly became a steaming dung pile of worst co-worker ever stories. It was reduced to farce. It was rife with bitterness. Meanwhile a few innocents took it on the chin as they agreed with the VC in the public forum. Poor saps.

Quick, let’s recap:

VC wants to let people try on his rose-coloured glasses, fails magnificently, and we are left with the fan dripping shit everywhere. Some tea with that guv’nor?

Meanwhile, this gem …

A true 10x engineer will have a callous on their right pinky finger from terminating so many lines of code. A 100x engineer will have a callous on their left pinky finger because that’s where the semicolon key is in a dvorak layout.

Ryan Cavenaugh

… and I’m just here with my Ergodox like … I can change where those keys are so I don’t get any callouses …

Then I see what’s about to happen, and I say it out loud, to myself -so it really, truly, sinks in-:

A fucking.

Thanks go out to Greg McVerry for providing the writing prompt for this post at Quick Thoughts.

What is Degrowth?

I found a reference to degrowth while browsing IndieWeb chat logs a few days ago. An article authored by Heinz Wittenbrink titled Degrowth und Indieweb.

I have an imperfect knowledge about degrowth, and an imperfect understanding of what the author wants me to know of degrowth.

The article is auf Deutsch. Ich verstehe das nicht sehr gut.

So I borrow that word.

Because what I want it to mean, makes sense to me.

What does degrowth mean for you?

Browser Quit: Smell ya later Chrome

I found my mouse pointer disappeared whenever my mouse moved inside the Chrome window. Worked fine outside.

This was yesterday or the day before I guess.

Yea, I could get it going, I’m sure. But I was looking for an excuse ever since they started forcing me to login to Chrome all the time. Among other things. It got creepy. (note: works now after doing … something).

It’s – since the Alphabet spin-up. Or I saw it coming on the day I learned about the motivators to spin up Alphabet. The Google brand disconnected from the originators passion just then.

Now Google is a profit driven, corporate giant. Like a crab molting from a smaller shell. You may still be seeing it mid-molt. You know what’s next though, don’t you?

I was a Vivaldi user before I switched to Chrome – when my work became full-time web-dev.

That’s not my work now though. Well, not full-time.

It’s Firefox time.

Can I change that pink/blue color in the inspector when I look at CSS rules though? Because really, that’s the main thing that stopped me from switching before now.

The annoying thing now is all those saved passwords that are not in Firefox. It will take a little while to sort out.

Worth it.

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;