Category: Technology

Personalizing and Creatively Optimizing Your Campaigns with DCO

Advertisements have a quick 50/50 chance to “pitch” itself to online users once exposed. Upon first glance, an ad’s illustration and what it promotes yields the make-it-or-break-it factor for users. Ads connecting to the user is left to either be closed and skipped, or clicked on with interest.

Continue reading

Get Connected to plista APIs – 4 Learnings for Fast Setup

Today we want to give you an insight on how to get connected to plista by using the plista APIs.  In the following we wrote a short and easy setup guide.

In order to connect your system to plista, feel free to use our public APIs.

For these REST based APIs, you need to have an user account set up. No SDK are needed, just create simple calls with e.g. cURL.

Continue reading

Using Aptly to Manage Highly-Available Debian Repositories

Every team managing more than a few Debian packages at some point faces issues with serving, or, if not that, how effective it’s being served. In our case, we used to use a different tool, Reprepro, which does a pretty good job on the package management, however it does not support having more than one version per package. This kind of constraint directly affects when we need to meet dependencies or even rollback to previous versions and was always problematic in achieving the required results when facing this kind of scenario.

Continue reading

Machine Learning Team Goes NIPs (Part I)

Just recently, the plista Machine Learning Team attended the highly-coveted Neural Information Processing Systems (NIPS) 2016 Conference in Barcelona in quest of the latest technologies and projects within machine learning and computational neuroscience. This 30th annual conference with more than 5000 attendees included invited talks, symposia and presentations from a selection of sought-after papers from machine learning experts.

Continue reading

Every Event Counts: A Reliable Flume-NG Fallback Solution

This article quickly describes how we handled the transit of external-generated customers events toward our internal Kafka cluster and how we built a reliable failover system using Flume-NG.

We started to work with Apache Flume on its 0.9 version since the beginning, because it was fitting well our need to make internet events landing into a first dumb backet, before being processed.

Continue reading

Unit Testing in Q&A. PHPUnit and Mocking

The article continues the series of questions and answers about the problems of unit testing in PHP applications. In this part we’ll consider PHPUnit and mocking, such as disadvantages of the classical mocking framework and feature of its native alternative Prophecy, highlight common fallacies of how the test doubles should be used to make the object oriented design better.

Continue reading

Growing Programmatic – The Future of Digital Advertising

Lately, everyone is talking about programmatic advertising.  Proud to announce our SSP integration, a step forward to a native programmatic company. To shed some light on this topic and tell you some facts about programmatic advertising, we will show in this article why it is important for digital marketing and how plista is approaching it!

Continue reading

Unit Testing in Q&A. OOP

This series of articles is an experimental attempt to explain problems of unit tests in PHP applications, turning the theory upside down. From my practice I know it well that even skilled developers often have difficulties with rearranging their OOP knowledge onto new test driven approach. I will try to share my experience with the subject in form of original questions and answers, that elucidate very important and not always obvious aspects of unit testing and clean code practices.

In the first part we’ll consider the common misunderstandings of the OOP and unit testing principles, that may lead to wrong perception of test driven design practices.

Continue reading

The Anatomy of Apps’ Reachability in a Mesos Cluster

Introduction

At the beginning, we used to cluster our Spark applications using  Apache Yarn as our main Resource Manager. At that time we considered an RM that was more like a “Spark extension,” which was basically used to optimize Spark processes and nothing more. Our usage of Yarn then never went beyond deploying those applications, such as monitoring them via web browser by typing something like http://yarn.url:4040/<spark_app>.

Problems in Yarn came with the need to deploy applications using different Spark versions, which were thus submitted to the cluster as Docker containers. This requirement with the relatively first deploy attempt raised a set of structural issues and unplanned limitations using Yarn. One example: deployed containers used a private ipv4 IP (eg: 10.0.0.20) in the slave, which of course was preventing us from connecting to the Spark-monitoring interface from outside.

After some brainstorming, we worked around this situation by setting up an IPv6 stack for each Yarn slave, thus assigning an IPv6 address to each container and finally reaching the exposed Spark web interface. It was surely working, but then we moved to Mesos.

Continue reading

Welcome to plista Technology, a Space for IT and Development

This section is meant to collect some of our experiences in working with a variety of technologies everyday. Therefore, when approaching very cutting-edge systems, it often leads us to go for custom solutions, which is a real pity to not share. Our goal is to share some tips and knowledge that is specifically all about the latest tech from our plista technology department. Specifically, we want to share our plista tech solutions.

Continue reading

© 2018 plista Blog