Sapan Bhuta

Read this first

The Yahoo Problem

In 2012, with her appointment as CEO, Marissa Mayer had an ambitious plan to bring Yahoo back to its glory days and it was a theoretically sound one.

The majority of online users spend their time on smartphones engaged in activities like reading email, checking sports scores, getting weather and news updates, watching videos, chatting with friends, and connecting on social media. Most of these activities are traditional strong holds of Yahoo on the desktop. But Yahoo had not made the transition to mobile with its users.

So Mayer had a plan to bolster Yahoo’s mobile offerings and once again make it a top internet destination. However, a plan like this has three drawbacks: 1) Developing desirable well-trafficked mobile properties requires lots of hard-to-hire-for mobile design, engineering, and product talent. So Mayer chose to acquihire promising mobile startups instead. 2) It takes...

Continue reading →

Integrating Stripe on iOS Apps using Swift & Apple Pay

A supplement to Stripe’s iOS Integration tutorial.

Note: There are three ways to collect card information:

  1. Use Apple Pay framework to access stored payment information
  2. Use Stripe’s pre-built form components, to collect credit card details
  3. Build your own credit card form from scratch

Step 1: Install Stripe Cocapod

CocoaPods is a common library dependency management tool for iOS development. To use the Stripe CocoaPods, simply add the following to your Podfile and run pod install:

pod 'Stripe'

Note: be sure to use the .xcworkspace to open your project in Xcode instead of the .xcproject.

Step 2: Create Objective-C to Swift Bridging Header

  1. In the menu click File > New > File > (iOS or OSX) > Source > Header File
  2. Click Next
  3. Name the file “bridge”
  4. Click Create
  5. Select the Project folder and navigate to Build Settings. Then use the search field to locate to Objective-C Bridging...

Continue reading →

Thoughts on Public and Private Market Investing

The grand unified theory of putting money to work

While I love trying to beat the market as a theoretical challenge, you’re better off putting your money in Wealthfront. -Brad

During a recent conversation on software development and programming languages with the awesome people at Capstory, I mentioned that I was spending my free time learning more Python in order to leverage into some interesting algorithmic trading strategies.

That was when Brad, astutely pointed out that unless you are James Simons (Ph.D. mathematics by 23, former code breaker for the NSA, and head of the world’s most secretive/profitable quant hedge fund Renaissance Technologies), you are better off investing in Wealthfront, a great variant of the low cost diversified portfolio.

I want to dissect this statement a little more and the assumptions behind it for my own benefit and hopefully for that of my readers:


Continue reading →

The Future of Programming

It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model. These two seem points of high ground, with swampy lowlands between them. As computers have grown more powerful, the new languages being developed have been moving steadily toward the Lisp model. A popular recipe for new programming languages in the past 20 years has been to take the C model of computing and add to it, piecemeal, parts taken from the Lisp model, like runtime typing and garbage collection. -Paul Graham

I have done a lot of introspection recently on programming language design as I’ve learned Swift and become familiar with other languages including Objective-C, Javascript, Java, Ruby, Python, Go, Haskell, Clojure, Elixir and Elm. When I read the above quote by PG in his paper “The Roots of Lisp” my introspection finally gave way to some clarity...

Continue reading →