Russell Innovator Software, DevOps, Management, Systems, Radio

Until recently I had been able to specify a Python version and work with it. Here’s a brief outline of some work I did recently to support a language feature that changed across a few Python versions.

A colleague recently highlighted mutmut for helping improving tests. This post is a walk-through of my experience getting started with mutmut on a simple project that I’ve discussed previously

Through my recent User Experience course through Algonquin College I was exposed to the five elements of User Experience (UX) described in 1. This note proposes how to apply these planes to a Behavior Driven Development (BDD) feature system implemented using Gherkin syntax.

1. The Elements of User Experience, Jesse James Garrett, 2nd Ed., 2011

Conventional thinking has it that “user interface design” references a graphical user interface such as a desktop, web or mobile application. But over the last few years I’ve become increasingly aware of how important it is to consider user interface design for command line utilities as well.

Part 2, presenting a pattern for a CI/CD pipeline implementation using Gitlab CI for Continuous Integration and Continuous Deployment of Python projects distributed as wheel packages using PyPI.

Part 1, presenting a pattern for a CI/CD pipeline implementation using Gitlab CI for Continuous Integration and Continuous Deployment of Python projects distributed as wheel packages using PyPI.

One of the things that I have observed both in my own practice of software development, and from what I can see of others is that the concepts of Test Driven Development (TDD) are so counter intuitive and it takes considerable self-discipline, self-restraint and self-awareness to ensure that tests are constructed before code is written. So what does it take to overcome this barrier?

Python argparse is a standard library for a Python script to extract command line arguments. It’s pretty useful, but unfortunately most tutorials and even the documentation itself don’t assume unit testing of your argument parsing. I present here a pattern for argparse usage that enables and facilitates unit testing, along with a nice encapsulation of a “user options” concept for maintaining the user options specified from the command line.

I don’t mean just fewer errors, although that is definitely a happy side effect of TDD. I mean that the code is easier to read, maintain and has fewer leaky abstractions.

Gitlab documents a method for auto-scaling a gitlab-runner. But what if you are not able to apply Docker Machine concepts to your cluster, or don’t need autoscaling and are content to scale manually? Read on for my solution to simple, manual scaling of Gitlab runners in a Docker swarm.

This tutorial gives an overview of multiport black-box model theory and how it relates to commonly used parameters of linear, time invariant electrical networks. Expressions are also derived for the conversions between the various multiport parameters.

When each of the $$M$$ branch networks and source resistances are identical there is an equivalence between the multiport combiner with source resistance below and the single branch network also shown below, comprised of an effective source resistance $$R_{e}$$, a scaled branch network $$\mathbf{Y_{e}}$$ and the original trunk network $$\mathbf{Z_{t}}$$.

A combining network driven by multiple voltage sources as shown in the figure of Theorem 1 is equivalent to the same network driven by a single voltage source as shown below.

Let there be $$M$$ branches in the arbitrary combining network shown below. The output voltage $$v_{load}$$ of the network is proportional to the source voltages $$v_{src}^{\langle k \rangle}$$ scaled by the arbitrary networks interconnecting the branches to the combining node and the combining node to the load.

Since there are numerous valid definitions of two parameters depending on the reference point used, the reference currents and voltages used as the basis of further work will be described here. The diagram below shows the orientation of reference currents and voltages.

By returning to the original S-parameter definitions by Kurokawa 1 and taking some care to preserve the noncommutative properties of the matrix expressions then relatively simple expressions valid for an arbitrary number of ports may be derived.

1. K. Kurokawa, “Power waves and the scattering matrix,” IEEE Trans. Microw. Theory Tech., pp194-202, 1965.

Have you noticed that the Hibernate option is missing from the Power options in the start menu?

Testing. 1. 2. 3.