Join us

ContentUpdates and recent posts about Grafana Tempo..
Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Authentication Explained: When to Use Basic, Bearer, OAuth2, JWT & SSO

Modern apps don’t just check passwords—they rely on **API tokens**, **OAuth**, and **Single Sign-On (SSO)** to know who’s knocking before they open the door... read more  

Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Organize your Slack channels by “How Often”, not “What” - Aggressively Paraphrasing Me

One dev rewired their Slack setup by **engagement frequency**—not subject. Channels got sorted into tiers like “Read Now” and “Read Hourly,” cutting through noise and saving brainpower. It riffs off the **Eisenhower Matrix**, letting priorities shift with projects, not burn people out... read more  

Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Privacy for subdomains: the solution

A two-container setup using **acme.sh** gets Let's Encrypt certs running on a Synology NAS—thanks, Docker. No built-in Certbot support? No problem. Cloudflare DNS API token handles auth. Scheduled tasks handle renewal... read more  

Privacy for subdomains: the solution
Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Users Only Care About 20% of Your Application

Modern apps burst with features most people never touch. Users stick to their favorite 20%. The rest? Frustration, bloat, ignored edge cases. Tools like **VS Code**, **Slack**, and **Notion** nail it by staying lean at the core and letting users stack what they need. Extensions, plug-ins, integrati.. read more  

Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Uncommon Uses of Common Python Standard Library Functions

A fresh guide gives old Python friends a second look—turns out, tools like **itertools.groupby**, **zip**, **bisect**, and **heapq** aren’t just standard; they’re slick solutions to real problems. Think run-length encoding, matrix transposes, or fast, sorted inserts without bringing in another depen.. read more  

Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Building a Resilient Data Platform with Write-Ahead Log at Netflix

Netflix faced challenges like data loss, system entropy, updates across partitions, and reliable retries. To address these, they built a generic Write-Ahead Log (WAL) system serving a variety of use cases like delayed queues, generic cross-region replication, and multi-partition mutations. WAL abstr.. read more  

Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Writing Load Balancer From Scratch In 250 Line of Code

A developer rolled out a fully working **Go load balancer** with a clean **Round Robin** setup—and hooks for dropping in smarter strategies like **Least Connection** or **IP Hash**. Backend servers live in a custom server pool. Swapping balancing logic? Just plug into the interface... read more  

Writing Load Balancer From Scratch In 250 Line of Code
Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

5 Free AI Courses from Hugging Face

Hugging Face just rolled out a sharp set of free AI courses. Real topics, real tools—think **AI agents, LLMs, diffusion models, deep RL**, and more. It’s hands-on from the jump, packed with frameworks like LangGraph, Diffusers, and Stable Baselines3. You don’t just read about models—you build ‘em i.. read more  

Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

Implementing Vector Search from Scratch: A Step-by-Step Tutorial

Search is a fundamental problem in computing, and vector search aims to match meanings rather than exact words. By converting queries and documents into numerical vectors and calculating similarity, vector search retrieves contextually relevant results. In this tutorial, a vector search system is bu.. read more  

Link
@faun shared a link, 8 months, 1 week ago
FAUN.dev()

The productivity paradox of AI coding assistants

A July 2025 METR trial dropped a twist: seasoned devs using Cursor with Claude 3.5/3.7 moved **19% slower** - while thinking they were **20% faster**. Chalk it up to AI-induced confidence inflation. Faros AI tracked over **10,000 developers**. More AI didn’t mean more done. It meant more juggling, .. read more  

The productivity paradox of AI coding assistants
Grafana Tempo is a distributed tracing backend built for massive scale and low operational overhead. Unlike traditional tracing systems that depend on complex databases, Tempo uses object storage—such as S3, GCS, or Azure Blob Storage—to store trace data, making it highly cost-effective and resilient. Tempo is part of the Grafana observability stack and integrates natively with Grafana, Prometheus, and Loki, enabling unified visualization and correlation across metrics, logs, and traces.

Technically, Tempo supports ingestion from major tracing protocols including Jaeger, Zipkin, OpenCensus, and OpenTelemetry, ensuring easy interoperability. It features TraceQL, a domain-specific query language for traces inspired by PromQL and LogQL, allowing developers to perform targeted searches and complex trace-based analytics. The newer TraceQL Metrics capability even lets users derive metrics directly from trace data, bridging the gap between tracing and performance analysis.

Tempo’s Traces Drilldown UI further enhances usability by providing intuitive, queryless analysis of latency, errors, and performance bottlenecks. Combined with the tempo-cli and tempo-vulture tools, it delivers a full suite for trace collection, verification, and debugging.

Built in Go and following OpenTelemetry standards, Grafana Tempo is ideal for organizations seeking scalable, vendor-neutral distributed tracing to power observability at cloud scale.