Search This Blog

July 3, 2020

Should I buy refurbished laptop from Amazon?

This post is based on my experience with amazon.in and guess it to be true on all other platforms as well. At least you can check out and verify for these pointers before you make that decision to buy renewed/refurbished laptop on Amazon with your hard earned money.

I see this question propping up in several forums and on many different occasions. In the recent past, I had my 5 year old dell laptop that gave up because its motherboard failed. One of the options that I had in my mind was to re-use the HDD and the 16GB DDR4 RAM of that old laptop in the one that I purchase next as secondary. 

I had come to a conclusion that it is not worth buying a refurbished/renewed laptop at all. Why? For the following reasons, most of which I see as BIG #RedFlags:
  • You got to remember that Amazon provides a platform for 3rd party sellers to sell their products as well. So in your search for refurbished laptops you wouldn’t want to choose some random 3rd party seller who Amazon doesn’t endorse. You could only rely on Appario in India, which is Amazon’s subsidiary for selling these kind of renewed laptops. Typically they seem to be selling the products higher than that of other sellers; call it enjoying Amazon’s brand value.
  • amazon.in would state that the product comes with minimum 6 months seller warranty but what precisely is this period they wouldn’t publish. Even Amazon’s own subsidiary Appario in India, that sells renewed/refurbished laptops wouldn’t answer straight to this question but will parrot this generic answer. This is my first hand experience on this platform.

  • The price difference between new and this one in most occasions aren’t worth it, because in case of new laptops you can buy extended warranty for 2/3/5 years (depending on the brand) to insure yourself from expensive maintenance/repair costs. You don’t get this option with renewed laptops, which is a clear indication of its quality and life expectancy. Think about it, when the seller themselves don't trust their product for its life expectancy, why do you want to invest your precious little money, whatever it be on it.  
So what is the way out? Gift yourself a new one! 

ProTip : Buy new by comparing prices on varied e-commerce platforms. And don't forget checking for offers from company's site as well.

That is all I have to warn you with. Hope you make wise decision with your money. Good luck!

June 28, 2020

Workstation Laptop Versus Gaming Laptop

My Backdrop


As geeky entrepreneur I dabble on many things tech and look for opportunities to see how tech can be leveraged to solve a business problem. I got really dirty learning and hacking Machine Learning problems and dabbled a bit on Deep Learning a couple of years back. 

I always wanted to get back to learning more on the Deep Learning side of things when possible. "Deep Learning" is the key word.

I haven't played Games after my college days.

Since the time I started my consulting venture, I end-up working either full-stack or some part of it depending on my consulting gig that I end-up signing for.

So when I wanted to purchase a laptop, I ended up ordering a Gaming Laptop with Intel -7 processor and RTX 2070 GPU, based on advice of Tim Dettmers. I know very many companies that procure a Gaming Laptop for their ML/DL engineers. Also, you will see almost all ML/DL web-sites advising its readers to go for Gaming Laptops. 

I'm not used to settling down easy and in my quest to understand the world of hardware to see what marries what and solves what kind problems, I stumbled upon Workstation Laptops, and was left wondering how this is both similar to and different from Gaming Laptops. 

The section below summarizes my understanding of the key differences between the two kinds of beasts.

June 20, 2020

My Thoughts On AWS Certified Solutions Architect - Professional


Thanks to lock-down due to Covid-19 and my consequent inability to get my laptop repaired to replace the motherboard, I started to prepare for SAP-C01 on an ad-hoc basis to begin with. Heck, I got to wait even for a new customized laptop. 

A couple of days back, I took the exam online via PearsonVue and managed to clear it with a score of 840/1000. And that means I got 16% of the questions wrong which translates to 12/75 questions. Ouch, that hurts!...okay, I was just kidding, I didn't prepare with the intent of scoring 100%.

I'd like to share my experience of taking the exam just so you are better prepared to clear it.

