今日已更新 52 条资讯 | 累计 27578 条内容
关于我们

今日精选

HOT

最新资讯

共 27578 篇
第 51/1379 页
AI 资讯 Dev.to

The July Model Wave Is Not a Race You Need to Win

Three frontier launches. Two weeks. One bad habit. The habit is crowning a winner from a press release. Claude Sonnet 5 on June 30. OpenAI's GPT-5.6 family rolling into general availability around July 9. Grok 4.5 on July 8, co-trained with Cursor and priced to make coding agents feel cheap. The charts moved. The posts multiplied. The claim underneath most of them was the same: this is the model you should standardize on. [The claim is nonsense. Standardization is the risk. Routing is the skill.] What actually shipped Strip the demos. Keep the operator facts. Model Maker Window Operator-relevant shape Claude Sonnet 5 Anthropic late June Balanced agent runs, coding, long reliable chains GPT-5.6 Sol / Terra / Luna OpenAI late June to mid-July Tiered family: flagship Sol, everyday Terra, cheap Luna Grok 4.5 xAI + Cursor July 8 Coding and agent work at aggressive API pricing OpenAI gated GPT-5.6 longer than the others. Safety review, staged partners, then broader access. That is part of the product story now, not a footnote. Anthropic and xAI moved faster to availability. Access policy is a feature. Open source did not wait. GLM-5.2, DeepSeek V4, Qwen 3.6 and peers kept closing the gap for hosted and self-hosted work. The frontier is crowded. The "one brain for everything" era is over as an architecture choice, even if the marketing still pretends otherwise. Ranked by Tuesday impact, not leaderboard theater 1. Cost and tiering matter more than the top score. OpenAI shipping Luna / Terra / Sol as a family is the real product decision. You can route a triage job to a cheap tier and a hard research job to a flagship without changing vendors. That is operator infrastructure. A single "best model" headline is not. 2. Grok 4.5 inside Cursor changes the default coding bill. A model trained with Cursor interaction data, sold at roughly $2 / $6 per million tokens, is not a vibe. It is a budget line. Teams that were bleeding token spend on heavier agents will try it this month wh

Agnel Nieves 2026-07-31 23:39 5 原文
AI 资讯 Dev.to

Debugging a black box: 36 renders against Claude, and the part where my own data was wrong

If you've built an MCP App — the HTML widget an MCP server hands a host to render inline — you may have hit this: the tool call succeeds, structuredContent comes back fine, the model announces that a widget rendered, and the user sees nothing. No error. No console output. Just a gap in the conversation. There's a long issue full of people with this exact symptom, all of them (me included) posting variations of "my server is spec-correct and nothing renders." That's a hard thing to act on. So I built a probe server designed to answer one question at a time and ran it 36 times. This post is mostly about method — how you experiment on a host whose source you can't read and whose renderer you can't attach a debugger to. The MCP specifics are the worked example. The most useful part is at the end, where my measurements lied to me twice. Everything behavioural here was measured on 31 July 2026 against claude.ai web. Host behaviour changes; treat the numbers as a snapshot, not a spec. The finding, up front The most-upvoted lead in that thread says claude.ai silently refuses to place the iframe unless your resource declares _meta.ui.domain , computed as sha256(<your endpoint URL>)[:32] + ".claudemcpcontent.com" . Here's what varying that one field actually does: _meta.ui.domain iframe mounted sandbox origin computed value 10/10 one stable origin, every render absent 10/10 host default — differs per conversation present but wrong 0/8 never created Omitting it doesn't stop anything. What it actually controls is origin stability , which is exactly what the SDK docs say it's for: a fixed origin your API server can allowlist for CORS. But a wrong value is fatal. And the easy way to produce one is hashing an endpoint string that differs slightly from the URL the client connected with — a trailing slash, a missing path segment, http vs https . So the advice inverts the risk: follow it imprecisely and you convert a working app into a broken one. The original comment wasn't wrong ab

Christo 2026-07-31 23:37 3 原文
AI 资讯 Dev.to

