The value of Education looses when it is given a price tag

All these years every citizen of our country was blessed with free education and thanks to that the literacy rate was well over 90%. As Sri Lanka being a third world country majority of the citizens falls between middle and lower income category, so the free education plays a critical role to help build their lives by opening up the doors to reach out the world.

I’m happy to say that thanks to our country’s free education policy I was able to continue my education up to obtaining my Bachelor’s Degree, which helped me to engaged in a field that gave me the opportunity to give something valuable to my country and to its people. While I was in the university got the opportunity to enrich my knowledge across vast number of areas. Although my degree title says B. Sc. in Information Technology but the content of it didn’t restrict me to a limited knowledge domain. During my eight semesters and four June terms I took around 5o modules but for a student how does a similar degree in a private institute will get the opportunity to take just above half of it. In my three years of industry engagement I got the opportunity to work with just over 50 odd people and to interview nearly 100 candidates, the common factors I notice while working and interviewing people who obtained their bachelors degree from private institutions them are as follows.

  • Majority of them lack the knowledge of fundamentals.
  • Majority of them knew just to shoot out fancy words but failed to deliver results.
  • Majority of them lacked the enthusiasm of learning and advancing themselves to the next level.
  • Majority of them used that knowledge just to earn a salary.

By looking at the current situation of our country’s education I really feels scary about its future because we have come to a critical point which is at the verge loosing the benefit of free education. Our country has three ministers assigned to look after the activities of the education system but unfortunately what has happened can be easily describe by saying “too may cooks spoil the broth”.

  • Every year all the major public exams are full of faulty questions
  • Results of the public exams are faulty.
  • Officials responsible for the above mentioned issues were not properly punished and same issues were repeated every year.
  • Has drastically reduced the government funding over the years to less than 2 % of the GDP.

We should get together and join hands to protect the free education for our future generation, failing to do so will cause a great misery to the development of our country and will made our future generation suffer from it. For example currently the US citizens are facing a huge crisis settling the loans obtain for their education, lets not help to develop such a staggering environment here.


Run nodejs server continuously using forever

By last Friday morning the open bugs count raised above 150 mark and we managed to take it down to under 25 by the end of the day, thanks to the dedicated effort by the team. Among them, one was to make the Nodejs server run continuously. In our application we are using the Nodejs to implement a near-realtime notification module, which involved pushing notifications and updates to the Web application as well to the Mobile application. Faye module was used to implement the identified channel patterns required to identify different user types and their respective activities each user type executes.

Nodejs is a powerful, Event-driven, I/O based or JavaScript based server that can be used to develop interactive applications. It was developed on top of the V8 JavaScript engine.

Installing Nodejs on Ubuntu

I came across an easier approach to install Nodejs via the Ubuntu Package Manager.

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs npm

Install Forever

In the last command it installed the Node Package Manager(npm). The npm provides the facility to install any module to Nodejs in a manner similar to installing application on Ubuntu via apt-get.

$ sudo npm install forever --global

Setting the –global parameter makes the module accessible globally

Updating Nodejs & the modules to latest stable release

Nodejs comes with a module called n aka node version manager provides the facility to update the module to its latest or stable release.

Install n

$ sudo npm install --global n

Updating Nodejs using n

$ sudo n --global latest/stable
$ sudo n --global custom v0.x.x

Updating Nodejs modules using n

$ sudo n --global npm
$ sudo n --global forever

Div based Fixed or Fluid CSS/HTML layout Template

About two year back I worte an article introducing a simple HTML structure to organize the content on the web page as shown below.

Layout structure

sidebar left
sidebar right

The above illustration just a simple introduction to how the template looks like. This HTML/CSS layout structure consists of examples illustrating the usage of Fixed and Fluid layouts covering following aspects

  • Without any Sidebars
  • With one Sidebar on Left
  • With one Sidebar on Right
  • With two Sidebars on either sides (Left and Right)

Folder sturcture

  • css – consists of all the CSS files
  • js – consists of all the JavaScript files
  • images – consists of all the image files
  • plugins – consists of all the third party components
  • template – consists of examples
  • readme.txt – simple introduction
  • lgpl.txt – lgpl license file


Inside the css folder you’ll find several files as illustated below, I adapted this structure after studing the Drupal Zen theme. Currely the theme is not Sass aware.

  • Core
    • html-elements.css – style rules to neutralize browser defaults and define baseline formatting to HTML elements
    • form-elements.css – style rules to format form blocks
    • layout.css – style rules to control the overall layout of the template (fixed or fluid)
    • sidebar.css – style rules to ncontrol the formating of sidebar(s)
    • print.css – style rules to format the web page when printing to a paper or PDF/Postscript.
    • website.css – style rules that requires to meets the look and feel of the custome design (main CSS file)
  • Optional
    • website-popup.css – style rules used for popul dialogs
    • handheld.css – style rules required to override website.css to make the site mobile friendly
    • ie_8.css – to keep IE 8 specific style rules
    • ie_7.css – to keep IE 7 specific style rules
    • ie_6.css – to keep IE 6 specific style rules

The above CSS files linked to the HTML markup was done within HTML head element as illustrated in Figure 1. CSS files with IE version specifc style rules were loaded inside a conditional comment block.

Figure 1: Linking of CSS files

JavaScript (breed of ECMAScript)

Inside the js folder you’ll find the javascript files used by the theme. I have used jQuery library as the base for all the client-side scripting requirements.

  • actions.js – to handle client side logic
  • window.orientation.js – to control the orientation of the page when viewing from a handheld device.

The above JavaScript files and the ones mentioned under plugins section was linked to the HTML markup was done just before the HTML closing body element as illustrated in Figure 2. This method was adapted to minimized the loading delay introduce by JavaScript files to the clent browser.

Figure 2: Linking of JavaScript files


Inside the images folder you’ll find all the images used in the theme. Inside this you’ll find a folder called icons, which holds third party icons find from the Web (unfortunately I’m unable to locate the repository, my apologies to the creator/owner of the icon.)


Inside the plugin folder you’ll find all the third pary libraries used in the theme.


Inside the template folder you’ll find examples illustrating following layouts

  • Fixed layout
    • no-sidebars-tableless-fixed
    • sidebar-left-tableless-fixed
    • sidebar-right-tableless-fixed
    • two-sidebars-tableless-fixed
  • Fluid layout
    • no-sidebars-tableless-fluid
    • sidebar-left-tableless-fluid
    • sidebar-right-tableless-fluid
    • two-sidebars-tableless-fluid

Fixed/Fluid switching

The switching between the Fixed and Fluid layout structures and be very easily achieved by toggleing the class attribute found on the HTML body element as follows:

  • Fixed – fixed-layout
  • Fluid – fluid-layout

<body class="fixed-layout">
<body class="fluid-layout">

With and without Side-bars switching

The switching between the With and without Side-bars layout structures and be very easily achieved by toggleing the class attribute found on the first HTML div element next to body element as follows:

<body class="fixed-layout">
<div id="wrapper" class="no-sidebars">
<body class="fixed-layout">
<div id="wrapper" class="sidebar-left">
<body class="fixed-layout">
<div id="wrapper" class="sidebar-right">
<body class="fixed-layout">
<div id="wrapper" class="two-sidebars">

To create an easily customizable div based HTML/CSS template by myself was their in my mind for sometimes and I’ll be sharing it for the benefit of others. The template can be download form Github repository.