Loading…
Browse by type
Tutorial reads
Tutorial posts on Yomu, summarised newest first.
- 615 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
Liberate your OpenClaw
Anthropic is limiting access to Claude models in open agent platforms for Pro/Max subscribers, so the post describes ways to keep OpenClaw, Pi, or Open Code agents running with open models from Hugging Face. It presents Hugging Face Inference Providers as the quickest hosted route: users create a token, run openclaw onboard --auth-choice huggingface-api-key, and select a model such as GLM-5, or set a repo_id in OpenClaw’s config. For fully local inference, it recommends installing llama.cpp, starting a server with Qwen3.5-35B-A3B-GGUF, and connecting OpenClaw to the local OpenAI-compatible endpoint with custom configuration; the example model is described as suitable for 32GB of RAM. The hosted option prioritizes speed and model availability, while local inference offers privacy, zero API costs, full control, and no rate limits.
Social Media Analytics: Key Insights for Business Success
Social media analytics involves gathering, analyzing, and interpreting social media data to understand audience behavior, evaluate channels and campaigns, and guide future plans. The guide covers the workflow from collection through interpretation and strategic adjustment, including engagement, reach, sentiment, audience, competitor, and conversion metrics. It recommends tools such as Brandwatch, Google Analytics, Sprout Social, Hootsuite Analytics, and Meta Business Suite, while noting that tool choice depends on needs and budget; integrations can centralize multiple platforms. The guidance emphasizes aligning metrics with business goals, automating collection, combining cross-platform data, benchmarking competitors, using historical trends, and turning findings into content and campaign changes. It also addresses attribution, platform changes, privacy, and emerging uses of AI, predictive, real-time, unified, video, and audio analytics.
Structured Logging in .NET with Serilog and ClickHouse
Traditional logging solutions like Seq, ELK, and cloud platforms often face scaling bottlenecks, including slower queries, higher operational costs, and complex pipeline management. To address this, an ASP.NET service can write structured logs directly to ClickHouse using Serilog and the Serilog.Sinks.ClickHouse library. The sink transmits data over HTTP and provides a fluent C# builder to configure table schemas, typed JSON columns, full-text indexes, and MergeTree engine parameters. ClickHouse stores log data in a columnar format that delivers 10 to 20 times compression while enabling direct SQL queries, JSON property filtering, and real-time aggregations through materialized views. Furthermore, the sink includes an in-memory buffer to handle transient network drops with configurable batching, retry mechanisms, and callback hooks for failure alerting.
Build a Domain-Specific Embedding Model in Under a Day
The tutorial presents a pipeline for adapting a general-purpose embedding model when it misses fine-grained distinctions in domain documents and labeled query–document data is unavailable. It generates synthetic question–answer pairs with NeMo Data Designer, filters them for quality, mines hard negatives with a 95% positive-score margin ceiling, and unrolls multi-hop queries for contrastive training. The recipe fine-tunes Llama-Nemotron-Embed-1B-v2, evaluates base and adapted models with BEIR metrics, and exports the result to ONNX or TensorRT. On the reported datasets, it improved Recall@10 and NDCG@10 by more than 10%; Atlassian increased Recall@60 from 0.751 to 0.951 on JIRA data. The complete workflow can run in roughly 2–3 hours for about 500 documents, using a single 80GB Ampere-or-newer GPU.
Querying DateTimes in ClickHouse
ClickHouse provides specialized functions to filter, bucket, and compute durations on native DateTime columns without requiring external processing tools. Using the New York City taxi dataset imported into a MergeTree table, queries bucket pickup timestamps into hour and 15-minute intervals using toStartOfHour and toStartOfFifteenMinutes while casting values to the Time type to group across dates. The dateDiff function calculates journey durations in minutes, which enables trip speed calculations across time windows and powers inline ASCII visualizations generated by the bar function. By combining toDayOfWeek with conditional aggregations like countIf and the lag window function, queries uncover distinct morning surge trajectories between weekdays and weekends. The analysis demonstrates that weekday trip volumes peak around 8:45 AM alongside dropping speeds, whereas weekend volumes increase steadily across the morning.
Building a Magic Mirror: AI retail experiences with Remix
Shopify’s “magic mirror” is an AI-powered retail installation that uses a display and hidden webcam to deliver personalized messages, animations, and product interactions in under a minute. A Remix route handles the browser and server boundary: a button-triggered POST captures an image, sends it with a curated prompt to a vision-capable language model, and renders a compliment plus a makeup recommendation; server-sent events optionally let a remote device trigger or reset the experience. The prompt combines persona and safety constraints, a plain-text product and inventory table, and a required JSON schema, while strict product-ID lookup provides graceful degradation. The interface uses explicit states, delayed capture, timed response and reset screens, and animated transitions. The production setup keeps brand configuration, shared components, actions, and SSE infrastructure reusable across mirror modes.
Making AI Write Android Code Our Way: A Practical Guide to Agent Skills
An Android team at Medium describes how it encoded its project conventions so AI assistants generate code aligned with Clean Architecture, Kotlin, Jetpack Compose, Hilt, Apollo GraphQL, and feature modules. An AGENTS.md file provides persistent context about module structure, dependency injection, state management, navigation, testing, and commands, while Markdown skills in .agents/skills/ provide ordered runbooks for specific tasks. Examples cover scaffolding screens and feature modules, migrating Material 2 to Material 3, enforcing ViewModel feature-flag handling, and adding deeplinks, analytics, translations, and tests. Detailed patterns include ViewModel-injecting and @VisibleForTesting composables, assisted injection, StateFlow, Result, MockK, Turbine, and Robolectric. The team iterates skills from review feedback, keeps them version-controlled, and plans file-aware rules plus commands for release diffs and reporting.
5 ways to parse Dates and DateTimes in ClickHouse
ClickHouse provides several ways to convert dates and datetimes from Unix timestamps, packed numeric values, known-format strings, mixed inputs, and file data. The examples use fromUnixTimestamp and its millisecond and microsecond variants, YYYYMMDDToDate and YYYYMMDDhhmmssToDateTime, plus parseDateTime or parseDateTimeInJodaSyntax when the input format is known. For unknown or mixed formats, parseDateTimeBestEffort and its DateTime64 counterpart accept inputs such as ISO 8601 strings, dates, and timestamp strings; invalid values otherwise raise an exception, while OrNull returns NULL and OrZero returns January 1, 1970 at midnight. The post also shows direct ::DateTime casting, controlled by cast_string_to_date_time_mode: basic supports standard forms, whereas best_effort broadens parsing but still throws for completely invalid dates. An inline or session setting lets the same casting approach parse rows from a CSV file.
Designing flexible payment flows with Checkout Session
The post addresses the architectural challenge of taking a digital product business global while supporting localized tax, currencies, one-time purchases, subscriptions, and a branded embedded checkout. It recommends Checkout Sessions as the orchestration layer, with Stripe creating and managing the underlying Payment Intent while declarative parameters handle features such as Stripe Tax, Adaptive Pricing, subscriptions, and promotional codes. The implementation creates a session with ui_mode, mode, automatic_tax, adaptive_pricing, line items, and optional payment_intent_data, then passes the client secret to Stripe Elements for the Payment Element and Currency Selector. This approach supports localized payment methods and currency conversion without a backend rewrite, while direct Payment Intents remain appropriate when an application needs full control over carts, discounts, taxes, or its own checkout abstraction.
Bringing Robotics AI to Embedded Platforms: Dataset Recording, VLA Fine‑Tuning, and On‑Device Optimizations
Deploying Vision–Language–Action policies on embedded robots is constrained by compute, memory, power, and real-time control requirements; synchronous inference can leave the arm idle and cause oscillatory corrections. NXP presents dataset-recording practices for a tea-bag placement task, including fixed cameras, controlled lighting, a gripper-mounted view, calibration backups, and diverse training and validation splits with recovery episodes. The example uses 120 episodes, three 640×480 cameras at 30 fps, batch size 8, and checkpoint selection based on training and validation success rather than loss alone. For deployment, the VLA is decomposed into vision, LLM backbone, and action-expert stages, with selective quantization and asynchronous scheduling constrained by inference time being shorter than action execution. On the i.MX 95, optimized ACT latency reached 0.32 seconds with 0.89 global accuracy, while ONNX FP32 ACT reached 0.96 global accuracy at 2.86 seconds.
We proactively fixed ~100 security issues in 6 days with 0 humans
Ramp Security Engineering describes a six-day experiment in which home-grown agents found, validated, and fixed nearly 100 latent backend security issues, including some high-severity findings, without human involvement until pull-request review. The issues had not been uncovered by penetration testing, bug bounty testing, static analysis, or trials of 10+ code-scanning vendors, and all were patched within a week of discovery. The pipeline used specialized vulnerability detectors, adversarial manager agents that rejected 40% of initial proposals in sample testing, integration tests for validation, and an internal coding agent that generated patches. Live interactive validation struggled with complex preconditions, so test-based validation became the main approach; a human team member still reviewed and landed each pull request.
Train AI models with Unsloth and Hugging Face Jobs for FREE
The post presents a workflow for fine-tuning the LiquidAI/LFM2.5-1.2B-Instruct small language model with Unsloth on Hugging Face Jobs, including optional use of Claude Code, Codex, or another coding agent. It explains that Unsloth is described as providing about 2x faster training and 60% lower VRAM use than standard methods, while the model runs under 1GB of memory and is optimized for on-device deployment. The tutorial covers claiming free Hugging Face Jobs credits through the Unsloth Jobs Explorers organization, installing the hf CLI or a model-training skill, and submitting a job with a dataset, GPU flavor, timeout, and output repository. An agent can generate a UV training script using 4-bit loading and LoRA, submit the managed cloud-GPU job, report Trackio monitoring details, and push the trained model to the Hugging Face Hub.
Building a mental model for Stripe payments
An online bookshop checkout must coordinate card networks, issuing banks, fraud checks, regulatory requirements, currencies, and varied payment methods while completing in roughly 2–3 seconds. Stripe abstracts these concerns through a unified API, with the PaymentIntent representing the payment lifecycle from amount and currency collection through tokenization, authorization, capture, and settlement. The Payment Element and client-side tokenization keep sensitive card details away from the shop’s servers, while Stripe may perform risk checks and additional 3D Secure authentication. Because payments can change state minutes, hours, or days later through refunds and disputes, webhook events should be treated as the source of truth for synchronizing order and downstream systems without polling.
One-Shot Any Web App with Gradio's gr.HTML
The post presents Gradio 6’s gr.HTML as a way to build interactive web components in a single Python file, combining custom HTML templates, scoped CSS, and JavaScript interactivity without a separate build step. It describes applications including a Pomodoro timer, contribution heatmap, Kanban board, spinning wheel, and machine-learning viewers for detection, 3D camera control, and speech transcription. Within the component API, ${value} injects Python state into the template, props.value updates that state from JavaScript, and trigger('change') synchronizes it back to Python; CSS keyframes and native HTML5 drag events supply richer behavior. For reuse, a gr.HTML subclass packages the templates and script so the result can be used like built-in Gradio components, while reload mode and Spaces deployment support rapid iteration from generated code to a live app.
Building a Movie Recommendation Engine with Hugging Face and Voyage AI
Traditional movie search mechanisms depend on coarse filters such as genre, actor, or title, which fail to capture emotional context and narrative nuances. This guide demonstrates building a mood-based semantic recommendation system by combining the voyage-4-nano open-weights embedding model, Hugging Face datasets, and MongoDB Atlas Vector Search. The architecture uses Sentence Transformers to generate embeddings and exposes an endpoint through FastAPI to match user moods against movie plots. Truncating the Matryoshka embeddings from 2048 to 1024 dimensions balances semantic retrieval quality, storage footprint, and query latency. Testing shows that while abstract emotional queries return moderate similarity scores around 0.62 to 0.67, concrete descriptive queries exceed 0.75 without requiring exact keyword matches.
Building AI-Powered Observability with Heroku Managed Inference and Agents
Production incident debugging often requires switching among an IDE, Splunk, Sentry, and PagerDuty while translating natural-language questions into platform-specific queries. The described system connects AI coding assistants to observability platforms through the Model Context Protocol (MCP), exposing typed tools for Splunk searches, Honeycomb queries, and Sentry event lookups. Heroku Managed Inference and Agents provides an MCP gateway for SSE transport, allowing servers to run as STDIO processes and be deployed with a Heroku app, an inference add-on, credentials, and an inference token configured in tools such as Cursor or Claude. The post reports ranked production error results, processing more than 175,000 events in minutes for a suspicious-account review, and using natural-language questions to reduce syntax barriers and keep telemetry in the IDE.
Make Secure App-to-App Connections Using Cross App Access
Enterprise app-to-app integrations can create governance, security, and consent problems when API keys lack user context and standard OAuth leaves connection approval to individuals. The tutorial adds Cross App Access (XAA), an OAuth extension based on the Identity Assertion Authorization Grant, to a NestJS note-taking app and connects it to a to-do app through xaa.dev. It uses TypeScript, openid-client, and the testing site’s IdP, with two token exchanges: an ID token becomes an ID-JAG token, then a JWT-bearer grant exchanges that assertion at the resource authorization server for an access token. After authentication, the completed flow calls the to-do API and exposes each handshake step and response in console logs.
Building AI Search on Heroku
The reference architecture addresses a common RAG failure: vector search can return semantically similar documentation that does not answer the user's question. Its query pipeline retrieves the top 20 chunks with cosine similarity in Heroku Postgres and pgvector, then sends those candidates to Cohere Rerank 3.5, a cross-encoder reranker, before Claude 3.5 Sonnet generates an answer. The indexing pipeline crawls URLs, filters likely boilerplate, splits documents into 1,000-character chunks with 200-character overlap at natural boundaries, embeds them with Cohere Embed Multilingual, and batch-inserts them. Server-Sent Events stream embedding, search, reranking, sources, and generated text to avoid a blank screen during the multi-step request. The reranking stage can be made optional when lower latency matters more than precision.
Configuring Stripe using Terraform and AI agents
The post addresses the difficulty of using AI agents to configure Stripe resources when one-off API calls leave no durable source of truth for state, changes, or environment differences. It recommends using agents to author Terraform configuration rather than operating Stripe directly, so products, prices, and webhook endpoints become explicit, reviewable code. The example defines a Standard Plan with $20 monthly and $200 annual prices, selected webhook events, and outputs for both price IDs, then applies it with terraform plan and terraform apply. Terraform provides declarative, repeatable configuration supported by Git history, pull-request review, and environment-specific workspaces. Separate sandbox and livemode workspaces, paired with matching STRIPE_API_KEY values, are presented as a way to reduce accidental cross-environment changes.
Take User Provisioning to the Next Level with Entitlements
This workshop extends a React and Express.js Todo application’s SCIM-based user provisioning to include entitlements such as roles, licensing, and permissions for enterprise B2B SaaS use. Starting from completed SCIM workshop code, it adds a /Roles endpoint, database-backed roles, SCIM schemas and resource types, and TypeScript implementations that conform to SCIM responses and user resources. The walkthrough connects the API to an Okta SCIM application, discovers schemas and characteristics, and demonstrates synchronizing existing entitlements and assigning a custom is_tall characteristic to a user. It also discusses multi-tenant designs, where organization-specific roles can be addressed through an API key in the Authorization header, while recommending OAuth for production.
Top topics
- Architecture830
- Performance812
- LLMs648
- Machine Learning617
- Open Source561
- AI Agents542
- AI454
- Developer Experience446
Weekly digest
The best engineering reads, once a week.