Last Sunday morning was a windy one. An early morning coffee became so necessary, I had to go grab one. Before sipping on the coffee, I took a sip of water and suddenly the bottle cap got carried away by the strong wind like a flapping bird. I started to wonder how far did it go…and where did it end.

pic credit: freepiks.com

Short answer: Really really far; and will probably end up in my mouth.

Long answer: the bottle cap might have landed on the road a quarter miles away and got hit by a car. Getting hit by cars multiple times…


I do solo traveling all the time, it's like a noise reduction for me, noise from noisy thoughts. If I cant shield myself with silence, I would rather be dancing in a concert.


Let's have a top level discussion the flow when we can establish direct bidirectional connection between two Peers using WebRTC on STUN Server

I am planning to write very detailed articles on the entire WebRTC protocol. This is just a small portion where we discuss in simple words on STUN servers being used for WebRTC connections.

All peers connect to a SIGNALLING SERVER. Say PEER1 and PEER2. PEER1 sends an OFFER to PEER2 using SDP message via SIGNALLING SERVER PEER2 sends back ACCEPTANCE back to PEER1 using SDP message

PEER1 calls an ICE SERVER (STUN SERVER) over UDP/TCP to get…


WebRTC allows direct and bidirectional Real-Time Communication between two or more clients without the need for a server at all times [meaning, once the server connects the clients, the clients can now communicate directly with each other over the wide open internet]. Which is a contrary to a WebSocket, which facilitates bidirectional Real-Time Communication between two or more clients through a server.

ICE: Interactive Connectivity Establishment

STUN: Session Traversal Utilities for NAT

NAT: Network Address Translation (NAT)

TURN: Traversal Using Relays around NAT

SDP: Session Description Protocol (SDP)


To be honest, anyone with a little computer knowledge could have learned html css and made at least a static website. But no! Now we will make a tool that will do just that according to your desire. The idea sounds simple but the underlying architecture of the tool is not simple and rather complex. This tool will need 100s of developers working at least 40 hours per week. Then a whole company around it will arise just to make sure a very efficient but utterly complicated production cycle is followed. And on top of that the business team will…


What is WebSocket? Making a real-time chat app using Socket.IO with NodeJS? How easy can that be? We shall see!

A WebSocket facilitates Real-Time Bidirectional Communication between two or more clients through a connecting server. This is contrary to WebRTC, which allows direct Real-Time Bidirectional Communication between two or more clients without the need for a server at all times [meaning, once the server connects the clients, the clients can now communicate directly with each other.]. I am planning on writing on WebRTC next 😃

Understanding the benefits of WebSocket can be realized better when developing a chat app. First…


Previously, I was writing about Closures in JavaScript. To my surprise, I found that Delegating a function throughout a Swift application module also provides closure. “And What is closure again?” Closure is the original scope of a function that it retains even when it has been passed to some other part of the application through a delegate. Due to closure, the function will still have access to the variables it originally had, no matter where it is being executed from, it will still be able to use those variables (actually, anything in general).

Let me quote what I wrote on…


Previously, I was writing about Closures in JavaScript. To my surprise, I found that Delegating a function throughout an Erlang application modules also provides closure. “And What is closure again?” Closure is the original scope of a function that it retains even when it has been passed to some other part of the application through a delegate. Due to closure, the function will still have access to the variables it originally had, no matter where it is being executed from, it will still be able to use those variables (actually, anything in general).

Lets, see the same with the help…


We have functions, blocks, variables and they have some scopes. All of them behave differently in different scopes and exert its own scope as well.

Global Scope: Anything defined in the global scope are accessible from anywhere and available to everyone.

Functional Scope: Anything inside the function block are within the functional scope. Code within the functional scope is not available outside it and are not available to anyone else. The function can be called with any input parameters and only the result returned by the function will be available outside the function. If the function is defined as int…


Encrypting a plain text using Data Encryption Standard can help secure transmission of data over internet protocols. Its not the most secured but can provide basic security and is safe enough for use between internal applications in an organization.

🔐 THE KEYS
The encryption is done using symatric key. Thats is, the same key is used to encrypt and decrypt the data. The key is 64 bits, out of which 56 bits is the actual DES key and is used by the DES algorithm to encrypt data, while the rest 8 bits is the IV key used for error detection.

Navid Mostafiz

blueberry pie chef…

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