RFC Issued for DMARC

By

The PayPal Product and Ecosystem Security Team is pleased to announce that on March 18, 2015, the Internet Engineering Task Force (IETF) published RFC 7489 for Domain-based Message Authentication Reporting and Conformance (DMARC). Starting in 2009, PayPal began work with several major mailbox providers to explore the effectiveness of combining common email authentication technologies in order to improve their effectiveness. Soon, other companies sharing our need to secure email as a trusted channel of communication joined the collaboration. In 2011, the experimental solution was proven effective at combatting spoofed domain email attacks, those types of attacks where the malicious actor… Read more

Isomorphic React Apps with React-Engine

By

Earlier this year, we started using react in our various apps at PayPal. For existing apps the plans were to bring react in incrementally for new features and start migrating portions of the existing functionality into a pure react solve. Regardless, most implementations were purely client side driven. But most recently, in one of the apps that we had to start from scratch, we decided to take a step forward and use react end to end. Given express based kraken-js as PayPal’s application stack, we wanted to incorporate react Views in JS or JSX to be the default template solution along with routing and isomorphic support. Thus, a summary… Read more

CSS Essentials

By

Time and time again, I witness CSS being marginalized because developers think it’s easy. And yes, it is easy! Add a background color, border color, or padding … easy.  Change the width and height of an element … easy. There are a lot of code snippets out there to copy from; Just search for it. But it is also very easy to mess up your work with one change of a property. HTML, JavaScript, and CSS are the trinity for User Interface Engineers, so let’s give CSS the respect it deserves. I like to classify CSS properties into two categories: embellishment and… Read more

Introducing SuPPort

By

In our last post, Ten Myths of Enterprise Python, we promised a deeper dive into how our Python Infrastructure works here at PayPal and eBay. There is a problem, though. There are only so many details we can cover, and at the end of the day, it’s just so much better to show than to tell. So without further ado, we’re pleased to introduce SuPPort, an in-development distillation of our PayPal Python Infrastructure. Started in 2010, Python Infrastructure initially powered PayPal’s internal price-setting interfaces, then grew to support payment orchestration interfaces, and now in 2015 it supports dozens of projects… Read more

Implementing a Fast and Light Weight Geo Lookup Service

By

Fast Geo lookup of city and zip code for given latitude/longitude Problem description Geo lookup is a commonly required feature used by many websites and applications. Most smartphone applications can send latitude and longitude to server applications. Then the server applications use the latitude and longitude to perform Geo lookup. Geo lookup falls into two categories: For a given latitude and longitude, retrieve full postal address including street, city, zip code. For a given latitude and longitude, retrieve nearest city with zip code. Overwhelming majority of websites and applications require city and zip code only. The scope of this software… Read more

Template specialization with Krakenjs Apps

By

Template Specialization is a mechanism to dynamically switch partials in your webpage at render time, based on the context information. Very common scenarios where you would need this is when you want different flavors of the same page for: Country specific customization A/B testing different designs Adapting to various devices Paypal runs into the above cases quite often. Most web applications in Paypal are using our open-sourced framework krakenjs on top of express/node.js. So, the mechanism for template specialization was very much inspired by the config driven approach in kraken apps. If you are not familiar with krakenjs, I’d recommend you take a quick… Read more

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

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 of grassroots usage and support from developers across eBay. Even before official support from management, technologists of all walks went the extra mile to reap the rewards of developing in Python. I joined PayPal… 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