Tips and Tricks

High Scale Service Deployment: Taboola’s Recommended Flow

Tidhar Klein Orbach | 01 Jul 2020 | Java

Tags: Deployment, devops, high scale service, release engineering

This post is not about K8S – nor is it about AWS. It is not about containers – Read More...

Using Spark Dynamic Allocation

Igor Berman | 24 Jun 2020 | Big Data

Tags: big data, dynamic allocation, infra, mesos, performance, Spark

The story starts with metrics. Every mature software company needs to have a metric system to monitor resource Read More...

Collaborative Trial: On Optimizing Recommendation Testing

Maoz Cohen | 09 Jun 2020 | Big Data

Tags: a/b testing, algorithms, big data, data, data science, Monitoring, performance, statistics, testing

Taboola is responsible for billions of daily recommendations, and we are doing everything we can to make those Read More...

Fear of breaking production? Use Grafana!

Tal Bar Zvi | 07 May 2020 | Big Data

Tags: Grafana, Monitoring, Observability

In Taboola, we deal with scale, huge scale. A small issue might turn into a disaster in a Read More...

‘Tis the Season: Fun with (Decision) Trees

Marina Gandlin | 18 Dec 2019 | Data Science

Tags: algorithms, data, data model, data science, machine learning, python

At Taboola, we work daily on improving our Deep-Learning-based content-recommendation model. We use it to suggest personalized news Read More...

A QA Party is the BEST Party in town!

Sefy Cnaany | 04 Dec 2019 | Tips and Tricks

Tags: QA

Sometimes we need to test urgent features fast. It has to be within a very short timeframe, when Read More...

Exploiting Multi-Categorical Features Using Deep Interest

Marina Gandlin | 04 Sep 2019 | Data Science

Tags: algorithms, big data, data, data model, data science, deep learning, machine learning, neural networks

At Taboola, our goal is to predict whether users will click on the ads we present to them. Read More...

Analog Clocks with NTP

Chris Liebman | 21 Aug 2019 | System

Tags:

Synchronized Clocks: Someone has to be blamed…   I blame Ariel.  He took one look at the five Read More...

How teaching in high school helped me become a better team lead

Ido Guterman | 08 Aug 2019 | Culture

Tags: cyber, high school, mentorship, teaching, women in high tech

A few years ago, one of my friends suggested me to become a cybersecurity teacher in high school Read More...

SDK testing with hot swapper

Oren Kochansky | 01 Aug 2019 | Tips and Tricks

Tags: Android, APK, QA, SDK, testing

In the following article, I describe how we came up with a way to improve the chances that Read More...

All code is guilty until proven otherwise

Shiran Goffer | 17 Jul 2019 | Tips and Tricks

Tags: QA

Delivering good product to live environment requires big effort from R&D. Under the software development life cycle, we Read More...

Going Old-School: Designing Algorithms for Fast Weighted Sampling in Production

Shaked Zychlinski | 06 Jun 2019 | Big Data

Tags: algorithms, performance, production, real-time, sampling, uncertainty

If you happen to write code for a living, there’s a pretty good chance you’ve found yourself explaining Read More...

Bucket the shuffle out of here!

Igor Berman and Radik Komarnitsky | 28 Mar 2019 | Big Data

Tags: big data, data, performance, shuffles, Spark, Spark-on-demand, tips

Intro At Taboola we use Spark extensively throughout the pipeline. Regularly faced with Spark-related scalability challenges, we look Read More...

TensorFlow – The Scope of Software Engineering

Yoel Zeldes | 05 Feb 2019 | Tips and Tricks

Tags: software engineering, tensorflow

How to structure your TensorFlow graph like a software engineer   So you’ve finished training your model, and Read More...

Beginner’s guide for naming things in your code

Lior Halfon | 05 Feb 2019 | Tips and Tricks

Tags: beginners, code readability, names, naming, naming variables

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” Read More...