Bash Shell Scripting

A shell script is a code (script) written for the shell or command line interpreter of an operating system such as Unix. It allows users to automate tasks which would be cumbersome to execute manually. For example renaming 2000 files. You could do it by 2000 mv commands or write up a 3 line shell script to do it for you.

A shell script can be written in any shell scripting language installed on the system. The most widely used shell is the Bash Shell. Others include csh, ksh, tcsh, etc. Here we would only be discussing bash shell.


Bioinformatics Computers and the internet have revolutionized everything from agriculture and architecture to research. Biological research is no exception. Biology is the science of studying living beings. Bioinformatics is the use of techniques from applied mathematics, informatics, statistics, and computer science to solve biological problems. It is the science of using information to understand biology.


CodeIgniter is an Application Development Framework (ADF). An ADF is a software designed to facilitate software development by integrating architecture patterns such as MVC and providing libraries to facilitate database access, session management, access control and other common development tasks. One goal of ADF is to provide pre-packaged code and promote code reuse based on sound software engineering principles.


Cascading Style Sheets (CSS) is a design language for styling HTML documents. In modern websites, HTML controls the structure while CSS controls its presentation. Let's suppose that you have some HTML formatting in numerous pages across your website. Would you want to manually modify 10,000 HTML elements to implement the new formatting? Ideally, there should be one place where you can make a change that modifies that formatting everywhere you need in the website. Technical term for this concept is "modular design". This technology already exists and it is called CSS.


If you had to work with IBM products, you probably have had to work with DB2. This page will get you up and running with DB2 in 10 minutes.


The web is the most popular feature of the Internet and HTML is the backbone of the web. Everything that we see on the web is used with HTML. All fancy web technologies either generate or manipulate HTML in different ways.

HTML is easy to learn and use. You don't need to learn programming to learn HTML5. It is a markup language i.e. it does not control data flow or apply logic. It simply formats content.

jQuery quick start

Before learning jQuery, you should learn HTML, CSS, JavaScript, and learn how to debug JavaScript. You should also be familiar with JSON. Knowing XML will also be helpful.

jQuery is a free and open source JavaScript library. It simplifies common web tasks such as state initialization or updating elements and makes it easy to make AJAX calls, manipulate content, and create animations. It also does the dirty work of dealing with cross-browser compatibility issues. jQuery's syntax is much simpler and concise than the syntax of vanilla JavaScript.


JavaScript Object Notation (JSON) is a lightweight standard for data interchange. It offers several advantages over XML for data interchange such as it can be used for serializing and transmitting structured data over a network. JSON is used with JavaScript based applications and is primarily used to transmit data between client and server. It is easier to use than XML.

JSON Example

 "car": [

XML Example

Laravel 5


Laravel is a free and open-source PHP web framework like CodeIgniter and Zend. It is built on the Model-View-Controller (MVC) architectural pattern. It has very good documentation and training material. The community is also significant enough. I find it to be much easier than Zend and about as easy to use as CodeIgniter. Better training material and documentation makes Laravel easier for beginner than CodeIgniter.


MongoDB is document based NoSQL database. This means that:

  • it has no schema
  • it has no relations
  • it is agile and scaleable
  • stores information in nested documents of two-dimensional key/value pairs.

What are the benefits of using MongoDB?

  • you do not have to pre-define your schema or data model
  • works nicely with JavaScript
  • ideal for client-side applications

Installing MongoDB

Installing MongoDB on Mac with Homebrew


Node is an open source runtime environment for server-side applications. It allows you to run JavaScript on the server in addition to the browser. Almost all of the new and most widely used JavaScript solutions use Node in one form or another.

Installing Node.js

Download from Install with default options. To check, type the following on the terminal


Perl Variables Perl is different from popular languages like C, C++, and Java. In C, variable is name of a memory location. You can store a piece of data in it like an interger, a floating point number, a character etc. Before using a variable, you have to declare it along with it type (whether it is an integer, character, etc.). In Perl you don't have to deal with all that nonsense. All you do is just use a variable.

PMP notes

Project Management Knowledge Areas Project management knowledge areas describe key project management competencies. There are four core knowledge areas, four facilitating knowledge areas and integration management.

Core knowledge areas of project management


PostgreSQL also called Postgres is an object-relational database management system that focuses on extensibility and standards-compliance.

Installing PostgreSQL

This quick walk-through are my notes for installing the PostgreSQL database server and the PgAdmin administration application on Ubuntu Linux, and also set up the server so it allows access to other PC's on your network.

Right for the basic installation, at the command-line, enter the following commands (or search for the listed packages in synaptic if you prefer that way of working):


Why learn python? Because it packs a powerful punch. Python is is easy to learn, user-friendly, highly extensible and overall a very powerful language. Like Java, it is fully object-oriented and it is as fast as C++. It allows scripting. I find that development in Python is more rapid than C++ or Java.

Python is free and fully supported by Linux, Windows and MacOS. There is strong community support and there are thousands of packages to extend the language.

Who is using python? Google. Need I say more?

Getting Started

To install on Linux:


Subversion (SVN) is a very popular open source versioning system. It manages files, directories, and changes made to files and directories over time by single of multiple users. If you have the time to thoroughly learn SVN, the only book you should read is available online for free. It can be found at However, if all you want to do is get started with SVN within an hour, you have come to the right place.

VI Editor

The VI editor is a screen-based editor. It is very powerful and has been around for more than a decade. Programmers are especially fond of the VI editor due to its powerful features to aid programmers. VI is often overwhelming for beginners. It takes some time to get used to VI but it is often well worth the effort. The key to mastering VI is to learn sequentially, getting used to the commands you learn at each step.

Starting the VI Editor

VI editor lets you create new files or edit existing files. The command to start is: