Hey, I am Ashutosh

I have a knack for solving problems, especially in the world of software engineering.

I am currently working as a software engineer at Mobilewalla, engaging with Scala, AWS and Apache Spark. My academic background includes a B.Tech degree from IIT Kharagpur.

The beginning

Technical Blog

I let my curiosity guide me through the vast world of information in this field. I try to learn whatever seems interesting to me at the moment. It could be a work-related issue, a personal project, or simply exploring something I read online.

Obsessing over this, I end up going down a rabbit hole of information and ideas until my curiosity is satisfied. By the end of it, I have learned a few things, and I have an interesting story to tell. I make sure to capture these and some other experiences in my blog

  • Analyzing a 30x Slowdown in My Spark Program Due to Coalesce
    This blog post explores the unexpected performance impact of using coalesce(1) in Apache Spark in distributed computing. I discovered that while coalesce avoids costly shuffling, it unintentionally sacrifices parallelism in some cases, leading to a significant slowdown in runtime performance.
  • Demystifying Unix Pipes
    A few days ago, I wanted to preview a massive 1.1 GB file stored on an S3 bucket. Downloading it would take a lot of time so I asked my senior for help, and he told me to run the usual aws copy file command with the unix tool head. I received the results within seconds, but the underlying process was not intuitive to me. Trying to uncover this magic ...
  • My ICPC Amritapuri Regionals Experience
    In this blog, I'll walk you through the challenges, strategies, and insights gained when I participated in ACM-ICPC regionals, shedding light on the world of algorithmic problem-solving for college students. Join me as I recount our adventure, from the anxious prelude to the epic contest, and explore the valuable lessons learned along the way.
  • Saving 2 Minutes of My Life with GitHub Actions
    In this blog, I'll share my first-hand experience with GitHub Actions, illustrating how it streamlined my development workflow. I'll walk you through its core concepts, integration into project structures, and how it solved a critical problem for me personally.

Projects

MapReduce

A simplified distributed MapReduce system built from scratch in Go, with the goal of gaining a deep understanding of the fundamental challenges it addresses. Handles task distribution, fault tolerance, and parallel processing, resembling the concepts from the classic MapReduce paper.

Random Mashup Generator

A web application developed with TypeScript and ReactJS, designed to automate the process of selecting random coding problems of a specific difficulty level that remain unsolved by a group of users.

CF-Static-Site-Enhancer

CF Static Site Enhancer is a browser extension that augments your Codeforces contest experience on it's static sites. Track friends' standings, copy input data effortlessly, predict rating changes, and monitor problem submission counts.

This Website!

My personal website built with Astro and TailwindCSS

Papers I've Read

I still read books and watch course videos, but I've also been checking out some research papers in computer science to see things from a different angle. Here's what I've looked into lately.

Competitive Programming

During my time at IIT Kharagpur, I had the opportunity to explore a wide range of subjects. Among them, competitive programming captured my interest the most. Some of my achievements in that domain are

  • ICPC Asia West Continent Finalist
  • Candidate Master on Codeforces
  • 5 star on Codechef
  • Won T-Shirts in competitions like Facebook Hacker Cup and CodeChef Snackdown