Posts by Year

2022

Arrangement

5 minute read

Equipped with the subject matter for your argument or speech, after having determined the issue at hand, thought out appropriate supporting arguments drawn f...

Sources of proof

4 minute read

Know the areas where you must hunt for, and track down what you are trying to find. Once you have surrounded the entire place with the nets of your though...

On persuasive speech: Marcus Tullius Cicero

4 minute read

The nature of eloquent and persuasive speech has been fiercely debated. Is rhetoric an art or a skill? Does it require natural ability, or can it be aquired ...

The next best thing

less than 1 minute read

“You do what you can for as long as you can, and when you finally can’t, you do the next best thing. You back up but you don’t give up.”

Encryption

3 minute read

Encryption is when you change data with a special encoding process so that the data becomes unrecognizable (it’s encrypted). You can then apply a special dec...

Intrusion Detection and Prevention Systems

2 minute read

Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS) are both parts of the network infrastructure. IDS/IPS compare network packets to a c...

Server Hardening

2 minute read

Server hardening is a general system hardening process that involves securing the data, ports, components, functions, and permissions of a server using advan...

How To Prevent Eavesdropping Attacks

2 minute read

The increasingly digital world makes it easier for hackers to intercept corporate information and user conversations. However, it also presents opportunities...

Passive Attacks on Networks

4 minute read

Attacks can be categorized in two main types: “Passive” when a network intruder intercepts data traveling through the network, and “Active” in which an intru...

Database Hardening

3 minute read

Database hardening involves securing both the contents of a digital database and the database management system (DBMS), which is the database application use...

Managed Lifecycle

3 minute read

Containerized applications managed by cloud-native platforms have no control over their lifecycle, and to be good cloud-native citizens, they have to listen ...

On Kubernetes Disaster Recovery

2 minute read

Every mission critical application should have a foolproof disaster recovery strategy. To ensure the high availability of any application, it is essential to...

Back to Top ↑

2021

Fostering Autonomy

2 minute read

Learners are expected to do much of their learning virtually or at a distance from one another in face-to-face classes.

Socratic Method

2 minute read

The Socratic method (also known as Socratic debate) is a form of cooperative argumentative dialogue between individuals, based on asking and answering questi...

Threat Modeling

2 minute read

Threat modeling works to identify, communicate, and understand threats and mitigations within the context of protecting something of value.

A Great Speech

1 minute read

A speech serves as an ideal medium when presenting information in meetings.

If Positions Were Reversed

less than 1 minute read

“Communicate unto the other person that which you would want him to communicate unto you if your positions were reversed.”

Taking notes on a meeting

1 minute read

Before you start taking any notes be clear about why you are attending the talk or meeting. Basically what are you hoping to learn or gain from it.

Writting Effective Emails

2 minute read

It may seem like an easy and simple task, but crafting a great email is an art. Here you can find some pieces of advice I would give to anyone struggling wit...

Effective Communication

2 minute read

Effective communication is a process of exchanging ideas, thoughts, knowledge and information such that the purpose or intention is fulfilled in the best pos...

Kubernetes

1 minute read

If the number of applications grows in our system, it becomes difficult to manage. Docker is not enough, since we need a coordination to do the deployment, t...

Optimal Stopping

1 minute read

In mathematics, the theory of optimal stopping or early stopping is concerned with the problem of choosing a time to take a particular action, in order to ma...

Then just be yourself

less than 1 minute read

“If changing strategies doesn’t help, you can try to change the game. And if that’s not possible, you can at least exercise some control about which games...

Single Page Application

1 minute read

SPA stands for single page application. Strictly speaking, it’s a single page website which dynamically updates in a client’s browser. A more general underst...

Three-Tier Architecture

3 minute read

Three-tier architecture, which separates applications into three logical and physical computing tiers, is the predominant software architecture for tradition...

Sticky Sessions & SSL

1 minute read

One of the realities of three-tier applications is that they are, as a general rule, stateful.

Layer 7 (HTTP) Load Balancing

1 minute read

Layer 7 (HTTP) load balancing offers versatility. You can load balance requests based on anything HTTP – including the payload.

Global Server Load Balancing (GSLB)

1 minute read

GSLB is the means by which you ensure that if one data center (cloud or traditional) isn’t responding, you can find another. GSLB can be applied at the domai...

Throttling

1 minute read

An alternative design pattern to QBLL is the throttling pattern, which centers on the concept of the “noisy neighbor” problem.

Retry

1 minute read

The retry pattern, a common cloud design pattern when dealing with third-party interactions, encourages applications to expect failures. Processes that imple...

Queue-based load leveling

less than 1 minute read

Queue-based load leveling (QBLL) is a common cloud design pattern that helps with scale problems as an application grows. Rather than performing complex oper...

Bulkhead

less than 1 minute read

Named after the divided partitions of a ship that help isolate flooding, the bulkhead pattern prevents a single failure within an application from cascading ...

