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

Build a simple Chat Room using Mediator Pattern (C#)

Introduction I’ve previously written about Mediator pattern and how it encapsulates object’s interaction and communication. This pattern promotes loose coupling between software components. It acts as a communication hub and it facilitates one-to-many, many-to-one and many-to-many communications. We than saw an example of Vehicles Control Center where vehicles position is communicated to control center. We … Read more

Git up your App

I was once invited to give training to developers of a reputed company regarding application designs and architectural concerns utilizing various technology stacks in areas of both front-end and back-end development. Though the overall training sessions went well but one thing we struggled with was sharing of code, there were some hands-on-exercises and some starter … Read more

Pretty Little Things: TCP/IP, Ports and Sockets

In this blog post, I am going to write a little bit about TCP/IP, ports and sockets. These are those little things, as a software developer, which we keep hearing about, but same time get confused by an overwhelming information on the internet. The main goal of this post is to have a simple reference … Read more