Open Source: White-Spaces

A couple months ago I started contributing to an open source tool called “Spacedeck Open”. I was very excited about it, and had some early success with getting pull requests accepted. Lately, however, the maintainer has gone mostly silent and I’ve had a PR pending for over 6 weeks. So I decided to fork the tool and create my own version of it in collaboration with another person also frustrated with the slow pace of work. The new repository is called White-Spaces and it is a live virtual white board tool.

If you’re interested in this sort of thing, check out white-spaces on GitHub.

Specialized Allez Elite circa 1999-ish

Cycling – I Love It!

At the beginning of June I added cycling to my fitness efforts. I’ve been going out usually 3 or 4 times a week to do a route. At the beginning of June I did a 7.14km route that is basically a big loop around the city block my house is part of. My pace was 14km/h for the route. In other words, it took me a little over 30 minutes to do the loop. I decided that as a goal I would do a double loop (14.28km) with a pace of 20km/h or better by the end of July.

Well, tonight with the help of good equipment, I did it.

So, I had been using my mountain bike with road tires on it as my “normal” bike. Partly because my belly is big and it’s more comfortable to ride. But tonight, at the suggestion of a long-time friend who also cycles, Jim Warder, I decided to take out my road bike. It’s a Specialized Allez from the late 90’s with a few minor upgrades. See the pic above. I love this bike!

I’m always a bit surprised by how light it is. It has an aluminum frame and pretty good components. And riding it is a dream. The fit for me is perfect. Except for that darn belly that I have now that makes using the drop handlebars impossibly uncomfortable. But I guess that’s what I’m working to change!

Anyway, I started my ride this evening just thinking that I’d take it easy, do one loop and not worry about my time. The route starts with a nice downhill for about 1km and then has a steeper uphill climb for about 500m. On the climb I didn’t push too hard, but I got my gearing to be about the same as I had it on my mountain bike. I felt kinda tired from my ride yesterday. I didn’t expect much for time or pace.

However, once I passed the steep uphill portion, I started to warm up and my pace picked up a lot. I have a bike computer on this bike so I was constantly seeing that my speed was up in the 22 to 25km/h range on the flats. That made me hopeful. By time I was on the last 2km, I was pushing lightly and keeping my speed up at 24km/h+.

The last segment of my ride is a monster valley… down is great! Up is torture (and further than the down). I got up to 45km/h going down into the valley, and really pushed going up… but when I shifted down on my front chainring, I skipped my middle gear and spun my cranks… which totally wrecked my pace. I fixed my gearing but my last 100m up the hill was really slow – 11km/h.

Once I got to the top, though, I decided – heck! – I can go around again. I checked my average speed so far and it was 21.8km/h – WOOT! I could take it pretty easy on the second loop and maybe even get to my end of July goal! So, I went for it. But did I relax? Nope. I kept pushing it.

Admittedly, I couldn’t quite keep the same pace but things went smoother overall. No glitches on my shifting. I powered up that final hill, and coasted the last 200m to my house. Checked my pace: 21.4km/h for 14.28km!!!! I beat my goal by a huge margin!

I blame it on my bike. 🙂

alcoholic beverages

Alcoholic Beverages and Behaviour

I grew up as a follower of the Baha’i Faith. Part of that faith is that I believe that consuming alcohol is bad for the world, so I don’t do it. Not only that, when I can, I also encourage others to not drink alcohol if the situation is appropriate.

What if your livelihood depends on alcohol? I have family members who are / have been servers in licensed restaurants. Their ability to earn a decent living depends on the high cost of alcoholic beverages and the tips that go along with consumption thereof. I wish that someday they would not have to depend on that means of earning a living. But I don’t feel any need to berate them for the circumstances and choices that led them to choosing that work.

There are many people who feel that it is just fine for them to personally consume alcohol. They handle it well. Possibly – I honestly don’t know.

Here’s the interesting thing. I’ve never unfriended someone because they consume alcohol (although I did once break up with a girlfriend where excess consumption was a factor in the breakup). But I’ve had people unfriend me because I don’t consume alcohol. Not many people… but enough to know that it happens. Not only that, but I’ve lost business deals because I don’t consume alcohol. Again, not many that I can guarantee were for that reason, but some.