Sidecar

less than 1 minute read

Peripheral tasks such as Monitoring, Logging etc are critical to most applications and often integrated within them. However, these tasks run alongside the s...

Asynchronous Request and Reply

less than 1 minute read

When we talk about Cloud Applications, Micro-services often come to mind. This is an architecture style where multiple micro-services i.e. remote APIs or thi...

External Configuration Store pattern

less than 1 minute read

Move configuration information out of the application deployment package to a centralised location. This can provide opportunities for easier management and ...

Circuit Breaker

less than 1 minute read

There are situations where failures can be caused by unexpected situations and take relatively longer to fix. Retry or waiting for the request to timeout may...

Anti-Corruption Layer pattern

less than 1 minute read

Implement a façade or adapter layer between different subsystems that don’t share the same semantics. This layer translates requests that one subsystem makes...

Ambassador pattern

less than 1 minute read

Create helper services that send network requests on behalf of a consumer service or application. An ambassador service can be thought of as an out-of-proces...

Hold No Opinions

less than 1 minute read

“ The Tao is not difficult for those who have no preferences. When love and hate are both absent, everything becomes clear and undisguised. Make the small...

Cycle time

3 minute read

Imagine the simplest change to your production system that you can think of. You want it to be so simple that you can ignore the variable cost of development.

Code review: What are you reviewing for?

2 minute read

When reviewing code you need to know what is expected. Are you reviewing for security, functionality, maintainability, and/or style? Does your organization h...

Serverless architecture

1 minute read

Serverless architectures are application designs that incorporate third-party “Backend as a Service” (BaaS) services, and/or that include custom code run in ...

Design for failure

2 minute read

The concept of “Design for Failure” is often used to describe the approach that assumes that there will be a hardware or system failure somewhere, sometime –...

Limited and easy to procure

less than 1 minute read

“The wealth required by nature is limited and is easy to procure; but the wealth required by vain ideals extends to infinity.”

Microservices

3 minute read

Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are

Blue/Green deployment

2 minute read

Blue/green deployment is a technique for releasing applications by shifting traffic between two identical environments running different versions of the ...

Data Access Object DAO

4 minute read

DAO is really a ** J2EE pattern **. It is very easy to implement in PHP and it helps enormously to separate the access to the database from the rest of the c...

Traits

1 minute read

PHP implements a way to reuse code called Traits.

CI/CD Best Practices

1 minute read

Do Treat your infrastructure as code Use version control for your infrastructure code. Make use of bug tracking/ticketing systems. Have peers review change...

Carried away by the current

less than 1 minute read

“If a man going down into a river, swollen and swiftly flowing, is carried away by the current — how can he help others across?”

Testing Stages

3 minute read

The three CI/CD teams should incorporate testing into the software development lifecycle at the different stages of the CI/CD pipeline.

Deployment Methods

1 minute read

You can consider multiple deployment strategies and variations for rolling out new versions of software in a Continuous Delivery process. The most common dep...

CI/CD Teams

1 minute read

AWS recommends organizing three developer teams for implementinga CI/CD environment: application team infrastructure team tools team.

Continuous Delivery

2 minute read

One misconception about continuous delivery is that it means every change committed is applied to production immediately after passing automated tests. Howev...

Infrastructure as code

2 minute read

Infrastructure as Code (IaC) is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) in a descriptive model...

Even the finest sword

less than 1 minute read

“Even the finest sword plunged into salt water will eventually rust.”

Meeting Agenda

2 minute read

It seems counterintuitive that spending time will free up time, but that’s exactly what one-on-ones can do.

Giving feedback

1 minute read

You should make sure your reviews are unsurprising, fair, and motivating.

Manager handoffs

2 minute read

You, your previous manager, and your new manager meet in the same room or video call. Most of the talking happens between the managers, but there should be c...

1:1

2 minute read

A 1:1 meeting (pronounced one-on-one or one-to-one meeting) is a regular check-in between two people in an organization – typically a manager and an employee...

Freedom

less than 1 minute read

“The most important consequence of self-sufficiency is freedom.”

Flyweight pattern

1 minute read

In computer programming, the flyweight software design pattern refers to an object that minimizes memory usage by sharing some of its data with other similar...

Singleton Anti Pattern

2 minute read

In software engineering, the singleton pattern is a software design pattern that restricts the instantiation of a class to one “single” instance. This is use...

Object Orgy

2 minute read

In computer programming, an object orgy is a situation in which objects are insufficiently encapsulated via information hiding, allowing unrestricted access ...

Yo-yo problem

1 minute read

In software development, the yo-yo problem is an anti-pattern that occurs when a programmer has to read and understand a program whose inheritance graph is s...

Ninety–ninety rule

less than 1 minute read

The “ninety-ninety” rule states that the first 90 percent of code construction uses up 90 percent of development time, and that the remaining 10 percent of c...

