Tuesday, July 23, 2013

Travel Meets Technology: A Weekend in Portland, Oregon

When Facebook Graph Search came out, skeptics bemoaned the end of personal privacy. Now that people can perform targeted queries over your social media history, there are few places to left hide. Facebook Graph Search will make it all too easy for your mother to find out that you have been drinking and for your boss to find out that you are a Republican.

The unveiling of Graph Search was exciting to me for more than voyeuristic reasons. For years, I have appreciated how Facebook has helped better connect me with people and enrich my world view. I have also liked how social media democratizes knowledge and allows for everyone to express their views in ways only experts and journalists previously could. Graph Search seemed like a useful way to learn even more about the people in my social network and also the rest of the world.

To explore my stance, I decided to see if Graph Search was useful for researching topics other than my friends’ personal lives. I came up with the goal of researching a lifestyle piece using solely Graph Search. As the target destination I chose Portland, Oregon because I had never been there and did not have many friends posting about it on Facebook. I assumed having few contacts in a location would be the most common experience of someone using Graph Search to learn about something new, as most people’s social networks tend to be fairly limited. I then planned a trip to Portland to compare the Graph Search itinerary to the New York Times’s 36 Hours in Portland, which represents an expert-curated itinerary for the same length of time.

This project became not just an evaluation of the effectiveness of Facebook Graph Search, but a study of the changing relationship between people, technology, and experts. On the one hand, technology provides us tools to scour the internet’s fares and opinions to potentially provide us with succinct summaries of the world’s information. On the other hand, it is not clear whether someone familiar with the domain in question can outperform technology. There is also the question of how we can use technology to enhance interactions with experts or to democratize the availability of expert knowledge. To explore this, I used other tools such as AirBnB, Bing Travel, and non-Graph Search capabilities of Facebook. The final itinerary is a result of cross-referencing the Graph Search and Times itineraries with sites like Yelp and with Portland locals, combined with serendipitous events.

I found my ad-hoc internet travel agent to be immensely useful for giving me fast and easy access to large quantities of information. Fare search and predictors give even amateur trip planners a good idea of times and prices at which to buy. Graph Search allowed me to see a collage of what my trip could look like visually through a simple search of “Photos taken in Portland, Oregon.” Sites like Graph Search, Yelp, and AirBnB provided up-do-date information about where people where spending their time and money. Advances in search technology, combined with innovations in peer-to-peer models for communication, allow us to learn about the world in previously impossible ways. With all this information at hand, it is tempting to think that the masses provide us with all of the opinions we need.

During this project, however, I learned to appreciate the curation of experts. Someone local or known to have good taste is more likely to make good recommendations than a random sampling of people from the internet. In general, unless you know something about the people posting about a place, it is difficult to determine how much to listen to the opinions presented. I realized that with sites such as Yelp and AirBnB, I close-read the writing style and content of reviews to form my own opinion about how “expert” I deem a reviewer about the relevant domain. It is, at present, difficult to determine the taste “footprint” of Facebook users posting about a place. Especially for researching travel and entertainment, it would be useful to be able to identify and weigh more highly the contributions of certain people, for instance relative experts or those with similar taste.

I describe the results in the form of a timeline for both the planning and trip periods.

Some night, months before.
12am.
Use only Facebook Graph Search to research a travel itinerary for Portland, Oregan (see According to Facebook Graph Search: 36 Hours in Portland, Oregon and Facebook Graph Search as a Journalistic Tool).

The next day.
Post to Facebook, Twitter, and your Gmail chat status about these posts. Chat online with a friend on the West Coast until he suggests a trip to Portland to explore these itineraries. Use Bing travel's fare predictor to decide the best time to book plane tickets. (In my case, it told me to wait.)
Tools: social media; online messaging; fare search.

Some other night, a month before.

11pm.
Plot geographic locations corresponding to both the Graph Search and the New York Times (NYT: 36 Hours in Portland, Oregon) itineraries. Discover that the Graph Search itinerary seems to be concentrated around downtown (West) Portland, while the NYT itinerary has locations on both sides of the Wilamette River. Discover that many of the places mentioned in the NYT article, written in August 2011, have already closed.
Tools: Google Maps; Google Places.

12am.
Examine the availability of people renting available apartments, rooms, and guest houses on AirBnB. Discover that the more interesting, affordable, and highly rated locations seem to be in East Portland. Make a booking in the Mt. Tabor neighborhood.
Tools: AirBnB.

Yet another night before the trip.
Make a proposed itinerary for the weekend by combining activities from the two itineraries. Cross-reference with Yelp; discover that many of the Graph Search locations seem to be reviewed less favorably as being "touristy." Cross-reference with TripAdvisor; find that the recommended activities seem to be less urban and more outdoorsy.

Use Facebook to contact Joe, a friend of a friend who lives in Portland. Make plans to meet up.
Tools: Yelp; TripAdvisor; messaging.

Friday of the trip.

11am.
Brunch at Cafe Broder, whose Scandinavian brunch comes highly recommended by the Times. Broder is worth every minute of the potentially long wait. Try the lefke (potato pancake) and a baked egg scramble.
Tools: New York Times.

2:30pm.
Walk off brunch by shopping in the vintage and curiosity shops. Walk past Pok Pok, one of the most popular Asian restaurants in Portland.
Tools: serendipity.

4pm.
Get a late lunch at Por Que No? Taqueria, recommended by the Times itinerary. The Times warns of a long wait, but during off-peak hours the line is fine. The ceviche is delicious and there is the option of getting it on cucumber slices rather than with chips.
Tools: New York Times.

7pm.
Jog up Mt. Tabor, recommended by fellow reviewers of your lodging on AirBnB. Mt. Tabor once an active volcano but is now merely a hill. Watch the gentlemen of Portland ride low bikes and skateboards down the hill as the sun sets.
Tools: AirBnB; serendipity.

