How to Cook Delicious Vegetable Upma in 10 minutes

Recently I cooked vegetable upma for my breakfast and surprisingly it turned out to be quite good. So I decided to share the simple recipe that you can try if you are craving some delicious Indian breakfast.

Step 1: Roast Semolina

Roast semolina flour on a medium flame till it turns golden.

Roast till it turns golden

Step 2: Saute Vegetables

Take a spoon full of cooking oil and put it in a pan. Add black mustard seeds and once they start popping add chopped onions to it. Add some salt and chili to the pan and stir it. Next, add other vegetables like chopped tomato, carrot, beans and green peas and saute the vegetables till they turn a bit soft.

Add a little bit of turmeric if you want a yellowish look to your upma.

You can add a little bit of water so that the vegetables cook well.

Step 3: Add Roasted Semolina

Add roasted semolina to the sauteed vegetables and fix them well. Stir it for a minute.

Step 4: Add Water

Add 2 cups of water to the mixture(basically the quantity of water should be double of semolina) and stir it well till the semolina soaks all the water.

Keep stirring the mixture until all the water has dried.

Step 5: Devour it

Your delicious upma is ready. You can squeeze a little bit of lemon and garnish it with coriander leaves if you wish.

That’s all folks. Enjoy your upma. 🙂

How to make a Peri Peri Potato Rice Bowl Burrito

I recently moved to the states and realized that the only way to survive as a vegetarian is to cook for yourself. So I have braced myself for the challenge and my daily routine now includes 3 sets of cooking and dishwashing.

Yesterday I decided to try something new for lunch. 3 hours and a couple of cuts later, I managed to cook some delicious peri-peri potato rice bowl.

Here’s how you can make a bowl of a potato burrito bowl.

Step 1: Boil Black Beans

Take a cup of black beans and 2–3 cups of water and pressure cook it for an hour. You can also add some salt to the water to fasten the process.

Boiled black beans

Step 2: Steam Rice

Next, steam white rice for your burrito. No special tricks here.

Step 3: Boil Corn

Take corn kernels and boil it in water until they become soft. It usually takes 10–12 minutes on a medium flame.

Boiled corn

Step 4: Prepare Salsa

For this burrito, I will use a simple salsa made of just chopped onions and tomatoes. Half of a medium-sized onion and a small-sized tomato should be enough for your burrito bowl.

Onion Tomato Salsa

Step 5: Fry potato croutons

Take some cooking oil and fry frozen potato croutons in it. You need to fry it for 8–10 minutes until they turn golden brown. You can add some red chili and other spices to add flavor.

Step 6: Saute Black Beans

Take some cooking oil and saute boiled black beans in it. Add some salt and red chili for flavor. You can saute it with some other spices according to your taste.

Step 7: Mix everything

Take steamed rice as the base and add all the stuff to it.

  • Salsa on the side
  • Spread black beans on the top
  • Sprinkle fried potato croutons on the rice
  • Sprinkle boiled corn kernels on it
  • Add chopped bell peppers
  • Add chopped coriander for garnishing
  • Add cut jalapeños on the top
  • Add some yogurt or sour cream on the top

Step 8: Enjoy

That’s it. Your delicious peri-peri rice bowl burrito is ready to be devoured.

Burrito rice bowl

Make sure you give this post 50 claps and follow me if you enjoyed this post and want to see more!

My Year in Review 2019

With Zeta Folks

This year was quite an exciting year for me, and a lot of things kept me busy throughout the year. I traveled to several places(including six countries), quit my ~4-year-old job, got admit for Masters, and started mentoring young kids. As the year began, my primary focus was to get accepted for Masters in a university of my choice, and more or less, I managed to achieve that goal. Also, I think I have been taking better care of my health.

Highs and Lows

January — March

  • I decided to live by myself and moved to a 2BHK apartment.
  • At the beginning of January, I finally recovered from my four months of prolonged, persistent low-grade fever. It felt good to be lively again.
  • I visited a lot of temples with my parents. We covered all the major temples in Tirupati, Rameshwaram, Kanyakumari, and Madurai.