Overengineering

1 minute read

Overengineering (or over-engineering, or over-kill) is the act of designing a product to be more robust or have more features than often necessary for its in...

We did this ourselves

less than 1 minute read

“A leader is best When people barely know he exists Of a good leader, who talks little, When his work is done, his aim fulfilled, They will say, “We did t...

Bike shedding

1 minute read

Bikeshedding occurs when a development team spends a disproportionate amount of time and effort on a trivial or unimportant detail of a system, such as the c...

State behavioral pattern

2 minute read

State is a behavioral design pattern that lets an object alter its behavior when its internal state changes. It appears as if the object changed its class.

Chain of Responsibility behavioral pattern

3 minute read

Chain of Responsibility is a behavioral design pattern that lets you pass requests along a chain of handlers. Upon receiving a request, each handler decides ...

Proxy structural pattern

3 minute read

Proxy is a structural design pattern that lets you provide a substitute or placeholder for another object. A proxy controls access to the original object, al...

Network Vulnerability Scanners

2 minute read

Vulnerability scanners are automated tools that allow organizations to check if their networks, systems and applications have security weaknesses that could ...

Congestion games

1 minute read

Congestion games are a class of games in game theory first proposed by American economist Robert W. Rosenthal in 1973.

Embody it

less than 1 minute read

“Don’t explain your philosophy. Embody it.”

Authorization in Linux

2 minute read

Linux is a clone of UNIX, the multi-user operating system which can be accessed by many users simultaneously. Linux can also be used in mainframes and server...

PSR-11 Container Interface

2 minute read

The goal set by the Container PSR is to standardize how frameworks and libraries make use of a container to obtain objects and parameters.

PHP comments

3 minute read

When programming in any language the process of adding comments involves writing notes alongside the code to describe what the code does and how it works. Th...

PHP operators

3 minute read

Operators in PHP enable us to perform tasks on variables and values such as assign, multiply, add, subtract and concatenate them.

PHP constants

2 minute read

If you look up the word constant in a dictionary it will probably tell you that the word is used to describe something that is non-changing and non-variable,...

Git reset

2 minute read

The git reset command is a complex and versatile tool for undoing changes. It is invoked mainly in three different ways, corresponding to the command line ar...

Change

less than 1 minute read

“The Only Thing That Is Constant Is Change -”

Merge conflicts

1 minute read

A merge conflict is an event that takes place when Git is unable to automatically resolve differences in code between two commits. Git can merge the changes ...

Docker Swarm

3 minute read