10pm.
Try in vain for thirty minutes to call a cab from numbers off Google Search. (We still don't know if Mr. Taxi is real.) Default to dining at Sapphire Hotel, recommended by both your AirBnB host and a friend, a former seedy hotel that now probably has one of the better cocktail menus you have ever seen. Enjoy bacon-wrapped figs and perhaps a burger while your friend drinks the "You're not my real dad," a bourbon cocktail that comes with a cigarette.
Tools: word of mouth.

12am.
Take a walk down Hawthorne Street, recommended by AirBnB reviewers as being close to shopping and dining locales of interest. Consider stopping in and playing pool or drinking a beer at one of the bars. Walk past various closed shops and a group of 20-somethings sitting on an awning and drinking. Take the scenic route back along residential streets. Take some time to smell the flowers. Especially if it is summer, they will smell great.
Tools: AirBnB; serendipity.

Saturday.

11am.
Propose going to the Portland Saturday Market, recommended by Graph Search. Wait for Joe to veto this suggestion, saying that it is full of people from the suburbs. Have Joe instead take you for Vietnamese food at Ha VL in Southeast Portland. Be impressed by the fact that it is in a shopping complex full of Asian restaurants and that the other patrons are largely Asian. Did you know that the Vietnamese have pho for breakfast?
Tools: Graph Search; word of mouth.

1pm.
Take a walk around the Japanese garden, recommended by Graph Search, the Times, and most other travel itineraries for Portland. After you achieve a sense of peace, take in the beauty of the rose gardens, founded in 1917 and the oldest continuous operating rose garden in the United States.
Tools: Graph Search; New York Times; word of mouth.

3pm.
Get all natural, hand-crafted ice cream at Ruby Jewel, recommended by Joe. If you have enough appetite, try the salted caramel apple pie a la mode.
Tools: word of mouth.

4pm.
Do some shopping downtown at stores you serendipitously discover by wandering around. Tanner, Polar, and Yo! Vintage are all on the same block.
Tools: serendipity.

5pm.
Wander around Powell's Books, discovered by Graph Search as a highly recommended destination. The largest independent new and used bookstore in the world, Powell’s takes up a city block and has multiple sections, including ones for comics and rare books.
Tools: Graph Search.

7pm.
Discover Cacao Drink Chocolate while walking and take a hot chocolate break. Sample the hot chocolate espresso shot or a cup of melted single-origin chocolate.
Tools: serendipity.

8pm.
Dine on French cuisine at the Little Bird Bistro, recommended by the NYT as the more accessible alternative to the popular Le Pigeon, flagship of chef Gabriel Rucker.  Spend a leisurely couple of hours enjoying the food and cocktails.
Tools: New York Times.

11pm.
Imbibe local beers at  Eastburn, recommended by Joe for its proximity to Little Bird. Enjoy the wide variety selection of beers on tap, perhaps on the patio.
Tools: word of mouth; serendipity.

Sunday.

11am.

Have brunch at Woodsman Tavern, which you discovered on your way back from Broder the other day that a local called her favorite restaurant in Portland. On your way out, browse the snacks and sodas at the adjoining store.
Tools: serendipity; word of mouth.

2pm.
Ditch the original plan of going to Voodoo Donut, discovered via Graph Search, after a local tells you that it is "touristy" and a "last result." After failing to hunt down the donut truck that is supposedly the best source of donuts, pick up a snack at Blue Star Donuts before they run out for the day. (This usually happens in the early afternoon!)
Tools: Graph Search; word of mouth.

3pm.
Wander around the boutiques of East Burnside. There is Redux, recommended by the Times as an analog Etsy housing the work of over 300 artists. There are also fun surrounding vintage shops. In the way of designer boutiques there is Machus for mens's high fashion and Lille for lingerie.
Tools: New York Times; serendipity.

5pm.
Continue exploring downtown Portland. Walk around Pioneer Courthouse Square, recommended by Graph Search. Peer into some boutiques you passed by earlier but did not enter, such as Frances May.
Tools: Graph Search; serendipity.

7pm.
Dinner at Biwa, a homestyle Japanese restaurant recommended by the Times. Enjoy the yakitori (grilled chicken), handmade ramen and udon, rice balls, and sake.
Tools: New York Times.

Discussion.
It turned out that while Graph Search provided a nice initial preview of what Portland would be like, the New York Times and locals suggested higher-quality activities: those that were more highly reviewed on internet sites such as Yelp and by other locals. Serendipity is also a useful tool: finding one thing you like can help you find other similar things, either by walking around the neighborhood or by asking people there for suggestions. For all technology can do to provide new ways for people to interact, for purpose of travel it would do well to start by replicating these processes of consulting experts and exploring clusters of similar options. Since we already have sites like Yelp and TripAdvisor to allow people to do this with strangers, it will be interesting to see how Facebook Graph Search can allow us to leverage the social graph to improve upon this.

Wednesday, May 15, 2013

Facebook Graph Search as a Journalistic Tool

Facebook is becoming an ever-powerful stalking tool. The social network now associates users with not just profiles stating some facts about their status and interests, but also, among other things, with photographs, location check-ins, games, and "pages" corresponding to businesses, brands, and celebrities. Until recently, however, the only way to thoroughly stalk someone was to manually comb accessible photos, locations, and pages.

Then came Facebook Graph Search. Graph Search allows users to search Facebook data to which they have access. Not only is it now easy to find which friends, friend of friends, and friends of friends of friends live in each city in the world, but we can find out who is tagged in photos with whom, who has been to what location with whom, and what pages our friends are liking. Anything that gets posted can now be scrutinized by those with permissions to access.

Facebook has posited that this is potentially a useful tool for journalists. For the final project of the News and Participatory Media class I am taking at the MIT Media Lab, I decided to investigate this claim. As part of this endeavor, I wrote According to Graph Search: 36 Hours in Portland, Oregon, a travel piece written without much prior knowledge of the destination and researched solely using Facebook Graph Search.

In this post, I describe how Facebook could be useful for writing about lifestyle and recreation. I also discuss why Facebook and Graph Search may need to undergo some changes for it to be useful for topics with more political and policy implications.

What can I do with Facebook Graph Search?
Facebook Graph Search allows users to programmatically access information about data that other users have posted socially. The interface currently allows users to search photos, tagged people and locations, and pages that users have "liked." Example searches include:
  • Games that my friend play.
  • Restaurants in Cambridge, Massachusetts that people I work with visited.
  • Photos of Democrats and Republicans.
  • Friends of my friends of friends who live in Cambridge, Massachusetts.
This search capabilities allows users to search the activities of a specific person or the people associated with specific photos, locations, etc. Graph search allows me to discover that my friend Jane has been at the Grand Canyon either by searching Jane or the Grand Canyon.

Graph search currently only supports search over explicitly labeled data: user tags, location tags, and page tags. Thus it does not support search over status updates and "likes" of status updates. This is not a fundamental limitation of graph search: being able to search the contents of posts would require graph search to work on a much larger scale. Adding hashtags would allow users to be able to search based on dynamically generated labels. Supporting search over the content of posts would require crawling over post data in real time. This is at the cutting edge of search technology and probably more than we can expect from Facebook at this point.

There have been some concerns about Graph Search and privacy. Privacy by obscurity is no longer possible: users can no longer hide behind how difficult it is for other users to access information. Graph Search guarantees that searches will only search over what a user is allowed to see. Users are now allowed to see more information than was previously convenient to browse. For instance, a user can "hide" a photo in which they are tagged from their timeline, but it is possible for Graph Search to make this photo available to those with permissions to see the tags. Previously, a user would have had to go to the profile of the user posting the photo in order to discover it. While these problems are not fundamental privacy issues, we increasingly rely on Facebook to support and correctly enforce palatable policies on what data other users can search.

How useful is Graph Search for journalism right now?
Facebook Graph Search allows people to easily search people who may have useful information about an event or location. For instance, "People who have been to the Boston Marathon Finish Line." These searches can also be narrowed: "People I work with who have been to the Boston Marathon Finish Line." There is also potentially useful timestamp information, as users can see when a photograph or check-in happened. It is also helpful that Facebook users tend to list some basic demographic information publicly, for instance name, gender, and current city. Many users also publicly list educational and/or work information.

Graph Search provides a nice first pass for writing about locations and people. Facebook has "pages" that are essentially profiles for celebrities, businesses, brands, and other non-persons. Pages can be tagged in photographs and check-ins. Pages report the number of users that "like" the page, that have "checked in" to the location corresponding to the page, and that are currently "talking about" the page--either through a check-in, on the page's "timeline," or in a tag. Facebook also supports star rating and reviews for pages corresponding to businesses. These reviews tend to be much shorter than Yelp reviews, making it possible to get a wider range of opinions. The flip side of this democratization is that there is less filtering.

There are some open issues with using Graph Search for journalism. One obstacle is verification: determining the veracity of tags and identities. It also remains unclear what barriers privacy settings might impose on using Graph Search for journalistic purposes. Journalists using Graph Search must be careful to account for the fact that the cross-section of location, photo, and "like" data is skewed based both on who is sharing information: people in their social networks and also people sharing information publicly. It seems, however, that there is always such a bias in journalism.

Facebook and Graph Search are currently not well-suited for reporting on topics outside of lifestyle and recreation. For breaking news, people do not seem to post as much news on Facebook as on Twitter and there is currently no way to search by topic. Ever since Facebook allowed "public" posts, there is more information publicly available, so these seem to be more incidental issues. A major issue that remains, however, is the linking of user identity with posts. It is one thing to associate restaurant reviews with your identity, but for many, especially those in countries with more restrictive governments, it is another thing entirely to associate your identity with political opinions. Because it is more difficult to be anonymous on Facebook, Facebook will need to implement additional mechanisms--and ones that people trust--to feel they can share "serious" opinions with relative impunity. What prevents people from posting more political opinion outside of small trusted circles is a more fundamental issue.

On using Graph Search to write a travel piece.
As Facebook and Graph Search currently seem to be best suited for lifestyle pieces, I wrote According to Graph Search: 36 Hours in Portland, Oregon using primarily Graph Search to evaluate it as a journalistic tool. The only other source of information I used was Google Maps for learning about relative locations. I proceeded as follows.
  1. I looked at the results of the query "Photos taken in Portland, Oregon" to see what looked interesting.
  2. I looked at the pages associated with the locations tagged in the photos to learn more.
  3. I queried for restaurants, bars, night clubs, and coffee shops in Portland, Oregon to fill out the rest of the weekend. In selecting which activities to include, I looked at the average star rating assigned by Facebook users, how many "likes" and check-ins the place had, and the general sense I got from reading the description, wall posts, and reviews.
  4. To help order the activities in a sensible manner, I used Google Maps to plot the locations.
  5. To flesh out the article, I returned to the pages corresponding to the businesses and look at the wall posts and reviews for quotes. I also looked at the
  6. Whenever I used a quote, I looked up the profile of the user associated with it to see what other information I could find. Most users had their current city publicly listed. I did not go further to verify these details, but I suspect that reporters do not go much further in cases like this, where identities do not matter as much. 
I was surprised to produce weekend plan that I would be happy following. I was also surprised that so much information about people's opinions of businesses was available to me essentially publicly: I only came across one post from a Facebook "friend" and I did not end up using this information.While it would have been interesting to see what friends post, for journalistic purposes it seems better to search based on the less social aspects of Facebook data. An additional note is that while people made their opinions public, their profiles remained relatively private: I was not even able to see the current city of some of the users.

In comparing to the New York Times's version of 36 Hours in Portland, Oregon, I learned that I had the right idea with many of the activities (beer; karaoke; antiques; nature) but only overlapped with the Times writer Freda Moon on one activity, the Japanese Gardens. Since the "36 Hours" activities are fairly specific and a weekend is a short period of time, the lack of overlap is not surprising. The activities proposed by Moon are arguably more hip and sophisticated, perhaps reflecting the difference between the intended Times audience and the cross-section of population making public posts on Facebook. The curation of the Times is useful: there is less quality control when crowd-sourcing travel advice to Facebook.

In its current state, Facebook Graph Search is better-suited for writing a travel article than Twitter but not obviously better than Yelp or Google Maps/Places. Facebook has an obvious advantage over Twitter because it contains more information about users and links data from users with data about locations and businesses. At present, Facebook's advantage over Yelp or Google is that it lowers the barriers for Internet users to post opinions, thus decreasing the selection bias. Because of the relative youth of these features in Facebook, however, Yelp and Google currently have more reviews.

In the future, I could see Facebook surpassing Yelp or Google to provide more relevant personalized recommendations. It is incredibly powerful to have a system that associates user identities with demographic information with other activities such as "like" and check-in information. In the future, it will be easy to find people according to what they like and where they have been. It will also be easy to figure out what is popular among whom. If we could look at how star rating change based on different interests, locations, and other likes, we can get a precise idea of who is interested in what. This could make it possible to algorithmically generate travel suggestions tailored to the interests of each individual traveler.

A Future with Graph Search
As Graph Search matures, it is exciting to see how it enables journalists to write about people's preferences and opinions. I am curious to see how adding features like search through posts could make it Facebook more useful for reporting breaking news and public opinion on topics outside of lifestyle and recreation. In order to make people feel comfortable posting "serious" opinions on Facebook, however, Facebook will need to think about how to protect people's identities while allowing them to share information credibly.

Despite my affiliation with Facebook as a Facebook Fellow and former intern, the views I express in this post are 1) my own and 2) based solely on publicly available information.