Trip with parents
  • One after the other, I got ten straight rejections from the universities that I had applied for pursuing Masters.

April — June

  • Participated in the annual Wikimedia Hackathon, Prague, and worked with folks from the Wikipedia app team to hack our way through Commons app redesign.

Robin Schoenbaechler presenting at the Wikimedia Hackathon, Prague (2019)
  • Traveled to 5 countries, ie. The Czech Republic, Austria, Italy, Croatia, and Turkey.

Euro trip with friends

July — September

  • Traveled to Coorg, Mukteshwar, and Meghalaya with office friends.

Mukteshwar trip

Meghalaya Trip
  • Mentored a student for a project in Wikimedia Commons Android app as part of Outreachy’s summer round.
  • Restarted my focus on outdoor activities by beginning running and cycling regularly.
  • I helped in building an AR-based Android and iOS app for Zeta’s design meetup. We created both the apps in less than two weeks. It was my first time making an iOS app. Also, it was my first time working on Unity and React Native.

October — December

  • I got admit from 6 universities and finally zeroed down on Arizona State University to pursue a Masters in Computer Science.
  • I started mentoring a batch of 20 underprivileged kids for FEA India.
  • In November, I traveled to Atlanta to attend Wikimedia Technical Conference 2019. It was my first trip to the USA.

Wikimedia Technical Conference 2019
  • I quit my job at Zeta at the end of November to get myself ready for studies.

Zeta memories
  • On 27th December, I got the handover of the first flat that I ever bought. It is a 3BHK apartment in Sobha Silicon Oasis, Bangalore.


All in all, this year was a fruitful year for me both professionally and personally. I achieved a lot of targets that I had set for myself at the beginning of the year.

Next year would be a new beginning for me in a new country with a completely new environment. I would be back to being a student, and it would be interesting to see how I tackle new challenges. Also, I am committing to understanding how the body works and will make changes to my diet and daily routine to take care of it. 🙂

Happy New Year 2020 ❤

My First Attempt at Making Pesto Pasta!!

Pesto Pasta!

I recently tried cooking up Pesto Pasta for lunch. I have never made pasta earlier, but I wanted to try something new. Surprisingly the end product turned out to be quite satisfying thanks to Utkarsha Bakshi for her recipe.

I will walk you through the four simple steps for making a simple yet delicious pesto pasta.

Step 1: Chop chop chop!!

First things first, chop the veggies and keep them ready. For my recipe, I am using the following vegetables:

  • a handful of spinach
  • 7–8 button mushrooms
  • 8–10 cloves of garlic
  • 3–4 cherry tomatoes for garnishing
Spinach, Garlic, Mushroom, and Cherry tomatoes

Step 2: Boil the Spaghetti

Take a handful of spaghetti and boil it for 10–15 minutes. Check a couple of times to see it has become soft and turn the gas off once it feels soft.

Note: You do not need to break the spaghetti for boiling.

Step 3: Saute the veggies

Take 2–3 spoon fulls of olive oil and heat it in a non-stick pan. Once the olive oil is heated up, add mushrooms, garlic, and spinach to it. After sauteing it for 3–4 minutes, add pesto sauce to it and saute it for another 1 minute.

Note: For my recipe, I used readymade pesto sauce from Godrej’s Nature basket.

Step 4: Do some Magic

Once you have the veggies sauteed, add boiled spaghetti to it and mix the vegetables well. Stir it for a 2–3 minutes so that everything mixes well. And voila, your pasta is ready to be served.

Note: If you wish, you can also add some parmesan cheese to your pasta, but I wanted to make a lighter pasta, so I didn’t use cheese or butter.

Step 5: Devour it

I added some cherry tomatoes for garnishing, but it is totally up to you. Now is the time to enjoy the hard work you just did in the kitchen. So tuck it and devour every morsel.

Make sure you give this post 50 claps and follow me if you enjoyed this post and want to see more!

A Quick Look at Everything you Need to Obtain an F1 Visa!

