Engineering Blog

Intern Project: Real-Time Log Tailing with Franz, our Kafka Wrapper

At Yelp, we often need to analyze data in real time. Right now most of our data is aggregated and logged using a system called Scribe. This means that real-time processes currently depend on tailing Scribe, reading messages as they are added to the end of the logs. Simply tailing the logs means that any time a tailer is not running, due to maintenance or an unexpected error, it misses all the information logged during that time. We want a more flexible system that allows processes to pick up where they left off, so our analyses account for all of...

Continue reading

Hackathon 14: Puzzles, Pizza and Projects Galore!

Three times a year the entire engineering team at Yelp gets together and does innovative (sometimes crazy) things like launching a 3D printer into space or flying a quadcopter with human wings…err…arms or figuring out whether Cronuts are more popular than Donuts. We call this tri-annual event…Hackathon! It’s a festival celebrating innovation, creativity, and technical badassery where our smart, talented and witty engineers get 48 hours to work on anything they like. Needless to say, a relentless supply of delicious food also plays a key role in this event. Our hackers showing off their projects in a science fair style...

Continue reading

Yelp Sponsors Women Who Code (WWCode)

We’re happy to announce that we are one of the first official sponsors of Women Who Code! WWCode is an organization whose goal is to help women excel in technology careers. WWCode and Yelp started working together three years ago when the meetup group was created. We’ve hosted many of their events ranging from Ruby workshops to discussion panels including CEOs and CTOs. Since their launch, WWCode has grown to 14,000 members across 14 countries worldwide. By sponsoring their new non-profit (as of this July!), we’re excited and happy to help them achieve their goals of expanding into 50 cities...

Continue reading

Making Sense of CSP Reports @ Scale

CSP is Awesome Content Security Policy isn’t new, but it is so powerful that it still feels like the new hotness. The ability to add a header to HTTP responses that tightens user-agent security rules and reports on violations is really powerful. Don’t want to load scripts from third party domain? Set a CSP and don’t.  Trouble with mixed content warnings on your HTTPS domain? Set a CSP and let it warn you when users are seeing mixed content. Realistically, adding new security controls to a website and a codebase as large as Yelp needs to be a gradual process....

Continue reading

Maker’s Day – Or How Thursdays Became Every Yelp Engineer’s Dream

It’s been a busy past few years here at Yelp Engineering. With our 10th anniversary this year and our recent launch in Chile, we think it’s safe to say we’re on to something. But it would be foolish of us to stop here. At the end of the day, we’re engineers: we live for the fact that there are still so many challenging problems to solve, features to improve, and datasets to explore. With the size of the projects we’re tackling nowadays, our Engineering and Product Management teams need to be in constant contact to coordinate development, testing, and release....

Continue reading

Announcing pre-commit: Yelp’s Multi-Language Package Manager For Pre-Commit Hooks

At Yelp we rely heavily on pre-commit hooks to find and fix common issues before changes are submitted for code review. We run our hooks before every commit to automatically point out issues like missing semicolons, whitespace problems, and testing statements in code. Automatically fixing these issues before posting code reviews allows our code reviewer to pay attention to the architecture of a change and not worry about trivial errors. As we created more libraries and projects we recognized that sharing our pre commit hooks across projects is painful. We copied and pasted bash scripts from project to project and...

Continue reading

HACK209 - dockersh

Yelp’s engineering team loves Docker. We’re already using it for a growing number of projects internally but there are applications that Docker isn’t a great fit for, such as providing independent (VM like) containers on shared hardware for people to interactively ssh into. You can, of course, run sshd inside a Docker container but you can only run one sshd per port. If you wanted multiple users to be able to ssh into the same server, without having a custom port allocated per user, you’re out of luck. To solve this problem we built dockersh, a user shell for isolated,...

Continue reading

Meet Yelp Trends: A Fun Way to Visualize Trends From Millions of Reviews on Yelp

Yelp is celebrating its 10th anniversary this year. That’s right, a decade of marvelous reviews from Yelpers all around the world. What better way to celebrate the big 1-0 than to build a tool that would take a sneak peak into over 61 million reviews from our community and let you discover real world trends in cities all over the globe? Meet Yelp Trends. You might have seen it  hit  the  press  recently. As announced in our official blog, Yelp Trends is a fun way to visualize the review frequency of how often specific words are used in reviews and...

Continue reading