Troubleshooting web-based issues can quickly become exercises in patience and extreme outside-the-box thinking, especially when there are multiple technologies, codebases, and partners at play. That’s why any tools that allow us to troubleshoot our case-specific problems can be so important. Here at GumGum, our Ad Server team has created an internal tool called “Badges” that allow various teams here to easily see useful data that is collected or created while requesting and serving our ads.
Back in August 2019, I wrote git and git-flow, a guide. I intended it to be used internally by GumGum to familiarize new hires with the workflow we use.
It covers a wide range of topics for people new to git and git-flow; however, it doesn’t cover everything I wanted it to cover. It was easy to say, I’ll do it later, but life happens, and almost two years later, the first part gets modest monthly views and reads while I fear that someone else will notice I never got to writing the second part. …
Migrating all our reports in Looker from Redshift to Snowflake was a multi-quarter project for us at GumGum. We had strategically planned (see previous blog post) this migration in phases to ensure business as usual and cost optimization. Our first phase of migration was the longest where we gave enough time to ourselves to experiment, and learn from the gotcha moments. Right after the first phase of the migration, we realized that we need to build a process for the future migrations.
To build the process, we documented all the different steps we performed in our first phase of the…
There is no free lunch when it comes to embracing microservices, a wise person once said. While there are many advantages to the approach, it comes with some undeniable challenges. One of these challenges relates to achieving proper test coverage across your system. In this blog, I will explain how I was able to tackle this, in integration-testing my Spring Boot based REST API microservices using Spring REST Docs and WireMock.
Why Use WireMock?
In mocking microservices, I aim to keep their respective integration tests as lightweight as possible. Since it’s advisable to test in isolation, simply connecting to a…
Relax and put your seat belt on… You’re about to enter my journey of an intense 2 weeks sprint I recently led, swapping my DevOps hat for a front-end one to build a full JAMStack website from the ground up deployed on AWS!
The GumGum Verity team applies machine learning techniques to the text and imagery on web pages to identify the context of the advertising inventory and brand safety threats. It then delivers content-level data over a Rest API that help publishers, DSPs and advertisers place ads in safe and relevant contexts.
This API not only supports page level…
“Nobody is Perfect” This quote not just applies to us humans but also the data that surrounds us. Any data science practitioner needs to understand all of the imperfections present in the data and handle them accordingly in order to get the desired results. Once such imperfection is the inherent Class Imbalance which is highly prevalent in most of the real world datasets. In this blog we will cover different Sample Weighting schemes that can be applied to any Loss Function in order to cater to the Class Imbalance present in your data.
The Class Imbalance problem is a problem…
Introduction
Data warehouse migration is moving data from one location to another or from one application to another. There could be various reasons for data migration like cost optimization, upgrading technology for performance, and scalability or consolidating data at one location. It is similar in concept to human migration, which is driven by climate, food availability, and other environmental factors.
At GumGum, business is expanding constantly, along with that, our data storage and compute requirements are growing exponentially. To strike a balance between scalability and cost, we have decided to move our reporting data from Redshift to Snowflake. This translated…
By Corey Gale, Engineering Manager, DevOps
For the DevOps team at GumGum, process has been constantly evolving. Two years ago we shifted towards an Agile methodology for managing all of our work, including interruptive support tasks. Our implementation of Agile borrowed some elements from Scrum (like daily stand-ups and sprint demos) and combined them with the flexibility of Kanban (like continuous delivery).
While this new bump in process rigor fixed a lot of problems like clarifying project priorities and encouraging early discussions about scope, it also introduced a lot of new overhead. …
If your company has a software in production for some time, you are probably familiar with this story. One of your teams is the keeper of a critical software in production. You are a small or medium size new age company who doesn’t have a NOC (those are so 1900s anyways!) and you have setup various alerts to notify you in case something goes wrong in production. These can be critical alerts that are setup with a combination of Sumo Logic / Splunk + Pager Duty or Cloudwatch (if you are in AWS) + Pager Duty. There is a whole…
Thoughts from the GumGum tech team