Tuesday, May 14, 2013

According to Graph Search: 36 Hours in Portland, Oregon

Photo credits, clockwise from top left: The Portland Japanese Garden Facebook page; Powell's Books Facebook page; Ray's Ragtime Facebook page; LaurelThirst Public House Facebook page; Jesse Cornett via Facebook; Deke Dickerson via Facebook.

I wrote this piece as part of an experiment to see how much I can learn about a city primarily using Facebook Graph Search. I chose Portland because I have never been there, have only a vague idea of what the city is like, and have few Facebook "friends" who post about it.

The goals of this piece are twofold: to produce an act of journalism in the style of the New York Times's 36 Hours series on weekend trips and to evaluate hypotheses about the viability of Facebook Graph Search for journalistic purposes. I wrote this article using leads obtained solely information from using Facebook. I used Google Maps for validating locations and for clustering sighseeing of nearby locations. After each activity, I have a brief note on how I discovered it.

Some questions to think about while reading this piece are as follows. How might my social network be biasing the article? How might the population of active Facebook users be biasing the article? How are these biases different from the usual biases of journalists? What information is missing if we look only on Facebook? For comparison, you may be interested in reading the New York Times's version of 36 Hours in Portland, Oregon.

FRIDAY

4 p.m.
Start your weekend at Powell’s City of Books, a popular book store, coffee shop, and tourist attraction liked by 17,204 Facebook users. Over 66,740 Facebook users checked into this book store and 374 are currently "talking about" this "bibliophile's dream." Portland resident John Stephenson says, “I know some folks that should live here simply for this one store.” According to Nicole Bell of Oregon City, “Everything and Anything to read is right at your Fingertips.” Portland State student and National Guard member Bobby N Marci claims this is her favorite place on earth. Those who "like" Powell's also "like" the author Haruki Murakami and advice columnist Dear Sugar from the online literary magazine The Rumpus.

I discovered this by searching "Shopping & Retail places in Portland, Oregon."

7 p.m.
Grab a burger and a beer at the Deschutes Brewery, a Pearl District destination liked by 2,954 Facebook users and visited by 33, 392 users that combines Northwest culture with a Scottish Pub feel. Deschutes has 18 taps featuring, in addition to the mainstays, seasonal and experimental beers developed and brewed on site by Ben Kehs. Vancouver, Washington resident Steven Venetta says this is his "favorite place to go out to eat/drink in Portland." For food, Venetta recommends the elk burger; for beer, he recommends Abyss, Hop Trip, and Green Lakes. Facebook user Charles Replogle raves about the gluten-free menu and reports that there is a "TASTY" gluten-free microbrew on tap.

I discovered this by searching "Restaurants in Portland, Oregon."

10 p.m.
Go for drinks and karaoke Alibi Tiki lounge, liked by 2,109 Facebook users and visited by 14,402 users. According to Los Angeles musician Deke Dickerson, Alibi is a "national landmark" frequented by "young hipsters" that "retains enough local flavor to be the real deal." Locals and tourists alike seem to be enthusiastic about the karaoake and the tiki aspects of this lounge. Cornelius, Oregon resident Geoffrey Waggoner recommends the "Luau Pork Sammich," calling it “orgasmic.” Regulars like to post on the Facebook page when they plan to go for, in the words of Portland resident Jessica Boyd, "sexy singing times."

I discovered this by searching "Photos taken in Portland, Oregon."

SATURDAY

10 a.m.
Spend a leisurely few hours at the Portland Saturday Market, liked by 68,158 Facebook users and visited by 53,966 users. In operation since 1974, it is our nation's largest continually operating outdoor arts and crafts market. At the artist's booths, you can not only meet the artists but witness the creation of one-of-a-kind pieces. You can pick up breakfast and lunch from the exotic food offerings while enjoying the live music. Facebook fans rave about everything from the food to the live clothing to how the market is a “great place to take pics.” According to several Facebook fans, this is the one destination they do not miss during visits to Portland. But be careful: Matthew Futrell of South Carolina cautions against “beggars and cigarette bums.”

I discovered this by searching "Photos taken in Portland, Oregon."

2 p.m.
Take a relaxing hour or two to enjoy a stroll through the beautiful hills of the Portland Japanese Garden, liked by 14,776 Facebook users and visited by 25,893 users. The garden has been proclaimed the most authentic Japanese garden outside of Japan. Facebook fans like the "peace" and "perspective" that a walk through the garden provides. Those who like the garden are quite enthusiastic about recommending it to others. Federal Way, Washington resident Lance Ferrell says, "I would make a special trip to Portland just to see this."

I discovered this by searching "Photos taken in Portland, Oregon."

4 p.m.
Grab a snack at Voodoo Donut, a vegetarian and vegan restaurant liked by over 107,000 Facebook users and visited by 141,100. According to US News and Travel, Voodoo is among America's best donuts. Alaska resident Lori Campbell high recommends the maple bacon donut, saying she hand carried it all the way back to Anchorage, Alaska. Brandon Krenzler of Pendleton, Oregon says, "You'll not find doughnuts like this anywhere else" and calls Voodoo a "Keep Portland Weird classic."

I discovered this by searching "Photos taken in Portland, Oregon."

5 p.m.
Take a stroll along the Portland Waterfront and surrounding areas. Watch people play with their dogs in the Waterfront Park, walk by the Portland City Hall, and make your way to Pioneer Courthouse Square, liked by 8.248 Facebook users and visited by 50,512. In this city park there are shops, there is food, and there are people. There are public movie showings. This next month, Weezer is coming for a free concert. According to photographer and Independence, Oregon resident Ryan Zeigler, this is the "REAL center" of Portland.

I discovered this by searching "Photos taken in Portland, Oregon."

8 p.m.
 Rest your feet at Portland's historic non-profit Hollywood Theatre, liked by 5,199 Facebook users and visited by 1,348. According to the Facebook page, it was built in 1926 and has "beer, wine, pizza, and the best popcorn in Portland." It has hosted vaudeville shows, silent films with live orchestration, and more. Facebook fans are enthusiastic about the theater's "personality," its popcorn, and its film selection. Vix Standen of Kingston upon Thames writes, "the hollywood is the best cinema in the entire universe. the staff are beautiful, the 'corn is delicious, the seats are super comfy and, most importantly, the film selection is always rad."

