All Articles

C# Generics

C# Generics are really useful when we want to reuse a class for different types and with constraints on what those types would be without rewriting those classes. C# allows at least 5 different kinds of Generics usage as related to the kind of constraints that we can use plus the most basic implementations such…

All Articles

C# Indexers

C# Indexers is a simple implementation of key/value pairs using Dictionary type. Below is a sample implementation of a telephone directory –TelephoneDirectory class using System.Collections.Generic; namespace Indexers {     public class TelephoneDirectory     {         private readonly Dictionary<string, string> _dictionary = new Dictionary<string, string>();         public string this[string key]         {             get { return _dictionary[key]; }             set { _dictionary[key] = value; }         }     } } As seen above, we use the ‘this[]’ notation to create the public property that sets/returns indexed value. We…

All Articles

C# Inheritance

We generally apply the concept of inheritance to implement a IS-A relationship. For example to implement a relationship that says an Apple is a Fruit or Earth is a cosmic object. We use inheritance very carefully so that it does not lead to long complex/un-maintainable object hierarchies, but to implement very specific object hierarchies with…

All Articles

C# Interfaces and how to implement loose coupling by Dependency (specific implementation of interface) injected via constructor overloading

Interface is a similar language construct such as class, but fundamentally different from a class. Some people claim that Interface is a way to implement multiple inheritance – this claim is also not true! If we were to implement inheritance via interfaces, then we would have re-used, but there is no code reuse while implementing…

All Articles

C# Abstract Classes Vs Interfaces

We use abstract classes when the base class can’t have concrete implementation and that we need the derived class to fully implement it. If at least one of the member is abstract, then the class will need to be declared as abstract. If a class derives an abstract class, then it needs to override all…

All Articles

Simple Stop Watch implementation in C#

Below is a simple stop watch implemented in C#, enjoy!StopWatch using System; namespace StopWatchApp {     public class StopWatch     {         public DateTime StarTime { get; set; }         public DateTime StopTime { get; set; }         public string ClockState { get; set; }         public void StartClock()         {             if(this.ClockState == “started”)                 throw new InvalidOperationException(“Invalid Operation”);             this.StarTime = DateTime.Now;             this.ClockState = “started”;         }         public void StopClock()         {             this.StopTime = DateTime.Now;             this.ClockState = “stopped”;         }         public TimeSpan ElapsedTime()         {             return this.StopTime – this.StarTime;         }     }  } Main Program using System; namespace StopWatchApp {     public class Program     {         public static void Main(string[] args)         {             Console.WriteLine(“Enter Start to Start the Clock,  Enter Stop to Stop the Clock to see the elapsed time.  Enter Quit to exit.”);             var clock = new StopWatch();             int alreadystarted = 0;             while (true)             {                 var inp = Console.ReadLine();                                 if (inp != “Quit”)                 {…

All Articles

Simple Workflow Engine Implementation in C#

