Posts

RabbitMQ setup and cluster configuration on a windows network

Image
  Queuing has been integral part of application architecture for quite sometime and therefore there are number of frameworks available to let you manage Queue/Bus. Queue as you may know is used when you have one node to process your message and Bus (Service Bus/Topic) is used when there is more than one node that needs to process the message. RabbitMQ is one of available framework along with MSMQ, Kafka, Azure Service Bus and etc. RabbitMQ is one of the most popular framework as it can be used to create highly available and fault tolerant cluster of nodes that hold the queue's and message's for processing. In the writeup we will try to install RabbitMQ cluster on couple of windows machines which can be easily translated to containerised application using docker. 1) To install docker visit RabbitMQ official  and download required file, once downloaded execute the exe and follow the wizard. You may be asked to install Erlang in the process as that is one of the primary requiremen

Proxy/Reverse Proxy/Load Balancing

Image
Proxy  A proxy server acts as a gateway between you and the internet. It’s an intermediary server abstracting end users from the websites/IP's they browse. Proxy servers provide security and privacy depending on your use case, needs, or company policy. e.g. When you browse a social media site your company may not allow access. When you browse a website accessible to employees of a particular region you may be denied access depending on IP. Reverse Proxy You can think of the reverse proxy as a website’s “public face.” Its address is the one advertised for the website, and it sits at the edge of the site’s network to accept requests from web browsers and mobile apps for the content hosted at the website.  The benefits are as below:- Security – Backend servers are not exposed to the client, you can think of the reverse proxy as a website’s “public face.” Its address is the one advertised for the website, and it sits at the edge of the site’s network to accept requests from web brow

Machine Learning

Image
Have you ever wondered what machine learning is?  If you look at image below you find that it is branch of AI that involves in training computers to make intelligent decision based on the input data, and this is done by extensive training of your program just like you would train yourself to learn something new. If you are given 2,4,6,8,? and you have to find missing number you will quickly say 10.  You know that because you know number in series is multiple of 2 with the position in the series.  This can be represented as f(x) = x * 2 or y = x * 2.  Not just you can answer above easily but can write function in any given language( Python/Java/C# ) to identify above pattern and predict missing value. Above is simple pattern and complex ones will involve you solving lot of difficult mathematical equation, worried? well don't be someone has already done this for you and is readily available in terms of packages. Some of packages in python would be SciPy,SciKit,NumPy,SeaBorn,Pandas. W

Introduction to Blazor

Image
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications. Blazor is new addition to .Net arsenal which is based on WebAssembly and using that enables developers to create web apps using C# and HTML, hence removing dependency on JavaScript framework like Angular/React and etc. If we are to compare blazor with ASP.NET MVC above would be content in .cshtml file which in this case becomes .razor file, code for MVC controller is also embedded in .blazor page for blazor applications. There are 2 main flavors of Blazor:- 1) Blazor web application. In this case application is hosted in IIS and only html travels to the client application for every action on the page client communicates back to the server with information of action on client side. Server version will then send back response back to the client which

WCAG Accessibility

When designing a website or web application we consider other aspects of UI/UX whereas we always forget to consider people with disability. Lets have a look at statistics of users with disability in USA. 19.9 million (8.2%) have difficulty lifting or grasping. This could, for example impact their use of a mouse or keyboard. 15.2 million (6.3%) have a cognitive, mental, or emotional impairment. 8.1 million (3.3%) have a vision impairment. These people might rely on a screen magnifier or a screen reader, or might have a form of color blindness. 7.6 million (3.1%) have a hearing impairment.  They might rely on transcripts and / or captions for audio and video media. If we look at above number large user base is having some sort of disability hence if application is designed with accessibility in mind it can bring in more user which would translate to success of the product/website. Also it is being made mandatory  by law for software applications to be designed as per accessibility standa