What is a Mutating Webhook?

Question
In the context of Kubernetes, what is a mutating webhook?

Answer
They are an API invocation that make changes to resources (and in some cases before they are created per medium.com).

"MutatingAdmissionWebhook is one of easiest ways of extending Kubernetes with new policy controls and resources mutation and a host of other options." (Taken from medium.com )

"Mutating controllers may modify related objects to the requests they admit; validating controllers may not." This quote was taken from this website.

If you want to build a mutating (admission) webhook, see this external posting.

Unlike a validation webhook, mutating webhooks happen at a different step in the admission controller process. The admission controller process starts with an API request and ends with persisting data to etcd.

See the diagram here and visually search for "diagram representing."

Object schema validation precedes validation webhooks; object schema validation happens after mutating webhooks.

How Do You Select a Subportion of an Image Using LibreOiffice Draw?

Problem scenario
You want to copy a subarea of a copied screenshot (just like Paint in Windows). How do you copy a rectangle cropped selection of a pasted screen shot using LibreOffice Draw?

Solution
1. Open LibreOffice Draw and paste the image in.
2. Click on the square icon in the upper right. It is an image of a square with sides extended on the left upper and right lower corners like this:

Click that beige/orange square with an empty middle.

Now you can select a subimage by moving a blue symbol on the perimeter inward.

How Do You Solve “Error Problem with installed package …docker-ce conflicts with podman-docker”?

Problem scenario
You try to install docker-ce on a CentOS/Stream/RHEL/Fedora server, but you get an error like this:

Error:
Problem: problem with installed package podman-docker-1:3.4.1-3.module_el8.6.0+954+963caf36.noarch
...
package docker-ce conflicts with podmoan-docker

What should you do?

Solution
This will remove some packages. Do not do this if you have customized the packages involved.

Run these commands:

sudo yum remove buildah skopeo podman containers-common atomic-registries docker container-tools

sudo dnf -y install docker-ce

Is It Legal to Ask about Salary/Compensation History?

Problem scenario
You are not sure if an employer can ask your salary history. The job application asks you to enter your salary history. Is it legal in the USA to ask a candidate about their previous salary history?

Answer
Maybe. For some states, the law only applies to the state government. It depends on the state, the city or possibly the type of employer. Read this article (but please note that it has not been updated in the past six months, and this is not legal advice). You may also want to see Paycor.com and Ultimatestaffing.com for their articles on this subject.

How Do You Resize the Amount of Memory an Oracle VirtualBox VM?

Problem scenario
You want to resize a VM in Oracle VirtualBox so it has more memory. How do you add RAM to a VM in Oracle VirtualBox?

Solution
1. Power off the VM.
2. Go to the Oracle VM VirtualBox Manager application.
3. Highlight the VM you want to modify.
4. Go to Settings -> System -> Motherboard
5. Change the "Base Memory" to what you want.
6. Click "OK".
7. Turn the VM back on.

Is It a Best/Recommended Practice to Use Wrist Rests?

Problem scenario
You have red about gel wrist pads for keyboard and mouse utilization. You think you should invest in ergonomic equipment. Should you get a wrist rest for your computer usage?

Solution
It is not clear.

For the "Yes":
Many companies that sell them recommend them, and some people prefer the gel support.
This site says to use them.

For the No:
This site says to not use wrist rests.

Another site says that it did not help one person who tried it.

How Do You Get Nodes in Kubernetes to Be Ready with a Network Plugin Error?

Problem scenario
Your pods are not ready in Kubernetes. "kubectl describe pods" results may have errors like this:

