Advanced Search
Search Results
178 total results found
Target Host Errors
Missing Python Libraries If you have an Ansible playbook that is failing on a target host, it's likely that the Python libraries on the target host, are incompatible with the version of Ansible. This would present with an error message starting with: An exc...
C# Dealing with Sudo
Sudo presents some challenges when scripting command line work. Sudo was intended ONLY to be presented for interactive user sessions, to make sure a user is aware of the risk of the command being executed.But instead. Even a scripted CLI call from Python or C...
C# CLIWrap Chaining Multiple Statements
Normally, each call to CLIWrap is performed inside an independent terminal session. So, there multiple calls will not affect eachother, like one to set an environment variable, another to change folders, and a third to start a process, with that environment v...
Angular Monorepo Setup
Here's some notes on how to develop Angular in a Monorepo, with a specific (non-global) Angular version. What this means is, we will install the desired version of Angular, specifically for the application, so that multiple versions can exist on our developme...
C# Calculate Hash of List<T>
Here's a quick method that will generate a hash from a List of objects: public int GetHashCodeOfList<T>(IEnumerable<T> list) { List<int> codes = new List<int>(); foreach (T item in list) { codes.Add(item?.GetHashCode() ?? 0); ...
C# Check Two Lists<T> Are Equal
Quick method for check if two given lists of objects are equal: static public bool AreListsEqual<T>(List<T> list1, List<T> list2) { if (object.ReferenceEquals(list1, list2)) return true; return list1.Count == list2.Count && !list1.Except(list2).Any...
How to Override Styles of Third-Party Components
This is a quick how to, for overriding the styles used inside third party angular components. For example: The Clarity angular library includes a datagrid (clr-datagrid), which has an obligatory margin at its top and bottom, which creates too much whitespace ...
How to Override Property Type In Derived Interfaces
Sometimes, an interface is created that the wrong datatype for a property.This can be because the interface is from a third-party or because you are composing a more specific interface type and need to swap out more generic properties of the base type. Taken ...
How to Set Properties of a Web Component
Attribute binding can get complex. Here’s a running list of examples of how to do it. To set properties on a Web Component use the Angular [property] binding syntax. To listen to events use the Angular (event) binding syntax. <!-- - status - attribute sty...
Arch Linux VM Setup
Base VM Needs Select guest OS type: Linux and Linux 4.x from the Vsphere dropdowns. Make sure the install ISO is mounted, and boot the VM. Once the live terminal is up, determine if the guest VM is efi or not: ls /sys/firmware/efi/efivars If it’s an EFI p...
Angular: Sorting Arrays
Here’s a simple technique for sorting an array of objects. It accepts a simple function that returns a 1 or -1 result. // The questions property is an array of objects with a display order property. // We want them to be ordered ascending. // NOTE: The sor...
Developing in Multiple Angular Versions
When developing Angular applications and libraries on a host, you have to pay attention to what version of Angular you're targeting, to determine what version of Node.js, Typescript, and RxJS that your host needs installed. Here's the source matrix: https://a...
NVM - Node.js Version Manager
When maintaining Angular apps and other Javascript-based libraries, you will come across the need to have a specific version of Node.js running on your development host.Node Version Manager, is a Windows based package, that will swap in desired versions of Nod...
Jenkins: Home Profile
When Jenkins is installed on a linux host, the Jenkins service and any spawned builds run under the context of the jenkins user account.Problem is, the jenkins user account is not a regular user account, with a profile that lives under /home.Instead, the Jenki...
Linux: Impersonating Users
NOTE: This page was created to generalize the technique of impersonating a system account that has no defined shell, and no known password. Specifically, it was documented as a means to add functionality to a Jenkins build server (where the jenkins account has...
Jenkins Notes and Links
Here are links to Jenkins references. Jenkins User Manual: Jenkins User Handbook Dealing with the Jenkins System Account: Jenkins: Home Profile
Jenkins: Add Angular Build Support
Here are steps to perform on a Jenkins build server, so it's capable of building Angular Apps and libraries. NOTE: If you are installing NVM and Node on a Jenkins server, you will need to run all of the following under the jenkins user context.See this page f...
Installing Node.js on Ubuntu
This page shows how to install Node.js on an Ubuntu 22 host. It only shows how to install a single, global Node.js version. If you need multiple Node.js version support, see this page to work with NVM (Node Version Manager): NVM - Node.js Version Manager NO...
Ubuntu 22: Removing Existing Node.js
Ubuntu 22 comes with an existing version of node.js, v12, that is difficult to upgrade. This is because the libnode-dev package is holding onto it, and we must release it, first. Removing Conflicting Versions Run these to remove the conflicting package: su...
Ubuntu: SSH Server
Here are steps to setup the SSH server on an Ubuntu host. Here's a good reference article for how to do what we're doing here: How to Enable SSH on Ubuntu 20.04 Here are the commands to execute: sudo apt update sudo apt install openssh-server sudo ufw all...