Lotu RadarAbout

Latest News Archive - Page 169

Society · The Guardian Society

Sally Marchant obituary

My friend Sally Marchant, who has died aged 71, was a significant midwife researcher and leader. After working as a midwife for more than a decade, in 1991 Sally was recruited to the National Perinatal Epidemiology Unit at Oxford University as a researcher. Among other work there, she took part in the BLiPP study , a project looking at new mothers’ experiences of blood loss, and co-authored an article on its key findings for the journal Midwifery in 1999. Continue reading...

Products & Consumer Tech · The Verge

Save hundreds on a TCL mini-LED TV with quantum dots and high refresh rate

Amazon and Best Buy have the TCL QM7L mini-LED TV on sale for as low as $797.99 for the 55-inch model, a $200 discount from the usual price. We spotted scaling discounts on larger sizes as well, although Amazon already listed low stock on the 65-inch version. While OLED televisions are great for deep black […]

Society · The Guardian Society

New heart attack definition promises better care for women

Leading cardiovascular health groups reclassify overlooked causes and introduce sex-specific diagnostic thresholds Doctors have agreed the world’s first universal definition of a heart attack, paving the way for millions of women to finally receive better treatment after decades of being “deprioritised”. In one of the biggest procedural shake-ups in a generation, the world’s four leading cardiovascular health groups have signed off on new guidance for healthcare professionals when seeing suspected heart attack patients. Continue reading...

Notable Blogs · Stratechery

2026.35: Internet Hype and Real World Change

The best Stratechery content from the week of August 24, 2026 including the breaker's advantage, the new battle for HDMI1, and how data center discourse ends.

World · Al Jazeera

Canadian economy recovers sharply in Q2 but shadow of US tariffs in future

Healthy domestic demand, led by consumer spending and business investment, shows Canada was brushing off past tariffs.

Products & Consumer Tech · Product Hunt

Hy4 preview

Tencent’s 770B open model for long-horizon work Discussion | Link

Business · CNBC Technology

Apple hikes subscription prices for Apple TV and Apple One in the U.S.

Apple raised prices for Apple Music by $1 per month in July, citing licensing costs.

World · Al Jazeera

Al Jazeera reports from Nepal as flood survivors flee new threat

Al Jazeera reports from flood-hit Bidur, Nepal, as residents flee towards higher ground amid threats of another flood.

World · Deutsche Welle

What next? Kurds say yes, Druze still say no to united Syria

The Druze minority in Sweida, Syria, is now the only group that hasn't accepted central government authority. How does the end of an independent Kurdish area impact Druze plans for a different, divided kind of Syria?

Products & Consumer Tech · The Verge

Trump’s EPA wants to let data centers hide their air pollution

Just as new data centers face growing backlash from neighboring communities, the US Environmental Protection Agency (EPA) is about to make it harder for people to weigh in on any pollution those centers create. The EPA plans to toss out a federal rule requiring public notice and an opportunity to comment when certain industrial sites […]

Products & Consumer Tech · Product Hunt

BrandMyLaptop

Sell ad space on your laptop Discussion | Link

Developers & Open Source · langchain-ai/langchain Releases

langchain==1.4.0a2

