Buy @ Amazon

Search This Blog

April 24, 2020

Making the best use of Pluralsight's Free April subscription

Pluralsight motivating people to skillup during Covid19 pandemic.
At a time when the busy world became near stand-still and extremely stressed on every count, when Covid19 clouded the lives to darkness, there arose a leader from that very darkness announcing its decision to offer all of its 7000+ courses for FREE in the month of April 2020, motivating a lot of people to Stay Home and Skill Up (and flatten the Covid19 curve). By the way, that is Pluralsight for you!!..
Thank you Pluralsight, I'm one of your millions/billions of beneficiaries.
With that note of thanks to Pluralsight, I'd like to share how I motivated myself and benefited from it, so that you too can. It never is too late, given that you have a week more left.

Paths, Channels and Bookmarks

Pluralsight has a nice way of chartering Paths with 3 distinct levels - Beginner, Intermediate and Advanced. I explored this and gazed this for a while leaving me with a choice list of many paths that I wanted to explore :(

I then went on to search courses by my topics of interest like AWS, ReactJS, ES6 etc wanting to refresh my knowledge. This led to adding select courses from search results to my newly created Channel by name Favourites. While I could create a channel topic wise, I added them all to single channel that could act as my TODO list.

But even as I was doing this, I slipped onto Bookmark-ing courses of interest. After a couple of days, I realised I have two TODO lists with lots of courses in it. And that is so discouraging, damn it!

And Skill IQs caught my attention...

Start with Skill IQs

I kick-started to action with Skill IQ tests. These tests are good and post tests it shows your skill gaps with related courses. These related courses should prod you to learn give those a shot, at least it did that for me :)
Skill IQ's Assessment Details

You just feel young and refreshed taking one test after another irrespective of the score, for one, the tests are not too lengthy and exhaustive. They contain approximately 20 multiple choice questions. See below some of my Skill IQs:
Skill IQs

I wish I had spent much more time with it..and I hope to make better use of it in this last week. You too can benefit from Pluralsight, after all April isn't over yet and it's never too late until this month ends :)

Now that is how I got motivated to stay home and stay skilled up. Your mileage may vary. But that shouldn't stop you to try right?

Note: I have not been an employee of Pluralsight nor was associated with its business in any rights so far. I'm just an accidental user by virtue of their #FreeApril advertisement. So if you haven't tried this platform yet, I think you should today, for you have not a penny to loose from it... what say?

Got your story to share and motivate? Do share it here to help me learn from you. Thanks in advance!

April 23, 2020

Advice for Startups adopting AWS Cloud : Part 1

Image Credits:

Are you a startup? Got a lean and mean team of developers wanting to deploy your apps in AWS Cloud? Are you cost conscious?

Unless you are a sysops yourself and that you are at home with AWS cloud, don't use IaaS of AWS; instead use PaaS of AWS.

And that means don't try to deploy your apps on EC2 by setting up your own VPC and configuring a whole suite of things. Instead make use of AWS BeanStalk. And there again, make sure you don't tie your RDS with your environment life-cycle, when it comes to production environment.

Overlook this advice, and your startup could end-up in the list of those that died before they were launched. This advice holds good if you don't have an exclusive #SysOpsAdmin for #Cloud. If you cut your costs here, you will end up burning your back to say the least.

A tad bit more details:

If application development is one kind of a beast, managing infrastructure is altogether another kind. I have come across many founders that under-estimate tech challenges calling it as not being a rocket-science in spite of going through mounting challenges blaming it on the dev-team. Little do they know that the developer-ego is bigger than that of a founder-ego, and so (s)he will call the infrastructure management an easy-peasy thing. The catastrophic effect of this is that the team ends up embracing cloud as IaaS provider. Without knowing the contemporary better-practices, they end up leaving gaping holes in the system to be exploited by a hacker and thus receiving a shocking monthly bill from AWS. There is no point blaming AWS as being pricey hiding your idiocy.

So here is my first-principle that should be yours as well when it comes to making technology decisions: Your choice of technology (be it the platform, the programming language, the architecture, the tools or even the framework) should be a reflection of your team's strength.

Let me say it louder again,
Your choice of technology should be a reflection of your team's strength.
So a recipe that comes out of that first-principle in this situation would be:
If you got a SysAdmin embrace Iaas, else be wise enough to embrace PaaS.
Further motivation for your prosperity: With IaaS, you end up managing 5 ever-evolving parts. With PaaS you will end up managing just 2 ever-evolving parts. For the moving parts, see the article banner picture.

April 2, 2020

3 Ways To Initialize State In React

First things first, this blog post is an extension of the demo project that showcases the 3 ways to initialize state in React Component. This project source code is open-sourced in Github (karthiks/simple-counter-react-demo) for your reference and toying with it.

The 3 ways are:
  1. Class Component that uses constructor to initialise state.
  2. Class Component that uses static/class property to initialise state.
  3. Functional Component (aka Function) that uses React Hook viz. useState to initialise state.
The evolution has been in that order as shown above. With the advent of ES6, react leveraged constructor to initialise component state. This one unified the practices by various teams. However this method has a constraint that the constructor's first statement should be "super(props);", failing which things might not work as expected. To err is human and developers missed this line occassionaly resulting in painful debugging.

But a developer is smart. With the advent of ESLint this issue was resolved. That said, Babel users start to leverage static/class property feature available in Babel, for it is concise and looks cleaner. Note this class property isn't a feature of Javascript as yet and so would result in constructor being generated for you by Babel.

In the mean time, React introduced easier way to define stateless components with just functions. These are called Stateless / Functional Components. And with time React also introduced React Hooks. One of the hooks were useState that hooks state into a component. With the advent of this, the community started to leverage this one over the above methods.

Your mileage and preference may vary. This project is aimed to help you decide the flavor you prefer and start adopting.