Friday, August 10, 2018

Monday, April 16, 2018

Principles of Programming Language



This lecture series on the topic seems great. Keeping it here so that in future I have tons of money and ands tons of free time, I will go through this series. Until then.. its just going to sit here..and gather dust..(not literally :D)


Monday, March 5, 2018

Sunday, February 11, 2018

Let's build a Docker Competitor




Loved the talk. I still have a long way to go before I can say I understand it fully. Right now I get only 10%. Happy Learning.

System Design from USF





What does System Design for installing Solar Panels looks like? This is just to give a brief understanding of how other domains approach the same problem. I have no idea if this is the Best in the world as it proclaims :D




Tuesday, February 6, 2018

What is Proxy Server and Reverse Proxy Server?




I have been confused about this concept and get it mixed in my head. This video is short and simple.

In short, NGINX, HAPROXY is both load-balancer and reverse proxy. I think load-balancer and reverse-proxy means the same thing. But for now, I think I know what is going on. More about it later.
---------
If the above video still confuses you, you can read an excellent article here:
http://fullstackmastery.com/2017/06/17/5-ways-improve-server-architecture-nginx/

I have found all articles from this author to be well written and very clear. 

Thursday, December 21, 2017

Facebook Engineer Gorkana Bjedov : How to Prepare for Technical Interview



p.s. I was attending the Live Video on Facebook and missed on asking a question I had in mind. Hence I followed up with Gorkana on Linkedin with my question and she was most humble to reply back instantaneously. I understand that like me there are many other people who struggle with System Design Questions and hence I am sharing this with all of my readers. I think this is one way I can truly contribute to others life in a meaningful manner and I am happy to do it. This is truly the motive of this blog. If you have your own set of experiences you would like to share, you are welcome contribute as Guest Author.

Followup from LeanIn Facebook Live.

Hello Goranka, I listened to your Facebook live video today on LeanIn Channel. I wanted to ask you a technical question and missed the opportunity. I have been interviewing with companies and the one place I lack is System Design Questions. Due to lack of my experience in this developing systems from scratch, I feel quite lost. A questions as simple as design a highly available and reliable tinyurl.com or design a elevator system for 100 floor building. What would you recommend to me and how can I get good at them?

Response :

Hi Amit - we usually ask detailed systems design questions from more experienced candidates and not fresh graduates, but... Here is what I would do:

1. find resources that discuss design in general - there is, for example, a very good book by a Civil Engineering professor called "Why buildings fall down" that discussed design failures. You will actually learn a lot, even if it looks like this has "nothing to do" with programming.
2. When designing a system, you need to first understand what are the requirements, the risks and trade-offs. LEt's take a look at the highly available and reliable system - there are many of them out there that are described in a great level of detail: Google's search front end (GFE) is probably the best documented one. I would definitely read a paper on its design. Same, for example, for Hadoop and for Facebook photo and video storage. Basically, look at the examples of systems currently designed for those requirements, read about them and understand why they made the decisions they made. 
3. For any other design priority - let's say something that has to be super secure - I would look for examples of products that fulfill that requirement and see how they accomplished it. Ideally, two or three examples should be enough, and you will usually find a lot of software for pretty much any problem in the open source. 


Basically, you prepare for it like you would for the coding problem. You find examples, and you study. Again, in this case, I would say something like one or two study-cases per week, probably not one every day, but also, don't let a week go by without making some progress. Keep notes. Understand underlying issues and common solutions. Pretty soon, you will see patterns emerge and you can then focus on those.

Wednesday, December 20, 2017

Cybersecurity Topics


The cybersecurity domain makes a big use of Hashing Techniques.  Complete listing of the course is here : http://ocw.mit.edu/6-046JS15


Tuesday, December 19, 2017

What is Growth? When does Growth Happens?


I want to talk more about this video on a Philosophical level but for now in the interest of time, I have got this KEXP recording which you might light and also notice how every professional has to go through the deep hole of nothingness to finally find something Great. I really love this.


Monday, December 18, 2017

Where to learn more on Systems topic?


Operating Systems

  • Udacity's : Intro to Operating Systems


  • Operating Systems : The three easy pieces

############################################################

Distributed Systems

  • Cornell University's Distributed Systems Course CS5414

  • University of Waterloo Youtube Series


Distributed System in one Vide



MIT Algorithms OCW



MIT OCW needs no introduction in terms of quality and does a great job with teaching Algorithms Fundamentals. You will feel at home if you have studied Cormen 

An implementation to go along with each of the tutorial will be like Chai with Pakora on a Rainy Day . There's bit of cultural reference here if you know what I mean. :D




13. Graph Theory (Breadth First Search)



14. Graph Theory(Depth First Search)


Coursera Adjacency Matrix : Great quick recap.

GeeksforGeeks DFS and BFS : I found the explanation to be very simple and the Python/C++/Java code is a great for starters.

It's OK to be NOT-OK.

02/22/2021  Last week I was just un-productive and was not doing enough to talk about. I also wanted to say that weeks before the last, I ha...