Frozen New Year 2022

Looks like we’ll be welcoming the new year 2022 without water.

Subzero temperatures and a well mean our water pipes have frozen tonight on December 31, 2021. It may be a few days before we can thaw them enough to get water running again.

An Asynchronous Test Runner?

Here’s a conversation on LinkedIn talking about which programming language you should choose for a test framework — including comments about how automated tests are inherently synchronous (which I agree with) and why someone would write an asynchronous test framework in, for example JavaScript.

Vikas Mathur

Typically, programming language for test automation can be any language, irrespective of which language the developers are using. However, to allow for more and effective collaboration with the developers, using the same language as them might make sense. Of course, there might be situations where it does make sense to use a different language – but in most cases, it makes more sense to use the same language. In case the language is different than the developers, it might make sense to use a language that has a good ecosystem for test automation. Something to think about while selecting a programming language for test automation.

(I agree with this)

Gabriele Cafiero 

I can’t still figure out why someone chose Javascript to test things. It’s asynchronous, and tests should be synced by definition. It has a weak typing so you have to double check any assertion of yours

(I agree with this also)

But here is where it sparked my own thought:

90% of the time, Javascript doesn’t need to be async, but library writers have a fetish for it because it was difficult for them to learn and so they want to show off that hard won knowledge.

But…there is a reason for asynchronous code and that’s efficient resource usage through task switching (i.e. the call stack).

Tests also have a need for this — although it’s not really utilized in any framework:

1. Tests need to run concurrently so you can get faster results
2. Tests take different times to complete, so you shouldn’t have to wait for a test blocking
3. Tests interact with asynchronous events (e.g. network, UI)
4. Test runs shouldn’t have to be discreet sequential loops.

Wouldn’t it be nice to have tests run continuously?
A test runner that listens for events to trigger tests and you don’t have to wait for (or kill) the previous test run to start another.

Imagine a continuous test queue that doesn’t depend on a specific job to run,

Imagine failing tests that dynamically rerun for stability.

Imagine commits that trigger specific tests, but don’t worry about full regression or smoke testing because that’s happening in the background.

So while an individual test needs to run synchronously (but also needs to await asynchronous events sometimes), having a test runner that operates in an asynchronous, event driven style is a great opportunity that hasn’t (to my knowledge) really been explored.

I keep confusing Peter Dinklage and Peter Mayhew

Here is Peter Mayhew as Chewbacca in Star Wars:

Here is Peter Dinklage as Tyrian in Game of Thrones:

While there is some passing similarity (besides the name) — perhaps in the way they groom their hair, or maybe a bit in the way they walk.

But Peter Mayhew is 7’3″. Peter Dinklage is 4’5″.

Maybe I should get a tape measure.

Anyone with a worse mixup?

On Productivity: Ducks & Chickens

Sometimes you produce more. Sometimes you produce less.

We got 2 ducks who didn’t start laying eggs until this fall. Since then, they’ve been laying pretty consistently.

Here is their output for the past two days:

The shiny eggs are from today. Every once in a while we get a giant — double sized — egg. It comes with two yolks. But today, we got this tiny little egg.

Did I complain?

No, I did not. I thanked her for the effort.

We also have about 40 chickens. We average about 2 eggs a day from them. But they laid all summer. There are still a couple hens that lay eggs – usually in the goat barn. (They’re leghorns, by the way). We’ll continue to feed the rest through the winter, knowing they’ll start producing again in spring.

There might be a work analogy in there somewhere.

Blog Stats by Country and Over Time

I’ve recently started blogging regularly again, but it’s been several years since I gave it much attention.

A recent blog redesign with a new theme — and *finally* a code formatting plugin that I like helps it to look better. I’m also taking time to put posts in the right categories and add meaningful tags to help people to search the content.

Here’s a snapshot of the new simpler, prettier layout with post summaries on the home page:

Looking back, I can see from my heyday in 2013-2014 where I averaged over 70,000 views, it’s slumped to an all time low of only 5,000 views this year.

But an interesting trend is how many countries I’m reaching. Just this year I’ve had visitors from 115 countries, but over all time, I’ve had visitors from almost every country (202 total!)