Below is a simple implementation of work flow engine using interfaces and the concept of injecting overloaded class implementations via the dependent class method. The class constructor creates the List for storing the specific workflow implementations which are further executed.Interface – IWorkFlowActivities namespace WFEngine {     public interface IWorkFlowActivities     {         void Execute();     } } CarWorkflow using System; namespace WFEngine {     public class CarWorkflow : IWorkFlowActivities     {         public void Execute()…

All Articles

Building your Employee

Your Employee is your company’s pillar who keeps your company going and succeed. Their happiness, joy and right mental state is the core to your success. Below are some of the important things that you need to consider to make this happen – 1) Right Direction – The most important factor that leads to success…

Code First
All Articles

Using Code First first

Traditional ways of software development focus on DB-first implementation methodology. But we are in the realm of latest developments and ORM models has taken us to a level that is was a complex ordeal some years back. Eventhough a thorough domain/ERD based approach provides some advantages, there are far more overall improvements to development and…

All Articles

Using Extension Methods in C#

Extension methods are a way to add methods to a class without changing its source code or adding it into a derived class. Creating extension methods example Define extension method – public static class StringExtensions     {         public static string Reduce(this String str, int numOfWords)         {             if (numOfWords <= 0)                 return str;             var numWords = str.Split(‘ ‘);             if (numOfWords >= numWords.Length)                 return str;             return String.Join(” “, numWords.Take(numOfWords));         }     } Shorten is an extension class on the String class. Adding as above, we were able…

All Articles

C# Events and Delegates

We use events and delegates to extend applications and to implement loose coupling. Rather than adding various method calls within an implementation and then recompiling the class, we publish the need to call a set of methods as an event from the class that will invoke those methods (publisher). The publisher will thus define the delegate which will act…

All Articles

Using C# Delegates

  Delegates is a way to support addition of multiple features (eg: methods) to a framework without the need to recompile the core class that uses these methods. Delegate is a reference to a function/s and is itself an object (derived from MulticastDelegate) that knows how to call a method or group of methods. The…

All Articles

Preferred Multithreading in C# ASP.NET

Parallel execution has been one of the core techniques of programming languages that enables and stabilizes the heavy orchestrated flow of information across information management systems. All Object Oriented Programming languages provides couple different ways to implement this to function smoothly under heavy and stressful load 🙂 A better way was introduced in C# which…

All Articles

Software Project Size

Software Project Size is of great importance since it determines the level of management controls and the types of tools and technologies required for a software project. Accordingly, software projects are classified into 6 major categories as follows (this basic yard stick is used in all of the diversified software development and project management methodologies)…

Software Effort
All Articles

Effort Devoted To Building Software

Studies show that more effort is devoted to software maintenance (including software enhancement, adaption to new technologies and bug fixing) than for software development activities (that is about 40% for analysis + design + implementation). According to Boehm, the total effort spend during the software development life cycle is as follows – The following deductions…

Software Engineering
All Articles

Software Engineering then and now

Software Engineering is and will be the backbone and driving force behind the technological advancements that we enjoy and that will lead us to greater realms of information and knowledge management. Its good for us to refresh our basics and foundations. Software Engineering is a discipline which was conceptualized, developed and is constantly reviewed for…

All Articles

Importance Of Design Patterns

Design patterns in general helps you to implement standardized and efficient solutions to software design and programming problems. Design patterns are not pure inventions like a light bulb or a car. They are derived patterns that software engineers and architects found that could be standardized to be used to solve similar problems categorized across 3…

All Articles

C# Lambda expressions

Lambda expressions are anonymous methods that does not have access modifiers, name or a return. They are used for convenience (less code) and makes code more readable. Lambda expression takes the form below – arg => expression //spelled as argument goes to expression This can be used in 3 distinct ways as below – ()…

All Articles

Walking your life with Jesus

God gave us this life and he gave us a soul and body in his own likeness. His never ending love for his own creation leads him to show mercy to everyone, thus he sent his only son, Jesus, to redeem everyone who believes in him. God wants us to know who Jesus is and…

All Articles

Who is Jesus?

Who is Jesus? This is a question that is being asked by many and a question that we need to ask ourselves – Who is Jesus to me? Jesus is a mystery of God that he is God himself who existed in God himself even from the beginning of creation. The most visible explanation of this…

All Articles

Mind of Jesus

Has anyone thought how mind of Jesus would be? Has anyone tried to know the mind of Jesus? 1 Corinthians 2:15 talks about a few people who knew the mind of Jesus.St.Paul was one of those graceful people who had this special grace to be in the mind of Jesus always. 1 Corinthians 2, the…

All Articles

How do we have to accept Jesus?

How many of us have tried to accept Jesus into our heart so that the fullness of God’s love and fruits of Holy Spirit reflects through our thoughts, words, deeds and actions? Accepting Jesus is nothing but accepting Word of God and devouring it every day in purity of heart. Of course sacraments of church…

All Articles

Positive Thoughts And Right Actions

Thought is the pre-process for action. We as responsible humans want fruitful actions that leads to overall betterment of the society and fellow beings. Hence it is important to have and be with positive thoughts so it leads to positive actions. Are we pushing our lives ahead or driving our lives with right, positive thoughts?…

All Articles

Data warehousing – Defining data

Two kinds of definitions relevant to data warehouse design are the definition of business terms and definition of data elements. Data element definitions help the business person make sense of the data and to understand the meaning of data stored in their operational OLTP system. Business term definitions help the business person manage his business….

All Articles

Data warehousing – Data warehouse Project Management

Characteristics of successful data warehouse projects generally include the following aspects – Clear business justification for the project ie. measurable benefits must be defined for a data warehouse project Efficient project personnel Ensuring data quality & consistency Data warehouses deal with historical data from a variety of sources. So care must taken to ensure data…

All Articles

DATA WAREHOUSE PROJECT LIFE CYCLE – Ongoing maintenance and changing user requirements

Ongoing maintenance is the final phase of creation of a data warehousing system. The ongoing maintenance of data warehouse generally involves constant loading of new data and addressing the changing analysis requirements of end users Now as the end users gains confidence, satisfaction and control over the data warehousing system, they wish to switch over…

All Articles

DATA WAREHOUSE PROJECT LIFE CYCLE – Design and implementation-Engineering

Once the application is well defined, data warehouse developers are able to begin making technical decisions about building the logical & physical design of the data warehouse system. They may specify the system integration details, the database/software platforms to be used, baseline system models and architectures to be designed at the beginning of data warehouse…

All Articles

Data warehousing – Concept

In the present day competitive & technology centric information age, business enterprises are realising that the enterprise data is valuable resource just like other resources of the enterprise such as man, machine, raw materials & money. The great value of data lies in the fact that enterprises could manipulate this data and create valuable information,…

All Articles

Data warehousing – Data warehousing technology

Throughout the history of systems development, the primary emphasis had been given to the operational systems (simple OLTP -Online transact ion processing systems) and the data they process. Little effort was put on building up an integrated information management system that is capable of capturing, storing & handling the distributed operational data (current & historic…

All Articles

Data warehousing – Project Scope

A typical project scope for Data warehousing is as below – Title: APPLYING DATA WAREHOUSING The major goal & effort on working on the project is to study and analyse a typical system (eg: automobile servicing stations) for applying Data warehousing, study the scope of Data warehousing in the system and present a proposed system Perform Data warehouse…

All Articles

Data warehousing – Need for Data warehousing

The need for an effective information management solution is of top priority in today’s changing & competitive business environment. Various Information systems like OLTP systems, DSS& EIS has been serving this information management need for many years. Data warehousing is an Enhancement of such information management solutions in providing complete, integrated enterprise a information management…

All Articles

A typical DB2 DB config

Below is a tuned DB config for a heavily loaded workflow application – [db2inst1@intranet db2inst1]$ db2 get db cfg for wf Database Configuration for Database wf Database configuration release level                    = 0x0900 Database release level                                  = 0x0900 Database territory                                      = US Database code page                                      = 819 Database code set                                       = ISO8859-1 Database country code                                   =…

Cut Plier – Wiring man’s freind
All Articles

Cut Plier – Wiring man’s freind

Schematic for mighty cut plier – Cut plier in almost indispensible for any wiring work. Pliers are used for gripping or holding small objects by manual operation. Different types of pliers are used while working electrical stuff or other kind of mechanical work. As shown above, the cut plier is used for most of the…

Hospital Wiring
All Articles

How to do Hospital Wiring?

Ok, here is a definitive article on how to set up Hosptial wiring – hands on. Read on – List of material needed – 1) 230 V, 5A SPDT switch – 1;  230 V, 5A SPST switch – 1 2) Switch boxes – 2 3) 230V, 60W Lamp – 2 4) Round block – 2 5) Holder…

