# The Result

Published articles for The Result.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## OAuth token refresh has a race condition. Fix it with a conditional write, not a distributed lock.

DevFeed: [OAuth token refresh has a race condition. Fix it with a conditional write, not a distributed lock.](<https://devfeed.tech/articles/oauth-token-refresh-has-a-race-condition-fix-it-with-a-conditional-write-not-a-distributed-lock-16039.md>)

Original publisher: [Read original article](<https://workos.com/blog/oauth-refresh-token-race-condition>)

Author: WorkOS

Published: 2026-08-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [OAuth](<https://devfeed.tech/topics/oauth.md>), [race-condition](<https://devfeed.tech/topics/race-condition.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Auth0](<https://devfeed.tech/topics/auth0.md>), [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [auth0](<https://devfeed.tech/tags/auth0.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [race-condition](<https://devfeed.tech/tags/race-condition.md>), [redis](<https://devfeed.tech/tags/redis.md>), [the-result](<https://devfeed.tech/tags/the-result.md>)

### AI overview

This article explains how concurrent OAuth token refreshes can cause two distinct failures: stale tokens from lost updates and user disconnection when refresh-token rotation treats concurrent reuse as replay. It recommends layered defenses, including conditional writes, and explains why a Redis lock does not address both problems.

### Source excerpt

Concurrent refreshes don't just fail. They can disconnect the user entirely. Here are four layers of defense, cheapest first, and why the Redis lock everyone reaches for isn't the one keeping you safe.

## Quantum advantage through trusted quantum computation

DevFeed: [Quantum advantage through trusted quantum computation](<https://devfeed.tech/articles/quantum-advantage-through-trusted-quantum-computation-17348.md>)

Original publisher: [Read original article](<https://research.ibm.com/blog/quantum-advantage>)

Published: 2026-07-30T10:00:00Z

Content type: article

Language: en

Sources: [IBM Research](<https://devfeed.tech/sources/ibm-research.md>)

Topics: [Quantum Computing](<https://devfeed.tech/topics/quantum-computing.md>), [Simulation](<https://devfeed.tech/topics/simulation.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>)

Tags: [news](<https://devfeed.tech/tags/news.md>), [process](<https://devfeed.tech/tags/process.md>), [quantum](<https://devfeed.tech/tags/quantum.md>), [quantum-algorithms](<https://devfeed.tech/tags/quantum-algorithms.md>), [quantum-computing](<https://devfeed.tech/tags/quantum-computing.md>), [quantum-error-correction-mitigation](<https://devfeed.tech/tags/quantum-error-correction-mitigation.md>), [quantum-research](<https://devfeed.tech/tags/quantum-research.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [science](<https://devfeed.tech/tags/science.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [the-result](<https://devfeed.tech/tags/the-result.md>), [validation](<https://devfeed.tech/tags/validation.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

IBM reports three papers demonstrating quantum advantage with built-in validation, including validated error-mitigation techniques and methods for certifying classically hard quantum computations. The article explains how these approaches aim to establish trustworthy results when exact classical verification is unavailable.

### Source excerpt

Demonstration shows trusted quantum computation in regimes where classical methods fail.

## How We Built a Zero-Downtime Database Migration Service at Wix

DevFeed: [How We Built a Zero-Downtime Database Migration Service at Wix](<https://devfeed.tech/articles/how-we-built-a-zero-downtime-database-migration-service-at-wix-22636.md>)

Original publisher: [Read original article](<https://www.wix.engineering/post/how-we-built-a-zero-downtime-database-migration-service-at-wix>)

Author: Wix Engineering

Published: 2026-05-14T07:19:17Z

Content type: article

Language: en

Sources: [Wix Engineering](<https://devfeed.tech/sources/wix-engineering.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Data Infrastructure](<https://devfeed.tech/topics/data-infrastructure.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>)

Tags: [amazon-msk](<https://devfeed.tech/tags/amazon-msk.md>), [data-infrastructure](<https://devfeed.tech/tags/data-infrastructure.md>), [database](<https://devfeed.tech/tags/database.md>), [database-migration](<https://devfeed.tech/tags/database-migration.md>), [databases](<https://devfeed.tech/tags/databases.md>), [db-topology](<https://devfeed.tech/tags/db-topology.md>), [debezium-connector](<https://devfeed.tech/tags/debezium-connector.md>), [good-tools-doesn-t-fit](<https://devfeed.tech/tags/good-tools-doesn-t-fit.md>), [how-db-mover-works](<https://devfeed.tech/tags/how-db-mover-works.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [summary-6-key-focal-points](<https://devfeed.tech/tags/summary-6-key-focal-points.md>), [the-challenge](<https://devfeed.tech/tags/the-challenge.md>), [the-python-service](<https://devfeed.tech/tags/the-python-service.md>), [the-result](<https://devfeed.tech/tags/the-result.md>)

### AI overview

Wix describes DB Mover, an internal service for transparent, zero-downtime database migrations between shared and dedicated MySQL clusters. The article explains the operational risks of shared clusters, migration requirements, and the topology managed by Wix's Data Infrastructure team.

### Source excerpt

The Challenge At Wix, multiple applications share the same DB cluster. The reasons vary: consolidating apps from the same domain, grouping several small apps that don't justify a dedicated cluster, or simply optimizing cost and operational overhead. However, this setup comes with a significant risk: every application on the cluster has the potential to impact all the others. One real example: we had a critical service related to user authentication sharing a DB cluster with several other...

## What Happened When We Treated AI Like an Engineering Teammate

DevFeed: [What Happened When We Treated AI Like an Engineering Teammate](<https://devfeed.tech/articles/what-happened-when-we-treated-ai-like-an-engineering-teammate-23981.md>)

Original publisher: [Read original article](<https://medium.com/mcdonalds-technical-blog/what-happened-when-we-treated-ai-like-an-engineering-teammate-4745e9a54a59?source=rss----3bac42476d27---4>)

Author: Global Technology

Published: 2026-04-28T13:23:51Z

Content type: opinion

Language: en

Sources: [McDonald's Technical Blog - Medium](<https://devfeed.tech/sources/mcdonald-s-technical-blog-medium.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI Engineering](<https://devfeed.tech/topics/ai-engineering.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [Security](<https://devfeed.tech/topics/security.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-engineering](<https://devfeed.tech/tags/ai-engineering.md>), [autonomous](<https://devfeed.tech/tags/autonomous.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [development](<https://devfeed.tech/tags/development.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [platform-engineering](<https://devfeed.tech/tags/platform-engineering.md>), [security](<https://devfeed.tech/tags/security.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>), [the-result](<https://devfeed.tech/tags/the-result.md>), [velocity](<https://devfeed.tech/tags/velocity.md>)

### AI overview

The Restaurant Topology Management team used an AI-powered, agent-based engineering assistant within its development workflows to handle repetitive maintenance work, including configuration updates, security patches, framework modernization, test coverage, and documentation. The article reports 20% faster sprint velocity, security updates completed twice as fast, and modernization delivered up to 10 times faster.

### Source excerpt

How an AI engineering assistant boosted sprint velocity by 20% and modernized services up to 10x faster. by: Sumedha Shenoy, Director, Engineering Tech Lead, and Kamal Jackson, Sr Manager, Engineering Tech Lead Quick Bytes: A growing backlog of essential but repetitive "glue work" was slowing the Restaurant Topology Management (RTM) team's ability to modernize and deliver new features By treating an AI engineering assistant as an autonomous teammate -- not a chatbot -- the team offloaded end-to-end maintenance tasks at scale The result was 20% faster sprint velocity, security updates completed twice as fast, and modernization work delivered up to 10x quicker without sacrificing quality In fast-moving software environments, critical but repetitive "glue work" like configuration updates, security patches, and documentation often compete with time that could be spent delivering new features. For the Restaurant Topology Management (RTM) team -- who build and maintain the cloud-based platform that enables markets to create and deploy consistent restaurant device configurations -- this maintenance workload had grown quietly over time and began to limit the team's ability to innovate. To regain momentum and address mounting operational debt, the team turned to an AI-powered, agent-based engineering assistant embedded into our standard development workflows, capable of handling complex, repetitive tasks. The challenge: The "un-fun" backlog Before piloting the AI assistant, the RTM team was managing maintenance tasks that had persisted across multiple sprints: Security updates: Enhancing automated scanning workflows to maintain a strong security posture Framework modernization: Updating services to align with the team's current application framework Test coverage improvements: Strengthening unit test consistency across services Documentation updates: Refreshing internal service documentation to support smoother onboarding and troubleshooting This maintenance work was important b

## The Result Monad

DevFeed: [The Result Monad](<https://devfeed.tech/articles/the-result-monad-25659.md>)

Original publisher: [Read original article](<https://adambennett.dev/2020/05/the-result-monad/>)

Published: 2020-05-15T17:31:46Z

Content type: tutorial

Language: en

Sources: [Posts on Adam Bennett](<https://devfeed.tech/sources/posts-on-adam-bennett.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [Android](<https://devfeed.tech/topics/android.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [android](<https://devfeed.tech/tags/android.md>), [blog](<https://devfeed.tech/tags/blog.md>), [career](<https://devfeed.tech/tags/career.md>), [compose](<https://devfeed.tech/tags/compose.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [exception](<https://devfeed.tech/tags/exception.md>), [finance](<https://devfeed.tech/tags/finance.md>), [functional](<https://devfeed.tech/tags/functional.md>), [growth](<https://devfeed.tech/tags/growth.md>), [java](<https://devfeed.tech/tags/java.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [monad](<https://devfeed.tech/tags/monad.md>), [money](<https://devfeed.tech/tags/money.md>), [opinions](<https://devfeed.tech/tags/opinions.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [startups](<https://devfeed.tech/tags/startups.md>), [the-result](<https://devfeed.tech/tags/the-result.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>), [training](<https://devfeed.tech/tags/training.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains why the Cuvva Android team adopted the kotlin-result library, how Result-based error handling works, and what problems it addresses. It introduces the monad concept and discusses Kotlin's unchecked exceptions in comparison with Java's checked exceptions.

### Source excerpt

Recently I've come to really appreciate the kotlin-result library as we've integrated it more and more deeply into the Cuvva Android stack. In this post, I'll explain why we needed it, how it works and what problems it solves, and show some examples of how we use it at the end. A great many people have tried and failed to explain what a monad is, and this is my attempt at being added to the list.

## Creating a simple Kotlin Multiplatform project based on moko-template

DevFeed: [Creating a simple Kotlin Multiplatform project based on moko-template](<https://devfeed.tech/articles/creating-a-simple-kotlin-multiplatform-project-based-on-moko-template-24581.md>)

Original publisher: [Read original article](<https://medium.com/icerock/creating-a-simple-kotlin-multiplatform-project-based-on-moko-template-2dd87d020bbd?source=rss-2f461fccc401------2>)

Author: IceRock Development

Published: 2019-11-08T19:52:31Z

Content type: tutorial

Language: en

Sources: [Stories by IceRock Development on Medium](<https://devfeed.tech/sources/stories-by-icerock-development-on-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Template](<https://devfeed.tech/topics/template.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Binance](<https://devfeed.tech/topics/binance.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [api](<https://devfeed.tech/tags/api.md>), [build](<https://devfeed.tech/tags/build.md>), [building](<https://devfeed.tech/tags/building.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [files](<https://devfeed.tech/tags/files.md>), [github](<https://devfeed.tech/tags/github.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [project](<https://devfeed.tech/tags/project.md>), [repository](<https://devfeed.tech/tags/repository.md>), [the-result](<https://devfeed.tech/tags/the-result.md>)

### AI overview

A tutorial for creating a simple Kotlin Multiplatform application for Android and iOS from the moko-template. It covers the required tools, the template's shared library and modules, cloning the generated repository, testing builds, and setting application identifiers, names, and icons. The example application uses the GIPHY API to display GIF files with native Android and iOS interfaces.

### Source excerpt

1. Intro In this lesson we will cover developing small application for iOS and Android using Kotlin Multiplatform based on moko-template. Tools We will need: Android Studio 3.4.0+ (do not use 3.5.1 version, cause there is a bug is breaking MPP project); Xcode 10.3+; Xcode Command Line Tools (xcode-select --install); CocoaPods (sudo gem install cocoapods); JDK -- требуется для запуска gradle из Xcode build phase. The Result As the result of GiphyApp lessons you will get an application to view gif files using GIPHY API. UI of this application will be completely native, player of gif files will make using native libraries glide for Android and SwiftyGif for iOS. 2. Create the project based on moko-template For creation we will use project template from moko-template. The project template already has preconfigured builds of iOS and Andoroid application with shared library and you will save the time to integrate shared library to iOS project on iOS platform, to configure Kotlin Multiplatform modules and dependencies (using mobile-multiplatform-gradle-plugin you can make configuraion is simplier). The project template has a sample of several features as well as. Use this template To use this template you have to go on GitHub репозиторий шаблона moko-template and press a green button Use this template. As the result, you create a new repository according to the last commit of master branch of moko-template project. After succefull creation you should clone this rep: git clone <git url of repo>. 3. Test build To be sure that start state is correct, will run the both applications. To do this: on Android: open root repository directory in Android Studio, wait while Gradle Sync will finish, and run android-app as regular application. on iOS: install project's CocoaPods (in directory ios-app run a command pod install, and after this open ios-app/ios-app.xcworkspace in Xcode and press Run for running application. Building of Kotlin/Native can take a time (it will start automatica