Index ¦ Archives ¦ Atom

Various Options To Deliver Real Time Notifications

If you wish to deliver (or) push data from your web server to your web application running in a browser in real time, you have 4 options at the time of writing this post (2022).

  1. Polling / Long Polling.
  2. Server Sent Events (SSE).
  3. Websockets.
  4. WebPush


Polling and Long Polling has …

Notes from Clean Architecture

These notes are from Clean Architecture book by Robert C.Martin (Uncle Bob) for my self-reference and will be updated as I progress through the chapters.

Part 1 - Introduction

  1. Both Architecture and Design points to same things in software development (Low-level and high-level details).
  2. The goal of Architecture is to …

Don't Convert Generators to List at Once

TL;DR: Convert the generator into list, if and only if the dataset is small, else consume on demand or rethink your design.

Python has a special function called Generators which yields value as we request from it rather than dumping everything into the memory at once. For example think …

Lockdown Diaries - 1

Lockdown is not the same for all. Thousands of migrant workers across India especially from the North are forced to walk thousands of kilometers to reach their natives when the Govt. did not consider about them before announcing the lockdown. If I am not wrong, it happened only in India …

Metaprogramming Elixir Notes - 1

For the past 6 months, I have been exploring Elixir language and it's ecosystem. Elixir is a dynamic functional language. It compiles to bytecode to run on BEAM (Erlang's Virtual Machine) similar to how Java code is compiled to bytecode to run on JVM. There are fundamental differences between BEAM …

JVM vs BEAM Architecture Differences

  • Recently read a study comparing the design of widely used Oracle's implementation of JVM (aka. HotSpot VM) and Erricson's implementation Erlang VM (BEAM) with respect to concurrency and parallelism. This study was published in May 2015.
  • This is not about comparing two languages (i.e java vs erlang/elixir) or …

Dead Labour என்றால் என்ன?

மார்க்ஸ் மூலதனத்தை (Capital) "Dead Labour" அதாவது உயிரிழந்த (அல்லது) உயிரற்ற உழைப்பு என்கிறார். அவர் ஏன் இதனை அப்படி அழைக்கிறார்? அப்படியானால் உயிருள்ள உழைப்ப …

Clojure Notes 1

Started learning another general purpose programming language called Clojure which speaks lisp dialect and runs on top of JVM. Thanks to Kamalavelan for creating an interest for me to learn clojure and particularly the book titled, Clojure For The Brave and True by David Higginbotham is very enjoyable. https://nostarch …

Reading Building Alternatives - Introduction

Uralungal Labour Contract Cooperative Soceity (ULCCS) is almost 90 year old (as of this writing in 2019) cooperative of construction workers from the state of Kerala, India.

The current finance minister of Kerala, Dr. T.M. Thomas Issac (CPIM) and Dr. Michelle Williams (Professor at University of Witswatersrand, South Africa …

Contributions to OpenStreetMap

I wrote this post to document my contributions to OpenStreetMap and to enrich the ecosystem.

OpenStreetMap (OSM) is the map built by the people, for the people and of the people. In other words, it is the democratic process of creating the map of the earth together. Simultaneously anyone can …

© Prasanna Venkadesh. Creative Commons Attribution ShareAlike. Theme by Giulio Fidente on github.