Today I appeared for my F1 visa interview and got the Visa approved. After you get the admission of your choice, you might feel a bit relaxed but the hectic part has just started. India has around 26% rejection rate for non-migrant Visas and given the ever-changing government policies you never know if your Visa would be approved or not. In this post, I will talk in detail about all the documents that I prepared for the Visa interview and will also share my personal visa interview experience.

Here’s a list of things that you need for the Visa.

Get your i20

You need to request for an i20 from the university that you have been admitted to. The I-20 Form is a Certificate of Eligibility for Nonimmigrant Student Status. An official representative from your school will issue you the i20.

Note: You can request i20 from any number of universities you wish to.

Pay the SEVIS Fees

SEVIS is a nationwide, Internet-based system that the U.S. government uses to maintain accurate and current information on non-immigrant students. The SEVIS I-901 fee is for students going on an F1 visa is $350. You can pay the SEVIS fees here:

Schedule your Visa Appointment

Go to the US travel docs website and schedule an appointment.

Before you schedule an appointment you need to pay the Visa fee of 160$. You can go here to find more information about how to pay the fees:


  • You don’t need to actually complete the DS 160 form before you schedule your appointment. You just need to start the DS 160 application and then use the same ID while scheduling the appointment.
  • You need to pay the SEVIS fee before you schedule an appointment.
  • Once you pay the Visa fee, it takes around 24 hours to reflect. So you can schedule your appointment only once it starts reflecting.

Fill the DS 160 form

The DS-160, Online Nonimmigrant Visa Application form, is for temporary travel to the United States. Form DS-160 is submitted electronically to the Department of State website via the Internet. You can fill-up the form here:

Document Checklist for Visa Interview

Here’s the exhaustive list of documents that you should carry for your Visa interview.

  • Passport
  • Appointment confirmation For Embassy and OFC
  • Form DS-160 & confirmation page
  • I20 & Offer letter
  • SEVIS fees Receipt
  • Visa application (MRV)fee Payment
  • Academic Documents: Class X and XII mark sheets and all mark sheets of your undergraduate degree. Also, carry the degree certificate and consolidated mark sheet.
  • Financial Documents: Depending on how you are funding your education, it might vary. I carried the bank letter stating my father’s savings, loan sanction letter for the rest of the amount, CA certificate letter for my father and affidavit of support from my father.
  • Current Work Experience Documents: Appointment letter and Experience letter
  • Previous Work Experience Documents: Appointment letter, Experience letter, and Job Reliving letter.

Interview Experience

Slot: 11:45, Chennai

Counter: 18

VO was a young lady in her 30’s

Me: Good morning officer

VO: Good morning, pass your passport and I-20

Me: Passed

VO: Why ASU?

Me: ASU is one of the top-ranked universities for innovation and it has built its reputation for research. Also, my research interest is in the field of data science and ASU offers courses that can help me pursue my research.

VO: How many universities did you apply to and what admits did you receive

Me: I applied to six and got 5 admits and listed them out

VO: Who is funding you

Me: My father is my main sponsor he has savings of xx lakhs and I have a bank loan sanctioned for xx lakhs

VO: I am approving your visa, have a nice day

Me: Thank you, ma’am, have a nice day


The USA visa process is quite hyped up and is rightly so. In 90% cases, the VO doesn’t ask you to show any of the documents except the i20 and Passport but it is always safe to carry all the documents along with you. If they ask for a document and you don’t have it then they might not approve your Visa.

Also, in the visa interview, your confidence and speaking skills matter a lot. If you are not nervous and are able to answer all questions by looking into VO’s eyes, she would be convinced that you are actually a non-migrant.

All the best for your interview. 🙂

Wikimedia Technical Conference 2019

The Wikimedia Technical Conference 2019, Atlanta concluded last week. I attended this conference for the first time, and it was an enjoyable experience for me. The central theme of the conference was around developer productivity, and several sessions were held covering different aspects of this theme.

Personal Experience

This year’s conference was the first technical conference that I attended for Wikimedia. It was a very delightful experience for me.

I got to attend and participate in some very insightful sessions. I met with a lot of people from the foundation and volunteers, and it was great interacting with them.

