AI 资讯
Prevent Feature Flag Retry Duplicate Writes in Rollout Toggle Endpoints
Use a durable idempotency receipt when feature flag retries can reach a rollout toggle endpoint, otherwise reach for a read-only flag evaluation that cannot create duplicate writes. Short answer: the backend must bind one caller-generated key to one operation and commit the receipt beside the state change; a retry should recover that recorded result, not perform the write again. The flag is not the transaction. Record the invariant at the write boundary My architecture decision is to enforce idempotency inside the backend that owns the mutable state. The caller creates an operation key before its first attempt, sends the same key and operation on every retry, and never manufactures a fresh key inside the retry loop. The backend binds that key to a stable digest of the requested change. If the key and digest have already been committed, it returns the stored result. If the key exists with a different digest, it rejects the integration error as a conflict. The state mutation and receipt belong in one transaction, because two separate commits create an interval in which the state says “done” while the receipt still says nothing. I write the invariant this way: one idempotency key identifies one logical operation within a documented scope; one committed operation has one durable result. The defensible claim is effectively-once mutation within that scope, not exactly-once delivery. Clients, queues, proxies, and deployment controllers can all repeat an attempt, so delivery count isn't a useful correctness boundary. There are three failure boundaries I test. A response can disappear after commit, two workers can race on the same key, and the flag decision can change between attempts. The first requires replaying the stored result. The second requires a uniqueness constraint rather than a check-then-insert sequence. The third requires persisting the evaluated decision with the operation; reevaluating a flag during recovery can turn one logical request into two different his
开发者
How headlights got brighter, whiter, and more blinding after dark
Automotive lights are better than they've ever been, but there's a trade-off.
AI 资讯
How a Yale AI-cheating dispute became a 13-count federal lawsuit
A disputed exam, an unreliable detector, and one very late Apple Pages file.
AI 资讯
Google's SynthID watermark is hard to break, but it doesn't solve AI misinformation
Deciding what's real on the Internet won't be easy in the future.
AI 资讯
Article: The Hard-Stop Rule: From 3 HCM Monoliths to 120 Domain Microservices
A payroll and HR software team rebuilt three monoliths into over 120 smaller services over five years, with no dedicated migration budget. Every new feature was built as its own service instead of changing the old ones. The article covers the pull-based migration, the tools that made this possible, how costs were kept down, and the problems the team ran into along the way. By Prashanth Pasham
开发者
Framework Laptop 13 Pro review: Much better battery, much worse price
Framework's latest modular laptop trades one set of problems for another.
科技前沿
With help from data, art museums are reframing the visitor experience
Museums are embracing data-driven curation and a shifting technology landscape.
科技前沿
I wanted a clock that never needed setting. Things escalated.
Sure, maybe your clock has a backup battery, but mine has a deployment pipeline!
科技前沿
When your vehicle outlives its cloud: What happens next?
Automakers love connected vehicles, but support isn't open-ended.
AI 资讯
Who’s afraid of the big, bad GPU?
How does AI make you feel? Are you excited to “vibe-code” your smart home? Or anxious about all the added pollution and billions of gallons of water used by data centers? Dig a little deeper and you’ll start to question the actual value of the GPUs that underpin all the leaps and promises of generative […]
AI 资讯
F1 in Belgium: Machine learning algorithms are ruining the sport
Many will say Spa is the best racetrack on earth, but not for these F1 cars.
AI 资讯
Trust the Calculator
The pricing formulas in Motor, the estimating engine I built for a water feature shop, did not come from the manual. I pulled 32 of them out of the JavaScript behind Aquascape's contractor calculator, the tool contractors actually use to bid jobs. The manual was sitting right there, official and free. Ignoring it was the best design decision in the whole system. A vendor never ships a sloppy calculator Why trust the calculator over the manual? Because of what happens when each one is wrong. If the manual sizes a pump wrong, a reader shrugs and moves on. If the calculator sizes a pump wrong, a contractor bids a job at that number, wins it, and loses money on the install. Then the phone rings. So calculators get fixed and manuals drift. Give it ten years and the two quietly disagree, and everyone in the trade knows which one to trust without anyone saying so. A vendor will ship a sloppy PDF. They will never ship a sloppy calculator. Documentation is what a domain says about itself. The artifacts money flows through are what it actually believes. Once you see that split, you cannot stop seeing it. The other half was in old invoices Formulas only get you to cost. What a shop charges on top of cost is a belief about its market, and no vendor document holds that number. So I pulled 132 historical quotes out of the shop's CRM. Real quotes, sent to real customers, most of them paid. I calibrated Motor's markup against those, then checked its output against what the shop had actually charged. The result: Calibrated against 132 real quotes, Motor's estimates landed within 5 percent of what the shop actually charged, with no pricing rule taken from documentation. I could have just asked the owner what his markup was. But what an owner says and what his invoices show are rarely the same number, and the invoices are the ones customers paid. When the two disagree, believe the invoices. The same bug in a different industry I build and run systems in several industries, and the sur
产品设计
2026 Lucid Gravity Touring review: A strong act 2
Quick, comfortable, roomy, and agile for a large electric SUV.
产品设计
How hard is it to build orbital data centers, actually?
"The ISS radiators are expensive and heavy. We're focused on making them cheap and light."
AI 资讯
Simulating everything, sort of: The promise and limits of world models
Experts explain how they work, what they can do, and what's still unsettled.
AI 资讯
How to Add Evals to an LLM Feature
Learning how to add evals to an LLM feature is the difference between shipping a demo and shipping a reliable product. When you embed an LLM into a real feature — a chatbot, a voice agent, a document summarizer — you’re not just calling a model. You’re betting your user’s experience on a non‑deterministic system that can silently break with every prompt tweak, model update, or edge case. That’s why we instrument every LLM feature we build with a purpose‑built eval suite. Here’s how we did it for an outbound AI calling agent and how you can do the same. Why Evals Are Not Optional LLMs are non‑deterministic: give them the same input twice, and you’ll get two different responses. That means unit tests that check for exact string matches are useless. As Pragmatic Engineer notes , you need evals to verify that the solution works well enough — because there’s no guarantee it will. When you’re building a feature that speaks to real customers, like the AI Calling Agent dashboard we built, a regression in tone or missed booking intent can cost revenue immediately. Evals turn that uncertainty into signal. How to Add Evals to an LLM Feature: A 4‑Step Workflow We’ll walk through the exact process we followed, from defining success to automating checks in CI, using the DeepEval framework as an example. You can swap in Evidently AI or build your own, but the pattern is the same. Step 1: Define Success for Your Feature Takeaway: Before you pick a metric, write down the one thing that makes the feature “done” — usually a business outcome, not a technical measure. For the AI Calling Agent, the core feature was an outbound call that books a meeting. The success criterion wasn’t “the LLM replied politely.” It was “the agent scheduled a meeting with the right time and date.” This is a reference‑based evaluation: you compare the output to a known ground truth. Evidently AI’s guide calls this pattern out as essential for regression testing and experimentation. From that criterion, we der
科技前沿
Like a cheat code for your car: We investigate ECU tuning
Now it's an arms race between OEMs locking down chips and tuners trying to crack them.
开源项目
Payloads used to dictate the terms of launch. That's finally changing.
"The Starship Pez dispenser demonstrates very smart industrial design and scale."
AI 资讯
How AI could enable autonomous robot workers in workplaces—and maybe homes
Top robotics researchers and founders explain how robot autonomy is evolving.
AI 资讯
How AI could enable autonomous robot workers in workplaces—and maybe homes
Top robotics researchers and founders explain how robot autonomy is evolving.