Cursor-based pagination has become the default pagination strategy for many modern APIs, including GraphQL APIs, cloud platforms, and large-scale SaaS applications. While it offers significant performance advantages over traditional offset pagination, it introduces new challenges for navigation, bookmarking, sharing links, and preserving user context. In this article, we compare cursor pagination vs offset pagination, explore why the industry is moving …
About the Author
How to Prevent Retry Storms with Responsible Client-Side Retry Policies
A retry storm occurs when large numbers of client applications retry failed requests simultaneously, spawning additional traffic that overwhelms already unstable systems.
While much of outage prevention rightly focuses on backend systemsโload balancers, API gateways, circuit breakers, and queuesโclient-side retry policies play a critical but often overlooked role in system resiliency. Preventing retry storms requires treating client-side retry behavior as a core part of system resiliency.
In this article, weโll explore how retry storms form, how client applications unintentionally amplify traffic, and what development teams can do to implement safer, smarter retry behavior.
One Source of Truth: Deriving Required Fields from Zod
TL;DR: Struggling to keep form validation and UI in sync in your React app? Hereโs how I used Zod and React Hook Form together to define a single source of truthโdriving both runtime validation and required field indicators in the UI. The Problem: When Validation Drifts from UI Iโve been writing forms for as long as Iโve been writing codeโand …
Recording & Communicating Time in Software
When I first started writing software to handle time, I went into it with a naive perspective that it couldnโt be that hard. After all, itโs just time, and Iโve understood how that worked since elementary school! It took my first daylight savings time transition to disabuse me of that notion. I began daydreaming that one day all systems would fully run on UTC and people would adapt to that as a standard.
No more writing code to handle time zones in different regions. No urgent time zone library updates to account for new government legislation around daylight savings time. Being able to add and subtract time without having to account for crossing time zones…
It sounded great to me at the time, and sometimes when Iโm neck-deep in tricky code, I feel that way still. In calmer moments though, Iโve learned thatโs not a philosophy that serves me. When I talk to people about my birthday, a holiday, or give vague time measurements like โtwice a dayโ or โfirst thing tomorrow,โ Iโm not speaking to them about timestamps. Iโm conveying an idea that just happens to involve time. Time isnโt just a number; it is communication that is tied to our days and nights and the lived human experience.
A good software product handles, records, and displays time accurately. A great piece of software captures, stores, and displays time and date information in a format that conveys the full idea to the intended recipients. Good software works; great software communicates.
Flutter Essentials: Strategies for Collapsible Text in Flutter
As a mobile developer, I have had to create a lot of listing pages. The content, styling, and layout may all differ, but structurally, they are the same. When I first started using Flutter, I was immediately impressed by how fast they are to stand up. Nearly out of the box, the ListView and the Card work extremely well and support a wide variety of devices and use cases with no additional styling – all while remaining extensible.
With this in mind, when I needed to create a listing page that displayed variable lengths of pre-generated text that could be expanded and collapsed, I was not particularly concerned about the complexity of the task. However, I very quickly realized that Flutter is less optimized for handling large blocks of text than it is for displaying lists. I quickly encountered unexpected complexities that I had to manually account for. In this post, Iโll walk through the basic structure and explore which components can be used for solving this problem and creating collapsible text in Flutter.
- Page 1 of 2
- 1
- 2





