Rate Limiting

Why to Rate Limit? Rate Limiting is a crucial part of designing any API it maybe private or public. A rate limiter caps how many requests a sender can issue in a specific window of time. A rate limiter provides following features: Defense against a Denial of Service from malicious actors trying to pull down the service. Ensures the load on servers is always under maintainable state by discarding too many requests....

February 11, 2024 · 5 min · 1037 words · Lakshya Singh

Union/Sum Type

Let’s take an example of operating system information as a data structure to better understand sum types. Struct Our bare minimum struct to represent an operating system contains a few common fields that would exist in each of the operating system. typedef struct { char organization[]; int releaseYear; float version; int is_opensource; } os; It’s missing one thing though the type of operating system like macOS, linux, windows, etc. Enum We will add in a new field into our structure to represent the type of operating system by using an enum....

January 20, 2024 · 7 min · 1301 words · Lakshya Singh

Kotlin Coroutines

Coroutine A coroutine is an instance of a suspend-able computation. It is conceptually similar to a thread, in the sense that it takes a block of code to run that works concurrently with the rest of the code. However, a coroutine is not bound to any particular user level thread. It may suspend its execution in one thread and resume in another one. This scheduling of coroutines is handled by the Kotlin dispatchers similar to go runtime...

January 14, 2024 · 8 min · 1522 words · Lakshya Singh

Bitcoin, the Financial System

Financial System Bitcoin is a financial system created to serve a highly political intent, a free and uncensored network where all can participate with equal access. It is a mechanism of organizing people and computers to make one immutable, digital document. Bitcoin Offerings Bitcoin doesn’t keep track of the identities of the people (or machines) that use it making it permissionless. It doesn’t increase the supply of bitcoins to meet demand making it deflationary and inviolate....

December 29, 2023 · 7 min · 1454 words · Lakshya Singh

Goroutines

A goroutine is a lightweight thread of execution managed by the Go runtime. To start a new goroutine we use the go keyword go f(x, y, z) The evaluation of f, x, y, and z happens in the current goroutine and the execution of f happens in the new goroutine. Goroutines run in the same address space, so access to shared memory must be synchronized. The sync package provides useful primitives, although you won’t need them much in Go as there are other primitives like channels....

December 24, 2023 · 4 min · 843 words · Lakshya Singh

The Hacker Way of Living

TL;DR and not for the weak hearted, please don’t start reading this until you are willing to put efforts into changing the way you deal with online subscriptions. Childhood Fun Since my childhood I was taught by my cousin brother (Karan) on how to utilize the amazing peer to peer network named torrent we used to keep our systems running late at night to just download a video game, dark ages I know....

November 20, 2023 · 8 min · 1693 words · Lakshya Singh

Loss of Customer Empathy

Gold Plated Products Gold Plated Products is what am calling products/services that get offered as free or for unlimited usage to get numerous people onboarded on it. After a while either they will add a paywall for complete service or some premium features which were previously free are now only available if you pay. The issue begins when there is a lack of information provided to users of when the paywall or premium offering will become active....

November 18, 2023 · 6 min · 1259 words · Lakshya Singh

IWBDC | Legion of Legends

Legion of Legends (LoL) Hey! We’re a small team of passionate people with a common goal to build India’s best browser ever! All of us are IIT BHU graduates and are currently working in different fields of software development. What unites us, you ask? It’s our passion to survive on coffee and code for tens of sleepless nights! :P Shivansh Saini My journey in the tech industry began with the founding of my own startup, a food tech venture called Checkin, where I played a pivotal role in building end-to-end solutions....

September 22, 2023 · 4 min · 699 words · Lakshya Singh

Vitess LFX Mentorship Fall 2021

I recently graduated from LFX Mentorship Program. In this blog post, I will be sharing my experience of contributing to Vitess, a database clustering system for horizontal scaling of MySQL. What is LFX Mentorship In the exact words of the Linux Foundation, The Linux Foundation Mentorship Program is designed to help developers — many of whom are first-time open source contributors — with the necessary skills and resources to learn, experiment, and contribute effectively to open source communities....

December 21, 2021 · 9 min · 1717 words · Lakshya Singh

Google Summer of Code 2021 Report

Abstract Chapel is a programming language designed for productive parallel computing at scale. It simplifies parallel programming through elegant parallel programming constructs. As Chapel can utilize a system to its fullest potential, it seems like one of the ideal solutions to handle millions of network requests. Currently, we can do network programming by using C Interoperability, but those constructs are not intuitive and good enough for users to easily do their tasks....

August 26, 2021 · 8 min · 1700 words · Lakshya Singh