Previewing Safari Adblock for iOS 9: built-in Adblock/Privacy, customize and share public blockers

I’ve been working on Safari Adblock, a content blocking extension for iOS 9, and want to share some screenshots/preview its features ahead of its release when iOS 9 becomes publically available. I have a couple of spots left for beta testing- feel free to contact me at if you want access. Safari Adblock hides/prevents ads from appearing when browsing Safari on your iPhone/iPad, and allows customization/sharing for more expansive content blocking, such as preventing cookies on all websites, or using the Internet in text-only mode for a clean and super-fast experience.


Continue reading

Monte Carlo Depth Maps from Aperture and Focus Camera Stacks

A little knowledge about cameras/optics will be useful to understand the post; I tried to include supplementary links where helpful.

This past year, I worked on a project for a Computer Vision class to construct depth maps from a scene using a stationary camera by changing aperture and focus only, via a Monte Carlo method. This a writeup of my work; comment below to discuss/ask questions!


Images borrowed from a paper by Jacobs et al. The goal of this project was to take a scene (shown left) and construct a depth map (shown right). For this project, I was interested in creating relative depth maps (where a pixel is darker/lighter if it is closer to the camera than another pixel) as opposed to an absolute depth map (where the intensity of a pixel is proportional to its distance from the camera).

Continue reading

Hacking Venmo’s $1M Money Tree Giveaway with Javascript and Chrome

Venmo is a payment system designed for mobile devices that makes it easy to pay or transfer money over to friends (

Venmo’s currently having a promotion on where they’re giving 1 million dollars in total to new Venmo users who play their game. The game is pretty self-explanatory: you have 10 seconds to click on leaves falling from the “money tree”, each green leaf clicked gets you 10 cents and each blue leaf clicked gets you 20 cents.


After you’re done, you can share the game with friends to continue playing or collect your winnings (if you’re a new visitor) by giving Venmo your phone number and installing the Venmo app:


I noticed that the game was created with Javascript and not Flash, so I thought that I could hike up my game score pretty easily by changing the javascript in the page. Chrome Developer Tools makes it pretty easy to do this by allowing you to live-edit javascript of a page and see its results in the browser (which is really cool), so I tried a little proof-of-concept to see what I could do with Venmo’s game.

Continue reading

Solving the Achievement Gap in Programming

Learning to program is difficult: 30-60% of students in university introductory programming courses fail. This is associated with a belief that only students with a natural “aptitude” or talent for programming are able to truly succeed in learning to program, while students without this aptitude are doomed for failure or at best mediocrity in programming. Although studies have shown that this programming achievement gap based on natural talent does exist in introductory courses, recent work has pointed towards pair programming as a possible solution for helping bridge this gap.

Continue reading

The RIAA forced me to shut down HypedMusic, a successful website/apps I built in high school

Just a disclaimer before I start:

I am not in any way condemning the RIAA (Recording Industry Association of America) for what they did or claiming that in some way they “wronged” me; they had the right to send me a cease-and-desist and I immediately complied. I’m simply telling my story about how my website/apps with 15 million hits a month got shut down, which others may find interesting.

The story

Continue reading