Archives for posts with tag: facebook

What circles do you think you have been added to?

Google+ introduces a new type of privacy problems which I can only describe as the inverted personal privacy dilemma. It is no longer an issue of “What I choose to share with Google and then what Google shows to others”, the issue is now: “What friends/complete strangers choose to share about me to Google, and my inability to do anything about it”. The responsibility of maintaining my personal privacy has been partially removed from my hands, and placed in the hands of the people of internet.

Thought experiment:
Put 100 privacy aware/concerned people into a room. What would you suppose is the best way to create a global interest graph/taxonomy for this group of individuals? Algorithmically? Manually? First, ask them to fill out very basic personal information about themselves. We will probably have reasonable success. Next we ask them to fill in very specific personal information/categorizations about themselves. How do they react? Probably not as successful. Now ask the same group of people to write down and categorize the people around them, but remind them that their categorizations will remain secret. Each individual’s privacy has been maintained, and collectively we have created a very rich interest graph/taxonomy which is possibly far more accurate than any automated solution.

Read the rest of this entry »


In this post I’ll outline how to setup and connect a thrift client in PHP. If you’d like to learn how to setup and run a thrift server please see my friend Mike Cvet’s post here on setting up a C++ thrift server.

You’re in a meeting and some Sr. Dev from the systems or backend team says: “Great! just connect to my service via thrift, we already handle all the db connections and most of the caching. You guys use Ruby right? oh..  PHP? that’s cool too, sweet! *looks over to the PM* We should be done in a week…”. Oh snap! A week? What is this thrift thing? And what is this Ruby thing all those young whipper snappers keep talking about!?”. (Yes this is the use case I wish to satisfy with my post)

Apache Thrift is a great RPC framework originally developed and released by Facebook (added to the Apache incubator back in 2008).  I’ve used thrift for the last few years as a simple / efficient way to exchange data across machines, applications, and languages.  A coworker and I thought it’d be cool to do another Thrift tutorial, because at the time of this post, the official tutorials are being developed.  Following the nature of thrift, we also thought it’d be cool (we are nerds) to split the tutorial across 2 different blogs, I will explain the client, he will explain the server.   As a quick warning, this tutorial is rather verbose, I like hearing myself talk… Feel free to skim through the code if you want to skip my life story.  Warning #2, I wrote this tutorial after drinking an entire bottle of wine, you have been warned.

Download Source from GitHub – Client and Server

Read the rest of this entry »

I haven’t done a paper prototype since my 3rd year of University, and when I did, it was Black/White on lined paper.  Feeling the need to brush up on some basic UX  practices, I decided to let my work/nerdy side invade my Halloween (yes this post is a few months late).

Tools Used:
Omnigraffle, Photoshop, TextMate, CSS
Pencil+Foam Core, Scissors+Paper, Glue Stick, Sharpee Markers

All purchased at local art store for < $20 (much better than Adobes $1,000 CS suite)

Next came the planning and comparison shot:

Please note the "Keyboard Cat" video open in the other tab

Read the rest of this entry »