What is the broken window theory and how is it relevant to software development?

Iron Man — Mark I, Mark II, Mark III Armors

“When you are working on a problem, you sometimes get so close to it that you can’t see all the options. You miss elegant solutions because the creative part of your mind is suppressed by the intensity of your focus. Sometimes the best way to solve a problem is to go home, eat dinner, watch TV, go to bed, and then wake up the next morning and take a shower.” — Robert C. Martin

In the late 1960s, there was a field study, conducted by a Stanford University psychologist named Philip Zimbardo. He abandoned a car without a license plate…

From the movie Indiana Jones: Raiders of the Lost Ark

Recent statistics suggest that an average person spends approximately 2 hours and 51 minutes per day on their mobile device. Also, people have a habit of checking their smartphones as soon as they wake up in the morning. When people see a notification from Facebook or TikTok, they start scrolling and pulling feeds even for hours.

Every time people see a notification popped-up on their smartphone, why there is an urge to check it immediately?

Even if people open the notification, what makes them continuously use the application for hours just by scrolling and pulling feeds?

Why are few applications…

If you are using Node for development then you indeed use Node Package Manager (NPM) for installing, upgrading, configuring, and removing packages. But when you just say npm, it means a lot of things. it may refer to,

  • The default Node.js package manager which lets developers share modules.
  • An NPM registry, an online database for both public and private packages where developers can download/upload packages.
  • A command-line client which lets developers interacting with NPM registry.
  • The company npm, Inc, that hosts and maintains all of the above.

Here is the quick intro,

NPM repository

http://npmjs.org is a repository where the node…

The “Hulk buster” Iron Man suit from the movie “Avengers: Age of Ultron”

If you are a programmer, there is a high chance that you are using the Visual Studio Code for your development. It is a free source code editor released in 2015, developed by Microsoft and runs in Windows, Linux and macOS. Out-of-the-box, It includes basic support for most common programming languages. It may not be as powerful as a visual studio but due to its user-friendliness and powerful extensions, it became the #1 development tool within a few years.

The photo was taken from Costiero Shipping

When a project is started, we create a new source code repository in VSTS/Github/bitbucket and start adding all of the code into it. every time we add new module/reusable components, we create another repository and use it. This is called multi-repo or many-repo. This process will continue until we end up creating many repositories as we need a single repository per package. After some time this becomes unmanageable.

Before moving further let's try creating a small application using ExpressJs.

Execute the below command in the newly created folder. This will create package.json file.

npm init

The new application contains two…

From the video game: Shadow of Mordor

This is the third and final part of How JavaScript conquered the web. You can read the first part here and the second part here.

“Any application that can be written in JavaScript, will eventually be written in JavaScript.”
Jeff Atwood, co-founder of Stack Overflow about JavaScript

A Scene from The game of thrones

This is the second part of How JavaScript conquered the web and you can read the first part here.

“Change is hard at first, Messy in the middle and gorgeous at the end.”
— Robin S. Sharma

ECMAScript 4: Reluctant push towards enterprise applications

JavaScript is developed as a lightweight programming language and it was not meant for large scale applications. At that time, ActionScript, another Scripting language that is also based on ECMAScript was used in Macromedia Flash. Flash was the hot topic on the web as it was used in many web sites to bring interactive animations, graphics. …

Bard vs Smaug. The Hobbit: The Battle of the Five Armies

“It is better to be lucky than smart”
— Douglas Crockford about

20 years ago, if someone said JavaScript will rule the internet in the future then no one would have believed it. Because no one thought in that way and JavaScript was not meant for that as well. The language was created in just 10 days and criticized a lot for its defectiveness even though there are lots of good parts.

Despite being one of the most hated programming languages, it survived for years and become one of the most popular programming languages, the most used programming language…

Advertisement about Osborne-I

Have you ever heard of the term Osborne effect?

When we think about personal computers, we always think of either windows or Mac. Both are widely used but none of them was the first in personal portable computing. It was Osborne-I.

In 1981, Osborne computer corporation founded by Adam Osborne released the first commercially available personal portable computer Osborne-I. It runs the CP/M Operating System, came with two built-in floppy drives, a detachable full-size keyboard with numeric keypad and monochrome CRT monitor. It weighs 11Kg approximately. So it may not be portable but luggable.

The cost of this system was…

Michael S. Dell. CEO of Dell

On October 1997 at ITXpo97 in Orland, Michael Dell, CEO of Dell computers answered for what he would do to save the company Apple if he were a CEO of Apple.

What would I do? I’d shut it down and give the money back to the shareholders.

It was a public insult. At that time Apple was struggling and almost doomed. Steve Jobs was back to Apple and appointed as interim CEO. The comments from Michael Dell offended Jobs.

Jobs didn’t stop it there. …


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store