The Curious Engineer

All blogs / Essays / personal

Shubham Jain's Blog

shubhamjain.co

Opinions on tech and other stuff!

Essays / personalSoftware / engineering practiceFrontend / CSS / browsers

Posts
95 from 5 Jul 2013 to 15 Oct 2026
Posting
now and then (5 in the last year)
Kind
personal blog
Feed
https://shubhamjain.co/rss.xml

2026 5

  1. Abstraction Fatigue
  2. Your AI Generated Menu Triggered my Trypophobia
  3. Demographic Dividend, my ass; overpopulation sucks
  4. Algorithmic Feeds Need to Be Banned
  5. Will AI Disrupt my Field?

2025 6

  1. Fear is Just Perceived Lack of Control
  2. The Easiest Form of Mediation
  3. The Truth About Bangalore’s Water and Hair Loss
  4. ChatGPT is the Teacher I Always Wanted
  5. WiFi Passwords Should Be Dumb
  6. The Audience MattersJan 07

2024 5

  1. Maybe You're Not Sick of ProgrammingJun 27
  2. Voice is (mostly) Bad UIApr 16
  3. Why Does 'is-number' Package Have 59M Weekly Downloads?Feb 29
  4. CSS is Impossible to Master and That's OkayFeb 19
  5. The Needless Bullshit of Having a 'Mission'Jan 27

2023 7

  1. In Praise of Wasting Your TimeDec 12
  2. On Task AnxietyAug 23
  3. Why I Find Bullshit Work IntolerableAug 06
  4. An Indie Hacker’s Idea SieveAug 01
  5. For Your Mental Health, Vacation is Not Always the Right AnswerMay 17
  6. I Hate TypeformsMar 19
  7. Ditching PaaS: Why I Went Back to Self-HostingJan 18

2022 8

  1. Frontend is Rife with Bad IdeasNov 01
  2. There's no Incentive to Colonize MarsJul 09
  3. Why You Should Blog Even if No One Reads itJul 01
  4. A Brief, Messy History of Google's Messaging ProductsJun 29
  5. Using Analytics is Not a Privacy ViolationJun 28
  6. “Print” Is the Only Debug Tool You NeedJun 27
  7. Value Has Nothing To Do With A Dev's SalaryJun 25
  8. My LASIK Eye Surgery ExperienceJun 23

2021 1

  1. The Movie ManNov 11

2020 7

  1. Sometimes No One's at Fault And We Should Accept ThatJul 25
  2. When Will We Run Out of Fossil Fuels? Likely, neverJun 06
  3. Being Fast MattersMay 17
  4. Clean Git History is Kinda OverratedMay 10
  5. Building an Amazon Price Monitor using Bash ScriptingApr 26
  6. How I Started Enjoying Programming AgainMar 29
  7. The Most Important Thing Paul Graham Taught MeJan 11

2019 8

  1. How to Create Custom Fields in Salesforce With API?Sep 22
  2. Accepting Technical Debt As Important As Fighting ItSep 15
  3. How to Handle Keyboard Shortcuts in Vue (without plugins)?Jun 09
  4. How I Got Better at English as a Non-native SpeakerMay 22
  5. How to Create a Flat Select Element that is consistent in all browsers?Apr 13
  6. How to Create a Favicon for Dark Mode?Apr 13
  7. How to Create a Custom Formula in Google Sheets?Apr 12
  8. The Marie Kondo Programmer (Or, Why I Love Messy Code)Feb 16

2018 11

  1. How to Render Human Readable Time in Jinja?Dec 22
  2. Why Paul Graham is Wrong About Choosing an Esoteric LanguageDec 02
  3. "History is Written By Victors" is a Foolish PhraseDec 01
  4. How to Uppercase the First Letter in Jinja?Sep 17
  5. Why does subresource integrity (SRI) need the crossorigin attribute?Sep 08
  6. How To Create a Responsive Menu with UIKit?Sep 08
  7. Falsehoods Programmers Believe About HiringMay 12
  8. Will You Be Out of Job if You Don’t Study ML?Apr 10
  9. The Science Behind Excellence is Known; Why Isn’t, then, Everyone an Expert?Mar 30
  10. Why Trends Matter (And Numbers Don't)Mar 28
  11. The Bitter Truth of Learning: it’s Tough, Unpleasant, and Often PointlessMar 24

2017 14

  1. Want to Finish Your Side-project? Start by Getting Something on the ScreenDec 23
  2. The Futility of Bitcoin's 'Digital Gold' VisionDec 10
  3. Survivorship Bias is a Poor Excuse for not TryingNov 26
  4. Solving Energy Problems is Complicated; "The Grid" Tells us WhyOct 17
  5. Writing, Fast and SlowAug 25
  6. Why You're Better Off Taking a Safe Career PathJul 23
  7. Things You Can Omit in an MVPJun 28
  8. You Stop Craving for the Perfect Working EnvironmentMay 18
  9. Contradictory Startup AdviceMay 12
  10. Why Programmers Should Automate MoreMay 06
  11. How Quantity Trumps Quality?Apr 15
  12. Understanding Money: Where Does it Come From?Apr 13
  13. What is the Highest Salary a Programmer Can Make?Mar 08
  14. Things Programmers Should Never Say : "Who wrote this awful code!" Feb 25

2016 8

  1. How to Teach Offside To a Five-Year OldDec 08
  2. Why Does Subway Have Terrible Customer OnboardingNov 29
  3. Creating Software Without CodeOct 09
  4. Fallacy of Hating the RichOct 02
  5. What is Hacking?Sep 29
  6. It Didn't Work OutAug 12
  7. Never Underestimate the Power of Creating Something UselessJun 15
  8. How to Track all Social Shares with GA?May 19

2015 6

  1. Imperfect 'Best' PracticesOct 26
  2. Debugging Stuck PHP-FPM Process With StraceSep 10
  3. Blog Little ThingsJul 20
  4. Why Productivity Tricks Don't MatterJun 28
  5. Creating Side-scroller Game in HTML5 and JavascriptApr 20
  6. Hackers Are the Real 10x EngineersJan 19

2014 7

  1. My Perfect Reason to Avoid PHP: Type JugglingOct 12
  2. Why Should You Use Tmux?Aug 26
  3. Using Git for Introducing Temporary ChangesAug 18
  4. Building a Whistle Detector Using WebAudio APIJul 01
  5. Why Desktop Apps Still Make SenseMay 22
  6. Stop using Captchas that Can be Broken with Two Lines of CodeMay 04
  7. Making Earphone Presses Useful with PyAudio and VLC HTTP APIMar 30

2013 2

  1. Reading MP3 ID3 Tags in Native PHPJul 16
  2. Why You Should Never Freelance on Freelancing Sites!Jul 05