When is it okay for me to talk about my belief in the harmfulness of alcohol? Well, there are certainly some situations where I think it is okay:

  • when I’m asked about my behaviour or beliefs,
  • when I’m speaking with a peer or someone with more power / influence than I,
  • when in my own judgement, sharing my beliefs would not come across as insulting or patronizing,
  • when someone is asking about the expectations for the personal conduct of Baha’is in general, and
  • when my listener has a choice about stopping listening (e.g. here, where you can just click away or close the tab).

So, am I judgemental when I see or hear other people drinking alcohol? I suppose it depends on what it means to be “judgemental”. Here are some situations and my mental responses:

  • Stranger ordering drinks in a restaurant: I don’t notice it.
  • Stranger ordering drinks in bar: I don’t go to bars.
  • Business or personal acquaintance making a joke about alcohol or talking about going for a beer or the great wine they bought on the weekend: I have a tiny twinge of discomfort… like “too bad I can’t do that”. FOMO.
  • Close friends or business partners who are not alcoholics (to my knowledge) talking about or drinking alcohol: I often ponder why it is a part of their lives and if there is some way I might help them eventually give it up.
  • Other Baha’is talking about drinking before they became Baha’is: I’m intensely curious to learn what it is all about.
  • Other Baha’is talking about drinking while they are Baha’is: this is the only situation in which I feel a moment of judgement – but I quickly suppress those thoughts and tell myself that I don’t know their situation… and that I aught not judge.

Alcohol is one of the scourges of the earth, similar to slavery/racism, materialism, promiscuity, inequality between men and women, individualism, and religious fanaticism (I might be missing some others as I write this). I can’t claim to be free from all of these perfectly myself…. but I’m self-aware enough to continue to work on improving.

Many of my Facebook friends have not hesitated to say things like “I would punch a Nazi”, about themselves. The Nazis killed approximately 6 million people in the Holocaust! Alcohol kills that many people every two years. Should I punch people who drink? Or go out and accost the purveyors of alcoholic beverages? Of course not…. But really, why not?

Because punching people doesn’t solve societal problems. Racism (and the Holocaust) are societal problems. Alcohol is a societal problem. Religious fanaticism is a societal problem. I can blame society and judge the ills of society without being judgemental about any individual’s behaviour. Not only that, I can be loving, patient and have a “sin-covering eye” for the individuals I interact with. In fact, I can choose to focus on people’s good qualities and actions. All this while still asserting that alcohol is one of the worst things for the world… on the same level as slavery.

So what does solve these kinds of problems? It starts by individuals recognizing our spiritual oneness with all the members of humanity around the globe.

Photo of RCMP Commissioner Brenda Lucki with RCMP officers in background - systemic racism article

Systemic Racism

For something to be systemic, it needs to be “in the system”, not just in individuals who happen to be in the system, but are also parts of other systems.

Simple example: I am a husband and a father. My wife and I are one system, and my kids and I are another system.

If I’m a pushover with my wife, and a disciplinarian with my kids, then those behaviours are part of the system because as an individual, I change my behaviour depending on the system I’m participating in. In other words, there is something in the system that changes my behaviour independent of my identity or self-concept, my beliefs or my desires.

On the other hand, if I’m a disciplinarian in all situations, particularly if there are explicit agreements I have made to be flexible and lenient, then my behaviour is part of me and not part of the systems I am in. In other words, if my actions do not align with the explicit policies or agreements of the system, then my actions are not systemic.


In the case of the RCMP, I suspect all the rules and procedures (the explicit text) are designed to be neutral… to not take race into account. That means the real question is what behaviours are exhibited by members of the RCMP which are racist and only demonstrated when those people are in the RCMP system (not in other parts of their lives).

“if systemic racism is meaning that racism is entrenched in our policies and procedures, I would say that we don’t have systemic racism.”

RCMP Commissioner Brenda Lucki

However, to know if the rules and procedures are devoid of systemic racism is not something one can quickly determine unless the rules and procedures are very simple. Here is another example…

Suppose I have a rule in my house that the kids’ bedtimes are determined by their age – the older they get, the later the bedtime is. This is a simple rule, and it is easy to see that it doesn’t single out any subset of my children. There is no obvious injustice. Right?

