O HAI! I'm a person on the internet. I recently got my Master's from UC Berkeley's School of Information, where I spent much of my time making maps, visualizing information and researching lolcats in an academic environment. I'm also interested in information retrieval, natural language processing and figuring out what you can do with a degree in linguistics. I've managed to get a lot of work done despite having broken my ']' key after spilling beer on my laptop (copypastecharacter.com is a godsend). Having split a lot of my life between New England and Taiwan, I now happily call the Bay Area home.

Take a look at my resume, find me on twitter at @mrshang, read this interview with the Capitol Weekly, or email me at: yoshang, 'at sign', gmail, 'dot', com.

155 Neighborhoods of San Francisco, 2011.
San Francisco is often described as a city of neighborhoods, but can we agree on what those neighborhoods are? More specifically, how many neighborhoods do you divide the city into and what do you name them? Revisiting data from the Visualizing Mental Maps of San Francisco project, this is an interactive visualization of how seven different groups name the various neighborhoods of San Francisco. Together, they list over 150 distinct regions. Each neighborhood is color coded and scaled based on the frequency of the neighborhood name across the seven data sets. Filter the list based on the frequency of the name, its source, or its general geographic location (based on Supervisor District boundaries, since many boundaries are ambiguous, this is only an approximation).
Tools: Javascript (jquery, isotope libraries), HTML/CSS
Data: zillow.com, sf-planning.org, Bernt Wahl, wikipedia.org, sfrealtors.com, craigslist.org, Burrito Justice's Islands of San Francisco map

View 155 Neighborhoods of San Francisco

Coffee Grounds: Starbucks vs Peet's, 2011.
A Voronoi diagram showing the locations of the 75 Starbucks and 28 Peet's Coffee & Tea stores within the city of San Francisco. In other words, a coffee chain turf battle. What are you closest to? Initially I thought the map would appear a bit more competitive, but I underestimated how many more locations Starbucks has set up than Peet's. A clearer, closer view of the situation downtown is also available. Data collected using Python and processed in Geocommons. Basemap generated in Indiemapper, with additional work done in Adobe Illustrator. Note about the data: The store locator on the Starbucks webpage limits you to 50 results, when there are clearly a lot more than that in SF. Instead I took the location data listed on Yellowpages.com. Not as official, but hopefully up to date and with full coverage.
Tools: Python, Indiemapper, Geocommons, Adobe Illustrator, Scriptographer
Data: peets.com, yellowpages.com, datasf.org

View Coffee Grounds: Starbucks vs Peet's
View Coffee Grounds: Starbucks vs Peet's (Downtown)

California, Animal Style, 2011.
A Voronoi diagram based on In-N-Out Burger locations in California. Alternatively, a tastier way to redistrict the state, based on proximity to In-N-Out Burger restaurants. Inspiration from Ryan Sullivan's Donutowns, which redistricted Massachusetts based on proximity to Dunkin Donuts locations. Slightly less interesting, (or just disappointing, if you're on the East Coast looking for a double double) the same approach applied to the entire country: The USA, Animal Style.
Note about previous versions of these maps: when these maps were initially produced, it was quickly pointed out that there is no In-N-Out in Alabama, as the maps depicted. This has since been corrected, somehow while geocoding addresses, the restaurant in Union City, California was transported into Union Grove, Alabama.
Tools: Python, R, Adobe Illustrator, Scriptographer
Data: in-n-out.com
Mentions: SFist - The Only Redistricting Map That Matters, The Redistricting Report, The Capitol Weekly

View California, Animal Style
View The USA, Animal Style

What Team Should You Be Rooting For?, 2011.
A Voronoi diagram based on Major League Baseball stadium locations. Or put more simply, a map of what your hometown team should be, based strictly on the closest stadium to you. Are there any Athletics fans in Idaho? The poor Mets, they have a tiny nub in New Jersey. Presumably they'd have part of Staten Island too, but it falls right on the border between them and the Yankees. Note that the Toronto Blue Jays have been left off the map. (Are there any American Blue Jays fans?)
Tools: Python, R, Adobe Illustrator, Scriptographer
Data: baseball-reference.com
Mentions: The Capitol Weekly

View What Team Should You Be Rooting For?

A Triptych of American & National League 2011 Road Trips, 2011.
Three maps comparing the road trips taken by American and National League teams in 2011 - Athletics and Giants (Bay Area, Western division), White Sox and Cubs (Chicago, Central division), Yankees and Mets (New York, Eastern division).
Tools: Python, R, Adobe Illustrator
Data: baseball-reference.com

View A Triptych of American & National League 2011 Road Trips

Visualizing Mental Maps of San Francisco, 2011.
Honorable Mention, James R. Chen Award for Outstanding Master's Final Project
In collaboration with Rachelle Annechino. An atlas of San Francisco locals' mental maps. Qualitative interviews and map sketching exercises from 22 participants revealed broad themes about people's personal geographies of San Francisco such as orientation, boundaries and neighborhood corridors. These themes were then used as inspiration for a series of visualizations developed with free, open data about San Francisco. For newcomers to the city, it provides a starting point for learning about the city and its distinctive neighborhoods. For those already familiar with the city, we hope it encourages some reflection about your own relationship and perceptions about San Francisco.
Tools: ArcGIS, Adobe Illustrator, Javascript (Polymaps, jQuery libraries), HTML/CSS
Mentions: Kaid Benfield (NRDC), Grist, SFist, Uptown Almanac, Sunlight Foundation's GoViz Blog, UrbanTick, Secret Republic, UChicago Urban Portal

View Visualizing Mental Maps of San Francisco

