Wednesday, June 19, 2019
Tuesday, May 7, 2019
Distributed Systems Course CSEP-552 at UW, Seattle
Lecture 1 :
After going through just this first lecture, I realize why I was not doing well in Google System Design kind of questions. It is because I lacked this background and without understanding the depth of this topic, it will be simply faking my response and not really understanding the ins & outs.
I am hoping to complete this lecture series and also work on the homework assignments when I get some time.
Some more resources:
- UW Course Site Winter 2018
- UW Professional Masters in CS Program : https://www.cs.washington.edu/academics/pmp/overview
- Open Source Distributed Systems Book
- Introduction to Distributed System Design by Google Code University
- Original Map-Reduce Original Paper
- Quora : Other Distributed System Online Course Resources
Tuesday, April 30, 2019
Why TDD? I hope this will finally do the mental shift for me.
Great talk. Loved the fact that I am yet to be a TDD devotee and don't know how to do it right. Maybe this will motivate me for future.
Tuesday, April 9, 2019
Go for C++ Developers
I liked the talk because of the coverage and meaningful conversations it had.
My thoughts are:-
1. I think Golang is a very powerful language for backend systems development.
2. The simplicity of the language and support for concurrency is what makes it practical.
3. For me to do really well with this language, I need to get my OS concepts sorted out. I think if I can get some basic Compilers studies done as well, I think it will help immensely with the understanding of the language construct.
4. There are many companies doing great products using Go. Few of them I explored are Hashicorp, InfuxDB etc.
5. The one goal I have with this language is to be able to write serious projects and architect a design that is simple AF. I think there's lot of value in simplicity and I know I gravitate towards it naturally. What I lack is enough experience to build Software Systems independently or outside job like OSS. I think if I could spend some time doing independent projects, it can take me a long way.
Good luck.
Friday, April 5, 2019
One Article to understand Why a good Software Design Matters?
I cannot be more grateful for this article to be written on how to design a software system and why does it make sense to think about your design first before you go ahead with jumping on your keyboard and fill in the blanks for a quick and dirty prototype.
Cindy Sridharan Medium Article
This article talks about why a "Mental Model" of your design needs to be simple and easy-to-convey to others who are reading it.
Tuesday, March 26, 2019
Popular Linux Questions (Draft : Work in Progress)
- How do you troubleshoot a slow file copy from a remote machine
- Explain all fields in top command
- Can you copy a 2 GB file if total memory is 8 GB and is 95% utilized.
- How does Ping Work?
Thursday, March 21, 2019
Remote Procedure Call, gRPC, Protocol Buffers
Let me say to be honest "I had no idea of the impact of RPC in Distributed Systems" until I watched the UW session on Distributed Systems on Youtube. I asked myself, why is it that that RPC is a module in itself. Why every other place it is dedicated lecture. I couldn't understand it before.
But now that I understand that it is a foundation for creating a truly distributed system, I want to bring in the resources which I felt are important to learn this topic.
What benefits do you get from using Protocol Buffers over other contemporary techniques? Specially when it comes to System Design and Architecture, what leverage do I get here that I cannot find elsewhere?
First, let's learn about Why RPC?
<Fill in the details here>
Second, why Protocol Buffers?
<Fill in the details here>
Third, Implement gRPC and ProtoBuf in Python
Protocol Buffers Basic using ToDo Project
Creating a Server and Client Code using above lecture material and gRPC.
This is a good place to start understanding what is gRPC.
https://grpc.io/docs/guides/
Intro to gRPC in C# 4/19/2020
I actually liked the tutorial because it was more hands on and the others I posted before.
Here's one article that I think could handy as well : https://medium.com/@karuppiah7890/how-i-started-learning-grpc-and-made-a-grpc-client-in-nodejs-and-grpc-server-in-golang-cc7e3901ed54
But now that I understand that it is a foundation for creating a truly distributed system, I want to bring in the resources which I felt are important to learn this topic.
What benefits do you get from using Protocol Buffers over other contemporary techniques? Specially when it comes to System Design and Architecture, what leverage do I get here that I cannot find elsewhere?
First, let's learn about Why RPC?
<Fill in the details here>
Second, why Protocol Buffers?
<Fill in the details here>
Third, Implement gRPC and ProtoBuf in Python
Protocol Buffers Basic using ToDo Project
Creating a Server and Client Code using above lecture material and gRPC.
This is a good place to start understanding what is gRPC.
https://grpc.io/docs/guides/
Intro to gRPC in C# 4/19/2020
Here's one article that I think could handy as well : https://medium.com/@karuppiah7890/how-i-started-learning-grpc-and-made-a-grpc-client-in-nodejs-and-grpc-server-in-golang-cc7e3901ed54
Monday, March 18, 2019
Sunday, March 17, 2019
Friday, March 8, 2019
Wednesday, March 6, 2019
Thursday, February 21, 2019
Monday, February 11, 2019
Database Normalization - 1NF, 2NF, 3NF and 4NF
1st Normal Form
---------------
Each Cell to be Single Valued
Entries in a column are same type
Rows uniquely identified - Add unique id
2nd Normal Form
---------------
All attributes (non-key columns) depened on the key
3rd Normal Form
---------------
All Fields(Column) can be determind only by the key in the table and no other column
4th Normal Form
---------------
No Multi-Valued Dependencies
Sunday, February 10, 2019
Wednesday, February 6, 2019
Monday, February 4, 2019
Tuesday, January 29, 2019
Thursday, November 29, 2018
Not a fan of Object Oriented Design.. Me too. Welcome to the club.
This is a great video on how to design a software system.
Another one on what actually was suppose to be OOP but never happened.
Subscribe to:
Posts (Atom)
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...

-
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...
-
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 bot...
-
Plenty of Fish http://highscalability.com/plentyoffish-architecture A small calculation on storage I scribbled go like this: Each U...