Warning FailedCreatePodSandBox 4m57s (x2035 over 69m) kubelet (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "abcd1234" network for pod "apache-tomcat-deployment": networkPlugin cni failed to set up pod "apache-tomcat-deployment" network: open /run/flannel/subnet.env: no such file or directory

(The symptoms of this problem will involve pods and nodes not being ready. You may go to an load balancer URL, but the page will not load. It is supposed to be an ingress to a Kubernetes web application. You expect to see a regular web page.)

What should you do?

Solution
Create the /run/flannel/subnet.env file. The pods will come back right away without you doing anything.

Here is the content of the file:

FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

echo "
FLANNEL_NETWORK=10.244.0.0/16 \
FLANNEL_SUBNET=10.244.0.1/24 \
FLANNEL_MTU=1450 \
FLANNEL_IPMASQ=true" > /run/flannel/subnet.env 

Is It a Best/Recommended Practice to Run “sudo systemctl start docker”?

Problem scenario
You read that you should not run a Docker container as root or with sudo privileges. Can you start the docker service with sudo systemctl start docker?

Solution
Yes, it is acceptable. You can use this:

sudo systemctl start docker

This solution was taken from https://docs.docker.com/config/daemon/systemd/.

What Does the Verb To Abstract Mean in Computing?

Question
In I.T., what does abstract or the act of abstraction mean?

Answer (Disambiguation of abstraction)

Examples
For TCP/IP Networking
The seven layers of the OSI model are abstractions. (This was taken from worlddidac.org.)

For Containerization
We find this quote in Docker Up and Running (by Matthias & Kane on page 125): "One of Docker's major strengths is its ability to abstract away the underlying hardware and operating system so that your application is not constrained to any particular host or environment." Another relevant quote is "[a] Kubernetes Operator is an abstraction for deploying non-trivial applications on Kubernetes." (This last quote was taken from a Nebulaworks' engineer; see the full quote here.)

For Programming
An application programming interface (better known as an API) is an abstraction; reducing an application to an interface enables other people or programs to invoke methods or functions of the program.

In programming an abstract data type is a logical concept; its actual implementation within the same programming language can vary (and use different built-in data types). (The previous sentence was paraphrased from page 634 of Cracking the Coding Interview.)

Abstraction is a feature of object-oriented programming; to read more see https://whatis.techtarget.com/definition/abstraction. Frederick Brooks said "[r]epresentation is the essence of programming." (As taken from page 103 of The Mythical Man Month.)

For Quality Assurance
For some testing, such as functional testing, of an application, someone will abstract away the details of the underlying implementation (by coding an abstraction merely for testing). This testing has its advantages and disadvantages. In some contexts, speed of testing is important. In other situations, a human's attention is important. There are pragmatic benefits to focusing on basic operational tests; if someone is too caught up in the details of unit testing (with the theoretical differences emphasized), they may not realize a fundamental problem has been introduced to the code. Functional tests that are automated or configured abstract away behind-the-scenes specifics.

For Intellectual Property
A software design is ineligible for a patent it is for an abstract idea. In the Alice Corp. v CLS Bank International lawsuit, the Supreme Court abstractness was defined as something conventional, overtly obvious or too broad to warrant a patent. The courts do not support improper attempts "to monopolize an abstract idea." (This paragraph and final quote were taken from this external site.)

Explanation:
To abstract is to reduce complexity of an asset, tool, or technology. Through the process of abstraction complex systems are represented in an understandable way. Distributed systems work to integrate multiple components of computing resources and data from disparate sources for real-time updates and rapid performance. The communication contract or protocol between the different assets on a network can be readily defined through abstraction. Industry standards help abstraction benefit rapid provisioning of I.T. infrastructure. Architecting modern software would be far more time-consuming without abstracting components.

Loosely coupled components are readily breakable. In other words they are disassociated from each other relative to tightly coupled components. Thus the trend toward loose coupling is a trend toward abstraction. Linux philosophy itself is modular, and the principle of loose coupling does not apply to merely programming or systems administration. The Law of Demeter, normally a programming concept, has applicability to microservices.

Microservices include atomic publishers, listeners and other tools that perform discrete tasks. They are popular because they can be replaced with different vendors or other competing tools without requiring every system to be similarly changed; microservices prevent vendor-lock-in while promoting scalability. They can support implementing (or abstracting) the underlying resources to for network communication over a TCP socket. Abstraction can play a role in asynchronous communications. A message queue can keep content throughout a network outage, and data processing can ensue with minimal human operation.

The best way of building fault-tolerant systems is to find some general-purpose abstractions with useful guarantees, implement them once, and then let applications rely on those guarantees.

Page 321 of Designing Data-Intensive Applications by Kleppman.

Byte code, CPU registers, cycles in gates of CPUs, random access memory, system calls, motherboard circuitry including capacitors and power supply electrical currents are quite complex when trying to comprehend the details of each component at the same time. AWS, Azure and GCP afford an abstract way of leveraging data center assets.

If QA tests are decoupled from one another (e.g., invoking an interface without a GUI), they can run independently. Thus abstracting a test from another allows for granular and parallel testing. Truly atomic tests renders the order of testing irrelevant (according to page 205 of Continuous Delivery by Humble and Farley). Not all tests can be atomic. Loosely coupled testing is ideal for the pipelinization of value streams. (See What is Pipelinization in Technology/Computing? if you want to read more about it.)

Certain business reports and features of an application may be only understood by professionals with domain knowledge. Abstracting the jargon from the application enables testing and development to progress.

Specialized systems can require deep technical knowledge. With abstraction such systems can be leveraged by other people seeking integrate other tools for dynamic solutions. To simplify a tool for its utilization is an example of abstraction. Disassociating a message publishing component from a server, container, cluster, network, or other technology enables an engineer to manage something useful. Given the context of certain businesses, abstraction allows teams to cooperate and interact productively with a reduced dependency on jargon and enterprise idiosyncrasies. What are called Software Engineers in modern times deal with networking, infrastructure, databases and security (often programmatically) through emulated or virtualized infrastructure resources. Abstractions empower manageability through the reduction of complexity.

To learn more about abstraction in I.T., you may also want to read this. We do want to acknowledge that there are implementations and architectures that involve too much abstraction. We hope you have a greater understanding of what it means to "abstract" something in the world of technology.

Are Income Taxes on a Bonus the Same Rate as a Regular Paycheck?

Problem scenario
You heard that income tax on a company's bonus are taxed at a higher rate. Is this true?

Answer
Yes. To calculate your approximate tax liability, you could use this website for informational purposes:

(You may want to talk to an accountant before relying on the statements here. This is not legal or tax advice.)