Commons Android app Team’s Participation

Our team took part in the session where Best practices & useful methods for remote teams was discussed.

Maskaravivek [CC BY-SA 4.0 (]

Here is the presentation that we prepared to explain the process that our team follows.


As most of our core team was also present at the conference, we decided to have a short discussion to incorporate our learnings from the various sessions we attended, into our team’s processes.

Notes from our team’s discussion at the conference

Here’s a summary of the points that we discussed:

  • Reevaluating the usage of Kotlin in the Commons app. As of now, the usage of Kotlin is limited to just unit test cases, and we are trying to evaluate if it would be good if it can be used in the main classes. Based on our discussion with other folks at the conference, we decided to restart the discussion and arrive at a consensus on it. You can participate in the discussion here:

  • We have decided to start monthly skill share sessions where we will pick a topic, and one of the team members will talk about it over a video call. Some of the issues that we have chosen for the first few sessions are MVP architecture, Kotlin, Unit testing, Dagger, and RxJava.
  • We also agreed upon introducing some social connections amongst the team members and volunteers. We will have virtual coffee sessions every month, where we will talk about everything except work. :). Apart from these virtual coffee sessions, we will also create a new social channel on Zulip, where we will talk about non-work related stuff.
  • We also discussed the need for focussing on integrated tests and UI tests for the app. So we have decided to make Espresso tests part of CI and also make it a priority to add more flows in the UI tests.
  • In the next few months, we will also focus on integrating structured data into the commons app. We will build upon the work done by Vanshika Arora and try to release structured data support as soon as possible for everyone.
  • Lastly, we discussed validating if our app supports all languages that are supported by Android and MediaWiki.


The event was quite delightful to me. Overall it was a very fruitful conference for our team, and we were able to deliberate on several issues, which are sometimes not possible to discuss remotely. Here’s the group picture of all the attendees of the conference.

Group picture of all participants of Wikimedia Technical Conference 2019

Hopefully, the changes that we have discussed will help in improving our team’s productivity and make the app a lot more delightful for the users.

How to Create a Subdomain in Amazon Route 53?

In this post, I will show you how to set up a new subdomain using Route 53 in 4 easy steps. The setup is straightforward and will take less than 2 minutes to have your subdomain up and running. 🙂

Step 1: Make a hosted zone for your original domain

Make sure that you have already created a hosted zone for your original domain. If you need guidance, you can refer to this blog post, where I set up a hosted zone for

View at

Step 2: Create a new hosted zone for your subdomain

Click on Create Hosted Zone to create a new hosted zone. Enter the domain name as and enter anything you want in the comment section. Set the type as Public Hosted Zone and click Create.

Create a new hosted zone

Step 3: Create a new NS record set for your original domain

  1. Click into your hosted zone, and select the recordset with type NS.

2. Copy the nameservers in the value box on the right.

Copy the value of the NS recordset.

3. Go back to your original hosted zone and click on Create Record Set.

4. Create a new NS record set with the name same as your subdomain and the value that you just copied. Click on Create to create it.

Create a new NS recordset in your original hosted zone.

Step 4: Create an A record set for your subdomain

Return to your subdomain’s hosted zone and click on Create Record Set to create a new recordset. Leave the name empty and set the type as A. In the value field, you can enter any IP address that you want it to point to. Click on Create to create it.

Create an A recordset mapping it to some IP address.

That’s it. Your subdomain should be up and running. 🙂

Make sure you give this post 50 claps and follow me if you enjoyed this post and want to see more!

How to prepare for the GRE examinations?

In this post, I will share some tips and resources to prepare for the GRE examinations. I appeared for the GRE test on August 22nd, 2018, and scored 322(V: 155, Q: 167, AWA: 4.5).

General Tips

  • Giving a lot of practice tests is very important. Make it a habit to give one test every week.
  • Be consistent with your preparations. Try to sit for a couple of hours daily rather than stacking everything up for the weekend.
  • Set a realistic target for yourself. From the onset, if you have a clear goal in mind, then you can plan your preparations accordingly.
  • It is essential to spend some time going over the mistakes you made. Make a written note of the mistakes that you make while solving problems. Over time you can analyze if you are improving on your mistakes or not — Time yourself while solving any set of problems so that you get a sense of your speed.


