---
title: "Latest reads"
description: "The engineering internet, summarised so you can actually read it."
---

# Latest reads
> The engineering internet, summarised so you can actually read it.

## Articles

### [How to Create an AI Agent With Heroku and Agentforce](https://yomu.fyi/post/how-to-create-an-ai-agent-with-heroku-and-agentforce.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Andrew Fawcett
- Published: Oct 17, 2024
- Type: Tutorial

The post shows how to extend Salesforce Agentforce with a Heroku-hosted custom action when customer information remains in older, unstructured cloud archives and requires scalable, real-time processing. It explains that Agentforce selects discrete actions, while Heroku exposes code through External Services using an OpenAPI description of the request and response. The sample uses Java and Spring Boot, an H2 in-memory database, springdoc.org for OpenAPI generation, and Spring AI to convert natural-language questions into SQL before returning results for an Agentforce response. The integration is identified as pilot-only and not intended for production, while the post also points to Heroku Postgres, Heroku Connect, Data Cloud, and pgvector as extensions for other agent use cases.


### [Testing subscriptions with Stripe Test Clocks and Workbench](https://yomu.fyi/post/testing-subscriptions-with-stripe-test-clocks-and-workbench.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Cecil Phillip
- Published: Oct 14, 2024
- Type: Tutorial

Stripe subscriptions require testing scenarios that unfold across billing cycles, and the post presents Test Clocks and Workbench as no-additional-cost test-mode tools for doing so without waiting real time. It provisions three monthly recurring product tiers, creates a test clock with a Unix Epoch FrozenTime, and attaches newly created customers and subscriptions to that clock using the Stripe .NET SDK. Advancing the clock by one month updates time-dependent objects, allowing Workbench Inspector logs and events such as invoice.created and customer.subscription.updated to be examined alongside payment and subscription state. A second simulation attaches pm\_card\_chargeCustomerFail, makes it the default payment method, and advances to the next billing period. The resulting failed invoice, canceled subscription, and customer.subscription.deleted cancellation\_details show how these tools reveal the events and properties an integration should test.


