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

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

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

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

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 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

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