Sunday, February 21, 2021

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 had many productive week.. and I think it was natural for me that I would take one week doing nothing. 


I came across Mayuko video on this exact topic and I think it resonate with me really well. I am not a machine. I am a creative person and I don't need to be productive all day everyday.



Sunday, October 18, 2020

AWS SQS, SNS, API Gateway

AWS is an ocean and it is ever changing.  

Nothing is more confusing that two service which does similar jobs and you still need to know for sure what exactly do each one do.

This is my simple effort to show case that.



THIS IS THE FIRST TIME I EVER MADE ANYTHING LIKE THIS. SO PLEASE BE KIND :P

Let me know what you think of this video.


Other Youtube Videos that helped me.





Thursday, July 9, 2020

When you feel down.. remember..

Like you, there are days I am happy.. there are days I am angry... there are days when I am sad. I want to recognize these emotions as completely natural for us tribe. You think Engineers are logical, smart and factuals but we are also flaws, we also have insecurities and yearn for love.

This post will be mostly around "emotional-log".


You are not alone in your struggle. But you know that it is worth fighting for it when you see others overcoming much bigger struggle than what you have been complaining about.



Monday, May 18, 2020

Psychological Safety in the Workplace

I am going through a salesforce trailhead titled "High-Impact Teaming at Salesforce". While going through this online training, I came across a word called "Psychological Safety".

It explains what does it mean and only when we promotes Psychological Safety, do we get high performing team.

I want to talk more about it but for now, I want to bookmark some resources I have come across in this regard for later reading.

Podcast by Amy Edmondson
https://hbr.org/podcast/2019/01/creating-psychological-safety-in-the-workplace

Ted Talk : Building a psychologically safe workplace | Amy Edmondson

What is interpersonal risk? By Amy Edmondson.


Book : The Fearless Organization: Creating Psychological Safety in the Workplace for Learning, Innovation, and Growth By Amy Edmondson.


The power of vulnerability | Brené Brown


Dare to Lead: Brave Work. Tough Conversations. Whole Hearts By Brene Brown

https://hbr.org/2017/08/high-performing-teams-need-psychological-safety-heres-how-to-create-it

https://www.vitalsmarts.com/press/2016/12/costly-conversations-why-the-way-employees-communicate-will-make-or-break-your-bottom-line/

Monday, April 20, 2020

The pleasure trap: Douglas Lisle at TEDxFremont




How's that relevant for Software Developer? Well.. if you have emotions and are driven by emotions.. well.. you need to understand your emotional being to be able to do well in career as well.

Sunday, March 8, 2020

Async



GOTO 2019 • Not Just Events: Developing Asynchronous Microservices • Chris Richardson

Packaging Python Projects For Customers

I have always been fascinated by how can I create a software package and share it with the world. I have used so many open source tools in my life that I really wish I can give back in some ways. To make that happen, there's a important step I need to learn first. How to deploy a package to a repository for others to consume.

I stumbled upon this article on PyPI and loved it.
https://packaging.python.org/tutorials/packaging-projects/

My test package is hosted here. It's just a blank demo project but gets goal of this learning done.
https://test.pypi.org/project/test-python-package-amitkc/

Many more to conquer.

Saturday, March 7, 2020

Lets talk CI/CD



GOTO 2019 • Modern Continuous Delivery • Ken Mugrage


Large-Scale Continuous Delivery at Netflix and Waze Using Spinnaker (Cloud Next '18)

Sunday, March 1, 2020

SSL/TLS Protocol


First TLS is just upgraded version of SSL after SSL failed to fully contain the shortcomings of its looseends. TLS came in to resume, made improvements over top of SSL and has been now go-to technique for digital communication over internet.

Here are the few resources I found useful:-




You know you are lucky if you can find a good MIT OCW video on this topic. This is a great discussion on the topic.


So based on all the resources I have come to following understandings:-

The Root CA (certificate authority) when acknowledged by your browser is the first line of https communication. If your certificate issuer is not root CA, then you traverse through this intermediate chain of issuers (can be called ca-chain certificate or intermediate certificate) until it reached the trusted root-ca.cert.

Then, once the browser establishes the trust of your root-ca, it does a series of handshake which is done using public key of the server and client over http. After the initial handshake, a mutual secret key is agreed upon by server and client to encrypt and decrypt the message.

Also forgot to mention that the client proposes the list of encryption it supports and server selects the most recent one from top to bottom. Top most being most secure. RSA is one of the encryption mechanism.





Where does it fit with TCP/IP OSI Layer.




From the OCW lecture one thing to note is, Kerberos was the first protocol to solve client-server secure communication but it lacked in many areas like scalability, single-point-of-failure, slowness etc that it was not right tool for current internet systems.

This seems like a great website to learn about openssl.
https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs

Also liked this website on understanding of intermediate certs.
https://support.dnsimple.com/articles/what-is-ssl-certificate-chain/

===

Here's two part series on How does Digital certificate and chain of trust work?














Tuesday, December 24, 2019

SOLID Principles is not a rule but just some recommendations.

If you are like who wish to go deep into understanding every little bit of thing you read about, it can be very un-smartly in today's high-speed agile lingo.

You learn what you need, get the job done and then move on to next. You sure do pick up some skills but you don't get to be "expert" in any of that matter. Isn't that interesting? I always aspired for getting deeper understanding of technical topics and would go out of the way in reading books & articles one after the other like in some inception-mode hoping to get the detailed view of the topic in hand and before I am back to start, I would either be fully satisfied or confused. Later happened mostly with this exercise.

Anyways, to bring the point home, I was never sure about how SOLID principles align with reality. I always thought that if you don't do SOLID, you are a rookie. I thought the pros have got it on their fingertips. But I never understood what does a true SOLID code looks like. I kept looking for it and I thought that everyone else except me understood it and there's this unspoken rule of the trade that no-one has to speak it out-loud because it is such a common knowledge.

So my journey kept going looking for the right answer. Well I am not sure if I can say that I have finally found something that lights up the darkness for me, Here's a youtube video:-


Here's the summary of the talk:-



The other slide I really liked is :-



One of the point she mentions is not to pursue SOLID as a goal but as a set of guidelines to make your code easy to maintain in the future.

I feel much more relaxed about this religious practice in Software Engineering and makes my head hurt less. Apart from keeping so many other details tightly contained in my head (for which I really doubt I have similar capacity as an average man). I remember logic and concepts much better than details. I have struggled with it throughout my life as long as middle school without really understanding that this is how I am wired to think. In some way it is a blessing. I tend to focus on important things in life and forget about miseries as fast as you forget my name when introduced in a party :).

Good luck to you in your struggles towards becoming a better software engineer. I don't think Software Engineer is for few. I think anyone who wants to get bit more involved in how he/she interacts with technology can become a software engineer because this one one field of career which is only going to grow for the next 50 years at least. I think on 51st, AI will be doing our job and will be simply be monitoring AI machines and getting paid for our ideas.

















Wednesday, July 17, 2019

Popular Blogs and Post on Distributed Systems

Tuesday, July 16, 2019

Perfection is the Enemy of the Good.

I have struggled with this idea of Perfection many times in my life and even now when I am writing it. The change today is that I know I am not right about this obsession and I know one needs to have a balance to go through this life with a smile and satisfaction.

To that I say, let's priortize progress over perfection. Let's prioritize iteration. Let's not wait for the RIGHT answer for life is no binary. It is a unreal number where a value of Pi can be 3.14 or 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280 34825 34211 7067 
and even that is not perfect. If you gonna wait for the perfect, you pay with progress.
















Image result for perfection is a mirage

Related image


Image result for perfection is a mirage

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...