An article worthy of putting on a refrigerator magnet so that I can read it every day.
I often have people newer to the tech industry ask me for secrets to success. There aren’t many, really, but this secret — being willing to do something so terrifically tedious that it appears to be magic — works in tech too.
We’re an industry obsessed with automation, with streamlining, with efficiency. One of the foundational texts of our engineering culture, Larry Wall’s virtues of the programmer, includes laziness:
Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don’t have to answer so many questions about it.
I don’t disagree: being able to offload repetitive tasks to a program is one of the best things about knowing how to code. However, sometimes problems can’t be solved by automation. If you’re willing to embrace the grind you’ll look like a magician.
Three years ago I went on a quest to save taxes by investing in something other than PPF. I invested in three ELSS funds and soon realised that it was too many. I have already blogged about my experience with DSP Tax Saver and L&T Tax Advantage. Here I will talk about Motilal Oswal Long Term Equity Fund, where I invested only for one year via monthly SIP.
I think, I think, the underperformance that started from Oct 2018 was a direct result of Manpasand Beverages fiasco.
Profit
XIRR
I plan to sell off my entire holding in this fund by next year when all my units have completed 3 years and hope by that time the XIRR will have improved from current level of 12%.
NOTE: XIRR for initial months varies wildly and is not useful for any analysis. But once the investments complete minimum of 1 year, XIRR gives me a much better picture. So I calculate ‘XIRR (>1 year)’ which calculates XIRR only for the investments which have completed minimum of one year while ‘XIRR’ continues to calculate for all the investments irrespective of how much time has been completed. There are some periods where ‘XIRR’ and ‘XIRR (>1 year)’ calculate to the same amount as for that time all my investments had completed more minimum of 1 year.
3 years ago I invested in Supreme Industries after my thorough research (I bought a plastic chair made by Supreme Industries and I liked it). After that I invested just two more times in the stock. Below is how the stock has performed for me over these 3 years.
Return
For first two years, the returns were pretty average. It was only during the uptick post Jun 2020, the stock has risen sharply and delivered good returns.
Profit
XIRR
XIRR for initial months varies wildly and is not useful for any analysis. But once the investments complete minimum of 1 year, XIRR gives me a much better picture. So I calculate ‘XIRR (>1 year)’ which calculates XIRR only for the investments which have completed minimum of one year while ‘XIRR’ continues to calculate for all the investments irrespective of how much time has been completed. There are some periods where ‘XIRR’ and ‘XIRR (>1 year)’ calculate to the same amount as for that time all my investments had completed more minimum of 1 year.
4 years ago I invested in Greenply Industries after my thorough research (and I can’t remember what that research was). Over these 4 years I invested only two times. The result were underwhelming until Greenply spun off the medium density fibreboard (MDF) business into Greenpanel Industries and gave me Greenpanel shares in the ratio 1:1. Last one year of rise is all thanks to Greenpanel’s share price rally.
Return
The sharp uptick in Oct 2019 is due to me getting Greenpanel shares in 1:1 ratio.
Profit
After Jun 2018, I was able to see the worth of my investment in green only after Jan 2021.
XIRR
I think there is some problem with my XIRR formula, seems like if the worth of my investment goes down below a certain mark the XIRR simply calculates to zero.
Update 5-Apr-2021: I was able to figure out the problem with my XIRR and fix it.
4 years ago I invested in IDFC First Bank after my thorough research (raj_king on MoneyControl.com forum told that IDFC Bank will become the next HDFC Bank. I am now hoping that HDFC Bank will rename itself to HDFC First Bank).
Over these 4 years I invested only three times. For the majority of time, the worth of my investment has been less than the amount invested. It is only from Jan 2021 I have seen profit. And I don’t know how long will that sustain.
Fluent UI / Office UI Fabric does not provide any Accordion control. But you can create your Accordion using the Fluent UI controls itself. Below is the code for Accordion control that I have created in React. You can also see it action on CodeSandbox.
You can use the control in your code with below sample code.
<Accordion header="Lorem Ipsum">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
est laborum.
</Accordion>
3 years ago I decided to start investing in an ELSS fund, apart from PPF, to save taxes. After a thorough research (eeny, meeny, miny, moe), I decided to go with DSP Tax Saver Fund and L&T Tax Advantage Fund. I went via the SIP route. My first couple of instalments were in Regular plan before realising that there is something called as Direct plan which has lower expense ratio (thank you Economic Times). Below are the key steps that I did over last three years.
Started SIP in April 2018
SIP frequency was monthly
Increased SIP every year
DSP Tax Saver
Apr 2019: + 60%
Apr 2020: + 87.5%
L&T Tax Advantage
Apr 2019: + 20%
Apr 2020: + 16.7 %
If I had surplus funds in a month, then I used to invest them in the fund as lumpsum. Being one of the lucky folks who did not lose his job due to pandemic (no increments though), I was able to invest surplus amount during the blood bath in stock markets of Mar-Jun 2020.
I have plotted the SIP Return, Profit and XIRR of both these funds from April 2018 to Mar 2021.
DSP Tax Saver Fund
SIP Return Chart
From Mar to Jul 2020, I was able to invest additional fund as lumpsum, that’s why the steps are not uniform as they were in previous two years. I continued investing lumpsum after wards also, albeit less frequent, as the market seemed to be very expensive.
Profit Chart
During the market crash from Mar to Jun 2020, two years worth of my investments went down by ~28%. But as of Mar 2021, I am looking at a profit of ~35%.
XIRR Chart
The market crash of Mar-Jun 2020 was so bad that the XIRR calculations went bonkers and resulted in 0% values for sometime during Mar-Jun 2020. From Mar 2020 to Mar 2021 the XIRR has gone from ~-30% to ~+30%.
L&T Tax Advantage Fund
SIP Return Chart
Similar to DSP Tax Saver, from Mar to Jul 2020, I invested additional fund as lumpsum. But the returns in L&T Tax Advantage were always inferior to DSP Tax Saver. That resulted in me pouring more money in DSP Tax Saver.
Profit Chart
During the market crash of Mar-Jun 2020, two years worth of my investments went down by ~35%. But as of Mar 2021, I am looking at a profit of ~30%.
XIRR Chart
Similar to DSP Tax Saver, the market crash from Mar to Jun 2020 caused the XIRR calculations to go bonkers and resulted in 0% values for sometime. From Mar 2020 to Mar 2021 the XIRR has gone from ~-30% to ~+20%.
A simple loophole discovered by Alex Birsan and Justin Gardner
Last year, security researcher Alex Birsan came across an idea when working with another researcher Justin Gardner.
Gardner had shared with Birsan a manifest file, package.json, from an npm package used internally by PayPal.
Birsan noticed some of the manifest file packages were not present on the public npm repository but were instead PayPal’s privately created npm packages, used and stored internally by the company.
On seeing this, the researcher wondered, should a package by the same name exist in the public npm repository, in addition to a private NodeJS repository, which one would get priority?
To test this hypothesis, Birsan began hunting for names of private internal packages that he could find in manifest files on GitHub repositories or in CDNs of prominent companies but did not exist in a public open-source repository.
The researcher then started creating counterfeit projects using the same names on open-source repositories such as npm, PyPI, and RubyGems.
Every package published by Birsan was done so under his real account and clearly had a disclaimer in place, stating “This package is meant for security research purposes and does not contain any useful code.”
Birsan soon realized, should a dependency package used by an application exist in both a public open-source repository and your private build, the public package would get priority and be pulled instead — without needing any action from the developer.
The english version of “Shaadi ka laddoo jo na khaaye woh pachtaye, jo khaaye woh bhi pachtaaye“
If you marry, you will regret it; if you do not marry, you will also regret it; if you marry or if you do not marry, you will regret both; whether you marry or you do not marry, you will regret both. Laugh at the world’s follies, you will regret it; weep over them, you will also regret it; if you laugh at the world’s follies or if you weep over them, you will regret both; whether you laugh at the world’s follies or you weep over them, you will regret both. Believe a girl, you will regret it; if you do not believe her, you will also regret it; if you believe a girl or you do not believe her, you will regret both; whether you believe a girl or you do not believe her, you will regret both. If you hang yourself, you will regret it; if you do not hang yourself, you will regret it; if you hang yourself or you do not hang yourself, you will regret both; whether you hang yourself or you do not hang yourself, you will regret both. This, gentlemen, is the sum of all practical wisdom.
I usually keep my family members as part of favourites on iPhone. But for work I need to call my work colleagues multiple times over the course of my day. I do not want them to be added to my favourites. But I do need a shortcut to be able to quickly call them when required. Well, Shortcuts to the rescue. I created a simple Shortcut that will show me a list of my work colleagues that I need to call and then call them looking up in the Contacts.
Here’s how I did it.
Download the Shortcuts app and open it. Create a new shortcut by tapping on the ‘+’ icon.
Tap on ‘Add Action’ and search for ‘List’. Tap to add it.
Once ‘List’ is added to you shortcut, add the names of people that you want to call. Make sure the name is same as they appear in your Contacts app. This is critical because if shortcut is not able to find the name in your Contacts, then it ends up showing Contacts search.
Add another action by tapping on the ‘+’ button. Search for ‘List’ again, but this time select ‘Choose from List’ option.
This will allow you to add a custom message to your prompt. Make sure the ‘Select Multiple’ option is turned off.
Add another action by tapping on the ‘+’ button. Search for ‘Contacts’ and tap on ‘Find Contacts’.
Configure the ‘Find Contacts’ action. Tap on ‘Add Filter’ to say ‘Name is Chosen item’. Limit the results to just one contact.
Add another action by tapping on the ‘+’ button. Search for ‘Call’ and tap on ‘Call’.
Once the action is added, your shortcut in done.
Run this shortcut and you will be shown list of people. Tapping on any of them will call them.