Uncategorized

This article explores a specific edge case that can happen when OAuth 2.0 authorization servers use rotating refresh tokens to detect refresh token theft. That’s a mouthful, so let’s explore those ideas one by one. What is OAuth 2.0? OAuth 2.0 is a framework for authorization on the web, where…

As a programmer, you deal with memory all the time—it’s where you store variables and data. Most of the time, you probably don’t think too much about it, except maybe to not use too much of it. But behind the simple interface of getting and setting variables and allocating and…

Android has supported autoBackup for apps by default since Android 6, enabling users to backup app data automatically to Google Drive. Configuration for this backup could be added with backup rules, or it could be turned off entirely with autoBackup=false. This also allowed apps to configure device-to-device transfer (D2D transfer),…

We’re excited to continue our series of interviews with members of our scrum teams. Today we interviewed Gen Bennett, a Quality Assurance Specialist, and Zack Rowley and Kai Rogers, Sr. Quality Assurance Specialists. Note that Quality Assurance is frequently shortened to QA. How do you build good relationships with the…

I’ve seen code that I have written go out to production before. This time it was an event that I had carefully orchestrated with the ops on-call team, mostly because of the magnitude of the change. We had rehearsed the change in our preproduction environment and the actual change itself…

Change can be difficult. We tend to resist change, anticipating that it may bring grief, anxiety, and fear of the unknown. But change can also be exciting, positive, and more successful when it is executed with empathy, purpose, and clear objectives.  Several years ago I was a Change Management Lead…

There are few things that can trip up even experienced programmers more easily than floating-point arithmetic. New programmers often don’t even realize they are using floating-point numbers, or know what floating-point numbers are. In modern programming, non-integer numbers often just are floating-point numbers. A black box that “just works”—until it…

As someone with experience working as a Software Engineer with a Bachelor’s Degree in Linguistics and a Master’s Degree in World Languages, I am frequently asked if programming languages and spoken or human languages are basically the same thing. While this is largely a philosophical question based on how you…

My husband recently asked me to help make a piece of geometric art out of wood, depicting the famous Delicate Arch in Arches National Park. He wasn’t surprised when I immediately opened Lucidchart, and sized a few shapes into the height and width of the pine pieces he would be…

“Product analytics” can mean a lot of different things to different people. Intensive SQL modeling? Managing and analyzing user data? Running AB tests? Contributing to the vision of the product through strategic analysis? All of this and more can fall under the broad category of product analytics. Figuring out where…