[{"content":"Yields: 4 pizzas (approx. 280g dough balls) Prep time: Approx. 20-26 hours (including poolish and dough resting)\nI. Poolish (Pre-ferment) - Start 16-24 hours before making dough\nIngredients: 200g Water 5g Honey 5g Yeast (Active Dry Yeast) 200g \u0026ldquo;00\u0026rdquo; Flour Instructions: Weigh 200g of water into a container. Add 5g of honey and 5g of yeast to the water. Mix well to dissolve the yeast and honey. Add 200g of \u0026ldquo;00\u0026rdquo; flour. Mix until just combined (this is a 100% hydration starter). Let it sit covered for 15 minutes at room temperature. Seal the container tightly. Let it rest for 1 hour at room temperature. Place the sealed container in the refrigerator for 16 to 24 hours. (Do not exceed 24 hours, or it may become too acidic). II. Main Dough\nIngredients: All of the prepared Poolish 300g Manitoba Flour (High-protein/strong bread flour) 300g Water 20g Salt 200g \u0026ldquo;00\u0026rdquo; Flour (the same type used in the poolish) Olive Oil (for handling and resting) Instructions: Remove the poolish from the refrigerator and let it sit at room temperature for 1 hour before starting the main dough. Place the poolish in a large mixing bowl. Add the 300g of High protein bread flour to the poolish. In a separate container, dissolve 20g of salt into 300g of water. Add the 200g of \u0026ldquo;00\u0026rdquo; flour to the main bowl (with the poolish and Bread flour). Begin integrating the flour into the poolish. Gradually add the salt water mixture, little by little, while mixing, until all the water is incorporated. This mixing process takes about 10-15 minutes by hand. The dough will be very wet initially. Once all water is absorbed and the dough starts coming together (but is still shaggy), transfer it to a clean work surface (no flour needed yet). Knead the dough vigorously using a \u0026ldquo;slap and fold\u0026rdquo; technique: Pick up the dough, slap it down on the counter, fold it over itself. Repeat until the dough feels stronger and more cohesive, but not perfectly smooth (approx. 5-10 minutes). The goal is to develop gluten without overworking at this stage. Gently rub a small amount of olive oil over the surface of the dough. Let the dough rest uncovered on the counter for 15 minutes. Lightly oil your hands. Use a bench scraper/spatula to release the dough from the counter if stuck. Gently shape the dough into a smooth ball by folding the edges underneath. Don\u0026rsquo;t pull too tightly to avoid tearing the gluten network. Place the dough ball back on the counter (or in a lightly oiled bowl). Rub a little more olive oil on top. Cover the dough ball with a humid (damp, not soaking wet) towel. Let the dough rest at room temperature for 1 hour. III. Tomato Sauce\nIngredients: Canned Tomatoes (Type not specified, San Marzano recommended for Neapolitan) Salt (a \u0026ldquo;handful\u0026rdquo; - adjust to taste, start with less) Fresh Basil, chopped Olive Oil (approx. 1 teaspoon) Instructions: Empty the canned tomatoes into a bowl. Add salt, chopped fresh basil, and olive oil. Crush the tomatoes by hand, leaving some small chunks for texture. Mix ingredients together. IV. Cheese Preparation\nIngredient: Fresh Mozzarella, preferably a low-moisture (\u0026ldquo;hard dry\u0026rdquo;) variety. Instructions: Cut the mozzarella into slices or small cubes. The thickness is key: not too thin (will burn) and not too thick (won\u0026rsquo;t melt properly). Aim for roughly 1/4 inch (5-7mm) slices. Avoid shredding. V. Dough Balling (Staglio)\nInstructions: After the 1-hour bulk rest, lightly oil your hands. Divide the dough into 4 equal portions (approx. 280g each). Use a scale for accuracy. Take one portion. Gently fold the edges underneath itself, creating tension on the top surface, until you form a tight, smooth ball. Pinch the seam at the bottom closed. (Vito compares it to making fresh cheese like mozzarella). Place the dough balls on a tray or proofing box, leaving space between them (\u0026ldquo;four finger apart\u0026rdquo;). Do not use flour; the light oil coating prevents sticking. Cover the dough balls (e.g., with plastic wrap or the lid of the proofing box). Let the dough balls rest at room temperature for another 1 hour to relax and puff up slightly. VI. Stretching, Topping, and Baking\nIngredients: Prepared Dough Ball Semolina Flour or \u0026ldquo;00\u0026rdquo; Flour (for stretching surface) Prepared Tomato Sauce Grated Parmesan Cheese (Parmigiano Reggiano recommended) Prepared Fresh Mozzarella slices/cubes Fresh Basil leaves Extra Virgin Olive Oil (for finishing) Instructions: Preheat Oven: Preheat your pizza oven (like the Ooni used in the video) to high heat (Neapolitan typically requires 850-950°F / 450-500°C). If using wood, ensure you have small pieces ready to add for a good flame just before baking. Stretching: Place a generous amount of flour (Semolina preferred by many for less sticking, but \u0026ldquo;00\u0026rdquo; works) on your work surface. Use a small spatula to gently lift one dough ball and place it onto the floured surface. Lightly flour the top of the dough ball. Using your fingertips, press down around the edge of the dough ball (leaving about a 1-inch border untouched for the crust/cornicione). Press outwards, pushing the air from the center towards the edge. Do not stretch yet, just press. Flip the dough over. Repeat the pressing motion. Now, begin stretching: Vito demonstrates a technique of pressing down with one hand while gently pulling/stretching with the other, rotating the dough. He also shows lifting the dough, placing one hand underneath and one on top near the edge, letting gravity help stretch it larger. Land it back on the floured surface. Gently slap or brush off any excess flour from the bottom of the pizza base. Topping (Done on the counter, NOT the peel): Spoon 2-3 spoonfuls of tomato sauce into the center. Using the back of the spoon in a spiral motion, spread the sauce evenly, leaving the border clear. Sprinkle a small amount of grated Parmesan cheese over the sauce. Distribute the fresh mozzarella slices/cubes evenly over the sauce. Don\u0026rsquo;t overcrowd. Place a few fresh basil leaves on top. Drizzle a tiny bit of olive oil directly onto the basil leaves to help prevent them from burning excessively. Transfer to Peel: Lightly flour your pizza peel (wood or metal). Carefully slide the peel under the prepared pizza using a quick, confident motion. Vito shows lifting one edge slightly with his hand to help guide the peel under. Once on the peel, give it a little shake to ensure it\u0026rsquo;s not sticking. If needed, very slightly lift edges and blow/add a tiny bit more flour underneath sticky spots. You can do a final gentle stretch on the peel to perfect the shape/size if desired. Baking: If using wood, add a few small pieces to the fire now to ensure a lively flame. Launch the pizza into the hot oven with a swift forward-and-pull-back motion. Close the oven door (if applicable). Bake for approximately 60-90 seconds (up to 2 minutes depending on heat). The flame should be actively cooking the top. After 30-45 seconds, use the peel to turn the pizza 180 degrees (or as needed) to ensure even cooking, as the back is usually hotter. Check the bottom – it should be spotted, not pale or burnt. Vito\u0026rsquo;s Tip: If the bottom is cooking too fast (getting burnt), lift the pizza off the stone using the peel and hold it closer to the top dome heat for the remaining cook time. If the bottom is too pale, move the pizza to a different, hotter spot on the stone. Continue turning as needed for even browning. Remove the pizza when the crust is puffed and golden brown with some charring (\u0026ldquo;leoparding\u0026rdquo;), and the cheese is melted and bubbly. Finishing: Place the cooked pizza on a cutting board or cooling rack. Sprinkle a little more grated Parmesan cheese over the entire pizza, including the crust. Add a few fresh basil leaves. Drizzle with high-quality extra virgin olive oil. Cut (scissors are traditional, but a wheel works) and serve immediately. Enjoy your authentic Neapolitan-style pizza!\n","permalink":"https://sandeepgangarapu.com/recipes/neapolitan-style-pizza/","summary":"\u003cp\u003e\u003cstrong\u003eYields:\u003c/strong\u003e 4 pizzas (approx. 280g dough balls)\n\u003cstrong\u003ePrep time:\u003c/strong\u003e Approx. 20-26 hours (including poolish and dough resting)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eI. Poolish (Pre-ferment) - Start 16-24 hours before making dough\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eIngredients:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003e200g Water\u003c/li\u003e\n\u003cli\u003e5g Honey\u003c/li\u003e\n\u003cli\u003e5g Yeast (Active Dry Yeast)\u003c/li\u003e\n\u003cli\u003e200g \u0026ldquo;00\u0026rdquo; Flour\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstructions:\u003c/strong\u003e\n\u003col\u003e\n\u003cli\u003eWeigh 200g of water into a container.\u003c/li\u003e\n\u003cli\u003eAdd 5g of honey and 5g of yeast to the water.\u003c/li\u003e\n\u003cli\u003eMix well to dissolve the yeast and honey.\u003c/li\u003e\n\u003cli\u003eAdd 200g of \u0026ldquo;00\u0026rdquo; flour.\u003c/li\u003e\n\u003cli\u003eMix until just combined (this is a 100% hydration starter).\u003c/li\u003e\n\u003cli\u003eLet it sit covered for 15 minutes at room temperature.\u003c/li\u003e\n\u003cli\u003eSeal the container tightly.\u003c/li\u003e\n\u003cli\u003eLet it rest for 1 hour at room temperature.\u003c/li\u003e\n\u003cli\u003ePlace the sealed container in the refrigerator for 16 to 24 hours. (Do not exceed 24 hours, or it may become too acidic).\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eII. Main Dough\u003c/strong\u003e\u003c/p\u003e","title":"Neapolitan style pizza"},{"content":"This decade coincided with my 20–30’s which is the time when your mind is molded. Here are the ten ideas that I take back from this decade.\n“Well, Mr. President, I’m helping put a man on the moon.” In the early 2010s, I firmly believed that pursuing a career in public service was the only path to making a difference in the world. This belief was challenged by a family member who asked whether my father, a businessman, had made any impact. He argued that anyone who genuinely works hard and has concern for others has the power to change the world. This conversation fundamentally shifted my perspective on various professions. It brings to mind the famous response of a NASA janitor when President John F. Kennedy inquired about his role. The janitor proudly stated, \u0026ldquo;Well, Mr. President, I’m helping put a man on the moon.\u0026rdquo; No profession is inferior. An Uber driver for instance, transports hundreds of people each week to destinations where they can make a difference. The manual scavenger clears gutters so you don\u0026rsquo;t have to. This train of thought also reminds me of a story I came across on HONY. We overestimate what we can do in a week and underestimate what we can do in a year. This marks my fourth year in the Ph.D. program, and there are days when I don\u0026rsquo;t feel super productive. Yet, every now and then, when I reflect on how far I\u0026rsquo;ve come, it\u0026rsquo;s truly mind-boggling. At the beginning of my Ph.D. journey, with my limited background in statistics, all I knew were concepts like mean, median, mode, and variance. Today, I can boldly delve into computer science or statistics research without feeling overwhelmed. This progress was only achievable by learning bit by bit every single day for the past 1300 days. I recently came across this quote, and it resonates deeply: \u0026ldquo;Dream in years. Plan in months. Evaluate in weeks. Ship daily.\u0026rdquo; - @dpatil. Navigating a Ph.D. is an incredibly tough challenge, but consistently showing up daily, regardless of circumstances, has been a game-changer for me during the rough patches. Every monumental task can be conquered by tackling it little by little EVERY SINGLE DAY. A life lived for others is the life worth living. Everyone questions the purpose of life and I did too, multiple times in the past decade. Money might drive a person, a goal might, love might, but do they provide happiness? prolonged happiness? I came to realize they might not. At least for me. 3 instances gave me prolonged happiness. First, when the stress of my Ph.D. overwhelmed me in my second year, I broke down in tears in front of my mom, and her comfort made me feel incredibly grateful for her support. I felt so glad to have someone with me who cares. Second, when my colleagues at Google expressed their appreciation for my help and mentorship. Third, when I was an instructor for an undergrad course. Every time I taught, I felt this profound sustained happiness. These experiences highlight the importance of family and selfless assistance. I\u0026rsquo;ve read that helping others is the most selfish act because it makes you feel good every time. Focusing on what you can do for others rather than what you need brings a sense of purpose and fulfillment. In times of conflict, I find it helpful to consider whether I am acting selflessly or selfishly. Long time ago, I read an answer on quora to a question about the purpose of life which stuck with me. The person compared life to a party, where some people are hosts, some are popular, but everyone can enjoy themselves without feeling the pressure to be the life of the party. The idea is to contribute something, have fun, and leave without causing chaos. Life is similar—don\u0026rsquo;t take it too seriously. Bring something to the table, strive for enjoyment, and make your exit without leaving a mess behind. If money is lost, nothing is lost. If character is lost, something is lost. But if health is lost, everything is lost! One of my colleagues at Google said this during his farewell speech and nothing has stuck on my mind as much as this thought. Fortunately, I am blessed with good health so far but as I enter my 30’s, I can see the downhill. My hair doesn’t grow as fast, I catch my breath if I run for a minute and I cannot focus on a task for more than 15 minutes. What is the point of the rat race if you cannot enjoy the fruits of it owing to ill health. When I quit Google and joined PhD, made less money, it didn’t affect me as much. However, a day when my mental health isn’t good or if I am down with backache, I can easily notice the impact it has on day to day activities. Perfection is the enemy of progress This falls into 80–20 rule which says 80% of the work takes only 20% of the time and the rest 20% takes 80% of the time. For example, while making presentations, time and again I delve into making 1–2 slides that I already completed to look perfect. Adjusting the borders, aligning the text, changing font, etc. Burning bridges is the easiest thing to do It\u0026rsquo;s often harder to keep good relationships going with patience and empathy than just brushing people off and discrediting them. In our personal and professional lives, it\u0026rsquo;s way too easy to let our ego call the shots instead of trying to work together and giving others the benefit of the doubt. Sure, burning bridges might seem like an easy way out when we face conflicts or disagreements, but in the end, it only leads to missed opportunities and valuable connections going down the drain. By putting in the effort to really talk with others, understand where they\u0026rsquo;re coming from, and find solutions that work for everyone, we not only make our relationships stronger but also create a more postive atmosphere. Our world has changed for the good Despite the barrage of negative news and seemingly endless challenges that we face, it\u0026rsquo;s important to remember that our world has changed for the better in many ways. As noted by the Gates Foundation and various studies on health and mortality, global progress in areas such as education, healthcare, and poverty reduction has continued to improve. Violence has also decreased over time, and we now live in a more connected and technologically advanced and safe world than ever before. Recognizing these positive changes can help us cultivate an attitude of gratitude and inspire us to continue making the world a better place for future generations. nanos gigantum humeris insidentes We stand on the shoulders of giants. We see farther than them, have more wisdom than them because we stand on their shoulders, the same way the future generations will stand on our shoulders. Progress and innovation rarely happen overnight; rather, they are the result of countless individuals contributing their knowledge, skills, and ideas over time. Sometimes, tasks may seem overwhelming because we may not acknowledge that what may seem obvious to us is actually the result of the work of so many people across decades and even centuries. If you are not a socialist in your twenties you don’t have a heart. If you are not a capitalist in your sixties, you don\u0026rsquo;t have a brain. This quote encapsulates the idea that our perspectives often shift as we age and gain life experience. In our twenties, many of us are driven by idealism and a desire to create a more equitable and just society. However, as we mature and navigate the complexities of life, we may come to appreciate the need for balance between social and economic systems. Recognizing the merits and limitations of both socialism and capitalism can help us cultivate a more nuanced understanding of the world and also understand that everything has two side. Nothing is completly good or completely bad. Discipline is freedom Many people view discipline as a difficult or restrictive thing, but they often fail to see how it can actually offer them freedom. Establishing good habits and adhering to routines can create a framework that allows us to accomplish more and achieve our dreams. For instance, practicing financial discipline by saving, investing wisely, and living within our means can lead to financial freedom in the long run. By being disciplined in various aspects of our lives, we can ultimately experience greater freedom and autonomy, opening up more opportunities to pursue our passions and enjoy the things that truly matter to us. ","permalink":"https://sandeepgangarapu.com/blog/stories/ten-things-for-the-last-ten-years/","summary":"\u003cp\u003eThis decade coincided with my 20–30’s which is the time when your mind is molded. Here are the ten ideas that I take back from this decade.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e“Well, Mr. President, I’m helping put a man on the moon.”\n\u003col\u003e\n\u003cli\u003eIn the early 2010s, I firmly believed that pursuing a career in public service was the only path to making a difference in the world. This belief was challenged by a family member who asked whether my father, a businessman, had made any impact. He argued that anyone who genuinely works hard and has concern for others has the power to change the world. This conversation fundamentally shifted my perspective on various professions. It brings to mind the famous response of a NASA janitor when President John F. Kennedy inquired about his role. The janitor proudly stated, \u0026ldquo;Well, Mr. President, I’m helping put a man on the moon.\u0026rdquo; No profession is inferior. An Uber driver for instance, transports hundreds of people each week to destinations where they can make a difference. The manual scavenger clears gutters so you don\u0026rsquo;t have to. This train of thought also reminds me of a \u003ca href=\"https://www.facebook.com/humansofnewyork/photos/a.102107073196735/1470342643039831/?type=3\u0026amp;theater\"\u003estory\u003c/a\u003e I came across on HONY.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003eWe overestimate what we can do in a week and underestimate what we can do in a year.\n\u003col\u003e\n\u003cli\u003eThis marks my fourth year in the Ph.D. program, and there are days when I don\u0026rsquo;t feel super productive. Yet, every now and then, when I reflect on how far I\u0026rsquo;ve come, it\u0026rsquo;s truly mind-boggling. At the beginning of my Ph.D. journey, with my limited background in statistics, all I knew were concepts like mean, median, mode, and variance. Today, I can boldly delve into computer science or statistics research without feeling overwhelmed. This progress was only achievable by learning bit by bit every single day for the past 1300 days. I recently came across this quote, and it resonates deeply: \u0026ldquo;Dream in years. Plan in months. Evaluate in weeks. Ship daily.\u0026rdquo; - \u003ca href=\"https://twitter.com/dpatil\"\u003e@dpatil\u003c/a\u003e. Navigating a Ph.D. is an incredibly tough challenge, but consistently showing up daily, regardless of circumstances, has been a game-changer for me during the rough patches. Every monumental task can be conquered by tackling it little by little EVERY SINGLE DAY.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003eA life lived for others is the life worth living.\n\u003col\u003e\n\u003cli\u003eEveryone questions the purpose of life and I did too, multiple times in the past decade. Money might drive a person, a goal might, love might, but do they provide happiness? prolonged happiness? I came to realize they might not. At least for me. 3 instances gave me prolonged happiness. First, when the stress of my Ph.D. overwhelmed me in my second year, I broke down in tears in front of my mom, and her comfort made me feel incredibly grateful for her support. I felt so glad to have someone with me who cares. Second, when my colleagues at Google expressed their appreciation for my help and mentorship. Third, when I was an instructor for an undergrad course. Every time I taught, I felt this profound sustained happiness. These experiences highlight the importance of family and selfless assistance. I\u0026rsquo;ve read that helping others is the most selfish act because it makes you feel good every time. Focusing on what you can do for others rather than what you need brings a sense of purpose and fulfillment. In times of conflict, I find it helpful to consider whether I am acting selflessly or selfishly.\u003c/li\u003e\n\u003cli\u003eLong time ago, I read an answer on quora to a question about the purpose of life which stuck with me. The person compared life to a party, where some people are hosts, some are popular, but everyone can enjoy themselves without feeling the pressure to be the life of the party. The idea is to contribute something, have fun, and leave without causing chaos. Life is similar—don\u0026rsquo;t take it too seriously. Bring something to the table, strive for enjoyment, and make your exit without leaving a mess behind.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003eIf money is lost, nothing is lost. If character is lost, something is lost. But if health is lost, everything is lost!\n\u003col\u003e\n\u003cli\u003eOne of my colleagues at Google said this during his farewell speech and nothing has stuck on my mind as much as this thought. Fortunately, I am blessed with good health so far but as I enter my 30’s, I can see the downhill. My hair doesn’t grow as fast, I catch my breath if I run for a minute and I cannot focus on a task for more than 15 minutes. What is the point of the rat race if you cannot enjoy the fruits of it owing to ill health. When I quit Google and joined PhD, made less money, it didn’t affect me as much. However, a day when my mental health isn’t good or if I am down with backache, I can easily notice the impact it has on day to day activities.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003ePerfection is the enemy of progress\n\u003col\u003e\n\u003cli\u003eThis falls into 80–20 rule which says 80% of the work takes only 20% of the time and the rest 20% takes 80% of the time. For example, while making presentations, time and again I delve into making 1–2 slides that I already completed to look perfect. Adjusting the borders, aligning the text, changing font, etc.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003eBurning bridges is the easiest thing to do\n\u003col\u003e\n\u003cli\u003eIt\u0026rsquo;s often harder to keep good relationships going with patience and empathy than just brushing people off and discrediting them. In our personal and professional lives, it\u0026rsquo;s way too easy to let our ego call the shots instead of trying to work together and giving others the benefit of the doubt. Sure, burning bridges might seem like an easy way out when we face conflicts or disagreements, but in the end, it only leads to missed opportunities and valuable connections going down the drain. By putting in the effort to really talk with others, understand where they\u0026rsquo;re coming from, and find solutions that work for everyone, we not only make our relationships stronger but also create a more postive atmosphere.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003eOur world has changed for the good\n\u003col\u003e\n\u003cli\u003eDespite the barrage of negative news and seemingly endless challenges that we face, it\u0026rsquo;s important to remember that our world has changed for the better in many ways. As noted by the Gates Foundation and various studies on health and mortality, global progress in areas such as education, healthcare, and poverty reduction has continued to improve. Violence has also decreased over time, and we now live in a more connected and technologically advanced and safe world than ever before. Recognizing these positive changes can help us cultivate an attitude of gratitude and inspire us to continue making the world a better place for future generations.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003enanos gigantum humeris insidentes\n\u003col\u003e\n\u003cli\u003eWe stand on the shoulders of giants. We see farther than them, have more wisdom than them because we stand on their shoulders, the same way the future generations will stand on our shoulders. Progress and innovation rarely happen overnight; rather, they are the result of countless individuals contributing their knowledge, skills, and ideas over time. Sometimes, tasks may seem overwhelming because we may not acknowledge that what may seem obvious to us is actually the result of the work of so many people across decades and even centuries.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003eIf you are not a socialist in your twenties you don’t have a heart. If you are not a capitalist in your sixties, you don\u0026rsquo;t have a brain.\n\u003col\u003e\n\u003cli\u003eThis quote encapsulates the idea that our perspectives often shift as we age and gain life experience. In our twenties, many of us are driven by idealism and a desire to create a more equitable and just society. However, as we mature and navigate the complexities of life, we may come to appreciate the need for balance between social and economic systems. Recognizing the merits and limitations of both socialism and capitalism can help us cultivate a more nuanced understanding of the world and also understand that everything has two side. Nothing is completly good or completely bad.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003eDiscipline is freedom\n\u003col\u003e\n\u003cli\u003eMany people view discipline as a difficult or restrictive thing, but they often fail to see how it can actually offer them freedom. Establishing good habits and adhering to routines can create a framework that allows us to accomplish more and achieve our dreams. For instance, practicing financial discipline by saving, investing wisely, and living within our means can lead to financial freedom in the long run. By being disciplined in various aspects of our lives, we can ultimately experience greater freedom and autonomy, opening up more opportunities to pursue our passions and enjoy the things that truly matter to us.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ol\u003e","title":"Ten things for the last ten years"},{"content":"Mainly for Masala dosa.\nIngredients:\nPeanuts - 2 cups Urad dal - tbs Chana dal - tbs Cumin - 1 tsp Asafoetida - a pinch Garlic - 3 cloves Green chillies - 6 Curry leaves - few Salt - as per taste Oil - 2 tsp Instructions:\nHeat oil in a pan. Add cumin, urad dal, chana dal and asafoetida. Fry until the dals turn golden brown. Add garlic, green chillies and curry leaves and fry for a few seconds. Add the peanuts and salt and mix. Fry for few more minutes until the peanuts are cooked. Turn off the heat and cool the mixture. Grind the cooled mixture in a mixer to a coarse paste. Serve with masala dosa. ","permalink":"https://sandeepgangarapu.com/recipes/peanut-chutney/","summary":"\u003cp\u003eMainly for Masala dosa.\u003c/p\u003e\n\u003cp\u003eIngredients:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePeanuts - 2 cups\u003c/li\u003e\n\u003cli\u003eUrad dal -  tbs\u003c/li\u003e\n\u003cli\u003eChana dal  - tbs\u003c/li\u003e\n\u003cli\u003eCumin - 1 tsp\u003c/li\u003e\n\u003cli\u003eAsafoetida - a pinch\u003c/li\u003e\n\u003cli\u003eGarlic - 3 cloves\u003c/li\u003e\n\u003cli\u003eGreen chillies - 6\u003c/li\u003e\n\u003cli\u003eCurry leaves - few\u003c/li\u003e\n\u003cli\u003eSalt - as per taste\u003c/li\u003e\n\u003cli\u003eOil - 2 tsp\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInstructions:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eHeat oil in a pan.\u003c/li\u003e\n\u003cli\u003eAdd cumin, urad dal, chana dal and asafoetida.\u003c/li\u003e\n\u003cli\u003eFry until the dals turn golden brown.\u003c/li\u003e\n\u003cli\u003eAdd garlic, green chillies and curry leaves and fry for a few seconds.\u003c/li\u003e\n\u003cli\u003eAdd the peanuts and salt and mix.\u003c/li\u003e\n\u003cli\u003eFry for few more minutes until the peanuts are cooked.\u003c/li\u003e\n\u003cli\u003eTurn off the heat and cool the mixture.\u003c/li\u003e\n\u003cli\u003eGrind the cooled mixture in a mixer to a coarse paste.\u003c/li\u003e\n\u003cli\u003eServe with masala dosa.\u003c/li\u003e\n\u003c/ol\u003e","title":"Peanut Chutney"},{"content":"These are the girls who were directly impacted by the donations we make at VFF-RDT. Reading these makes be double down on the commitment to continue this work and give it back to the community and those who need it the most.\nAmrutalxmi She is the first in her family to go to college. Amrutalaxmi is studying science and wants to become a software engineer. She is one of the 360 recipients of the RDT STEM scholarship.\nAccording to Amrutalaxmi, \u0026quot; As soon as I received the scholarship, I was confident that my dream of joining Microsoft would be a reality soon.\u0026quot; Her father is grateful for RDT\u0026rsquo;s support and said, \u0026quot; without this help, my daughter wouldn\u0026rsquo;t be able to pursue a career in science. \u0026ldquo;Both her parents are farmers and are always concerned about how to fund their daughter\u0026rsquo;s education. Amrutalaxmi wants to give her 100% so that she can inspire other girls from her community through her journey. She stays in a residential college that is 12 hours away from her home, and for her, it is a significant change to adapt and adjust, she says \u0026quot; it is hard to stay away from parents, but I have accepted the challenge to pursue my dream - where I want to be\u0026rdquo;\nAnsurani Ansurani believes in herself and in her ability to become a software engineer. Her father never thought that his daughter could be an engineer. However, I started believing in her dreams when she was selected for the scholarship. Her father, Somsekhar, said: \u0026quot; I distributed sweets in the community as soon as I received the news of my daughter\u0026rsquo;s scholarship.\u0026quot; Ansuarani added, \u0026quot; In our community, sweets are usually distributed when a boy is born, but my father set an example by distributing sweets because I got the scholarship.\u0026quot; Ansurani is a very determined student who wants to complete her study with good grades to get a good job to support her parents.\nNavya: Navya is the eldest of three sisters and considers herself the family\u0026rsquo;s backbone. Navya wants to be an aerospace engineer. When asked why she is so determined to become an aerospace engineer at this young age, she said, \u0026quot; APJ Abdul Kalam is my ideal; his journey motivates me to keep going. APJ went through so many challenges because of poverty, and so did I. Kalam\u0026rsquo;s Wings of Fire is my favorite book, and I want to keep that fire intact to fight all challenges and reach my dream.\u0026quot; Navya also helps her sisters with their studies and inspires other classmates to follow their dreams. In addition, Navya loves to read motivational books and wants to be a motivational speaker to share her journey with the world and inspire many. When asked as an Aeronautical engineer where she would prefer to work: NASA or ISRO? Within a moment, she retorted, \u0026ldquo;ISRO\u0026rdquo; I want to do more for my country.\n","permalink":"https://sandeepgangarapu.com/blog/stories/testimonials-from-girls-who-received-stem-scholarships-at-vff/","summary":"\u003cp\u003eThese are the girls who were directly impacted by the donations we make at VFF-RDT. Reading these makes be double down on the commitment to continue this work and give it back to the community and those who need it the most.\u003c/p\u003e\n\u003ch2 id=\"amrutalxmi\"\u003eAmrutalxmi\u003c/h2\u003e\n\u003cp\u003eShe is the first in her family to go to college. Amrutalaxmi is studying science and wants to become a software engineer. She is one of the 360 recipients of the RDT STEM scholarship.\u003c/p\u003e","title":"Testimonials from girls who received STEM scholarships at VFF"},{"content":"Central limit theorem states that sample means follow normal distribution. People often confuse this with and question the validity of uniform distribution of p-values under nul hypothesis. Should we not be observing extreme p-values much less ofter than usual pvalues like 0.2 or 0.3?\nImagine if null hypothesis is true. This means there is no difference betweem treatment and control.\nimport numpy as np import pandas as pd import statsmodels.api as sm from scipy import stats import matplotlib.pyplot as plt pval_lis = [] t_stat_lis = [] samp_mean_lis = [] for i in range(100000): sample = np.random.normal(0, 1, 10) samp_mean = sample.mean() samp_mean_lis.append(samp_mean) t_stat = sample.mean()/(sample.std()/np.sqrt(sample.size)) t_stat_lis.append(t_stat) pval = stats.t.sf(abs(t_stat), df=sample.size)*2 pval_lis.append(pval) plt.hist(np.array(samp_mean_lis)) Distribution of sample means\nplt.hist(np.array(t_stat_lis)) Distribution of t-statistics\nplt.hist(np.array(pval_lis)) Distribution of p-values under the null hypothesis — uniformly distributed\n","permalink":"https://sandeepgangarapu.com/blog/technical/under-null-hypothesis-p-values-are-uniformly-distributed/","summary":"\u003cp\u003eCentral limit theorem states that sample means follow normal distribution. People often confuse this with and question the validity of uniform distribution of p-values under nul hypothesis. Should we not be observing extreme p-values much less ofter than usual pvalues like 0.2 or 0.3?\u003c/p\u003e\n\u003cp\u003eImagine if null hypothesis is true. This means there is no difference betweem treatment and control.\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003enumpy\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003enp\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003epandas\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003epd\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003estatsmodels.api\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003esm\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003efrom\u003c/span\u003e \u003cspan class=\"nn\"\u003escipy\u003c/span\u003e \u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"n\"\u003estats\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003ematplotlib.pyplot\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003eplt\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epval_lis\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003et_stat_lis\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003esamp_mean_lis\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e[]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003efor\u003c/span\u003e \u003cspan class=\"n\"\u003ei\u003c/span\u003e \u003cspan class=\"ow\"\u003ein\u003c/span\u003e \u003cspan class=\"nb\"\u003erange\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e100000\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esample\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003enp\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003erandom\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003enormal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"mi\"\u003e10\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esamp_mean\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003esample\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esamp_mean_lis\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eappend\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esamp_mean\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003et_stat\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003esample\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003cspan class=\"o\"\u003e/\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esample\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003estd\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003cspan class=\"o\"\u003e/\u003c/span\u003e\u003cspan class=\"n\"\u003enp\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003esqrt\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esample\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003esize\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003et_stat_lis\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eappend\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003et_stat\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epval\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003estats\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003et\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003esf\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nb\"\u003eabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003et_stat\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"n\"\u003esample\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003esize\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"mi\"\u003e2\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epval_lis\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eappend\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epval\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eplt\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ehist\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003enp\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003earray\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esamp_mean_lis\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cfigure class=\"align-center \"\u003e\n    \u003cimg loading=\"lazy\" src=\"/images/blog/technical/under-null-hypothesis-p-values-are-uniformly-distributed/output_2_1.png#center\"\n         alt=\"Histogram of sample means\"/\u003e \u003cfigcaption\u003e\n            \u003cp\u003eDistribution of sample means\u003c/p\u003e","title":"Under null hypothesis, p-values are uniformly distributed"},{"content":" 💡 Its all in the broth. Maintaining broth temperature after serving is the key. Heat the bowls, keep everything as hot as possible. Make sure you have enough broth for everyone. Less broth = Failed dish\nIf you are topping with soy marinated soft boiled eggs, start with this as it takes the most time to prep.\nSoy marinated soft boiled eggs:\nIngredients: Eggs, Soy sauce\nBring water to boil Add large eggs and keep the heat for 7 minutes 30 seconds In the meanwhile prepare ice bath Transfer cooked eggs into ice bath to stop them from cooking Peel the eggs and add them to soy sauce in a ziplock bag and let it rest until we use it in ramen assembly. Soy marinated Tofu:\nIngredients: Extra firm Tofu, Hoishin sauce, Soy sauce\nDrain out water by putting heave weight on tofu Marinate tofu in soy sauce and Hoishin sauce Pan fry the tofu with some breading Use extra firm or firm tofu as it is easy to handle throughout. Soft tofu will simply fall apart. Broth Ingredients: Miso paste, Vegetables, Bottoms of spring onions, Mushrooms, Thai Chilli/any Chilli, White Onion, Sesame oil, Tamari, Hoishin sauce, Ginger, Salt\nRoast all vegetables, mushrooms, diced white onions, chillies in sesame oil Use a good quality vegetable broth to skip this step. Add water, julienne cut ginger/galangal (and a little bit of garlic if you want) to roasted veggies and slow cook for as much time as you have (atleast an hour/until veggies are mushy). Prepare toppings while this is cooking. Smash veggies in between from time to time. Strain the solids out and pressure press to extract everything from the solids Put the liquids on the pot and add water, miso paste, tamari, hoishin sauce, salt and boil in in medium and keep adding water to get it to the amount of broth you want in the end Noodles Follow instructs on your noodle packet. Cook for 10-15 secs less than instructed so you don’t have to flash cool them. (Flash cooling them and adding them to broth will reduce broth temperature which is undesirable) Noodles is the last step in the entire ramen process, so, you boil them just before you assemble Toppings Add as is:\nChilli oil Spring onions Seaweed Sesame oil - if you want some oily consistency Enoki Mushrooms - raw Add with modifications:\nRoasted sesame seeds (can’t recommend enough) Pan roasted bok choy (roast in sesame oil) (optional: coat with miso before roasting) Soy marinated soft boiled egg Assembly Add noodles into the bowl Add broth into broth Add toppings Enjoy! (may be with some Soju) ","permalink":"https://sandeepgangarapu.com/recipes/veg-ramen/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 Its all in the broth.\nMaintaining broth temperature after serving is the key. Heat the bowls, keep everything as hot as possible.\nMake sure you have enough broth for everyone. Less broth = Failed dish\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eIf you are topping with soy marinated soft boiled eggs, start with this as it takes the most time to prep.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSoy marinated soft boiled eggs:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eIngredients: Eggs, Soy sauce\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eBring water to boil\u003c/li\u003e\n\u003cli\u003eAdd large eggs and keep the heat for 7 minutes 30 seconds\u003c/li\u003e\n\u003cli\u003eIn the meanwhile prepare ice bath\u003c/li\u003e\n\u003cli\u003eTransfer cooked eggs into ice bath to stop them from cooking\u003c/li\u003e\n\u003cli\u003ePeel the eggs and add them to soy sauce in a ziplock bag and let it rest until we use it in ramen assembly.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003eSoy marinated Tofu:\u003c/strong\u003e\u003c/p\u003e","title":"Veg Ramen"},{"content":"Annual report 2020-21\nBackground Vincent Ferrer started the Vicente Ferrer Foundation in 1969 with his wife, Anna Ferrer, in Andhra Pradesh, Anantapur. The foundation has funded three hospitals, an AIDS clinic, a family planning center, 14 rural clinics, 1,700 schools, some 30,000 houses and the planting of over 3 million trees. The work of the foundation has improved the lives of more than 2.5 million people. This is as of 2009.\nSource: https://en.wikipedia.org/wiki/Vicenç_Ferrer_Moncho\nWhy I donate here Trust and personal connection\nI grew up in Anantapur and have seen their work first hand for 20 years. I went to their hospitals for care and took part in sport activities they organized. Everyone in the community trusts them and hold them in very high regard.\nBelief in structures\nEvery person can make a difference individually, but an organization can make big structural changes, think big, take leaps of faith and make a huge difference in entire community. Basically, economies of scale.\nConsistency.\nThe foundation has been going strong for more than five decades, two generations and I see no signs slowing down. I know donations here will make a long lasting impact.\nSimilar beliefs\nI strongly believe education is the solution to all problems humanity faces. Good education is taken for granted in the circles I am part of but a lot of people are stuck in the circle of poverty and illiteracy. Breaking the chain is very difficult and VFF has a good track record of doing that.\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/why-i-donate-to-vincent-ferrer-foundation/","summary":"\u003cp\u003e\u003ca href=\"https://www.vffusa.org/wp-content/uploads/2022/02/Annual-Report-2020-21.pdf\"\u003eAnnual report 2020-21\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"background\"\u003eBackground\u003c/h3\u003e\n\u003cp\u003eVincent Ferrer started the Vicente Ferrer Foundation in 1969 with his wife, Anna Ferrer, in Andhra Pradesh, Anantapur. The foundation has funded three hospitals, an AIDS clinic, a family planning center, 14 rural clinics, 1,700 schools, some 30,000 houses and the planting of over 3 million trees. The work of the foundation has improved the lives of more than 2.5 million people. This is as of 2009.\u003c/p\u003e","title":"Why I donate to Vincent Ferrer Foundation"},{"content":"Mentorship “As someone with a PhD transitioning from academia to tech (data science), Sandeep has been very helpful. It can be a lonely and challenging process, and I am extremely grateful to have met him. I feel like I have made a lifelong friend and mentor. I went to Sandeep for mock interviews related to behavioral and technical assessments. He has experience interviewing at all the top tech companies. Beyond that, he has been a support for me through my ups and downs.”\n“I had a great experience doing a mock interview with Sandeep. He is a great resource detailing each nuanced aspect that can be improved. In addition to this, he also shared external resources and mock interview recording, which is helpful.\nWhat sets him apart from other folks is he is doing this for the social cause. For every dollar put by you he puts another and contributes to the non-profit organization, this is very noble and kind of him!”\n“Sandeep was nice to talk and easily approachable person with lot of passion for his expertise. He listens to you and very humble and above all had patience to explain which is not easy to get these days.”\nTeaching \u0026ldquo;Sandeep has great knowledge on the topic and does a very effective job of communicating the practical uses of SQL to the student. In addition, Sandeep deeply cares about his students and the topic he teaches. That shows by how open he is to work with students one on one to get them to understand the topic.\u0026rdquo;\n\u0026ldquo;One of the best instructors I\u0026rsquo;ve ever had. No fluff, every word out of his mouth was relevant and applicable. He also gave us access to external tools for optional additional practice. No busywork, no attendance grade, and assignments that both reflect the content and are difficult enough to study for.\u0026rdquo;\n“I wanted to reach out and thank you again for your help not only in your SQL class but in giving me advice afterwards. I am about 3 months into my role now and use SQL every day. Your class is the ONLY reason I was able to land this job where almost all the workers were computer science majors. I am so appreciative of the skills you taught as well as helping me learn how to learn coding. You were the most influential professor I had during my time in undergrad- I got a job I enjoy doing primarily through your advice and help.”\n“With your help, I was successfully admitted by Columbia University, University of Southern California, National University of Singapore, Washington University(St. Louis), Duke University, and so on. One of the best things for me in 2019 is that I chose to take your IDSC 3103 course!”\n“Sandeep was so kind and helpful and a great resource for when you\u0026rsquo;re struggling. We need more professors like him!”\n“Sandeep was very engaging during lecture. In most classes, if I have the option I will stay home and take notes on my own, but Sandeep made it worth coming to the lecture”\n","permalink":"https://sandeepgangarapu.com/blog/rolling-blog/testimonials/","summary":"\u003ch2 id=\"mentorship\"\u003eMentorship\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cem\u003e“As someone with a PhD transitioning from academia to tech (data science), Sandeep has been very helpful. It can be a lonely and challenging process, and I am extremely grateful to have met him. I feel like I have made a lifelong friend and mentor. I went to Sandeep for mock interviews related to behavioral and technical assessments. He has experience interviewing at all the top tech companies. Beyond that, he has been a support for me through my ups and downs.”\u003c/em\u003e\u003c/p\u003e","title":"Testimonials"},{"content":"Notion\nNotion is by far the most impactful software product I ever used. I have been using this for two years now and I am still in awe of how awesome it is and how useful it is. This website in on Notion for started. This can be used for managing everything in your life. It is also the perfect project managment software there is. https://www.notion.so/\nMacBook Pro\nThis is easily the best laptop by miles. I used macbook pro during work for three years without a problem. I came back to windows machines (Surface book and Lenovo thinkpad) for five years. There was a day and night differecne. If you can afford to invest in a macbook, just for it. It is worth every single penny. I don’t know if I would say the same about the differences in iphone and an android phone, but in the laptop space, the difference is very clear.\nJockey T-shirts\nThe tshirts you get in Jockey - India are some of the best fitting, high quality long lasting t-shirts ever. Nothing came close to it so far.\n","permalink":"https://sandeepgangarapu.com/blog/rolling-blog/products-i-swear-by/","summary":"\u003cp\u003eNotion\u003c/p\u003e\n\u003cp\u003eNotion is by far the most impactful software product I ever used. I have been using this for two years now and I am still in awe of how awesome it is and how useful it is. This website in on Notion for started. This can be used for managing everything in your life. It is also the perfect project managment software there is. \u003ca href=\"https://www.notion.so/\"\u003ehttps://www.notion.so/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMacBook Pro\u003c/p\u003e\n\u003cp\u003eThis is easily the best laptop by miles. I used macbook pro during work for three years without a problem. I came back to windows machines (Surface book and Lenovo thinkpad) for five years. There was a day and night differecne. If you can afford to invest in a macbook, just for it. It is worth every single penny. I don’t know if I would say the same about the differences in iphone and an android phone, but in the laptop space, the difference is very clear.\u003c/p\u003e","title":"Products I swear by"},{"content":" 💡 I wrote this as an application to a teaching workshop that got cancelled because of COVID-19. I wrote this with a lot of passion and I believe this is one of my best writing samples. Every time I read this, its puts a smile on my face.\nI remember the words of the Provost of the University of Minnesota on the first day as a Ph.D. student at the Welcome Orientation “You get 5 years of your life to think big, fail big and make a lasting impact. Make the best use of it.” This is my fourth year in the Ph.D. program and these words cannot be truer. Every time I feel low, I remember the opportunity to explore the craziest of ideas with exceptional mentors, opportunity to stand on top and contribute to the work built by giants of researchers, opportunity to teach and inspire many others through my teaching and research. Academic research is frustrating, especially for a Ph.D. student, yet rewarding in the long term. The thought of working in an academic area for decades, grappling with problems that are hard, making progress every week, communicate complex things in a simple way to other researchers and students, getting those small wins like obtaining that result or finding evidence for your hypothesis is what makes me excited about an academic career in both short and long term.\nI had formal training as an Aerospace Engineer in my Bachelor’s degree and I am an engineer at heart. Quantitative research and Teaching interest me the most. I discovered my love for teaching at Google Inc. where I worked as a Data Scientist. What started as an informal training of Google’s data structures and tools to some of my teammates quickly became a full-fledged tutorial series on the entire Google Data stack that I delivered in three different countries. This is one aspect that made working at Google rewarding. When I got admitted to the Ph.D. program, the opportunity to teach a full class was the icing on the cake. I taught Data Modeling and Databases to Undergraduate students in MIS specialization. While I had experience teaching SQL before, teaching to 40 students with high variance in every aspect (interest levels, coding skills, attention span, ability to grasp new concepts) was a very challenging task. However, this is one of the most fulfilling aspects of my Ph.D. program. I have always believed that education is the solution to many problems that our society faces at large and Teaching is one of the noblest of professions. My main mission for teaching is to make sure that students have help with every aspect of the course and access to every resource needed to succeed.\nDuring the first two years of my Ph.D., I had an opportunity to be a Teaching Assistant to three Business Analytics Masters’ courses (Exploratory Data Analysis, Time Series, Bayesian Data Analysis) at the University of Minnesota. While I had first-hand experience working with both Professors and Students, I was always curious to learn about how the curriculum for the Masters’ program was designed to suit the requirements of the specific subgroup of students applying to the University. Given the course duration of just one year, I always wondered how to transition a student with minimal previous experience to a Master in Business analytics. Through this workshop, I also hope to understand what the main mission of a Business Analytics program should be, what inter-personal skills does an Instructor of Business Analytics program require, how to motivate and teach the concepts of Business Analytics with application to Industry in mind, how to teach to students with variety of backgrounds and high variance in their familiarity with concepts. I also wish to learn from the experiences of the workshop speakers, interact with my fellow attendees and share my knowledge in order to make this a successful program.\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/favorite-writing-motivation-for-teaching-and-research/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 I wrote this as an application to a teaching workshop that got cancelled because of COVID-19. I wrote this with a lot of passion and I believe this is one of my best writing samples. Every time I read this, its puts a smile on my face.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eI remember the words of the Provost of the University of Minnesota on the first day as a Ph.D. student at the Welcome Orientation “You get 5 years of your life to think big, fail big and make a lasting impact. Make the best use of it.” This is my fourth year in the Ph.D. program and these words cannot be truer. Every time I feel low, I remember the opportunity to explore the craziest of ideas with exceptional mentors, opportunity to stand on top and contribute to the work built by giants of researchers, opportunity to teach and inspire many others through my teaching and research. Academic research is frustrating, especially for a Ph.D. student, yet rewarding in the long term. The thought of working in an academic area for decades, grappling with problems that are hard, making progress every week, communicate complex things in a simple way to other researchers and students, getting those small wins like obtaining that result or finding evidence for your hypothesis is what makes me excited about an academic career in both short and long term.\u003c/p\u003e","title":"Favorite writing - Motivation for Teaching and Research"},{"content":"This is a recipe for instant pot. Similar for pressure cooker too, but once rice is added, you need to put the lid and get 3-4 whistles\nPre soak rice in water. 💡 No need to measure water, just enough to submerge the rice. I observed soaking makes a difference in the final product.\nPut the Instant pot in sauté mode. Add some oil. Wait for the oil to heat up. Add ghee if you are feeling dirty. Add bay leaf, cloves, cinnamon, pepper and star anise. 💡 crush the pepper and cloves for better aroma.\nAdd sliced onions. Sauté for 4 to 5 minutes. 💡 Brown them. Get those maillard reactions going.\nAdd diced tomato. Sauté for 4 to 5 minutes. Add vegetables like green peas, carrots, potato and others if you have. Sauté for 4 to 5 minutes. Add salt. 💡 When in doubt, lean on putting lesser salt, you can always fix it later.\nAdd red chilli powder. If you have Biryani powder, add that too. Sauté for 2 to 3 minutes. Add pre-soaked rice. Add two parts water for one part rice. Mix everything. Put the Instant pot in the rice mode. This is usually for 12 minutes. 💡 Make sure you mix. Having lumps of veggies and rice makes it hard to portion.\nOnce the cooking is done, wait for 6 to 7 minutes for natural pressure release. Enjoy! ","permalink":"https://sandeepgangarapu.com/recipes/vegetable-pulao/","summary":"\u003cp\u003eThis is a recipe for instant pot. Similar for pressure cooker too, but once rice is added, you need to put the lid and get 3-4 whistles\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003ePre soak rice in water.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡  No need to measure water, just enough to submerge the rice. I observed soaking makes a difference in the final product.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003col start=\"2\"\u003e\n\u003cli\u003ePut the Instant pot in sauté mode. Add some oil. Wait for the oil to heat up. Add ghee if you are feeling dirty.\u003c/li\u003e\n\u003cli\u003eAdd bay leaf, cloves, cinnamon, pepper and star anise.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 crush the pepper and cloves for better aroma.\u003c/p\u003e","title":"Vegetable pulao"},{"content":" Get a typical cereal bowl\nPut maggi in it\nPut maggi masala on top\nPour water on masala until the water line is in line with maggi surface. This will give medium consistency (soupy + dry)\nBelow the maggi surface - Dried consistency Above the maggi surface - Soupy consistency Adjust the levels as all bowls and microwaves are not the same Put it in microwave and set the timer on default mode for 2 minutes\nStir and mix and make sure the surface maggi is now down and vice versa\nPut it in microwave again and set the timer on default mode for 2 minutes\nThe bowl will be very hot now. Wait a couple minutes and not more (maggi will get soggy). Use a cloth to remove bowl from microwave\nEnjoy :)\n","permalink":"https://sandeepgangarapu.com/recipes/maggi-microwave/","summary":"\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eGet a typical cereal bowl\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"Untitled\" loading=\"lazy\" src=\"/images/recipes/maggi-microwave/untitled.png\"\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePut maggi in it\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePut maggi masala on top\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePour water on masala until the water line is in line with maggi surface. This will give medium consistency (soupy + dry)\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eBelow the maggi surface - Dried consistency\u003c/li\u003e\n\u003cli\u003eAbove the maggi surface - Soupy consistency\u003c/li\u003e\n\u003cli\u003eAdjust the levels as all bowls and microwaves are not the same\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePut it in microwave and set the timer on default mode for 2 minutes\u003c/p\u003e","title":"Maggi- Microwave"},{"content":"Practical significance is the North Star. 🌟\nWhy experiment? At the end of the day we want to know if treatment is better than control and whether changing the status quo is worth it. That is why we do experimentation or derive inference from observational data. Being better is not enough to take a practical decision. Is it worth changing the status quo? Both go in conjunction. That\u0026rsquo;s where practical significance comes in.\nScenarios An algorithmic change in google search backend improved the average load time by 0.01ms. The experiment had sample size of 1M. The effect size is too small and the sample size too large. Who cares! The change will make millions for Google as billion searches happen everyday.\nThe new marketing campaign has doubled the sign up rates from 10% to 20%. The experiment has decent sample size but P value of 0.07. Again, the risk of changing status quo is probably worth it. Go ahead. Do it.\nOur new drug improved the recovery rate by 0.05%. Trial is statistically significant. We should roll out the new drug. May be not. The effect size is too small to justify the process of approval, changing manufacturing pipeline and the whole shebang. It may not practically significant.\nConclusion We are too caught up on P Value cutoffs and discrediting the effects because of high sample sizes. But the decision should be made based on practical significance and whether changing the status quo is worth it.\n","permalink":"https://sandeepgangarapu.com/blog/technical/practical-significance-is-the-north-star/","summary":"\u003cp\u003ePractical significance is the North Star. 🌟\u003c/p\u003e\n\u003ch3 id=\"why-experiment\"\u003eWhy experiment?\u003c/h3\u003e\n\u003cp\u003eAt the end of the day we want to know if treatment is better than control and whether changing the status quo is worth it. That is why we do experimentation or derive inference from observational data. Being better is not enough to take a practical decision. Is it worth changing the status quo? Both go in conjunction. That\u0026rsquo;s where practical significance comes in.\u003c/p\u003e","title":"Practical significance is the North Star"},{"content":" 💡 The coffee grown in present-day India dates back to seven beans smuggled out of Arabia in the beard of a Muslim pilgrim.\nCoffee is a very sensitive plant to grow. It requires ideal conditions of high altitude, adequate rainfall, shade, and a cycle of hot days and cool nights for a healthy crop. With the Western Ghats and the Eastern Ghats in the south of India providing these unique climate conditions, it is inevitable for Coffee to come to India and boom. India is currently the sixth-largest producer of Coffee in the world.\nArabic roots Two famous subspecies of coffee are widely consumed today. Arabica and Robusta. Arabica is the OG species and got its name from the \u0026ldquo;Arabia\u0026rdquo; region. The early consumption is debated but it has been documented since the 12th century in Yemen. The region closely guarded the coffee plant to establish a monopoly and trade was strictly forbidden. But the 16th-century conquest of Arabia by the Ottomans cracked the lines. Eventually, coffee was smuggled throughout the world.\nEntry to India Baba Budan, an Indian pilgrim to Mecca is known to be the first smuggler of coffee. He smuggled seven beans out of the empire by hiding them in his beard and planted them in hills of what is present-day Chikkamagaluru district.\nThe good old filter coffee Initially, all plantations were private but with the British East India Company, coffee got a status of high-value export owing to high demand in the west and a low cost of production with cheap labor costs. Soon coffee was all over western ghats across Tamilnadu, Kerela, and Karnataka. With plenty of coffee to go around, it became super popular especially in the south of India and led to the advent of the infamous South Indian Filter Coffee.\nRobusta to the rescue It was smooth sailing until the coffee rust, a coffee fungus decimated production in the early 20th century across the world. Soon, Robusta, a robust species of coffee saved the day. Robusta is more resistant to disease, has higher yields, and can grow in lower altitudes compared to the Arabica.\nLeading the way Coffee production and consumption boomed even further after the liberalization of the Indian economy post-1991. Today, India produces over 350,000 metric tons of coffee. Over one-thirds is for domestic use and the rest is exported all around the world.\nThe third wave The 2010s have seen the third wave of coffee in the full ring in India especially with high-quality coffee production so close to home. Gone are the days when all we have are commercially available low-grade coffee beans mixed with high amounts of chicory. Specialty coffee cafes are popping all over the metros. Though the road looks promising, there is a long way ahead for the mass market to forget the taste of sugary chicory coffee and appreciate the intricacy and the art that is Coffee.\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/coffee-origins-in-india/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cem\u003e\u003cstrong\u003eThe coffee grown in present-day India dates back to seven beans smuggled out of Arabia in the beard of a Muslim pilgrim.\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eCoffee is a very sensitive plant to grow. It requires ideal conditions of high altitude, adequate rainfall, shade, and a cycle of hot days and cool nights for a healthy crop. With the Western Ghats and the Eastern Ghats in the south of India providing these unique climate conditions, it is inevitable for Coffee to come to India and boom. India is currently the sixth-largest producer of Coffee in the world.\u003c/p\u003e","title":"Coffee origins in India"},{"content":"The first step is to nail their intuition for randomness. Here\u0026rsquo;s how I will do it.\nI will ask them if I flip a coin once, will it be heads or tails. The answer would be It will be heads! or It can be either! (smart kid). If it is former, I can prove them wrong in 1-3 tries and lay the path for explaining randomness. If it is later, they already have some intuition for randomness.\nI will now ask if I flip it 10 times, how many will be heads and tails. The answer will be either It depends! or It will be 5-5 (50%-50%). Now I will demonstrate and ask them to keep track and show that it is not 5-5 (hopefully) and ask them why it wasn\u0026rsquo;t. The general answer will be the way you are flipping, how much energy you are using, how high you are flipping. I will say OH! you mean it\u0026rsquo;s random! ok! Generally, they will understand by now. If not, repeat this and show that the result is different and random.\nAs they are keeping track, at the end of 6, 8, 10, 12, 14, 18, 20 trials, I will keep asking the proportions of heads to tails and show them how it is converging. I will again summarize that the proportion was 75-25 at 4 trials, 60-40 at 10 trials, and that it would be close to 50-50 at 100 trials and even close at 1000 trials and as the no. of trials increase, they would be indistinguishable.\nI will finish by saying that your initial answer of 50%-50% is in fact true, but you can only be sure at large numbers, and not so sure at small numbers.\nI will give another example using the average height of kids in their class and how by taking more and more kids into the sample, we can actually get closer and closer to the true value.\n","permalink":"https://sandeepgangarapu.com/blog/technical/a-laymans-explanation-of-law-of-large-numbers/","summary":"\u003cp\u003eThe first step is to nail their intuition for randomness. Here\u0026rsquo;s how I will do it.\u003c/p\u003e\n\u003cp\u003eI will ask them \u003cem\u003eif I flip a coin once, will it be heads or tails\u003c/em\u003e. The answer would be \u003cem\u003eIt will be heads!\u003c/em\u003e or \u003cem\u003eIt can be either!\u003c/em\u003e (smart kid). If it is former, I can prove them wrong in 1-3 tries and lay the path for explaining randomness. If it is later, they already have some intuition for randomness.\u003c/p\u003e","title":"A layman's explanation of Law of Large numbers"},{"content":" 💡 This is a humor piece. I am using the scenario to communicate the use of MAB\u0026rsquo;s. Please take it with a pinch of salt.\nA manager at a tech company that sells Alphonso mangoes online is stuck with one of the most difficult decisions. What should the color of the \u0026ldquo;Buy Now\u0026rdquo; button be? She recently came to know that data-driven decision making is the new fad and wants to follow suit. She has a meeting with her team of data scientists and marketing folks.\nManager: So what\u0026rsquo;s the plan?\nMarketing folks: Based on our market research and intuition we narrowed down to these 3 colors and you can pick anything you like.\nManager: Uh! but I want to make a data-driven decision. Data Science team, we pay you 6 figures. Give me a solution, not intuition.\nDS team: Well, we could conduct A/B testing on the three colors and see which one performs the best and we can pick the winning color.\nManager: Wait a second, do you really trust the intuition of the Marketing folks, have you guys not come across all the anecdotal evidence that data is the king and how intuition can often be wrong. Where did you guys learn DS? A boot camp? I want to test all the primary, secondary, and colors in our corporate branding. I want to make a DATA-DRIVEN decision.\nDS Team: Well, it will be futile to conduct an A/B test on so many colors. First of all, we may not have so much traffic, so our test might be severely underpowered. Second, some users might find some colors so repulsive that they may not only not buy the delicious, heavenly Alphonso mangoes, they may never come back to our website.\nManager: Tell me what you can do. Not what you can\u0026rsquo;t do. I WANT TO MAKE A DATA-DRIVEN DECISION.\nDS Team: Well, we were saving this for a dooms day. But there is something we can do.\nManager: What?\nDS Team: We can use Multi-Armed Bandits.\nManager: What even is that?\nDS Team: Well, these are sequential and dynamic experimentation procedures.\nManger: That sounds fancy.\nDS Team: We keep checking the best performing colors and send more users to those variants and minimize the loss. If we do this right by implementing the right algorithm we can minimize our losses while also identifying the best color or a set of colors.\nManager: Then go ahead and get me the data. I want to make a data driven decision.\nMarketing folks: No wonder AI will take our jobs. No one cares about our intuition anymore!\n","permalink":"https://sandeepgangarapu.com/blog/technical/who-and-when-should-one-use-multi-armed-bandits-a-scenario/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 This is a humor piece. I am using the scenario to communicate the use of MAB\u0026rsquo;s. Please take it with a pinch of salt.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eA manager at a tech company that sells Alphonso mangoes online is stuck with one of the most difficult decisions. What should the color of the \u0026ldquo;Buy Now\u0026rdquo; button be? She recently came to know that data-driven decision making is the new fad and wants to follow suit. She has a meeting with her team of data scientists and marketing folks.\u003c/p\u003e","title":"Who and when should one use Multi-Armed Bandits? A scenario."},{"content":"Running a half marathon is difficult, but running it under an ambitious time target is a whole different ball game and sometimes is a matter of seconds. Every piece of information can help in shaving off those seconds which can be a difference between 1.59.24 and 2.00.34. This is a post for those who play with those margins. This is by no means an exhaustive list and is completely based on my experience alone. I made an 8 week customized Hal Higdon\u0026rsquo;s Novice 2 plan targeting a first-ever half marathon, that too a sub 2 hr one. I failed miserably on the race day with a time of 2.24.27. I noticed my mistakes, corrected them, ran another one a week later with a time of 1.59.24. If you care about the backstory of how this all came to place, read below, else, jump to the list of tips.\nBackstory The second month of COVID social distancing was very hard as isolation was starting to get to me. Gyms and indoors were off-limits, so I started running as it seemed like the best way to blow some steam off and get some exercise in. Starting the habit of running can sometimes be challenging but I remembered Casey Neistat’s running advice to running - “Just run a little bit more every day”. I started with a run to a park 4 blocks from my apartment and slowly tried to add on laps in the park, increasing by one lap every week. This definitely had a good impact on mental health.\nI moved to Seattle to stay with a friend and see off the pandemic. PNW is bliss. Even though you are in a concrete jungle, nature is always just 10 min drive away. We started to run in state park trails as a way to pass the evenings. There was a 1.6-mile trail called coyote trail and slowly we began to time it and improve on it every week. We started at 11 min miler and slowly shaved off minutes in a matter of weeks. The competition against each other and the trails got the best of us. The goal at this time was to do a 7min miler by the end of Summer. One day, I was in a very bad mood, so I just wore my running shoes and took off on the road. I just wanted to run as long as I can and I ended up running 6 miles at a decent pace. I had no idea I could do that. My legs hurt a bit but it wasn’t crippling. That day I decided that I wanted to run a half marathon.\nI pulled up Hal Higdon’s free 12-week beginner plan and cut it short to 8 weeks as I felt I could do it. I also wanted to do a sub 2 hour half marathon and I obsessed over the pace. In five months, the journey that started with running to the park five blocks away ended with a plan to run a first-ever half marathon under 2 hours. I was on track for 7 of the eight weeks (missed last week because of the wildfires and smoke in PNW) and eventually attempted half marathon at the end of the eighth week. I finished at 2hr 24 min. 24 minutes short of the target, that’s an average pace of 10.55 min mile way higher than the required 9.09 min miles for a sub 2 hr. Here’s what went wrong.\nTips 1. Discipline is freedom\nTraining plans are there for a reason. Every recovery run, interval training, rest, cross-fit training is there for a reason. The simplest way to achieve the goals with half marathon is simply to stick with the plan. You need to have a 100% blind trust in them. Every missed cross-fit, the long run will be felt on the race day. You got to pay the fee somehow. If you don’t pay the fee during the training, you pay it on the race day either with extreme pain trying to achieve the set goal or by not achieving it or both.\nThe missed week due to wildfires in PNW hurt me as I did not run a scheduled 11.5 mile run before the race. My longest run before the race day 10 miles, and I could clearly see that my legs were not prepared for the final 3 miles. I probably could have breezed through the whole thing if I followed the 12-week plan.\n2. Recon the race route\nMake sure you know what the race route looks like. You do not have to practice running on it prior (it helps though), but make sure you know the profile well. The elevation gains and dips, the gravel path, the dirt path, etc and be prepared for that. Gravel and dirt route will slow you down. Incorporate that into the training. Make sure there are no closures or reroutes. Make sure you know what to expect. There should be no surprises here.\nThere was a dirt route in my path which slowed me down a bit. There was also a trail closure leading me to re-route on a sunny hill with 150 ft elevation gain that crushed me at around mile 10.\n3. Hydration\nI carried a hydration vest (never used it during training) with water mixed with lemon juice and salt, as I ran solo. This added a kilo to my weight and it makes a difference over thirteen miles. I did not feel the weight initially but around the 7 miler, even with reduced weight, I could feel it in every step. If you plan on carrying the hydration solution (vest, hand bottle, belt), make sure you also train with it at least in the second half of the program. The best solution is to run without the pack and hide the bottles in the bushes along the route or even better is to run laps around the one place you put your bottles. One other drawback with the hydration pack is you will want to sip water with higher frequency than needed and you will waste time doing this.\n4. Pacing.\nThis is the trickiest part to get right. Most plans advise you to take it easy during training on the Long-run day and show intensity on the race day. Some of them tell you to take it real easy at the start and do negative splits in the second half. I beg to differ here and I might be wrong. All I can say is, it is very hard to maintain the pace throughout without crazy training and you would slow down in the final miles. My rule for pacing is not to push yourself in the first half and just maintain the pace without voluntarily slowing down with an idea of conserving energy for the second half. The saved energy will not give you the gains lost through voluntary slowing down. Again, if you go with the highest possible intensity in the first half, you will run out of gas. The idea is not to ever slow down from the comfortable pace thinking you might need it later on.\n💡 Changing the tip here after much thought. Going at whatever feels comfortable is not a good idea. It’s easy to let the excitement get to you in the initial miles and gas out. Try hard to slow down and maintain the pace decided before the race.\n5. Time of the day\nRace times are usually in the morning and sometimes the sun may be up. If it is hotter than your usual run times, you might be caught off guard. Wear a hat, it does wonders. Even better, run a couple of long runs at the same time as the race time. You will know exactly what to look forward to in terms of race feel and nutrition on the race day or the day prior.\n6. Injury is never worth it\nThere is a very good chance you might pick up an injury as this half marathon distance might be the most you ran if this is your first half marathon. Sometimes you are so hell-bent on finishing the run, that you might push through an injury aggravating it. It is totally not worth it. You could either walk the rest of the way or quit in the middle. Just live to fight another day. You can always run the following week or two weeks later on your own but the injury will kill your confidence and is not worth it.\nIn summary, the whole theme revolves around being disciplined in the training and making sure there are no surprises on the race day. Give your best and don\u0026rsquo;t worry about failure. Every run is making you better and stronger. If you fail on the race day, there is always the week after when you can get back at it to crush the target time.\nMy first attempt was full of surprises and I was in pain during the last three miles with a cramped up left calf around 11 miles and right calf around 12 miles. I eventually completing at 2hr 24min. I was devastated, but I vowed to correct all the mistakes and give another attempt a week after. A week later, everything fell into place, I corrected all the mistakes, and I finished at a time of 1:59:26. I felt like a million bucks.\nFollow me on Strava\nFirst run:\nSecond Run (A week later):\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/things-i-wished-i-knew-before-i-attempted-a-solo-sub-2hr-half-marathon/","summary":"\u003cp\u003eRunning a half marathon is difficult, but running it under an ambitious time target is a whole different ball game and sometimes is a matter of seconds. Every piece of information can help in shaving off those seconds which can be a difference between 1.59.24 and 2.00.34. This is a post for those who play with those margins. This is by no means an exhaustive list and is completely based on my experience alone. I made an 8 week customized Hal Higdon\u0026rsquo;s Novice 2 \u003ca href=\"https://www.halhigdon.com/training-programs/half-marathon-training/novice-2-half-marathon/\"\u003eplan\u003c/a\u003e targeting a first-ever half marathon, that too a sub 2 hr one. I failed miserably on the race day with a time of 2.24.27. I noticed my mistakes, corrected them, ran another one a week later with a time of 1.59.24. If you care about the backstory of how this all came to place, read below, else, jump to the list of tips.\u003c/p\u003e","title":"Things I wished I knew before I attempted a solo sub 2hr Half Marathon"},{"content":"Thompson Sampling is one of the most popular Multi-Armed bandit (MAB) algorithms - the main reason being its explainability (imagine explaining upper confidence bound to your manager) and decent performance in practice [1].\nMany blog posts on the Internet show how to implement Thompson sampling (here, here, here and here). Almost all of them consider Bernoulli outcome distribution (e.g. click or no click, purchase, or no purchase) and use the Beta-Bernoulli Bayesian update procedure for simulations and usually compare the performance (Regret) to other MAB algorithms like UCB or sometimes to A/B testing. However, none of them consider Gaussian outcome distribution and especially the case when both mean and variance of the distributions are unknown (which is usually the case when you are conducting an experiment where the outcome is continuous, ex: dollars spent, time spent, etc.).\nIn this post, I address this gap and also compare Thompson Sampling\u0026rsquo;s performance to UCB, and A/B Testing. Questions like - What are MAB\u0026rsquo;s? Why A/B testing? Why Thompson Sampling? and terminology related to MAB are outside the scope of this post.\nBayesian Update procedure for Normal-Inverse Gamma prior Before we get into the actual Thompson Sampling Algorithm, we need to understand how to estimate parameters of a normal distribution. Let\u0026rsquo;s consider a random process where outcomes $x_i$ are drawn from $\\N(\\mu, \\sigma^2)$ where $\\mu, \\sigma^2$ are unknown. As we do not know both these parameters, like a true Bayesian, we put a prior on both. We then keep updating these priors using the Bayes rule as we see more and more data and use the final posterior as the best available approximation for the parameters we are interested in. We could choose any prior distributions for these parameters based on our beliefs of what they could be, but to make our life easier, we choose conjugate priors to get a closed-form analytical solution for the bayesian update procedure.\nIn this specific case, we assume that $\\sigma^2$ follows inverse-gamma distribution and $\\mu$ follows Normal distribution. To make the math easy, we use $\\tau = \\frac{1}{\\sigma^2}$ instead of $\\sigma^2$ from now on ($\\tau$ is called precision). If $\\sigma^2$ follows an Inverse-Gamma distribution, then $\\tau = \\frac{1}{\\sigma^2}$ follows a Gamma distribution.\n$$ \\begin{gathered} \\tau \\sim Ga(\\alpha_0, \\beta_0) \\ \\mu |\\tau \\sim N(\\mu_0, n_0\\tau) \\ x |\\mu, \\tau \\sim N(\\mu, \\tau) \\end{gathered} $$\nWe initialize four parameters $\\alpha_0, \\beta_0, \\mu_0$, $n_0$(can be 1), draw $\\tau$ from $Ga(\\alpha_0, \\beta_0)$ , use this value of $\\tau$ to draw $\\mu$ from $N(\\mu_0, n_0\\tau)$, observe an outcome given out by the actual process (which we assume is drawn from the true distribution - the mean and variance of which we are trying to estimate), and update the four parameters using this outcome value to get the posterior. The update procedure is below. Note that this will work for either a single outcome drawn or a bunch of outcomes drawn at the same time.\n$$ \\begin{gathered} \\alpha = \\alpha_0 + \\frac{n}{2} \\ \\beta = \\beta_0 + \\frac{1}{2}\\sum(x_i - \\bar{x})^2 + \\frac{nn_0}{2(n+n_0)(\\bar{x}-\\mu_0)^2} \\ n = n_0 + n \\ \\mu = \\frac{n}{n+n_o}\\bar{x} + \\frac{n_0}{n+n_o}\\mu_0 \\\n\\end{gathered} $$\n💡 Note that this updation procedure will work for single outcome or a bunch of outcomes. When there is a single outcome, $\\alpha = \\alpha_0 + 1/2$ , $n = n_0 + 1$, $\\bar{x} = x_i$\nOnce the updation is done, the posteriors follow the following distributions\n$$ \\begin{gathered} \\mu |\\tau, x \\sim N(\\frac{n}{n+n_0}\\bar{x} + \\frac{n_0}{n+n_0}\\mu_0 , n\\tau + n_0\\tau) \\ \\tau | \\mu, x \\sim Ga(\\alpha_0 + \\frac{n}{2} , \\beta_0 + \\frac{1}{2}\\sum(x_i - \\bar{x})^2 + \\frac{nn_0}{2(n+n_0)(\\bar{x}-\\mu_0)^2}) \\end{gathered} $$\nThis Bayesian update procedure follows the basis for the Thompson Sampling algorithm to follow.\nThompson Sampling Let\u0026rsquo;s consider there are K arms (treatment groups/variants/choices etc.) available and the outcomes $x_i$ of arm $i$ are drawn from $\\N(\\mu_i, \\sigma_i^2)$ where $\\mu_i, \\sigma_i^2$ are unknown. The time horizon is $T$. If we knew these parameters, we would pull the arm with the highest mean $T$ times and maximize the expected total output. Because we do not know the parameters, the idea is to find a procedure to pull the arms in such a way so that we have a good understanding of what the true means are without pulling the arms with a low mean a lot of times (minimize the regret).\n👨🏽‍💻 Algorithm:\nPull each arm twice For each arm $i$, initialize prior params ($\\alpha_{0i} = 0.5, \\beta_{0i} = 0.5, \\mu_{0i}=\\bar{x_i}, n_{0i}=2$ ). At each time-step $t$ until $T$ For each arm $i$, draw $\\tau_i \\sim Ga(\\alpha_i, \\beta_i)$ and $\\mu_i \\sim N(\\mu_i, n_i\\tau_i)$ For each arm $i$, draw $x_i \\sim N(\\mu_i, \\tau_i)$ Pull the arm with maximum value of $x_i$ and observe $\\mathtt{x}$ Update the priors of the pulled arm using the Bayesian update procedure. 💡 The Choice of priors for alpha and beta is a blog post altogether and I would not delve into it in this post.\nThis is the procedure for the Thompson sampling algorithm when the outcome distribution is Gaussian and both means and variances are unknown. You can refer to the actual python code here, however, it has a bunch of unknown classes that I use as part of my MAB framework. But, the core functionality is still there and you can still replicate it with minor changes and use it in your projects.\nComparison to UCB and A/B Testing Upper confidence bound (UCB) is one of the most popular and efficient MAB algorithms. It is only just to compare Thompson Sampling\u0026rsquo;s performance to it. Though A/B testing is generally used for Inference and not with an objective to minimize regret, there is growing literature to bridge this gap [2, 3]. So, bench-marking against A/B testing puts efficiency gains of MAB\u0026rsquo;s into perspective.\nIn this simulation, we consider 5 arms with different means and variances (we don\u0026rsquo;t know these values, but the simulation does). Let\u0026rsquo;s consider a time period of 2000 (We can only pull the arms 2000 times).\ntrue_means = c(0.25, 1.82, 1.48, 2.25, 2) true_vars = c(2.84, 1.97, 2.62, 1, 2.06) As per the above distributions, arm 0 has the least mean and arm 3 has the highest mean. So a good MAB algorithm will pull arm 3 most of the time and pull arm 0 very rarely. A/B testing pulls all arms uniformly until it can detect the least effect size (I know we cannot know this beforehand and we need to do power analysis, etc., but let\u0026rsquo;s cheat a little). After that, it will only pull the arm with a statistically significant highest mean. We simulate all three algorithms and pull arms based on what the algorithm suggests.\nFigure 1: Arms pulled at different time periods for various algorithms\nThis figure shows which arm was pulled at different time periods for different algorithms. As you can see A/B Testing could never be completed as the arm pulls were exhausted before it can statistically distinguish the difference between all the arms. Thompson Sampling and UCB we accurately able to identify very quickly that arm 3 is the best and pull it the most. Both performed the best and we need a regret graph to accurately identify which algorithm performed the best.\nFigure 2: Regret growth over time for Thompson Sampling and UCB\nThe regret graph shows that Thompson Sampling performed better than UCB as it was able to decide on the best arm faster than UCB. This is for one simulation and difference seeds might yield different values, but, the overall theme is the same. Also, in this case, the difference is not significant enough to decide one algorithm is better than the other (MAB theory suggests that regret is not just a function of the algorithm but also mean differences between all arms)\nFigure 3: Regret growth over time for A/B Testing, Thompson Sampling and UCB\nHowever, compared to A/B testing the difference in regret compared to MAB\u0026rsquo;s is night and day. This is purely because A/B testing has a completely different objective and would not stop random pulling of arms until it is sure that there is a statistically significant difference (I am simplifying things here, but the idea is accurate).\nPlease write to me here if you want to discuss more about this topic. I will in the future write more posts regarding this topic.\nReferences: Chapelle, Olivier, and Lihong Li. \u0026ldquo;An empirical evaluation of thompson sampling.\u0026rdquo; Advances in neural information processing systems. 2011. Hadad, Vitor, et al. \u0026ldquo;Confidence intervals for policy evaluation in adaptive experiments.\u0026rdquo; arXiv preprint arXiv:1911.02768 (2019). Zhang, Kelly W., Lucas Janson, and Susan A. Murphy. \u0026ldquo;Inference for Batched Bandits.\u0026rdquo; arXiv preprint arXiv:2002.03217 (2020). ","permalink":"https://sandeepgangarapu.com/blog/technical/thompson-sampling-algorithm-for-normal-outcome-distribution/","summary":"\u003cp\u003eThompson Sampling is one of the most popular Multi-Armed bandit (MAB) algorithms - the main reason being its explainability (imagine explaining upper confidence bound to your manager) and decent performance in practice [1].\u003c/p\u003e\n\u003cp\u003eMany blog posts on the Internet show how to implement Thompson sampling (\u003ca href=\"https://visualstudiomagazine.com/articles/2019/06/01/thompson-sampling.aspx\"\u003ehere\u003c/a\u003e, \u003ca href=\"https://towardsdatascience.com/hompson-sampling-for-multi-armed-bandit-problems-part-1-b750cbbdad34\"\u003ehere\u003c/a\u003e, \u003ca href=\"https://peterroelants.github.io/posts/multi-armed-bandit-implementation/\"\u003ehere\u003c/a\u003e and \u003ca href=\"https://medium.com/analytics-vidhya/multi-armed-bandit-analysis-of-thompson-sampling-algorithm-6375271f40d1\"\u003ehere\u003c/a\u003e). Almost all of them consider Bernoulli outcome distribution (e.g. click or no click, purchase, or no purchase) and use the Beta-Bernoulli Bayesian update procedure for simulations and usually compare the performance (Regret) to other MAB algorithms like UCB or sometimes to A/B testing. However, none of them consider Gaussian outcome distribution and especially the case when both mean and variance of the distributions are unknown (which is usually the case when you are conducting an experiment where the outcome is continuous, ex: dollars spent, time spent, etc.).\u003c/p\u003e","title":"Thompson Sampling Algorithm for Normal outcome distribution"},{"content":"This is a collection of unique and awe-inspiring videos I came across on YouTube. These are the videos that I come back to and watch them with the same enthusiasm as I did the first time. These are the videos, the ideas of which I discuss with my friends, and show them.\nI wish I could give detailed descriptions for each and why I love them, but, I would be doing them a serious injustice.\nOn awesomeness that is Engineering - The Cupola on the International Space Station\nhttps://www.youtube.com/watch?v=KSzuiqVjJg4\nOn why design is so so so important.\nhttps://www.youtube.com/watch?v=eZSe4xVXHhI\nOn what it takes to win.\nhttps://www.youtube.com/watch?v=VYFdu7Xo5Uc\nWhat\u0026rsquo;s your excuse?\nhttps://www.youtube.com/watch?v=g3s0\u0026ndash;LcgQw\nOn waste we produce\nhttps://www.youtube.com/watch?v=BxKfpt70rLI\nOn a beauty that is film making.\nhttps://www.youtube.com/watch?v=hQa4GouJYA4\nOn why mathematics is the language of Nature\nhttps://www.youtube.com/watch?v=j7jfHM-mMC4\nOn what the primal motivations of human beings are\nhttps://www.youtube.com/watch?v=TAGjuRwx_Y8\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/the-gems-from-youtube/","summary":"\u003cp\u003eThis is a collection of unique and awe-inspiring videos I came across on YouTube. These are the videos that I come back to and watch them with the same enthusiasm as I did the first time. These are the videos, the ideas of which I discuss with my friends, and show them.\u003c/p\u003e\n\u003cp\u003eI wish I could give detailed descriptions for each and why I love them, but, I would be doing them a serious injustice.\u003c/p\u003e","title":"The gems from YouTube"},{"content":"Brew Guide Preheat water. Not too hot. Ideally a minute in a medium powered microwave. 💡 Preheating water will make the steaming process faster. This will make sure the coffee grounds are not spending too much time on the stove and reduces the probability of them getting burnt. The aluminum pot can get quite hot.\nFill the chamber with coffee grounds. Fill it full and tap it on the side to spread the grounds evenly. DO NOT TAMP. 💡 Tamping will make it difficult for water to push through the grounds. As there is no machine pressure in Moka pot, the pressure comes from water getting to too high of a temperature which may burn the coffee grounds. Also, make sure the coffee grounds are consistent (no big blobs) so that water flows uniformly throughout.\nAssemble the Moka pot. Make sure the seal is tight. Put it on a stove. Not more than MEDIUM heat what so may. 💡 Medium heat will make the process slow enough for coffee grounds and water to spend some good time together extracting all the goodness until the steam below will eventually push it up. High heat will hasten this process and the extraction will be bad. Also, if the seal is not tight, the pressure inside is not maintained, and some water will spurt through. This is bad for extraction.\nNow wait 💡 Think about that start up idea that you always wanted to pursue!\n\u0026ldquo;Espresso\u0026rdquo; will slowly come out. Be ready with your hand to take it off of heat as soon you see water spurting out. If possible, run Moka pot\u0026rsquo;s water chamber under cold water immediately. 💡 Water that spurts out is the final steam that came out of the chamber and did not spend enough time with coffee grounds. Its not worth mixing with the rest of the goodness. Alternately, you can turnoff the heat when three-fourths of the coffee is out and let the rest slowly drip out.\nUse this \u0026ldquo;espresso\u0026rdquo; to drink as is (wouldn\u0026rsquo;t recommend) or make cappuccino, latte (highly recommend) or whatnot. 💡 Enjoy your craziness that is coffee.\nOther Resources: Moka pot:\nCostly one:\nCheaper one (still gets the job done):\n💡 I only ever owned the second one. Had no problems what so ever. No idea if the costly one is really better. I don\u0026rsquo;t see where it can improve though.\nThis is where I started my guide off of and tweaked here and there.\nhttps://www.youtube.com/watch?v=rpyBYuu-wJI\n","permalink":"https://sandeepgangarapu.com/recipes/my-moka-pot-brew-guide/","summary":"\u003ch3 id=\"brew-guide\"\u003eBrew Guide\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003ePreheat water. Not too hot. Ideally a minute in a medium powered microwave.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 Preheating water will make the steaming process faster. This will make sure the coffee grounds are not spending too much time on the stove and reduces the probability of them getting burnt. The aluminum pot can get quite hot.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003col start=\"2\"\u003e\n\u003cli\u003eFill the chamber with coffee grounds. Fill it full and tap it on the side to spread the grounds evenly. DO NOT TAMP.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 Tamping will make it difficult for water to push through the grounds. As there is no machine pressure in Moka pot, the pressure comes from water getting to too high of a temperature which may burn the coffee grounds. Also, make sure the coffee grounds are consistent (no big blobs) so that water flows uniformly throughout.\u003c/p\u003e","title":"My Moka pot brew guide"},{"content":"I traveled from Minneapolis to Duluth and around for the third time yesterday and each time I go, I find that it has something new to offer. Duluth sits on the bank of Lake superior, the largest fresh water lake in the world by surface area. It is huge and spectacular. The view of Lake Superior itself is worth a trip. Duluth could be considered the northern frontier of Minnesota as Interstate-35 ends there. But, there is an entirely new world beyond. It definitely takes more than a day to see every place in and around Duluth, so, if you were to take a day trip, I would suggest visiting 3–4 places, else, you feel like you are always in a hurry and these places definitely deserve your full attention and a peaceful mind. Start early, come late, have multiple drivers so you have a relaxing day trip. There are too many beautiful spots in northern Minnesota to cover in a day. This guide is by no means comprehensive. It is for those who want to visit Duluth from Minneapolis, have a decent trip and want to be back by end of the day. Here are some places in the order that I loved.\nSugarloaf cove:\nIt is easily the most beautiful place I saw around Lake Superior and is a best kept secret. I barely a saw a soul around even during the high summer season. The best time of the day to visit would probably be the sunrise as you can see the sun come up the Lake Superior and would directly be in front from the cove beach. It has perfectly rounded, colorful pebbles I have ever seen. It is calm and serene and I could easily drive up 220 miles just to be at this place and back. The water is chilly, but good enough to swim for 5–10 minutes. I saw some people cliff jumping near by, so, if you are into that, its an added bonus.\nGooseberry falls:\nThis is the most famous spot around Duluth and is filled with tourists. The waterfalls are spectacular with views from three different spots (Upper, Middle and Lower falls). The flow is very high during Spring and will gradually slow down by the end of Summer. So, you could skip this if you are visiting before or during Fall.\nDuluth Downtown Waterfront\nIt probably won’t be a Duluth trip if you don’t visit Duluth. There is not much in Duluth except this place and Great Lakes Aquarium. The Waterfront has a nice long pier and is a great place for a calm evening walk. The ideal time to visit would be on the return journey to grab an snack in the waterfront area, walk along the pier, feel the breeze at the North Pier Lighthouse and if lucky, see the Aerial Lift bridge go up to allow some huge ships. During winter, you could see the vast Superior completely frozen (Makes for some great pictures). Great Lakes Aquarium is good, but I would only visit if you have a lot of time to kill.\nSplitrock Light house:\nThis Light house on the banks of Lake Superior is full of history. The place is very well maintained and has an entry fee and a guided tour. The tour is great and you actually get to know a lot about the history of Lake Superior and the economy of the region. It has spectacular views of Lake Superior from the top of Light house which you are allowed in. Its totally worth a visit.\nJay Cooke State Park:\nThis state park is located south of Duluth. If you were to visit this place, it would be the first place on the itinerary. The center piece of the park is a swinging bridge and the most beautiful St. Louis river beneath with dirty brown water. There are multiple trails around for a date with nature. It feels like winter wonderland during the winter.\nNorthern Minnesota has great history and is full of breathtaking places. There are many other places like Lutsen Mountains, Grand Marais, Boundary Waters for camping and staying over night which I would definitely recommend doing if you have more time.\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/a-day-trip-guide-to-duluth/","summary":"\u003cp\u003eI traveled from Minneapolis to Duluth and around for the third time yesterday and each time I go, I find that it has something new to offer. Duluth sits on the bank of Lake superior, the largest fresh water lake in the world by surface area. It is huge and spectacular. The view of Lake Superior itself is worth a trip. Duluth could be considered the northern frontier of Minnesota as Interstate-35 ends there. But, there is an entirely new world beyond. It definitely takes more than a day to see every place in and around Duluth, so, if you were to take a day trip, I would suggest visiting 3–4 places, else, you feel like you are always in a hurry and these places definitely deserve your full attention and a peaceful mind. Start early, come late, have multiple drivers so you have a relaxing day trip. There are too many beautiful spots in northern Minnesota to cover in a day. This guide is by no means comprehensive. It is for those who want to visit Duluth from Minneapolis, have a decent trip and want to be back by end of the day. Here are some places in the order that I loved.\u003c/p\u003e","title":"A day trip guide to Duluth"},{"content":" 💡 I wrote this when my brother was just entering the workforce after graduating from IIIT Hyderabad with a Masters\u0026rsquo;. I was doing PhD at the time and I felt I should write to him something that he can hang on to during difficult times and also encourage him to give his best.\nDear Little Brother, I cannot tell you how proud I am of your accomplishments so far and the fact that you will soon be a software engineer at Nvidia. You have now grown into a full fledged adult and life will change so much so fast. I have been adulting since I graduated college in 2013 and I came to realize a thing or twenty and I thought I should share some with you. As always, I am all for exploring and making your own path and decisions as the last thing I want is you to be a clone of me. So you can ignore this completely. But if you feel lost, I thought this might help you a bit. You already know some of these, so, this is just to reinforce the fact that they work and you should continue doing them.\nJust ask if you don’t know or if you want something. Do not hesitate. It has worked wonders for me. Culturally, we are raised to feel that this is perceived as intruding. Its not. This extends to emails. Just send that damn thing. Show up to anything you signed up for. Even if you don’t want to. You don’t have to be extraordinary every time. Just show up. Add value to the team you are in. You should not be just another resource but a valued resource. Help your teammates if they are in need. Mentor your juniors always without any expectations. In the long run, this is the single biggest job satisfaction giver and beats everything else you do. Think. I am amazed at how much we don’t. We just jump right in to do any task. When you face a hurdle, stop doing the task. Open a piece of paper, think and write down what you think. Multitasking is very overrated. Work on one thing at a time. If you go to team meeting, listen to others and don’t mindlessly do something on laptop. Priority at work should be work and priority at home should be home. Priority during weekends should be to unwind. You might feel like you can chill for a bit during work and cover it during weekends. Don’t. Its a vicious cycle. Chill for a bit, but don’t cover it during weekends. Eventually you will find your jam. Write things down. Have a project document where you write down important things and ideas even if it seems not useful. When there is a huge time gap in the project, this will help tremendously to get back at whim. Also, writing makes you think critically. Read books. They transport you to an entirely new world. A fresh perspective of life is always needed to bring you back to what is important in life. Be a minimalist. Buy something that you need no matter the cost. Don’t buy something you don’t want no matter the cost. De-cluttering brings peace of mind. Invest in relationships. It takes time and effort to build one. But do not give up. Always try to give without expectations. You will get it back compounded. Family is very important. Its okay to disagree and fight. But come back and take a step down even if you don’t have to. Open up to us and be vulnerable. Its totally fine. Make memories with friends. I can’t tell you how many times I reminiscence of the good times and smiled. So, say yes when your friend asks “Dude, let’s do this”. Spend time with your thoughts. These days, phones prevent you from thinking in general. I do this during commute. It helps you set your priorities and think about things you wanna do in a day. Meditation helps. My focus has reduced dramatically since college. I get distracted from everything. Even watching TV. Focusing on your breathing for 5 minutes a day translates to everyday tasks. Financial health is very important and very easy. Know your money in and out. Invest. Diversify. Don’t be greedy. Not losing is more important than winning when it comes to money. Sleep without an alarm unless you have to catch a flight. Your body knows how much sleep it needs. This actually changed my life. Complete the things you started. Strive for perfection but never ever let it stop your progress. Perfection is the enemy of progress. So balance them. Don’t take life seriously, seriously! Have fun. Life is like a party. You don’t have to be the center of attention. You can be normal, still have fun, and leave. When I started working, I didn’t consciously know any of these. They seem pretty obvious but I tend to forget them time and again. Its easier said than done. Even today I don’t follow all the above, but I have come to realize that they work.\nOne last thing that had a profound impact on me\nIf money is lost, nothing is lost. If character is lost, something is lost. But if health is lost, everything is lost! So please please take care of your health. Eat healthy no matter the cost and keep a smile on that small face of yours.\n","permalink":"https://sandeepgangarapu.com/blog/stories/dear-little-brother/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 I wrote this when my brother was just entering the workforce after graduating from IIIT Hyderabad with a Masters\u0026rsquo;. I was doing PhD at the time and I felt I should write to him something that he can hang on to during difficult times and also encourage him to give his best.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3 id=\"dear-littlebrother\"\u003eDear Little Brother,\u003c/h3\u003e\n\u003cp\u003eI cannot tell you how proud I am of your accomplishments so far and the fact that you will soon be a software engineer at Nvidia. You have now grown into a full fledged adult and life will change so much so fast. I have been adulting since I graduated college in 2013 and I came to realize a thing or twenty and I thought I should share some with you. As always, I am all for exploring and making your own path and decisions as the last thing I want is you to be a clone of me. So you can ignore this completely. But if you feel lost, I thought this might help you a bit. You already know some of these, so, this is just to reinforce the fact that they work and you should continue doing them.\u003c/p\u003e","title":"Dear Little Brother ..."},{"content":"Day 10 of #SocialDistancing #Quarantine. It’s hitting me a bit, the isolation, the silence. Things I am doing to cope.\nNews:\nStarting the day with this. Anything else seems impossible. Looking at the John Hopkins dashboard and then Google news. The pattern is similar. Shit’s hitting the fan, No. of stupid people are not decreasing. There are some really good memes though.\nExercise:\nI go for a run around the block to reset my mind from the news. On average I see 5–6 people walking their dogs and it’s decreasing. But, the small 15 min run definitely helps with starting the day.\nWash Hands:\nWash hands like I mean it. Especially the thumbs and knuckles.\nMindfulness:\nI make masala chai slowly just letting my thoughts flow. I share it with my housemate. Have a chat and a bit of banter. It definitely helps to have people around in the home.\nWork:\nWrite down 3 big tasks (1.5 hr each) and 3 small tasks (15–20 min each) and do my best to finish it. I try to start a task and not get up until I finish it. This is working but I am trying to improve. Working at home is soooo difficult.\nLunch and Dinner:\nI have housemates and we share cooking/cleaning duties. We try to have Lunch/Dinner together, but staying at home has messed up everyone’s Circadian rhythms.\nGrocery:\nWe had stocked up enough on Day 1 and we made another run to Indian store on Day 5. We ordered online on Day 6. The exact item you order online is not in the store anyway and its a mess to communicate with the delivery person. I feel its better to go to the store.\nEvening Walk:\nEvening walks are amazing, especially during the sunset. It helps reset the mind and have better sleep. I make sure my hands are in my pocket all the time and use my back to open doors when possible.\nVideo calls:\nI speak to friends and family on Whatsapp. I shamelessly call them whenever. I see that all my US friends definitely appreciate speaking to another soul :P. We have group video calls and have a bit of banter going. This definitely is helping.\nGoing easy:\nI see that everyone I speak to or interact with is frustrated (ready to be triggered) including myself because of isolation. I try to go easy on them and keep my frustration to myself. It pays dividends to be kind especially during these times.\nIt sucks to be inside for so long, the inefficiency, the mundane slow day, the uncertainty of future. But, I couldn’t care less. I would do this for a year if I have to defeat that damn virus. Let me know how you are coping with things. I would love.\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/quarantine-routine-during-covid-19-pandemic/","summary":"\u003cp\u003eDay 10 of \u003ca href=\"https://threader.app/hashtag/SocialDistancing\"\u003e#SocialDistancing\u003c/a\u003e \u003ca href=\"https://threader.app/hashtag/Quarantine\"\u003e#Quarantine\u003c/a\u003e. It’s hitting me a bit, the isolation, the silence. Things I am doing to cope.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNews:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eStarting the day with this. Anything else seems impossible. Looking at the John Hopkins dashboard and then Google news. The pattern is similar. Shit’s hitting the fan, No. of stupid people are not decreasing. There are some really good memes though.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExercise:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eI go for a run around the block to reset my mind from the news. On average I see 5–6 people walking their dogs and it’s decreasing. But, the small 15 min run definitely helps with starting the day.\u003c/p\u003e","title":"Quarantine routine during COVID-19 Pandemic"},{"content":"I am a Data Scientist in Apple\u0026rsquo;s experimentation team. I help develop the experimentation platform and research to push the way we design and statistically analyze online experiments\nI finished my PhD in Information and Decision Sciences at University of Minnesota, Carlson school of management\nBefore moving to Minneapolis, I worked at Google as an Automation Specialist in the Google Search Anti-Abuse team developing scalable solutions to fight abuse on Google Search.\nBefore that, I completed Masters\u0026rsquo; and Bachelors\u0026rsquo; in Aerospace Engineering with a specialization in Computational Fluid Dynamics from the Indian Institute of Technology, Kharagpur.\nI am from Kalyanadurgam, a town in Anantapur district of Andhra Pradesh, India.\nI love running, snowboarding or floating on my onewheel.\n","permalink":"https://sandeepgangarapu.com/about/","summary":"\u003cp\u003eI am a Data Scientist in Apple\u0026rsquo;s experimentation team. I help develop the experimentation platform and research to push the way we design and statistically analyze online experiments\u003c/p\u003e\n\u003cp\u003eI finished my PhD in Information and Decision Sciences at University of Minnesota, Carlson school of management\u003c/p\u003e\n\u003cp\u003eBefore moving to Minneapolis, I worked at Google as an Automation Specialist in the Google Search Anti-Abuse team developing scalable solutions to fight abuse on Google Search.\u003c/p\u003e","title":"About me"},{"content":"2024 10 Apr: Delivered a guest lecture about AB testing through the lens of industry at Carnegie Mellon University, Heinz College teaching a couple classes of Masters students in Information systems and one in Public policy. Thanks to Avinash (Avi) Collis for the invitation.\n2023 10 Apr: Delivered a guest lecture on \u0026ldquo;Introduction to experimentation\u0026rdquo; at University of Texas, Austin.\n2022 Dec 8: Spoke with graduates who benefitted from VFF-RDT STEM education for women program that I support.\nOct 20: Attended Conference on digital experimentation at MIT. This is my first time not attending as a student. The main theme of the conference this year seems to be ECON ML and Bandits.\nJun 30: Visited the iconic Apple park campus. Imagine if iPhone was a building.\n16 May: PhD commencement at University of Minnesota.\n28 Apr: Successfully defended my PhD thesis titled \u0026ldquo;Essays on Digital transformation: Turning data into assets\u0026rdquo;\n25 Apr: Joined Apple, Seattle\n1 Apr: Delivered a guest lecture on \u0026ldquo;Introduction to experimentation\u0026rdquo; at University of Wisconsin, Madison. [slides]\n17 Feb: Gave a talk at IDSc PhD program brown bag seminar series on \u0026ldquo;Industry paths for PhD students\u0026rdquo;. Video\n18 Jan: Accepted a job at Apple as a Data Scientist, Statistician, AI/ML Data. I will join Guillaume Saint-Jacques to further the experimentation efforts at Apple.\n2021 5 Oct: Interviewed by interviewquery.com regarding the field of Decision sciences and my research. Excerpt and video.\n3 Oct: Participated and finished my first Marathon (Twin Cities Marathon) at 4hr40min. Picture at mile 23 near the cheer squad of Mill City Running. Ran with from start to finish.\n2020 19 Dec: Presented \u0026lsquo;Multi-Armed Bandits with Inference considerations\u0026rsquo; at Workshop on Information systems and Economics.\n23 Oct: Our paper (With Edward Mcfowland III, Ravi Bapna, Tianshu Sun) \u0026ldquo;A Prescriptive Analytics Framework for optimal policy deployment using Heterogeneous Treatment Effects\u0026rdquo; got accepted for publication at Management Information Systems Quarterly.\n27 Sep: Ran my first half marathon in Bellevue. There were no events due to COVID. I just got up and finished 13.1 miles. I wrote about it here. Things I wished I knew before I attempted a solo sub 2hr Half Marathon\n18 Aug: Presented \u0026lsquo;Multi-Armed Bandits with Inference considerations\u0026rsquo; at American Marketing Association summer conference.\n16 Aug: One of my brilliant students I taught Data Modeling at Databases course during Spring 2019 and wrote a recommendation letter to was successfully admitted by Columbia University, University of Southern California, National University of Singapore, Washington University (St. Louis), Duke University, etc., for graduate school.\n18 Jun: Presented \u0026lsquo;Multi-Armed Bandits with Inference considerations\u0026rsquo; at Statistical Challenges in Electronic Commerce Research. This is the first virtual conference I attended and presented at.\n10 Apr: Led a team of volunteers at an Online Remote Hackathon and developed coronadailyupdates.org. This service sends SMS to users in India with COVID-19 numbers in their district, state, country. The main motivation is to serve a large demographic of under-served people who are not digitally savvy to get this information from dashboards/chatbots.\n6 Feb: Received CSOM Doctoral dissertation fellowship worth $28000 recognizing impactful research and timely progress.\n6 Feb: Passed Oral Preliminary Examination - Now, a Doctoral Candidate!\n2019 27 Dec: Presented \u0026lsquo;Multi-Armed Bandits with Inference considerations\u0026rsquo; at Conference on Digital Economy, Kolkata conducted by Indian School of business.\n31 Oct: Attended Conference on Digital Experimentation (CODE) at MIT IDE in Boston, Massachusetts\n19 Oct: Presented \u0026lsquo;Multi-Armed Bandits with Inference considerations\u0026rsquo; at Data Science Workshop, Conference on Information Systems and Technology at INFORMS Annual Meeting, Seattle. slides\nPresented \u0026lsquo;Multi-Armed Bandits with Inference considerations\u0026rsquo; at Department Seminar of IDSC Department, Carlson School of Management\nDelivered \u0026lsquo;R Bootcamp\u0026rsquo; to new members of the Undergraduate Business Analytics Club at Carlson School of management. slides\nReceived \u0026lsquo;Ph.D. Teaching Award\u0026rsquo; for excellence in teaching during the academic year 2018-19 from Carlson School of Management, University of Minnesota\nTaught IDSC 3103 - Data Modeling and Databases during the spring semester (SRT score - 5.5/6). Some reviews:\n\u0026ldquo;Sandeep has great knowledge on the topic and does a very effective job of communicating the practical uses of SQL to the student. In addition, Sandeep deeply cares about his students and the topic he teaches. That shows by how open he is to work with students one on one to get them to understand the topic.\u0026rdquo;\n\u0026ldquo;One of the best instructors I\u0026rsquo;ve ever had. No fluff, every word out of his mouth was relevant and applicable. He also gave us access to external tools for optional additional practice. No busywork, no attendance grade, and assignments that both reflect the content and are difficult enough to study for.\u0026rdquo;\nReceived Travel Fellowship award of $750 from Carlson School of Management\nPresented our paper titled \u0026ldquo;A Prescriptive Analytics Framework for optimal policy deployment using Heterogeneous Treatment Effects\u0026rdquo; at Winter Conference on Business Analytics in Snowbird, Utah. ppt\n2018 Presented our paper titled \u0026ldquo;A Prescriptive Analytics Framework for optimal policy deployment using Heterogeneous Treatment Effects\u0026rdquo; at Workshop on Information Systems and Economics in San Francisco, California\nGave a talk at Medical Industry Leadership Institute about our work on \u0026ldquo;A Prescriptive Analytics Framework for optimal policy deployment using Heterogeneous Treatment Effects\u0026rdquo; at Carlson School of Management, Minneapolis, Minnesota\nGave a talk on \u0026ldquo;Cross-sectional and Panel data analysis\u0026rdquo; to Ph.D. students in a brown bag seminar at Carlson School of Management, Minneapolis, Minnesota\nAttended Conference on Digital Experimentation (CODE) at MIT IDE in Boston, Massachusetts\nPassed preliminary PhD program requirements\nPresented my latest work titled \u0026ldquo;The effect of eSports on Traditional sports viewership\u0026rdquo; to Ph.D. students in a brown bag seminar at Carlson School of Management, Minneapolis, Minnesota\n","permalink":"https://sandeepgangarapu.com/activity-stream/","summary":"\u003ch2 id=\"2024\"\u003e2024\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e10 Apr:\u003c/strong\u003e Delivered a guest lecture about AB testing through the lens of industry at \u003ca href=\"https://www.linkedin.com/company/carnegie-mellon-university/\"\u003eCarnegie Mellon University\u003c/a\u003e, Heinz College teaching a couple classes of Masters students in Information systems and one in Public policy. Thanks to \u003ca href=\"https://www.linkedin.com/in/ACoAABY2R2kBtNjKF-RtFqbC-RPweO8TWzJduss\"\u003eAvinash (Avi) Collis\u003c/a\u003e for the invitation.\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"CMU Guest Lecture\" loading=\"lazy\" src=\"/images/activity-stream/1708565761855.jpeg\"\u003e\u003c/p\u003e\n\u003ch2 id=\"2023\"\u003e2023\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e10 Apr:\u003c/strong\u003e Delivered a guest lecture on \u0026ldquo;Introduction to experimentation\u0026rdquo; at University of Texas, Austin.\u003c/p\u003e\n\u003ch2 id=\"2022\"\u003e2022\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDec 8:\u003c/strong\u003e Spoke with graduates who benefitted from VFF-RDT \u003ca href=\"https://www.vffusa.org/education/\"\u003eSTEM education for women\u003c/a\u003e program that I support.\u003c/p\u003e","title":"Activity Stream"},{"content":" 💡 The key idea for this interview is to guage what kind of a person, teammate you will be and what experiences you had. This is the best time to showcase your strengths and show that you are aware of your weaknesses and are working on them.\nI feel this is more of a damage control round in the sense that you need not impress them with your stories and answers as much as you need to make sure you don’t bomb this or say things that turn them off (eg. I have no weaknesses. I am perfect)\nThe best way to prepare for this round is to curate stories that have had an impact on you and helped you learn and grow. Have 5-6 of them and when a question is asked, you can relate it back to one of these stories.\nThere are ways to structure your answers using some methods like STAR and others which help. More about that in the link below.\nhttps://sites.google.com/view/datascience-cheat-sheets#h.8bd6v3ijzuxv\nBe likable and genuine. It goes a long way\nAs always, practice with your friends. That helps a lot. You don\u0026rsquo;t even need experts to conduct this mock interview. Just do it with your roommate, partner, or sibling.\nClifton strength assessment will help you understand your strengths and knowing your strengths can help you answer behavioral questions with more confidence. Cannot recommend this more.\nYou can take yours here. https://store.gallup.com/p/en-us/10108/top-5-cliftonstrengths Sometimes, your strengths can be your blind spots which could be considered as your weaknesses. Use the below link on how to relate your Clifton strengths to weaknesses\nhttps://leadthroughstrengths.com/starved/\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/behavioral-prep/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 The key idea for this interview is to guage what kind of a person, teammate you will be and what experiences you had. This is the best time to showcase your strengths and show that you are aware of your weaknesses and are working on them.\u003c/p\u003e\n\u003cp\u003eI feel this is more of a damage control round in the sense that you need not impress them with your stories and answers as much as you need to make sure you don’t bomb this or say things that turn them off (eg. I have no weaknesses. I am perfect)\u003c/p\u003e","title":"Behavioral prep"},{"content":" 💡 Think of case study as some problem that you would arrive at your own company and solve it like you would solve that rather than looking at it as an interview question. This helps me a lot.\nhttps://datainterview.com/ is one of the best sources for preparation.\nStructure Structure in answering a case in very important. Ask why we want to do what we want to do. Ask clarification questions. Narrow the scope of the answer. Take time to think. State your assumptions. Work with the interviewer to get to the answer. Rubric The interviewers evaluate your answer with a rubric. Whether the answer is right is just one point a rubric. Most people just focus on getting to the answer and forget that the evaluation is on a lot of other aspects. Some common rubrics. Did they ask clarification questions Did they scope the problem well Did they structure the problem well Did they arrive at a solution Is their solution technically sound Did they communicate what they want to do well Did they work with interviewer (take the hint) to arrive at a solution. Business sense Always understand what the underlying business is. What is the mission of the company and what do they care about. What is their business model Always state this and discuss with your interviewer why we should care about doing what we are doing. It helps interviewers assess that you are not just solving the problem, but you understand the top level view. Mock As always, the best way to improve upon this is get some professional mock interviews. They are very effective at evaluating you on a rubric and help you understand your weaknesses. https://datainterview.com/ is a great place for this. Best way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/case-study-prep/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 Think of case study as some problem that you would arrive at your own company and solve it like you would solve that rather than looking at it as an interview question. This helps me a lot.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://datainterview.com/\"\u003ehttps://datainterview.com/\u003c/a\u003e is one of the best sources for preparation.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3 id=\"structure\"\u003eStructure\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eStructure in answering a case in very important. Ask why we want to do what we want to do. Ask clarification questions. Narrow the scope of the answer. Take time to think. State your assumptions. Work with the interviewer to get to the answer.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"rubric\"\u003eRubric\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eThe interviewers evaluate your answer with a rubric. Whether the answer is right is just one point a rubric. Most people just focus on getting to the answer and forget that the evaluation is on a lot of other aspects.\u003c/li\u003e\n\u003cli\u003eSome common rubrics.\n\u003col\u003e\n\u003cli\u003eDid they ask clarification questions\u003c/li\u003e\n\u003cli\u003eDid they scope the problem well\u003c/li\u003e\n\u003cli\u003eDid they structure the problem well\u003c/li\u003e\n\u003cli\u003eDid they arrive at a solution\u003c/li\u003e\n\u003cli\u003eIs their solution technically sound\u003c/li\u003e\n\u003cli\u003eDid they communicate what they want to do well\u003c/li\u003e\n\u003cli\u003eDid they work with interviewer (take the hint) to arrive at a solution.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"business-sense\"\u003eBusiness sense\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eAlways understand what the underlying business is. What is the mission of the company and what do they care about. What is their business model\u003c/li\u003e\n\u003cli\u003eAlways state this and discuss with your interviewer why we should care about doing what we are doing.\u003c/li\u003e\n\u003cli\u003eIt helps interviewers assess that you are not just solving the problem, but you understand the top level view.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"mock\"\u003eMock\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eAs always, the best way to improve upon this is get some professional mock interviews.\u003c/li\u003e\n\u003cli\u003eThey are very effective at evaluating you on a rubric and help you understand your weaknesses.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://datainterview.com/\"\u003ehttps://datainterview.com/\u003c/a\u003e is a great place for this.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003eBest way to reach me is via Twitter or LinkedIn DM’s\u003c/strong\u003e\u003c/p\u003e","title":"Case study prep"},{"content":"You probably know the COVID-19 pandemic and the race between all the pharma companies to create a vaccine. There was a lot of talk about different phases of clinical trials and the effectiveness of various vaccines. In clinical trials, companies are trying to estimate the causal effect of giving a drug on patient’s health.\nCausal effect is the difference between what happened if the treatment was given and what would have happened if the treatment was not given\nor\nCausal effect is the difference between what would have happened if the treatment was given and what happened if the treatment was not given\nIn both definitions, only one condition (treatment or control) is observable for any given person. It is impossible to get a determinate value of the effect of treatment on a given unit. This is called the fundamental problem of causal inference.\nLet’s look at an example. Netflix wants to advertise its marquee show Squid Games by placing billboards all over New York City. They want to evaluate the effect of placing billboards on subscriber growth. They put billboards at the start of the month and simultaneously released the show on Netflix. They see the subscribers from New York increase by 15% month on month. The program manager in charge of this project claims that the effect of billboards is 15% subscription growth, and they should implement this program everywhere. However, this doesn’t seem right for so many reasons.\nThere could be a lockdown, and no one saw billboards. The reason why subscriber growth happened is that people were bored and subscribed to Netflix. There was a massive buzz on the Internet about Squid games. This prompted a lot of NY folks to sign up for Netflix. Netflix was growing month on month anyway and people would have signed up even in the absence of billboards. The only way to estimate the effect of placing billboards is if we had another universe where billboards were not present and Squid Games was released anyway. Unfortunately, we only have one universe, and we can only observe one side of the effect. This is the fundamental problem of causal inference.\nThe entire field of causal inference is about trying to estimate what would have happened if treatment was not present and then calculate the treatment effect to understand the effectiveness of the intervention. Randomized control trials (AB Testing) does this by randomly allocating people to treatment and control. Regression does this by including every other possibility of the effect in the regression equation and controlling for it. Differences in differences looks for a control group which was similar to treatment before the intervention but did not receive the treatment.\n","permalink":"https://sandeepgangarapu.com/blog/technical/essay-1-the-fundamental-problem-of-causal-inference/","summary":"\u003cp\u003eYou probably know the COVID-19 pandemic and the race between all the pharma companies to create a vaccine. There was a lot of talk about different phases of clinical trials and the effectiveness of various vaccines. In clinical trials, companies are trying to estimate the causal effect of giving a drug on patient’s health.\u003c/p\u003e\n\u003cfigure class=\"align-center \"\u003e\n    \u003cimg loading=\"lazy\" src=\"/images/blog/technical/essay-1-the-fundamental-problem-of-causal-inference/coronavirus.png#center\"\n         alt=\"Coronavirus illustration\"/\u003e \n\u003c/figure\u003e\n\n\u003cfigure class=\"align-center \"\u003e\n    \u003cimg loading=\"lazy\" src=\"/images/blog/technical/essay-1-the-fundamental-problem-of-causal-inference/flask.png#center\"\n         alt=\"Flask illustration\"/\u003e \n\u003c/figure\u003e\n\n\u003cp\u003eCausal effect is the difference between what happened if the treatment was given and what would have happened if the treatment was not given\u003c/p\u003e","title":"Essay 1 - The fundamental problem of causal inference"},{"content":"Let’s take a look at this chart.\nThere is a perfect association between ice cream sales and shark attacks at the beach. When ice cream sales go up, shark attacks go up and when ice cream sales go down, shark attacks go down.\nIf we were to take this association seriously, in order to lessen shark attacks for public safety, we would cut down on the number of ice cream shops at the beach. Of course, this would not work. The hidden story is that more people go to the beach in the summer and this increases both the probaility of a shark attack and ice cream sales. In order to attribute the effect of ice cream sales on shark attacks, we need to establish that the effect is because of the ice cream sales, not just associated with ice cream sales.\nCorrelation is not causation! The causal effect is the effect produced by the treatment and not just associated with the treatment.\nLet’s look at another example.\nRed cars have a 7 percent higher risk of an accident [1].\nIf the color of the car is responsible for accidents because of visibility and that other traffic signs are also red, then it is a causal effect. If it is because young, fast and reckless drivers prefer red color car and then cause accidents, then it is not a causal effect. But it is important to know the causality from the perspective of policy. If it is indeed causal effect, it makes sense to pass a legislation restricting the sale of red cars or repainting existing cars. If it is not, all that effort would be worthless.\nhttps://www.citywidelaw.com/los-angeles-car-accident-attorney/car-color-and-crash-risk/\n","permalink":"https://sandeepgangarapu.com/blog/technical/essay-2-what-is-a-causal-effect/","summary":"\u003cp\u003eLet’s take a look at this chart.\u003c/p\u003e\n\u003cfigure class=\"align-center \"\u003e\n    \u003cimg loading=\"lazy\" src=\"https://s3-eu-west-1.amazonaws.com/candela-iglesias/comfy/cms/files/files/000/000/014/original/sharks.png#center\"\n         alt=\"Chart showing correlation between ice cream sales and shark attacks\"/\u003e \n\u003c/figure\u003e\n\n\u003cp\u003eThere is a perfect association between ice cream sales and shark attacks at the beach. When ice cream sales go up, shark attacks go up and when ice cream sales go down, shark attacks go down.\u003c/p\u003e\n\u003cfigure class=\"align-center \"\u003e\n    \u003cimg loading=\"lazy\" src=\"/images/blog/technical/essay-2-what-is-a-causal-effect/shark.png#center\"\n         alt=\"Shark illustration\"/\u003e \n\u003c/figure\u003e\n\n\u003cfigure class=\"align-center \"\u003e\n    \u003cimg loading=\"lazy\" src=\"/images/blog/technical/essay-2-what-is-a-causal-effect/ice-cream.png#center\"\n         alt=\"Ice cream illustration\"/\u003e \n\u003c/figure\u003e\n\n\u003cp\u003eIf we were to take this association seriously, in order to lessen shark attacks for public safety, we would cut down on the number of ice cream shops at the beach. Of course, this would not work. The hidden story is that more people go to the beach in the summer and this increases both the probaility of a shark attack and ice cream sales. In order to attribute the effect of ice cream sales on shark attacks, we need to establish that the effect is because of the ice cream sales, not just associated with ice cream sales.\u003c/p\u003e","title":"Essay 2 - What is a causal effect?"},{"content":"Going back to the red car example, how would we establish the causal effect of red colored car on accidents. In an ideal scenario, we select a random set of drivers and give them a red car to drive for x days and record the total number of accidents. We then go back in the time machine and give the exact set of drivers a grey car to driver and see if the accidents are less. This would give us a causal effect. But unfortunately, this is not possible.\nIn reality, we could randomly select drivers who already have red cars, observe their characteristics, and pick drivers of other cars who have exactly same characteristics as those of the red car drivers. We then track both of them for a period of x days, see the difference in the number of accidents and find the causal effect.\nFor example, Red cars may have all young drivers, so we pick young drivers but those who own other color cars. Red cars may have drivers who drive fast. We need to pick drivers of other color cars who are also drive fast. But how do we define fast? Do we ask them? Do we set average speed limit? May be they are driving in different kinds of roads. This seems difficult, but still possible to do. Red card may have reckless drivers. How do we define recklessness? Do we look at speeding tickets and infractions?\nAs you can see, creating a control group to establish the causal effect looks so hard. This is where randomization comes in.\nLet’s take a bunch of drivers and randomly assign them to a red car or other color cars using a coin toss. Given them their assigned cars for x days. Then, compare the number of accidents and establish the causal effect.\nBecause of randomization, young drivers have equal chance to be in both red car group or other car group. Fast drivers had equal probability to be put in either of groups. Even reckless drivers would have the same propensity to be in either groups. Not just these three features, any thinkable feature of a driver has equal probability to be put in both groups.\nIn theory, both groups are balances and fair and now we can establish the true causal effect of driving a red car on accident incidence.\n💡 One caveat, randomization does not guarantee balancing of all features in a given sample. But on average, it is expected to be balanced. Just like flipping coin 10 times does not guarantee 5 heads and 5 tails all the time, but on average, it does.\n","permalink":"https://sandeepgangarapu.com/blog/technical/essay-3-randomization-the-holy-grail-of-causal-inference/","summary":"\u003cp\u003eGoing back to the red car example, how would we establish the causal effect of red colored car on accidents. In an ideal scenario, we select a random set of drivers and give them a red car to drive for x days and record the total number of accidents. We then go back in the time machine and give the exact set of drivers a grey car to driver and see if the accidents are less. This would give us a causal effect. But unfortunately, this is not possible.\u003c/p\u003e","title":"Essay 3 - Randomization - the holy grail of causal inference"},{"content":" 💡 I did not get a single call from a recruiter when I applied directly on the portal. All my calls are a direct product of a referral except one.\nGet Linkedin Premium. Its worth it.\nA lot of referrals are from connections I made at random places at random times. So its always a good thing to build your professional network even if you are not hunting for a job.\nDifferent ways I got my foot through the door\nI wrote a great cover letter describing how I perfectly match all their requirements and applied through the portal I reached out to the head of data science of a company who follows me on twitter and he expedited the process by sending my resume to the recruiter. I reached out to the head of data science who is my connection on Linkedin telling her about the talk I attended of her and that I was on the job market and asked her to connect me with a recruiter. I wrote to all data scientists who were in the company I was interested in through LinkedIn search and wrote to every one of them asking if I would be a good fit and if they would refer me. People would be more than happy to refer as there is usually an incentive like a referral bonus. I used the LinkedIn feature of “members in this company who are in your network” to ask them if they can refer me. I used the Linkedin feature of “members in this company who worked in the same company as you” to connect with them ask them if they can refer me. I used the Linkedin feature of “members in this company who went to your school” to ask them if they can refer me. This works because there is a common ground between you and the person. I asked my friend if they know someone who works for a company I am interested in and connected with them and asked them to refer me. The reason I wrote the above is to illustrate that there are so many ways to get referrals if you try hard enough.\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/getting-referrals/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 I did not get a single call from a recruiter when I applied directly on the portal. All my calls are a direct product of a referral except one.\u003c/p\u003e\n\u003cp\u003eGet Linkedin Premium. Its worth it.\u003c/p\u003e\n\u003cp\u003eA lot of referrals are from connections I made at random places at random times. So its always a good thing to build your professional network even if you are not hunting for a job.\u003c/p\u003e","title":"Getting referrals"},{"content":"Over the years, I have come across multiple resources I learned things from with ease. This is a page to track those resources. Please reach out to me if you think something belongs to this list. I will add it.\nGeneral Julia Evans has online zines for topics ranging from SQL, Shell scripts to Linux. These are hand-drawn explanations of stuff related to a particular topic. I stumbled upon here twitter post about how SQL actually executes a query and have been a fan ever since.\nAll things ML, DS, CS, Stats. This is most comprehensive source I have ever seen.\nhttps://github.com/Developer-Y/cs-video-courses\nSQL SQL Zoo. Hands down the best place to start learning SQL. This is where I learned from and advised many students to learn from as well. SQL Zines. Great resource for getting introduced to SQL. It has clear explanations with awesome visuals. Complete overview of SQL in one page. Python Chris Albon has a great repository of all things Python Data Science. It\u0026rsquo;s just good to just scroll through and refresh your coding memory. Numpy visualized. His blog has other cool visualizations too. Dan Bader\u0026rsquo;s website is a great place to learn python all around. Corey Schafer\u0026rsquo;s YT channel. All python concepts are explain clearly. Pyspark https://pyspark.itversity.com/03_data_processing_overview/01_data_processing_overview.html is the best I could find on pyspark Data Science DataCamp is a good place to get started. The career paths with 4-8 hour courses with bite sized videos and in website coding practice is really good and is the best way to get hands on with Data science. Causal Inference Mastering metrics (Introductory) and Mostly harmless econometrics (Intermediary) are great books to get a intuition of all this econometrics and causal inference. Search amazon. The effect is another great book. I really admire the author, Nick HK. Machine Learning https://mlu-explain.github.io/ Machine learning flash cards from Chris Albon is a great ML refresher. There are 300 hand-drawn cards explaining concepts related to ML. It costs $12 but is totally worth it. If that is a problem, he shares a card everyday on his twitter. PCA Sebastian Raschka\u0026rsquo;s book is great to get started on coding ML with Python. It\u0026rsquo;s easy to follow and has great code snippets. His github has good lecture notes. Technical ML bible here Statistics 3blue1brown is the coolest educator I could think of. I learned so much from his videos. His series on linear algebra is my favorite. Eigen Values and Eigen Vectors. I don\u0026rsquo;t think they update the website anymore. Cool visualizations nonetheless. Prof. Charles Geyer (UMN Statistics) has the best slides on Intermediate Theory of Statistics I, II. Aerin Kim\u0026rsquo;s Medium blog - Very nice intuitive explanations of statistical concepts Introduction to Bayesian Data Analysis lecture series by Rasmus Baath - An amazing intuitive introduction to Bayesian thinking. Course catalogue for Causal Inference Blogs Rachel Thomas runs a cool blog on all things AI. I really loved her blogs on general advice in the field. Andrew Gelman\u0026rsquo;s blog - If you have time to kill. Has some very nice answers to weird and unintuitive questions. https://davegiles.blogspot.com/2019/10/everythings-significant-when-you-have.html#more This blog is now retired 😢 Others https://ciechanow.ski/archives/ has great explanations with visualizations of how stuff works at a very fundamental level. Typing https://www.typingclub.com/ is a great place to learn how to type. I typed by looking at keyboard for 12 years until I started learning to type. Its a great skill to have and I cannot think of better website to start. ","permalink":"https://sandeepgangarapu.com/blog/technical/learning-resources-collection/","summary":"\u003cp\u003eOver the years, I have come across multiple resources I learned things from with ease. This is a page to track those resources. Please \u003ca href=\"/about/\"\u003ereach out to me\u003c/a\u003e if you think something belongs to this list. I will add it.\u003c/p\u003e\n\u003ch3 id=\"general\"\u003eGeneral\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://wizardzines.com/\"\u003eJulia Evans\u003c/a\u003e has online zines for topics ranging from SQL, Shell scripts to Linux. These are hand-drawn explanations of stuff related to a particular topic. I stumbled upon here twitter post about how SQL actually executes a query and have been a fan ever since.\u003c/p\u003e","title":"Learning Resources"},{"content":" Comparison operators\nLIKE is case sensitive ILIKE is not BETWEEN includes the range bounds IS NULL is for missing values. column=NULL will not work. For non null values - use IS NOT NULL. Don\u0026rsquo;t use NOT IS NULL Aggregate function\nCOUNT COUNT(col) gives of count of col where values are not null. This is the main difference between COUNT(*) and COUNT(col) SUM, AVG and COUNT can only be used for numeric values. (duh!) AVG ignores null values completely. Does not take in the denominator MIN and MAX can be used for numeric, date, chars GROUP BY\nLIMIT executes after the GROUP BY HAVING statement has to be written again.\nCASE WHEN\nCASE WHEN is equivalent to IF/ELSE\nCASE WHEN (condition) THEN val WHEN (condition) THEN val ELSE val END as \u0026lsquo;colname\u0026rsquo; CASE must include the following components: WHEN, THEN, and END. ELSE is an optional component. CASE WHEN is best used with aggregate statements.\nCASE WHEN, COUNT(*) can also be written with subquery and group by. The difference is data storage in cache. CASE WHEN can be used to pivot tables\nSELECT COUNT(CASE WHEN year = \u0026lsquo;FR\u0026rsquo; THEN 1 ELSE NULL END) AS fr_count, COUNT(CASE WHEN year = \u0026lsquo;SO\u0026rsquo; THEN 1 ELSE NULL END) AS so_count\nFROM benn.college_football_players\nDISTINCT\nUnique pairs - DISTINCT col1, col2 COUNT(DISTINCT month) not DISTINCT COUNT(month) ALIAS table name - FROM benn.college_football_players players\nWHERE clause inside join\nIn this case, filtering happens before join happens\nLEFT JOIN tutorial.crunchbase_acquisitions acquisitions\nON companies.permalink = acquisitions.company_permalink\nAND acquisitions.company_permalink != \u0026lsquo;/company/1000memories\u0026rsquo;\nboth conditions have to be satisfied for join to take place.\nSo basically, where clause will be applied to only table (most useful when the where is applied on the column that is used for join)\nUNION\nUNION is rowbind. removes duplicates UNION ALL does not remove duplicates CAST(colname as integer) will change the column data type\nDate\nstoring date as string helps in comparison only if date is stored in yyyymmdd format storing date as date datetype or timestamp helps in adding, subtracting dates and times and using functions https://www.mssqltips.com/sqlservertip/6866/sql-date-functions/ String functions\nLEFT(col, 10) - first 10 chars RIGHT(col, 10)- last 10 chars TRIM(both \u0026lsquo;()\u0026rsquo; from col) - remove characters from column 3 arguments where to remove both, leading, trailing 2.what to remove (should be put in quotes) 3.which col to remove POSITION, STRPOS - Case sensitive for find the position number of a character in a string POSITION(\u0026lsquo;A\u0026rsquo; on colname) or STRPOS(colname, \u0026lsquo;A\u0026rsquo;) SUBSTR for finding the substring SUBSTR(colname, 4, 2) - substr(colname, starting pos, num chars) CONCAT concatenate two or 3 strings CONCAT(col1, \u0026lsquo;hello\u0026rsquo;, LEFT(col2, 4)) UPPER, LOWER turning strings into cases COALESCE to replace null values with a string COALESCE(colname, \u0026rsquo;no desc\u0026rsquo;) Window functions\nA window function performs a calculation across a set of table rows that are somehow related to the current row. This is comparable to the type of calculation that can be done with an aggregate function. But unlike regular aggregate functions, use of a window function does not cause rows to become grouped into a single output row — the rows retain their separate identities. Behind the scenes, the window function is able to access more than just the current row of the query result. FORMAT () OVER () (aggregate function) OVER (partition by col or order by col) Functions All aggregate functions will work ROW_NUMBER() RANK() and DENSE_RANK() row number will give different numbers irrespective of values being same rank will give same numbers(rank) for same values but the next rank would be skipped dense rank is same as rank but the next rank will not be skipped NTILE(num) this will divide the partition column into number of buckets specified by num and give where a given row falls into NTILE(4) - quartile NTILE(5) - quintile NTILE(100) - percentile LAG() and LEAD() LAG is the one before LEAD will give the value of the row after - LAG(colname, 2) will skip 2 rows instead of 1 - WINDOW statement - SELECT start_terminal, duration_seconds, NTILE(4) OVER ntile_window AS quartile, NTILE(5) OVER ntile_window AS quintile, NTILE(100) OVER ntile_window AS percentile FROM tutorial.dc_bikeshare_q1_2012 WINDOW ntile_window AS (PARTITION BY start_terminal ORDER BY duration_seconds Performance tuning Reducing table size use filters using WHERE Use LIMITS in joining or subqueries if you are just testing out the functionality of the query and are not actually looking at the results JOINS Aggregates before join if possible EXPLAIN to get an understanding of how the query will execute ","permalink":"https://sandeepgangarapu.com/blog/stories/mode-sql-notes/","summary":"\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eComparison operators\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLIKE is case sensitive\u003c/li\u003e\n\u003cli\u003eILIKE is not\u003c/li\u003e\n\u003cli\u003eBETWEEN includes the range bounds\u003c/li\u003e\n\u003cli\u003eIS NULL is for missing values. column=NULL will not work.\u003c/li\u003e\n\u003cli\u003eFor non null values - use IS NOT NULL. Don\u0026rsquo;t use NOT IS NULL\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAggregate function\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCOUNT\n\u003cul\u003e\n\u003cli\u003eCOUNT(col) gives of count of col where values are not null.\u003c/li\u003e\n\u003cli\u003eThis is the main difference between COUNT(*) and COUNT(col)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSUM, AVG and COUNT can only be used for numeric values. (duh!)\u003c/li\u003e\n\u003cli\u003eAVG ignores null values completely. Does not take in the denominator\u003c/li\u003e\n\u003cli\u003eMIN and MAX can be used for numeric, date, chars\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGROUP BY\u003c/p\u003e","title":"MODE SQL Notes"},{"content":" 💡 Companies are NOT doing you a favor by offering you a job. Its an open market and market decides the price.\nI don’t have anything new to say hear. everything is covered in detail in the blogs below. These blogs are gold.\nhttps://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/\nhttps://haseebq.com/how-not-to-bomb-your-offer-negotiation/\nhttps://www.kalzumeus.com/2012/01/23/salary-negotiation/\nhttps://scarlet-chen.medium.com/my-journey-from-econ-phd-to-tech-part-3-negotiations-part-1-ead9d72d4157\nA recruiter view of offers and negotiations\nhttps://www.teamblind.com/post/kind-of-new-recruiter-ama-a31aHx3q\nBut I will cover things that were hard for me to internalize.\nWill they recede the offer if you ask them for more compensation?\nNO The cost of interviewing a candidate is way too high. So, if a company decides to make you an offer, the opportunity cost of finding someone else and negotiate with them is way too high. They would rather give you some extra compensation and sign you than take that risk.\nHave competing offers. Get your BATNA straight\nThe amount of leverage this gives you is crazy. This cannot be understated. Leverage is everything in a negotiation. This is same in any industry. Look at this example from a car dealer.\nhttps://cardealershipguy.org/my-experiences\nTreat job market as Dating market.\nI got this advice from a recruiter once. You need to be winnable for the company to keep you in negotiations. If they get a signal that you are not really interested, they may end things. So, keep telling them why you are interested in the company every time you ask them for more.\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/offer-negotiations-and-timing/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 Companies are NOT doing you a favor by offering you a job. Its an open market and market decides the price.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eI don’t have anything new to say hear. everything is covered in detail in the blogs below. These blogs are gold.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/\"\u003ehttps://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://haseebq.com/how-not-to-bomb-your-offer-negotiation/\"\u003ehttps://haseebq.com/how-not-to-bomb-your-offer-negotiation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.kalzumeus.com/2012/01/23/salary-negotiation/\"\u003ehttps://www.kalzumeus.com/2012/01/23/salary-negotiation/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://scarlet-chen.medium.com/my-journey-from-econ-phd-to-tech-part-3-negotiations-part-1-ead9d72d4157\"\u003ehttps://scarlet-chen.medium.com/my-journey-from-econ-phd-to-tech-part-3-negotiations-part-1-ead9d72d4157\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eA recruiter view of offers and negotiations\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.teamblind.com/post/kind-of-new-recruiter-ama-a31aHx3q\"\u003ehttps://www.teamblind.com/post/kind-of-new-recruiter-ama-a31aHx3q\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBut I will cover things that were hard for me to internalize.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eWill they recede the offer if you ask them for more compensation?\u003c/p\u003e","title":"Offer negotiations and Timing"},{"content":"A great resume will give you a shot at convincing the recruiter to move you forward. It also gets you through any automated system the company is using to filter resumes.\nA great resume will\nBe relevant to the job you are applying (personalize). Project your strengths without explicitly saying them. Be very tight. Every section, every sentence, every word needs a reason to be there. Always be accompanied by a cover letter. cannot overstate the importance of a cover letter. Resume is relevant to the job you are applying (personalize). Prioritize projects so it highlights what the job description says. Include any relevant projects where you remotely used the tools the job description talks about. Screening software and some recruiters see if the keywords in the job description matches the keywords in the resume. Resume projects your strengths without explicitly saying it. I took Clifton strength assessment to understand what my strengths are and found a way to showcase them through what I did in the project sections without explicitly saying it. You can take yours here. https://store.gallup.com/p/en-us/10108/top-5-cliftonstrengths It is $19 and is totally worth it. The assessment not only gives you a path to crafting your resume, but it also gives you language to describe yourself, talk about your strengths and weaknesses. Resume is very tight. Every section, every sentence, every word needs a reason to be there.\nThis is to make sure you think through everything before you decide to keep it.\nFollow this rule in writing your accomplishments\nhttps://www.linkedin.com/pulse/20140929001534-24454816-my-personal-formula-for-a-better-resume/\nCover letter is very underrated I cannot overstate how important this is. I was told repeatedly by recruiters how my cover letter made their job easier.\nA good cover letter clearly shows how you fulfill all the job requirements like the example below. Source\nOther references and notes\nhttps://www.youtube.com/watch?v=Aarh4xjDD2g\nThis is a great video that talks about all things resume. It helped me a lot.\nMy notes from the video Does resume match what they are looking for. Match the job requirements\nTop mistakes\nResume doesn\u0026rsquo;t match job requirements\nmake sure the relevant skills are there Customize resume for what the company is looking for\nAdd those keywords in linkedin profile change summary in such a way that it is what they are looking for add skills that are similar to what they job desc asks for Keywords are key Make sure you do this to get through the resume scanner Make sure you have place and state\n10 second rule\nrecruiters look just for 10 seconds single typep face use sans serif type face (arial, helvetica, calibri) keep atleast half inch margins no borders Keep it professional\nthis is a job application keep it professional no pictures no non-professional activities Always proof read your resume\nboth spelling and punctuation use present tense for present job and past tense for past job Have someone else read it through\nResume is too long\nalways single page for entry level page May be two pages for past positions and accomplishments (experienced person) Display both months and years for duration\nbonus - add the duration You didn\u0026rsquo;t describe the accomplishments\ndont just explain about the job duties accomplishments should be highlighted Always include a cover letter\nopportunity to make a good impression\nexplain the interest in the job\nT cover letter\nDon\u0026rsquo;t mislead or lie\nBest way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/resume-and-cover-letter-prep/","summary":"\u003cp\u003eA great resume will give you a shot at convincing the recruiter to move you forward. It also gets you through any automated system the company is using to filter resumes.\u003c/p\u003e\n\u003cp\u003eA great resume will\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eBe relevant to the job you are applying (personalize).\u003c/li\u003e\n\u003cli\u003eProject your strengths without explicitly saying them.\u003c/li\u003e\n\u003cli\u003eBe very tight. Every section, every sentence, every word needs a reason to be there.\u003c/li\u003e\n\u003cli\u003eAlways be accompanied by a cover letter.\n\u003col\u003e\n\u003cli\u003ecannot overstate the importance of a cover letter.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"resume-is-relevant-to-the-job-you-are-applying-personalize\"\u003eResume is relevant to the job you are applying (personalize).\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003ePrioritize projects so it highlights what the job description says.\u003c/li\u003e\n\u003cli\u003eInclude any relevant projects where you remotely used the tools the job description talks about.\u003c/li\u003e\n\u003cli\u003eScreening software and some recruiters see if the keywords in the job description matches the keywords in the resume.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"resume-projects-your-strengths-without-explicitly-saying-it\"\u003eResume projects your strengths without explicitly saying it.\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eI took Clifton strength assessment to understand what my strengths are and found a way to showcase them through what I did in the project sections without explicitly saying it.\u003c/li\u003e\n\u003cli\u003eYou can take yours here. \u003ca href=\"https://store.gallup.com/p/en-us/10108/top-5-cliftonstrengths\"\u003ehttps://store.gallup.com/p/en-us/10108/top-5-cliftonstrengths\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt is $19 and is totally worth it. The assessment not only gives you a path to crafting your resume, but it also gives you language to describe yourself, talk about your strengths and weaknesses.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"resume-is-very-tight\"\u003eResume is very tight.\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eEvery section, every sentence, every word needs a reason to be there.\u003c/p\u003e","title":"Resume and cover letter prep"},{"content":" 💡 Pay for the premium version of interview prep websites like LeetCode. $30 a month subscription is totally worth it compared to the returns.\nData Science interviews test many technical skills depending on the role or the level.\nAlgorithmic coding SQL Data Coding Causal Inference Statistics Machine Learning Algorithmic Coding Prep\nThis is probably the most important component for software engineering roles, but not so much for data scientists. If you are interested in roles like Research Scientist, Research Data Scientist, then this will become important.\nOne mistake people do here is spend too much time worrying about this and too much time to get good at this.\nMost interviews for data scientist roles will go into Arrays, but not so much into advanced concepts like binary trees. So spend most time in Easy and Medium Array questions.\nPreparation:\nAll array questions could be categorized into 6-7 building blocks (eg: Two sum problems, Binary Search problems, Reverse traversal problems). If you are comfortable with those building blocks, you could code any array question by relating it to a building block and modifying the boiler plate code of that building block. Same goes for other concepts. This is the best way to prepare. Best place to learn building blocks is https://interviewcamp.io/ Practice questions at https://leetcode.com/. Mostly go for easy and medium level array questions. A very good subset of coding questions https://www.teamblind.com/post/New-Year-Gift\u0026mdash;Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU SQL\nYou cannot afford to bomb SQL rounds. So do well here.\nPreparation:\nhttps://mode.com/sql-tutorial/introduction-to-sql/ is the best place to brush up on SQL skills. Its concise and to the point\nhttps://selectstarsql.com/ seems like a great place to learn SQL.\nhttps://leetcode.com/problemset/all/?listId=5htp6xyg\u0026amp;page=1 has good practice questions.\nMy mode SQL notes\nMODE SQL Notes\nData Coding\nThis round is about how you could manipulate data using pandas in python or similar libraries in R.\nThe only way to prepare for this round is by practicing as much as you can. No amount of reading will help here.\nPractice EDA on many publicly available data sets (changing column types, treating missing values, feature selection, engineering, outliers) etc.\nPractice coding famous algorithms like K-Means, Linear Regression, Decision trees, etc., from scratch.\nPreparation:\nhttps://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html https://www.datacamp.com/ https://www.kaggle.com/c/titanic for titanic data and example EDA’s Causal Inference\nhttps://theeffectbook.net/\nhttps://mixtape.scunning.com/\nhttps://www.mostlyharmlesseconometrics.com/\nAB testing:\n💡 I cannot tell you how much instrumental this book was in all AB testing rounds https://www.amazon.com/Trustworthy-Online-Controlled-Experiments-Practical/dp/1108724264 I read this book page to page twice.\nStatistics\nProf. Charles Geyer (UMN Statistics) has the best slides on Intermediate Theory of Statistics I, II.\nML\nOne type of interview question is a case study where you would be given a use case and you need to walk them through what data you would need, what target variable you would choose, modeling procedure, evaluation metrics.\nThe best way to prepare for this would be to do some mock interviews.\nAnother type of question would ne just asking ML fundamentals like what is the difference between Lasso and Ridge regression and slowly going on from there by asking more and more questions.\nIn general you need to be familiar with how most ML models work and what are the advantages and disadvantages. This applies to all ML concepts.\nPreparation:\nSome good cheat sheets: https://sites.google.com/view/datascience-cheat-sheets#h.h40dwqqwv30w Chris Albon’s flash cards are very useful: https://machinelearningflashcards.com/ Other online source: https://towardsdatascience.com/the-data-science-interview-blueprint-75d69c92516c Best way to reach me is via Twitter or LinkedIn DM’s\n","permalink":"https://sandeepgangarapu.com/blog/stories/technical-prep/","summary":"\u003cblockquote\u003e\n\u003cp\u003e💡 Pay for the premium version of interview prep websites like LeetCode. $30 a month subscription is totally worth it compared to the returns.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eData Science interviews test many technical skills depending on the role or the level.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ca href=\"/blog/stories/technical-prep/\"\u003eAlgorithmic coding\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/blog/stories/technical-prep/\"\u003eSQL\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/blog/stories/technical-prep/\"\u003eData Coding\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/blog/stories/technical-prep/\"\u003eCausal Inference\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/blog/stories/technical-prep/\"\u003eStatistics\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/blog/stories/technical-prep/\"\u003eMachine Learning\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003eAlgorithmic Coding Prep\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eThis is probably the most important component for software engineering roles, but not so much for data scientists. If you are interested in roles like Research Scientist, Research Data Scientist, then this will become important.\u003c/p\u003e","title":"Technical prep"},{"content":"Leather working templates: Horizontal Wallet PDF | Vertical Wallet PDF\nPoll Normalizer bot Tagging this bot will normalize the poll if you have \u0026ldquo;Show me the results\u0026rdquo; as the last option by removing votes of that option and normalizing the rest to 100%\nhttps://twitter.com/poll_normalizer\nLeather work Corona Daily Updates https://coronadailyupdates.org/. - Deprecated\nThis service sends SMS to users in India with COVID-19 numbers in their district, state, country. The main motivation is to serve a large demographic of under-served people who are not digitally savvy to get this information from dashboards/chatbots.\nWoodwork Stationery holder - with the guru https://www.jeffclement.me\nElectric skateboard - unfinished\n","permalink":"https://sandeepgangarapu.com/projects/","summary":"\u003cp\u003eLeather working templates: \u003ca href=\"/pdfs/minimalisthorizantal.pdf\"\u003eHorizontal Wallet PDF\u003c/a\u003e | \u003ca href=\"/pdfs/minimalistvertical.pdf\"\u003eVertical Wallet PDF\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"poll-normalizer-bot\"\u003ePoll Normalizer bot\u003c/h3\u003e\n\u003cp\u003eTagging this bot will normalize the poll if you have \u0026ldquo;Show me the results\u0026rdquo; as the last option by removing votes of that option and normalizing the rest to 100%\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/poll_normalizer\"\u003ehttps://twitter.com/poll_normalizer\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"leather-work\"\u003eLeather work\u003c/h3\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px;\"\u003e\n  \u003cimg src=\"/images/projects/img_6401.jpeg\" alt=\"IMG_6401.jpeg\" style=\"width: calc(50% - 5px); object-fit: cover;\"\u003e\n  \u003cimg src=\"/images/projects/img_6398.jpeg\" alt=\"IMG_6398.jpeg\" style=\"width: calc(50% - 5px); object-fit: cover;\"\u003e\n  \u003cimg src=\"/images/projects/img_6655.jpeg\" alt=\"IMG_6655.jpeg\" style=\"width: calc(50% - 5px); object-fit: cover;\"\u003e\n  \u003cimg src=\"/images/projects/img_6886.jpeg\" alt=\"IMG_6886.jpeg\" style=\"width: calc(50% - 5px); object-fit: cover;\"\u003e\n\u003c/div\u003e\n\u003ch3 id=\"corona-daily-updates\"\u003eCorona Daily Updates\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://coronadailyupdates.org/\"\u003ehttps://coronadailyupdates.org/\u003c/a\u003e. - Deprecated\u003c/p\u003e","title":"Things I built"}]