(Dis|Re)Orientation, 2011.
(part of the Visualizing Mental Maps of San Francisco project)
A series of four maps of San Francisco oriented with North at different sides of the page. Reorient or disorient yourself with what may be an unfamiliar or even confusing view of the city. Rotating a map is not a trivial matter if you want to preserve readability of feature labels, the amount of available space for combinations of horizontal and vertical labels can change dramatically. Each map was labeled by hand to ensure optimal readability and to achieve an aesthetically pleasing layout.
Tools: ArcGIS, Adobe Illustrator
Data: sfdata.org, sfmta.com

View (Dis|Re)Orientation: Upright Market
View (Dis|Re)Orientation: Up is East
View (Dis|Re)Orientation: Up is West
View (Dis|Re)Orientation: Up is South

San Francisco's Deadzones and Corridors, 2011.
(part of the Visualizing Mental Maps of San Francisco project)
A map of San Francisco's "miniature cities" and "miniature suburbs". A number of locals described each neighborhood of San Francisco as being their own little cities, each with their own "downtowns". Outside of these main drags, the remainders of the neighborhoods seem less relevant to people, there's little reason to go there since they're often just rows and rows of houses (more suburb-like). Choropleth depicting residential density (based on 2010 census data), overlaid with commercial zoning information and street segments of verified commercial activity (truthed on Google Maps, Walkscore and Yelp).
Tools: ArcGIS, Adobe Illustrator
Data: census.gov, sfdata.org

View San Francisco's Deadzones and Corridors

San Francisco's Pedestrian Barriers, 2011.
(part of the Visualizing Mental Maps of San Francisco project)
A map of barriers to pedestrians in San Francisco: slope (calculated from a digital elevation model of San Francisco at the 7.5 minute level), street speed limits and freeways. It's not always readily apparent where a pedestrian may face difficulties while planning a route on a regular street map.
Tools: ArcGIS, Adobe Illustrator
Data: usgs.gov, sfdata.org

View San Francisco's Pedestrian Barriers

Sketching Boundaries, 2011.
(part of the Visualizing Mental Maps of San Francisco project)
A map of different neighborhood boundaries in San Francisco from the following sources: the real estate website Zillow, Bernt Wahl's neighborhood mapping project, the San Francisco Planning Department, the San Francisco Association of Realtors. The lines have an interesting human, sketch-like quality to them, with some boundaries being reinforced multiple times and others being less defined and more uncertain.
Tools: ArcGIS, Adobe Illustrator
Data: zillow.com, sfdata.org, Bernt Wahl

View Sketching Boundaries (black and white)
View Sketching Boundaries (color)

The History of Wikipedia's Neighborhoods in San Francisco Page, 2011.
(part of the Visualizing Mental Maps of San Francisco project)
A timeline of the neighborhoods listed on Wikipedia's Neighborhoods in San Francisco page. The page is an interesting example of people crowdsourcing what they think should and shouldn't be considered legitimate neighborhoods in San Francisco. As a point of reference, arcs connect the names of the 42 neighborhoods listed when the page was initially created, new additions are noted in orange, neighborhoods that are removed in following edits are prefixed with a green dot.
Tools: Adobe Illustrator
Data: wikipedia.org

View The History of Wikipedia's Neighborhoods in San Francisco Page

Quotes Around Town, 2011.
(part of the Visualizing Mental Maps of San Francisco project)
An interactive map of San Francisco neighborhoods annotated with quotes from San Francisco locals. The slippy map interface was important for users to interact with the basemap, especially since they may not be familiar with where the neighborhood boundaries are.
Tools: Javascript (Polymaps library for slippy map interface, jQuery for additional interaction), HTML/CSS
Data: zillow.com (neighborhood boundaries), Cloudmade (basemap tiles)

View Quotes Around Town

How Long, How Far?, 2010.
A map of San Francisco showing Muni commute times from Powell Street Station. Seeing the entire Muni system map can be intimidating, especially if you're new to town. This map simplifies things by focusing only on lines accessible from a single location and adds transit time information as well. Times are intended to be baseline estimates. Produced entirely in Adobe Illustrator.
Tools: Adobe Illustrator
Data: sfmta.org

View How Long, How Far?

Twitter Superstars, 2010.
In collaboration with Anjana Dasu, Carol Chen and Sean Carey. Contributions included initial data collection, interaction implementation (brushing and linking, filtering, adding data to the plot), project leader. An exploratory visualization of celebrities' Twitter behavior. The parallel coordinates plot gives context to statistics like having 5000 followers, or replying 20% of the time, as well as seeing broader behavioral trends. The data can be accessed either through the plot directly or through the list of featured celebrities on the right. Further filtering of the data can be done using the toggle buttons or by resizing the axes. Additional data can be added to the plot by entering a twitter username (via AJAX calls to the Twitter API, data used are the most recent 1000 tweets). (Data originally collected in April 2010, over what were the 2000 most recent tweets for each celebrity)
Tools: Python (initial data collection), Javascript (Protovis for parallel coordinates plot, jQuery for additional interaction), HTML/CSS
Data: twitter.com

View Twitter Superstars

Lolsirch, 2009.
In collaboration with Laura Paajanen and Nate Gandomi. Contributions included the translation script, implementing various interactions. A search engine for lolcats that improves recall by expanding the query based on a translation into lolspeak. Why search for lolcats in english when they're written in lolspeak? Queries are translated into lolspeak, first by checking the words against a dictionary. If a word is not present in the dictionary, it is then "stemmed" into lolspeak via a series of regular expression transformations. The original query is then conjoined with its translated version.
Tools: Google AppEngine, Javascript, HTML/CSS

View Lolsirch