Is There A Problem With ‘git pull’?

1 mainThis post is specifically about a particular command in git. If you are new to git or don’t know what git is, then this post may not make much sense to you. Now that the statutory warning is out of the way, let’s carry on. This is actually a continuation of my previous blog post. The command we are going to talk about is ‘git pull’. This command that brings the changes in the remote repository to where you keep your own code. This is done by bringing the local copy of the remote repository up to date first, and then merging the changes into your own code repository and possibly your working copy. A lot of people use it very frequently without thinking about the possible side effects. When I first started out with git, I didn’t really concern myself with these side effects either. But programming purists would say that ‘git pull’ is risky and should be used with caution. Why is that?   Continue reading “Is There A Problem With ‘git pull’?”

git fetch vs git pull

1 mainGit is one of the most popular version control systems available out there. If you are a programmer, you must have used it one time or the other. This post deals with a couple of specific commands. So if you are new to git, this post may not make much sense to you. Git offers a variety of powerful commands to control the source code and collaborate with your peers on software projects.Every time I have to tinker with git, I tend to learn something new. In this post, we will discuss the difference between ‘git fetch’ and ‘git pull’.   Continue reading “git fetch vs git pull”

CMake vs Make

mainProgrammers have been using CMake and Make for a long time now. When you join a big company or start working on a project with a large codebase, there are all these builds that you need to take care of. You must have seen those “CMakeLists.txt” files floating around. You are supposed to run “cmake” and “make” commands on the terminal. A lot of people just follow the instructions blindly, not really caring about why we need to do things in a certain way. What is this whole build process and why is it structured this way? What are the differences between CMake and Make? Does it matter? Are they interchangeable?   Continue reading “CMake vs Make”

Programming Paradigms: Object Oriented vs Data Oriented

mainOver the last couple of decades, different programming paradigms have emerged in an attempt to make software better. Different situations demand different requirements, so it wouldn’t be fair to say that one paradigm is better than the other. Whenever you want to create a software system, you usually write code that attempts to fulfill most of the requirements. Now the difference between these paradigms is the way in which you write your code. On one end of the spectrum, we have object oriented programming. The world revolves around pieces of data here and functionalities are attached to them. On the other end of the spectrum, we have data oriented programming. In this paradigm, everything is just data. How does that work? What exactly is this spectrum and how do we understand it?   Continue reading “Programming Paradigms: Object Oriented vs Data Oriented”

Content Delivery Network – Part 2/2

mainIn the previous post, we discussed about content delivery network (CDN) and why we need it. This post is a continuation of that topic. Here, we will discuss about the pros and cons of using CDN. CDN obviously helps the sites that experience heavy traffic. Most of the times, you will think that just using a CDN will deliver a better performance, but this is not always the case. If you don’t choose your provider carefully, your site will end up suffering. Let’s look at some of the advantages and disadvantages of using CDN.   Continue reading “Content Delivery Network – Part 2/2”

Content Delivery Network – Part 1/2

mainInternet users today are demanding faster and higher-quality services from their media hosting companies. Being an internet user yourself, you should know that we place a high demand on these services. This is the reason quick access and delivery of rich-media like music, photos, videos etc has become a top priority. Wait a minute, why we need to care about all that? Doesn’t that just happen somewhere on the server? Well, who do you think makes that happen? It’s the people who manage the website. The beautiful site that loads all the high-resolution images for you doesn’t just work magically by itself. It needs to be optimized in a zillion ways for you to not feel the pain. All of your pages, including your photos and videos, will load quickly and instantly if the website owners use the right Content Delivery Network (CDN). Let’s see what this whole thing is about, shall we?   Continue reading “Content Delivery Network – Part 1/2”

Why Do We Need Stress Testing?

mainThis is the third and the last blog post in this three-part series. If you want, you can read the first and second posts. In these previous posts, we discussed load testing and performance testing. With load testing, we can see how the system behaves when there is too much load. With performance testing, we can analyze all the moving parts of the system and optimize them accordingly. Load testing and performance testing analyze existing parts assuming everything is in tact. But what if a part of the system completely breaks down? How will you know what’s going to happen at that point? This is where stress testing comes into picture.   Continue reading “Why Do We Need Stress Testing?”

Why Do We Need Performance Testing?

mainThis blog post is the second one in this three-part series. If you want, you can read the first and third parts as well. In the previous blog post, we discussed about load testing and how it is useful in determining the behavior of a given system. Load testing is actually a part of the bigger performance testing framework. With load testing, we can understand how the system will behave under extreme load conditions. But what about all the other moving parts of the system? Extreme load is not the only problem a system can face. How do we understand all the constraints of a system? How can we determine what part of the system is going to misbehave in real time? This is where performance testing comes into picture.   Continue reading “Why Do We Need Performance Testing?”

Why Do We Need Load Testing?

mainThis blog post is the first one in a three-part series. If you want, you can read the second and third parts as well. Let’s say you are building a website that allows users to create an account, upload photos and browse around. So you will go ahead and define the functionality, design the interface, build the core backend and add all the necessary infrastructure. But how will you know if your design is strong enough the handle everything? How will you know if the website will perform well when a lot of users use it simultaneously? This is where load testing comes into picture.   Continue reading “Why Do We Need Load Testing?”

Python Development In Eclipse

As your code gets bigger, effective code management becomes an integral part of your project. This post is about setting up Python development environment in Eclipse. Most of the Python developers will already be aware of this. For those of you who are not, read on. Eclipse is an IDE which supports many different languages. It has plugins for various different frameworks as well. We will discuss about how we can set up everything from scratch. Once you set everything up, you will be able to run and debug you Python code easily. It provides many different options and it has a nice UI too.   Continue reading “Python Development In Eclipse”