Minimize Javascript in your codebase
Nov 23, 2024
Javascript isn’t a language. It is just a specification. Well, that’s true for many other languages like Python and Java. However, most languages have just one de facto implementation. For...
In defense of ad-supported products
Nov 09, 2024
There are two major ways to make money on consumer Internet - subscription or ads. Also, unlike enterprise-world, usage-based subscription is hard and confusing for consumers. So, we end up with 10$ a...
The Indian startup bubble is insane
Oct 12, 2024
Bengaluru-based Postman, a API management product, has raised a total of $433 million valuing it at ~$5.6B. Its revenue was $171M in 2023. As a comparison, Rubrik with ~$850M ARR is valued at $6B or a...
Migrating from WordPress to Hugo
Sep 02, 2024
For more than 10 years, this website has been running on WordPress. Over time I come to dislike it for multiple reasons....
LLMs: great for business but bad business
Jul 05, 2024
The true value proposition of LLMs lies in their ability to convert unstructured data from sources like websites and documents into structured information with reasonably high accuracy. Yet, the real...
When to commit Generated code to version control
Jun 02, 2024
Generated code, ideally, should not be committed to version control. Committing generated code can sometimes speed up testing and code generation but it is a design smell. It is better to cache genera...
Abstractions should be deep not wide
Mar 23, 2024
Let’s say you are building a git analytics product. Your product supports GitHub and GitLab for now. It might support more products in the future. 90% of the codebase that supports GitHub and Gi...
Some data on podcasting
Mar 16, 2024
A few years back, I scraped data on podcasters from iTunes. The data was a bit underwhelming and made me realize that podcasters can’t be a potential market. It is a bit dated but I believe is s...
API services should always have usage Limits
Feb 11, 2024
Every public-facing API service should have API usage limits. If this seems overkill then ask yourself if would it be OK if a single IP sends a million requests a second. This does not apply just to p...
Timing
Nov 18, 2023
Two cryptocurrency exchanges came out early on from Y Combinator. One is 2012. One in 2013. One returned 1500X to early investors. The other one ceased to exist after 2 years. What happened? ...
Real vs Theoretical Engineering Productivity
Sep 16, 2023
Some engineering productivity is real. Some are theoretical....
Play-to-earn games
Jul 24, 2023
With Axie Infinity, there is a sudden rise of play-to-earn games. At least the way I see is that the core idea is that financial benefits of in-game purchases accrue to the network instead of just the...
Too much documentation is harmful
Jul 01, 2023
As code changes, documentation becomes stale over time. This happens at big companies. This happens at small companies. Unlike code, documentation is not compiled or tested. The code is executed. If t...
Engineering stack
Jun 03, 2023
Most startups think of the engineering stack as if it is a single cohesive thing. However, I believe that there are three different engineering stacks that are loosely coupled to each other....
Engineering Guardrails
May 07, 2023
Guardrails are meant to protect us from tripping over. The same can be said about engineering guardrails....
Bad and good ways to test code
Feb 18, 2023
Writing tests at an early-stage startup is always heatedly debated. If a function has one call, adding a unit test doubles the number of calls, this not only doubles the current work but even slows do...
The different layers of a web applications
Feb 05, 2023
There are three mandatory layers of any non-trivial user-facing web application. Storage, compute and view. The view is the front-end website and the mobile app(s). The storage is the database layer l...
The biggest impact of ChatGPT
Feb 01, 2023
In the decade of the 2010s, after Facebook became mainstream, social became a building block for websites. A lot of websites added a concept of user profiles consisting of a name, a display picture, a...
Social media and burglar bars
Nov 30, 2022
Houses in many major cities in Latin America have burglar bars. So, is in India. Very few cities in the US have burglar bars....
5 reasons package.json doesn't scale
Aug 14, 2022
package.json is the standard package configuration management file used in the Javascript world. To call it terrible is an understatement. Here’s why....
Why I prefer Obsidian for taking notes
Jul 16, 2022
I started using Google Notebook around 2008. Once I received a notice that it will shut down, I switched to Evernote around 2012. Unlike Google, note-taking is the central business of Evernote, I thou...
Low code
Mar 12, 2022
I’m a big of serverless. In fact, in 2021, I believe that it should be the default choice and one should have a strong reason to deploy their own servers....
Don't buy Google FI SIM with a phone
Feb 13, 2022
There are several nightmare stories on the Internet regarding Google’s poor handling of payment issues related to Google Fi service. Most problems arise because people buy a phone along with Goo...
React Native
Mar 06, 2021
There are tons of hyped-up claims surrounding React Native that are worth addressing. The reasons why companies run for React Native are usually, We already use Javascript for the website and now, we ...
Indeterminate Progress bar is an inferior UX design
Nov 05, 2020
60 milliseconds is when we notice something isn’t immediate. Any user interaction, that involves sending data over the network or doing heavy computation on it, usually takes way longer than 60 ...
The two-step approach to big code modifications
Aug 01, 2020
We all have to make significant code changes from time to time. Most of these code changes are large. Consider the scenario that you merged one such significant change, and then other team members mad...
Dealing with phone numbers in contact book
Jul 10, 2020
If you are building an app that uses the user’s contact book then their certain gotchas to avoid. Telephone country codes are prefix-free If a country has a country code “+91”, then ...
Programmable Money and value capture
Oct 12, 2019
Money serves three purpose - unit of accounting, a medium of exchange, and a store of value. Cryptocurrencies have been compared to Programmable Money. Anything programmable requires an experimentatio...
Angel investing for Software Engineers
Aug 03, 2019
Software Engineers peak early in their career and especially in places in the San Francisco Bay area, New York, and Seattle attain accredited investor status early on in their career. Hearing stories ...
A short guide for MBAs looking for a job in the tech world
Jul 03, 2019
Why Tech In the past decade, interest among MBA grads towards tech companies has drastically gone up. If you are one of those, take a pause and ask yourself “why”. Of course, there are ups...
Cryptocurrency trading
Jun 01, 2019
Background There are three major types of financial exchanges Stocks and bonds Commodity exchange Foreign exchange (Forex) ...
This website was compromised
May 01, 2019
For 6-months, this website was compromised. I am not sure what exactly happened, but it was most likely password-reuse, which lend itself to this problem. The problem became apparent when I first noti...
Closeum - closed-source in disguise
Mar 01, 2019
Earlier, the Software world was rigidly divided between closed and open-source software. Microsoft Windows is closed-source, GNU/Linux is open-source. Microsoft Office and Lotus Notes are closed-sourc...
Startup founders: How not to write an email
Jul 22, 2018
Consider this email, And now consider this one, Hi Ashish, You signed up for the Orchard beta not too long ago, and we’re excited to finally send you an invite! ( Just to jog your memory, Orchar...
The "key" problem in cryptocurrency
Jul 02, 2018
All cryptocurrencies are eventually tied to a “private” key. You lose this key, and the funds are gone, forever. Millions worth of bitcoins have disappeared from the circulation due to los...
Server vs mobile development: Where the code runs matter
May 21, 2018
When the code runs on your servers, you have much more control over the “context” in which it runs. On the mobile devices, the device OS and the user control the context. This difference l...
Google I/O 2018: Android Notes
May 14, 2018
Highlights All android support library code is moving to the androidx namespace. No more android.support.v4 or android. support.v7 namespaces. Android app bundle to split the app into downloadable mod...
Google I/O 2017: Android Notes
May 22, 2017
Infrastructure - Architecture & Performance Android Vitals - More visibility in Google Play dev console on battery drain, wakelocks being held for too long, ANRs, crashes, dropped frames, and froz...
Apple vs Google: Naming of flagship Android vs iPhone
May 21, 2017
iPhone iPhone iPhone 3G -> iPhone 3GS iPhone 4 -> iPhone 4S iPhone 5 -> iPhone 5S iPhone 6 -> iPhone 6S (and plus sizes) iPhone 7 (and plus sizes) Android Nexus One Nexus S Galaxy Nexus Ne...
Consumer Internet: why audio can't be as big as text, photos, and videos
Feb 27, 2017
Our brain loves distractions, and multi-tasking gets bored quickly. When we read text or watch a photo, it engages us visually, a video (with audio) engages us even more. The bandwidth of eyes is much...
90% vs 99%
Jan 01, 2017
Consider two systems: the first is 90% reliable and the second is 99%. The wrong to compare them is to compare the reliability and conclude that the second one is 9% (or 10% if you take 90% as the bas...
When aggregation works and when it doesn't
Dec 04, 2016
All consumer internet products are either about consumption, production or both. A blog site is primarily about consumption. A photo transforming app is primarily about production. Social networks are...
The Android-Chrome merger saga
Aug 13, 2016
Articles with the following titles would be considered a joke “BMW is planning to merge its series i5 cars and Motorrad bikes” “P&G is planning to merge tissue paper and toilet p...
Startup valuations
Jun 19, 2016
In 2001, Amazon’s share price crashed from 100$ to 6$, they had to do a 15% layoff. But it was Jeff Bezos’s perseverance, tenacity and grit because of which Amazon survived. As several sta...
Voice Interfaces: The Missing User Interaction Element
Jun 13, 2016
Apple Siri, Google Now, Amazon Echo, and Microsoft Cortana have garnered a lot of press lately. But one thing which is still missing out is voice-native user experience. Let me illustrate that with th...
File size should always be of "long" type
May 21, 2016
Java 1 2 3 int getTextFileSize(String fileName) { return (int) (new File(BASE_DIR, fileName).length(); // WRONG } A 32-bit signed int can deal with ~2GB worth of data. And if your code is not going to...
Google I/O 2016: Android notes
May 19, 2016
General Multitasking - multi-window mode and picture-in-picture mode. This includes the ability to launch window in adjacent activity, and drag and drop between activities. Notifications - Custom quic...
Standardization
Jan 04, 2016
Standards exist so that products from different vendors can interoperate with each other, for example, sending email from Gmail to Yahoo! mail, and use common interfaces, for example, sockets for elec...
When marketplaces work and when they don't
Nov 09, 2015
Thanks to Uber’s meteoric rise in valuation, several startups are trying to mimic the idea of building marketplaces with instant gratification. So much so, that there is an aptly titled poem, &q...
Thoughts on Tizen
Jan 24, 2015
Users won’t buy a phone till they know that their basic set of apps is available on the device. That pretty much rules out players like BlackBerry 10, Jolla, Ubuntu OS, and Firefox OS. Even Micr...
"Material design" and Google's strategy
Nov 12, 2014
Android Before 2008, smartphones OS market was fragmented. There were a few big names like Palm and Symbian, but most phone manufacturers were doing their custom operating systems. For example, Motoro...
Thoughts on Bitcoin (part 2)
Jun 04, 2014
Here is a summary of things that have happened since I wrote the previous Bitcoin blog post....
Internet activists, the advent of snap judgement and Internet's permanence
Apr 29, 2014
In 2013, we saw how internet activists’ snap judgments about the interpretation (or misinterpretation?) of jokes at pycon destroyed the professional career of two individuals (Source: A Dongle J...
Thoughts on fixing tech recruiting
Apr 05, 2014
Enough articles have been written about engineering crunch in the valley while some solutions like increasing equity grants to engineers have been suggested, the bigger issue of the broken recruiting ...
Why Nokia's (rumored) Android phone is doomed
Feb 11, 2014
In Feb 2014, WSJ is reporting that Nokia is working on an Android phone. In Sept 2010, Anssi Vanjoki, outgoing head of Nokia’s smartphone division, likens mobile phone makers that adopt Google’s softw...
Three reasons why Intel might lose server market even faster than consumer
Jan 28, 2014
One of the biggest challenges to Intel’s x86 hegemony in the consumer market has been the emergence of smartphones where ARM-based processors have 90% market share. The PC market where Intel has...
Random Thoughts: Android launchers (home screens)
Jan 09, 2014
I have used Cover and Aviate but could not stay with either and am back to Nova (which offer static screen of apps)....
Thoughts on Bitcoin
Jan 07, 2014
A short summary of bitcoin Electronic money is all about ledger (transactions) which tells who sent money to whom, in standard financial system, central/federal/reserve bank (different nations have di...
The Missing Linux Laptop
Aug 21, 2013
For the past one month or so, I am looking around for a good personal laptop running GNU/Linux. I was looking for something similar to my current Mac Book Pro My constraints were following Intel proce...
Vivek Wadhwa: "The next Trillion Dollar Opportunities"
Apr 20, 2013
(Opinions expressed here are my understanding of Vivek Wadhwa’s opinion) “The next Trillion Dollar Opportunities” (in this decade) China’s manufacturing and India’s call ...
Towards a broken future of Internet
Dec 24, 2011
Internet, which initially started as a DARPA experiment is [still] under the indirect control of USA government through ICANN despite several objections from Europe as well as IBSA. This worked when m...
A fundamental problem with Aakash (Indian Government tablet initiative)
Dec 10, 2011
This blog post is not about how good or bad the product technically is or how indigenous it is; it’s about a fundamental problem with tablets. It amazes me to see that even a journalist like T. ...
Random thoughts: goals and company types in tech world
Aug 27, 2011
Start-up One goal May have multiple products but all products are aimed at a single goal. All teams are working towards the same goal. Diversified Multiple similar goals Have several products (or seve...
EA Sports vs Zynga : the battle for games in smartphone era
Mar 21, 2011
Zynga’s market valuation has surpassed EA Sports market evaluation. Even though EA Sports is trying hands in social and acquired Playfish, their main source of revenue is still video games. Thou...
FOSS (Free and Open Source Code) Licensing FAQ
Jan 23, 2011
There are two choices while writing on this topic. One is to write a detailed and accurate port. The other is to write a short post. I preferred the second approach and had added appropriate links to ...
Cablegate and the aftermath: a few observations
Dec 29, 2010
Wikileaks released a set of United States diplomatic cables on Nov 28, 2010, popularly referred to as Cablegate. Let’s consider the events which happened afterward....
Nokia and the smartphone era
Dec 02, 2010
Nokia is facing some serious issues some of them are technical, but the major issue right now is how it can rebrand itself as a smartphone manufacturer (rather than just a mobile phone manufacturer)....
How Indian Government deals with Technology
Oct 16, 2010
This article illustrates some examples of how the Indian government deals with (Information) Technology. Some of these projects are unheard of while some generated unnecessary hype....
The decline of Microsoft and Intel in Internet-centric Smartphone-supplemented era
Oct 11, 2010
An article on how the internet-centric era supplemented by smartphones is giving tough time to Intel and Microsoft and why the two giants of Desktop-centric computing era are not able to retain their ...
BlackBerry Controversy in India
Sep 13, 2010
Indian Govt. has asked RIM (maker of the BlackBerry smartphone) to provide access to the data going through its servers for intelligence purposes and it appears that BlackBerry has accepted the demand...
‹
›
Following is a list of selected posts, all posts can be seen here. About me can be seen here.
Programming
- Repairing database on the fly for millions of users
- It is hard to recommend Google Cloud
- When to commit Generated code to version control
- Use Makefile for Android
- Android Navigation: Up vs Back
Tech Thoughts
- Minimize Javascript in your codebase
- In defense of ad-supported products
- The Indian startup bubble is insane
- Migrating from WordPress to Hugo
- LLMs: great for business but bad business
Book Summaries
- Book Summary: One up on Wall Street by Peter Lynch
- Book summary: Sick Societies: Challenging the Myth of Primitive Harmony by Robert B. Edgerton
- Book Summary: Safe Haven by Mark Spitznagel
- Notable quotes from "How to Live" by Derek Sivers
- Book Summary: What I learned losing a millio dollars by Jim Paul
Travel
- A day in Nashville, Tennessee
- A day in Birmingham, Alabama
- Hiking Mt. Fuji
- Kyoto in three days
- Tokyo in three days