in most Ruby web applications there is a
Gemfile, whose purpose is to include all the dependencies your app needs to run.
want a calendar dropdown picker? include jQuery UI in the Gemfile. need data visualization? there’s a gem for that too.
as apps get bigger, so does their Gemfile. and this quickly becomes problematic, because gems well… they break.
what are gems
gems are open source libraries maintained by thousands of developers around the world, each with their own opinions and agendas.
if you set a gem to update whenever an update is available, your whole app could go down while you sleep.
so gems are good. but they also kind of suck.
at big apps like Fomo we’re always seeking opportunities to simplify our Gemfile. this reduces bloat (server memory usage), increases our proprietary edge, and decreases the probability of downtime.
habits are gems
i lived in New York City for 6 years. like most people i established daily, weekly, and monthly habits.
- Quest bar for breakfast
- cold brew from Dunkin’ or Trader Joe’s (1, 2, or 3 per day)
- good weather, run outside; bad weather, lift at gym
- grocery shopping
- taxes, payroll, accounting for 5+ projects
- shareholder reports
- review goals, plan future
these aren’t special. you may do the same stuff. for readers in the suburbs, “fill up gas” and “get oil change” also come to mind.
what if we could reduce our Gemfile, reduce our bloat?
don’t change habits
adopting new habits and changing old habits is hard. going the extra mile is also tough; i suggest going the extra dollar* instead.
to reduce our Gemfile, then, we just need to eliminate habits. easy.
traveling full-time for 3 months thrust upon me the following changes:
- no more alarms, i wake up when i wake up
- no Quest protein bars; they aren’t sold in Asia
- no grocery shopping, i eat out every meal and skip meals regularly
- no phone number, no SMS. no WhatsApp, Telegram, etc accounts (exception: 7 days last month)
- no more taxes, replaced w/ a CPA
- home workouts > gym if i can’t find one nearby
- no more bookkeeping, replaced w/ a Wife
- no more random “online errands,” replaced with a personal assistant
i drink the same amount of coffee. i think that’s OK.
my wife is fanatical about bottled water.
in some Asian countries this is required, but it also creates a dependency in her life. we can arrive in a new city at midnight and her first task is finding a 7-11. sucks for her.
the fewer dependencies you have, the less fragile you are, the more risks you can take.
wear a bathing suit to the cafe, then go straight to the gym. buy noise-cancelling headphones to remain productive in loud spaces. sleep through the free flight meal and call it intermittent fasting. (seriously)
this is not about efficiency, it’s about flexibility.
take inventory of your Gemfile. would your app (lifestyle) crash if something broke? if so, remove it.