RSSAmplifier

Blog

Sridhar Raj Sampath Kumar

Home for Sridhar's thoughts, book notes, code on the Internet.

sridhar.coRSS feed ↗63 posts

Latest posts

Year 2025 in review

A Year in Review should be a reflection of the decisions we’ve taken, not about the outcomes that materialised. In this post, I'll try to remind my future self of what I did, but unlike previous years, there's a lot less public work (side projects, blog posts), a lot less book reading and generally, I think, a lot less. Work 2025 has been work, work and work alone. At work, to collaborate with…

Range by David Epstein

There are two types of domains for building your careers. Kind domains Wicked domains Kind domain Wicked domain “Kind” learning environments are domains in which instinctive pattern recognition is rewarded. “Wicked” domains have complex, unclear or incomplete rules, patterns may not be recognizable Feedback cycle is faster aiding the learning process feedback is often delayed, inaccurate, or both.…

Year 2024 in review

The easiest way for scaling is to double down on what's already working. That's exactly what I did in 2024. I extended my weekly work strategy to health and finance. Work Building on last year's foundation for my weekly system, I consolidated all my bookmarks from external services like Twitter and Mastodon into Pinboard. Additionally, I set up an RSS reader to manage individual blogs. I've been…

Impact Players by Liz Wiseman

There are three types of contributors. Impact contributors : deliver high-value, impactful work. Typical contributors : talented individuals who confine themselves within defined tasks. Under contributors : talented individuals perform below their potential. Being an impact player isn't about special talent; it's about adopting a differential mindset to thrive in ambiguous, dynamic environments.…

The Intelligent Investor by Benjamin Graham

To be a successful investor, you need two things. A framework for making investment decisions. An ability to keep your emotions in check. If you want to pick stocks for the intellectual challenge, then Graham's investing framework can significantly help. If your investment horizon is at least 25 or 30 years—there is only one sensible approach: Invest in a diversified low-cost index fund every…

The Daily Dad by Ryan Holiday

Parenting is a topic that every philosophy and religious tradition has spoken about. Teach by Example First say to yourself what you would be; and then do what you have to do. - Epictetus I think of myself as a philosopher only in the sense of being able to set an example - Friedrich Nietzsche Don't worry that children never listen to you; worry that they are always watching you - Robert fulghum…

Year 2023 in review

Usually, when the year ends, I take stock of things we did on the foundation pillars(work, health, and family) write a summary in my private journal and share the public ones. Going by the entries, 2023 seems to be the year of milestones for us. This is going to be my 9th year in review. I've been journaling for the past 9 years. The domain sridhar.co is 10 years old. Work The learning system that…

Rich Dad and Poor Dad by Robert Kiyosaki

The main reason the rich get richer and the poor get poorer is because the subject of money is taught at home, not in school . School focus on academic and professional skills rather than financial skills. You have to understand three things to be rich. Job mindset. Taxes. Financial literacy. Job mindset The regular recipe of getting up every day, going to work, paying bills, and investing some…

Year 2022 in review

As the year winds down, it is an opportunity to reflect on how we have fared on our life's foundation pillars(work, health, and family). Work The most significant change I made this year is I started going office. Since the office environment has an ingrained work context, I quickly get into productive mode. Commuting to and fro from the office served as a signal to my brain to warm up and wind…

How to generate a custom RSS feed from scratch programmatically

RSS is an XML feed, so to generate a valid RSS programmatically, you need to understand the RSS 2.0 Specification . Lets first see how a RSS XML is structured. The XML consists of two set of sections. Channel - <channel></channel> Item - <item></item> Channel The purpose of Channel element is to define the overall website information. so, the following elements are required. title - Title of your…

Building a Second Brain by Tiago Forte

A Second brain essentially means developing your own digital note-taking system that helps you achieve your purpose. Calendar app - an extension of your brain's ability to remember events. Smartphone - is an extension of your ability to communicate. Cloud storage - an extension of your brain's memory. Similarly, a Note taking system is to extend your brain's ability to retain and process…

PinQL roadmap

Why I've about 6873 unread links in Pinboard. This is by design, because of my workflow. One way to improve your reading habits is to have a HEALTHY BACKLOG of all YOUR links in one place before you want to read them. Links from email newsletters, tweets, WhatsApp, and telegram all in one place. Though the pin tweet was effective in auto-tagging the new links, the old links remain untagged.…

What The Heck Do I Do With My Life by Ravi Venkatesan