Well, let’s examine the situation a little closer. Suppose, after medical assessment, we discover that one of my children has Short Sleeper Syndrome (SSS)… in fact, the youngest child. We now have a slightly more complicated situation… but probably easily resolved: there is no set amount of sleep required so the kids can wake up as early as they like.

Next, let’s suppose we introduce a new additional rule: everyone must wake up when the first person wakes up. Now we have a system that causes a change in behaviours to adjust to the new reality. Some of the older kids might choose to go to sleep earlier even than that one with SSS. Still okay, but a little odd and it might cause problems with socializing for the older kids. Still, socializing in the evenings is optional right?

Well, actually, now we have two rules and a consequence of those rules: the older kids cannot develop a social life. This is a systemic injustice, but it is not explicit injustice. In other words, we didn’t create a rule that singles out the older kids for unfair treatment. Instead, we have a combination of rules and characteristics of people in the system that creates injustice.

So, I think that RCMP Commissioner Lucki may not be aware of the systemic racism in the RCMP. There may indeed be a set of rules and procedures (including the laws of the land and internal policies) which conspire to create systemic racism.

How do we find out? Well, the way to start is to look at data. Then do a root cause analysis. (FWIW, this is the kind of thing I do as a consultant with businesses.)

Unfortunately, there is one further complication to the story: falsifiability.

It is extremely hard, and often impossible, to falsify an accusation about a system. Most systems are complex… which is beyond complicated… and determining cause and effect relationships is difficult.

The accusation of systemic racism against a specific organization such as the RCMP is not falsifiable. Why? Start by asking this question: “what would it take to prove that the RCMP has no vestige of systemic racism left in it?” How would you prove such a thing? What evidence and reasoning would it take? What experiments or measurements would you need to do? If you analyze every single piece of data, every rule, policy, procedure and law… can you be certain that systemic racism is not there?

Does this problem matter? Well, yes.

Until there is a falsifiable definition of systemic racism, applicable to specific systems such as the RCMP, then it is also unjust to take any action for or against the organization on the basis of a claim of systemic racism.

What can we do? Well, for one thing, we need that falsifiable definition of systemic racism. I admit… for this article, I did a quick few Google searches and couldn’t find anything that meets my mathematically-minded standard… but I’m not an academic specializing in racism (sociology, presumably). It might exist somewhere…

Types of Gifts

Late in December, and specifically over Christmas, I visited my brother, Alexei, in Vancouver. I brought my two youngest daughters, Verity and Ocean. My brother informed me that we would be doing a gift exchange about a month before we came… sometime in November. This stressed me out for a lot of reasons. But in thinking about it, and discussing it with my brother, I thought of a categorization scheme for types of gifts:

Useful Gifts

These are, simply, gifts that the receiver is likely to find useful. Pots and pans, containers, lawn mowers, etc. If you are buying someone a gift in this category, it helps to know if they actually need it… so these gifts are usually based on need.

Personal Gifts

This is a gift that you make “by hand” using your own creativity. These are the sorts of gifts that become keepsakes or get put on display for a time. As a giver, these are the gifts that show vulnerability and connection to the receiver. Creating a poem or hand-making a sweater are examples of these types of gifts.

Experiential Gifts

These are the gifts of time which allow both the giver and the receiver to experience something together. The receiver of this type of gift almost always is being exposed to a new experience. Anything as simple as going to a newly-released movie or as complex as a multi-week joint vacation to a new place fall into this category.

Fun Gifts

Fun gifts are meant to bring a smile or laugh to the receiver. Fun gifts are often the least personal and can be considered a “backup plan” if you are struggling to figure out what type of gift to get someone. Generally speaking, fun gifts are disposable or re-giftable.

So what did I get my brother and his family this past Christmas? Well, I tried to make it cover as many categories as possible… so I got him an AnyCubic Photo S 3D Printer, and I helped him print a custom wedding ring he had designed many years ago. Useful (at least potentially), experiential (because of working on getting it running and printing the ring together), and personal. Unfortunately, I don’t think he’s used it since I was there 10 weeks ago!

Forty-Eight Years Old

Had a great birthday today. I turned 48. Two years to go until the big 5-oh.