A swarm consists of multiple Docker hosts which run in swarm mode and act as managers (to manage membership and delegation) and workers (which run swarm serv...

Docker Architecture

1 minute read

The engine consists of three major components: Docker Daemon: The daemon (dockerd) is a process that keeps running in the background and waits for commands ...

Docker Registry

2 minute read

An image registry is a centralized place where you can upload your images and can also download images created by others. Docker Hub is the default public re...

Docker images

3 minute read

Images are multi-layered self-contained files that act as the template for creating containers. They are like a frozen, read-only copy of a container. Images...

Container

2 minute read

In the world of containerization, there can not be anything more fundamental than the concept of a container.

Clearly frame success

less than 1 minute read

“When you delegate work to a member of the team, your job is to clearly frame success and describe the objectives.”

PHP Flow Control

6 minute read

One of the main reasons for using scripting languages such as PHP is to build logic and intelligence into the creation and deployment of web based data. In o...

PHP, Filesystems and File I/O

4 minute read

One of the benefits of PHP being a server side scripting environment is that it gives the web developer easy access to the filesystem of the server on which ...

PHP and Object Oriented Programming

4 minute read

An object is a self-contained piece of functionality that can be easily used, and re-used as the building blocks for a software application.

PHP and Cookies

4 minute read

Web servers are typically stateless entities. That is to say they serve up web pages without regard to who requested the page and with no knowledge of whethe...

PHP Sessions

2 minute read

PHP Sessions allow web pages to be treated as a group, allowing variables to be shared between different pages.

PHP Functions

2 minute read

In the world of programming and scripting there are two ways to write code. One way is to write long, sprawling and monolithic sections of script. Another is...

Twice

less than 1 minute read

“No man ever steps in the same river twice, for it’s not the same river and he’s not the same man.”

PHP Variable Types

2 minute read

In PHP you can find six types of variables: integer string float boolean array objects

How does php work?

2 minute read

PHP is an intuitive, server side scripting language. Like any other scripting language it allows developers to build logic into the creation of web page con...

PSR-1: Basic Coding Standard

1 minute read

The first standard is the basic coding standard. These are the basic rules that the voting members of the Framework Interoperability Group feel that you shou...

PSR-14: Event Dispatcher

3 minute read

Event dispatching has been around for a long time, in various forms, in many languages.

PSR-4 and namespaces

2 minute read

PSR-4 is a specification for auto-loading of classes from the file path. It describes where the files to be autoloaded are located.

PHP Standards Recommendations

1 minute read

Historically PHP, unlike other programming languages, has never had a standard that establishes how code should be written and structured. This has led to pr...

Gift exchange game

1 minute read

The gift-exchange game is a game that has been introduced by Akerlof and Yellen to model labor relations. Two players are at least involved in such game – an...

Signaling game

1 minute read

A signaling game is a simple type of a dynamic Bayesian game.

Bayesian game

2 minute read

In game theory, a Bayesian game is a game in which players have incomplete information about the other players.

The art of working together

less than 1 minute read

“The key elements in the art of working together are how to deal with change, how to deal with conflict, and how to reach our potential…the needs of the t...

Complete information

3 minute read

In economics and game theory, complete information is an economic situation or game in which knowledge about other market participants or players is availabl...

Blotto game

4 minute read

A Colonel Blotto game is a type of two-person constant-sum game in which the players (officers) are tasked to simultaneously distribute limited resources ove...

Fair cake-cutting

3 minute read

Fair cake-cutting is a kind of fair division problem. The problem involves a heterogeneous resource, such as a cake with different toppings, that is assumed ...

Prisoner’s dilemma

3 minute read

The prisoner’s dilemma is a paradox in decision analysis in which two individuals acting in their own self-interests do not produce the optimal outcome.

Simultaneous games

3 minute read

In game theory, a simultaneous game or static game is a game where each player chooses their action without knowledge of the actions chosen by other players.

Sequential games

2 minute read

In game theory, a sequential game is a game where one player chooses their action before the others choose theirs.

Defining traits of a game

less than 1 minute read

“When you strip away the genre differences and the technological complexities, all games share four defining traits: a goal, rules, a feedback system, and...

Cooperative and non-cooperative games

4 minute read

Although there are many types (e.g., symmetric/asymmetric, simultaneous/sequential, et al.) of game theories, cooperative and non-cooperative game theories a...

Zero sum game

2 minute read

In game theory and economic theory, a zero-sum game is a mathematical representation of a situation in which each participant’s gain or loss of utility is ex...

Chicken

3 minute read

The game of chicken, also known as the hawk–dove game or snowdrift game, is a model of conflict for two players in game theory.

Game theory

3 minute read

Game theory studies interactive decision-making, where the outcome for each participant or “player” depends on the actions of all.

Learning from mistakes

3 minute read

People see success as positive and failure as a negative. Failure isn’t a bad thing. You can learn, grow and evolve from your past mistakes. In business, fai...

Intuitive expertise

less than 1 minute read

“True intuitive expertise is learned from prolonged experience with good feedback on mistakes.”

Git branching strategies

3 minute read

Git changed the way development teams collaborate and think of merging and branching.

Algorithm efficiency

2 minute read

The efficiency of an algorithm is related to the amount of resources it requires to obtain a solution to the problem (fewer resources, greater efficiency). I...

Big O notation

2 minute read

Big O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.

Games of chance: Poker

3 minute read

A deck of cards naturally has the structure of a product set and thus can be modeled mathematically by

Games of chance

4 minute read

Games of chance hold an honored place in probability theory, because of their conceptual clarity and because of their fundamental influence on the early deve...

Probability theory

2 minute read

Probability theory is the branch of mathematics concerned with probability.

Birthday problem

2 minute read

The birthday problem or birthday paradox concerns the probability that, in a set of n randomly chosen people, some pair of them will have the same birthday.

Hash tables, solving collisions

4 minute read

Hash collisions are practically unavoidable when hashing a random subset of a large set of possible keys. For example, if 2,450 keys are hashed into a millio...

Hash table data Structure

3 minute read

In computing, a hash table (hash map) is a data structure that implements an associative array abstract data type, a structure that can map keys to values.

Set data Structure

2 minute read

In computer science, a set is an abstract data type that can store unique values, without any particular order. It is a computer implementation of the mathem...

Dictionary data Structure

2 minute read

A dictionary represents an unordered collection of keys and values. The Dictionary data type is optimized for fast lookup of values.

Tuple data Structure

2 minute read

A tuple is a data structure that is an immutable, or unchangeable, ordered sequence of elements. Because tuples are immutable, their values cannot be modifie...

Teamwork

less than 1 minute read

“Individual commitment to a group effort–that is what makes a team work, a company work, a society work, a civilization work.”

Linked List data Structure

2 minute read

In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. Instead, each elem...

Array data structure

1 minute read

An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. This makes it easier ...

Queue data structure

2 minute read

We can define the queue data structure as a restrictive linear FIFO (first in firstout) type structure, this indicates that the first element that entered th...

Stack data structure

2 minute read

We can define the stack data structure as a linear restrictive structure of type LIFO (last in first out), this indicates that the last element that entered ...

Management Styles

1 minute read

Being a great boss means helping to boost employee productivity and job satisfaction through effective management.

Sonarqube

3 minute read

SonarQube is available for free under the GNU Lesser General Public License. An enterprise version for paid licensing also exists, as well as a data center e...

Shopping cart theory

1 minute read

“The shopping cart is the ultimate litmus test for whether a person is capable of self-governing.”

Systemctl

3 minute read

The systemctl command is a utility which is responsible for examining and controlling the systemd system and service manager.

Effective Team Management

3 minute read

Being a leader is tiring and demanding. You’ve got so many pieces moving around at the same time. You’ve got deadlines to meet, you’ve got clients to attend,...

Gantt diagram

3 minute read

The Gantt chart is a graphical tool whose objective is to expose the expected time of dedication for different tasks or activities over a given total time. D...

Maslow’s Hierarchy of Needs

4 minute read

Maslow’s hierarchy of needs is a motivational theory in psychology comprising a five-tier model of human needs, often depicted as hierarchical levels within ...

Change management cycle

3 minute read

Organizational change refers to the actions a business takes to change or adjust a significant component of its organization.

Concealed talent

less than 1 minute read

“Concealed talent brings no reputation.”

Software development manager

2 minute read

A software development manager plans, directs, and coordinates all activities related to writing software programs.

Regular expresions in JS

1 minute read

There are two ways to create a RegExp object: a literal notation and a constructor. Parameters for literal notation are enclosed in slashes and do not use q...

Workflows

1 minute read

The workflow is the study of the operational aspects of a work activity: how the tasks are structured, how they are carried out, what is their correlative or...

One-Time Password

4 minute read

A one-time password (OTP), also known as one-time PIN or dynamic password, is a password that is valid for only one login session or transaction, on a comput...

Yubikey

2 minute read

The YubiKey is a device that makes two-factor authentication as simple as possible. Instead of a code being texted to you, or generated by an app on your pho...

Two-Factor Authentication

2 minute read

Two-Factor Authentication (2FA) works by adding an additional layer of security to your online accounts. It requires an additional login credential – beyond ...

The Coué method

less than 1 minute read

“Every day, in every way, I’m getting better and better”

Troubleshoot and Fix Your Code

5 minute read

The process of troubleshooting and fixing the bugs in your code isn’t intuitive to anyone who hasn’t spent a long time learning to code.

Debugging for beginners

3 minute read

Without fail, the code we write as software developers doesn’t always do what we expected it to do. Sometimes it does something completely different! When th...

Debugging strategies

7 minute read

Although there is no precise procedure for fixing all bugs, there are a number of useful strategies that can reduce the debugging effort.

Bug Prevention and Defensive Programming

5 minute read

Surprisingly, the debugging process may take significantly more time than writing the code in the first place. A large amount (if not most) of the developmen...

Social Learning Theory

4 minute read

Social learning theory, proposed by Albert Bandura, emphasizes the importance of observing, modelling, and imitating the behaviors, attitudes, and emotional ...

Point to Point Tunneling Protocol

3 minute read

PPTP (Point to Point Tunneling Protocol), is an outdated communications protocol that allows the implementation of virtual private networks or VPNs.

DOM

4 minute read

Document Object Model or DOM is essentially a platform interface that provides a standard set of objects to represent HTML, XHTML and XML documents, a standa...

Dart sintax

3 minute read

Every app has a main() function. To display text on the console, you can use the top-level print() function:

Flutter

2 minute read

Flutter is a free and open-source mobile UI framework created by Google and released in May 2017.

PHP

3 minute read

PHP is a general-purpose programming language that is especially suited to web development.

Opportunity

less than 1 minute read

“How an employee initially perceives a company in terms of opportunity has a huge impact on how long they will stay.”

Making an effective onboarding

1 minute read

By “onboarding” I don’t mean the first day or week or month you start a new job and complete paperwork, learn where the bathroom is, and how to file expense ...

JavaScript Sintax

1 minute read

JavaScript’s syntax is the set of rules that define how JavaScript programs are constructed

JavaScript

2 minute read

JavaScript is a programming or scripting language that allows you to implement complex functions in web pages, every time a web page does more than sit there...

Git push

1 minute read

The git push command is used to upload content from the local repository to a remote repository.

Skillful

less than 1 minute read

“The greater the difficulty, the more glory in surmounting it. Skillful pilots gain their reputation from storms and tempests. ”

Git pull

2 minute read

The git pull command is used to pull and download content from a remote repository and instantly update the local repository to reflect that content.

Git merge

2 minute read

Merge is Git’s way of rejoining a forked history.

Git branches

4 minute read

Branching means you diverge from the main line of development and continue to do work without messing with that main line.

Git file lifecycle

3 minute read

When a project is under Git version control system, they are present in three major Git states .

Advanced Message Queuing Protocol AMQP

6 minute read

The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP ar...

Virtual Private Network

2 minute read

A virtual private network (VPN) is a computer network technology that allows a secure extension of the local area network (LAN) over a public or uncontrolled...

Simplicity

less than 1 minute read

“Simplicity is prerequisite for reliability.”

Fish Shell

2 minute read

Friendly interactive shell (abbreviated as fish) is the name of a Unix shell that is intended to be interactive and user-friendly, unlike other shells.

Performing code reviews

6 minute read

A code review is a synchronization point among different team members and thus has the potential to block progress.

Gitlab

2 minute read

Gitlab is a Git-based collaborative software development and version control web service. In addition to a repository manager, the service also offers wiki h...

A good test case

3 minute read

We define a test case as being a written document that provides comprehensive information on what, and how to test. A test case contains details such as the ...

Requirement analysis

2 minute read

Requirement Analysis, also known as Requirement Engineering, is the process of defining user expectations for a new software being built or modified.

Test Plan

5 minute read

A test plan is a document detailing the objectives, resources, and processes for a specific test for a software or hardware product. The plan typically conta...

Quality Control

less than 1 minute read

Quality control starts and ends with training.

What is Quality Assurance?

3 minute read

Quality assurance is used to refer to the process of verifying, both internally to our team and externally to clients, that the product we’ve created meets t...

What is Learning?

3 minute read

Almost every action we take is the result of past learning yet, for some people, learning still remains an activity undertaken in, or associated with, an edu...

Remote Learning

1 minute read

Remote learning is the process of teaching and learning performed at a distance.

Types of remote training

1 minute read

When we use the term ‘remote training’, most people’s first thought is something similar to an online meeting.

Learn to do more

less than 1 minute read

“Learning experiences are like journeys. The journey starts where the learning is now, and ends where the learner is more successful. The end of the journ...

Learn how to teach

3 minute read

It doesn’t matter what you do. Good teaching practices are important.

Setting up pytest

1 minute read

To gain experience using Pytest I am going to write code that works like a calculator.

Intro to pytest

2 minute read

Pytest is a testing framework based on python. It is mainly used to write API test cases.

Mandela on success

less than 1 minute read

“Do not judge me by my success, judge me by how many times I fell down and got back up again.”

Intro to Jenkins

3 minute read

Jenkins is an open-source server that is written entirely in Java. It lets you execute a series of actions to achieve the continuous integration process, in ...

Puppet

2 minute read

Puppet is a cross-platform client-server based application used for configuration management. It handles the software and its configurations on multiple serv...

Gherkin Sintax

12 minute read

Gherkin uses a set of special keywords to give structure and meaning to executable specifications.

Behavior Driven Development

2 minute read

BDD (Behavior Driven Development), is a behavior-directed development strategy which has evolved from TDD (Test Driven Development), although it is not a tes...

Golang

3 minute read

GoLang was reportedly conceived by developers at Google when they were waiting for the code compilation to complete in a project.

Producer-consumer problem

4 minute read

The producer-consumer problem is a classic example of a multiprocess synchronization problem. The program describes two processes, producer and consumer, bot...

systemd

4 minute read

systemd is a Linux initialization system and service manager that includes features like on-demand starting of daemons, mount and automount point maintenance...

Cloud Computing

2 minute read

Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing.

Ansible

2 minute read

Ansible is a free software platform for configuring and managing computers.

Amazon EC2

1 minute read

Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) Cloud.