Row and Field-Level Data Provenance: Why It's Worth the Pain (and Where the Pain Is)

Most "data lineage" you've seen answers a schema question: table B comes from table A , or column B.total comes from columns A.price and A.qty . That's genuinely useful, and tools like OpenLineage do it well. But notice what it doesn't tell you: it says which columns can influence an output. It never says which values actually did . That gap is the whole subject of this post. I built a small, self-contained reference pipeline that captures provenance at the row and field level — "the value in this destination row, this field, was computed from these specific source (row, field) pairs" — and I want to walk through two things: why you'd ever want provenance at that granularity, and why it's genuinely hard once you commit to it. Repo (dbt-core + DuckDB, no server, no cloud, runs on a clean checkout): https://github.com/stevenblough/row-level-prov The one distinction everything follows from Here's the sentence the entire project turns on: Column-level lineage is a schema-sized, static fact you can derive from code. Value-level provenance is a data-sized, dynamic fact you must capture at execution. Put it in complexity terms and the consequences become obvious: Column lineage is O(schema) . It scales with how many columns you have. You can compute it by parsing SQL, offline, without ever looking at a single row. Value provenance is O(rows × fan-in) . It scales with your data volume times how many source values feed each output value. It does not exist anywhere until the query runs, and it can only be captured there , piggybacked on the query that actually produced the values. You cannot "reconstruct" value provenance later by re-querying the sources — the moment the source changes, you'd reconstruct a different answer than what really happened. That single exponent change ( schema → rows × fan-in ) is why value-level provenance has an entire class of problems that column lineage never faces. Why bother? The reasons for this level of granularity Granularity is expensive,

Steven Blough 2026-07-31 23:37 2 原文
AI 资讯 Dev.to

My Chrome extension has no server, so I put the paywall on a remote switch

I'm a solo dev with zero users right now, and I just spent an afternoon on a decision most people would've hardcoded in five minutes. Here's the setup. NotebookBloom is my Chrome extension for Google's NotebookLM. At launch I don't want to charge for much — I want people to actually use it, tell a friend, leave a review. So the plan is: only cloud sync (Google Drive backup) is Pro on day one. Everything else — flashcard export to Anki, citation export, bulk import — free. But "free on day one" implies "not free forever." Once there are enough users, I want to flip some of those to paid, one at a time, watching what happens. And that's where I hit a wall that only exists for extensions: there is no server runtime. My extension runs in the user's browser. So if I write "is this feature paid?" as a hardcoded if in my code, then flipping it later means: edit code → rebuild → upload to the Chrome Web Store → wait for review[你查到的审核时长,如 "usually under a day, sometimes 3"]. Think about that. A pricing change — arguably the most business-critical lever I have — would be stuck in a review queue. That's absurd. So I stopped and rebuilt it as a switch. One file, features.ts , with a single decision function: canUse(feature, isPro, gates) → isPro OR the feature isn't currently gated Four flippable keys: cloudSync, ankiExport, citationExport, bulkImport. The default (compiled into the extension) is: cloudSync = paid, the rest = free. That's my day-one tiering. The switch values live in my Cloudflare Worker's KV. To flip Anki export to paid, I change one KV value — no rebuild, no store review. Every user picks it up within a day. The part I'm quietly proud of: it costs zero extra requests. The extension already calls /status to check "does this Google account have a subscription?" (you can't trust the client to self-report that — that's how you get pirated). I just piggybacked the switch values onto that same response. The paywall config rides along on a request I was already maki

shaojie gong 2026-07-31 23:35 2 原文
AI 资讯 Dev.to

TimescaleDB 2.27 Added Bloom Filters to UPDATE and DELETE. Your EXPLAIN Won't Tell You If They Work Unless You Know These Counters.

