Recent Articles

  1. Keith Olbermann Thinks I'm an Idiot

    by Jesse Farmer on Wednesday, April 11, 2012

    This 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.

  2. Getting Ahead: A Letter to Myself

    by Jesse Farmer on Tuesday, April 3, 2012

    I 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.

  3. The Value of a Social Commerce Referral

    by Jesse Farmer on Monday, August 22, 2011

    At 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.

  4. Click Hacking for Fun and Profit

    by Jesse Farmer on Friday, April 22, 2011

    A 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.

  5. Speed vs. Certainty in A/B Testing

    by Jesse Farmer on Monday, May 25, 2009

    A/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.

  6. 8 Tips for Crafting Metrics That Matter

    by Jesse Farmer on Wednesday, June 10, 2009

    You 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.

  7. Building a Social Network, Island by Island

    by Jesse Farmer on Monday, May 11, 2009

    A 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.

  8. What Verna Taught Me

    by Jesse Farmer on Wednesday, May 6, 2009

    When 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.

  9. Notification Strategies for Social Networks

    by Jesse Farmer on Tuesday, May 5, 2009

    You'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?

  10. Why hi5 Might Have an Edge on Facebook

    by Jesse Farmer on Tuesday, April 28, 2009

    Facebook 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 MicrosoftMicrosoft acquires equity stake in Facebook, expands ad partnership (cnet) and then from foreign investors.Update On Facebook's Dubai Fundraising Trip (Business Insider)

  11. Behavior Adoption on Social Networks

    by Jesse Farmer on Friday, April 24, 2009

    Why 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?

  12. Almost Viral: A Hybrid Acquisition Strategy

    by Jesse Farmer on Wednesday, April 15, 2009

    Two 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.

  13. Social Applications are Social Networks

    by Jesse Farmer on Thursday, February 10, 2011

    Are 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.

  14. Where the iTunes Store Fails: Community

    by Jesse Farmer on Monday, April 6, 2009

    You 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 USiTunes 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.

  15. When in Rome: Newcomers on Facebook

    by Jesse Farmer on Sunday, April 5, 2009

    A 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.

  16. The $0.99 (App) Store

    by Jesse Farmer on Wednesday, December 10, 2008

    I 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.

  17. The Dangers of Genetic Optimization

    by Jesse Farmer on Tuesday, December 9, 2008

    The 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.

  18. The Cult of the Product

    by Jesse Farmer on Tuesday, December 9, 2008

    In 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.

  19. Three Myths of Viral Growth

    by Jesse Farmer on Thursday, November 27, 2008

    Viral 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.

  20. Statistical Analysis and A/B Testing

    by Jesse Farmer on Tuesday, October 6, 2009

    In 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.

  21. Data Management, Facebook-style

    by Jesse Farmer on Monday, November 10, 2008

    Jeff 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.

  22. Obama, McCain, and Data-Driven Campaigning

    by Jesse Farmer on Wednesday, October 29, 2008

    On 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.

  23. Hypothesis Testing: The Basics

    by Jesse Farmer on Wednesday, April 22, 2009

    Say 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?

  24. Scientific Product Development

    by Jesse Farmer on Monday, April 6, 2009

    Growing 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.

  25. Implementing A/B Testing

    by Jesse Farmer on Sunday, October 12, 2008

    Before 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.

  26. An Introduction to A/B Testing

    by Jesse Farmer on Monday, January 19, 2009

    A/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.

  27. Data-Driven Development

    by Jesse Farmer on Saturday, November 15, 2008

    There 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.

  28. Erlang: A Generalized TCP Server

    by Jesse Farmer on Monday, February 20, 2012

    In 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.

  29. Erlang: An Introduction to Records

    by Jesse Farmer on Sunday, October 5, 2008

    Internally 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.

  30. Erlang: A Generic Server Tutorial

    by Jesse Farmer on Tuesday, June 10, 2008

    One 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.

  31. Politics and Tufte's Lie Factor

    by Jesse Farmer on Sunday, May 25, 2008

    I 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.

  32. An EventMachine Tutorial

    by Jesse Farmer on Thursday, February 10, 2011

    Ruby / 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.

  33. Facebook Users Just Want Entertainment

    by Jesse Farmer on Tuesday, May 20, 2008

    Starting 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."

  34. Facebook Bans Google Friend Connect

    by Jesse Farmer on Friday, May 16, 2008

    Facebook announced today on their official developers' blog that they have banned Google Friend Connect, stating privacy concerns.

  35. Interview Questions: Database Indexes

    by Jesse Farmer on Wednesday, May 14, 2008

    Continuing 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.

  36. Powerset Launches. Verdict: Meh.

    by Jesse Farmer on Monday, May 12, 2008

    Powerset, 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.

  37. How I Grow My Blog

    by Jesse Farmer on Friday, May 9, 2008

    I 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.

  38. The State of the Platform: Update

    by Jesse Farmer on Wednesday, May 7, 2008

    My 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.

  39. The State of the Facebook Platform

    by Jesse Farmer on Monday, May 19, 2008

    Something 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.

  40. Network Programming in Erlang

    by Jesse Farmer on Friday, May 2, 2008

    Since I'm learning Erlang I thought my first non-trivial piece of code would be in an area where the language excels: network programming.

  41. Help, Facebook's Hacking Me!

    by Jesse Farmer on Thursday, May 1, 2008

    BBC's technology program, Click, is claiming to have "exposed a security flaw in the social networking site Facebook which could compromise privacy."

  42. Interview Questions: Counting Bits

    by Jesse Farmer on Wednesday, April 30, 2008

    Continuing my series of interview questions, today I bring you the classic bit-counting problem.

  43. Learning Erlang

    by Jesse Farmer on Thursday, May 1, 2008

    Last 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.

  44. The Future is Discovery, not Just Search

    by Jesse Farmer on Friday, April 25, 2008

    Erick 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.

  45. Interview Questions: Loops in Linked Lists

    by Jesse Farmer on Wednesday, May 14, 2008

    This is part of my series on interview questions, so welcome aboard!

  46. The Best Facebook Ad Network

    by Jesse Farmer on Wednesday, April 16, 2008

    Even 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.

  47. Amazon, the Tech Company

    by Jesse Farmer on Tuesday, April 15, 2008

    I'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.

  48. Interview Questions: When It's Your Turn

    by Jesse Farmer on Saturday, April 12, 2008

    This 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.

  49. Web 2.0 and Two-sided Markets

    by Jesse Farmer on Tuesday, April 15, 2008

    He 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.

  50. Interview Questions: Shuffling an Array

    by Jesse Farmer on Tuesday, April 15, 2008

    This is part of my interview question series. It's about shuffling arrays.

  51. Decisions Without Data

    by Jesse Farmer on Tuesday, April 15, 2008

    If 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.

  52. Interview Questions: Two Bowling Balls

    by Jesse Farmer on Tuesday, April 15, 2008

    This 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.

  53. Memo to OpenSocial: It's about distribution, stupid!

    by Jesse Farmer on Thursday, April 3, 2008

    With 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.

  54. Graph Theory: Part III (Facebook)

    by Jesse Farmer on Wednesday, August 24, 2011

    In 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.

  55. Graph Theory: Part II (Linear Algebra)

    by Jesse Farmer on Tuesday, April 15, 2008

    This 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.

  56. Rules of Thumb for Successful Facebook Applications

    by Jesse Farmer on Tuesday, April 15, 2008

    Creating 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.

  57. Graph Theory: Part I (Introduction)

    by Jesse Farmer on Tuesday, April 15, 2008

    This 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.

  58. Appaholic and Inside Facebook

    by Jesse Farmer on Tuesday, April 15, 2008

    This 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).

  59. The Social Graph, Facebook, and Virality

    by Jesse Farmer on Tuesday, April 15, 2008

    The 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!

  60. 5 Ways to Improve the Digg App

    by Jesse Farmer on Tuesday, April 15, 2008

    The 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?

  61. More Facebook Application Gotchas

    by Jesse Farmer on Tuesday, April 15, 2008

    This is a continuation of my previous article, 5 Facebook Application Gotchas.

  62. 5 Facebook Application Gotchas

    by Jesse Farmer on Tuesday, April 15, 2008

    Everyone 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.

  63. An Introduction to FBML

    by Jesse Farmer on Tuesday, April 15, 2008

    On 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.

  64. Designing Content-focused Websites

    by Jesse Farmer on Sunday, June 29, 2008

    Every 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.

  65. Introduction to Dynamic Programming

    by Jesse Farmer on Saturday, November 15, 2008

    Dynamic 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!

  66. The Infection Puzzle

    by Jesse Farmer on Tuesday, April 15, 2008

    I 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.

  67. Facebook job puzzles: Prime bits

    by Jesse Farmer on Tuesday, April 15, 2008

    Welcome to the second installment of 20bits' Facebook job puzzles solution manual. This time I am going to tackle the Prime Bits puzzle.

  68. Facebook job puzzles: Korn Shell

    by Jesse Farmer on Tuesday, April 15, 2008

    Welcome 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.

  69. 10 Tips for Optimizing MySQL Queries (That don't suck)

    by Jesse Farmer on Monday, April 7, 2008

    Justin 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!

  70. What is a word? An introduction to computational linguistics.

    by Jesse Farmer on Wednesday, April 4, 2007

    What 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."