Posts

A Project Manager's guide to using branches in git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. One of the most important features of git is the ability to create branches to work on specific parts of the project without disturbing the entire source. Every git user is well versed with the "checkout", "branch" and "merge" commands but different developers have their own way of using branches which leads to an unorganized and highly confusing workflow. I've prepared a basic outline or step-wise procedure to follow while using branches in git. This procedure streamlines the workflow and makes it easy for developers as well as the project manager to work on parallel streams efficiently.  For the below example, assume "Rahul" is a developer tasked with implementing a new feature and "Shadab" is the project manager.  Rahul creates a branch from master for his work. L

Update firefox in Ubuntu from tar.bz2

Before the days of .deb packages, installing or updating a program in Ubuntu used to highly cumbersome and confusing, even for a novice techie. Nowadays, installation using .deb packages have become as convenient as installing an app from its APK. However, if the situation arises where .deb package is not available and you are forced to install using tarball (.tar.bz2 compressed file), follow the commands below to manually perform some of the essential steps auto-executed during installation using a package. Below example illustrates manually updating firefox using its tarball. If you want to install a program instead of updating it, remove the "rm" steps from below procedure. Download the latest version of Firefox from here . For this example, we'll assume your downloaded firefox .tar.bz2 file is in "~/Downloads" directory Open terminal using Ctrl+Shift+T and input the following commands     $ cd Downloads     $ tar xvjf <filename>.tar.bz2    

Information passing in Python (Pass by object reference)

Image
Hello, reader! Are function calls "pass-by-value" or "pass-by-reference" in python?  If you have ever used functions in python, this doubt would have come to your mind. This post aims to simplify the commonly used answer, " Object references are passed by value.", and explain the concept from the basics. Pre-requisite knowledge:     1. Everything is an object in python. In Python, whenever an assignment statement, say, x = 2 is called, the 'identifier' (also called 'name') references an instance of int class having value 2. After that, if you call, y = x , an 'alias' is created which is also a name pointing to the same instance.      2. Python's built-in classes can be mutable or immutable. Consider two classes, float and list. You might know that float is an immutable built-in class defined in python, whereas, list is mutable. What it means is that if you do:         x = 2.0         y = x + 1.1 at firs