Hi đź‘‹,

I’m Shubham

Welcome to My Corner of the Internet

I’m someone who thrives on problem-solving, whether it’s in software architecture, AI/ML, or optimization. Beyond code, I have a deep curiosity for psychology, biology, and seemingly unrelated fields—because connections often lie where we least expect them.

This space is where I share my learnings, insights, and experiences—bridging technology with a broader perspective. Stick around, and let’s explore together.

If interested, you can find more about me here.


Make String a Subsequence Using Cyclic Increments

- 2 mins read
This is the LeetCode problem number 2825. Cyclic increment This is when you increase an entity by an amount and when you reach the end you circle back to start and continue the count. If a is increased cyclicly by 1, we will get b. If a is increased cyclicly by 2, we will get c. But if z is increased cyclicly by 1, we get a. By 2 we will get b.

Downloading a single file from 2 independent apps

- 4 mins read
Understanding the problem Let’s say you have a very large log file. And you want to create an app that can analyze this file and generate insights. Also, let’s say you want to create an another app that can simulate the work by reading the logs one-by-one. Both these apps are dependent on the same log file. Now, there are 2 scenarios. App1 starts, downloads the file and then App2 starts.

Reflection API in Java

- 3 mins read
Where is this used? This is used to analyze/modify the behaviour of a class at runtime. Using this, you can view or change the private/public fields at wish (without exposing any getter/setter). Personally, I have used this in one of our projects at GreyOrange to write unit test cases. Using this in main code is a big no-no as it exposed you critical fields to the world. Main Class Let’s create a main class for which we will write some test cases.