Let me answer the most commonly asked questions by students who have just begun their preparations.

If you have any other questions, please ask in the comments. I will answer it and probably update the post with a detailed answer.

When should I appear for the GRE?

You should finish off your GRE and TOEFL examinations at least one month before the applications open for the term that you are targeting. For fall, most of the colleges start accepting applications by August or September. So its best to give the GRE by June or July. Don’t worry if you aren’t ready by June-July. It is best to take the test once you feel confident so that you can avoid making a second attempt.

How much time is needed for preparation?

Based on my experience, 2–3 months is quite sufficient to prepare well for the GRE. I was working full time as a Software Engineer while preparing for the examinations and had to manage my time accordingly. IMO, if you are diligent, it is easy to manage your schedule and give ample time for the preparations along with job/college studies.

I usually gave a couple of hours in the morning before office and 2–3 hours after office. At the weekends, you can reserve one day for writing practice tests.

What should be the first step of preparation?

The first step of preparation is to find any free practice test and write it. You will get some score, and it will give you an idea of where do you stand currently and what should you be targeting. In general, you can improve your score by 10–15 points from the first test that you write. In my first test, I scored 310. Don’t get disheartened if you don’t score highly in the first few practice tests. For the first few tests, my scores didn’t improve much, but after around two months, I started scoring 315–330.

What is a good score?

In my opinion, any score above 320 is a good score. For most of the colleges, GRE is just a parameter for elimination. So if you score more than 320, then you will probably clear the elimination criteria for most of the colleges.


Here’s are some resources that I found useful while preparing for the exams.

Recommended Books

I would suggest not to buy a lot of books and instead stick with just one book as more or less most of the books have a similar set of problems.

5 lb. Book of GRE Practice Problems

Highly recommended book for Quant practice problems. The book has ~1000 math problems, so I set a target of solving 25–30 questions every day. Solving 25–30 problems shouldn’t take more than an hour. With this schedule, I was able to finish off the book in around 45 days.

The Official Guide to the GRE General Test

I used this book just for general guidance and to get clarity on the examination pattern. I also found the set of problems quite useful for revision. The book also has a couple of full tests that you can use as a practice test.

My GRE Notes

Quant: As and when I was solving the 5lb book, I kept preparing short notes for each of the topics, focussing on formulas, tips, and tricks. These notes proved to be super useful. Before every practice test, I used to quickly revise my notes to refresh all the concepts in my mind. Eventually, I was able to revise the whole notes in 30–40 minutes.

Verbal: For verbal, I made a note of the possible meanings of a word that I used to find difficult to remember. A lot of words have quite a few definitions, and having all the meanings in one place proved to be quite useful for revision. After each practice test, I updated my notes with the words that I didn’t know. In my GRE test, a lot of words came from the notes that I prepared. It wasn’t shocking as these words kept reoccurring in practice tests, as well.

Here’s a link to my Quant and Verbal notes.

Free Practice tests

The most important aspect of preparation is to give practice tests consistently. I gave one full practice test every week without fail for ten weeks. It is easy to get tempted to study or revise something instead of taking the full tests, but I made sure to give the test no matter what. Also, you don’t need to wait till you finish your entire syllabus before you start giving the tests.

  • 2 Full practice tests from ETS. I would recommend saving this test for the end. I gave the ETS test 1 week and two days before the actual GRE. The score that I got in the last test was the same as my actual GRE score.
  • 1 Full practice test from Crunch Prep.
  • One test from Manhatten Prep.
  • 1 test from Kaplan. If you google, you will find a lot of other free practice material from Kaplan.
  • Four tests from Princeton. Just 1 test is free, but if you google, then you will find a coupon code that can be used to get a total of tests.

Stay tuned for more articles about my MS journey. Make sure you give this post 50 claps and follow me if you enjoyed this post and want to see more!