### [What is a Vector Database?](https://yomu.fyi/post/what-is-a-vector-database.md)
- Company: [Databricks](https://yomu.fyi/company/databricks.md)
- Author: Databricks Staff
- Published: Oct 11, 2024
- Type: Explainer

Vector databases store and manage high-dimensional vector representations of data, grouping them by similarity rather than traditional row-and-column organization. They support semantic and similarity-based retrieval by converting text, images, audio, or video into embeddings, indexing them with methods such as product quantization and HNSW, and comparing query vectors with indexed vectors. These capabilities underpin use cases including RAG, hybrid search, recommendations, NLP, image and video recognition, and anomaly detection, while sharding, partitioning, caching, and replication support scale. The article distinguishes a vector database from a standalone index because it also provides storage, CRUD, metadata filtering, horizontal scaling, and data management functions, and describes Databricks AI Search as an integrated implementation with automatic scaling, optimization, security, and governance.


### [How to Create a Secure CI/CD Pipeline Using Okta Terraform](https://yomu.fyi/post/how-to-create-a-secure-ci-cd-pipeline-using-okta-terraform.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Nick Connelly
- Published: Oct 11, 2024
- Type: Tutorial

The guide presents a secure CI/CD pipeline for managing Okta resources with Terraform, AWS, and GitHub Actions, addressing local setup, collaboration, state storage, secrets, and deployment automation. Its architecture uses GitHub as source control and workflow trigger, GitHub OIDC to authenticate to AWS IAM STS and assume roles, S3 for Terraform state, DynamoDB for state locking, and AWS Secrets Manager for Okta OAuth 2.0 client credentials private keys. Developers push changes to develop for an automatic development build, open a pull request to main for a production plan, and merge approved changes to trigger the production build. The workflows run Terraform init, plan, and apply as appropriate, while the guide also covers repository setup, branch organization, and troubleshooting for missed configuration in GitHub, Okta, or AWS.


### [Leveraging RAG-powered LLMs for analytical tasks](https://yomu.fyi/post/leveraging-rag-powered-llms-for-analytical-tasks.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Edmund Hong
- Published: Oct 9, 2024
- Type: Problem & solution

Data analysts at Grab faced an increasing volume of stakeholder data requests that required manually writing and executing repetitive SQL queries with minor parameter changes. To automate routine tasks like metric reporting and fraud investigations, the Integrity Analytics team paired an internal prompt-management platform, Spellvault, with Data-Arks, an in-house Python-based middleware that packages SQL queries and Python functions into APIs. A scheduler triggers automated report summarization, while an analytical bot named A\* bot executes relevant investigation queries via RAG and returns summarized findings in Slack. Automated report generation saves an estimated three to four hours per report and shortens multi-query fraud investigations to minutes. Grab favored RAG over fine-tuning because it avoids continuous retraining costs, scales faster across diverse use cases, and surfaces current production data.


### [Improving Compute Sustainability: A Case Study](https://yomu.fyi/post/improving-compute-sustainability-a-case-study.md)
- Company: [Two Sigma](https://yomu.fyi/company/two-sigma.md)
- Author: Emily Majewski
- Published: Oct 7, 2024
- Type: Problem & solution

Two Sigma's large computing footprint drives significant energy consumption and carbon emissions, particularly across live trading applications that require continuous real-time market data caching. To address this overhead without sacrificing performance, engineering teams used a routine hardware refresh to transition from legacy single-process machines to denser multi-core server configurations. By replacing roughly 60 legacy hosts with 28-core processor hardware, the team distributed baseline power draw over more cores and eliminated underutilized compute capacity. This architectural consolidation reduced absolute power consumption across production hosts by 66%, dropping electricity usage from 27 MWh in January 2023 to 10 MWh in January 2024. The initiative subsequently established an annual sustainability rationalization practice for hardware budgeting across the organization.


### [MongoDB 8.0: Raising The Bar](https://yomu.fyi/post/mongodb-8-0-raising-the-bar.md)
- Company: [MongoDB](https://yomu.fyi/company/mongodb.md)
- Published: Oct 2, 2024
- Type: Announcement

MongoDB 8.0, the latest version of the document database, is now generally available, delivering significant performance and security improvements. The release features 36% better read throughput, 56% faster bulk writes, 20% faster concurrent writes during data replication, and 200% faster complex aggregations of time series data. MongoDB’s internal build system, which runs on MongoDB, saw query latencies drop by approximately 75% after upgrading. The company also reports that customer OCELL experienced queries running twice as fast. MongoDB 8.0 includes sharding enhancements for up to 50 times faster data distribution, quantized vectors that reduce memory usage by up to 96%, and expanded Queryable Encryption to support range queries. The release is available via MongoDB Atlas, MongoDB Enterprise Advanced, and MongoDB Community Edition.


### [Evolution of Catwalk: Model serving platform at Grab](https://yomu.fyi/post/evolution-of-catwalk-model-serving-platform-at-grab.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Vishal Sharma
- Published: Oct 1, 2024
- Type: Problem & solution

Grab developed and scaled Catwalk, an internal machine learning model serving platform, to address operational bottlenecks, low resource utilization, and deployment friction between data scientists and backend engineers. The platform transitioned from an admin-managed TensorFlow Serving setup into a low-code self-service system supporting PyTorch and ONNX, before replacing complex Helm charts with Kubernetes Custom Resource Definitions for declarative, blue-green deployment orchestration. To support complex business workflows and multi-model applications, Grab subsequently introduced Catwalk Orchestrator with bundled deployments that allow individual services to scale independently. Across two years, the orchestrator architecture expanded to 200 deployed applications serving approximately 1,400 production machine learning models.


### [Propel Your SaaS Apps Into the Future at Oktane](https://yomu.fyi/post/propel-your-saas-apps-into-the-future-at-oktane.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Michael Palermo
- Published: Sep 26, 2024
- Type: Announcement

Okta invites SaaS application builders to Oktane 2024, held at Caesars Forum in Las Vegas from October 15–17, to discuss how identity and user lifecycle platforms can support secure B2B SaaS applications. The announcement frames identity as increasingly complex, with a growing protection surface expected to influence SaaS roadmaps and developer priorities. Attendees can join three breakout sessions, visit the Dev Hub, attend hands-on labs, and connect at a B2B SaaS builders happy hour or the Okta Workflows community meetup. Lab topics include moving Okta app configurations from PowerShell into Terraform, signing users out across apps with one API, and identifying inactive users with Okta Workflows. Some activities require Oktane attendance, while labs have limited, first-come-first-served capacity and the happy hour is invitation-based.


### [Enabling conversational data discovery with LLMs at Grab](https://yomu.fyi/post/enabling-conversational-data-discovery-with-llms-at-grab.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Shreyas Parbat
- Published: Sep 26, 2024
- Type: Problem & solution

Grab faced major bottlenecks in dataset discovery across its 200,000 data lake tables due to low documentation coverage and vanilla Elasticsearch limitations in its internal tool, Hubble. To resolve this, engineers first tuned Elasticsearch by boosting frequently queried P80 tables and certified schemas while deboosting deprecated datasets. They then deployed a GPT-4 pipeline that generated documentation from table schemas and sample data, raising P80 documentation coverage from 20% to roughly 90%. Finally, the team developed HubbleIQ, an LLM-powered assistant built via Glean Apps and integrated into Slack and Hubble search to answer semantic queries. These initiatives increased search click-through rates to 94% and lifted the proportion of users finding discovery easy to 73%.


### [Choosing the right sandbox strategy for your organization](https://yomu.fyi/post/choosing-the-right-sandbox-strategy-for-your-organization.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ben Smith
- Published: Sep 26, 2024
- Type: Explainer

Stripe sandboxes provide isolated environments for testing Stripe features without affecting a live integration, with access controls for the people who use them. Each live account can have up to five sandboxes, which admins can create, name, configure by copying selected live-account settings, and delete when no longer needed. The guide describes a staged setup for startups and small teams, using separate environments for development, integration testing, user acceptance testing, and spare capacity, while larger organizations may assign sandboxes to departments and rotate them between projects. It also presents an iterative model in which teams prototype, collect stakeholder feedback, retest changes, and document results. The recommended strategy depends on team size, organizational structure, workflow, and development methodology.


### [eBay Empowers Sellers with Innovative Tools at eBay Open 2024](https://yomu.fyi/post/ebay-empowers-sellers-with-innovative-tools-at-ebay-open-2024.md)
- Company: [Ebay](https://yomu.fyi/company/ebay.md)
- Author: eBay News Team
- Published: Sep 25, 2024
- Type: Announcement

At eBay Open 2024, eBay announces tools and services intended to help sellers streamline operations and connect with buyers. Recent additions include generative AI-powered descriptions, image background enhancements, social media promotion methods, mobile-friendly product research, and combined international shipping. The simplified listing flow is rolling out across all categories in the United States and United Kingdom, while an AI-powered bulk listing tool in Seller Hub lets US sellers create multiple listings quickly; it currently supports Sports Trading Card listings and may expand to more categories and markets. The redesigned Seller Hub adds an improved interface, more efficient business management, and better data visualization, and eBay is developing a dedicated Sell Mode for its mobile app.


### [How eBay’s AI Tools Helped This Seller ‘Work Smarter, Not Harder’](https://yomu.fyi/post/how-ebay-s-ai-tools-helped-this-seller-work-smarter-not-harder.md)
- Company: [Ebay](https://yomu.fyi/company/ebay.md)
- Author: eBay News Team
- Published: Sep 25, 2024
- Type: Explainer

Ashley Moulder, who runs Millennial Mouse, sells pre-loved and vintage fashion on eBay and uses the marketplace’s AI tools to streamline her workflow. After starting online sales for extra income in 2018, she reached full-time selling by the following April and now maintains thousands of active listings, with an emphasis on non-traditional sizes. One regular time-saver is eBay’s background removal tool, which can replace product-photo backgrounds with a clean white backdrop or AI-generated alternatives. Moulder also shares selling tips and how-to videos on Instagram, aiming to help other sellers succeed, and demonstrates the photo tool in the video referenced by the source.


### [Magical Bulk Listing Tool is eBay’s Latest AI-Powered Time Saver for Sellers](https://yomu.fyi/post/magical-bulk-listing-tool-is-ebay-s-latest-ai-powered-time-saver-for-s.md)
- Company: [Ebay](https://yomu.fyi/company/ebay.md)
- Author: Vidya Balasubramanian
- Published: Sep 25, 2024
- Type: Announcement

eBay has unveiled its magical bulk listing tool, an AI-powered feature that helps sellers create product listings from batches of uploaded images. The tool generates draft listings with suggested categories, titles, and item specifics in seconds, allowing sellers to review details for accuracy before publishing. It can process hundreds of photos per batch and create numerous drafts simultaneously; it is currently available to U.S. Seller Hub users listing in Sports Trading Card, with expansion to more categories and countries planned in the coming months. Early data showed that the tool significantly reduced listing time among users creating trading-card listings, and the rollout follows other recent AI features for sellers and buyers across eBay's marketplace.


### [Testing a React App in Chrome with Heroku CI](https://yomu.fyi/post/testing-a-react-app-in-chrome-with-heroku-ci.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Julián Duque
- Published: Sep 24, 2024
- Type: Tutorial

The article presents a walkthrough for automating end-to-end browser tests for a React application in Heroku CI rather than relying on manual local testing. The sample app uses Jest and Puppeteer to check navigation to Puppeteer Documentation, retention of text entered into a form, and the greeting shown after submission, with headless Chrome supplied by the Chrome for Testing Heroku Buildpack. Local execution initially exposes a mismatch between the expected and received greeting, then passes after the application is fixed; a streamlined command starts the server and runs the suite. Heroku CI is configured with an app.json file containing Chrome for Testing and Node.js buildpacks, plus a test script that runs start-server-and-test and the Jest/Puppeteer tests. Pushes to the connected GitHub repository trigger the suite.


### [AI GPU Clusters, From Your Laptop, With Livebook](https://yomu.fyi/post/ai-gpu-clusters-from-your-laptop-with-livebook.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Sep 24, 2024
- Type: Explainer

Livebook, FLAME, and the Nx stack combine Elixir notebooks, elastic execution, and GPU-backed machine learning into a workflow that can move from a laptop to remote infrastructure. Livebook can start runtimes on Fly Machines, connect to existing Erlang/Elixir applications, and synchronize notebook dependencies and modules across nodes while preserving access to private resources within a Fly organization. FLAME wraps arbitrary code in Flame.call, manages executor pools, controls node limits and concurrency, streams results, and shuts down idle nodes or the cluster after disconnection. In the demonstrated AI workflow, video stills are processed on GPU Fly Machines with Llama, then Mistral summarizes the returned descriptions. The same setup also drives a 64-GPU hyperparameter run for BERT, with each L40s node preparing dependencies, loading data, fine-tuning, and streaming chart results to Livebook.


### [Bringing Grab’s Live Activity to Android: Enhancing user experience through custom notifications](https://yomu.fyi/post/bringing-grab-s-live-activity-to-android-enhancing-user-experience-thr.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Jessica Sean
- Published: Sep 23, 2024
- Type: Problem & solution

Grab designed an equivalent to iOS Live Activities for Android to provide real-time order tracking outside the app. Because Android lacks Apple's native ActivityKit push token system, the team substituted push tokens with placeholder values to maintain technical consistency across platforms and preserve backend push targeting via their Hedwig service. For the user interface, engineering selected custom notifications over floating views because custom notifications avoid intrusive screen usage and do not require the 'Draw over other apps' permission. The client implementation separates responsibilities across dedicated classes: LiveActivityIntegrationManager handles token registration across business verticals, LiveActivityAttributes encapsulates UI configuration, and LiveActivityManager maps payloads to Android NotificationManager instances. The solution launched for Food, Mart, Express, and Transport verticals.


### [Upgrading your Stripe plugin security](https://yomu.fyi/post/upgrading-your-stripe-plugin-security.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ben Smith
- Published: Sep 19, 2024
- Type: Problem & solution

Stripe plugins commonly authenticate merchants’ accounts with unrestricted secret API keys, but those keys grant full access and can expose payment, customer, and subscription operations if mishandled or compromised. The post presents restricted API keys (RAK) and OAuth 2.0 as zero-trust alternatives that apply identity verification and least-privilege permissions to third-party integrations. RAKs let developers define narrowly scoped permissions, while OAuth 2.0 uses Stripe’s interface for tokenized, one-click authorization and lets merchants revoke access without sharing a secret key. For existing plugins, it outlines migration through Stripe Apps, Stripe Connect, or manual RAK setup, and states that Stripe will require RAK or OAuth 2.0 authentication from October 29, 2024, with possible fees for merchants still using full-access keys after June 2025.


### [Avoiding test mode tangles with Stripe Sandboxes](https://yomu.fyi/post/avoiding-test-mode-tangles-with-stripe-sandboxes.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ben Smith
- Published: Sep 16, 2024
- Type: Tutorial

Stripe integrations can become difficult to test when an account has only one test mode, because unrelated work can interfere and sensitive configuration must remain protected. The post presents Stripe Sandboxes as separate testing areas and shows a Node.js Express application authenticating with a sandbox secret key stored in a .env environment variable. It creates payment intents through /create-payment-intent and retrieves account details through /account, then uses Jest and supertest to verify the sandbox identity, including the expected display name dev-sandbox. A GitHub Actions workflow injects STRIPE\_API\_KEY from repository secrets, installs dependencies, and runs tests on pushes to the main branch, while .gitignore excludes environment files. The conclusion is that isolated sandboxes and automated checks reduce test tangles and help prevent calls to the wrong environment.


### [Secure OAuth 2.0 Access Tokens with Proofs of Possession](https://yomu.fyi/post/secure-oauth-2-0-access-tokens-with-proofs-of-possession.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Alisa Duncan
- Published: Sep 10, 2024
- Type: Tutorial

Bearer access tokens grant whoever possesses them access, making theft especially risky for public clients such as SPAs and mobile apps. DPoP, an OAuth 2.0 extension, binds a token to a client’s public key and uses signed proofs so authorization and resource servers can verify requests. The tutorial migrates an Angular single-page application from bearer tokens to DPoP while building on the Authorization Code flow, inspecting token exchanges, request headers, replay protection, and calls to Okta’s APIs; React and Vue variants are also noted. It recommends IndexedDB with non-exportable WebCrypto keys, cleanup during sign-in, and browser capability checks, while noting that the preserved setup instructions no longer work exactly as written after Okta’s May 2025 account changes.


[Newer posts](https://yomu.fyi/posts/page/184.md) · [Older posts](https://yomu.fyi/posts/page/186.md)
