Automation plays a vital role in ensuring we can release software repeatably and reliably. One of the main goal of the Platform Team at Hotstar is to automate every manual intervention currently being done as part of the deployment process. …


Partial Functions

Pattern Matching in Scala can be extended to create Partial functions, a unary function that does not support every possible value that meets the input type. Partial functions are defined only for certain domain of input values. …


Pattern Matching is one of the most powerful and most widely used feature in Scala. Scala’s Pattern Matching is often compared to Java’s Switch construct, but the capabilities that Scala provides with Pattern Matching is more interesting and far better than traditional Switch.


Spark is a distributed computing engine and its main abstraction is a resilient distributed dataset (RDD), which can be viewed as a distributed collection. RDDs are collections of objects. Under the hood, these objects are stored in partitions. When performing computations on RDDs, these partitions can be operated on in…


Spark SQL is a Spark module for structured data processing. With the recent changes in Spark 2.0, Spark SQL is now de facto the primary and feature-rich interface to Spark’s underlying in-memory distributed platform (hiding Spark Core’s RDDs behind higher-level abstractions). …


Reuse of intermediate results across multiple computations is common in many iterative machine learning and graph algorithms, including PageRank, K-means clustering, and logistic regression. In most frameworks, the only way to reuse data between computations is to write it to an external stable storage system. This incurs substantial overheads due…


While my previous article covered the basics of Concurrency in Golang, this article will shed light on some of the Concurrency Patterns followed in the world of Go.

Gophers

Generator aka Iterator

Generator Pattern is used to generate a sequence of values which is used to produce some output. This pattern is widely used…


“Concurrency is about dealing with lots of things at once. It is a way to structure software, particularly as a way to write clean code that interacts well with the real world.” — Rob Pike

Concurrency refers to the design of the system, while parallelism relates to the execution. Concurrent…


Testing your code is as important as writing it in the first place. Writing tests for the code is a good way to ensure quality and improve reliability. This article will highlight some of the Golang conventions which are followed while writing unit tests.

Go comes with a testing package…


The Go Programming Language (Go) is an open-source programming language sponsored by Google and created by Robert Griesemer, Rob Pike, and Ken Thompson that aims to simplify systems programming and to make programming fun again. Go is fantastic for building web applications of all shapes and sizes. This is partly…

Thejas Babu

Technology, Philosophy and Music drives me forward.

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