All Articles

Tunnel Wiring

Here is a definitive way to set up Tunnel Wiring by yourself – List of Materials needed 1) 230 V, 5A SPDT switches – 3 2) Switch boxes – 3 3) 230V, 60W Lamps – 3 4) Round blocks – 3 5) 4 way Junction box – 2 6) Bulb Holders – 3 7) T…

Staircase wiring
All Articles

Wiring Practice – Staircase wiring

A simple and practical way to set up staircase wiring is explained here. To operate a lamp from two different points by two switches at two different modes, connected with the help of staircase wiring. List of Materials required 1) 230 V, 5A SPDT switches – 2 2) Switch box – 2 3) 230V, 60W Lamp…

All Articles

Sample Linux server (web centric) back up script in PERL

Below is a sample, detailed, PERL script for backing up your web centric Linux server. It includes ways to creating tgz of required areas, pushing them to magnetic tapes, other backup servers and even on to desktops –   Code:   #!/usr/bin/perl use POSIX qw(strftime);   umask 0000;  #####################################################  # This Program is a custom…

Server Synchronization Technology for a Distributed server architecture
All Articles

Paper – Server Synchronization Technology for a Distributed server architecture (DSA)

Requirement: Company xyz has now decided to extend the current system as distributed server architecture, expanding over 46 locations. There will be a central server which will be running from xyz HQ. There will 46 independent host severs running at various locations across the nation, which will be loaded with product management software. These independent…

Web application architecture
All Articles

Sample (cheap) Web application architecture

A sample customized web application architecture is as shown below – As shown above, all the three tiers of the web server architecture, namely database server, business logic and presentation, are represented. The Apache web server, PHP engine, Database drivers and other utilities are closely compiled so as to improve speed and performance. The database…

Good Systems Analyst
All Articles

Attributes of a Good System Analyst

A system analyst is a person who conducts a methodical study and evaluation of various aspects related to business to identify the desired objectives and work out procedures to attain them. The system analyst is a person with unique skills – common sense, a structured framework and a disciplined approach to solving problems are a…

Decision Table
All Articles

Decision Table

A decision table represents the comlex decision logic associated with a data-processing job. A decision table summarized the action to be taken depending on the values of conditions that exist at the time the decision table is consulted. Decision tables override system flow charts in more complex circumstances, particularly those where several criteria determine an…

All Articles

System Life Cycle – Classical definition

A system is a set of interacting elements that responds to inputs producing outputs. The events which together make up the development, operation and maintenance of such a computer system or information management system may be referred to as the ‘System Life Cycle’. The different elements of a system life cycle are – 1. Initial Study –…