## Linux Server Hardening

Below is an example check list for Linux server hardening – All ports except SSH, http is blocked. On some of the servers, DNS and...

Skip tto content
##
Technology Articles Blog

#
Category: Technology Home

##
Linux Server Hardening

##
Arrays, Pointers and References in C++

##
Classes and Objects in C++

##
C++ – The classic Object Oriented Programming Language

##
Ada – The Veteran Programming Language

##
Software Metrics and Models

##
Structured Coding Techniques and Perfect Coding Styles

##
Software Availability

##
Software Reliability Metrics

##
Software Faults

##
Software Reliability

##
How to build a web application in the latest .NET platform (.NET 5.0)

##
Fundamental Concepts in Software Design

##
Major Activities in Software Design

##
Software Cost Estimation

##
Creating a simple MVC based web application in C#/ASP.NETCore 3.1

##
Building a simple Web Application in .NET Framework 4.6x and C#

##
Replacing Email with a normal Username in ASP.NETCore UserIdentity

##
Factors Affecting Software Cost

##
Programming Team Structures

##
Software Development Team Structures

##
Connecting Traditional Water Fall Software Life Cycle Model with Agile Models

##
Managerial Issues of Software Engineering

##
Factors Affecting Software Quality and Developer Productivity

##
Software Engineering

##
Minimal Spanning Trees and Kruskal’s Algorithm

##
Depth First and Breadth First Traversal

##
Graph Traversals and Spanning Forests

##
Linked representation of Graphs in C

##
Implementing Ford Fulkerson’s Algorithm in C To Maximize Network Flow

##
Implementation of Warshal’s Algorithm in C to find Path Matrices of a Graph

##
Representing Graphs and Networks in C

##
Merge and Radix Sorts

##
Insertion Sort and its implementation in C

##
Heap Tree Sort and its implementation in C

##
Binary Tree Sort in C

##
Selection Sort

##
Quick Sort

##
Bubble Sort in C

##
Efficiency and Order of a Sorting Program

##
Recursive C program for Towers of Hanoi

##
Efficiency of Recursion

##
Recursion in C

##
Doubly Linked Lists

##
Simulation of Josephus Problem using Circular lists

##
Dynamic Circular Linked Lists in C

##
Advantages of Dynamic representation of Lists over its Array implementation

##
Dynamic Linked Lists as Queues in C

##
Implementing Dynamic Linked Lists in C

##
Queues and its implementation in C

##
Game Trees

##
Representing Lists As Binary Trees in C

##
HUFFMAN Algorithm and its implementation in C

##
Threaded Binary Tree and its implementation in C

##
Traversing a Binary Tree in C

##
C program implementing Binary Tree Search to find duplicates of a file

##
Binary Tree representation and Primitive Operations on a Binary Tree in C

##
C program for Hailstones series

##
C program to implement Russian Peasant

##
C Programming Language

Technology Articles Blog

Below is an example check list for Linux server hardening – All ports except SSH, http is blocked. On some of the servers, DNS and...

C++ supports implementation of array of objects. Below is a simple implementation of array of objects – Note that we polymorphic constructors that acts upon...

Classes are logical abstractions while Objects are instances of the classes that physical existence in the memory. Syntax for class declaration – We could use...

C++ is/was and will be one of the classic and ever-green object oriented programming language built for the pure purpose of creating strongly typed, object...

Ada, a descendent programming language mainly of Pascal, is a statically and strong typed, structured and imperative programming language that inherently supports pure object oriented...

Software metrics refers to measuring the software qualitatively and quantitatively so that we arrive at a perfect assessment of software quality and other attributes of...

The use of structured coding techniques and styles supports the primary goal of implementation to write quality source code and internal documentation that aid in...

Software Availability is defined as expected fraction of time for which a component or a system is functioning acceptably. If a program has a constant...

Software Reliability Metrics relates to measurements made for assessing software reliability. Most of these software reliability metrics evolved from the earlier hardware reliability metrics. The...

Software Faults Software reliability depends heavily on defects in a software product and a repair activity undergone to correct them consequently as an entity to...

The three of the most important Software product characteristics are – Quality, Cost and Schedule. Quantitative measures exist for cost and schedule. But quantification of...

As you all know, Microsoft launched the latest version of its .NET platform by unifying all of its .NET flavors/platforms/frameworks. Its actually the 5.0 version...

Fundamental concepts of Software design include Abstraction, Structure, Information hiding, Modularity, Concurrency and Verification. Abstraction – Abstraction is the intellectual tool which enables us to...

Software Design is the process of creating the blueprint for the Software system being build. Generally, there are 3 major activities in Software Design –...

Estimating Software cost is an art. Software Sizing is important since the accuracy of the Software Project Estimation depends on – the extend to which...

.NETCore is the widely used cross-platform and open-source developer platform for building web/mobile/desktop/games/IoT/AI/ML apps. The future of .NET itself is set on one single flavor...

As we all know, .NET is the widely used cross-platform and open-source developer platform for building web/mobile/desktop/games/IoT/AI/ML apps. As it evolved throughout the past few...

We use ASP.NETCore UserIdentity a lot to implement and manage the User authentication mechanism for your website or application. Many times we don’t want the...

