PlayingWithSVG - Controlling various sections of Image using SVG format and JavaScript

What is SVG?

SVG stands for Scalable Vector Graphics. It is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium since 1999. SVG images and their behaviors are defined in XML text files.

Advantages of using SVG over other image formats (like JPEG and GIF) are:

  • SVG images can be created and edited with any text editor
  • SVG images can be searched, indexed, scripted, and compressed
  • SVG images are scalable
  • SVG images can be printed with high quality at any resolution
  • SVG images are zoomable
  • SVG graphics do NOT lose any quality if they are zoomed or resized
  • SVG is an open standard
  • SVG files are pure XML

Angular Chat Application using Socket.IO

Socket.IO is a library that enables real-time, bidirectional and event-based communication between the browser and the server. It consists of: a Node.js server: Source.

Socket.IO is NOT a WebSocket implementation. Although Socket.IO indeed uses WebSocket as a transport when possible, it adds some metadata to each packet: the packet type, the namespace and the ack id when a message acknowledgement is needed. That is why a WebSocket client will not be able to successfully connect to a Socket.IO server, and a Socket.IO client will not be able to connect to a WebSocket server either.


Putting in configurations and using them through YAML has become so easy, a piece of cake. Whoever that comes from XML background, they would for sure appreciate the ease and flexibility offered by YAML.

The official documentation on YAML says, “YAML Ain’t Markup Language” (abbreviated YAML) is a data serialization language designed to be human-friendly and work well with modern programming languages for common everyday tasks. This specification is both an introduction to the YAML language and the concepts supporting it, and also a complete specification of the information needed to develop applications for processing YAML.

The Serverless Framework

Today we have Cloud based services, which has taken over completely the legacy server hosting paradigm. Today we believe in focussing on code, and factors of scalability and server management are being taken care of very effectively by cloud providers.
Keeping a dedicated server is completely under your IT team observation so you need competence to manage the server yourself. You may need to spend for the technical or professional assistance to help manage the server.

Node.js Quick Reference Guide

  • Node.js is not a programming language. It’s not even a framework. It’s a runtime environment, written in C++,
    which uses Google Chrome’s V8 engine. It was devised to run JavaScript outside of Web Browsers on backend servers.
    Web browsers have JavaScript engines, which allow execution of JavaScript codes inside them.
    Internet Explorer has Chakra, Mozilla has SpiderMonkey and Google Chrome has V8 engine for JavaScript execution in these browsers.

  • Node.js uses single thread. That single thread serves different i/o requests. While processing for one i/o request is going on, our single thread can go and serve other i/o request.
    Node server can be used for Data/I/O related purposes. But not in scenarios where we need to have bigger computational power of CPU.
    By default, Node is asynchronous. But it can works both ways - synchronous as well as asynchronous.

What’s Markdown?

Markdown is a lightweight markup language that we can use to add formatting elements to plain text documents. Unlike WYSIWYG, we don’t get to see formatting changes immediately. When we create a Markdown-formatted file (which has extension .md or .markdown), we add Markdown syntax to our text to indicate which words and phrases should look different.