My day was simple, but lovely. The main highlight was spending time with my family. In the early afternoon we did a puzzle together. All six of us: Melanie, Justice, Haifa, Verity, Ocean and myself. At about 3pm we all went to the Feast of Sovereignty together. This was particularly wonderful since it is rare that we do so all together.

The day was full with other things too: shovelling snow, errands, a great dinner (steaks, mashed potatoes, and steamed veggies), and packing for my work trip tomorrow.

I’ve set two new goals for my 50th year:

I will do 50,000 push-ups by time I turn 50. So far I’ve done just 25 since I set the goal 0.05% – yay!

I will say 5,000 “remover of difficulties” prayers by time I turn 50. My first spiritual development goal. I will add more.

FWIW, I’m making great progress on my first goal: 500,000 sit-ups… although I’ve had to modify it slightly. I hurt my back so I can’t do proper sit-ups. I’m doing isometric stomach clenches instead. I usually do 1000/day. Here is the chart showing my current progress towards 500,000 (weeks on the horizontal axis, total on the vertical axis):

One other little point of note: I finally crossed the million mile threshold with Air Canada. I’m now a lifetime Elite 50k member. I haven’t yet received my “package”. When I do, I’ll share some photos of stuff.

What I Read, Normally

I admit that I rarely read professionally any more… maybe one or two books a year.  Honestly, the books in the business genre mostly just started sounding repetitive and/or derivative and/or silly.

So instead, I’ll share some more personal reading choices:
For the last five years I’ve been relearning and expanding my learning about mathematics, mostly in number theory and algebra.  I admit that although starting all these books quite some time ago, I haven’t been able to finish any of them yet.  They are extremely challenging but I find myself grinning or laughing out loud sometimes at the beauty of mathematics.

  • “Abstract Algebra” by Dummit and Foote
  • “Elliptic Tales: Curves, Counting and Number Theory” by Ash and Gross
  • “Proofs from THE BOOK” by Aigner, Ziegler, et. al.

Since I was about 12 or 13 years old I’ve been an avid reader of science fiction and fantasy.  My three favorite authors of all time in these genres are Robin Hobb (“Assassin’s Apprentice” series), Stephen R. Donaldson (“Thomas Covenant, the Unbeliever” series) and Orson Scott Card (“Ender’s Game” series).  Recently, I’ve started browsing my local chain bookstores (Indigo/Chapters here in Canada), taking photos of interesting-looking books, and then buying them in Apple Books and reading them on my iPhone.  Here are my three recent reads that I consider good:

  • “The Rook” by Daniel O’Malley”The Hive” by Orson Scott Card
  • “The War Within” by Stephen R. Donaldson
  • “Night Without Stars” by Peter F. Hamilton
  • “The War Within” by Stephen R. Donaldson

A bit of philosophy and/or science also passes my eyes from time to time.  I particularly enjoyed these two:

  • “Mind and Cosmos” by Thomas Nagel – A critic of materialistic naturalism.
  • “The Fabric of the Cosmos” by Brian Greene – An introduction to (relatively) modern cosmology and physics.

I have done _some_ professional reading lately.  I tend to only read stuff that I hear recommended lots of times or stuff that’s likely to challenge my mindset.  I’m not normally looking for the latest and greatest, and I almost never read anything about “agile” methods anymore… it’s probably been at least 5 years since I read an “agile” industry book.

  • “Creativity, Inc.” by Ed Catmull – I’ve been a fan of Pixar since the early 1990’s when I started doing professional development for NeXTSTEP and discovered Renderman.
  • “Thinking, Fast and Slow” by Daniel Kahneman – I read this after reading a kind of biography of Kahneman and Tversky,…
  • “The Undoing Project” by Michael Lewis which brought me to sobbing tears at the end.

FWIW, I regularly re-read the Scrum Guide… not necessarily all at once, but skimming or focusing in on particular parts.  I’m often surprised at what I find.  It’s a good document in many ways, and as I teach and practice Scrum, I find an organic synthesis between the real life experience and the words written there.

Those are the four “big” categories of my reading over the last decade.  I read other types of books too, but not enough to consider them categories that I really appreciate and come back to.

Love is Love - or is it?

Thoughts on “Love is Love”

Intersectionality/Privilege Disclaimer: I’m a strait white male in a 1st world country who grew up in a minority religion, in poverty, and with a mild medical disability.

