Loading…
Browse by type
Tutorial reads
Tutorial posts on Yomu, summarised newest first.
- 630 posts
- 20 companies
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
Tutorial posts
Getting started with the Supabase .NET SDK
The Supabase .NET SDK provides a single C# client for Auth, Database, Storage, Realtime, and Edge Functions; version 8.0.0 moves serialization to System.Text.Json and adds injectable HttpClient with retry. It also ships a dependency injection package for ASP.NET Core that registers the client as scoped via IHttpClientFactory to pool connections. Models derive from BaseModel with table and column attributes; queries use From () with Where filters, and updates require explicit calls without a change tracker, supporting both model-based and query-builder approaches. Authentication covers email/password, OAuth, magic links, phone, and SSO, with auto-refresh tokens attaching to subsequent requests for Row-Level Security. Setup for ASP.NET Core uses AddSupabase, while other apps construct the client manually and call InitializeAsync; the post also distinguishes publishable and anon keys for client apps from secret and service keys that bypass Row-Level Security.
Reducing Qwen training time by 6x on AI Runtime
The post describes systematic performance optimization to reduce fine-tuning time for the Qwen 3.8 27B model on AI Runtime from 7 hours 44 minutes to 1 hour 17 minutes, a 6x improvement. The baseline showed 98% GPU utilization, but torch traces revealed the CPU was stalling the GPU with too many small operations. Installing manually fused kernels such as flash-linear-attention and causal-conv1d reduced the number of GPU operations by 15x and improved training speed by 3.7x. Further gains came from switching from 2D padded batches to 1D packed tensors with correct position_ids, which reduced the number of batches by 36% and eliminated dynamic shape recompilation. The post emphasizes measuring what matters beyond GPU utilization and leveraging pre-built community kernels and efficient batching.
How to Build a Voice AI Agent with OpenAI's GPT-Live, Twilio Agent Connect, and TypeScript
The post addresses the common problem of voice AI demos failing in production by introducing a solution using OpenAI’s GPT-Live and Twilio Agent Connect. GPT-Live is a full-duplex speech-to-speech model that separates conversation from background work, and Twilio Agent Connect provides a GPTLiveProvider to bridge Twilio Media Streams to GPT-Live without custom WebSocket plumbing. The tutorial walks through building a TypeScript application that connects inbound callers to a GPT-Live-powered voice agent, including setting up a Fastify server, configuring the session with a welcome instruction, and wiring tool calls via Responses delegation using a get_weather example. It also covers placing outbound calls using the same provider and demonstrates features like per-call customization and transcript logging. The result is a production-ready voice agent that can greet callers, answer questions, and execute backend functions, with the same pattern applicable to scenarios like appointment booking or order status lookups.
Multi-region disaster recovery for Amazon API Gateway WebSocket APIs
WebSocket connections for real-time applications like live auctions and collaborative editors are vulnerable to regional outages because each connection is tied to a single AWS Region. A regional failure severs all active connections and loses session state. This post presents an active-passive multi-region disaster recovery pattern that uses Amazon API Gateway WebSocket APIs, Route 53 failover routing, DynamoDB Global Tables for cross-Region state replication, a canary health probe, and client-side reconnection logic. The canary Lambda function tests the endpoint every minute and drives a CloudWatch alarm that triggers a Route 53 health check to mark the primary Region unhealthy. Clients detect connection drops via application-level heartbeat messages and reconnect with exponential backoff and full jitter to avoid thundering herd. After reconnection, clients retrieve the latest application state from the secondary Region’s DynamoDB replica and resume their session automatically.
Configure Red Hat OpenShift Dev Spaces for enterprise security
Red Hat OpenShift Dev Spaces can be hardened for enterprise use by centralizing SCM authentication with OAuth, deploying a private OpenVSX extension registry, and enabling IntelliJ IDEA in restricted networks. The SCM integration uses a dedicated OAuth application and the scm-oauth-config Secret in the operator namespace, while disabling the default CA bundle mount reduces etcd overhead but requires an explicit corporate CA ConfigMap with keys ca.crt and githost to prevent TLS failures. A private OpenVSX registry with PostgreSQL-only architecture replaces external extensions, and automated governance rejects prereleases, timestamp builds, oversized patches, and previews through version-aware dependency resolution and idempotent publication tracking. For JetBrains support in air-gapped clusters, administrators mirror IDE tarballs to an internal repository and set editorsDownloadUrls; developers connect via JetBrains Gateway using either dashboard- or gateway-initiated workflows, both relying on an existing oc login session. This configuration gives platform teams oversight of authentication, extensions, and IDE tooling.
Boost Your Pipeline: Top 6 CI/CD Integrations for Qodana
Qodana brings IntelliJ IDEA’s inspection engine into CI/CD pipelines, automating code quality checks on every commit to catch issues before they reach production. The tutorial covers six integrations—GitHub Actions with its v2025.2 marketplace action and pull request integration, GitLab’s native CI/CD component that removes Docker complexity, TeamCity’s GUI-based native build runner with no YAML required, Jenkins via Docker-based Jenkinsfile for complex workflows, Azure Pipelines’ QodanaScan@2025 task displaying results in the Extensions tab, and CircleCI with a container-optimized orb. Each integration supports quality gates, baseline comparisons, and automated feedback, enabling teams to enforce consistent coding standards without disrupting existing workflows. Teams can select the integration that matches their current platform without requiring new tools or retraining. This shift-left approach reduces rework by catching defects early and transforms the pipeline into a quality guardian.
How we made the Supabase Select 2026 badge
Supabase gave every Select 2026 attendee a programmable badge based on the Pimoroni Tufty 2350, with an RP2350 microcontroller, color screen, rechargeable battery, Wi-Fi, Bluetooth, and five buttons. A firmware bug drained all batteries during shipping, requiring bulk charging with 30-port USB hubs in 14 batches over 56 hours and individual firmware updates. The venue Wi-Fi failed, so the schedule was synced via a hotspot, two badges at a time, one minute each, totaling seven hours. Attendees have since repurposed the badge into projects including a live flight tracker, an arcade game about database vacuuming, a food finder app, a music note collection game, and a tiny on-device language model. The post provides resources for hacking the badge: a first-app guide, a Claude Code project kit, a virtual badge, guides for C or Rust firmware, and a contest with Supabase credits and conference passes.
How to Encrypt LangGraph Checkpoints With MongoDB CSFLE
LangGraph checkpoints persist agent state, including user messages and tool results, as plaintext BSON in MongoDB by default, leaving sensitive data accessible to anyone who can read the database. MongoDB Client-Side Field Level Encryption (CSFLE) encrypts data on the client before transmission, ensuring the database engine never sees plaintext values and protecting against privileged database users or data breaches. This post demonstrates implementing a custom CipherProtocol for LangGraph’s EncryptedSerializer that uses explicit CSFLE with randomized encryption, configured with AWS KMS and a data encryption key stored in a key vault collection for envelope encryption. The encrypted payload replaces the default Base64 encoding, while only thread IDs, checkpoint IDs, and namespaces remain unencrypted to support runtime lookups without exposing sensitive content. This approach aligns with enterprise security and compliance requirements for customer-facing AI agents, preserving resumable sessions and human-in-the-loop workflows while preventing database administrators or attackers from reading the state.
How to Retrieve a Phone Number's SMS Pumping Score in Rust
SMS Pumping Fraud exploits phone number input fields to generate revenue from SMS messages sent to numbers controlled by a specific mobile network operator. Twilio’s Lookup v2 API provides an SMS Pumping Risk Score from 0 to 100, based on a proprietary model using network data including Verify Fraud Guard signals and unusual traffic patterns. This Rust tutorial uses the rustlio crate, dotenvy, serde, and tokio to call the API and retrieve the score along with carrier risk category and block status. Canadian numbers do not return carrier information, and Twilio advises against using the score for US or Canadian numbers. Guidelines recommend sending messages for scores 0-60, adding friction for 60-75, treating as suspicious for 75-90, and blocking for 90-100.
How to Rewrite Apache Spark UDFs for GPU Acceleration with AI Agents
User-defined functions (UDFs) in Apache Spark break the declarative abstraction, forcing GPU-accelerated pipelines to fall back to CPU execution and incur data transfer overhead. NVIDIA cuDF addresses this with GPU parallelism, but UDFs remain a bottleneck due to their opaque code. The post describes three approaches to rewrite UDFs into GPU-accelerable forms: SQL expressions, the RapidsUDF interface using cuDF columnar operations, or custom CUDA kernels via JNI. The cuDF skills for Apache Spark automate this process with four agent-guided feedback loops for testing, conversion, benchmarking, and optimization, providing a project template and best practices. A production deployment converted over 30 UDFs, achieving a 22x speedup on a 600-billion-row workload, reducing operator time from 274.55 to 12.78 hours.
Scope workloads and share resilience policies with AWS Resilience Hub
AWS Resilience Hub’s Next generation, announced September 18, 2026, adds three capabilities to align workload scope and resilience requirements with running environments. Amazon EKS label support selects Kubernetes resources using existing labels with AND logic, establishing precise resource boundaries without reorganizing namespaces. Generative AI-powered Dependency Insights summarizes discovered dependencies and highlights patterns warranting resilience review, such as cross-Region dependencies questioning recovery design. Resilience policy sharing through AWS Organizations lets a central team define requirements once and make them available to member accounts, with policy events tracking adoption. The post walks through scoping a checkout service on EKS using labels, examining dependencies via synthetic traffic, and applying a shared tier-1-critical policy with a 99.9% availability SLO, 5-minute multi-AZ RTO, 1-minute RPO, 15-minute multi-Region RTO, and 60-minute backup intervals.
How to launch with a validated idea - The Intercom Blog
The post describes a three-step process for launching a validated idea, called the three I’s—Ideas, Input, and Iteration—mirroring the lean startup approach. The author explains how his team validated their idea by drafting mockups, creating a sign-up page, and running AdWords, and they got lucky when blogs shared their landing page, giving them a base of potential users for product preview sessions. They then launched a minimum viable product (MVP) and used Intercom to send surveys and automated in-app messages, creating a continuous feedback loop. To iterate, they formed a CoPilots program of users highly likely to purchase who provided weekly feedback via Google+ Hangouts in exchange for free use. The entire team was involved in reviewing interviews, and the cycle is presented as an ongoing process for SaaS startups.
Test and deploy bootable containers with bootc virtualization kit (bcvk)
Managing a traditional operating system across multiple hosts often leads to configuration drift, slow updates, and painful rollbacks. Bootable containers solve this by packaging the entire OS as an OCI container image, including the kernel, initrd, bootloader, and applications. Red Hat Enterprise Linux 10 introduced image mode deployment, and the bootc container virtualization kit (bcvk) enables end-to-end testing of these images on a laptop using familiar Podman and libvirt packages. The tool offers three deployment modes: ephemeral for rapid testing, persistent for long-term development, and disk image for creating bootable artifacts. Users build a custom bootc image via a Containerfile with the containers.bootc=1 label, then deploy it identically across virtual and physical infrastructure, reducing environmental drift.
Red Hat AI Inference 3.5 MaaS governance on AKS
Red Hat AI Inference 3.5 extends its Model-as-a-Service (MaaS) governance layer to non-OpenShift Kubernetes distributions, including Azure Kubernetes Service (AKS). MaaS adds multi-tenant API governance on top of the inference platform, controlling authentication, rate limiting, and model access via Authorino and Limitador from Red Hat Connectivity Link (Kuadrant). A model is first deployed with a single LLMInferenceService YAML, creating a vLLM server and router-scheduler, but the endpoint is open. Applying a MaaSSubscription and MaaSAuthPolicy activates governance: Authorino validates API keys or JWTs, and Limitador enforces token rate limits. The post demonstrates three enforcement scenarios on an AKS cluster with a T4 GPU running Qwen3-0.6B: 401 for missing or invalid keys, 200 for authenticated requests, and 429 when rate limits are exceeded, blocking requests before they reach vLLM.
Build an AI matching engine with Docling, Granite & OpenShift AI
PeopleMesh uses Docling and Granite4:3B LLM on Red Hat OpenShift to extract structured data from PDF resumes and match people across multiple dimensions. Docling converts documents into a DoclingDocument with semantic labels using an AI model trained on 150,000 annotated samples to recover reading order from PDF’s print-oriented encoding, then exports to Markdown for LLM-driven JSON extraction via a system prompt. For matching, PeopleMesh decomposes a user query with an LLM to extract intent, entity type, country, and language, then applies structured filtering followed by semantic vector search via cosine similarity on distilled query embeddings. To mitigate embedding dilution from concatenated concepts, PeopleMesh uses a weighted scoring algorithm that reranks top 100 candidates using 7 information channels including nice-to-have skills and penalty multipliers for missing must-have and negative skills. The scoring provides relative ordering only, not normalized probabilities, and default weights are adjustable via the SearchOptions Java record.
Build a multi-tenant platform with OpenShift Dev Spaces
Local developer workstations introduce three concrete operational risks: production-parity risk from environment drift, slow time-to-first-commit for new engineers, and unmanaged security exposure from misconfigured tools. Red Hat OpenShift Dev Spaces addresses these by moving compute and tooling into containerized workspaces running directly on the cluster, with environments declared as code in a devfile. A production deployment requires four-zone namespace isolation separating control (openshift-devspaces), core server (devspaces-checluster), secure asset (devspaces-openvsx), and sandbox (username-devspaces) zones to prevent operator reconciliation from overriding custom configurations. Resource governance uses a two-tier model with defaultContainerResources fallback limits and containerResourceCaps absolute per-container ceilings, while automated cleanup cron jobs (monthly on the 1st) and inactivity idling (after 4 hours) protect etcd health by removing stopped workspaces after 30 days. The guide concludes with next steps for authentication and private extension registries.
3 Tips on Using Ngrok to Maximize Messenger Apps
Ngrok is a tool that creates public URLs to expose a web server on a development machine, enabling developers to set webhook URLs while building Messenger Apps for Intercom without external infrastructure. To start, run ‘ngrok http 3000’ to tunnel a local server; the free version limits sessions to eight hours and generates a new address each run. The ngrok web interface at http://localhost:4040 allows inspection of HTTP traffic, showing request and response details. Developers can replay requests with the Replay button to avoid manually re-triggering endpoints during testing. The interface also validates JSON formatting in request and response bodies, highlighting errors like missing quotes for debugging.
Sales Follow-Up Email: How to Automate in 3 Steps [+ Setup Guide]
Sales teams often struggle to balance chasing large deals (big whales) with nurturing many small accounts (long tail). Intercom addressed this by automating sales follow-up for smaller accounts using Smart Campaigns. The three-step process involves segmenting leads into high-value large accounts with multiple stakeholders and long cycles, and high-velocity small accounts with single stakeholders and quick cycles; personalizing the first two touches using saved replies and product-specific templates; and then automating follow-up with campaign rules, goals, variables, cadence, and exit points, including removing leads who reply, start a trial, or become customers. Results include a nearly 50% response rate among previously unresponsive small accounts, an 8% increase in pipeline opportunities, and five hours saved per account executive weekly. The post also emphasizes keeping automated messages personal with emojis and gifs, and always adding value with case studies and demos.
Want Your Support Team To Drive Revenue? Go Real Time.
Investing in real-time customer support can drive revenue and satisfaction, but scaling it requires careful operational planning. The team found that new customers were 30% more likely to start a trial after a swift first response, and they defined two key metrics: first response time (target under 2 minutes) and subsequent response time. They started by offering real-time support to 50% of new customers, recruiting tenured top performers as Project Leads to help roll out the experiment and identify effective workflows. Operational success depended on four elements: scheduling (using heatmaps of conversation volume and dedicated tools), tools (Intercom’s Messenger and Inbox), workflows (shifting from pass-back to 100% ownership), and communication (Slack channels for handovers and feedback). After refining qualification criteria based on rep feedback to exclude customers with previously activated apps, the team scaled real-time support to 100% of new customers within six months.
How Live Chat Can Warm Up Your Cold Outbound Leads
The post describes a technique that combines cold email outreach with live chat to avoid spammy follow-ups, based on research that leads are 82% more likely to convert after a chat. When a prospect clicks a link in a cold email, they receive a proactive Visitor Auto Message personalized with a unique UTM code, such as the author’s initials ‘?nml’. This turns outbound emails into inbound conversations, with near 100% open rates and over 25% reply rates, and allows scheduling demos in under five minutes. The post includes an example email citing Tradeshift’s success with live chat, reducing lead qualification days from 21 to 3 and increasing sales by 32%. It provides a step-by-step guide on setting this up in Intercom by creating UTM codes and triggering Visitor Auto Messages based on URL matches.
Top topics
- Architecture834
- Performance817
- LLMs673
- Machine Learning622
- Open Source568
- AI Agents564
- AI483
- Developer Experience448
Weekly digest
The best engineering reads, once a week.