Nitish Upreti

A daydreamer exploring Algorithms, Software Systems Engineering and Data Science.

Want and Need

| Comments

“You can’t always get what you want, but you get what you need.”

There is probably a lot to soak in from these lines. Everyday we are running to get “things” we want in our life. Life can be full of excitement and enjoyment when we set personal, professional goals and then achieve them.

However, sometimes this fun gets lost in the worry and constant running. You can always wan’t things and get / not get them. It is probably important to enjoy this journey, because you probably already have everything you will ever need.

And getting what you need (and not what you want) is what matters right?

What Indian Parents Fail to Teach Kids

| Comments

Before you build up any strong opiniongs reading the title, here is a little disclaimer:

I know Indian parents are awesome and they do the best to take care of us but there are surely gaps. This piece is just an opinion based on my small set of personal observations.

With that said lets start with what Indian parents are (or atleast were in 90s when I grew up) missing to teach their kids:

1) Importance of Sports and Physical Exercise: Things might be different now but growing up, my parents never told me to go out an exercise. I had no clue on what exercise was and what it entails. I was never told to engage in a sport (Choose a sport I love and pursue it). Now that I think of it, the importance of sports was probably equivalent to watching TV (Seriously!).

Getting good grades? Cool. On top of your class? Cool. Now you can do whatever the hell you want!

2) Importance of healthy diet: Okay so this one is not as bad as point one. I did get some very basic pointers but it was definitely not enough. Ofcourse I was taught that maggie is not good for health and drinking Coke and Pepsi will make me fat. However, a healthy diet is more nuanced. I certainly lacked a lot of healthy diet know how.

WHY do Indian Parents miss out on it?

Our parents were probably never taught these skills by their parents. Add to that the socio-geo-economical coniditons of 90s India, there was no way to get this information for them. They were basically victims too.

Thank god for us, we now have internet and a lot more material resources at our disposal. It is time now for us make the right life choices and lead a healthy life (and teach these essential skills to our kids).

My Programming Journey in a Full Circle

| Comments

As a kid I was introduced to computers with Windows 98, programming on Turbo C++ and feeling clever playing with Windows Registry. Growing up, things changed. I was using a macbook, programming in Ruby and messing with up the new cool web stuff.

Now I feel life has taken a full circle and I am back working on Microsoft platform (day job) doing more systems and less of application programming. Like I would have imagined myself as a kid.

However, here is what I have learned : The beauty of programming and playing with computers transcend all the superficial stuff (Operating Systems, Programming Languages, Compilers etc as they are more of less just tools). The pure joy of tinkering with computers and software is forever. :-)

Abstraction Is Good. Magic Is Bad

| Comments

At Microsoft engineers are usually working on very large, sometimes old and inherintly complex codebases. Most of the time when making a code change it is thus impossible to have an absolute knowledge of every component you are touching. As an engineer, I have personally had following extreme experiences :

The Best Case

This is where good old abstraction comes in. You can bid a component to do its thing without knowing all the messy details. You achieve the task at hand effeciently by calling these components, get the job done and move on quickly.

The Worst Case

In this case, Abstraction joins the dark side and turns into magic. Exisiting code appears to work the desired way, but the new code does not. Debugging is super hard. This is because it is hard to just peek into the internals and get a sense of what is going on. The existing framework/platform abstraction is simply just doing a lot of things under the hood at different places. A new engineer struggles to narrow down issues without investing significant time understanding the codebase.

Food for Thought: How do you ensure you have the right set of abstractions but no (black)magic ?

Best Practices for Moving Data Encrypted With Always Encrypted

| Comments

Being a part of the Azure SQL DB and SQL Server product team at Microsoft, I recently authored an article on the SQL Security blog titled “Best Practices for Moving Data Encrypted with Always Encrypted”. As the title suggests, the article summarizes best practices to follow when moving data encrypted with SQL16’s new Always Encrypted feature.

Would love to hear any feedback and suggestions @nitish or comments on the blog post. :)

Running Inside Windows Debugging Sample Programs in Windows 10

| Comments

If you are trying to run the sample programs from “Inside Windows Debugging” in windows 10, you are at the right place. This post will save you troubleshooting time.

  1. Install WDK (Windows Driver Kit) from msdn downloads.
  2. Locate the binary “NMake2MSBuild.exe” in your installation directory.
  3. Run “NMake2MSBuild.exe dirs” (where dirs is the top level file in the book’s sample code directory)

This will generate appropriate VStudio solution file in the code directory. When you build this soltution, some projects might fail with: Warning treated as error. Disable this with: “Treat Warning as Errors” options from Visual Studio.

My Observation of Indians Working in Silicon Valley/Technology

| Comments

I am an Indian (desi) living in United States and working in technology. Most(All?) of my friends are Indians who are working in engineering positions for top technology companies. All of them are brilliant folks. I happen to be around 6-10 years younger to all of them. They studied from top tier schools, got the best of jobs and simply aced everything that they ever put their hands on.

Here is my general observation : All of them started off brilliant and hungry. Over the years with multiple years of experience and working on the same job, ‘work’ is now just ‘work’ and nothing more. It is definitely not a passion. This does not mean that they suck at their jobs. They are pragmatic, efficient and highly skilled engineers.

This scenario would definitely not just apply to Indians and perhaps is true for any worker in technology(any job?). It also makes a lot of sense. You have a family to take care of, you also want to enjoy your life and fulfill other responsibilities. Life is definitely more than just work/professional life. You simply have more commitments.

That makes me wonder :
Should a guy with 10 years or experience be as obsessed about his work as a fresh graduate ? Is it even possible to share a similar enthusiasm after years of experience?

I think it boils down to personal temperament and choices. There is no right or wrong answer.

What do you think?

Ghazal

| Comments

Ghazals are losing prominence in India. To the best of my understanding, people in my generation (and coming?) simply cannot relate to Ghazals. Everyone finds the music too slow and lyrics too cheesy. However, sometimes you just want to slow down and appreciate the music with childlike innocence. To me ghazals bring back the nostalgic 90s childhood I spent in India. :)

I would end this post with a Ghazal I recently stumbled on and fell in love with.


चांद के साथ कई दर्द पुराने निकले,

कितने गम थे जो तेरे गम के बहाने निकले

फ़सल-ए-गुल आई फ़िर एक बार असीनाने-वफ़ा,

अपने ही खून के दरिया में नहाने निकले

दिल ने एक ईंट से तामीर किया हसीं ताजमहल,

तुने एक बात कही लाख फसाने निकले

दश्त-ए-तन्हाई ये हिजरा में खडा सोचता हुँ,

हाय क्या लोग मेरा साथ निभाने निकले ?

Kinara - Coke Studio

| Comments

The song Kinara by Atif Aslam and Riaz Ali Khan from Coke Studio Pakistan is simply amazing. I am in love with the part from 3:52 onwards. Listen to it here.

What do you do when you are in love with a song ? Especially, if it is one of those not so popular song (atleast in my friend circle)?

You write a blog post, hope that people stumble onto the page (thanks Google) and share your love for the song. Say Hi on the comments if you love the song! :)

Cheers !