Continuous Integration

2 minute read

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in ...

Continuous Deployment

3 minute read

Continuous Deployment (CD) is a software release process that uses automated testing to validate if changes to a codebase are correct and stable for immediat...

Post-Mortem

2 minute read

A post-mortem is held after an incident has taken place.

Linux network configuration

6 minute read

Having access to the network is a key feature of most Linux systems. Users want to surf the net, send and receive email and transfer files with other users.

Bash Scripting

6 minute read

You can build scripts to automate repetitive parts of your work, which frees your time and ensures consistency each time you use the script. For instance, if...

Never trust, always check

less than 1 minute read

“It is essential to know that no single specific technology is associated with Zero Trust architecture. The Zero Trust is a security model based on the pr...

Splunk

4 minute read

Splunk is a piece of software used for searching, monitoring and analyzing big data generated by machines, applications, systems and IT infrastructure throug...

Security Information and Event Management

5 minute read

Security information and event management (SIEM) is a subsection within the field of computer security, where software products and services combine security...

Back to Top ↑

2020

Security Operations Center

1 minute read

Equipped with servers, firewalls, intrusion detection systems, antivirus software and other specialized systems, a SOC monitors network and Internet activity...

What is version control?

3 minute read

Version control, also known as source control, is the practice of tracking and managing changes to software code.