I discovered this by searching "Photos taken in Portland, Oregon."

11 p.m.
Check out local live music at the LaurelThirst Public House, liked by 2,241 Facebook users and visited by 4,463. According to Ben Waterhouse in the 2011 WWeek bar guide, "The leaders of the city's bluegrass, folk, old-time, gypsy jazz and Americana scenes, plus various combinations thereof, can be found every night at this entirely kickass bar. I've never seen a bad show here." According to bar's Facebook page, there is live music every day and twice a day Wednesday through Sunday.

I discovered this by searching "Night clubs in Portland, Oregon."

SUNDAY

11 a.m.
Have brunch at Tasty n Sons, liked by 4,236 Facebook users and visited by 20,327. Tasty serves "Toro Bravo style brunch" with a menu that changes based on seasonal variations, local farmers' produce, and the kitchen crew's inspiration. Patrons are excited about, among other things, the bacon-wrapped dates, cauliflower, and lamb sausage. Carl Brochu of Renton, Washington recommends the bloody Mary. Anna Va writes that Tasty served her the "best and most memorable food I've ever had."

I discovered this by searching "Restaurants in Portland, Oregon."

1 p.m.
Relax in Wilamette Park. When you are ready, try stand-up paddle-boarding on the Wilamette River, renting boards at Gorge Performance.

I discovered this by searching "Photos taken in Portland, Oregon" and then trying searches involving "Wilamette."

4 p.m.
Get a cup of coffee at the Coffeehouse Northwest, liked by 567 Facebook users and visited by 1,153. Portland resident Jon Powell admires the “little patterns in the mocha,” saying it is “like a dream.” Portland residents Leah Flores and Michael Jensen say this is their favorite coffee shop in Portland. Nicholas Walton of Corvallis, Oregon comments on the "beautiful space" and "beautiful equipment." Shem Ishler of Minneapolis, Minnesota says the coffee is “the way it was meant to be."

I discovered this by searching "Coffee shops in Portland, Oregon."

5 p.m.
Go vintage shopping at Ray’s Ragtime, a vintage shop featured on LA Frock Star. According to the Facebok page photos, the store features clothing across the decades, jewelry, masks, books, dolls, and other collectible items. Portland resident Victoria Taylor says that this is “one of her favorite all-time stores.”

I discovered this by searching “Photos taken in Portland, Oregon.” 

Have fun! And in case you are curious, I reflect on this experiment using Facebook Graph Search in this post, Facebook Graph Search as a Journalistic Tool.

Thursday, April 11, 2013

On Choosing Between Good Schools

I have been talking to many people recently about choosing schools, both for undergraduate and graduate education. Here is a compilation and elaboration of what I have been saying. It is important to read the last point so you can appropriately discount this advice!

Note that this advice is for the last stages of the decision process. For some more substantive advice about doing the research to get to this point you may want to read my blog posts on school visits and choosing schools/advisors.
  • Don't assign yourself too much responsibility for deciding your life outcome. Do your research and all about what's good and bad and what's a good fit, but remember that there are many things out of your control. For undergrads: you might find that you are interested in completely different fields from what you expected. For grads: your advisor might transfer; you might transfer; you might decide to do research in an entirely different area; you might decide to drop out. It's good to plan but always remember that if you over-optimize for your current life plan while screwing yourself over with respect to all other possible futures, you're probably doing yourself a disservice.
  • Look at what people are showing rather than telling. It's easy to become convinced by schools telling you how great they are, especially according to metrics they have designed to make themselves look good. In addition, professors can be really awesome, but how great someone is on paper or during a short interaction is not necessarily indicative of how your life will be like working with them. Look at the senior students in a program and ask yourself and them whether they represent what you want. What resources have they had access to? What are they going to do with their lives? Are they happy? Are you impressed with how smart they seem? Are you impressed with the work they've done? Are you impressed with the people they have become? Ask about past students to help with extrapolation.
  • Go with what you're in love with. We are governed by our emotional selves. In some cases you will have a gut reaction. You should pay attention to that gut reaction. If you really want to be somewhere, even if can't put your finger on why, you will be fine doing more work (for instance, having a lower standard of living or taking on a heavier courseload) to make that happen. If you only like something on paper but can't become emotionally invested, it's going to be hard work.
  • If you're not in love with anything, then the choices probably aren't that different. If you've done the research and there are a bunch of choices that are the same to you, flip a coin (or roll an n-sided die). Yes, your future will be different based on the choice you make but in most cases there are multiple parallel universes in which you develop into different versions of yourself but are happy. At this point you're not going to screw up your life with any of the choices. It's about making a choice in such a way that you won't keep wondering what would have happened had you made another choice.
  • Nobody (reasonable) will hate you for not choosing them. This doesn't matter at all for undergrad, as you might expect, since nobody is really keeping track. As for grad school, I still keep in touch with many of the professors at schools where I didn't go: I am friends with many of them on Facebook and we say hi at conferences. I found my current advisor because I had talked to his advisor at Berkeley and ultimately decided not to go there because I liked the cultural fit of MIT better. (It helped that I communicated that I had decided go elsewhere for reasons of cultural fit rather than research fit.)
  • Beware of advice. A professor once told me once that during her assistant professorship she stopped taking advice because it was all "highlights and wishful thinking." People tell you a lot of things but you have to remember that our world views and value systems are different from yours. And before you know what you want it's useful to ask people what they would do, but remember it comes with the context of what they wish they had been told.
The important thing to remember is to have fun. Nothing is so important and life is all about what you make of it anyway.

Saturday, March 16, 2013

The Longest I Ever Sit Still

At the end of 2012, after months of extreme travel, extreme work, and extreme play, I craved balance. When I went home for the holidays I dusted off the copy of Zen Flesh, Zen Bones pretentious teenage-me had bought and never read. This inspired me check some boxes related to Buddhism and spirituality on Meetup. Next thing I knew, I was confirmed to attend my first meditation sit at the Cambridge Zen Center.