During the 20th century, education was the enabler for uplifting people from poverty. But in the 21st century, it is going to be meta-skills. A meta-skill are higher-order, general skills that enable you to develop new skills. Though there are many, the book deals with the following three in detail. Learning agility Entrepreneurial mindset Leadership skills You would need them to thrive in the age…

Year 2021 in review

Each passing year teaches us something. I think, 2021 will be the year we as a family learned resilience. We've made good progress on the foundation pillars(work, health, and family) of our life. Work 2021 officially marks a decade since I took up Software Development as a profession. Though I have been programming since high school, I'm still enjoy it. Programming languages I use might have…

Year 2020 in review

2020 was one of the most challenging yet memorable year of our life. Challenging because we were dealing with lockdown stress, being productive at work, organizing my brother's marriage, all amidst pandemic. Memorable because we were spending more time together with Dhruvan. Professional Books I've read the following 8 books as a part of the Goodreads 2020 challenge . When Breath Becomes Air by…

pin-tweet, version 1.1 with auto tagging

One way to improve your reading habits is to have a HEALTHY BACKLOG of all YOUR links in one place before you want to read them. Links from email newsletters, tweets, WhatsApp, and telegram all in one place. Pinboard browser extensions can help on desktop but it was painful to move tweets to pinboard when using Twitter on the mobile browser. I wrote pin-tweet , a node utility script to solve it.…

When Breath Becomes Air by Paul Kalanithi

What do you do when death, a metabolism cessation that you've been trained to handle as a physician in your everyday routine, pays a personal visit? When you came too close to realizing your potential, yet your future no longer exists? When your own life is fading away, you contemplate having a child? How do you live a meaningful life facing your mortality? These were the questions Paul Kalanithi,…

How to fix /Users/WebStormWebStorm.app does not exist in Mac

I use Jetbrain's Toolbox to manage my Webstorm, AndroidStudio installations. Recently, when launching webstorm from terminal, I ran into The file /Users/sridharrajs/Library/Application Support/JetBrains/Toolbox/apps/WebStorm/ch-0/201.7223.93/WebStorm.app does not exist. I started to see this error after updating WebStorm via Toolbox. To fix this, we need to correct the RUN_PATH 1.Find your…

Atomic Habits by James Clear

What is a habit? A habit is a behavior or routine that you do to solve life's problem spending the least effort. Why do habit matters? Habits matter because they can change lives . If you've the habit of learning a new thing in your field every day, you can build a vast knowledge. If you've the habit of being considerate in all your interactions, you can build a strong network. If you've the habit…

Fullstack React: The Complete Guide to ReactJS and Friends by Anthony Accomazzo

React is a JavaScript library for building user interfaces. To understand react, we need to understand two things. How react renders components How data flows How does React work Everything that you build with React builds is a react component. These react components are essentially a JavaScript objects. React takes these JavaScript object and constructs a tree representing the actual DOM. This…

Year 2019 in review

2019 was an incredible year for me both personally and professionally. I gained a lot of clarity around my life's priorities. Professional Books I read just enough books to complete the Goodreads 2019 challenge . Following were the books that I read. Siddhartha by Hermann Hesse Vetri Vendumenil by Balakumaran Refactoring UI by Adam Wathan The Art of War by Sun Tzu Deep Work: Rules for Focused…

Announcing pin-tweet, a node utility to move your liked tweets to Pinboard

I am open sourcing pin-tweet , a utility program written in nodejs that moves your liked tweet to Pinboard. Why I am a power use of Twitter and relay on it for to getting to know things. When I see something interesting to read on twitter, I’ve couple of options to come back to it later. Use Twitter offered bookmarking feature to bookmark it. Auth Pinboard for my twitter access to mirror my liked…

Sell by Subroto Bagchi

First and foremost thing that you need to understand is, Selling is no longer professional in and of itself. If you need other people to buy your idea (product or vision)you need to know how to sell. Hustling or be being intrusive doesn't work because at the end of the day people are people. You need to be empathetic with a clear end goal to get buy ins. you need to figure out who the buyer is,…

Announcing recommendedreads.in, a book recommendation site

I present you, recommendedreads.in , a new side project that helps you to read the most recommended books by the curators. Idea As a book reader, one of the challenges I face is, " How do I pick my next book to read? ". Jeff atwood has Recommended Reading for developers , Dhh has 5 programming books that means most to him , Stack Overflow community has Most influential book every programmer should…

How to resolve setWindowSurfaceColorBuffer and flushwindowsurfacecolorbuffer error in Android