My Thoughts About The Exam And Tips To Help You Prepare Better

  • The exam covers a wide gamut of AWS services.
  • The real exam might dominate of a few set of services and/or types of questions - call it your luck:
    • In my case, I was wondering if I was taking an Advance Networking Specialty exam, when I saw one question of the other hitting on topics in the realm of AWS Networking.
    • Most of my exam questions are relatively lengthier that those that I had got in my Associate exams. I got quite a few truly length questions with answer options being verbose as well.
  • The exam questions IMHO, tests your
    • Knowledge (running through a course and learning materials help you get it)
    • Experience (being hands-on help you gain it)
    • Alertness to key words or phrases (knowing the intent of the question. Often if not always, it is the business context like most cost effective, quickly achieve)
    • Application of both knowledge and experience (there are questions that would demand this from you to crack the right answer)
    • Ability to crack the trick
  • The exam surely is a race against time.
    • There are questions and answer options that lengthy enough to make you read to eat away your time.
    • And then there are questions that are tricky, that will make you pause, re-read to infer right, re-read to capture the determining key-words/phrases; thus killing your time.
    • I also got a question or two that tested my memory/knowledge. Doing ad-hoc preparation made me scratch my head trying to recollect what I am supposed to know for the exam.
  • Why double the time of Associates exam when the number of questions aren't doubled? In Associates exam the questions test you on one service. In Professional exam, the questions (most of them, in my experience) test on the combination of at least 2 services. Double the trouble calls for doubling the exam time and tripling your exhaustion. 
  • I don't think there is any AWS course that covers it all in good breadth and depth to the extent that you can score 100% on this exam. That is not to discourage you from purchasing any course, but to urge you to widen your horizons of learning resources.
  • Also please bear in mind to know the last updated date of the exam. This is important because you may get one/two dated exam questions / options, if you are little unlucky. Take SAP-C01 exam for instance, which was last updated in Feb 2019. In April 30 of 2019, AWS announced, "Direct Connect Support for AWS Transit Gateway". You may be updated with this knowledge that could hurt your answering right should you get a question that was based on the fact prior to this announcement; I call it times when Theory trumps Practice.  
  • Personally, I would recommend AWS Re:Invent videos on Youtube. I love it and guess you too will.
  • Enjoy your preparation even if it is somewhat haphazard like how I did. The more you enjoy during your preparation, the better it would be equip yourself during the exam. 
  • Don't take the exam without going through the mock tests, if you are like me. To me, mock tests help in getting into what I would call "The Exam Mode". When you attempt mock tests and review the answers that you got wrong, there will be several occasions making you wonder, "How did I get this thing wrong?", "OMG, I made a wrong inference from the question", "Damn, I missed the key word that determines the right option from what I chose", etc. Ideally, try to sit through 3-hours continuously during your mocks. I confess that I tried but couldn't sit through for some reason or the other. Nevertheless, it improved my mind-stamina to sit throughout the real exam.
  • Until the world discovers a way out of this Wuhan Virus aka Covid-19 pandemic, you are better of taking up this exam online from your home. Stay Home, Stay Healthy, Stay Safe!!!


Online Proctored Exam Versus Test Center

I personally prefer taking an exam from the test center than the online proctored one from home. The restrictions for later is something that you should be mindful about before opting for it. And these restrictions are typically additional to what you go through while taking the test in a test center. And these additional constraints are:
  • No pen/paper on your desk, should you want to visualize the architecture
  • Isolated room where you are the only person inside
  • Silence. Audible human voices or noisy surroundings could invite the wrath of the proctor to cancel your exam at your expense
  • You can't even have water bottle with you by rule. Your proctor may or may not object to it, though
  • You can't take a break to attend to nature's call
  • You got to remain seated and can't even stand-up from your place by policy. I guess it is that way, to have your face visible always within the recorded streaming video frames, for the proctor to trust your candidature 

Booking For Online Proctored Exam Via PearsonVue

  • If you are a non-native English speaker, don't forget to avail ESL+30 minutes accommodation by requesting for it, before you schedule your examination. This is FREE!!..
  • If you do avail, ESL+30 minutes accommodation, you can't schedule your exam online. You will have do get it done by calling PearsonVue call-center. It is a truly time-consuming process in terms of the wait time, so much so that I would call it a test of your patience.
  • If you have passed an AWS exam, don't forget to avail 50% discount benefit that you can claim from AWS Benefits section in your AWS Certification Account. You may have to share this use-once code to the call-center agent, if you are booking via PearsonVue call-center.
  • The payment is either by way of Voucher Code or by Credit/Debit Card. You will have to share the card details to the agent. Even as much as I hate it, I had no other option. Remember, you can't avail 50% AWS discount if you were to purchase the XVoucher yourself.
  • Because of Covid-19, be prepared for a ridiculously long wait time (it took me more than 4 hours from call connection to transferring the call to AWS exam team of Pearson to transferring the call to invoicing department) should you schedule for your examination by way calling the call center of PearsonVue. This delay should be understandable, given the worldwide pandemic. Keep calm! 

May 6, 2020

6 Strategies For Migrating To AWS - A Cheatsheet