Alpha preview of langchain.mcp — a first-party adapter that turns any MCP server into LangChain tools you can hand straight to create_agent . Connection handling is FastMCP 's, so its client features are available as-is rather than re-implemented behind a narrower interface. pip install " langchain[mcp]==1.4.0a2 " Connect MCPAdapter takes any target fastmcp.Client accepts — transport is inferred, so there is one entry point rather than one per protocol. from langchain . agents import create_agent from langchain . mcp import MCPAdapter async with MCPAdapter ( "https://example.com/mcp" ) as adapter : agent = create_agent ( "anthropic:claude-sonnet-5" , await adapter . get_tools ()) result = await agent . ainvoke ({ "messages" : [{ "role" : "user" , "content" : "..." }]}) Valid targets: a URL, a local script path (launched over stdio), an in-process FastMCP server, a config naming several servers at once, or a fastmcp.Client you built yourself. Tools returned by get_tools() hold the adapter's client, so they stay callable after the context exits — the async with block scopes discovery, not tool lifetime. Auth, caching, timeouts — build the client MCPAdapter takes two arguments: the target and elicitation . Everything else FastMCP supports is configured on a fastmcp.Client that you build and hand over as the target. This is the pattern to reach for whenever you need more than a bare connection: from fastmcp . client import Client from langchain . mcp import MCPAdapter client = Client ( "https://example.com/mcp" , auth = "oauth" , # or a bearer token string, or any httpx auth cache = True , # opt-in response caching timeout = 30 , ) async with MCPAdapter ( client ) as adapter : tools = await adapter . get_tools () Auth accepts "oauth" to run the OAuth flow, a token string for bearer auth, or an httpx.Auth instance for anything custom — see FastMCP's auth docs . Per-server headers and auth can also be set in a multi-server config (below). Caching is opt-in and off by default: cache=True enables it with defaults, honoring the server's own ttlMs and cacheScope hints; a CacheConfig customizes it. The cache is per-client and in-memory. Everything else on fastmcp.Client — timeout , log_handler , progress_handler , message_handler , roots , sampling_handler — works the same way. The adapter passes your client through untouched, so FastMCP behavior is not re-implemented or restricted. One caveat: with elicitation="interrupt" , the adapter clones your client so it does not overwrite a callback you set. Configuration (auth, cache settings, handlers) carries over to the clone; cached entries do not, since the clone gets its own store. adapter.client exposes the underlying client for prompts, resources, and anything else the adapter does not wrap. Multiple servers Point the adapter at a config and it fans out to every server through one connection, presenting a single tool list to your agent. config = { "mcpServers" : { "weather" : { "url" : "https://weather.example.com/mcp" }, "calendar" : { "url" : "https://calendar.example.com/mcp" , "headers" : { "Authorization" : "Bearer ..." }, }, } } async with MCPAdapter ( config ) as adapter : agent = create_agent ( "anthropic:claude-sonnet-5" , await adapter . get_tools ()) With more than one server, tools are namespaced by server name — weather_get_forecast , calendar_create_event — so collisions between servers are impossible. With exactly one server, the adapter connects directly and names are unprefixed. Each entry takes its own headers , auth , transport , and timeout , so servers with different credentials compose in one agent. A local server uses command / args instead of url and is launched over stdio. The config follows FastMCP's MCP JSON schema , so a config you already use elsewhere works here unchanged. Old and new protocol servers, side by side MCP has moved from the initialize handshake to server/discover , and servers in the wild sit on both sides of that line. FastMCP negotiates the era per connection, so the adapter reaches either without you selecting one: # handshake-era server over SSE legacy = MCPAdapter ( "https://legacy.example.com/sse" ) # modern-era server over streamable HTTP modern = MCPAdapter ( "https://modern.example.com/mcp" ) Separate adapters negotiate independently and can run concurrently, each on its own era. This is covered by integration tests that stand up one server of each era and call both. The one rule worth knowing: a multi-server config exposes a single era, so its oldest backend sets the era for the whole fleet. Mixing a handshake-era server into a config pulls the modern backends back to the handshake era — they still work, but era-gated features go with it. Keep a legacy server in its own adapter when you want the others on the modern protocol: async with ( MCPAdapter ({ "mcpServers" : {... modern servers ...}}) as modern , MCPAdapter ( "https://legacy.example.com/sse" ) as legacy , ): tools = await modern . get_tools () + await legacy . get_tools () Results Each tool is async. An MCP tool that runs and reports failure comes back as a ToolMessage with status="error" carrying the server's own error text, so the agent can correct itself and retry. Transport failures and unconvertible content raise instead — a model cannot act on those. Structured output rides along on the tool message artifact: from langchain . mcp import MCPToolArtifact artifact : MCPToolArtifact | None = tool_message . artifact # None when there is no structured content artifact [ "structured_content" ] Elicitation — servers that ask questions mid-call Some MCP tools need input before they can finish. Opt in, and the request surfaces as a LangGraph interrupt() , so the human already reviewing the agent's work answers the server too. adapter = MCPAdapter ( target , elicitation = "interrupt" ) The capability is opt-in rather than default because declaring it is a promise made on the wire: an agent with no path to a human cannot keep it. Left unset, nothing is declared, and a server whose tool requires an answer declines the call rather than running without one. The run stops with a typed payload, and resumes with one answer per request key: from langgraph . types import Command result = await agent . ainvoke ({ "messages" : [...]}, config ) [ pause ] = result [ "__interrupt__" ] pause . value [ "type" ] # "mcp_elicitation" pause . value [ "tool_name" ] # the tool that is waiting pause . value [ "requests" ] # each question, in the order to ask them answer = { "responses" : { key : { "action" : "accept" , "content" : { "guests" : 4 }}}} result = await agent . ainvoke ( Command ( resume = answer ), config ) Requests narrow on mode : a "form" request carries requested_schema for the answer to satisfy, a "url" request carries an address for the human to visit. Answers narrow on action — "accept" (with content ), "decline" (skip the question, let the call proceed), or "cancel" (abandon the tool call). Requires a checkpointer, as any interrupt does. Sampling and roots are not answered through interrupts; leave those to your client's own handlers. Types for handlers — MCPElicitationInterrupt , MCPElicitationRequest , MCPElicitationResponse , MCPElicitationResume , and the ELICITATION_INTERRUPT_TYPE discriminator — live in langchain.mcp.elicitation . Further reading FastMCP client docs — auth, caching, transports, and handler configuration Client transports — what each target type infers Elicitation — the underlying protocol feature This is an alpha: the interface may shift before 1.4.0 is final. Feedback on the API shape is exactly what we're after.

Products & Consumer Tech · The Verge

DLSS 5 leaked and modders are putting Nvidia’s AI effects on everything

Modders are trying out an unofficial version of Nvidia's DLSS 5 on Skyrim, Cyberpunk 2077, GTA V, and a bunch of other games after code for the AI upscaling tech appeared in an early-access build of NBA 2K27. Members of the RenoDX modding channel on Discord reportedly found a way to extract the DLSS "Neural […]

Cybersecurity · The Hacker News

Android 17 Adds OS-Wide ECH to Hide Website Visits From Network Providers

Google on Thursday announced new network security protections in Android 17 to bolster connection privacy, address cellular vulnerabilities, and safeguard the privacy of users' home networks. Topping the list is support for Encrypted Client Hello (ECH), a privacy standard that prevents networks from eavesdropping on which websites a user is visiting. "This new privacy standard works in tandem

World · Al Jazeera

Kenyan police fire tear gas at Nairobi protest against import duty hike

Traders frustrated by more than $5,000 duty hike they say will hurt small businesses.

Products & Consumer Tech · Product Hunt

Gauth AI Course

AI courses you can watch, quiz through, and create Discussion | Link

Society · NPR Top Stories

Fed's Kevin Warsh warns inflation is too high, sparking bets rate hikes are coming

Fed Chair Kevin Warsh reiterated his commitment to fighting inflation in a major speech — raising expectations that rate hikes may be coming, though he did not clearly spell out a path going forward.

World · Al Jazeera

The two types of Israeli settlers

Israeli settlement expansion in the occupied West Bank isn’t just driven by ideology, but also by economic incentives.

Products & Consumer Tech · Product Hunt

myAIcademy

Learn AI skills for your specific role and team Discussion | Link

Products & Consumer Tech · Product Hunt

Cohere Parse 5

Turn complex docs, tables & images into AI-ready data Discussion | Link

Startups & Funding · Hacker News Best

Just the rumour of a bug is enough to find an exploit these days

Article URL: https://anil.recoil.org/notes/rumour-is-the-exploit Comments URL: https://news.ycombinator.com/item?id=49480466 Points: 305 # Comments: 108

World · Deutsche Welle

Germany news: Baltic summit plans hybrid-threat task force

Ministers from countries bordering the Baltic Sea have agreed on a rapid response force to counter hybrid threats. Meanwhile, the far-right AfD has failed to topple a state premier. DW has more updates from Germany.

Business · CNBC Technology

Big Tech's massive AI spending is putting one of its longtime strengths to the test

There's new risk emerging from Big Tech's massive artificial intelligence buildout.

Cloud & Infrastructure · The New Stack

Nvidia is paying $12.9 billion to keep open models on its chips

I’m Matt Burns, Chief Content Officer at Insight Media Group. Each week, I round up the most important AI developments, The post Nvidia is paying $12.9 billion to keep open models on its chips appeared first on The New Stack .