Skip to main content

Posts

Showing posts from 2017

Stack overflow is built using ASP.NET, C#, SQL Server, Windows, IIS...

Irrespective of what technology we work with how many times have we landed on Stack Overflow / Stack Exchange website on a daily basis? If we ask this to any developer the answer would mostly be MANY times in a day :) Site was launched in 2008 and is built using Windows, SQL Server, IIS, and ASP.NET along with HAProxy, Redis, and ElasticSearch, all served via Fastly CDN. Fun Facts: 1.3 Billion page views per month They transfer ~55 TB data per month 4 SQL Servers (organized as 2 clusters) Stack Overflow serves 528 Million queries per day (Peak 11000 queries per second) Stack Exchange, Careers, meta serves 496 million queries per day (Peak 12800 queries per second) Over 360 databases with the same schema, which changes frequently They made use of Microsoft Bizspark program before getting graduated All their production traffic is served using physical servers &  Cloud services are being used only for storing encrypted offsite backups (Glacier) and for DNS (Route53)

What is common between these apps?

What is common between these desktop applications/tools? Slack Wordpress GitHub Atom Editor GitHub desktop Microsoft Visual Studio Code Microsoft SQL Operations Studio All are built using Electron Framework   (Open Source) Electron framework lets us write cross-platform desktop applications using JavaScript, HTML, and CSS. It is based on Node.js and Chromium.  It allows us to (re)use web components - HTML, CSS and JavaScript in the creation of desktop applications.  Then it can be distributed across platforms - Windows, Mac OS X, or Linux.

Ten Quotes From Satya Nadella's Book "Hit Refresh" That Inspired Me

A few years back, Microsoft offered a free upgrade to Windows 10. That was an exciting move as their main competitor Apple was doing it for a long time now. As a consumer felt that Satya Nadella becoming CEO of Microsoft has brought in quite many changes, and started embracing open source, which was initially surprising. So for me, it was a no-brainer to pick his book "Hit Refresh" from the store immediately once it was released. The first half of the book was more interesting where he talked about his life in India, his kids, love for Cricket, and how he got more interested in Computers than Cricket over a period. Microsoft CEO Satya Nadella's Book One anecdote of how he was first interviewed at Microsoft was exciting. He was asked - "Imagine you see a baby lying in the street, and the baby is crying. What do you do?". - As a young engineer, he has answered the question exactly as I would have: "You call 911". - The interviewer'

Make it WORK then Make it BETTER

Mostly this mantra is followed by most development teams (in particular startups) & it certainly makes sense as long as it gets understood completely. In my nearly two decades of experience, I have seen teams strive tirelessly to "Make it work" and deliver a minimum viable product. But are indirectly forced to skip the "Make it better" part due to lack of time/lousy estimation. Why?  Because once the minimal viable product is delivered, people start pulling resources out of that, start assigning the next module so that they can "Make it work". The assumption was we can work on refactoring the code tomorrow or the day after, which in reality never happens. Ultimately the development folks don't find time to "refactor" their initial code to "Make it better". "The problem with waiting until tomorrow is that when it finally arrives, it is called today." - Jim Rohn So what? It is already working anyway!  &quo

SQL Server Always Encrypted - At a high level how does it works?

One of the excellent feature introduced in SQL Server 2016 is "Always Encrypted". This gives an extra layer of protection as no one (including the production DBA's) will be able to access the actual data without having the appropriate key. A high-level overview of how SQL Server 2016 Always Encrypted work: 1. Always Encrypted is a client-side encryption technology in which a SQL Server client driver (In our case, it would be ADO.NET) plays the key role. The driver encrypts the data which application sends as plaintext, and it then sends encrypted data to SQL Server. So, the data is encrypted on the fly as well as at rest. 2. Now when the application retrieves the encrypted data from the database the DRIVER transparently decrypts returning plaintext to the client app. Consequently, SQL Server never sees a sensitive information in plaintext. The keys, in fact, are managed entirely on the client side & the server doesn't have access to the keys either. 3. Th

Quickly removing spam images from WhatsApp

One of the major issues with Whatsapp is in no time it produces numerous "spam images" which would eat up our smartphone's memory. Initially tackled it by exiting out of many groups and mostly used it for direct one-on-one conversations alone. It helped in cutting down on those useless images (memes, screenshots, quotes, images with good morning/evening messages etc.,) but it didn't completely solve the problem. Many of them were either close friends/relatives whom I don't want to block in Whatsapp but at the same time wanted a solution to quickly get rid of those spam images. After some analysis narrowed down on  Magic Cleaner App (Artificial Intelligence powered image recognition system) which seems to do the trick for me. This App does a decent job in identifying the spam images found the accuracy level to be around 75% - which is pretty good. It identifies and lists all images which it considers to be spam/duplicates. Review & if satisfied

Universal Basic Income

"Universal Basic Income" - Heard about this only recently via an Elon Musk interview in November 2016 since then been reading about it. Understood it being discussed for many decades now and certainly not a new idea. What does it mean? A government would guarantee citizens a regular fixed sum of enough money to cover a basic standard of living, they can spend however they want, no questions asked. Majorly critics where saying something on this lines: 1. If we give money for free people will become more lazier 2. People would use it only for drinking / drugs / unhealthy things! etc., "Maybe 90 % of people will go smoke pot and play video games. But if 10 percent of the people go create new products and services and new wealth, that’s still a huge net win." - Sam Altman, President of Y Combinator, California Experiments: 1. Finland this week started it on a 2-year trial basis (2000 randomly picked unemployed citizens to get Euro 560 per month)