Deep Learning on Hadoop 2.0

By

The Data Science team in Boston is working on leveraging cutting edge tools and algorithms to optimize business actions based on insights hidden in user data. Data Science heavily exploits machine algorithms that can help us identify and exploit patterns in the data. Obtaining insights from Internet scale data is a challenging undertaking; hence being able to run the algorithms at scale is a crucial requirement. With the explosion of data and accompanying thousand-machine clusters, we need to adapt the algorithms to be able to operate on such distributed environments. Running machine learning algorithms in general purpose distributed computing environment… Read more

Maintaining JavaScript Code Quality with ESLint

By

As a lead UI engineer on the consumer web team at PayPal I’ve often seen patterns of mistakes that repeated themselves over and over again. In order to put an end to the most egregious errors we started using JSHint early on in the project. Despite its usefulness in catching major syntax errors, it did not know anything about our code, our patterns or our projects. In trying to improve code quality across the whole consumer web team we needed to find a linting tool that let us teach it how we wanted to code. Enter ESLint ESLint was started in 2013 by Nicholas Zakas with… Read more

10 Myths of Enterprise Python

By

2016 Update: Whether you enjoy myth busting, Python, or just all enterprise software, you will also likely enjoy Enterprise Software with Python, presented by the author of the article below, and published by O’Reilly. PayPal enjoys a remarkable amount of linguistic pluralism in its programming culture. In addition to the long-standing popularity of C++ and Java, an increasing number of teams are choosing JavaScript and Scala, and Braintree‘s acquisition has introduced a sophisticated Ruby community. One language in particular has both a long history at eBay and PayPal and a growing mindshare among developers: Python. Python has enjoyed many years… Read more

Webhooks for REST APIs launched

By

(By Joe Nash & Alberto López) PayPal’s latest addition to the roster of products taking advantage of PayPal REST API technology gives developers easier access to notifications of payment activities, such as payment status updates. PayPal webhooks are now available, and not only do they enable similar functionality to that of the IPN available in the Classic APIs, but they provide additional functionality to ease development and create innovative new products. What is a webhook? When we discuss webhooks, we refer to three key actors: Webhooks: A webhook takes the form of a POST request to a URL that you… Read more

Building Data Science at Scale

By

As part of the Boston-based Engineering group, the Data Science team’s charter is to enable science-based personalization and recommendation for PayPal’s global users. As companies of all sizes are starting to leverage their data assets, data science has become indispensable in creating relevant user experience. Helping fulfill PayPal’s mission to build the Web’s most convenient payment solution, the team works with various internal partners and strives to deliver best-in-class data science. Technology Overview At the backend of the data science platform reside large-scale machine learning engines that continuously learn and predict, from transactional, behavioral, and other datasets. An example of… Read more

Alternative Design for Versioning of Services – Chain of Responsibility

By

Change is inevitable and interfaces (particularly of remote services) are no exception. Such interfaces go through various revisions for reasons such as enhanced features, bug fixes and so on. One must use versioning of type Major.Minor.Patch in order to avoid surprises to clients who have already integrated. Two tasks that vary at the interface layer based on versions are: (1) parsing the request parameters and (2) composing the response parameters back. What happens in between these two, the business logic processing, is not touched upon in this blog as it requires a separate discussion altogether. Also, this blog is focused… Read more

Nemo.js: PayPal’s open source node.js automation framework

By

Nemo.js came about as a response to the adoption of krakenjs within PayPal. Writing automation in JavaScript made sense for a variety of reasons: involving web application engineers in the automation process, executing tests in a common context, utilizing the task and test frameworks already in place. Nothing in the node.js ecosystem met the extensive requirements of automation tests at PayPal, so Nemo.js was born. Nemo.js wraps around the ubiquitous Selenium WebDriver, and as such, allows control of virtually any browser on any operating system. Nemo.js is built with a plugin architecture. This allows the core module to be very… Read more

Introducing an Accessible HTML5 Video Player

By

Video on the web has come a long way over the years. From applets to RealPlayer (who remembers that?) to QuickTime to Flash, and now the HTML Video element. For the last few years, many HTML5 video implementations have included Flash fallbacks, especially for Microsoft’s Internet Explorer (IE). But HTML5 video in IE has been supported since version 9. It’s time to end this era and provide web-based video without plugins. The player and its goals Customizing an HTML video player is still required for a fully functional and accessible experience across browsers and platforms. Browsers’ native controls are still… Read more