Understanding Big O notation

An algorithm refers to a process for going about a particular operation. Often, there is more than one way to achieve a particular computing goal. The selection of a particular algorithm can make our code either fast or slow - even to the point where it stops working under a lot of pressure. One way… Continue reading Understanding Big O notation


Data binding and flow in VueJS

Two way data binding means that UI fields are bound to model data dynamically such that when a UI field changes, the model data changes with it and vice-versa. One way data flow means that the model is the single source of truth. Changes in the UI trigger messages that signal user intent to the… Continue reading Data binding and flow in VueJS

Arrays Vs. Lists in Python

In the exploration of Python, I discovered a subtle but interesting difference between Arrays and Lists in Python. Arrays and lists are both used in Python to store data, but they don't serve exactly the same purposes. They both can be used to store any data type (real numbers, strings, etc), and they both can be… Continue reading Arrays Vs. Lists in Python

Improving Web performance via image optimization

Web performance refers to the speed at which web pages are downloaded and displayed on the user's web browser. Faster website download speeds have been shown to increase visitor retention and loyalty and user satisfaction, especially for users with slow internet connections and those on mobile devices. Some aspects which can affect the speed of… Continue reading Improving Web performance via image optimization

Connecting to a PostgreSQL server remotely through pgAdmin

It is a 3 step process to connect to a PostgreSQL server remotely through pgAdmin3. Note: These steps are tested on Ubuntu 16.04 and PostgreSQL 8.4. You have to make PostgreSQL listening for remote incoming TCP connections because the default settings allow to listen only for connections on the loopback interface. To be able to… Continue reading Connecting to a PostgreSQL server remotely through pgAdmin

Target IE6 and IE7 Browsers without Conditional Comments

Need to target IE browsers? Here is a quick hack that doesn’t require conditional comments (note that your CSS will therefore not pass auto-validation, which is fine if you are aware of why it doesn’t). The code below will change the background-color of divs depending on what browser the user is viewing the web page… Continue reading Target IE6 and IE7 Browsers without Conditional Comments

Git Cheatsheet – setup

Setup git clone <repo> clone the repository specified by <repo> ; this is similar to "checkout" in some other version control systems such as Subversion and CVS Add colors to your ~/.gitconfig file: [color] ui = auto [color "branch"] current = yellow reverse local = yellow remote = green [color "diff"] meta = yellow bold… Continue reading Git Cheatsheet – setup

Recover MySQL root Password

You can recover MySQL database server password with following five easy steps. Step # 1: Stop the MySQL server process. # sudo /etc/init.d/mysql stop Step # 2: Start the MySQL (mysqld) server/daemon process with the --skip-grant-tables option so that it will not prompt for password. # sudo mysqld_safe --skip-grant-tables & Step # 3: Connect to… Continue reading Recover MySQL root Password

Easy Web Fonts with Google Font API

Web fonts allow you to step outside of the normal web-safe fonts by taking advantage of CSS’s @font-face rule. However, right now, browsers aren’t uniform in its implementation of @font-face. More specifically, web browsers differ in the types of font files they support (hopefully this will change with the WOFF standards). Additionally, you must be… Continue reading Easy Web Fonts with Google Font API