I faced a strange issue today when developing an android app. emulator: setWindowSurfaceColorBuffer: bad window surface handle 0x5 emulator: fb::flushwindowsurfacecolorbuffer: window handle 0x9 not found These errors started appearing in Event Log window and app build started failing. After long hours of searching the Internet for it, Wiping data from the simulator seem to be the only solution…

Year 2018 in review

Year 2018 was huge for me both professionally and personally. I turned 30 and did a retrospective . Professional Reading I completed Goodreads 2018 challenge reading 9 instead of 6 books. Following were the books I read. Men Are from Mars, Women Are from Venus by John Gray 20 Years of KDE: Past, Present and Future by Lydia Pintscher The First Step is the Last Step by Jiddu Krishnamurti Natural…

Javascript: Understanding Promise

Promise is a proxy value for an asynchronous action leading upto success or a failure. Using Promise is necessary to avoid the callback hell A pending promise can either be fulfilled with a value, or rejected with a reason (error). When either of these options happens, the associated handlers queued up by a promise's then method are called. A Promise can be in one of the following states pending :…

Advice to my 20 old self

I recently turned 30 and wanted to take a step back and reflect. This post is my summary up of things that I figured out on this journey so far Time Time is one of the crucial things that you need to understand in your 20’s. Understanding the weightage of timing will help you prioritize things in your life. Your time is very limited. Be judicious about the things that you spend time on . You’ll…

I’m learning Python

Its been long time since I learned a new language. It was nodejs in 2016. It was android in 2017. This year, I want to learn NLP, Machine learning and AI. Python seems to be the lingua franca of AI. So, I'm getting started with Python specifically for this reason. With two months in, I can clearly say Python fits well into my toolbox. Django for web apps, Python core for my scripting needs. If…

Eloquent JavaScript by Marijn Haverbeke

Recently, I read Eloquent JavaScript by Marijn Haverbeke Following were my notes from it. Use strict mode Strict mode is a way to introduce better error-checking into your code. When you use strict mode, you cannot, for example, use implicitly declared variables, or assign a value to a read-only property, or add a property to an object that is not extensible. It is an ECMA 5 standard that you can…

Check if object is an array in plain javascript

JavaScript is a dynamic language. At times, you might want to determine whether the object variable you're receiving is an Array or not. Usually, I use Lodash's _.isArray() for this. For a change, I explored other options, using plain JavaScript. I learnt that there are 3 methods to do this. Test inputs & results [] , new Array() should be considered as an array undefined , {} , '' , {length:1}…

Year 2017 in review

2017 has been a wonderful year for me both personally and professionally. These are the few highlights for the year Personal First, a major change in my life. I got married :). What they say about marriage is true. I am starting to see things in a different light than how I use to. Life has changed for good. With this new perspective, I tested few strong opinions I held, pursued things that I was…

Introduction to Node.js for web developers

Node.js is the JavaScript run-time environment on the server side. It uses open-sourced Chrome's V8 engine for JavaScript execution. V8 is the same JavaScript engine that powers browsers like Opera and Vivaldi . Concepts in Node.js Node.js uses an event-driven, non-blocking I/O model. Functions like Querying Db, file system read/write operations are designed to be asynchronous non-blocking. Task…

Tool tip in Axis bank fund transfer form

If you're web developer, every form you see across the Internet is an opportunity for you to learn about presenting options to the user. This is my observation of Axis bank fund transfer form. Inappropriate use of tool tip Tooltip should be informative and the Control displaying that should benefit from the supplementary information. Displaying "chkbox" doesn't add any useful information to the…

How to fix blank white screen in Laravel 5 on Nginx

Blank white page is the frequent problem that I ran often into when deploying the laravel applications. Following are the list of things I learned while fixing this issue. Nginx checks I use nginx and these are the specific checks that you need to check in the conf created for the application. index of the conf file needs to have index.php . index.php is the framework's base file for handling the…

Introduction to Laravel for web developers

Laravel is an opinionated MVC web framework for PHP. A typical application build using this framework consist of routes, controller, model and migrations. Dependency management - Composer Composer is the dependency management tool for Php. It is strongly inspired by node's npm and ruby's bundler . Laravel uses it to install and update dependencies. composer.json contains meta data about the…

Prerequisites for android programming

If you're a Java developer want to get started with Android. Following are the things you need to know before getting started. Eclipse vs Android studio Eclipse was once an option. Now that's gone. Google recommends Android studio . So, have it installed. Phone vs Emulator You might notice that most of the tutorial uses an emulator. That's for the screen recording purpose. Remember, emulator alone…

