---
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 Add Authentication to .NET MAUI Apps](https://yomu.fyi/post/how-to-add-authentication-to-net-maui-apps.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Laura Rodríguez
- Published: Jun 21, 2023
- Type: Tutorial

This tutorial shows how to add Okta-based authentication to a .NET MAUI application, covering project setup, OpenID Connect configuration, sign-in, sign-out, and platform integration. It uses IdentityModel.OidcClient, an OktaClient wrapper, an OktaClientConfiguration class, and a WebBrowserAuthenticator implementation to connect the application to Okta’s browser-based authorization flow. The walkthrough creates a native OIDC client with the Okta CLI, registers redirect and logout URIs using myapp://callback, configures dependency injection, and updates the UI to display claims after login. For Android, it adds a WebAuthenticationCallbackActivity with an intent filter for the myapp scheme and enables Custom Tabs visibility in AndroidManifest.xml. The post includes troubleshooting for NuGet configuration and runtime-pack errors, but notes that the Okta CLI was deprecated and the original instructions no longer work exactly as written after the May 2025 plan change.


### [What Enterprises Look For: Devday23 Enterprise Customer Perspectives](https://yomu.fyi/post/what-enterprises-look-for-devday23-enterprise-customer-perspectives.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Team Okta
- Published: Jun 15, 2023
- Type: Announcement

Moving a SaaS application from B2C or small-company B2B customers to enterprise customers raises questions about whether enterprise buyers have different expectations. This installment of the Devday23 enterprise-ready presentation series focuses on what enterprises look for when selecting SaaS applications, with particular attention to identity and how customers would use the application. The WIC Devday 23 virtual conference addressed the topic through a presentation by Jon Lehtinen, director for “Okta on Okta” products at Okta. The broader series also covers enterprise readiness, authentication considerations, user management, authentication mechanisms, building an enterprise-ready MVP SaaS app, and taking that app beyond MVP, while the supplied text does not provide the presentation’s specific answers or conclusions.


### [What Does It Mean to Be Enterprise Ready: Devday23 Keynote](https://yomu.fyi/post/what-does-it-mean-to-be-enterprise-ready-devday23-keynote.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Team Okta
- Published: Jun 13, 2023
- Type: Announcement

What makes a SaaS application ready for enterprise customers when identity is involved? This Devday23 keynote introduces enterprise readiness as a concern spanning application security, user onboarding, scalable authentication, identity, user management, and automation. Arnab Bose, Chief Product Officer for Workforce Identity Cloud at Okta, leads the presentation’s “Why” and “What” questions in a half-day virtual conference hosted at WIC Devday 23. The keynote is positioned as the opening of a series covering enterprise customer expectations, building an enterprise-ready MVP, moving beyond MVP, authentication considerations, user management, and stronger authentication mechanisms; a related “Setting the Bar for Enterprise-Grade Identity” whitepaper provides benchmarks for secure SaaS management.


### [Charting a path to AI accountability](https://yomu.fyi/post/charting-a-path-to-ai-accountability.md)
- Company: [Anthropic](https://yomu.fyi/company/anthropic.md)
- Published: Jun 13, 2023
- Type: Explainer

Anthropic’s response to the NTIA’s Request for Comment on AI Accountability proposes processes and infrastructure for evaluating highly capable and general-purpose AI models. It recommends funding rigorous evaluations, requiring near-term disclosure of evaluation methods and results, and developing longer-term industry standards with agencies such as NIST. The framework would use capability-based risk thresholds, pre-registration of large training runs, confidential registries, technically literate and security-conscious third-party auditors, and external red teaming before advanced model release. It also calls for more interpretability research, acknowledges that regulations requiring interpretable models are currently infeasible, and seeks antitrust guidance for industry safety collaboration. Anthropic says these measures require collaboration among researchers, AI labs, regulators, auditors, and other stakeholders to build accountability and auditing mechanisms that support safe development and deployment.


### [Prompt design](https://yomu.fyi/post/prompt-design.md)
- Company: [Cursor](https://yomu.fyi/company/cursor.md)
- Author: Arvid Lunnemark
- Published: Jun 11, 2023
- Type: Explainer

The post argues that “prompt design” better describes prompt construction than “prompt engineering,” comparing it with web design. It frames prompts as clear communication with dynamic inputs that must adapt to changing content and context-window limits, then identifies shared practices such as inspecting rendered output, using composable declarative components, and pursuing precise formatting. For LLM agents, the analogy extends to interactive websites whose prompts re-render after function calls, although text-only output and caching constraints differ. This perspective motivates Priompt, a React-like, JSX-based library used internally at Cursor, with a preview site that renders prompts using real request data and serialized props; the author considers JSX more ergonomic than string templates while noting that model capabilities and platform abstractions may weaken the analogy over time.


### [Supabase Beta May 2023](https://yomu.fyi/post/supabase-beta-may-2023.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: ant\_wilson
- Published: Jun 9, 2023
- Type: Announcement

Supabase’s May 2023 update announces two major product areas: Supabase Vector, an open-source toolkit for storing, indexing, and querying Postgres vector embeddings at scale, and Supabase Vault, a Postgres extension and UI for encrypted secrets and data. Auth Helpers now support client and server use of the Next.js App Router and server-side authentication by default with PKCE. The release also adds Turnstile CAPTCHA support, password reauthentication nonces, Wrappers integrations for Firebase, Stripe, S3, and clickhouse, CLI deployment for all Edge Functions, custom and vanity domains, and generally available Image Transformation. Supabase says it reached 50,000 GitHub stars, while the team solicits Dashboard SQL Editor feedback and reports community projects, AI resources, and a first-ever Flutter Hackathon.


### [Unlock Identity Expertise with Our New Developer Podcast!](https://yomu.fyi/post/unlock-identity-expertise-with-our-new-developer-podcast.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: E. Dunham
- Published: Jun 8, 2023
- Type: Announcement

Okta’s Workforce Developer Advocacy Team has launched a monthly Workforce Identity Developer Podcast for education about identity and development for customers using Okta as their identity provider. The first highlighted episodes cover Workforce Identity, security history, phishing-resistant MFA, and the relative benefits and drawbacks of WebAuthN and Passkeys; another compares OAuth application integrations with older SSWS tokens. A further episode discusses building SaaS for enterprise customers, including the “Enterprise-Ready MVP,” broadening “Okta Developers” to people building code for Okta customers, and extreme enterprise use cases. Audio is available on Casted, while new content and feedback are supported through social channels, YouTube, and comments on the developer forum.


### [Supporting Devs Through Advocacy](https://yomu.fyi/post/supporting-devs-through-advocacy.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Semona Igama
- Published: Jun 6, 2023
- Type: Announcement

Semona describes her transition from Okta Developer Support Engineer to Developer Advocate after three years supporting admins, developers, Independent Software Vendors, and partners integrating with Okta workforce products. Her earlier work included OpenID Connect, OAuth 2.0, external and social identity providers, SCIM, OIN App Submission, Okta SDKs, the Okta Sign-in Widget, Token Inline Hooks, and Terraform, while cross-functional alliances connected her with Customer Success, Product, Engineering, Solutions Engineering, and Architects. She saw support cases as a way to understand developer problems and collect feedback that could inform improvements. In advocacy, she plans to use that experience to help developers avoid common problems, build community, learn with developers, and advocate for Okta developer community needs, with Python as her favorite programming language.


### [PII masking for privacy-grade machine learning](https://yomu.fyi/post/pii-masking-for-privacy-grade-machine-learning.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Fabrice Harbulot
- Published: Jun 1, 2023
- Type: Problem & solution

Data engineers at Grab require real-world streaming data to tune machine learning models, but user personal data cannot be exposed in non-production environments. To solve this, the data streaming team implemented an automated masking pipeline between production and staging Kafka clusters. Developers explicitly tag Personally Identifiable Information (PII) types in Protocol Buffers schemas, which a CI script validates against a keyword list before packaging the schemas into Scala JARs. An in-house Apache Flink application running in production consumes the unmasked streams, applies dynamic and consistent transformations like keyed HMACs or seeded random values, and produces sanitised records to staging. Untagged new fields in schema updates are automatically dropped by the deserialiser until the masking application is redeployed, preventing accidental data leaks.


### [Python Async Workers on Fly Machines](https://yomu.fyi/post/python-async-workers-on-fly-machines.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: May 31, 2023
- Type: Tutorial

A Python web app needed to build and install libraries without blocking HTTP requests or risking backend failures when resource-heavy builds overlapped. The initial backend implementation sometimes ran for more than 30 minutes and could kill the backend, while always-on Celery workers left capacity idle. The proposed proof of concept stores job parameters in Redis, starts a Fly Machine through the Machines API with Redis key environment variables, executes a Python function, and writes the result back. A status endpoint polls the Machine state and returns PENDING until completion, after which cleanup deletes the Machine and Redis entries. The design pays for worker resources only during jobs, but the example requires JSON-serializable arguments and results and is presented as a simple implementation rather than a full job system.


### [Flutter Hackathon Winners](https://yomu.fyi/post/flutter-hackathon-winners.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: tyler\_shukert
- Published: May 29, 2023
- Type: Announcement

The Flutter Hackathon winners were announced across categories including Best Overall Project, Best FlutterFlow Project, Best Dart Edge Project, Most Technically Impressive, and Most Visually Pleasing. Syno won Best Overall for concise video summaries, while Study Genius was runner-up; other recognized projects included Lord Of The Memes, ChatGlobe, Accident Detection, Caffeio, and their respective runners-up. ChatGlobe translates messages into multiple languages as they are sent using Dart Edge and the OpenAI API, while Accident Detection uses machine-learning techniques with accelerometer and GPS data to analyze accident-related changes in speed, direction, and impact force. Winners and runner-up teams receive limited Flutter Hackathon swag, and Syno’s creator also receives a Flutter-themed Supabase keyboard; the announcement also points to Flutter, Supabase, FlutterFlow, Edge Functions, and authentication guides for future projects.


### [Supabase Vecs: a vector client for Postgres](https://yomu.fyi/post/supabase-vecs-a-vector-client-for-postgres.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: oli\_rice
- Published: May 29, 2023
- Type: Announcement

Vecs is a new Python library for managing embeddings in Postgres databases that use pgvector, offering a vector-store-like interface for table creation, indexing, querying, and metadata filtering. Collections are stored in a vecs schema with an id text primary key, a vector column, and JSONB metadata; queries support cosine distance, l2 distance, and maximum inner dot product, with optional filters and returned values. A short Python workflow can create a collection, upsert records, create an index after insertion, and search by vector; the collection can also be queried without an index. With Supabase, a collection can be exposed through a public-schema view and accessed from supabase-js, while proposed preprocessing transforms and an asynchronous client remain under debate.


### [ChatGPT plugins now support Postgres & Supabase](https://yomu.fyi/post/chatgpt-plugins-now-support-postgres-supabase.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: egor\_romanov,paul\_copplestone
- Published: May 25, 2023
- Type: Tutorial

Retrieval plugins let ChatGPT access relevant content from private datasets by chunking documents, generating embeddings with OpenAI’s text-embedding-ada-002, and querying a vector database. The article describes Postgres and Supabase datastore implementations using pgvector, with a shared documents schema and a match\_page\_sections function that filters by source, author, document, and date before ranking vectors with inner product distance. It then gives a local example: downloading the Postgres 15 documentation as a PDF, uploading it through the plugin’s /upsert-file endpoint, and configuring environment variables for Supabase or Postgres. The example produced 7,904 document records, and an optional IVFFlat index can trade exact nearest-neighbor search for approximate search; after registering the local plugin in ChatGPT, users can ask questions answered from the documentation.


### [Performance bottlenecks of Go application on Kubernetes with non-integer (floating) CPU allocation](https://yomu.fyi/post/performance-bottlenecks-of-go-application-on-kubernetes-with-non-integ.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Shubham Badkur
- Published: May 23, 2023
- Type: Problem & solution

Grab's real-time stream processing platform encountered severe consumer lag and CPU throttling when running Go-based Kafka consumer pipelines on Kubernetes. The issue originated when the Vertical Pod Autoscaler (VPA) scaled pod CPU allocations down to floating-point values such as 1.94 cores. Because AUTO-GOMAXPROCS rounds non-integer CPU limits down to integers, Go runtime thread allocation dropped to 1 core, significantly throttling pipeline throughput despite available pod capacity. Setting a minimum floor of 2 cores instantly restored CPU utilization to 95% and cleared the message backlog. To prevent similar throttling, the team utilized integer CPU scaling recommendations available in VPA v0.13 on Kubernetes 1.25 and above.


### [How we improved our iOS CI infrastructure with observability tools](https://yomu.fyi/post/how-we-improved-our-ios-ci-infrastructure-with-observability-tools.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Bunty Madan
- Published: May 18, 2023
- Type: Problem & solution

Upgrading to Xcode 13.1 introduced severe CI test instability and high CPU utilisation for Grab's iOS development team. To address this, the team integrated observability tools across their UITest pipeline to pinpoint performance bottlenecks and test flakiness. Interventions included isolating spotlight.app to curb CPU spikes, replacing Safari with a mock browser for deep link tests, and booting simulators with pre-granted permissions. The team also built custom network tracking tools to enforce resource mocking and transitioned tests away from arbitrary sleep commands to explicit wait wrappers. These combined changes cut CI runtimes, decreased CPU utilisation by over 50%, and stabilized automated test executions.


### [Vanilla with Candy Sprinkles](https://yomu.fyi/post/vanilla-with-candy-sprinkles.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: May 18, 2023
- Type: Tutorial

Vanilla with Candy Sprinkles presents a baseline full-stack Node.js application: a stateful visitor counter that increments across refreshes, tabs, browsers, and machines. The post starts with a dependency-free package.json and a 72-line server.js, then uses node-demo to generate variants with ECMAScript modules, EJS or Mustache templates, and Express. It adds SQLite3 or PostgreSQL for persistence, Tailwind CSS and TypeScript with a build step, and Drizzle, Knex, or Prisma as ORM options, noting differing language and build requirements. WebSockets provide real-time updates, htmx can handle client-side connection and DOM work, and Redis coordinates notifications across multiple servers; Fly.io deployment can scale the setup across eight instances in four regions. The concluding section points to further alternatives, including React, Angular, Lit, SolidJS, Svelte, Vue, esbuild, rollup, and other deployment targets, while inviting alternate implementations.


### [Building ChatGPT Plugins with Supabase Edge Runtime](https://yomu.fyi/post/building-chatgpt-plugins-with-supabase-edge-runtime.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: thor\_schaeff
- Published: May 15, 2023
- Type: Tutorial

A TypeScript template for ChatGPT Plugins runs on Supabase Edge Runtime and provides a path for exposing a TODO API to ChatGPT. The implementation serves the required ai-plugin.json manifest from an Edge Function because static file hosting is not currently supported, and generates an OpenAPI JSON document from endpoint JSDoc annotations with swagger-jsdoc. An Oak router defines TODO routes, while shared CORS headers allow requests from https://chat.openai.com and credentials. Docker configuration runs Edge Runtime locally with a bind-mounted functions directory, enabling changes without rebuilding and exposing requests through localhost:8000. The guide also covers local installation and testing through the ChatGPT UI, then deployment to Fly.io; it notes authentication as a possible next step.


### [2.3x faster using the Go plugin to replace Lua virtual machine](https://yomu.fyi/post/2-3x-faster-using-the-go-plugin-to-replace-lua-virtual-machine.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Yonghao Hu
- Published: May 15, 2023
- Type: Problem & solution

Talaria, an open-source distributed time-series database developed at Grab, previously allowed users to run custom data transformation scripts during ingestion using a Lua virtual machine. Launching and executing Lua scripts caused significant performance overhead when processing large volumes of events. To resolve this bottleneck, the team replaced the Lua VM with Go plugins compiled as Linux shared libraries (.so files). Benchmarks revealed that calling Go plugins achieves performance on par with native Go functions, executing roughly 2.3 times faster and consuming 2.3 times less memory than cached Lua VMs. Both execution methods conform to a unified Handler interface to load and run custom transformations.


### [Playing Traffic Cop with Fly-Replay](https://yomu.fyi/post/playing-traffic-cop-with-fly-replay.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: May 15, 2023
- Type: Tutorial

Fly.io’s fly-replay response header lets the Fly Proxy replay an HTTP request on another app, region, or VM within the same organization. The post explains how this can send writes near a leader database, preserve request locality after uploads, wake Machines stopped on exit, or route customer traffic across apps. It then builds a small Go reverse-proxy application that looks up the request hostname in SQLite and returns either app=our-default-app or the registered customer’s app in the header. Local request handling and lookup took about 4 ms, while the real-world proxy-and-replay path added about 100 ms; private customer apps remained reachable because Fly services can be defined without public IP addresses. The post also mentions LiteFS and internal DNS as possible discovery mechanisms.


### [Flutter Hackathon](https://yomu.fyi/post/flutter-hackathon.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: tyler\_shukert
- Published: May 12, 2023
- Type: Announcement

Supabase announced a 10-day Flutter hackathon alongside new Flutter updates announced at Google I/O, inviting participants to build a new app with Flutter/Dart and Supabase in some capacity. Teams of one to five people can enter, with the event running from 7:00 am PT on May 12, 2023, through 11:59 pm PT on May 21, 2023. Submissions must include an accessible demo or demo video and are judged on creativity, smooth functionality, visual appeal, technical impressiveness, Supabase usage, and fun. Five award categories cover best overall, best FlutterFlow, best Dart Edge, most technically impressive, and most visually pleasing, with a winner and runner-up in each category. Rules require one submission per team, prohibit multiple team entries, require that project elements be created during the event, and state that developed intellectual property belongs to its team.


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