Intro to docker

2 minute read

Let’s talk about docker and the buzzword containers.

Move

less than 1 minute read

“Be not afraid of going slowly, be afraid only of standing still. ”

Glob characters

2 minute read

Bash does not support native regular expressions like some other standard programming languages.

Linux and open source software

4 minute read

Software projects take the form of source code, which is a human-readable set of computer instructions. Since source code is not understood directly by the c...

Kernel and applications

2 minute read

The kernel of the operating system is like an air traffic controller at an airport, and the applications are the airplanes under its control. The kernel deci...

Shell

1 minute read

Once a user has entered a command, the terminal then accepts what the user has typed and passes it to a shell.

Linux is a kernel

2 minute read

The definition of the word Linux depends on the context in which it is used. Linux stands for the system kernel, which is the central controller of everythin...

Responsive to change

less than 1 minute read

“it is not the most intellectual of the species that survives; it is not the strongest that survives; but the species that survives is the one that is abl...

Test automation tools

3 minute read

You have already defined your strategy for test automation, you’ve put practices in place to build a culture that supports your strategy.

Scaling test automation

2 minute read

Writing automated tests that run perfectly against one environment it’s challenging in and of itself, but what about when you’re ready to scale your one su...

Future proofing test automation

2 minute read

Without a clear strategy in mind, many teams make the mistake of automating their tests for their current situation.

