The Hidden Peculiarities of Realtime Data Streaming Applications
With the increasing number of open-source frameworks such as Apache Flink, Apache Spark, Apache Storm, and cloud frameworks such as Google Dataflow, creating realtime data-processing jobs has become quite easy. The APIs are well defined, and the standard concepts such as Map-Reduce follow almost similar semantics across…
What Makes Apache Druid Great for Realtime Analytics?
Apache druid is one of the most popular open-source solutions for Online Analytical Processing (OLAP). It’s used by many tech companies such as Airbnb and Netflix to run queries on streams of data comprising millions of events per minute. It allows companies to make decisions in near real-time
Here’s What Can Go Wrong with Database Replication
Replication is the process to copy data from one server to another. It’s generally done so as to prevent data loss in case a server fails or to distribute the incoming load to multiple servers which have same data. Replicating the data might seem like a trivial…
How System Clocks Can Cause Mysterious Faults?
Clocks are used in applications for a variety of purposes such as figuring out if your request has timed out yet or measuring the latency or just for tracking the events. For most of these tasks, people use system clocks. This is fine in a single machine…
What Makes Apache Flink the Best Choice for Streaming Applications?
Apache Flink is an open source streaming platform which provides you tremendous capabilities to run real-time data processing pipelines in a fault-tolerant way at a scale of millions of events per second. The key point is that it does all this using the minimum possible resources at…
Here are some simple optimisations to squeeze performance out of CPU
At the start of the career as a software developer, most people think that a program’s performance boils down to the asymptotic complexity of their operations. But once you apply best algorithms out there and your code still doesn’t give you that desired performance, what should you…
Why you need to understand hardware to make better software?
At the beginning of the career as a software developer, everyone passes through a moment when they don’t really understand what’s going on in the code. Sometimes, you want to push the boundaries of the performance but it seems like that there is nothing else you can…
Why you should care about a KB?
I started my career as a software developer few years ago and frankly, I didn’t care (enough) about hardware back then. I always thought software development was all about writing a working code which should have best algorithmic performance (Big-Oh) and compiler will take care of other…
How to optimise your Go code
This article is a summary of what I learnt from Björn Rabenstein’s talk on this topic. You can check out the whole video below #1 Measure Everything Don’t optimise prematurely. Always measure everything to identify the right code paths that need a fix. Tools : go test, pprof,…
Why goroutines are not lightweight threads?
GoLang is gaining incredible popularity these days. One of the main reasons for that is the simple and lightweight concurrency in the form of goroutines and channels that it offers to the developers. Concurrency has existed since long ago in the form of Threads which are used…
Software Developer | Technical Writer | Lives in Bangalore, IndiaLearn more
Data from Goodreads
Homo Deus: A History of Tomorrow
Yuval Noah Harari13 % (1 year ago)13 % (1 year ago)
Data from Goodreads
Lifespan: Why We Age—and Why We Don't Have To
David A. Sinclair
Thinking, Fast and Slow
Loonshots: How to Nurture the Crazy Ideas That Win Wars, Cure Diseases, and Transform Industries