As with everything else in my life, I approached this activity with enthusiasm and inadequate preparation. On the day of, I arrive at the Center a few minutes late for my newcomer orientation. "Hello!" I shout. "Welcome," the instructor replies in a softer, calmer tone. There are two of us starting that day. The other, a good-looking professionally-dressed man some age between 22 and 35, seems to have been there for a while. We are so focused on pretending we have read the preparatory materials (or maybe that's just me) that we do not even look at each other.

The instructor takes us into the room, large with large flat cushions on hardwood floors, and explains the sequence: bowing, chanting, walking meditation, a 25-minute sit, more walking meditation, and a 20-minute sit. The sit occurs on cushions in a cross-legged "lotus" position. He recommends that we meditate by counting our breaths to ten in a continuous loop. We are to notice our thoughts as they "come up" but not to "hold on" to them. I note that this is will probably be the longest I have ever been still.

The veterans join us and we begin. The bowing is fine: like yoga but with less lunging. The group chanting is fine: like middle school music class but without the singing. The walking meditation is even fine, though I keep wondering if I am doing it right. I find all this enjoyable, calming, comforting. Then comes the sit. The first long sit is... intense. Here is are some of the thoughts and questions that "came up" for me, punctuating more serious thoughts about fear, love, and everything else.

"I am terrified."
"What if I fall asleep and fall over?"
"What if I accidentally yell?"
"I can focus on both counting and thinking. Shit, that's not the point."
"How do I know if I'm meditating?"
"My leg is falling asleep. What if I fall over?"
"How do I keep from falling asleep?"
"How should I be feeling?"
"I wonder if other people are falling asleep too.
"I hope this is not a cult*."
"I still don't know what it's supposed to feel like."

Fortunately, finally, the instructor rings the bell indicating the end of the first session. As my legs have fallen asleep, I spend the subsequent walking meditation focused on not falling over. My legs do not fully regain circulation until it is time to begin the second sit. Here are some of my thoughts during that.

"How am I going to do this again?"
"I am less scared now."
"I wonder when this is over."
"If I count more slowly, time will go by faster."
"My leg is falling asleep again. This means this session must be over soon."
"I really want this to be over!"
"I wonder if I fall asleep, this will end faster."

The instructor rings the bell indicating the end of the second sit and I run out the door. It was a strange feeling, the feeling of having accessed thoughts and feelings that in normal consciousness you have pushed away and never expected to see again. If doing yoga is, as my instructor says, like reaching into the "garage of your feelings," meditating is like spending time in the second secret attic of your mind. So this is what I think about when I am not actively thinking: wow; yikes. I felt the way I do after finishing a major deadline: simultaneously drained and hyper-alert.

In the months to follow, as I have gone to meditation more times, I have slowly been able to let go of the meta-thoughts and focus more on settling into my mind. These long sits have become less draining and I would like to think that it has improved my focus and my sense of well-being. During one of my most recent sessions, towards the end of the second sit, I was even able to enter into a rhythm where I did not actively think about anything and simply existed. ("Was this meditation? Is this how peaceful people normally feel?" I wondered.) I have also been working on the issue of falling asleep: when I asked a Zen teacher about how to stop, he said that fatigue is just another feeling that arises, the same way anger may come up for someone else. This has taught me to notice and honor the exhaustion that I thought I could suppress.

My goal is to eventually meditate every day. (If both Zen teachers and CEOs recommend it, there must be something to it.) I am still a long way from my goal, but if there is one thing meditation has taught me, it is to be patient with my mind and not to force anything.

* In a previous attempt to become more spiritual, I accidentally almost joined a cult.

Friday, February 01, 2013

Life without Wine, Whiskey, or Even St. Germain

I used to be deeply suspicious of non-drinkers. I assumed that everyone who categorically refused alcohol (who was neither a Muslim nor a former addict) was using their sobriety to guard at least one sordid secret.

Then months of deadline pressure, frequent timezone switches, coffee, and alcohol left my stomach in rebellion. After eliminating the other offenders one by one, I realized that I would have to stop drinking--at least for a while. Two months later, I am grateful to my body for forcing me to abandon what I thought were reasonable habits. It has been enlightening.

It was not that I was a heavy drinker. I would order a drink with everyone while dining out; I would have a few drinks out dancing or at a party. And if I was meeting a friend for a drink, of course I was not going to sit there and awkwardly drink nothing. Drinking was an important part of my life: not only did it enable me to participate in fulfilling social activities, it was a relaxing activity. Or so I thought.

I have discovered not drinking to help me have more fulfilling interactions with others: it forces me to be honest about how much I am enjoying myself. A small amount of alcohol can go a long way to mask the intolerable: a dull conversation partner becomes fascinating; 4 A.M. feels like 10 P.M. During the first nights out without alcohol, everything felt boring and exhausting. I spent a few weekends avoiding social situations--I was "too tired," "had other plans," or "might be out of town"--before I realized that I was going to need to learn to socialize sober. Since then, I have learned to enjoy myself in many situations where it seems like everyone else is drinking: karaoke nights, parties, and even New Year's in Montreal. If I am bored, I find a more interesting conversation topic or partner. If I am tired, I leave. There remain some situations that are unbearable without the appropriate anaesthetization: for instance, when people are sloppily falling over and spilling drinks on me. But this is not a situation I should be enjoying anyway. Sobriety provides a good barometer for determining when the night is over for me.

Being sober has also allowed me to explore other, more long-term sustainable, methods for relaxation. Well before I stopped drinking, I read that frequent alcohol use can cause or worsen anxiety and depression. While this idea caused me some amount of anxiety, I assumed my alcohol use was sufficiently infrequent to avoid this. I was convinced that the edginess I felt after a night of drinking was caused by sleep deprivation and stress from other parts of my life. If anything, drinking helped with that stress. When I stopped drinking, however, that edginess went away. After a late night out sober, I might feel tired or stressed from the week, but no longer that anxious buzz. In addition to helping me feel happier, sobriety has created space for more relaxation. I now have more time, money, and presence of mind for cooking, yoga, and meditation.This has increased my overall happiness and wellness.

To alleviate the some fears of those considering non-drinking: the most surprising thing has been how little it has changed the structure of my social life. Fortunately, it turns out that most people are less suspicious of non-drinkers than I had been. It helps to be with people who will not pressure you to drink. (But what kind of real friends would pressure you to drink after you tell them you stopped for "health reasons?") There is also no reason to tell people you are not drinking--and default assumption is that you are. Most people do not ask you the exact contents of that glass of water, ginger ale, or soda-and-juice concoction. (Nicer lounges often have delicious non-alcoholic cocktails. The other day, I had a lovely Sprite-based beverage with pomegranate and pineapple juices.) I have also come to enjoy talking about alcohol with my non-drinker friends: it is validating to discuss the benefits of not drinking and strategies for staying sober among drinkers.

I do not plan to categorically swear off alcohol forever: I miss my St. Germaine gin cocktails; I miss tipsy philosophizing over whiskeys neat. I expect, however, that when I do drink again it will be a far more infrequent indulgence. I have become too aware of the tradeoffs.

To my fellow alcohol-loving friends: you do not have to become an alcoholic or pregnant to stop drinking! Try it for a while. You might find that you like it.

Friday, January 25, 2013

The Problem with "Mansplaining"

The "mansplaining" meme, which captures the phenomenon of men being patronizing to women in conversation, is trending on the internet. There is a Tumblr here; a Hillary Clinton meme there. While it is good that women are speaking out about sexism, there are some issues with using the term "mansplaining." Not only does it distract from the real problems, it also perpetuates behaviors that prevent progress. Allow me to mansplain.

The term "mansplaining" conflates two issues: that men tend to explain things in a manner that may be interpreted as patronizing and that people explain things to women with the assumption that they are ignorant. The first can largely be explained by conversational differences between men and women: in Talking from 9 to 5, Georgetown sociolinguist Deborah Tannen discusses how in conversations, (American) men tend to seek a dominant position, while women tend to prevent the other person from taking a subordinate position. Men also often use knowledge (for instance, statistics about sports teams) to establish this dominance. It is no wonder, then, that conversations between men and women often end up having the man explaining things in a condescending manner to women. Rather than mocking men, it is more productive to create awareness of these conversational differences. Men can use this awareness to be more careful when talking to women (or anyone else from a culture where establishing dominance is not the norm) and women can use this awareness to perceive the situation differently (for instance, be less offended or intimidated) when talking to men.

Because it brings in stereotypes about men vs. women, the "mansplaining" distracts from the real issue: that people are often condescending to women. In Why So Slow?, psychologist Virginia Valian explains that this often because of statistical bias. Using heuristics to make snap judgments is how we are able to effectively deal with overwhelming amounts of input. Using these same heuristics is often why people (men and women) assume women are less capable. Especially in technical fields, there are fewer capable women. Thus, given any specific woman, she is more likely to be ignorant than knowledgeable. Thus a reasonable snap judgment is to assume that a woman knows less than she does. Fortunately, we can second-guess our snap judgments. Awareness can again mitigate this problem: if we know we are likely to make a snap judgment that is wrong, we can be conscious of these situations and adjust our judgments accordingly. In overcoming snap judgments, it also helps to focus on specific attributes of a person instead of whether they are a man or a woman.

The term "mansplaining" perpetuates this gender-based statistical bias by focusing attention on the male gender rather than the behavior. The fact that this term exists makes it more likely that people will assume someone is "mansplaining" simply because he is a man. This is not productive for men who may be trying to overcome "mansplaining" tendencies. It increases the chances that the other person will dismiss what the "mansplainer" is saying outright, giving him less opportunity to practice having conversations with people who may not be accustomed to his dominance-seeking style of speaking. Also, the term "mansplaining" distracts from the fact that women can be sexist and condescending as well.

The "mansplaining" meme has been useful for raising awareness both about the tendency of men to come off as patronizing and the tendency of people to be condescending to women. But it distracts from the real problems and perpetuates gender-based bias. To work towards a solution for productive cross-gender conversation, we should focus on specific behaviors rather than gender stereotypes and on listening rather than on pointing fingers.

Saturday, January 19, 2013

Cooking for One

You there. Eating takeout at your kitchen counter, pots and pans clean and neatly stowed. Third time this week. Your taste buds are getting a little bit bored and your stomach a little bit skeptical of that recycled deep-fry oil. Why don't you cook?

What's that? You are waiting for your roommate or partner. Or you are sad because you have no such roommate or partner. Gastronomic pleasure need not be shared, you know. You can cook for one.

I know what it is like. Losing a cooking partner--especially one to whom I played a supporting role in the kitchen--was one of the more devastating aspects of past breakups. With whom was I going to invent dishes like ancho chile risotto? How was I going to have more than one home-cooked dish per meal? Who was going to test the food to make sure we were not going to die?

And I have suffered for years. I have spent more time than I would like to admit calling Tofurkey sausage, noodles, and a sauteed vegetable "dinner." I have spent more money than I would like to admit eating out because I got bored of this "dinner." "I don't cook," I would say. "Who has time for that?" Then, one day while aimlessly clicking through dating profiles of men in Israel*, I had a revelation. I could start cooking for myself. Not just stir-fries, but soups and casseroles and other things involving more than four ingredients.

Brilliant, I thought. There are so many obvious advantages to cooking for one. You can cook whatever you want. You can cook whenever you want. You can listen to whatever music you want while cooking. You don't have to worry about getting stabbed if you turn around too quickly. You don't need two people to chop vegetables! Recipes still work when you are on your own! Also, Google is surprising helpful for mitigating concerns about imminent death. (Just today, I searched "Can you combine raw tomatoes with raw honey?" I am that paranoid.)

There are some basic lessons in cooking for one. A key insight, my roommate says, is to pretend you are cooking for two and have leftovers. As cooking for two is the same amount of effort, this is an easy way to increase variety across meals. Cooking larger portions also helps you avoid the awkward situation where you are only using one quarter of an onion at a time. There are also other, smaller tricks: microwaves and ovens are great for keeping things warm for when you have to cook in sequence. Having small tupperware containers is good for both smaller leftovers and small left-over ingredients.

There are also some fun challenges: how to get variety; how use ingredients before they expire. With no one to watch, you can get creative. Have basil instead of mint? Basil tabbouleh! Don't want to buy cream just for a soup? Use yogurt instead. Want to cook pears with chiles? Go for it. Sometimes you fail--as I did today with a tomato/basil/honey dessert--but hey, no one is around to see. And who knows, you might create something amazing. My favorite creation is a cold spinach dish based on the Japanese ohitashi appetizer that uses soy and chile sauces instead of tahini. I was once told that if I invent four other dishes this good, I could start a campus restaurant.

The leftover problem also yields a nice puzzle. Most recipes seem to be for at least four people, as are the default grocery store sizes of ingredients like celery. Left unsolved, the problem is that you will have leftovers for lunch not just the next day, but the day after, and often the day after that. Choosing dishes that freeze well (for instance, soups) can help with spacing this out. You can also pretend your weeks are extended Top Chef episodes by reducing recipe portion sizes and finding different recipes for the same ingredient. Even still, you should not be surprised if there are weeks when you eat celery every day**.

But of course, cooking for one is not for every dish. It does not make the most sense, for instance, for dishes like risotto that are labor-intensive and do not keep well. These are what restaurants are for! Eating out for one is also fun--far more fun than romantic comedies would have you believe.

Go on, explore the world of solo cooking. But don't forget to come back out for a meal with a friend every now and then. Otherwise we would miss you.

* I have never been to Israel. I do not have plans to go to Israel. In denial of the true depths of my time-wasting problem, I classify this activity as "anthropological research."
** It is not clear why they sell celery in such large bunches when such small amounts are needed for soup. I am certain this is why ants on a log exists as a snack.`

Sunday, January 13, 2013

Upgrading to Scala 2.10.0

Scala 2.10.0 came out recently. It has many nice features I haven't used yet, for instance type tags, and production versions of many nice features that I was already using, for instance type Dynamic, implicit conversions, and reflective calls. I upgraded my main project to it and found it to be relatively painless.

My upgrade involved the following corresponding updates:
  • Updating my SBT version. I had been using an older version of the SBT build tool (0.7.7), so I upgraded that to 0.12.1. (Any version higher than 0.11.0 should work.) This was the most painful of all since SBT has changed the way its build files work. The new SBT build system is simple, so it was mostly a matter of figuring out which variables to set and how.
  • Updating library versions. The only dependency that affected me was that Scala 2.10.0 uses ScalaTest 1.9 instead of 1.8.
  • Updating compiler options. Type Dynamic, implicit conversions, and reflective calls are no longer experimental and now correspond to the flags "-language:dynamics," "-language:implicitConversions", and "-language:reflectiveCalls." I also added the "-feature" flag for a reason I can't remember. A small other thing is that I had to define a selectDynamic function in addition to applyDynamic for types extending Dynamic.
  • Cross-version packaging. I still compile a Scala 2.9.0-1 binary for my other project because it uses Scalatra 2.0.0--although 2.0.5-SNAPSHOT is supposedly compatible with Scala 2.10.0. SBT provides nice support cross-version compilation: define your versions, make sure you declare the right dependencies based on the Scala version, and then just use "+ package" to produce binaries for all Scala versions. Here are my build.sbt lines corresponding to that:
     crossScalaVersions := Seq("2.9.0-1", "2.10.0")  
     libraryDependencies <+= scalaVersion(v => v match {  
      case "2.9.0-1" => "org.scalatest" %% "scalatest" % "1.8" % "test"  
      case "2.10.0" => "org.scalatest" %% "scalatest" % "1.9" % "test"  
     })  
     scalacOptions <++= scalaVersion map (v => v match {  
      case "2.9.0-1" => Seq("-deprecation", "-unchecked", "-Xexperimental")  
      case "2.10.0" => Seq("-deprecation", "-unchecked", "-language:dynamics", "-language:implicitConversions", "-language:reflectiveCalls", "-feature")  
     })  
    

For your versioning needs, you may want to investigate this version investigator that Paul Phillips wrote.

And finally, aquestion for my Scala-using friends: I have been hesitant to upgrade to Scalatra 2.2.0. Anybody have a pointer to a summary of the concrete changes I need to make to port my code?

Saturday, January 12, 2013

How Science Really Works

The theme of the week is research, theory vs. practice.

This past week, the #overlyhonestmethods Twitter hashtag went viral, my friend Phil Guo published an MIT Technology Review piece on the surprising importance of "grunt work," and my undergraduate researchers learned that "research" involves a lot of hunting down compatible versions of software packages.

Indeed, life in research is not what I fantasized as a six-year-old playing "professor" with my stuffed bear and raccoon, or even as an undergraduate student deciding the next years of my life.

How I thought graduate school would be. I arrive at MIT full of energy and wonder. Professors, noticing my unique capacity for innovative thinking, pull me aside and say, "Hey you, come work with me." I spend two weeks reading papers. After that, I produce ground-breaking ideas night and day. I discover productivity shortcuts that nobody knows about: I am able to eat less and sleep less, all while producing more. The brilliance of my ideas amazes the world. I spend most of my days explaining them in a cafe with a whiteboard. After I publish several seminal papers, universities call me offering me jobs, publishers call me offering me book deals, and journalists call me asking my opinion on all technological phenomenon. I tell them phones are so passe: everyone uses SMS now. During all this, I acquire a brilliant and handsome collaborator. After we realize we are twice as productive together, we fall in love. Together, we eradicate the world's software bugs. Along the way, I also eliminate sexism, racism, homophobia, xenophobia, and dust allergies. Since there is no Nobel Prize for Computer Science, the Nobel Committee awards me the prize in Literature*. All before my sixth year of graduate school.

How it is. I arrive at MIT full of energy and wonder. Professors, betting on my capacity for hard work, pull me aside and say, "Hey you, come work with me." I spend two weeks reading papers. After that, I work night and day trying to produce a paper for a conference deadline. I discover some "productivity techniques:" I eat less and sleep less and produce more work for two weeks.  Then I burn out for two months. Despite this sacrifice, the world does not seem to care how brilliant my advisor thinks our ideas are. We have another paper deadline. My advisor gives me all feedback between midnight and the 7am deadline. Learning from this, I become nocturnal in preparation for future deadlines. I spend most of my days (well, nights) installing obscure software packages and decompiling byte code into a more complex representation of the byte code. Nobody calls or texts anymore. During all this, I learn that the two-body problem** is one of many reasons I should avoid making eye contact with male academics, lest we accidentally fall in love and into a mutually destructive future. Reality crushes my soul.

And then. I stop idealizing science. I realize that even though science is conducted by humans according to subjective standards, we can still make progress. I accept that doing research means doing hard and often unglamourous work. I learn to play the game and to sell my ideas. I also learn to combat sexism, racism, homophobia, xenophobia, and dust allergies in my own life. Most importantly, I learn to enjoy myself.

To be continued: I am still in my fifth year of graduate school.

Addendum: Readers have noted that this paints a somewhat dismal picture of Ph.D. life. I describe some more positive aspects of this experience in this other post, Reasons to Pursue a Ph.D.

* Philosopher Bertrand Russell has also received the Nobel Prize in Literature.
** The difficulty of negotiating geographically colocated academic positions.

Saturday, January 05, 2013

What is Computer Science?

Every now and then, a non-technical friend--or stranger at a party--will ask me, "What is computer science?" As your typical antisocial computer scientist, I am often too tired to do justice to this question. From now on, I will carry around QR codes pointing to this post.

Computer science is the study of what machines can do for us. Among computer scientists there are theorists, applied logicians and mathematicians study what is even possible for a machine to compute. There are systems scientists who study how to get the power we want out of our machines. Then there are artificial intelligence researchers who help computers make unsupervised decisions--they are the ones responsible for the robots and the cool demos. Computer science researchers take the risk out of building systems; software engineers build the things we use.

At the core of computer science is a pile of logical foundations. People like to study how hard problems are: whether you can compute solutions in steps ("time") that are a polynomial function of size of the input, an exponential function, or something even worse. People talk about different classes of problems: for instance, P, the class of problems with polynomial-time algorithms, and NP, a class of problems for which polynomial-time algorithms are not known. It is not known whether P and NP are the same, but it would change everything if we discovered they were: all of our banking software is encrypted based on the assumption that P != NP (P not equal to NP). (A couple of years ago there was big news when somebody claimed to have proven P = NP.  Fortunately, it turned out to be a false alarm.) People across subfields talk about what is decidable: what it is possible to develop a terminating computational routine to do. This allows us to guarantee (haha!) that the software powering your space shuttle will not spontaneously freeze from getting stuck in an infinite loop.

Then there are the machines themselves. Incredible things. The invention of the transistor allowed for everything by making high (1) and low (0) signals, called bits, stable enough to build everything else on top. Computer hardware runs on bits combined into instructions and a set of logic gates (for instance: "and," "or," "not") for decoding these instructions. Instructions encode a unit of computation: for instance "add" or "store in memory" along with operands, either as constants or in as locations in memory. Memory just contains more of these bits (just 1's and 0's!). All a computer is doing, really, is reading instructions from code memory and reading to and writing from data memory. There are also details like interacting with a keyboard and a screen. One of the key ideas in systems is abstraction: building higher-level, simpler systems on top of existing ones to simplify reasoning. Programming languages shield the programmer from having to reason about bits and operating systems shield the programmer from reasoning about details like the interaction with the keyboard and in what order application processes should run. On top of all this we have the mobile app that let you read this post. Underneath, it's just bits.

And there is also the sexy artificial intelligence stuff. Back in the day, people thought they might create machine intelligence by modeling how the mind works. Now most of the routines powering robots (and spam filters and everything else) is based on statistical heuristics. Bayesian inference and fancier stuff. People who work on these kinds of things spend a lot of time thinking about how to get more accuracy out of their algorithms (for detecting faces, for predicting whether a message is spam, for planning the route a robot will take) and/or how to make these algorithms run faster. It is pretty amazing that all of the obscure stuff you might have learned in probability theory is the reason that your Facebook friend feed works.

As for me, I focus on programming languages. Programming languages protect people from having to reason about bits, or machine-level code, or sometimes even complex details of execution. Programming languages researchers range from logicians who try to make programs more correct and hackers who try to make people's lives easier. The specifics of this will be the subject of another blog post, as we seem to be reaching the limits of your attention span.

Oh, you were just trying to make polite conversation? Sorry. Maybe you can pass this along to a friend.

Saturday, December 29, 2012

Resolutions and Goals for 2013

It has come time for me to publicly announce my goals for 2013 in order to shame myself into following through.

I have the following resolutions.
  1. Only acquire things I will use.  Right now my "minimalism" is sustained by high object turnover: I give away things quickly to balance out acquiring them quickly.  To work towards true minimalism I will instate a two-week decision period before acquiring non-essential items.
  2. Get rid of things I do not use.  I would like to keep giving away (and occasionally selling) objects that I have not demonstrated need for in the past year.
  3. Only take on commitments I want and can handle.  I am happier and more productive when I want to be doing what I am doing and I have time to do a good job.  I will instate a one-day decision period for new commitments.
  4. Eat well.  I would like to take more pleasure in the process of eating and focus on quality rather than quantity.  I will make time for eating in my schedule and plan ahead so I can have food that is both good and good for me.
  5. Meditate.  In working towards meditating daily, in 2013 I aim to do it at least once a week. 

In 2013 I plan to keep pursuing my two main interests: 1) empowering people to be more productive through their programming tools and 2) empowering women to have the same opportunities as anyone else.

Towards improving programming tools, I have some specific goals regarding Jeeves, the programming language I have been developing for automatically enforcing privacy policies, and demonstrating its feasibility as part of a framework.  I would also like to continue spreading the gospel of statically-typed functional programming languages.  I would like to become more familiar with Scala and continue my Scala evangelism.

Towards empowering women, I am concluding my tenure as an Executive Board member of Graduate Women at MIT and would like to think about what other change I want to see.  I want to reach out to more young girls--I would love to see a framework that allows young girls to be pen pals with young women, their "future selves."  I also want to give people intellectual ammunition to defend their feminist views--for instance, in light of the Delhi gang rape death.  I will think about how this translates into actionable items for me.

Happy New Year, friends.  In the upcoming year, please feel free to discuss these goals with me to make sure I have not forgotten about them!

Tuesday, December 25, 2012

A Belated Brief on Barcelona

Notes from a more decadent time...

Itinerary: Barcelona with Kate, April 2012.  Photos here.

Day 1.  Arrive in Barcelona by plane close to midnight on a Friday evening.  Take the bus; take the train.  Arrive at train stop and realize map is insufficient for further direction. Take a cab but driver also gets confused.  Follow tourists on the street until I find the hostel.  Reunite with Kate, realize our neighborhood has only other tourists, and wander the streets dejectedly observing the foreign vendors of street beer and samosas.

Day 2.  Get up around 10, go to La Boqueria market, and day-drink in Montjuic amidst numerous fountains and the "most cactus garden." Descend Montjuic just in time for the magical fountain show.  Try to go to beach clubs but our friend Adnan is wearing Those Fucking Shoes.  Adnan redeems himself by dancing his way into a private function.  "Are you with that guy?  He is strange.  Here is a drink."

Day 3.  Get up close to noon, procrastinate going to the Picasso Museum, and eat a delicious vegetarian meal in El Ravel (at Sesamo*).

Day 4.  Get up at noon.  Walk past the Sagrada Familia; line is too long.  Walk past more Gaudi; admission is too expensive.  Walk around Parc Guell; drink more wine.  Meet up with a friend's friend who shows us a "real Barcelona experience."  We get Middle Eastern food; we go to some bars; we go to a club (Apolo).  At one of the bars, the friend's friend engages in a series of arm-wrestling matches with strangers.  Kate has a video somewhere.

Day 5.  Get up at noon.  Take the train to Montserrat to see the Benedictine monastery from the 15th century.  During each of my trips with Kate, there is a moment when we clutch each other in amazement.  This happened here.

Day 6.  Kate catches her flight.  While walking alone in the Miro park, I become victim to an elaborate con involving photography, cocaine and heroine, and policemen real and fake.  I can send you the definitive story via e-mail.

Out of consideration for the travelling pleasure of our future selves**, Kate and I have saved some sights for future visits.  Among these are the inside of the Sagrada Familia and the coastal village of Caldaques, home to Dali.


* Every meal was amazing.  Sesamo happened to be the one place where I took a card and so remembered the name.
** Not laziness.

Monday, December 24, 2012

Zen Living by the Rules of Soyen Shaku

In thinking about what I want out of 2013, I have become inspired by the rules of Soyen Shaku, the first Zen teacher to come to America.  Here they are, from Zen Flesh Zen Bones:

In the morning before dressing, light incense and meditate.

Retire at a regular hour.  Partake of food at regular intervals.  Eat with moderation and never to the point of satisfaction.

Receive a guest with the same attitude you have when alone.  When alone, maintain the same attitude you have in receiving guests.

Watch what you say, and whatever you say, practice it.

When an opportunity comes do not pass it by, yet always think twice before acting.

Do not regret the past.  Look to the future.

Have the fearless attitude of a hero and the loving heart of a child.

Upon retiring, sleep as though you have entered your last sleep.  Upon awakening, leave your bed behind instantly as if you had cast away a pair of old shoes.

Friday, December 21, 2012

On the Importance of Seemingly Useless Work

When I first started graduate school, an older student told me about the importance of maintaining a feeling of incremental progress. Even if you are doing seemingly useless work. This may be the best advice I ever received.

During grad school, I have found this "feeling of progress" at a macro level mostly in the non-academic parts of my life: in co-founding and seeing the growth of Graduate Women at MIT, in becoming a better, yogi, in developing deeper friendships, and in various channels of personal development.  Doing engineering on other people's research ideas during internship was also helpful.  Though it probably would have been nice to have more incremental results and feedback on my Ph.D. project (the first paper of which took three years to be published), this other progress gave me comfort that I had not been wasting my life.

Feeling progress is also powerful on a micro, day-to-day level.  The structured procrastination approach is a fantastic way of maintaining a feeling of progress.  (This essay quotes this other humorous essay by Robert Benchley here.)  The main idea is to allow yourself to do less urgent but also necessary tasks while procrastinating the task at hand: for instance, playing ping-pong with undergraduates (as part of attending to Resident Fellow duties) rather than finishing an essay.  Allowing yourself to do, and even prioritize, those tasks can make you more productive.

This all justifies my philosophy on work/life balance* (which is remarkably similar to my philosophy on eating): work when I want on what I want to work on**.  A lot of projects/tasks, personal and professional, fall into this category of "work."  Although I assign higher importance given to professional tasks and tasks with imminent deadlines, it is important to have non-urgent, non-professional items.  I have also begun assigning higher importance to tasks that easily yield high levels of progress-feeling: for instance, refactoring code and running errands.  Doing something because I want to do it, rather than because I feel like I need to, requires far less energy and discipline and also has a higher work-to-progress-feeling ratio.  (If something gets close enough to a deadline, however, I often suddenly desire very much to do it...)  This philosophy probably presupposes that I have a deep inner drive to work.  (Similar to my deep inner drive to eat.)

Progress is not so much a state of achievement but a state of mind.  I have to come to value and seek the feeling of progress as much as I do actual progress.  Not sure yet how much it is improving my output level, but it is certainly making me feel happier and more productive.

* We all know that the point of my blog is to validate my life choices.
** From a restricted set of permitted items.

Saturday, December 15, 2012

Yes, I am a Minimalist.

My friends laugh at my “minimalism.” And I do not blame them.

I like things. When I was younger, I aspired to own a Nalgene in every color. I have lost count of how many computers I have. Until recently, teenage girls loved using my bathroom to experiment with all the beauty products. After seeing how much I spent on a pair of (beautiful! white! leather!) gloves, a friend once asked if I was going through some kind of crisis and wanted to talk about it.

Having things has always made me feel safe. You never know when you will run out of shampoo or need to use a second mandolin for julienning a lot of carrots in parallel or get invited to an event where not only do you have to wear a fascinator, but it has to be pink. Better to be ready.

Then three important things happened in 2010. First, substantial amounts of water leaked from our roof through our ceiling over the course of months. Second, I made friends with a minimalist. He lived in Belgium and had only one spoon in his apartment that we all shared to eat speculoos. Third, I moved out of that leaky apartment.

During this year, I learned that not only are many material possessions unnecessary, but they can also be burdensome. And so I developed the goal to actively love and regularly use all of my possessions*. And according to the minimalist blogs, the concept of minimalism has become sufficiently trendy and dilute that this definition is acceptable.

Working towards this goal has involved thinking about how to get more usability out of things. For clothing, for instance, I learned the rule that any new article of clothing should be appropriate for at least three different kinds of occasions. Versatility is the key: a few things can go a long way.

I have also been working on letting go. I acquire many things thinking that I might need them. I have gotten better at giving them away. If I have not used something for a year, I force myself to get rid of it. In the last months, I have gotten rid of multiple travel pillows, a carpeted cat toy, a second sleeping bag, a Zune, bags of clothing, and numerous books.

And, of course, I have been thinking about what is necessary. There are things I want. I want art in my living space. I want self-expression through my clothing and accessories. I want two pillows when I sleep. I want variety to my meals. Perhaps that is all. Perhaps I do not even need these.

I have been making progress. I do not have a TV. I have fewer clothes and books than I used to. I pack for most trips into carry-on luggage. Most of my cooking involves a single knife, pot, and pan.

I would love to one day live in a vast empty apartment with only a few possessions. I may realize that this will not make me happy, but I hope to never again get caught up in the acquisition of more and more things. And this is why I call myself a minimalist.

* I have also been thinking about minimalism with respect to commitments and relationships but I will not include discussion of that in this post.

Sunday, December 09, 2012

Treat Yo Self: Clean Up Your Code

A couple years ago, I discovered what I thought was the shortcut to building research systems.  Forget good software engineering practice!  Forget functional abstraction!  Copy-and-paste code all over the place; modify it to fit your needs.  Thinking before coding?  So college.  After all, premature optimization is the root of all evil.

In the beginning, this worked out well.  In my first year, even my advisor told me he was impressed with how quickly I got things working.  I saw in other research code the same patterns that I was learning to adopt: monstrous tangles of functionality with scant documentation.  I have found the secret to research productivity, I thought.

A couple deadlines later, I began to feel the consequences of my actions.  Pre-deadline, systems would begin to fall apart: a patch here revealed another hole there.  Post-deadline I had no desire to go back to disgusting soups of one-off functions, barely usable in the first place and certainly not reusable.  Much time was spent either avoiding my code or writing replacement code from scratch.

In other researchers, I observed that the few who had designed their systems well were able to make quick bug fixes and extensions.  For everyone else, either their code bit-rotted in obscurity or they were a slave to maintaining their systems for barely-satisfied users.  During paper deadlines, those who had built up good infrastructure could build comfortably on previous work while others ran around fighting fires and despairing.

During the course of grad school, my relationship with my code has become increasingly important.  Clean, modular, and well-documented code (with tests!) is not only less likely to have bugs but will be useful for longer.  Clean code provides a solid foundation for you and potentially other researchers.  Modular code makes it easier to reuse parts of your code. Also, knowing exactly what your code does just feels good.

On his blog, Harvard professor Michael Mitzenmacher advises graduate students to take a day every now and then to find better tools: for organizing papers read, for recording ideas and progress, etc.  Rewriting and refactoring code has become an important part of these activities for me.  Not only is refactoring useful, but it is also a relatively low-effort way to achieve a feeling of progress*.  For me, refactoring has become a treat for working hard.

Don't tell too many people now, but I think this is the real secret to research productivity.

* The importance of the feeling of progress is a topic worthy of its own blog post.

Sunday, December 02, 2012

Living on the Edge of Existence

Reading Jack Kerouac's Dharma Bums made me wonder whether my life should be more exciting.  While exploring this, I had the following conversation.

Martin: You are bored because you are not living on the edge of existence. Why don't you go travel around India with no money?
Me: I might die.
Martin: Exactly. A comfortable, safe life is boring.

Martin then tried to convince me that bourgeois comfort and safety are the enemies of an exciting life.  I started searching for plane tickets to dangerous destinations.  Fortunately, I had the next conversation.

Me: I'm trying to live on the edge of existence.
Rishabh: The thing is, I already do that. With deadlines.
Rishabh: Yesterday, I almost died.

This made me realize that different people have wildly different perceptions of what it means to live extremely.  In Dharma Bums, while the Kerouac character Ray Smith binge drinks and is essentially homeless as he hitchhikes across the country, the Gary Snyder character Japhy Ryder leads an ascetic existence of writing and scholarship.  When Japhy tells Ray about The Book of Tea, Ray says, "Those guys got high off nothing, hey?"

And so I found in Dharma Bums the answer to my question.  Japhy Ryder's life is unquestionality extreme: he abstains from material luxuries and enjoys spending time on the edge of civilization.  But Japhy carefully prepares enough food and sleeping bags for their trip into the wilderness.  But Japhy makes sure they have enough time to get where they are going before dark.  And Japhy lives fully and enjoys beauty as much as anyone: he is lucky to be able to get "high off nothing."

To live on the edge of existence, one does not necessarily need to abandon absolute comfort and safety. It is certainly easier if what is around you is new, interesting, or a life-or-death situation. But over-approximating the boundaries of existence is just one way to live on the edge. Through mindfulness and conscious consumption, it is possible to find the edge with greater ease and accuracy. Challenging oneself and demanding precision can be as thrilling as fighting for survival. This approach certainly seems more sustainable: while Jack Kerouac died young of alcoholism, Gary Snyder is still writing today.

A comfortable and safe life is boring, but comfort and safety are relative and personal. Introspection and thoughtfulness could go further towards living fully than impulse-buying tickets to somebody else's adventure.