Skip to main content


ICICI Prudential Website Turns Down Its Customers

Go to ICICI Prudential website and click Track Application  link in the top navigation pane as you see in the image above. You will see that the website takes you nowhere. You'll wonder if the click didn't go through right and you'll try again only to see that the website has no intention of allowing you to track the status of your application. Don't know if this is by design or an accident. But based on my experience with them so far it looks like the former. What they are demonstrating is how much they care for their customers? In days where companies compete to reduce number of clicks to improve customer experience (CX) or user experience (UX), this company misses even the basic sanity check, showing the exit door to its potential customers. Lesson: Count your customers not money. Let money be the byproduct of winning customers' heart. Do pay attention to your product's User/Customer Experience.

Deals You Can't Miss

1 Year Subscription
Recent posts

14 Reasons for Sadness According to Mahabharata

After the Kuru war, in the moment of a victory that has come at a great cost, Yudhishthira goes to meet Bhishma, who is in his dying breaths. Yudhisthira’s inquisitive dialogue with Bhishma, which takes place here, spans Shanti and Anushasana parvans of the Mahabharata.  In this dialogue, Yudhishthira asks Bhishma, "Why does one feel sorrow? why does one feel pain?" Bhishma’s answer is comprehensive, it nearly spans 18 shlokas. The reasons he enlists are both intrinsic and extrinsic in nature.  Note:  In this conversation, the one who asks the question, Yudhishthira, has suffered immense anguish through ignominy to the victory. The one who answers is Bhishma, who has lived a life full of difficult choices, and who even in his last moments experiences a prolonged agony. Despite of worldly comforts, when one is in a foreign land, away from home and away from the loved ones, one feels a gnawing loneliness. That makes them long and yearn. (In Welsh language, there is a beautiful

Microsoft Teams Quiz : Can You Be Both Available And Away At The Same Time?

  Oh boy Microsoft, how can a person be both A vailable  and A way  at the same time? Are you building Teams to be a philosophical product??

Search and list files having text with Powershell script

Powershell scripting is pretty powerful tool that is unfortunately under-utilized by many Windows users in their day-to-day work life. This post is focused on one such scenario of searching files based on search text. Case 1: When you want to list files containing text "abc". Case 2: When you want to list files containing any of texts "abc" OR "pqr" OR "xyz". Case 3: When you want to list files containing all of texts "abc" AND "pqr" AND "xyz". Hope it comes handy in your next file hunt..

Fix for issue in deleting messages by Owner in Microsoft Teams

The Issue We recently adopted Microsoft Teams as platform for Team Collaboration. As part of adoption there are various experiments that we do like trying out different third-party apps for productivity. In so doing these apps posts messages that might be noise for others and I wanted to delete these messages post uninstalling these apps. But alas, I couldn't delete the messages even though I'm wear the owner role (the other possible role being member ) of the channel. The Cause Microsoft Teams by default disables this functionality, perhaps to preserve data integrity.  As Administrator of Microsoft Teams however, you can change this default setting The Solution Step 1: Go to Microsoft Teams Admin Center and login as Admin for Teams. Step 2: Go to Messaging Policies , and click Add button to create a new policy (you may call it Power-Owner, if you will) where you can turn on the option - "Owners can delete sent messages". See below snapshot for reference: Step 3: A

Avoid logging "Apache/2.4.48 (Ubuntu) (internal dummy connection)"

Apache 2.x keeps child processes alive by creating internal connections which appear in the log files as “internal dummy connection” on the IP address ::1 or  If you ever monitor Apache log files you’ll see a lot of these in the log files. How to prevent logging for these two IP addresses so your log files won't get filled up with these?  Make the following change to your /etc/apache2/apache2.conf file to add CustomLog directive as below: After this change restart your apache2 server with command in terminal like :  sudo systemctl status apache2

Apache 2 Webserver Throttling with mod_evasive Module

After installing mod_evasive , you can verify whether the mod_evasive module is enabled by running the following command: The default configuration file of mod_evasive is located at /etc/apache2/mods-enabled/evasive.conf , which you will need to configure per your requirements. Below is minimal workable configuration:  DOSHashTableSize: mod_evasive uses this option to control the hash table size. It is recommended to increase this if you have a busy web server. DOSPageCount: This option specifies the threshold limit for the number of requests allowed to the same URI per second. Once the threshold limit has been exceeded, the client’s IP address will be blacklisted. DOSSiteCount: This option specifies the limit on the total number of requests allowed to the same IP address. DOSPageInterval: This option specifies the page count interval. DOSSiteInterval: This option specifies the site count interval. DOSBlockingPeriod: This option defines the amount of time in seconds that a c

Blacklisting IP Addresses in Apache 2 Web Server

Operating System : Ubuntu Web Server : Apache 2.4.48 Objective : Blacklist IP Addresses to block it accessing the web application Steps To Finish Line:   Step 1: Enable rewrite apache module by executing ` a2enmod rewrite ` in your bash terminal. Read a2enmod command as " A pache 2 En able Mod ule". Its complementary command to disable an apache module is a2dismod . Putting it here, just in case you want to rollback your changes for whatever reason it be. Step 2:  Edit the Apache configuration file for the default website by executing ` vi /etc/apache2/sites-enabled/000-default.conf ` in your bash terminal to add the lines below: so that the configuration file looks like below: Step 3:  Now create a file to hold black listed IP Addresses by executing command ` vi /etc/apache2/blacklist ` in your bash terminal and add your IP Addresses to be black listed like below in the file opened for editing in the previous step: Step 4:  You may have to change the blackli

Configuring Google Ops Agent for Monitoring Apache 2 Web Server in Ubuntu VM

Google Cloud released Ops Agent as GA in Jan 2021. The Ops Agent collects logs and metrics on Compute Engine instances, sending your logs to Cloud Logging and your metrics to Cloud Monitoring. I performed the following steps to get this working in the Ubuntu VM in my Google Cloud account. Step 1 :  Install the latest version of the agent per the docs .  Step 2 : Create and edit ` /etc/google-cloud-ops-agent/config.yaml ` which is a user-specified configuration that will over-ride built-in configuration for same keys and merge with built-in configuration for different keys. This config file should have the content below: Step 3 : Restart the agent for the custom configuration to above to take effect. You can restart the agent by executing ` sudo service google-cloud-ops-agent restart ` in your bash terminal. You can list the available versions of the agent with ` sudo apt-cache madison google-cloud-ops-agent `. Step 4 :  To ensure that the agent is ingesting the custom log path,

NOLOCK in SQL Server ain't your friend

If you are in a team that is obsessed with NOLOCK hints to your SQL queries, because you think it is faster and an all weather reliable friend, this post is for you to help you understand why you should avoid it (almost always) for it is not your friend.  NOLOCK in SQL Server is often abused as if it is the magical way to speed up read queries. It is unfortunate that teams forget that "there is NO Free Lunch". Every action is trading off one thing for the other and so when you take an action, be aware of what you are trading to give to get something. The Exceptional Circumstances You Can Use NOLOCK When you are querying live DB for some Reporting, where some bad data doesn't alter the overall aggregate numbers that you compute. When you are using WITH (NOLOCK) for SELECT query in reporting database where data are already written and committed. When you are querying a live production DB to take a peak into it and not use the result as a source of truth, knowing that it mig

Book Review : Hands-on Azure Boards: Configuring and Customizing Process Workflows in Azure DevOps Services

Book Title:  Hands-on Azure Boards: Configuring and Customizing Process Workflows in Azure DevOps Services Author:  Chaminda Chandrasekara Publisher: Apress My Ratings : 4/5 My Review:  First off, this book is not your guide to learn the WHYs in Azure Boards. You are expected to have experience in Agile Project/Program management to know the WHYs on the Agile ceremonies or that you got to grab another book for this. When you have the experience and knowledge on the Agile ceremonies and are looking to adopt Azure Boards for your teams like I had to in my team but don't know where to look at, this book should come to your rescue. It demonstrates it hands-on with screenshots of the GUI and is well organized into relevant topics, that makes you productive with Azure Boards. It served me well and I have recommended it to my team managers and so would to any manager wanting to adopt Azure Board for your project/product management. Go get your copy and get productive :) Note: The same is

Book Review : Elasticsearch 7 Quick Start Guide

The author lived up to the expectations of the book title, especially the book serving as "Quick Start Guide" and I am thankful to it. In days of chaotic full-stack development and technology changes, you need a go to book for quick refresher on topics. This book serves that purpose and in fact has gone beyond in the sense that that author also shares some of the best practices based on his experience which are both valid and unfortunately no practices in many implementations. If your team is using Elasticsearch, I would recommend you have at least a copy of this book as team's go to reference manual. If you have O'Reilly's Safari Online subscription like I do, you can check it out there . Check out my review of this book in GoodReads .

Go - Strengths, Weaknesses and Threats

This post is web-developer's point of view on the strengths, weaknesses and threats of employing Go as a programming language having used (and continuing to use) programming languages like Java, C-Sharp, Ruby, Python, Javascript etc. The Strengths Fairly straightforward and simpler to learn and be productive.  Less features implies less things to worry about -- no OOP and thus no classes, objects, inheritance, polymorphism and associated complexities. Errors as return values instead of thrown exceptions. Now this is a different way to see an error/exception. The world is circling back to Statically typed languages and Go is statically typed.  Programming concurrency is simplified with Goroutines. Arguably consumes lesser resources (Memory, CPU, etc.) than other programming languages.  Has the goodness of JVM/Dotnet world's Garbage Collection freeing the program

My thoughts on hiring and retention

A question to motivate :  Which of the below candidate do you prefer?  A candidate who stayed in a company for good deal of years but has left it leaving a gaping hole in the knowledge.  A candidate who made it a point to share his/her knowledge by way of brilliant documentation making him/her irrelevant to the company before leaving. If your choice is option 1, then I would love to learn your though process around that decision of yours and what is your take on mine that I have put forth in this blog post. If your choice is option 2, I am go glad about your choice and would ask what did you do to ensure that your company as well embraces it in its hiring process. How I approach the hiring side of things?   One of the key things I do working with the Talent Acquisition team is to set the basic value system is set right and that we are all aligned to it, so that we can spot the right candidates that others miss. Having said that, I admit this is not an easy thing to do. One thing that w

10 Benefits of Remote Working

I have good enough experience in both working from office and home. But when everyone works from home as a habit or culture there are some unique benefits to it. This post lists advantages when the office in entirety works from home. Home food over junk food Better work-life balance Lesser office gossip opportunities Lesser scope for office politics Lesser scope for blame game Everyone is forced to communicate better Gaps in current system show up and the team is forced to address it Remote work is pocket friendly Escape from city traffic Ones attitude towards their team, their work and their company stand out distinctly How has it been for you since the start of Covid-19?

12 Tips To Interviewing For Identifying Good Talent

Photo by Steve Halama on Unsplash Interviewing is a job that requires preparation and coordination among various stakeholders. Unfortunately, though in many places that I have been to as part of my Consulting gigs, I have witnessed first-hand on the very many things that go wrong in the preparation and conduct of interviews. In this post, we shall focus on the things to do before, during and after the conduct of an interview to aid better decision making in identifying talent. Prepare. Know what you want. Do know the expectations of the role you are hiring for. Prepare Again. A candidate's CV is a window to his world. Fish for things you want from the CV against the job expectation. You may or may not have clarity at this point in time. But you mind keeps working behind the scenes, and this is important. Prepare Yet Again. Unless you are a recruiter yourself, you wouldn't be the first person to interview th

Course Review : Coding for A/B testing: Run more AB tests, find more winners

  Course : Coding for A/B testing: Run more AB tests, find more winners by Ruben De Boer Source : Udemy   My Rating : 3/5 My Review :  First half is pure basics on HTML, CSS and Javascript, which is not the subject of this course title. The real subject of the course is in the 2nd half and it run's through examples fast, without any introduction of the AB Testing tool. I would recommend the course be re-structured to explain AB Testing taking 1 or 2 tools as an example. It would be much better that way. P.S: I took this course on the Udemy business account and have shared this feedback in there as well.

Ten Commandments of Egoless Programming

We are nothing but the values we carry. All through my life thus far, I tried to influence people around me with the virtues I value. Thanks to some good reading habits I had inculcated, and the fortune of being in good community of peers and mentors alike, I managed to have read some real good books. This post is about the 10 commands of egoless programming in Weinberg's book. I shall explain the commandments based on my experience here. So very many decades ago, Gerald M. Weinberg authored  The Psychology of Computer Programming . In it, he listed The Ten Commandments of  Egoless Programming , which remains relevant even today for us as not just programmers but as team-members. Weinberg is regarded as a pioneer in taking a people-centric approach to computing, and his work endures as a good guide to intelligence, skill, teamwork, and problem-solving power of a developer. When they appear to inspire and instruct, we find that they can apply to just about every business area, and e

Tensegrity In Microservices Architecture

Tensegrity or Tensional Integrity is also known in layman words as Floating Compression . In engineering field, it is the science of building a structure of isolated "compressed components" like bars that connected by "pre-stressed tensioned loose components" like cables or tendons. Any disturbance to a component in the assembly not just alters but brings down the entire structure. Below is a picture of one such engineering model. Take a deep breadth and try to identify the connectors that help maintain the beautiful engineering model that you are witnessing. Think of a table engineered by applying Tensegrity principles, like the one above. You may love looking at those crafty products but when it comes to buying it for your daily use, you think of  durability, don't you? Tensegrity in software product/services is taboo, for it is not a deliberate engineering but a result of neglect or poor engineering. It's manifestation crops up so often in today's b

Book Review: Red Yellow Green: What Color is Your Money?

What color is your money? by Noah Gift @ Lean Pub The book titled, "Red Yellow Green: What Color is Your Money? The survival manual for gig workers and consultants" by Noah Gift is a good and engaging read. I personally have experienced and was diligent enough to escape many a potential predators. Actually, I have come across those predators that are super sweet in talk, popular (don't know if this is a paid for PR thing that is so common these days) for his other works than what he is doing (for example if he is a founder of a tech consulting company, he would have been popular in authoring a book or two), etc. Consulting is definitely a high-risk, high-reward endeavor. It is the same with doing a co-founding venture in a start-up. I would say this is THE MOST  IMPORTANT thing to watch out for during the course of your engagement. The author is in fact polite but firm in pointing this one out, which is my favorite of all. I wis

My Experience With Expo For React Native

Note: I'm assuming Managed Workflow with Expo to leverage the max out of their services. Expo : The Good + Great for boot-strapping react-native development for cross-platform mobile app development. + Possibly a good choice for PoCs to quickly showcase a concept. + We get to see the console logs of app in Expo's browser or terminal. This one is a big plus! + The documentation is good but could be better. + Expo's snack is the code playground in the web browser that will come handy when you want to try out its components from the web-browser and see how it appears in android/ios/browser, before you use it in your project.  + Leverage Expo platform for sharing the app in development to Business to get their feedback and adopt accordingly. Agile isn't it? Expo : The Bad - Limited choice of reusable React Components that has dependency on native components. Expo is getting better by the day in this, though! - Their free build service is time consum