Test automation culture

3 minute read

Test automation is most successful when there is collaboration amongst different team members: the product owners, business analysts, developers, testers an...

Designing a test automation strategy

9 minute read

Let’s take a moment to consider what is your goal for starting a test automation initiative and what is it that you want to accomplish, who do you envision p...

What is a bug report?

1 minute read

If bugs occur (which they certainly do), the person finding the bug should be able to report (document & send) the bug to people in charge of fixing that...

The 4 Ws of bug reporting

1 minute read

Like police inspectors, we as developers rely on evidences which we gather through asking the right questions. A well-executed bug reporting strategy will br...

Testing vs Quality Assurance

less than 1 minute read

“Tests are sometimes mistaken with quality assurance. These two notions are not identical: 1) quality assurance ensures that the organization’s processes ...

Bug Severity vs Priority in Testing

3 minute read

Bug severity and bug priority are two commonly used terms in software testing. However, they are often used interchangeably, which is incorrect.

Bug prioritization

3 minute read

Time management is key in most software development projects. Especially when a lot of bugs start to come in, features requests pop up and new feature releas...

Code Red

4 minute read

Code Red was a computer worm first observed on the Internet on July 15, 2001. It attacked computers running Microsoft’s IIS web server.

IPv6

3 minute read

IPv6 is an upgrade to the IPv4 protocol, designed to solve address exhaustion.

Mirai

2 minute read

Mirai is a botnet whose targets are devices of the so-called Internet of Things (IoT for short).

NIMDA

7 minute read

Nimda is a computer worm. It spread quickly, surpassing the economic damage caused by previous outbreaks such as Code Red.

ILOVEYOU

3 minute read

ILoveYou (or VBS / LoveLetter) is a worm written in VBScript. In May 2000, it infected approximately 50 million computers, causing losses of more than 5.5 bi...

WannaCry

3 minute read

WannaCry is an example of encryption ransomware, a type of malicious software (malware) that cybercriminals use to extort money.

Spyware

2 minute read

Spyware is malware that collects information from a computer and then transmits it to an external entity without the knowledge or consent of the computer’s o...

Ransomware

3 minute read

Ransomware is a type of malicious program that restricts access to certain parts or files of the infected operating system and asks for a ransom in exchange ...

Keep moving forward

less than 1 minute read

“If you can’t fly, then run, if you can’t run then walk if you can’t walk then crawl, but whatever you do you have to keep moving forward”

Worms

3 minute read

A computer worm is malware that replicates itself to spread to other devices.

Botnets

3 minute read

A botnet is a set or network of computer robots (or bots), which run autonomously and automatically.

Modem

1 minute read

A modem is a signal modulator and demodulator, a device capable of converting digital signals into analog ones, but also analog into digital.

Router

1 minute read

A router is a device that connects computers that work within the framework of a network.

Data Science

2 minute read

Data science is the field of study that combines domain expertise, programming skills, and knowledge of mathematics and statistics to extract meaningful insi...

Ethernet

3 minute read

Ethernet is a standard for local area networks.

DOCSIS

1 minute read

Data Over Cable Service Interface Specifications (abbreviated as DOCSIS) is a globally-recognized telecommunications standard that enables high-bandwidth dat...

OSI model, Presentation Layer

1 minute read

The presentation layer ensures the information that the application layer of one system sends out is readable by the application layer of another system. For...

OSI model, Application Layer

2 minute read

The OSI model defines the application layer as the user interface responsible for displaying received information to the user.

OSI model, Session Layer

1 minute read

The session layer provides the mechanism for opening, closing and managing a session between end-user application processes, i.e., a semi-permanent dialogue.

OSI model, Transport Layer

1 minute read

The protocols of the transport layer provide host-to-host communication services for applications.

OSI model, Physical Layer

1 minute read

