Recent Articles
-
Keith Olbermann Thinks I'm an Idiot
by Jesse Farmer on Wednesday, April 11, 2012This story ends with Keith Olbermann dismissing me as "another idiot" on national television, but it begins on a Monday morning with me sitting on my brown leather IKEA couch in Palo Alto, two blocks from Facebook's then-new College Terrace office. Five months earlier I started company with Matt Humphrey, Joe Damato, and Aman Gupta called Bumba Labs.
-
Getting Ahead: A Letter to Myself
by Jesse Farmer on Tuesday, April 3, 2012I moved to Silicon Valley the summer of 2006, as soon as I graduated from the University of Chicago. Two college friends, Ryo Chijiiwa and Isaac Wolkerstorfer (neé Wasileski), asked me to join their startup OpenHive, a "social" search engine for college campuses that allowed students to search each others' bookshelves. I had no expectations. In fact, before my plane landed in San Jose, I had never even set foot in California.
-
The Value of a Social Commerce Referral
by Jesse Farmer on Monday, August 22, 2011At Everlane we recently shut down a side-project of ours, Indie Cases, where we were selling some pretty sweet iPhone cases. Over the month and a half that the store was live we saw some good traffic from up-and-coming social commerce sites like Svpply and Pinterest.
-
Click Hacking for Fun and Profit
by Jesse Farmer on Friday, April 22, 2011A friend IMed me the other day, asking, "You know how to make people click on things. I'm submitting something to Reddit — can you help me title the post?" A stark description of my skills, certainly, but it made me laugh and inspired me to write an article about the art of click hacking.
-
Speed vs. Certainty in A/B Testing
by Jesse Farmer on Monday, May 25, 2009A/B testing is a great tactical tool for studying customer behavior on the web. But like any randomized trial there's some chance that the improvement we measure is just statistical noise.
-
8 Tips for Crafting Metrics That Matter
by Jesse Farmer on Wednesday, June 10, 2009You can decide to measure anything, but what metrics matter and what ones are just for show? Here are some rules I hope will guide you toward creating meaningful metrics that help, rather than hinder, the decision-making process.
-
Building a Social Network, Island by Island
by Jesse Farmer on Monday, May 11, 2009A necessary condition for building a self-sustaining social network is density. We understand this intuitively. After all, a network of one person is hardly a "network" at all.
-
What Verna Taught Me
by Jesse Farmer on Wednesday, May 6, 2009When I was student at the University of Chicago I worked for Residential Computing, or ResCom. ResCom was responsible for maintaining all the computer labs and IT systems in the residential dorms.
-
Notification Strategies for Social Networks
by Jesse Farmer on Tuesday, May 5, 2009You've built a social application and launched a new feature. The number of notifications you can send out is constrained. Which set of users should you notify to guarantee the most people start using this new feature?
-
Why hi5 Might Have an Edge on Facebook
by Jesse Farmer on Tuesday, April 28, 2009Facebook has been trying hard to find a business model. Their Beacon advertising product is probably the most infamous example. So far they've been left empty handed and have been forced to look outside the company for money, first from Microsoft
Microsoft acquires equity stake in Facebook, expands ad partnership (cnet) and then from foreign investors.Update On Facebook's Dubai Fundraising Trip (Business Insider) -
Behavior Adoption on Social Networks
by Jesse Farmer on Friday, April 24, 2009Why and how do people adopt new behaviors? Why do they start using new products? Did you sign up for Facebook because all of your friends were on it, or because a specific friend recommended it to you? Or do you refuse to sign up at all?
-
Almost Viral: A Hybrid Acquisition Strategy
by Jesse Farmer on Wednesday, April 15, 2009Two common acquisition strategies for a new application are a paid acquisition strategy and a viral acquisition strategy. The former involves acquiring users at a cost less than the revenue they generate. The latter involves users inviting their friends to the application.
-
Social Applications are Social Networks
by Jesse Farmer on Thursday, February 10, 2011Are all social applications also social networks? Dave McClure made a passing reference to this a little over a year ago, saying "RockYou & Slide [are] arguably social networks of their own."
Google Open Social + Friends vs. Facebook Platform I want to make the stronger claim: social applications are always social networks. -
Where the iTunes Store Fails: Community
by Jesse Farmer on Monday, April 6, 2009You don't need me to tell you that the iTunes Store has changed the face of music distribution, digital or otherwise. In April of 2008 it became the top music retailer in the US
iTunes Store Top Music Retailer in the US and passed 6 billion songs downloaded earlier this yeariTunes Sells 6 Billion Songs, And Other Fun Stats From The Philnote . That's almost one song downloaded for every person on the planet. -
When in Rome: Newcomers on Facebook
by Jesse Farmer on Sunday, April 5, 2009A teammate of mine recently sent me a link to a paper called "Feed Me: Motivating Newcomer Contribution in Social Network Sites" and I thought it was worth discussing. The paper was jointly authored by Moira Burke, a PhD student at Carnegie Mellon, and Cameron Marlow and Thomas Lento, two research scientists at Facebook.
-
The $0.99 (App) Store
by Jesse Farmer on Wednesday, December 10, 2008I was going to hold off writing this article, but after reading this open letter to Steve Jobs from an iPhone developer I just couldn't.
-
The Dangers of Genetic Optimization
by Jesse Farmer on Tuesday, December 9, 2008The guys at Weebly just had a round of press for their latest product, SnapAds, an ad optimization platform that uses genetic algorithms. The technology is very cool, so check it out.
-
The Cult of the Product
by Jesse Farmer on Tuesday, December 9, 2008In the movies you can build a baseball stadium in an Iowa cornfield and get millions of people to show up. Who wouldn't want to see the ghost of Mickey Mantle play another game? In real life there are millions of details that go into constructing a baseball stadium, not the least of which are having a team and fans ready to fill it from day one.
-
Three Myths of Viral Growth
by Jesse Farmer on Thursday, November 27, 2008Viral growth isn't exponential growth. Your web product has a maximum audience, for example, but an exponential curve grows forever. Instead viral growth follows a logistic curve.
-
Statistical Analysis and A/B Testing
by Jesse Farmer on Tuesday, October 6, 2009In this article we're going to talk about how hypothesis testing can tell you whether your A/B tests actually effect user behavior, or whether the variations you see are due to random chance.
-
Data Management, Facebook-style
by Jesse Farmer on Monday, November 10, 2008Jeff Hammerbacher, the former lead of the Data Team at Facebook and now VP of Product at Cloudera, put up some great slides on the evolution of Facebook's data management strategy.
-
Obama, McCain, and Data-Driven Campaigning
by Jesse Farmer on Wednesday, October 29, 2008On Monday Slate published an article about Obama's text messaging strategy (h/t Andrew Chen) and how it compared to the traditional robo-calling strategy. Politics is getting more quantitative every year and it's great to see the campaigns using techniques like A/B testing to determine what works and doesn't work in political messaging.
-
Hypothesis Testing: The Basics
by Jesse Farmer on Wednesday, April 22, 2009Say I hand you a coin. How would you tell if it's fair? If you flipped it 100 times and it came up heads 51 times, what would you say? What if it came up heads 5 times, instead?
-
Scientific Product Development
by Jesse Farmer on Monday, April 6, 2009Growing up every kid learned about the scientific method, about hypotheses, testing, measurement, and analysis. Data-driven development is about taking these scientific principles and applying them (at least in part) to all aspects of a business — especially product development.
-
Implementing A/B Testing
by Jesse Farmer on Sunday, October 12, 2008Before you can start doing A/B tests you need a system that can support them. That means either you find one off the shelf or you build it yourself.
-
An Introduction to A/B Testing
by Jesse Farmer on Monday, January 19, 2009A/B testing is one of the primary tools in any data-driven environment. You can think of it as a big cage match. Send in your champion versus several other challengers and out comes a victor.
-
Data-Driven Development
by Jesse Farmer on Saturday, November 15, 2008There are lots of smart people out there talking about metrics and tech startups, but the one thing they all have in common is an empirical mind-set.
-
Erlang: A Generalized TCP Server
by Jesse Farmer on Monday, February 20, 2012In my last few articles about Erlang we've covered the basics of network programming with gen_tcp and Erlang/OTP's gen_server, or generic server, module. Let's combine the two.
-
Erlang: An Introduction to Records
by Jesse Farmer on Sunday, October 5, 2008Internally Erlang has only two internal compound data types: lists and tuples. Neither of these data types support named access, so creating associative arrays a la PHP, Ruby, or Python is an impossibility without additional libraries.
-
Erlang: A Generic Server Tutorial
by Jesse Farmer on Tuesday, June 10, 2008One of the benefits of working with Erlang is that it was designed with real-world applications in mind. This is reflected in OTP, or Open Telecommunications Platform, a set of standard libraries that come with the default Erlang VM.
-
Politics and Tufte's Lie Factor
by Jesse Farmer on Sunday, May 25, 2008I admit it, I'm a political junkie. I'm also a math guy who loves design. Politics gets emotional fast and people are quick to stretch whatever data they have to fit their small, partisan aims.
-
An EventMachine Tutorial
by Jesse Farmer on Thursday, February 10, 2011Ruby / EventMachine is an event-driven networking library for Ruby, similar to Twisted for Python. Certain aspects of it are also similar to Erlang/OTP's gen_server module.
-
Facebook Users Just Want Entertainment
by Jesse Farmer on Tuesday, May 20, 2008Starting in late 2007 Facebook began instituting its media strategy in earnest with Facebook Pages. According to Facebook pages offer "a unique experience where users can become more deeply connected with your business or brand."
-
Facebook Bans Google Friend Connect
by Jesse Farmer on Friday, May 16, 2008Facebook announced today on their official developers' blog that they have banned Google Friend Connect, stating privacy concerns.
-
Interview Questions: Database Indexes
by Jesse Farmer on Wednesday, May 14, 2008Continuing my series on interview questions, I'm going to spend some time covering ops and sysadmin questions. We'll start by writing up an introduction to database indexes and their structure.
-
Powerset Launches. Verdict: Meh.
by Jesse Farmer on Monday, May 12, 2008Powerset, the much-hyped natural-language search company, has finally launched a public product: a showcase for its search technology that "enhances the Wikipedia experience." It's live right now on its homepage, so go check it out.
-
How I Grow My Blog
by Jesse Farmer on Friday, May 9, 2008I was talking with Matt Humphrey the other day and he asked me, "How did you grow your blog?" My answer at the time wasn't very enlightening, so I thought I'd sit down and hammer out my strategy for growing 20bits.
-
The State of the Platform: Update
by Jesse Farmer on Wednesday, May 7, 2008My article about The State of the Facebook Platform has been spreading through the blogosphere like a game of telephone. Lots of people have chimed in with their own opinions.
-
The State of the Facebook Platform
by Jesse Farmer on Monday, May 19, 2008Something is wrong in the Facebook developer community. Starting in March I began noticing that the level of activity in the Facebook developers forum was dropping sharply.
-
Network Programming in Erlang
by Jesse Farmer on Friday, May 2, 2008Since I'm learning Erlang I thought my first non-trivial piece of code would be in an area where the language excels: network programming.
-
Help, Facebook's Hacking Me!
by Jesse Farmer on Thursday, May 1, 2008BBC's technology program, Click, is claiming to have "exposed a security flaw in the social networking site Facebook which could compromise privacy."
-
Interview Questions: Counting Bits
by Jesse Farmer on Wednesday, April 30, 2008Continuing my series of interview questions, today I bring you the classic bit-counting problem.
-
Learning Erlang
by Jesse Farmer on Thursday, May 1, 2008Last week I decided to learn Erlang, a functional programming language developed by Ericsson in 1987 for use in telecommunications environments. It's probably the strangest non-toy programming language I've ever tried to learn, so I thought I'd share some of my realizations.
-
The Future is Discovery, not Just Search
by Jesse Farmer on Friday, April 25, 2008Erick Schonfeld, asking "Is Keyword Search About to Hit its Breaking Point?," talks about Spivack's view of the future of the web. According to him it lies ever-more-refined search technologies such as semantic search, natural language search, and artificial intelligence. A quote:
Keyword search engines return haystacks, but what we really are looking for are the needles . The problem with keyword search such as Google’s approach is that only highly cited pages make it into the top results. You get a huge pile of results, but the page you want—the “needle†you are looking for—may not be highly cited by other pages and so it does not appear on the first page. This is because keyword search engines don’t understand your question, they just find pages that match the words in your question.
-
Interview Questions: Loops in Linked Lists
by Jesse Farmer on Wednesday, May 14, 2008This is part of my series on interview questions, so welcome aboard!
-
The Best Facebook Ad Network
by Jesse Farmer on Wednesday, April 16, 2008Even though most Facebook application developers make money off of low-CPM display ads from one of the many Facebook-specific ad networks, browsing the developer forum shows that lots of people don't have good information about which ad network is right for them. I'm here to tell you, once and for all, which ad network is the best.
-
Amazon, the Tech Company
by Jesse Farmer on Tuesday, April 15, 2008I've been speculating about this for a while. Why is Amazon pushing their technology so hard? Their business has been in retail and has been profitable since Q1 2002, if I recall correctly.
-
Interview Questions: When It's Your Turn
by Jesse Farmer on Saturday, April 12, 2008This is part of my series about interview questions. As promised this is about interview strategy rather than specific technical interview questions. I'll continue with that next week.
-
Web 2.0 and Two-sided Markets
by Jesse Farmer on Tuesday, April 15, 2008He brings up a worthwhile point, which is that many developers looking to make the next hot thing don't really understand the role advertisers play in their ecosystem. For developers business development, marketing, and advertising are all dirty words. They certainly don't view themselves as trafficking in attention, even though many if not most hot web properties make money by selling their users' attention to advertisers.
-
Interview Questions: Shuffling an Array
by Jesse Farmer on Tuesday, April 15, 2008This is part of my interview question series. It's about shuffling arrays.
-
Decisions Without Data
by Jesse Farmer on Tuesday, April 15, 2008If you've ever worked on a project where you have to build something, be it software or anything else, you've seen it happen — people, especially designers and engineers, argue over the most petty stuff.
-
Interview Questions: Two Bowling Balls
by Jesse Farmer on Tuesday, April 15, 2008This post is the first in a series I'm calling "interview questions," where I discuss interview questions I've been handed in my time out here in the Bay Area. Since I'm an engineer by trade most of the questions relate directly to technical topics. I'll also cover general interview strategies and advice — probably by serving myself up as an example of what not to do in an interview.
-
Memo to OpenSocial: It's about distribution, stupid!
by Jesse Farmer on Thursday, April 3, 2008With the launch of Google's OpenSocial project last week and the subsequent announcement that MySpace will be one of the participating social networks the developer community on Facebook and the technology blogosphere is wondering what this means for Facebook's platform strategy. The short answer: not much. Why? Because it's not about users per se, it's about distribution.
-
Graph Theory: Part III (Facebook)
by Jesse Farmer on Wednesday, August 24, 2011In the first and second parts of my series on graph theory I defined graphs in the abstract, mathematical sense and connected them to matrices. In this part we'll see a real application of this connection: determining influence in a social network.
-
Graph Theory: Part II (Linear Algebra)
by Jesse Farmer on Tuesday, April 15, 2008This is the second part in my series on graph theory. Part I included the basic definitions of graph theory, gave some concrete examples where one might want to use graph theory to tackle a problem, and concluded with some common objects one finds doing graph theory.
-
Rules of Thumb for Successful Facebook Applications
by Jesse Farmer on Tuesday, April 15, 2008Creating Appaholic has given me the opportunity to see what apps succeed and why. Here are some rules of thumb to consider when writing your Facebook app.
-
Graph Theory: Part I (Introduction)
by Jesse Farmer on Tuesday, April 15, 2008This is the first in a multi-part series about graph theory here on 20bits. This started out of me wanting to write about some of the mathematical aspects of Facebook, but I realized that many people might not have a sufficient background to just jump right in. Rather than cover the all the ground in one article I decided to break it up into multiple parts. This is the first part, a quick introduction to graph theory.
-
Appaholic and Inside Facebook
by Jesse Farmer on Tuesday, April 15, 2008This is more an update than an article. For those who don't know my big project for the last three weeks has been Appaholic, a great utility for graphing the growth of Facebook applications. It's been on the front pages digg and Mashable and has been making rounds in the blogosphere (today Robert Scoble linked to it).
-
The Social Graph, Facebook, and Virality
by Jesse Farmer on Tuesday, April 15, 2008The social graph is the web of connections between friends, family, and acquaintances that everyone has. I know my friend who knows someone who works at the company I want to interview at, so he connects us and I get a shiny new job after acing my interview. It helps me meet new people, find new music I like, and generally navigate my social world. If I find something because of the connection in my social graph I'm much more apt to trust its worth. After all, people I know recommended it!
-
5 Ways to Improve the Digg App
by Jesse Farmer on Tuesday, April 15, 2008The digg.com Facebook application has a little under 20,000 users. According to the digg blog they reached 1 million registered users in early March. Even if we reduce this number to the number of active digg users we can see that only a small percentage of the digg userbase is using the Facebook application. Why?
-
More Facebook Application Gotchas
by Jesse Farmer on Tuesday, April 15, 2008This is a continuation of my previous article, 5 Facebook Application Gotchas.
-
5 Facebook Application Gotchas
by Jesse Farmer on Tuesday, April 15, 2008Everyone and their uncle is writing Facebook applications for the new Facebook Platform. I, too, have my own offering, written by myself and the other OpenHive guys: Bookshelf. Even though the platform was released almost a month ago there are still plenty of tricks, gotchas, and other undocumented oddities that deserve to be brought to light.
-
An Introduction to FBML
by Jesse Farmer on Tuesday, April 15, 2008On May 24th, 2007 Facebook released the Facebook platform. This is the complement to their previous API, based around the Facebook Query Language (FQL). Where FQL allows you do create applications from Facebook data, the Facebook platform, via Facebook Markup Langage (FBML), allows you to embed your application in the Facebook. Finally, Facebook has entered the world of widgets.
-
Designing Content-focused Websites
by Jesse Farmer on Sunday, June 29, 2008Every website has two fundamental components: data and one or more users/readers who consume that data. This data can be produced by many ways — an author or editorial staff, other users of the website, a database, etc. I'm not interested in the question of what data a user is interested in consuming. That is, I'm not interested in giving editorial advice for someone looking to create a popular blog.
-
Introduction to Dynamic Programming
by Jesse Farmer on Saturday, November 15, 2008Dynamic programming is a method for efficiently solving a broad range of search and optimization problems which exhibit the characteristics of overlappling subproblems and optimal substructure. I'll try to illustrate these characteristics through some simple examples and end with an exercise. Happy coding!
-
The Infection Puzzle
by Jesse Farmer on Tuesday, April 15, 2008I first heard this puzzle from the affable Hungarian mathematician and computer scientist László Babai in his Combinatorics and Probability class. It gave headaches to a lot of people much smarter than I am, but there is what Babai would call an "Ah-haaaa!" solution. Read on if you're brave enough.
-
Facebook job puzzles: Prime bits
by Jesse Farmer on Tuesday, April 15, 2008Welcome to the second installment of 20bits' Facebook job puzzles solution manual. This time I am going to tackle the Prime Bits puzzle.
-
Facebook job puzzles: Korn Shell
by Jesse Farmer on Tuesday, April 15, 2008Welcome to the first installment of 20bits' Facebook job puzzles solutions manual. My ultimate goal is to solve every interesting puzzle in the aforelinked list and make a public post with the solution code and an explanation. Why? Because I'm a mathematician by training and no good puzzle should go unsolved.
-
10 Tips for Optimizing MySQL Queries (That don't suck)
by Jesse Farmer on Monday, April 7, 2008Justin Silverton at Jaslabs has a supposed list of 10 tips for optimizing MySQL queries. I couldn't read this and let it stand because this list is really, really bad. Some guy named Mike noted this, too. So in this entry I'll do two things: first, I'll explain why his list is bad; second, I'll present my own list which, hopefully, is much better. Onward, intrepid readers!
-
What is a word? An introduction to computational linguistics.
by Jesse Farmer on Wednesday, April 4, 2007What is a word? This question is one of the most deceptively simple ones I know. Everyone will say they know the answer, or at least say they know one when they see one, but even native speakers of a language can and do disagree. The dictionary isn't much help since many dictionaries have multi-sentence, ad hoc definitions which basically boil down to "a word is a unit of language that means something, sort of."