NextRoll's Hack Week 2023 H2 was a whirlwind of innovation and creativity. Here, we celebrate the winners and their groundbreaking projects that are set to revolutionize the ad tech industry.| NextRoll
An overview of the challenges and solutions we have encountered in Data Science Engineering in migrating to ARM processors.| NextRoll
And another rebar3 plugin from HackWeek, this time for type specs.| NextRoll
An explanation of the MaskedLARK proposal for Google's Privacy Sandbox and how our machine learning systems at NextRoll would operate within it.| NextRoll
Releasing an internal tool, built on the top of Cypress, to help application teams testing and monitoring their UI, on a CI/CD environment.| NextRoll
The winner's curse is a simple, yet surprising, statistical phenomenon seen in auctions. This post explains the winner's curse, and explores the way the curse manifests itself in our ad-buying systems.| NextRoll
Having a fast and reliable way to update your deployment environments is a game changer in terms of team velocity and confidence. ecs-ship is a simple yet powerful tool that can help your team ship faster.| NextRoll
From the creators of rebar3_format, here comes… rebar3_hank, a powerful but simple tool to detect dead code around your Erlang codebase (and kill it with fire!)| NextRoll
Updating the underlying systems that our service depends on (including operating system, VMs, core libraries, databases, or other components) is a regular part of our systems' lifecycle. In this post, we'll discuss how we found a performance regression when updating to a newer Erlang OTP release, the steps we took to investigate it, and how we worked around the specific issue at hand.| NextRoll
Reducing costs on infrastructure can often feel like a chore when done in isolation. In this post, we'll discuss the coordinated process that NextRoll is using to make the effort feel like a full-team project with the satisfaction of having a job well done.| NextRoll
It's been 2 years working remotely as a Software Engineer at NextRoll, a tech company in Silicon Valley. When I started the journey to find a new job, I was simply motivated to be open to new challenges.| NextRoll
NextRoll's Women History Month Series -- Larissa Licha| NextRoll
NextRoll is a very remote-friendly place to work. In this post, a remote engineer shares his thoughts on the benefits of remote work, and some tips from NextRoll's remote employees intended for anyone who has recently started working remotely.| NextRoll
NextRoll's Women History Month Series -- where we highlight and celebrate women in technology| NextRoll
In recent years, many language ecosystems have developed automatic code formatters to reduce the mental overhead of code readers and therefore to share code more easily. These tools work by ensuring that all code written in the same language looks the same. Some examples of these tools include gofmt for Go or mix format for Elixir. The Erlang community was lacking a tool like this, so we created one :)| NextRoll
‘Cali or Bust’. Anyone in the math faculty’s co-op program at the University of Waterloo can tell you what that means – wanting to land a sweet internship in California or nothing at all. I’m currently in my 4th co-op (out of 6), and since my first application period, I had become accustomed to the norm of dreaming about a term in California.| NextRoll
We recently open-sourced python-hll, which is an implementation of HyperLogLog whose goal is to be storage compatible with postgresql-hll, js-hll, and java-hll.| NextRoll
When solving problems that are people and process oriented, can engineering methodologies be used? Below are our findings!| NextRoll
HyperLogLog (HLL) is a useful and interesting probabilistic data structure used to count unique values in a given data set with good accuracy and speed. Having this data type in a PostgreSQL-compatible Relational Database system fulfills various reporting needs to measure metrics like unique visitors.| NextRoll
We recently decided to sponsor the Erlang Ecosystem Foundation. Learn more about it, the reasons behind our sponsorship, and the other ways in which we're contributing with it.| NextRoll
In celebration of International Women’s Day 2019 and National Women’s History Month, we’re continuing our tradition of highlighting Tech Women at AdRoll Group.| NextRoll
Dialyzer is a great tool to validate Erlang code, but it might slow down your development process if devs are applying it to huge codebases constantly. That's why we added it to our CI pipelines instead. In the process we learned a few things that might be useful for you as well.| NextRoll
Grace Hopper is happening on October 2-4 2019 and the Call for Participation, Abi Award nominations, and Scolarship applications are now open! Here is why we love Grace Hopper.| NextRoll
This post examines how our clearing prices compare to our bid prices in what are supposed to be second-price auctions. We observe some irregular patterns that lead us to question whether these auctions really are second-price, and explain our algorithmic defense against misspecified auction mechanisms.| NextRoll
We reduced by over 60% the EC2 instance cost of our 1000+ node globally-distributed log-producing application by migrating it entirely to EC2 Spot Fleet. We discuss some of the issues we faced and also present the log data recovery mechanism which helped enable this migration.| NextRoll
Dead code (as in functions that are not used anywhere) tends to pile up in big projects if you leave them unattended. Using one of Xref's most underrated features, you will be able to detect and remove what you do not need anymore.| NextRoll
SF Python has brought its Project Night to AdRoll. Here is what happened...| NextRoll
How is it possible to make AdRoll's highest performing ad unit, perform even better? Learn how we managed to make our recommendations system nimble, scalable and easy to A/B test.| NextRoll
Listen to some inspiring stories from the some of women of AdRoll Engineering!| NextRoll
Click prediction may be a simple binary classification problem, but it requires a robust system architecture to function in production at scale. At AdRoll, we leverage the AWS ecosystem along with a suite of third party tools to build the predictors that power our pricing engine, BidIQ. This is a tour of the production pipelines and monitoring systems that keep BidIQ running.| NextRoll
Erlang pitches a big tent and welcomes new language and framework implementations based on the Beam virtual machine.| NextRoll
We used these techniques to take unit testing to the limit in our Elixir projects.| NextRoll
In the spirit of National Women’s History Month, we are publishing our third volume of our Tech Women of AdRoll Group series to celebrate and honor women across AdRoll Group, and to acknowledge their diversity of backgrounds, viewpoints, and experiences.| NextRoll
Over the past years, we have put a lot of work into building a solid infrastructure for UI development. In this post, we talk about the human aspects of collaborative front-end projects.| NextRoll
Almost a year since the original release, we are happy to announce the next major release of TrailDB, 0.6, which is packed with exciting new features.| NextRoll
As we craft our next-generation product philosophy, AdRoll often leverages learnings from peers we admire. In this post, we explore a product framework inspired by Netflix. This framework includes five lessons: innovate incrementally, understand your customers, reallocate resources asymmetrically, respond fast to hiccups, and recognize that your product superpower is your people.| NextRoll
How AdRoll achieves peak performance thanks to our flexible RTB testing framework.| NextRoll
The AdRoll Data Science Engineering team is proud to announce the New AdRoll Data Analysis (NADA) platform that is fast, comprehensive, and operates at scale.| NextRoll
The AdRoll Real-Time Bidding system is a complex affair. Many things have to go right to keep it from running off the rails and, well, things don't always go right. Accepting that and dealing with it is a good chunk of the engineering effort behind the RTB system and in this article I'll discuss one of the fun resolutions.| NextRoll
A guide to the (sometimes not readily apparent) steps necessary to set up a PySpark cluster on AWS Elastic MapReduce (EMR).| NextRoll
AdRoll uses large-scale machine learning to bid intelligently in internet advertising auctions. In this post, we explore some of the engineering behind the data pipelines that feed our learning algorithms, in particular our real-time system that constructs features from event streams.| NextRoll
A few months ago we deployed two new and nearly identical dashboards. For the launch of those dashboards, we built Rollup, a UI component library. In this post we talk about how the component library allows us to easily share code between teams and maintaing a consistent look and feel across products.| NextRoll
From math teacher to software engineer, Sadie tells the story of her journey to AdRoll's engineering team.| NextRoll
The data science team at AdRoll is constantly working to improve our programmatic bidding algorithm, BidIQ. One recent improvement to BidIQ has been the introduction of a novel modeling technique called Factorization Machines, which is allowing AdRoll to more accurately value every potential impression that comes our way.| NextRoll
It has been a long time outstanding to do item to start collecting feedback and net promoter scores from the tens of thousands of customers that AdRoll has. Once at scale it becomes surprisingly challenging to ensure that feedback from users is sent to Product, Engineering and SMB teams.| NextRoll
The AdRoll Growth team was created to ensure that as AdRoll continues to build out more great products for marketers in more regions, we stay true to our founding philosophies. As we ourselves grow, we want the SMB advertisers that make up the core of our business to grow along with us.| NextRoll
By migrating AdRoll's real-time data pipeline to Kinesis we were able to reduce our end to end latency more than one hundredfold while simultaneously cutting costs and improving system stability. Here we'll follow architectural decisions, implementation details, and overall learnings from this process.| NextRoll
AdRoll is building products that allow customers of any size, big or small, with a lot of marketing experience or none, to run high performing marketing campaigns. And with over 20,000 customers in over 150 countries, we've been fairly successful in this.| NextRoll
The D programming language has quickly become our language of choice on the Data Science team for any task that requires efficiency, and is now the keystone language for our critical infrastructure. Why? Because D has a lot to offer.| NextRoll
Bulk loading is a great way to import large amounts of data into an HBase cluster. However, the default tools included in Hadoop do not provide the ability to bulk load multiple tables at once. Here's how we added that functionality.| NextRoll
Here's how we added JSCS, a JavaScript style checker, to our git workflow.| NextRoll
AdRoll is heading to Erlang Factory SF Bay Area..| NextRoll
In which a member of our Real-Time Bidding team discusses his experience with exometer, an Erlang library for building monitoring solutions.| NextRoll
Until recently, when our customers created a campaign, they could choose to target the whole world, the U.S. or create a list of specific countries and U.S. metros (e.g. the San Francisco Bay Area, the Atlanta metro, etc.). Last week, we added the ability to target *or* exclude countries, metros, regions (e.g. states in the U.S., provinces in Canada,…), cities and postal codes. That meant doing a significant refactor of our geolocation code, which lead me to (finally) use `Deferred` objects.| NextRoll
AdRoll is going gangbuster when it comes to hiring engineers. We're adding headcount in a very competitive market on an ongoing basis, and we continue to differentiate ourselves with the depth and complexity of our engineering problems. We take a very collaborative approach to engineering but give individuals a high degree of project ownership. While we bounce ideas off one another and learn together, each engineer is tackling large problems directly tied to the company's bottom line.| NextRoll
In rolling out our real time bidding infrastructure, we were faced with the task of syncing data for every user we could possibly target across four regions. We have on the order of hundreds of millions of users, and tens of thousands of writes per second. Not only do we have to deal with the daunting task of writing this data out in real time, the bidding system has a hard cap of 100ms for every bid request, so we need strong guarantees on read performance.| NextRoll
Anybody that has worked with [AWS](http://aws.amazon.com/) must deal with the arbitrary hostnames that AWS generates for each instance. These names are difficult to remember and not particularly useful to understand what tasks any particular node is assigned to.| NextRoll
As perfect as jQuery may seem, sometimes its default behaviors end up being very surprising to the uninitiated.| NextRoll
At AdRoll, we have a lot of data to deal with. As we keep accumulating all of this data, our scaling issues become more complicated, and even something as simple as counting becomes a bit of a chore. After using Bloom filters to count uniques, we eventually wanted to find something more space efficient.| NextRoll
Throughout my career, I have had the honor to work with innovative, fast-paced and industry-disrupting companies that have attracted some of the best talent around the world. When I was given the opportunity to build AdRoll’s internal recruitment machine, I jumped at this chance last December. [Named the fastest growing advertising company in 2012 by Inc. Magazine](http://blog.adroll.com/inc-500-fastest-growing-advertising-company) and already at over 100 employees when I started, we were o...| NextRoll
Let's see how we can create a basic monad using plain JavaScript| NextRoll
The AdRoll Engineering team hosts Tech Talks every other Tuesday, where members of our team, and friends, share about a technology, project, or tool they’re excited about. A few weeks ago, we hoted Lee Byron, author of Immutable.js and other great things at Facebook.| NextRoll
Shiny is an amazing package that allows for the creation of powerful interactive dashboards in R without having to mess with HTML, CSS or JavaScript. This means we can turn any analysis project into an interactive web application with minimal effort.| NextRoll
Earlier this week, AdRoll hosted a group of Hadoop users and developers for their [monthly meetup](http://www.meetup.com/hadoopsf/). A member of our data team presented AdRoll's infrastructure and described how we combine Hadoop with Storm and HBase to achieve both high accuracy and low latency.| NextRoll
Continuing with our video posts, here is Valentino once again, this time presenting at the 2014 AWS Summit in San Francisco. Valentino discusses how to handle 50 billion requests per day without breaking the bank by optimizing our AWS operations.| NextRoll
Better late than never, but we wanted to share a video from last fall's AWS re:Invent conference where our own chief architect Valentino Volonghi shared the stage with Amazon CTO Werner Vogels for a fireside chat.| NextRoll
How to use ECS and Step Functions to constrain recurrent tasks.| NextRoll
Diving into the world of metaprogramming!| NextRoll
The New Dashboard has been redesigned from the ground up!| NextRoll
Tomorrow (Wednesday, June 12th) from 6:00-8:00pm, we’ll be hosting a group of Hadoop users and developers here at our SOMA headquarters, ShangRolla, for [their monthly meetup](http://www.meetup.com/hadoopsf/events/120561212/).| NextRoll
Today, I’m excited to announce we’ve taken another big step forward in our mission with the acquisition of data analytics platform Bitdeli, and the addition of the company’s founders, the Tuulos brothers, to our engineering team.| NextRoll
During one of our hack days, we built a tool to control AirPlay Mirroring from the terminal.| NextRoll
The advertising industry has undeniably become a data play, as consumers are generating valuable data with every digital interaction. We hear buzzwords like “big data,” “machine learning” and “real-time algorithms,” but little about how these puzzle pieces fit together ...| NextRoll
AWS Keys are sensitive cryptographic material that should not be left lying around in code, repositories, or even on developers' laptops. In EC2, this is solved by assigning Instance Roles and letting the metadata service generate temporary credentials. Outside of EC2, we have solved this using Hologram, an open-source project from AdRoll Engineering.| NextRoll
In this post, Tim writes about a bash script to run bash scripts.| NextRoll
This is the first article in a series that describes how we built a new data-intensive product, AdRoll Prospecting, using an architecture based on Docker containers.| NextRoll
This is the second article in a series that describes how we built AdRoll Prospecting. This time, we'll talk about managing batch job dependencies.| NextRoll
This is the second in a series of three blog posts about Rollup, AdRoll's UI component library. This post covers how we build individual components and the developer tools supporting them.| NextRoll
Create a serverless eventually-consistent global counter system using S3 events, DynamoDB triggers, and Lambda functions implemented in Python: a complete example using the awscli tools.| NextRoll
This is the third post in a series of three blog posts about Rollup, AdRoll's UI component library. This post covers what we learned from building a UI component library.| NextRoll
Announcing gulp-react-docs: A gulp plugin for generating documentation in Markdown format for React components based on their propTypes. The plugin uses react-docgen to extract component prop information, and then render the Markdown using Handlebars.| NextRoll
Today, we are open-sourcing TrailDB, a core library powering AdRoll. TrailDB makes it fast and fun to handle event data.| NextRoll
When it comes to increasing diversity in tech, AdRoll doesn't have all the answers, but people are investing in potential solutions and having open conversations.| NextRoll
This blog post is the first in a series that chronicles the style guide’s journey, from its creation, to providing a mature UI framework for our teams, and eventually distilling a unique voice and tone for our products.| NextRoll
By leveraging a cool new feature in the Linux kernel, you can query data stored in Amazon S3 directly and get results faster.| NextRoll
We explore ideas from Thompson sampling, Bayesian Logistic Regression, and Bayesian Factorization Machines. These techniques allow our machine learning systems to efficiently navigate the explore/exploit tradeoff in sequential decision making.| NextRoll
We're open sourcing trck -- a state machine-based query language for TrailDB| NextRoll
We slashed our DynamoDB costs by over 75% using Kinesis, DynamoDB streams, and Erlang/OTP (and now Elixir) to implement a global cache warming system. We present that system and two new open-source libraries for processing Kinesis and DynamoDB streams in a similar way using Elixir and Erlang.| NextRoll
We sped up our development and deployment process considerably by reducing test run times by more than 50%, and you can too by applying these same testing patterns!| NextRoll
Some of us organized a conference for developers in Buenos Aires, Argentina and we tell you all about it!| NextRoll
The attribution team at AdRoll computes metrics out of petabytes of data every night. This is accomplished using a batch processing pipeline that submits jobs to AWS Batch. In this blog post we discuss how this is organized and orchestrated with Luigi. We also announce Batchiepatchie, a job monitoring tool for AWS Batch.| NextRoll
DynamoDB is a very powerful tool to scale your application fast. The Autoscaling feature lets you forget about managing your capacity, to an extent. By replacing this algorithm with our own, we were able to reduce costs significantly.| NextRoll
In this blog post, we are going to review how NextRoll is using AWS Batch for processing data, and how we benefit from this platform. We will start with an overview of the company and explain our needs for data pipelines. Then we'll talk about how we are utilizing Batch, reviewing the advantages and disadvantages of this technology. Finally, we will show you Batchiepatchie, the product that we have introduced to overcome the challenges presented by Batch.| NextRoll
In this post, we'll explore how NextRoll's Hack Week tradition encourages collaboration between different teams and organizations to make projects together| NextRoll
NextRoll's Women History Month Series -- Elena Rose| NextRoll
In this article we outline how we profile our Erlang system to drive optimizations that lead to cost reductions.| NextRoll
How we replaced a data processing pipeline in Java with a new one written in Go, moving our infrastructure to EC2 spot instances spread across the globe, with a final saving of 85%.| NextRoll
Our Rollers (employees) are the most essential “ingredient” to our success and culture. This pandemic is like nothing any of us have been through before. So, as we navigate this time with our Rollers, we want to ensure they are being supported... but we can’t read their minds!| NextRoll
Yet another very simple rebar3 plugin for Erlang that we created on our latest HackWeek| NextRoll
For this Hack Week edition we decided to port the classic Wolfenstein 3D game to Rust.| NextRoll