Tech Blog Archive

Distributed Systems in Engineering
0

NuRaft: a Lightweight C++ Raft Core

We are excited to announce the public release of NuRaft, a lightweight C++ Raft core, under the Apache 2.0 open source license. NuRaft is based on the cornerstone C++ Raft implementation, but with various additions and changes, and is the result of over two years of development and testing for production use within eBay for storage server data replication. This post discusses what NuRaft is, and how it can be used.

By: Gene Zhang and Jung-Sang Ahn
Machine Translation in Research
0

Going the Distance — Edit Distance 1

What is Edit Distance? How could it be used to measure quality? Find out the basics about this simple metric used for Machine Translation.

By: Silvio Picinini
Performance Engineering in Engineering
0

Improving the Speed and Accuracy of the Item Page with Light Service

The item page is one of the most critical pages in the eBay buyer experience. It's where a buyer make their purchase decisions. It's also one of the pages in eBay that gets the most user traffic. The speed of this page and showing accurate information to the user is of great importance. Item fast light service was developed to get critical item information as quickly as possible from the primary source tables. This service is currently used in a number of applications to achieve functionalities that needs 100% accuracy with lightning speed and performance of less than 10ms for an item.

By: Ramesh Periyathambi
Developer Tools in Product
0

eBay’s New APIs Enable Developers to Create Innovative Experiences at Scale

Managed Payments, Identity and Marketing APIs available today for developers

By: Gail Frederick
Developer Tools in Engineering
0

API Mindset at eBay

APIs allow organizations to give their partners access to data and capabilities, at scale. Extensible and adaptable API ecosystems make it easier for developers to innovate. Building such an ecosystem is a progressive journey with many technical challenges.

By: Tanya Vlahovic
Testing in Research
0

Measuring Success with Experimentation

Tips from eBay's Experimentation Science team on how you can best leverage A/B tests to measure the success and health of your product.

By: Tianlin Duan
Big Data in Engineering
0

Monitoring at eBay with Druid

At eBay, we switched one of our monitoring tech stacks from legacy homegrown architecture to a Druid-based real-time monitoring system. In this article, we discuss how we transitioned our journey to a new stack and also the benefits it has to offer.

By: Mohan Garadi
WebAssembly in Engineering
0

WebAssembly at eBay: A Real-World Use Case

From the time it was announced, WebAssembly caused a huge buzz in the front-end world. The web community readily embraced the idea of taking code written in programming languages other than JavaScript and running that code in the browser. Above all WebAssembly consistently guarantees native speeds much faster than JavaScript. At eBay, we were no different.

By: Pranav Jha and Senthil Padmanabhan
User Experience in Product
0

eBay Makes It Easier with Three New Ways for Sellers to Send Offers to Buyers

Sellers can now send offers to buyers with an exclusive discount.

By: Muthu Sundaresan, Nainesh Nayudu and Parin Jogani
OSS in Engineering
0

Akutan: A Distributed Knowledge Graph Store

We're excited to announce the public release of Akutan, a distributed knowledge graph store, under the Apache 2.0 open source license. Akutan is the result of four person-years of exploration and engineering effort, so there's a lot to unpack here! This post will discuss what Akutan is, how it's implemented, and why we've chosen to release it as open source.

By: Diego Ongaro and Simon Fell
User Experience in Product
0

eBay Users Can Save With More

Volume Pricing saves you money when you buy more of the same thing from eBay sellers.

By: Liv Ellingsen and Steve Neola
Software Design in Engineering
0

Deriving Data Structures

Data Structures are the basic building blocks of software. In this article, one eBay engineer gives his perspective on how they might have evolved over time, enabling us to build complex things out of simpler parts.

By: Sachin Tilloo
Agile in Engineering
0

Swapping Fridays—Improving Customer Experience with Role Swapping

Shutl has been running an initiative called Swapping Fridays. This involves software engineers and customer service agents swapping roles for a day. This article discusses how the initiative was run, the objectives and outcomes, and some challenges that were encountered along the way.

By: Matthew Wood
Big Data in Engineering
0

How eBay Governs its Big Data Fabric

At eBay, nearly everything we do is based on data. We deal with structured, unstructured, and semi-structured data, where Hadoop, as a big data platform, has provided key technology features. Keeping pace with the speed of innovation while continuing to help data consumers easily find and consume the data they need guides our architecture and investment in building out eBay’s Big Data Fabric.

By: Alex Liang
Developer Tools in Engineering
0

Failbot—Improving Visibility on End-to-end Tests

In eBay’s Global Shipping team, we use end-to-end tests to detect problems on eBay’s platform introduced by new developments. When those tests are failing, it is hard to see what is going on. From an intra-team effort to improve our visibility, Failbot was born.

By: Tony Da Silva Bernardino
Computer Vision in Product
0

eBay Makes Visual Shopping More Intuitive While You Browse

