There is Forgiveness in Honour

I’ve heard it said that forgiveness is the ultimate act of self-compassion. That it is, in essence, a gift the forgiving one grants themselves in order to release the negativity they hold for their transgressors.

Forgiveness has not been a strong suit of mine. I can say it out loud “Transgressors, I forgive you!”, but… I don’t need a holy-man to tell me that the unshifted resentment towards the other, despite my proclamation to the contrary, is my ultimate proof of failure.

A seductive proclamation too, because I can fool the outer world with such a statement. It’s even possible to fool myself with enough disconnection from my emotional response to my truly ‘head-felt’ delivery.

But what if releasing that negativity is actually really important to me? How can I achieve a heart-felt forgiveness when my head is clearly unwilling to release such a tasty coulda-shoulda-woulda chew-bone?

I struck on something last Sunday night as I watched my mind race around yet another choice to cut a now ex-friend out of my life. It’s called an ‘honouring’. I’ve not seen honouring called into service as a forgiveness tool, but it bet it’s simply because I’ve never thought to look for it.

Now, this doesn’t discount my decision to extract myself from this ex-friend’s drama. The ‘turn the other cheek’ bullshit I received as religious programming just serves to propagate the victim/victimiser/rescuer drama triad, which turns out to be particularly relevant to my decision.

A snail with a do-not-disturb sign. Image courtesy of Boaz Yiftach and

Image courtesy of Boaz Yiftach and

No, forgiveness is the act of moving on without the baggage. And honouring is a tool that worked for me. The process is simple enough. Just list the things you genuinely admire in the other. In a typical homouring, this would be directly to the other’s face, but I’ve discovered journaling is sufficient (and preferable) in this context.

So, beloved ex-friend, in drawing this drama to a personal close, here are the things I honour about you:

● I envy your zest for life, and how you throw yourself into activities, giving it your all.

● I love your wicked sense of humour, and how you have so fully integrated your inner trickster into your public persona.

● you’ve a huge intellect, which I find very attractive.

● You enjoy a good laugh. Your humour is infectious and I will miss it.

● you are steadfast and loyal to those you deem friends.

Now I’ve had a chance to sleep on it, I agree with you. I have changed. The drama you offered to make me an integral part of recently is no longer a drug I wish to imbue.

Travel well ex-friend.

For the general public: I initially wasn’t going to share this, given that I’m now back on an even emotional keel. However, if this ends up helping anyone else get over their cortisol overload any faster, it’s worth pushing past my reluctance, and getting it out there.  Like me, you may just find the forgiveness you’re seeking through an honouring.

On the Forgetting of Gource

Alright.  This is the very last time I figure out how to get gource producing visualisations of my development activities from scratch. Today’s post is me leaving notes on this for next time, so I can cut straight to the chase.

A couple of times now, I’ve had occasion to want to give the people I write software for some insight into what I’ve been doing. This project last completed was one such example. A lot of work was done under the hood to enable the code-base to have a replaceable user-interface, and possibly also spatial database. The user-interface had a few new features, but the lion’s-share of it ‘looks’ exactly the same as it was when I started.

I can guarantee you though, that the source looks absolutely nothing like how it started out. Most of my time was spent in taking a code-base “designed” to be a single-user desktop application, and turn it into something that would be relatively easy to make multi-user (it is, now) and optionally, web-enabled (one particular large data-set stops this from progressing just yet).

How then, do I convince the people paying me to tear up their code-base that even though the user-interface is the same, things are now radically different under the hood? Enter gource, and some discussion on how it visualises the git repository as the source-code evolves through the project.

Continue reading

Git Recovery with git-fsck: A Too-Short Tale

Beloved Reader.

Forgive me for I have softwared.

I’m on the tail-end, or possibly tale-end, of a project that was pretty rough as such things go. Not the toughest gig I’ve done, but no cake-walk either.

Anyone who’s professionally played in this space knows that Murphy’s law is drawn to tight-deadline software development projects like a wunch of salivating, button-eyed bankers racing to the reading of the last will and testament of Marley & Marley. Continue reading

Java’s JTabbedPane CAN run custom behaviour per tab hover.

I’ve been getting quite a bit of time lately to my own hobbies. I finally got around to implementing some user-friendliness with PersonalFinancier, involving a status-bar at the bottom of the application for supplying a little user guidance.

Unfortunately, part of what I wanted to do was have a custom message per tab appear as I hovered the mouse over a tab. Like in the screenshot below.
Continue reading

Gradle for LaTeX PDF Generation

Last night, I was Minecrafting with my daughter, and one of “those” thoughts smacked me between the eyes.

“I wonder if anyone has ever tried cooking a LaTeX document with gradle?” bubbled up from some nether-region that is obviously still obsessing over my recent gradle play.
Continue reading

Gradle and Java Dependency Library Management

Recently I learned that I couldn’t easily merge the encryption library I settled on into my main one without pain. As this is a sporadically visited hobby, I don’t have the free time to get to the bottom of it. As we’re dealing with a signed jar around security, it’s possible I’d be pushing s**t uphill anyway.

You might be aware by now that I like to solve the trusting of 3rd-party library problem by simply glueing those libraries into the final executable. If I can’t have that ideal, I want a model that’s as close as I can get to it.  I decided I’d get gradle to merge those dependency jars that are easy to merge, and ship the ones with issues as external dependencies.
Continue reading

Who I am and why I’m here (with Pocket Ninjas)!

Existential, no? Don’t worry. I’m participating in a blogging challenge to see what new things I can learn about this hobby. Regular subscribers be warned, this probably means I’m going to be more post-happy-chatty over the period of the challenge.

Today’s challenge encourages me to (re-)introduce myself and give you a feel for why this blog exists.
Continue reading