Engineering Blog

Posts for February 2011

Towards Building a High-Quality Workforce with Mechanical Turk

In addition to having written over 15 million reviews, Yelpers also contribute hundreds of thousands of business listing corrections each year.  Not all of these corrections are accurate, though, and there are quite a few jokers out there (e.g. suggesting the aquariums category for popular seafood restaurants… very funny!).  Yelp is serious about the correctness of business listings, so in order to efficiently validate each and every change, we’ve turned to Amazon’s Mechanical Turk (AMT) as well as other automated methods.  We recently published a research paper [1] at the NIPS 2010 Workshop on Computational Social Science and the Wisdom...

Continue reading

Weird iPhone Compiler/Architecture Bug

Alan on our iPhone team recently encountered a tricky bug that had to do with the ObjectiveC compiler and differences in architecture between ARM and x86. The Problem On the device (but not the sim), the following code would crash on views that implemented drawInRect methods that returned a CGPoint (instead of having a void return type like other drawInRect methods). for (id view in _subviews) { [view drawInRect:[view frame]]; } To make matters weirder, the pointer ‘view’ before stepping into drawInRect was not the same as the pointer ‘self’ after stepping into drawInRect! However, by typecasting view to the...

Continue reading

Upcoming Tech Events at Yelp

Over the next couple of weeks, Yelp is going to be hosting two open-to-the-public events for members of the software development community: PyPy Just-in-Time Interpreters March 3rd, 6pm Armin Rigo of the PyPy project will be giving a presentation on achievements made by PyPy, the “fastest, most compatible, and most stable ‘alternative’ Python interpreter.” Special attention will be given to advancements in the area of dynamic (JIT) interpreters. You can find more information on SFPython’s Meetup page. If you plan to come, make sure to RSVP at least a day in advance so that security will allow you into the...

Continue reading