Its useful for a Software Practitioner to understand the factors affecting Software Cost in order to arrive at close to perfect cost estimates. Most of...

We have seen traditional and recently popular Software Development Team Structures. Now let us discuss on some specific team structures for the Programming or the...

In this article we will start by reflecting upon some traditional software development team structures. This will help us appreciate where we came from. Some...

This article is written by wearing the traditional hat to appreciate where we came from. Water Fall or Phased approach to Software Development is the...

Software Engineering is the discipline that has historically studied, developed and is continuously improving methods, processes, techniques and frameworks to facilitate the analysis, design, development,...

If you take any Software Development environment, where a piece of code is written to automate a process, we can generalize the factors affecting Software...

Computer Software or Software is an integral part of this Information Age which enables information collection, storage, processing and management of Information within machines or virtual...

Given a weighted graph G, it is often desired to generate a spanning tree such that the sum of the weights of the tree edges...

Depth first traversal of a Graph could be used to traverse a directed or un-directed graph and thus creating a spanning tree. Depth first traversal...

Connected Graph A graph is said to be connected if there is a path between any two of its nodes. Cycle A Path from a...

There are many in-inadequacies in using the Adjacency Matrix representation of Graphs. Once such inadequacy is the difficulty in adding or deleting nodes while data...

Flow Problem The main objective of a flow problem is to maximize the amount of an item being delivered from one point of a system...

Warshal’s Algorithm can be applied to find the Path Matrices and this the TRANSITIVE CLOSURE of a graph given its adj matrix. Warshal’s algorithm is...

A Graph is a data structure that consists of a set of nodes interconnected by directed or un-directed arcs. For a DIRECTED Graph, the ordered pair of nodes...

Merge Sort Merge Sort is a process of combining more than one sorted files into a single sorted file. The procedure is to divide a...

Insertion Sort is a simple implementation of the general straight selection sort. A simple routine for insertion sort can be written as below – void insertionsort(int...

Heap is an almost complete Binary Tree implemented in a sequential format such that the value at any of the nodes (nd) is >= or <=...

Binary Tree Sort uses a Binary search tree. The various steps involved in such a sort would be – Construct a binary tree with the given...

A Selection sorting technique uses a general algorithm which uses an ascending or descending priority queue. The idea would be to pre-process input array X[i] into...

The popular exchange sort mechanisms are Mean sort, Quick Sort and BSort and Quick sort is the most simple one. Quick sort is most applicable...

Lets explain Bubble sort by illustrating tow specific examples involving steps where smaller numbers bubbles to first and when larger numbers bubbles to last. Number...

Efficiency Considerations The following are the efficiency considerations while planning for a sorting program / algorithm – Time required to code the program and the...

Towers of Hanoi problem consists of 3 pegs A, B and C. Let n denote number of disks in peg A. The objective is to...

In general cases, a non-recursive program runs more efficiently than a recursive program since a recursive program requires more execution time to enter and exit...

Recursion Recursion and Iteration are two different concepts of achieving a result by a number of repeated operations. Iteration involves use of for, while and...

Doubly Linked lists eliminates below drawbacks of circular lists – not able to traverse backward not able to delete and node given only points to...

Josephus Problem Josephus problem is that some soldiers are being surrounded by their enemies and there is only one horse to escape i.e. only one...

Circular lists eliminates same drawbacks of linear lists. In as circular list it is assumed that items are inserted at the front and the list...

Below are the advantages of Dynamic representation of Lists over its Array implementation – No advanced knowledge of number of nodes is required No memory...

When Dynamic Linked Lists are represented as Queues, the first node represents front of queue given by q.front and last node represents the rear of...

List is a type of dynamic data structure which rectifies certain drawbacks of Stacks and Queues. Lists generally uses the concept of pointers which points...

A Queue is a First In First Out (FIFO) which is an ordered collection of items which are deleted at the front end and inserted...

Game Tree is one of the applications of Binary Trees. For example the one implemented for the Tic-Tac-Toe Game. X | X | X O...

Case 1: A list could be represented as a Binary Tree with all the list elements along with their information at the leaf nodes. For...

Huffman trees are used as message encoding and message decoding trees which is the basic construct of compression and de. The specialty of Huffman tree...

Threaded Binary Trees are those in which the NULL right pointers of all nodes are THREADED to its immediate inorder successor in the Binary Tree. Such...

There are generally 3 traversal strategies for Binary Trees – INORDER, PREORDER and POSTORDER. For eg:, the inorder, preorder and postorder traversal of an expression tree...

A Binary Search is such a Binary Tree in which the info field of any of the nodes to the left of a particular node nd...

Binary Trees are one of the core data structures used in any programming language to implement complex systems. C programming language offers various binary tree...

Hailstones is a sequence of numbers that could be generated from any positive number by performing a specific operation on it until it reaches 1....

Here is a C program that I wrote years back to implement Russian Peasant method of an interesting multiplication technique – main(){ int a, b,...

C language developed at Bell lab by Dennis Ritchie on UNIX environment. UNIX was later rewritten in C. An earlier version of C is BCPL...