Migration to cloud is no easy task. There are a lot of planning and preparation that needs to be done before the journey even begins. But this post is not about the phases of cloud migration. 

This post is about the common strategies that are adopted by the organisations to migrate applications from on-premise to cloud. This post is not a substitute to the AWS Whitepaper on this subject, but an exam cram or cheat-sheet of sorts to aid your understanding and remember it all easily. So the cheat-sheet to 6 common strategies are:

1. Re-host

 
  • Think: Lift and Shift 
  • Times when you can automate the entire migration by way of automation with AWS Server Migration Service (SMS), without much manual intervention.


2. Re-platform

 
  • Think: Lift, Tinker and Shift 
  • Times when you take the migration as an opportunity to tinker your platform for good. Typical use case is to leverage AWS Managed Services to reduce the maintenance overheads, like using AWS Relational Database Service (RDS) in cloud. The engine is same, the platform is different. This should be analogous to situations when you use the same car for driving on icy-roads or dry-roads; just that you may tinker your car tyres with snow-chains for better friction on snow-filled roads.


3. Refactor / Re-Architect

 
  • Think: Re-modelling for better
  • Times when you refactor and/or re-architect your app in a fairly big way. Typical use case is to go cloud-native leveraging Elastic Kubernetes Service (EKS) or Elastic Container Services (ECS) by re-factoring your monolithic app as a set of microservices. Enterprises might adopt this strategy even if this is an expensive approach, should they deem the benefits out-weight the costs.


4. Re-purchase

 
  • Think: Drop and Shop
  • Times when the enterprises mimic individual shopping habits, like how we simply discard our current mobile phone for the newly launched mobile phone offering promising features. Or think of how we discard our current car for a new one. Ok that might be a stretch to think of all migrations choosing this strategy. There are umpteen occasions when this is a clear winner. Think of use-cases where:
    • Companies dropped in-house and/or disparate office tools and adopt Zoho Office Suite, because they find it fairly economical SAAS offering.
    • Companies dropped in-house code-repository service and adopt Github for good.
    • Companies dropped in-house and/or disparate Continuous-Integration/Continuous-Deployment (CI/CD) ecosystem to adopting AWS CodePipeline (which can deploy apps even on instances running on-premise!)


5. Retain

 
  • Think: Revisit later! 
  • Times when you wouldn't want to taunt the beast, like when you have mainframes systems that are managed on-premise. You know it's a beast out there that requires to be handled with great focus and deliberations. After all, you don't want to be mauled, do you?



6. Retire

 
  • Think: Decommission 
  • Times when you discover legacy apps being maintained for no apparent business value add. We all have heard of this office gossip of how some office detective in sysops-team discovered an unused or hardly used app that was silently eating the server capacity. He had the audacity to put his neck out and flag this to the management. He first got reprimanded and only later was thanked and congratulated...oh, focusing on that poor application, its now decommissioned!

May 4, 2020

Pre-Warming AWS Lambda Functions



Do you know that if your Lambda function is not invoked for a while and then invoked later, it may not be as responsive as you would wish it be?

And that is because if a Lambda function is not used for a long time (which is subjective to AWS systems as it deems right perhaps based on the demand against available capacity), AWS would re-cycle the container hosting the Lambda function. Subsequent to that for any new requests to this lambda function, AWS needs to deploy the container hosting it for the lambda function execution to happen. This overhead time of launching the container will make your new requests look a little unresponsive.

This can potentially be an issue that might surprise your team and business alike when you least expect it. To avoid such unpleasant and unwanted surprises, you can keep the container active discouraging it to be recycled by AWS infrastructure systems. AWS calls this technique as pre-warming the lambda function.

But what is the best way to put this technique in practice? In order to pre-warm the lamnda function, the best way is to call it using a schedule.

"If schedule, then AWS CloudWatch". Did your mind ring that?

AWS implements scheduling as an event source type (aka triggers) via CloudWatch Events. You can now invoke a Lambda function on a regular, scheduled basis. You can specify a fixed rate (number of minutes, hours, or days between invocations) or you can specify a Cron-like expression. In our case, we can configure a CloudWatch Event rule and select the lambda function as its target. The event is executed every minute to warm up the function so that the function stays active.

You can define this trigger:
  1. for a new lambda function at the time of defining it from Lambda Console like below:



  2. for an existing lambda function that is already deployed from Lambda Console like below:

  3. for an existing lambda function that is already deployed from CloudWatch Management Console like below:
Hope that helps!