How to install FFMPEG on EC2 running Amazon Linux?

Recently, I needed to install ffmpeg on my EC2 instance and I struggled quite a bit to set it up. The issue was that my EC2 instance is running Amazon Linux based AMI which is probably based on some version of CentOS. For Debian and Ubuntu distributions, ffmpeg is available as a apt-get package but for other distributions you have to manually compile it. To be fair ffmpeg has provided a compilation guide for CentOS but for lazy people, it is too much of an effort. 🙂

Finally, I found a solution that worked perfectly so I thought of sharing it here. Here’s the step by step guide.

Step 1: SSH into your instance and become root

sudo su -

Step 2: Go to the /usr/local/bin directory

cd /usr/local/bin

Step 3: Inside the /usr/local/bin directory, create an ffmpeg directory and go inside it.

mkdir ffmpeg && cd ffmpeg

Step 4: Download a static build of ffmpeg

Go to the following link and download a static build relevant for your system.

To check if your system is 32-bit or 64-bit you can execute the following command:

uname -a

It will output something like:

Linux ip-172-31-1-100 4.9.62-21.56.amzn1.x86_64 #1 SMP Thu Nov 16 05:37:08 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Note: That last i386 indicates that it’s 32-bit; x86_64 indicates 64-bit.

Also, by hit and trial, I found out that the processor is AMD and not ARM. Inside the /usr/local/bin/ffmpeg folder run this command to download the static binaries.


Step 5: Unzip the binaries

Use the following command to unzip the binaries.

tar -xf ffmpeg-release-amd64-static.tar.xz

This will create a folder named ffmpeg-4.2.1-amd64-static . Go inside this folder to check if ffmpeg has been installed successfully or not.

./ffmpeg -version

It should output something like:

ffmpeg version 4.2.1-static  
Hyper fast Audio and Video encoder

Now we will move to the outer folder.

cp -a /usr/local/bin/ffmpeg/ffmpeg-4.2.1-amd64-static/ . /usr/local/bin/ffmpeg/

Step 6: Create a symlink to use ffmpeg from any location

Next, go ahead and create a symlink so that ffmpeg can be run from any location.

ln -s /usr/local/bin/ffmpeg/ffmpeg /usr/bin/ffmpeg

Note: The first part /usr/local/bin/ffmpeg/ffmpeg is where the file is located after I untarred the file. The second part /usr/bin/ffmpeg is where we want the symlink to go

That’s it. You are done with the installation.

I found this solution on AWS forums and have shared it here so that it is easier to find. Here’s a link to the forum post.

How to Display Low Resolution Image as the Place Holder

Fresco is a powerful system for displaying images in Android applications.

There are situations where the original image is quite big and would take considerable amount of time to load. In such scenarios, it is advisable to display a low resolution image or thumbnail image until the original image loads. Fresco makes it very easy to implement.

Using Fresco in your application

If you are building with Gradle, simply add the following line to the dependencies section of your build.gradle file:

implementation 'com.facebook.fresco:fresco:2.0.0'

For more information on adding Fresco to your app, check out their repository.

Initialise Fresco in Your App

Fresco needs to be initialised. You should only do this 1 time, so placing the initialisation in your Application is a good idea.

public class MyApplication extends Application {
public void onCreate() {

Add Drawee View for Fresco

Add the SimpleDraweeView to the layout:


Using a low-resolution image as the place holder

First, bind the SimpleDraweeView to your View.

SimpleDraweeView image;

Next, setup your image view using newDraweeControllerBuilder

private void setupImageView() {
DraweeController controller = Fresco.newDraweeControllerBuilder() .setLowResImageRequest(ImageRequest.fromUri(media.getThumbUrl())) .setImageRequest(ImageRequest.fromUri(media.getImageUrl()))

Fresco lets you specify a low res and original image request.

  • use setLowResImageRequest to set the temporary image. It need not be a static placeholder. It can be fetched and displayed from the server.
  • use setImageRequest to set the original image.

You can read more about ImageRequests here. Also, there’s more documentation about requesting multiple images here.