Announcing a new side project: Tamil bible, an android app

An app like the Tamil bible is a necessary for the everyday use. But finding a decent one for every day is a pain. The experience is same for whether you're on an android or iOS. Play store alone, has 30 rows of Tamil bible android app . What's the problem with the existing apps They are invasive . They require access to my location to show ads. They show me flashy ads in the likes of Your phone…

Contextual Communication

While I was reading about the recent security breach that happened at zomato last week, I noticed a few things in the blog hosting platforms. Sites Tumblr - http://blog.zomato.com/ Medium - http://m.signalvnoise.com/ WordPress - http://georgestocker.com/ 1. Install apps/Open in apps Only WordPress presented me the page without any such messages. Both Medium and Tumblr were showing me "open in…

How to tweak your apps to deal with information anxiety

Information anxiety is the ailment of this digital age. We're living in the digital world where one cannot consume the content created within the same day. You need to catch up with the fast moving landscape around you and at the same time have a life outside of work. This can be overwhelming at times. These are the few app tweaks, I did to deal better with information anxiety. Email Every unread…

Emacs and Vim, text editors for programming?

I was recently re-reading the pragmatic programmer , and found this passage to be interesting. We think it is better to know one editor very well, and use it for all editing tasks: code, documentation, memos, system administration, and so on. Without a single editor, you face a potential modern day Babel of confusion. You may have to use the built-in editor in each language's IDE for coding, and…

Mac cheat sheet for Debian users

You can check my mac-guide for customizing Mac to your needs. My laptop had a hardware issue due to which I'd to use Mac for a week. While using it, these were the things I familiarized myself with to do the usual things. Terminology ⌘ is the Command ⌃ is the Control key ⌥ is the Option (alt) key ⇧ is the Shift key Pain To open chrome developer tools, you need to press Ctrl + Shift + I instead of…

Life Without Principle by Henry David Thoreau

Life without principle written in 1863, is a philosophical essay by Thoreau in which he criticizes how people chose to spend their lives . Though it may seem dated, I find Thoreau's views on Life, Labor and Livelihood interesting. Life This world is a place of business. .. There is no sabbath. It would be glorious to see mankind at leisure for once. It is nothing but work, work, work . There is a…

Which is your third place

I recently came across developer theory of third place . The theory says that every human will have a third place, besides home and work. It is the place where they meet each other, interact and have the outside world exposure. Fred Gooltz defines the criteria for third place as follows They must be free or relatively inexpensive to enter and to purchase food and drinks. They must be highly…

Cleaner array manipulation using ES5/6/lodash

Array is the integral part of any modern programming language. In Java script, you have different inbuilt methods for array operations. This article will describe how you can write clean, readable program for variety of array manipulation requirements using inbuilt ES5/6 and lodash functions. Following are the few common array manipulation functions we use Iterating over a list - Array.forEach()…

The right way to delight your customers

In this age of social media, I see a huge disconnect in brand's intention and action. Unless they are apple or amazon, rest of them , has to take customer service as prime focus over class, economics of the product. Rather than picking delicious low hanging fruits , I as a customer see them doing all sorts of creepy things that pisses me off on their quest to deliver a delightful experience. IMHO…

Coloring console logs in nodejs

Colored console log messages can be helpful in determining the progress of the application when we boot it. Since the application will be started from the console, displaying green for the infos, Red for the error will be helpful in diagnosing on which stage the application has failed. I use SindreSorhus's chalk because it is simple, doesn't extend String.prototype and used by ~4500 other modules.…

Printing stack trace in nodejs

Debugging an issue can be hard if we don't get the stack trace. Stack trace saves us the time by taking us right to the line number inside a file where the error occurs. Just logging error with plain console.log won't work. It logs [TypeError: user.getName is not a function] We got a TypeError when we called a non existing function in the user object. Since user object will be used in multiple…

Free of whatsapp

Update(Nov 2017): After deleting Whatsapp, I reinstalled it after 23 months. Whatsapp has become a necessary evil because of the network efforts. Detaching oneself from the medium doesn't solve the medium's problem. I've been thinking of quitting whatsapp for some time now. The urge has been strong since the beginning of this year. This has to be an informed decision since I don't have a Facebook…

Year 2015 in review

Year 2014 was my first year in review post and I got a realization when I sat down to write this year's. I took pointers on what all things I did last year. Half way into it, I felt comprehending all the stuff I did in a single blog post is not giving attention each item deserves. Things like why I moved out of shared hosting to EC2, learnings I got by launching a couple of my side projects,…