• Shallowness of LLMs

    Jason Cohen talking about how LLMs, in their knowledge, are wider but shallower than humans.

    It’s interesting how LLMs are wider than any human, but shallower than the best humans. (At many things; not, e.g. chess)

    It can’t do customer service as well as the best humans, but it can do it in 100 languages, which no human can.

    It can’t program as well as the best humans, but it can program in 100 languages and 1000 libraries, which no human can.

    It’s not as good at math or law or medicine or research or history as the best humans in each of those fields, but it is better than the median human in those fields.

    Filed under
  • Visual Basic 6

    I read an insightful article by Ryan Lucas on the history and legacy of Visual Basic. This article links to another chuckle worthy article by David Platt—written way back in 2012—on why Visual Basic 6 still thrives. Excerpt below.

    A student of mine named Eric once joked that Visual Basic 6 was “the un-killable cockroach” in the Windows ecosystem. That analogy goes deeper than you might think. Cockroaches are successful because they’re simple. They do what they need to do for their ecological niche and no more. Visual Basic 6 did what its creators intended for its market niche: enable very rapid development of limited programs by programmers of lesser experience. It was never meant for heavy-duty coders developing complex applications.

    Visual Basic 6 accomplished its goals by abstracting away the complexity of the underlying Windows OS. Simple things were very simple to accomplish. On the other hand, complex things, such as dealing with threads, were impossible. My rule of thumb for Visual Basic 6 was: if I couldn’t do it within 10 minutes, I couldn’t do it at all.

    Almost all Visual Basic 6 programmers were content with what Visual Basic 6 did. They were happy to be bus drivers: to leave the office at 5 p.m. (or 4:30 p.m. on a really nice day) instead of working until midnight; to play with their families on weekends instead of trudging back to the office; to sleep with their spouses instead of pulling another coding all-nighter and eating cold pizza for breakfast. They didn’t lament the lack of operator overloading or polymorphism in Visual Basic 6, so they didn’t say much.

    The voices that Microsoft heard, however, came from the 3 percent of Visual Basic 6 bus drivers who actively wished to become fighter pilots. These guys took the time to attend conferences, to post questions on CompuServe forums, to respond to articles. Not content to merely fantasize about shooting a Sidewinder missile up the tailpipe of the car that had just cut them off in traffic, they demanded that Microsoft install afterburners on their busses, along with missiles, countermeasures and a head-up display. And Microsoft did.

    But giving Visual Basic .NET to the Visual Basic 6 community was like raising a coyote as a domestic dog, then releasing him into the woods, shouting, “Hunt for your dinner as God intended, you magnificent, wild creature!” Most of them said, “Heck with that. I’m staying on my nice warm cushion by the fire while you open me a can of Alpo.” And Visual Basic 6 kept right on going.

    Ryan Lucas then goes on to argue that because Microsoft made it very difficult—if not impossible—to move from Visual Basic 6 to VB.NET, it ended up costing Microsoft the battle for web.

    Microsoft had broken the trust of its army of Visual Basic developers. Faced with the options of either starting over from scratch in VB.NET or moving to new web-native languages like JavaScript and PHP, most developers chose the latter—a brutal unforced error by Microsoft. (It’s easy to forget the pole position that Microsoft had on the web in 2001: Internet Explorer had 96% market share, and Visual Basic apps could even be embedded into web pages via ActiveX controls.)

    Filed under
  • Six years with Axis Bluechip Fund

    Back in 2019, at my previous workplace, we had a bit of a tradition. Every month or so, stalls would pop up, selling everything from clothes to toys and other knick-knacks. During one of those fairs, I connected with a mutual fund advisor and struck up a conversation about investing. He recommended three funds, one of which was the Axis Bluechip Fund. Since I was investing through an advisor, it would be a regular plan.

    Now, I was fully aware of the higher expense ratio that comes with a regular plan. But given that my earlier picks—HSBC ELSS Tax Saver Fund (erstwhile L&T Tax Advantage Fund) and Motilal Oswal Long Term Equity Fund—hadn’t quite met my expectations, I figured it was worth getting some professional help this time. As you read along and see the performance of Axis Bluechip Fund, you will realise that getting professional help, hasn’t helped much. And this is not to put shade on my mutual fund advisor. It is just that some events—as you will read later—are really beyond anyone’s control.

    I have stayed with Axis Bluechip Fund for five years starting FY 2019-20. In Sep’22, I decided to increase my SIP. However, this time, I opted for the direct plan to reduce the expense ratio. As a result, this analysis includes investments made through both the regular and direct plans. You can see the uptick in my investments since FY 2022-23 in Figure 1.

    Figure 1
    (more…)
    Filed under
  • Google Sheet to track your equity and mutual fund investments

    I might be providing a solution which would have been solved umpteen times. But this solution is something I use and was born out of my own unique requirements. 

    Click here to view the Equity & Mutual Fund Investment Tracker

    Figure 1

    Who is this sheet for? 

    1. Someone who is buying and not selling. Yes, no selling. In fact, I only track my buy transactions in this sheet. If you are a trader then this sheet is useless for you. You can skip reading the rest of the post. But if you are a long term investor—like me—then give this sheet a try. 
    2. Someone who wants to see how their equity and mutual fund investments are performing vis-à-vis Nifty indices or competing mutual funds. 
    3. Someone who wants to see how their equity investments are performing taking into consideration demergers that will happen along the way of their investment journey. Remember this is for long term investors.

    Quick disclaimer. I have tested it only for Indian equities and mutual funds. Although I have kept it generic, it should work for other assets, but no guarantees.

    Now coming to the Google Sheet itself.

    It is divided into three tabs. 

    1. Summary: This is where you will see details—Profit, XIRR, performance vis-à-vis Nifty index or mutual fund—of all your investments based on the data that you have entered in the Transactions tab. 
    2. Transactions: This is where you will enter your transactions. Remember, only buy transactions. No sell transactions. 
    3. Index Master: This is where you will list all the indices that you want to compare your investments against. This will end up showing in the Summary tab (column F). You will be updating this tab once in a while. 

    How to use this sheet?

    It’s a two-step process.

    First, go to the Transactions tab (Figure 2) and enter the data in columns A to E. Columns F to J are all formulas and should not be modified.

    Figure 2

    In column B you will be entering the code of your equity or mutual fund that appears when you search for it on Google Finance. Some examples are given below.

    For symbol, there is a space that Google adds after the colon. Remove that space before adding it to the column B, else the formula will give error. 

    At times companies demerge some of their entities. Like Greenply did with Greenpanel and Grasim did with Aditya Birla Capital. To track these demerged entities, add the transaction of demerged entity with zero cost and the appropriate symbol name. You can see this in action in row 4 (Figure 2) where I added Greenpanel transaction with zero cost (column D) and Greenpanel symbol (column B). For the name (column A), keep it the same as Greenply since we received this share due to our investment in Greenply.

    In the second step, you come to the Summary sheet. Here you add a new row and in the column A you mention the name of company of mutual fund matching the name you entered in the column A of Transactions tab. If the formula for the other columns doesn’t get auto updated, drag the formulas from the above row and select the Comparison Index (column F) to appropriate index. You can see this in action in Figure 1.

    A couple of additional notes. 

    If you want additional indices or mutual funds to be compared you can add them in the Index Master sheet (Figure 5). The column B is the symbol name that appears on Google Finance. Just like we did in Figure 3 and 4. The column A is the name and you can enter the text that you want. 

    Figure 5

    The mutual fund data that Google fetches is a bit stale. Maybe by 2-3 business days. Keep that in mind if you are looking at this sheet and making a sell decision.

    Filed under
  • Quoting Micha Kaufman

    Micha Kaufman’s email that is doing rounds of the internet.

    You must understand that what was once considered ‘easy tasks’ will no longer exist; what was considered ‘hard tasks’ will be the new easy, and what was considered ‘impossible tasks’ will be the new hard.

    Filed under
  • LLMs as index funds

    Venkatesh Rao giving an analogy between LLMs and index funds.

    Foundation models like GPT and Claude now serve as the index funds of language. Trained on enormous corpora of human text, they do not try to innovate. Instead, they track the center of linguistic gravity: fluent, plausible, average-case language. They provide efficient, scalable access to verbal coherence, just as index funds offer broad exposure to market returns. For most users, most of the time, this is enough. LLMs automate fluency the way passive investing automates exposure. They flatten out risk and elevate reliability.

    But they also suppress surprise. Like index funds, LLMs are excellent at covering known territory but incapable of charting new ground. The result is a linguistic landscape dominated by synthetic norms: smooth, predictable, uncontroversial. Writing with an LLM is increasingly like buying the market—safe, standardized, and inherently unoriginal.

    In this new environment, the act of writing raw, unassisted text begins to resemble picking penny stocks. It’s risky, inefficient, and potentially seen as naïve. Yet it remains the only place where genuine linguistic alpha—the surplus value of originality—can be found. Alpha lives in human voice, conceptual invention, emotional charge, and expressive risk. It emerges from the irreducible tensions of context, personality, and thought. And like financial alpha, it is quickly absorbed and neutralized by the systems it disrupts. What begins as a surprise becomes a template; what once felt radical becomes the new benchmark.

    As a result, the most original language is retreating into private markets. In Substacks, Signal threads, Discord servers, and private memos, new forms are being tested in semi-anonymous, high-context settings. These are the linguistic equivalents of venture capital and private equity—spaces of risk, scarcity, and concentrated attention. Just as companies now avoid going public too soon, writers may delay or even refuse public release, fearing dilution or misappropriation. Only once an idea matures might it “IPO” into the public sphere—perhaps as a viral tweet, a manifesto, or a cultural phrase. But even then, its time is limited: LLMs will soon flatten it into beta.

    This is part of Venkatesh Rao’s AI slop writing, where he shares a “recipe”—a set of high-level ideas—that he uses to generate posts with an LLM. I didn’t realise I was reading AI slop until I reached the Recipe section.

    Filed under
  • Quoting Dror Poleg

    Quoting Dror Poleg from his post Everything Not Forbidden Is Compulsory.

    The constraints that held possible and likely together are collapsing. Now, many more combinations are not just possible, they happen all the time. A programmer launching an app in San Francisco is likely to reach only a handful of customers, but she might reach a billion of them. An office worker sneezing in Wuhan will likely infect only a few colleagues, but he might infect people on five continents within weeks. A mortgage-backed securities trader on Wall Street is likely to ruin his life, but he might spark a global financial crisis. A factory worker uploading a lip-synching video to TikTok will likely be seen by a handful of people, but he might reach hundreds of millions, catapulting a 50-year-old song to the Billboard 100. 

    What changed? We no longer live in an industrial, linear economy constrained by physical space and time. Our nonlinear economy is dominated by software and stories and biological formulas that spread across elaborate networks with limited friction. 

    This is not just a world of new winners or new knowledge, but a world that redefines what it means to know and what it means to win. Every victory is ephemeral, every insight is contingent and limited. As soon as something is known, it will be exploited until the knowledge becomes useless. In the past, our knowledge accumulated, and our actions were limited. Now, it is exactly the opposite: Our actions can achieve unlimited outcomes, but knowledge decays rapidly.

    Filed under
  • Six years with Mirae Asset Large & Midcap Fund

    Back in 2018, at my previous workplace, we had a bit of a tradition. Every month or so, stalls would pop up, selling everything from clothes to toys and other knick-knacks. During one of those fairs, I connected with a mutual fund advisor and struck up a conversation about investing. He recommended three funds, one of which was the Mirae Asset Emerging Bluechip Fund. Since I was investing through an advisor, it would be a regular plan.

    Now, I was fully aware of the higher expense ratio that comes with a regular plan. But given that my earlier picks—HSBC ELSS Tax Saver Fund (erstwhile L&T Tax Advantage Fund) and Motilal Oswal Long Term Equity Fund—hadn’t quite met my expectations, I figured it was worth getting some professional help this time.

    As the months went by and I saw how this fund was performing, I wanted to increase my SIP amount. However, Mirae Asset had placed inflow restrictions on the fund due to its rapid growth and rising AUM. So, I continued with the original SIP amount.

    In Oct’23, when Mirae Asset increased the SIP cap, I didn’t waste time. I started a new SIP in the direct plan to benefit from the lower expense ratio, while continuing the old SIP in the regular plan. That’s why you’ll see a noticeable increase in my investment from FY 2023–24 (see Figure 1). Just a month later, in Nov’23, the fund was renamed to Mirae Asset Large & Midcap Fund.

    Figure 1

    By Nov’24, I paused both SIPs—regular and direct—as I’d invested in a home to diversify my investments and needed capital for the same.

    Figure 2

    The fund’s benchmark is the Nifty Large Midcap 250 TRI. But since I couldn’t find clean, consistent data for it, I chose to compare the fund’s performance against the Nifty 500 Index instead. Over the years, the fund has consistently outperformed the Nifty 500 (see Figure 3).

    Figure 3

    While this comparison looks impressive, things change when I compare the Mirae Asset Large & Midcap Fund with its peers. I’ve compared it with the following direct plans, and Figure 4 shows the profit percentage for each:

    1. SBI Large & Midcap Fund
    2. Kotak Equity Opportunities Fund
    3. HDFC Large and Mid Cap Fund
    4. ICICI Prudential Large & Mid Cap Fund
    Figure 4

    Mirae Asset’s fund was a top performer until Oct’21. But since then, its performance has deteriorated, and it’s currently the lowest among its peers.

    Still, I’m hopeful that in the coming years, the Mirae Asset Large & Midcap Fund will recover and close the gap in performance.

    Filed under
  • Moving from Bluehost to WordPress.com

    When I started this blog, I’d decided to use Bluehost to host my custom self-hosted WordPress blog. Why? Because when I Googled it, Bluehost came up as the top result. Looking back, I think Bluehost had bought ads for that Google query, and Google showed its ad at the top.

    Over the years, I realized Bluehost was subpar in terms of performance. My blog was intermittently unavailable due to various server issues at their end. And when it was available, the page load speeds were still sluggish. Overall, I was consistently getting poor performance.

    Eventually, this led me to abandon Bluehost and move my site to WordPress.com.

    The process was fairly straightforward. I went to my Bluehost WordPress site and exported my data via Tools → Export. This generated an XML file, which can then be imported into your new WordPress.com site. The XML file doesn’t contain images—instead, it includes their URLs.

    Figure 1

    At my WordPress.com site, I simply imported the previously generated XML file via Tools → Import. It took care of the rest, including fetching and uploading images to the new site. That’s why it’s imperative to keep the old site active—including the domain name—until all your data is imported and verified.

    To transfer my domain from Bluehost to WordPress.com, I had to follow two steps:

    1. Disable the transfer lock
    2. Get the Transfer Authorization / EPP Code

    Disabling the transfer lock was straightforward. You can toggle this setting easily in Bluehost’s domain settings section.

    Getting the EPP code took a bit more time. When I first generated the EPP code from Bluehost and entered it into WordPress.com, I got an error saying the code was invalid. I tried a few times, even manually typing it to avoid any copy-paste errors with hidden characters, but I still couldn’t proceed. I finally reached out to Bluehost’s chat support. They gave me a different EPP code, which did work. It took a few days for the domain to be fully transferred to WordPress.com.

    Once the domain was transferred, I linked it to my new WordPress.com site—and I was done.

    Filed under
  • Using RSS is a skill

    I love using RSS. And I would recommend others to also use it. Thats why I have a message the bottom of all my posts on how to use RSS.

    David Oliver talks about similar motivations as mine but brings up an important point on how creating your RSS feeds aggregator is a skill.

    We start by finding someone whose judgement we trust and subscribing to their feed, and then we find out who they trust and subscribe to their feed, and so on. Part of the judgement that we’re looking for in these trustees is not simply whether or not content is accurate but whether or not it is worth our attention. Over time, we can curate our little garden of content, make it diverse, and eliminate unnecessary noise. But, much like a real garden, pruning and weeding is essential and intentional. So, using an RSS reader is more than having a nice aggregator: It’s a skill and a routine. And that’s also where the magic lies because it’s that very process of engaging with content and deciding whether or not it has value to you that makes using an RSS reader a better experience and one where you own your attention.

    This—unfortunately—is going to keep a lot of people away from RSS. The algorithmic aggregator that social media companies offer are just good enough for a lot of folks to invest in the skill of using RSS.

    Filed under