Blog Posts

Article featured image
Data pipeline job scheduling in GoDaddy: Developer’s point of view on Oozie vs Airflow

November 15, 2018 — This blog discusses the pros and cons of Oozie and Airflow to help you choose which scheduler to use for your data pipeline jobs. It also contains a sample plugin which implements the Airflow operator. Read More »

Article featured image
Engaging Daily Scrum Meetings

November 13, 2018 — When team members become disengaged in a daily scrum meeting, it can be easy to question the value of the ceremony. By committing to decrease siloing and help each other with blockers, a team can achieve a more healthy culture and become more engaged in each others' progress. Read More »

Article featured image
Move over Selenium - UI Testing with Cypress

November 06, 2018 — Cypress is a relatively new front end testing tool that can be used for your UI testing needs. Selenium brings some challenges to UI testing that Cypress aims to solve through a better developer experience. Read More »

Article featured image
Reduxful: Manage RESTful data with Redux

November 05, 2018 — Introducing Reduxful, an open source project which aims to reduce the boilerplate for managing RESTful data with Redux by generating actions, reducers, and selectors for you. Read More »

Article featured image
Lighthouse4u - A Google Lighthouse as a service production

October 28, 2018 — Lighthouse4u is an opensource API for running Google Lighthouse tests at any scale, backed by Elasticsearch and Kibana for your search and visualization needs. Read More »

Article featured image
Distributed cron for Rails apps with Sidekiq Scheduler

October 15, 2018 — In some of our Ruby on Rails applications, we have migrated from using OS based cron to distributed cron using Sidekiq Scheduler. We will discuss the motivation for this change and the benefits from it. Read More »

Article featured image
Mocking SOAP APIs in functional tests using Nock

October 02, 2018 — This post explains why and how to mock the external REST and SOAP APIs in the functional tests of a service written in NodeJS to have a more robust CICD. In this post, We will write a simple functional tests and mock the external API using `nock` node module. Read More »

Article featured image
Implementing a custom Redis and in-memory bloom filter

September 11, 2018 — In our email marketing products, we changed our bloom filter implementation by using a custom Redis and an in-memory bloom filter written in Ruby. We will go through iterations at solving a real problem and writing a custom bloom filter from scratch. Read More »

Article featured image
Making mocking mistakes in Python

September 04, 2018 — Python mocking is tricky. See if you can diagnose and correct four example mocking mistakes, all of which I've made while learning the mock library in the past few months. Read More »

Article featured image
Eliminating Boilerplate and Increasing Reusability with Higher-Order Reducers

August 24, 2018 — My team has changed the way we write our redux reducers, choosing a more dynamic approach than the common switch statement. Creating reducers with higher-order factory functions gives us some great benefits. They can make the process of writing reducers faster and they're also flexible functions that can be used to generalize patterns and reduce repetition. Read More »

Article featured image
Real User Performance Measuring for Next.js

August 21, 2018 — With the introduction of navigation timing in browsers it has become a lot easier to measure performance of your front-end application. With the introduction of the `next-rum` component you will be able to gather the same metrics for your Next.js based application as well. Read More »

Article featured image
React Native Application UI testing using WebDriverIO and Appium

July 09, 2018 — We recently adopted WebDriverIO based UI testing for our React Native application. Benefits of using WebDriverIO include allowing us to write UI tests just as we wrote tests for the web. WebDriverIO configuration allows us to plugin Sauce Labs Emulators or Real Devices for cloud-based testing. Read More »

Article featured image
GoDaddy and Amazon EKS

June 28, 2018 — GoDaddy's engineering teams need a robust solution for running container-based workloads. Amazon EKS gives us a shared responsibility service model that minimizes operational complexity and delivers the powerful benefits of running on Kubernetes. Read More »

Article featured image
A build monitoring plugin for Jenkins

June 19, 2018 — We recently built a plugin to automatically monitor the health of our Jenkins builds. This article talks about how and why the plugin was built, and describes how it works at a high level. Read More »

Article featured image
Announcing winston@3.0.0!

June 12, 2018 — After several years the winston team is happy to announce the latest version – 3.0.0! Learn more about the latest version of the most popular logging library for Node.js along with what Node.js LTS means to maintainers of popular npm packages. Read More »

Article featured image
Jenkins Best Practices - Practical Continuous Deployment in the Real World

June 05, 2018 — This post describes how we use best practices for CICD pipelines using Jenkins. Read More »

Article featured image
jiractl: A command-line tool for managing Jira

May 15, 2018 — This post introduces jiractl, a command-line tool for managing Jira. We provide some instructions on how to set up and use jiractl. Read More »

Article featured image
UI Testing: moving from WebdriverIO and Selenium to Puppeteer

May 07, 2018 — When our team was losing engineering hours to Selenium-related test flakiness, we switched to Puppeteer for some of our UI tests. Given our constraints, we found that Puppeteer had a better developer experience and that the similar syntaxes of the two frameworks made the switch easy. We recommend Puppeteer for projects that do not need cross-browser compatibility. Read More »

Article featured image
Kubernetes - A Practical Introduction for Application Developers

May 02, 2018 — A collection of resources / best practices that help you become a more productive developer working with Kubernetes. Read More »

Article featured image
An Intuitive Node.js Client for the Kubernetes API

April 10, 2018 — This post explains the motivation for and design of kubernetes-client. We provide an short example on how to write your custom Kubernetes extentions using Node.js and kubernetes-client. Read More »

Article featured image
Isomorphic Asset System for React and React-Native

April 04, 2018 — Introducing Asset System a cross platform asset rendering system for React and React-Native using SVG's. Read More »

Article featured image
Introducing a fully extendable eslint plugin for JSON i18n translation files

April 02, 2018 — Many web apps harness internationalization through frameworks such as React-Intl. This is awesome for the web and helps web apps obtain a global reach. Read More »

Article featured image
Health Checks and Graceful Shutdown for Node.js Applications

February 22, 2018 — Your application is serving requests constantly for your users. You and your team want to ship features and fixes as soon as they are ready, so you do continuous delivery. But what happens to your users who used your product at the time of the deployment? Chances are, the requests they have in progress are going to fail. This post helps you fix that. Read More »