Designing in Agile World

Introduction Softwares, once you strip away all the layers of abstraction, is really just a big pile of numbers. In fact, even those numbers are abstractions for bunch of electrons moving around. We partly human beings are just incapable of thinking about software in those terms however. Reality is just too complicated. We have to … Read more

Extending functionality using Decorator Pattern (C#)

Introduction The decorator pattern is a structural design pattern which allows you to dynamically add functionality to classes without modifying the target class. It does this by creating a wrapper around the original class, which gives you an extension point to inject in new behavior. It allows you to maintain a strong separation of concerns … Read more

Structure JavaScript Code

Introduction Modern JavaScript frameworks like Angular, Vue etc have built-in mechanism to structure JavaScript code. When not using these frameworks, we can use simple techniques to structure our JavaScript. In this post I will show you one of them using Revealing module pattern. This pattern is very popular and there are great many resources online … Read more

AWS Basics- Bastian Hosts and NATS

Introduction In previous post on AWS Elastic Compute Cloud (EC2) Basics, we launched two EC2 instances. One in public subnet and one is private subnet. With security groups configured, we were able to SSH to EC2 in public subnet. In this post, we will continue and setup Bastian Host and NAT instance in our VPC. … Read more