The physical layer includes the basic network hardware transmission technologies of a network. It is a fundamental layer that underlies the logical data stru...

OSI model, Network Layer

less than 1 minute read

The network layer is responsible for packet forwarding including routing through intermediate routers and it also manages quality of service (QoS), and recog...

OSI model, Data link layer

1 minute read

The data link layer or layer 2 is the second layer of the OSI seven-layer model of computer networks.

Input kludge

less than 1 minute read

An input kludge is a type of failure in software (an anti-pattern) where simple user input is not handled.

Reinventing the square wheel

1 minute read

To reinvent the wheel is to duplicate a basic method that has already previously been created or optimized by others.

Premature optimization

1 minute read

A phrase used to describe a situation where a programmer lets performance considerations affect the design of a piece of code.

Poltergeist

less than 1 minute read

A poltergeist is a short-lived, typically stateless object, used to perform initialization or to invoke methods in another more permanent class.

Tester driven development

1 minute read

In software engineering, tester-driven development or bug-driven development, is an anti-pattern where the requirements are determined by bug reports or test...

Do it

less than 1 minute read

“First do it, then do it right, then do it better.”

Web cache

3 minute read

A device for the temporary storage (caching) of Web documents (such as Web pages, images, and other types of Web multimedia) to reduce server lag.

Hyper Text Transfer Protocol

3 minute read

a.k.a. HTTP, a protocol which allows us to make requests for data and resources, such as HTML documents.

Smoke testing

1 minute read

A test suite that covers the main functionality of a component or system to determine whether it works properly before planned testing begins, also known as ...

Fuzz testing

4 minute read

Fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer progra...

Blackbox testing

2 minute read

A method of software testing that examines the functionality of an application without peering into its internal structures or workings.

Whitebox testing

3 minute read

In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases.

Talk is cheap

less than 1 minute read

“Talk is cheap. Show me the code.”

Acceptance testing

1 minute read

A level of software testing where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business req...

Regression testing

1 minute read

Any type of software testing done after code is changed in order to discover errors , lack of functionality, or functional differences with respect to the ex...

Integration testing

2 minute read

A type of testing where software modules are integrated logically and tested as a group.

Unit test

1 minute read

Unit tests are what programmers use to make sure that a code unit is working as expected.

Composite structural pattern

1 minute read

Composite is a structural design pattern that lets you compose objects into tree structures and then work with these structures as if they were individual ob...

Builder creational pattern

2 minute read

Builder is a creational design pattern that lets you construct complex objects step by step. The pattern allows you to produce different types and representa...

Abstract Factory creational pattern

1 minute read

Abstract Factory is a creational design pattern that lets you produce families of related objects without specifying their concrete classes.

Because it is fun

less than 1 minute read

“Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.”

Facade structural pattern

1 minute read

A facade is a class that provides a simple interface to a complex subsystem which contains lots of moving parts.

Bridge structural pattern

1 minute read

Bridge is a structural design pattern that lets you split a large class or a set of closely related classes into two separate hierarchies —abstraction and im...

Decorator structural pattern

1 minute read

Extending a class is the first thing that comes to mind when you need to alter an object’s behavior.

Adapter structural pattern

1 minute read

An adapter is a special object that converts the interface of one object so that another object can understand it.

Visitor behavioral pattern

1 minute read

The Visitor pattern suggests that you place new behavior into a separate class called visitor, instead of trying to integrate it into existing classes.

Template method behavioral pattern

1 minute read

The Template Method pattern suggests that you break down an algorithm into a series of steps, turn these steps into methods, and put a series of calls to the...

Observer behavioral pattern

2 minute read

This pattern lets you define a subscription mechanism to notify multiple objects about any events that happen to the object they’re observing.

Mediator behavioral pattern

1 minute read

The Mediator pattern suggests that you should cease all direct communication between the components which you want to make independent of each other.

Strategy behavioral pattern

less than 1 minute read

The strategy pattern allows switching out one algorithm or policy for another without modifying the client.

Model - view - controller

1 minute read

Model-view-controller , also known as MVC, is a software design pattern that separates the business logic from the user interface and the code that manages i...

Waste no more time

less than 1 minute read

“Waste no more time arguing about what a good man should be. Be one.”

Test Driven Development

3 minute read

Test-driven development (TDD) involves two practices: Test First Development and Refactoring.

Secure Shell

4 minute read

SSH, or secure shell, is a remote administration protocol that lets users, wherever they are, spawn a remote shell to work on their servers.

Gathering Information with NMAP

2 minute read

Nmap (Network Mapper) is a free software utility that lets you explore, manage and audit the security of computer networks.

On subnetworks

2 minute read

The Internet is a large network made up of a finite number of devices. A finite but extremely large number

The Internet Protocol

less than 1 minute read

The internet protocol allows two devices, wherever they are, to communicate with each other.

And so it begins

less than 1 minute read

Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke

Back to Top ↑