Posted by admin on February 8, 2008 under Programming |
-
What is the dominant process?
-
Common kinds of outages we can face

-
what could slow down a process
-
What components in the system often change.
-
Reverting back the changes done.
-
How do you recover the system if server crashes?
-
Do you have process diagrams containing server names, job names, job timings?
-
What are the downstream impacts?
-
How often do you clean up log files?
-
Do log files contain meaningful information?
-
Any scripts needed to quantify the things?
-
Are processes distributed over different servers?
-
Any tools needed to get information at one place rather than logging onto different servers.
-
How are you monitoring the status of production jobs? Any alerts generated?
-
Do you need a webpage/user interface to simplify life?
-
Files taking most of the disk space
-
Processes eating most of the processor time
Posted by admin on under Programming |

|
Clear terminal
|
cls, clear, tput clear
|
|
Concatenating files
|
cat
|
|
Splitting Files
|
split
|
|
Numbering lines
|
nl, cat -n
|
|
Zipping file, unzipping files
|
gzip, gunzip
|
|
Converting files in hexadecimal
|
od
|
|
Remove nonprintable characters
|
tr, strings, col -b
|
|
Formats, Word wrapping
|
fold, nroff, troff
|
|
Outputting a part of file: say first 5 lines, last 5 lines, lines from 10 to 16
|
head, tail, sed
|
|
Counting words, lines
|
wc
|
|
Sorting text
|
sort
|
|
Removing duplicate lines,words
|
Sed, uniq
|
|
Comparing 2 files line/line
|
diff
|
|
Find Replace
|
sed, perl, awk
|
|
Changing case : uppercase letters to lowercase and vice versa
|
tr
|
|
Matching braces
|
(% in vi)
|
|
Converting tabs to spaces and vice versa
|
expand, unexpand
|
|
Updating file timestamp
|
touch
|
|
View folder list
|
tree
|
Posted by admin on under Programming |
Here are some of the HOT domains or areas if you are looking for a job in IT industry.
- Telecom
- Networking
- SCADA Systems
- Wireless Technologies
- Finance (Banking)

- Stock Market
- Graphics
- Embedded Systems
- Real Time Operating Systems
- FEM
- Process Control
- Process Optimization
- Supply Chain Management
- Enterprise Resource Planning (ERP)
- Image Processing
- Language Processing and Compilers
- Object Oriented Modeling Tools
- Web Designing
- Mainframes
- Mathematical/Scientific Library/Tools
- Simulators/Emulators
- Text Mining
- Reverse Engineering, Data Conversion and Migration
- Testing
- Client-Server Architecture
- Data Warehousing
- Helpdesk
- Multimedia
- CAD/CAM
- Languages/Tools
- Multimedia Applications
Posted by admin on February 6, 2008 under Programming |
Duplicate code makes the programs hard to understand and maintain. Most of the applications have about 10% to 25% duplicate code. In X Window System about 20 percent code is duplicated. Java Buffer Library in JDK version 1.4.1 duplicates more 60 percent code.
Problems with duplication
- Errors get spread everywhere in the code but fixes do not.
- Evolution of code is not reflected everywhere – Some places might be skipped.
- Some places are forgotten and do not get updated.
- Code bloat – code gets much bigger since there is no sharing.
Where to look for code duplication?
- In the same class – several methods that repeat a number of instructions.
- Between siblings – two classes that share a common super class.
- Methods in siblings can repeat a number of instructions.
- Between unrelated classes – classes not in a hierarchy can still repeat the same sets of instructions.
How to get rid of duplicated code
- Apply the methods mentioned below during development or once you notice duplicated code.
- In the same class – Extract duplicated statements into a method that gets used in all the places that duplicated the code.
- Pull up common methods to super class. You might need to create an intermediate class.
- Introduce template method to capture common structure in code.
Posted by admin on under Programming |
Class Relationships
- Class A inherits from Class B.
- Class A has an attribute of class B.

- Class A has a template attribute with a parameter of class B.
- Class A has a method with an argument of class B.
- Class A knows of a global variable of class B.
- Class A knows of a method containing a local variable of class B
- Class A is friend of Class B (in C++)
UML specifies the following six relationships between two classes:
- Association
- Aggregation
- Composition
- Inheritance
- Dependency
- Realization
Posted by admin on under Programming |
Objects have internal details and an external interface. This is a form of information hiding. No-one but the objects have access to the internal details.
This offers two advantages:
- Objects control what can happen to them
- Outsider is not exposed to the internal details of the object
Why would we like to hide internal details of the object?
Encapsulation separates clients and implementers. Client code can evolve independently and implementation details can be changed without impacting clients.
Parnas Principles:
The developer of a software component must provide the intended user with all the information needed to make effective use of the services provided by the component, and should provide no other information.

The implementer of a software component must be provided with all the information necessary to carry out the given responsibilities assigned to the component, and should be provided with no other information.
Parnas Principles leads to a “component” having two faces:
- Internal: implementation details
- External: usage information
Encapsulation is normally meant to separate private data from methods but Parnas principles are meant for all kinds of components: classes, groups of classes, modules, and components.