What Does “Branch by Abstraction” Entail?

Problem scenario
You have read about “branching by abstraction,” but you do not know what it means. You read that it is ideal when the coding you are doing cannot be done incrementally. How do you “branch by abstraction”?

Solution
It is a method of trunk-based development; instead of using a branch, you commit to the trunk (or main) branch of your repository.

Is It a Recommended Practice to Use Production Data when Testing Software?

Problem scenario
You want to test your application. You are considering using mock/fake data. But you are concerned that the tests will be insufficient. Is it a best practice to test with production data?

Answer
It depends. We prefer the term “recommended practice” because of questions like these.

Some sources recommend using production data:

…many production issues are due the lack of real(istic) test data…
To ensure software of the highest quality possible,

What is Long Tail Latency or Tail Latency in the Context of Application/Website/System Performance?

Question
What is long-tail latency or tail latency?

Answer
Tail latency is the worst performing time-measured response from an application. Outliers can be described as requests that take far longer than others in a statistical sample. Such irregular durations, with long latencies, are said to be at the tail-end of a chart or graph. Long-tail latency would generally refer to the worst 1% or worst 2% of the requests.

What Are Reliability, Scalability and Maintainability?

Question
You want definitions of some I.T. terms. In the context of application/system design, what are reliability, scalability and maintainability?

Answer

Reliability: Dependability or suitable for production; the property of performing consistently over time; worthy of being trusted at all times due to fault tolerance. A system that can perform despite hardware failures or regional data center failures is said to have reliability.

What is Knowledge of Merging Strategies in the Context of Git?

Question
What are different merging strategies in the context of Git?

Possible Answers
“…branches are completely useless unless you merge them…” – Linus Torvalds

A branch is a set of files associated with a code base usually in a collection known as a repository. Atlassian says “[b]ranching is a feature available in most modern version control systems…”,

Confused about Legal Policies for your Small Business?

Problem scenario
You run a website business. Where do you go to get an understanding about legal policies? You want to learn more about how to comply with Amazon’s Affiliate Marketing program’s policies. What do you do?

Solution
You can try termly.io for general policy information assistance. For Amazon’s Affiliate Marketing program specifically, see this external posting.

What Can Cause an Application to Run Slowly?

Problem scenario
You support an existing application and its servers. It is experiencing slowness as the users are complaining about its performance. What are some potential root causes of this slowness?

Possible Solutions

  • The slowness is caused by the client. A user’s workstation has something wrong with it (e.g., malware, or it is trying to run too many applications at once).