“Love is Love”, the Pride slogan, is propaganda of the highest order.

The word “love” in English covers many types and they have important differences that should not be hidden. Often the specific meaning is obvious from the context of a discourse… and that may even apply to the Pride slogan. But, the slogan actually challenges anyone who wants to make a distinction about different kinds of love and is implicitly critical and judgemental of that. Here are examples:

Love between friends, platonic love.

Love between parent and child, familial love.

Love between lovers, passionate love.

Love between newly married couple, romantic love.

Love between long-married couple, patient love.

Love between strangers on a one-night-stand, animal love.

Love between a pet owner and pet, playful or comfort love.

Love between work colleagues, common-cause love.

Love between a person and their work, their food, their travel, their reading, their hobby, pastime, or interests, intellectual love.

Love between a person and their tv show, game, food, alcohol, caffeine, nicotine, drugs or other addiction, dysfunctional love.

Love between a person and the cosmos or God, ideal love.

I’m sure there are many more ways that the word “love” is used in real life in English and they are not all the same, we would never advocate that they are all the same, and in many cases they have important legal differences. I hope I don’t need to give examples of some of the twisted things that people do that they call “love”.

The slogan is a very Orwellian thing: it simplifies and twists language for political and power purposes.

Weeks 11 to 14: Catching Up is Hard!

Well, I got sick during Week 11, and let my numbers go way way down, and that lower pace, while getting better, has been the norm for the previous three weeks. I’m done week 14 and I’ve set two new records: 1415 reps in a week, and 335 reps in a day!

Next week, my goal is 1800 reps total, one day over 400 reps.

I’m using some new abbreviations as follows:

  • SU – Sit Ups
  • CR – Crunches
  • LL – Leg Lifts
  • AR – Ab Roller
  • SC – Standing Clench

Here’s the boring numbers (Including raw data for week 10):

Week 10

20190320 230.4 25CR+25SU + 25+25+25CR+25+25+25SU
20190321 229.0 25CR+25SU + 25+25+25CR+25+25+25SU+25CR
20190322 25CR+25SU
20190323 25CR+25SU+25CR + 25CR+25SU + 25CR+25SU+25CR
20190324 25CR+25SU+25CR + 25CR+25SU + 25CR+25SU+25CR + 25CR+25SU+25CR+25CR+25CR
20190325 100SU + 25AbRoller + 25KneeLift + 25BenchSU
20190326 day of rest

Week 11 (275)

20190327 50CR+25LegLifts + 25AR (100 total)
20190328 none
20190329 none
20190330 25AR+25SU + 25+25AR (100 total)
20190331 none
20190401 none
20190402 25AR + 25AR+25SU (75 total)

Week 12 (600)

20190403 25AR+25CR + 25+25CR (100 total)
20190404 35+35+30CR (100 total)
20190405 25AR+25CR + 35SU+35+30CR (150 total)
20190406 none
20190407 25+25CR (50 total)
20190408 25+25CR (50 total)
20190409 25AR+25CR+25SU + 25AR+25LL+25CR (150 total)

Week 13 (475)

20190410 25+25CR+25AR + 25AR (100 total)
20190411 25+25+25CR+25LL (100 total)
20190412 none
20190413 none
20190414 25AR+25CR+25LL+25SU + 30+25+20CR (175 total)
20190415 none
20190416 none

Week 14 (1415) – NEW RECORD!!!

20190417 25StandingClench + 40+20SU+20+25CR+15LL + 25+25+25+25CR (245 total)
20190418 25+25SC + 25+25SC (100 total)
20190419 25+25SC + 25+25AR + 25SC + 25+25SC (175 total)
20190420 25 + 25 + 25 + 25 + 30SC + 30+30+25CR+20AR (235 total)
20190421 30+30SC + 30+30CR + 50SC + 30SC + 30+30SC+20+15LL+30AR (325 total)
20190422 35+35SC + 25+25CR + 50SC + 20LL + 30+25CR+30+30+30SC (335 – NEW RECORD!!!)

My weight has gone back up to the 236-range which is a combination of bad eating and lower exercise levels. However, this past week I’ve started cycling. I’ll be starting to cycle to my office daily soon. Maybe next week. And I’ll start sharing my cycling progress.