Our newest experience helps you find more products you just can't describe.

By: Jonathan Chard
Developer Tools in Engineering
0

ShipShip—The Automated Kanban Board

At eBay, each development team works with multiple distributed teams. To keep everyone on the same page with the different projects that they are working on, we built a tool called ShipShip to help keep information flowing.

By: Mayur Dave
Java in Engineering
0

SRE Case Study: URL Distribution Issue Caused by an Application

One of the frequently asked questions from new site reliability engineers is: Where to begin when troubleshooting a problem in a cloud environment? I always tell them: You should begin with understanding the problem. Let me demonstrate the reasons and methods with a real troubleshooting case.

By: Charles Li
User Experience in Product
0

How eBay Uses Microinteractions to Delight Customers

At eBay, we’re always looking for ways to truly localize for all of our international markets. Our design team has spent some time designing and experimenting with exciting new experiences and microinteractions for shoppers in China.

By: Prashant Desai and Ryan Parker
Deep Learning in Engineering
0

Complementary Item Recommendations at eBay Scale

Generating relevant complementary item recommendations that drive conversion at eBay is a challenging problem. In this blog post, we describe some of these challenges, and how we incorporated several different signals, including behavior-based (co-purchase, co-view, co-search, popularity) and content-based (title text), to significantly enrich the number and quality of candidate recommendations. This can produce an improved user shopping experience, which can lead to increased transactions between eBay buyers and sellers, and an increase in the number of items bought, which is good for the eBay marketplace as a whole.

By: Yuri M. Brovman
Java in Engineering
0

SRE Case Study: Triaging a Non-Heap JVM Out of Memory Issue

Most Java virtual machine out of memory issues happen on the heap, but this time proved to be a little different.

By: Eric Tian
Deep Learning in Research
0

Explainable Reasoning over Knowledge Graphs for Recommendation

Incorporating knowledge graphs into recommender systems has attracted increasing attention in recent years. By exploring the interlinks within a knowledge graph, the connectivity between users and items can be discovered as paths, which provide rich and complementary information to user-item interactions. Such connectivity not only reveals the semantics of entities and relations, but also helps to comprehend a user’s interest. However, existing efforts have not fully explored this connectivity to infer user preferences, especially in terms of modeling the sequential dependencies within and holistic semantics of a path. We have developed a new model named Knowledge-aware Path Recurrent Network (KPRN) to exploit knowledge graphs for recommendation.

By: Canran Xu, Dingxian Wang, Hua Yang and Xiaoyuan Wu
Computer Vision in Research
0

Interactive Visual Search

Interactive visual search with user feedback helps buyers find the perfect item and while enjoying the exploratory journey.

By: M. Hadi Kiapour, Robinson Piramuthu and Shuai (Kyle) Zheng
Developer Tools in Engineering
0

eBay OAuth Client Library

To make integrations with eBay RESTful APIs easier, eBay provides client libraries in C# and Java to make it simpler to set up authorization and reduce the amount of code application developers have to write to get OAuth Access Tokens.

By: Sandeep Dhiman
Charity Fundraising in Product
0

‘Gifts that Give Back’ Program Enhances Listing Options for Over 54k Charities

Revamped Gifts that Give Back Program introduces symbolic gift listings, helping charities raise funds at an exponential rate.

By: Ethan Rubinson, Marci Ross and Scott McDowell
Service Architecture in Engineering
0

Sharing Modules Across Experience Services and Multi-Screen Applications

By now most eBay core business flows have gone through the journey of implementing Experience Service-based multi-screen application solutions, where web and mobile native app user interfaces are composed of one or more modules, and Experience Services directly returns these modules to clients with content synthesized from backend data sources, localized and formatted, ready for render and user interaction. This article outlines a plan to move more modules to a shared environment.

By: Chuck Zheng
Distributed Systems in Engineering
0

Providing Metadata Discovery on Large-Volume Data Sets

Many big data systems collect petabytes of data on a daily basis. Such systems are often designed primarily to query raw data records for a given time range with multiple data filters. However, discovering or identifying unique attributes present in such large datasets can be difficult.

By: Satbeer Lamba and Sudeep Kumar
Computer Vision in Research
0

Seven Tips for Visual Search at Scale

We present seven tips for visual search at scale, based on our KDD 2017 paper titled "Visual Search at eBay."

By: Fan Yang, M. Hadi Kiapour, Qiaosong Wang and Robinson Piramuthu
Performance Engineering in Engineering
0

Troubleshooting a Connection Timeout Issue with tcp_tw_recycle Enabled

Availability and stability are very important for eBay's site, especially for those applications that take high traffic and are dependent on many other applications, such as CAL (our Centralized Application Logging framework). This blog shares an issue that happened recently that impacted the availability and stability of CAL, and how we found out the root cause using tcpdump and systemtap.

By: Edward Lin and Huai Jiang