TimescaleDB 2.27, released May 12 2026, extends bloom-filter batch pruning from reads to writes. UPDATE, DELETE, and UPSERT against compressed columnstore data can now skip decompressing batches that provably cannot contain the target rows. The reported gains are real: up to 160x for selective UPDATE/DELETE, and over 2x for UPSERT. The feature is automatic. Whether it is actually firing on your workload is not something you can assume, and the only way to confirm it is to read new EXPLAIN counters that the release notes mention but do not explain. Worse, the counter names are inconsistent between the write paths, so even a careful reader ends up guessing. This post is about reading those counters correctly, and about the two things in this release that will silently break a query if you upgrade without noticing them. What is actually being skipped A quick model of the mechanism, because the counters only make sense against it. Hypercore stores compressed data in batches, roughly a thousand rows each. For columns that are not the segmentby key, TimescaleDB maintains a sparse bloom filter per batch: a small probabilistic summary that answers one question, "could this batch contain column = X ?", without touching the compressed payload. A bloom filter has a useful asymmetry. A negative is certain: if the filter says no, the value is definitely absent, and the batch can be skipped whole. A positive is not: the filter says "maybe", you decompress, and sometimes the value is not there after all. That last case is a false positive, and it is the number that tells you whether the whole scheme is paying off. Before 2.27, a DELETE ... WHERE sensor_id = 'x' against compressed data decompressed every candidate batch to check. Now the bloom filter is consulted first, and batches that cannot match are never decompressed. The work you save is the decompression of the batches that get pruned. The work you waste, when the filter is poorly matched to your data, is the bloom check on

Polliog 2026-07-31 23:31 3 原文
AI 资讯 The Verge AI

New York sues Kalshi for allegedly running an ‘illegal gambling operation’

New York is suing Kalshi over claims the prediction market is running "an illegal gambling operation." In the lawsuit, New York Attorney General Letitia James accuses Kalshi of violating state laws by accepting wagers without a license from the state's gaming commission, as reported earlier by CNBC. An investigation from the Office of the Attorney […]

Emma Roth 2026-07-31 23:30 2 原文
AI 资讯 Dev.to

Claude Code + OpenRouter: The Setup Guide That Actually Explains Things

So you have heard people rave about Claude Code. Maybe you have also heard people mention OpenRouter in the same breath, usually followed by some combination of environment variables and a screenshot of a terminal. If you are new to any of this, it can feel like everyone skipped a step and jumped straight to the jargon. This guide is that missing step. We will go slow where it matters, explain the confusing bits, and by the end you will actually understand what is happening instead of just copy pasting commands and hoping. The two things, quickly Claude Code is Anthropic's terminal coding agent. It reads your files, edits code, runs commands. By default it talks straight to Anthropic's servers. OpenRouter is a switchboard. It a switchboard for AI models. Instead of every app needing its own separate connection to every AI provider, OpenRouter sits in the middle and lets you route requests to different models through one account, one dashboard, and one place to watch your spending. (Even free and open source models!) You can check out all the models provided by OpenRouter here . Important honesty check: OpenRouter's own docs say this combo is only guaranteed to work well with Anthropic's own models. You're not really swapping Claude's brain out here, you're mostly rerouting the pipe it talks through. Quick vocab check: "OpenAI compatible" Claude Code sends requests in Anthropic's format. Some servers only understand OpenAI's format instead. Point Claude Code at one of those by mistake and you get garbled errors, like mailing a French letter to someone who only reads Spanish. OpenRouter has an endpoint that speaks Anthropic's format natively, so no translation step, no separate proxy needed. Wait, do I use zsh or bash? How would I even know This question stops more beginners than anything else in this guide, and it is a fair one. Here is how to check in ten seconds. Open your terminal and type this, then press enter: echo $SHELL You will get one of these back: Somethi

Shreshth Goyal 2026-07-31 23:27 2 原文
AI 资讯 HackerNews

Everything that happens in a US airport is under duress

Americans interactions with authorities rely on their consciousness of Constitutional protections, and they have accepted that in airports there is no US Constitution. Test feeling of high vulnerability and insecurity felt there, and the awareness of the means the authorities there have at their disposal to coerce 'cooperation'.

dfps 2026-07-31 23:18 0 原文