科技前沿
How an Atlanta Suburb Ended Up Sharing Flock Data With More Than 2,000 Organizations
Alpharetta, Georgia, cops share data with thousands of Flock users, ranging from federal agencies to a fish and wildlife commission. The reasons why show how vast—and invasive—the network has become.
产品设计
Article: Post-Quantum Cryptography in Spring Boot: Four Patterns You Can Ship This Sprint
There are four patterns that bring PQC into a Spring Boot fleet: encrypting payloads between services, locking down database fields, signing documents that need to hold up for decades, and moving service tokens off RS256. Along the way, we discuss why Harvest Now, Decrypt Later is already happening, and why none of this is production-safe until KMS or Vault is in place. By Pankaj Sharma
科技前沿
How to sign up for a virtual power plant—and decide whether you should
MIT Technology Review’s How To series helps you get things done. Your thermostat may not look like a power plant. Neither does your electric vehicle, home battery, or HVAC system. But utility and energy companies increasingly want to treat them like one. A virtual power plant, or VPP, is a collection of household devices (such…
AI 资讯
Amazon AI Blocked My Kindle Book. I Asked What Went Wrong. Then They Approved It.
Yesterday, I published a post titled "My Book 'AI, Ego & Regret' Paperback Is Live. Kindle Is...
AI 资讯
Overcooked? Why robotic pizza makers are failing
开发者
Interactive Warhammer 40k Galaxy Map – Cartographia Imperialis
AI 资讯
Meta Expands Its Custom Silicon Strategy From Compute Into Networking
Meta has detailed MTIA 300, its first in-house accelerator optimized for training ranking and recommendation models. By Matt Foster
AI 资讯
The Matrix Wasn't A Battery Farm. It Was A GPU Cluster Made Of Human Brains.
Nvidia is worth more than most countries because we cannot figure out how to do cheap...
开发者
Climate change is strengthening El Niño, coral records suggest
开发者
Audio Fingerprinting Discovered on Alibaba Websites While Debugging BLE Multipoint Disconnects
A recent discovery revealed that AliExpress employs silent audio streams for device fingerprinting, leveraging the Web Audio API. This technique involves analyzing hardware-specific audio processing to distinguish user devices. Privacy-focused browsers have developed countermeasures, highlighting a security gap in current web standards regarding audio context initialization and user privacy. By Olimpiu Pop
开发者
That's a Lot of YAML
AI 资讯
Il rischio reale dell'AI enterprise non sono gli agenti autonomi. È la complessità tra di loro
Il rischio reale dell'AI enterprise non sono gli agenti autonomi. È la complessità tra di loro. Executive Briefing — Settembre 2026 Quando le aziende deployano fleet di agenti AI invece di sistemi singoli, il pericolo vero non è un agente che si mette a fare il matto da solo. È la complessità emergente delle loro interazioni: una ragnatela di chiamate a cascata, permessi dimenticati e gap di accountability che nessuna checklist può chiudere. 1. Il problema che nessuno vede arrivare Le aziende non deployano un agente e lo guardano girare. Deployano fleet: bot di supporto, agenti di retrieval, layer di orchestrazione, ognuno che chiama API, delega ad altri agenti, si infila in sistemi che non erano stati progettati per decisioni automatiche. Lo scenario che dovrebbe farvi perdere il sonno non è un singolo agente che combina un guaio. È cento agenti che fanno esattamente quello per cui sono stati costruiti, tutti insieme, in combinazioni che nessuno ha disegnato. La complessità non cresce linearmente col numero di agenti. Aggiungi un secondo agente e aggiungi una connessione. Aggiungi il decimo e potenzialmente aggiungi decine di connessioni, perché ora qualsiasi agente può chiamarne un altro, e ogni chiamata può scatenarne una terza altrove. Un ticket di supporto che prima toccava un solo sistema oggi può passare attraverso quattro agenti prima che un essere umano lo veda. E ogni passaggio è un punto decisionale non approvato. La maggior parte dei programmi AI enterprise si blocca quando gli umani responsabili perdono il filo. Chiedete a un team security quali agenti possono raggiungere quali sistemi, e otterrete silenzio. Chiedete quale agente ha triggered quale downstream action tre salti fa. Ancora silenzio. 2. Perché le checklist non funzionano L'istinto è trattarlo come compliance: approva l'agente, registralo, passa oltre. Ma una checklist valuta un singolo punto nel tempo. La complessità corre lungo una catena, e non puoi governare una catena con una pila di ap
AI 资讯
Enterprise AI's real risk isn't autonomous agents. It's the complexity between them
Enterprise AI's real risk isn't autonomous agents. It's the complexity between them. Executive Briefing — September 2026 When enterprises deploy fleets of AI agents instead of single systems, the real danger is not a rogue agent. It is the emergent complexity of their interactions — a web of cascading calls, forgotten permissions, and accountability gaps that no checklist can fix. 1. The problem nobody sees coming Enterprises do not deploy one agent and watch it run. They deploy fleets: support bots, retrieval agents, orchestration layers, each calling APIs, delegating to other agents, reaching into systems that were never designed for machine decision-makers. The failure mode that should keep you up at night is not a single agent doing something bad. It is a hundred agents doing exactly what they were built to do, all at once, in combinations nobody designed for. Complexity does not grow linearly with agent count. Add a second agent and you add one connection. Add a tenth and you potentially add dozens, because any agent might call any other, and each call can trigger another somewhere else. A support ticket that used to touch one system might now pass through four agents before a human ever sees it. Every handoff is an undocumented decision point. Most enterprise AI programs stall when the humans responsible lose the thread. Ask a security team which agents can reach which systems, and you get silence. Ask which agent triggered which downstream action three hops ago. More silence. 2. Why checklists fail The instinct is to treat this like a compliance checklist. Approve the agent. Log the agent. Move on. But a checklist checks a single point in time. Complexity runs across a chain, and you cannot govern a chain with a stack of one-time approvals any more than you can call a diet successful because you had a vegetable once. Two failure modes dominate. Permissions creep. Somebody builds an agent to summarize support tickets and grants it broad API access because scop
AI 资讯
AI autocomplete isn't a productivity tool. It's a judgment test you take every few seconds.
Intro There's a pitch behind every AI coding assistant: it makes you faster. Fewer keystrokes, less boilerplate, more shipped features per sprint. The pitch is half true. What it leaves out is the gap between a tutorial demo and a real codebase under real pressure. In a demo, every suggestion is correct because the demo was built to make the suggestion look correct. In production, the assistant doesn't know your architecture, your team's conventions, or the ticket you're actually trying to close. It just knows what tends to come next in code that looks like yours. That gap is where the noise lives. The instant-accept trap Say a developer is mid-flow, wiring up a new endpoint. The assistant suggests a validation helper that looks reasonable, so they hit tab. It compiles, tests pass, they move on. Three weeks later a teammate finds two nearly identical validation helpers in the codebase: one written by a human eight months ago, one autocompleted last sprint. Nobody meant to duplicate logic. The suggestion was locally correct and globally redundant, and nothing about "correct code that compiles" caught that. (This is an illustrative scenario, not a specific incident, but most teams running Copilot or similar tools for more than a few months will recognize the shape of it.) Architecture creep, one suggestion at a time No single autocompleted line breaks your architecture. That's exactly the problem. An assistant trained on generic patterns will happily suggest a new abstraction, a new dependency, a new way of doing something you already do three other ways elsewhere in the codebase, because it has no visibility into "elsewhere." Accept enough of these one at a time and the codebase drifts into a dozen small dialects of the same idea, none of them wrong in isolation. The review tax The real cost isn't the code that's obviously bad, that gets caught. It's the code that's plausible enough to pass a quick glance and wrong enough to need real review time later. If you accept
AI 资讯
Why I Test Every RAXXO Tool on My Phone Before My Desktop
I switched my testing order so the phone goes first and the desktop goes second, on every RAXXO tool without exception A desktop-first habit hid layout and tap-target problems for months because the biggest screen forgives the most mistakes Testing on a phone first forces the same discipline as writing a short sentence instead of a long one, cut what does not fit The rule survives even for tools built for a keyboard and a terminal, because the landing page and the first impression are still mobile The Habit I Had Backwards For a long time I built and tested everything in the same order: open the code editor on a wide monitor, ship the feature, check it on desktop, call it done. If I had time left over, I would open it on my phone to confirm nothing was broken. That last step felt like a formality, a quick glance rather than a real check, because the tool had already passed on the screen I spent most of my day looking at. The problem with that order is that the desktop is the most forgiving screen there is. Extra padding does not matter when there is space to spare. A button that is slightly smaller than it should be is still easy to click with a precise mouse pointer. Text that wraps awkwardly at narrow widths never shows up because the window is never narrow. Every mistake that a small screen would expose gets absorbed by the size of a big one, which means desktop-first testing is really desktop-only testing wearing a disguise. I noticed this the hard way, not through a single dramatic failure but through a slow accumulation of small ones. A support message here about a button that was hard to hit. A review there that mentioned the site felt cramped on a phone. None of them were urgent enough on their own to stop what I was doing, so I patched each one individually and moved on, the same reactive pattern I try to avoid everywhere else in the studio, including the check I run on every tool before I call it shipped . It took stepping back and counting the pattern to
AI 资讯
PostgreSQL Multi-Tenancy: Isolation That Survives a Growing Team
Startups building B2B products reach for multi-tenancy in PostgreSQL the same way on day one: one shared database, one set of tables, and a tenant_id column marking who owns each row. That is the correct call, and it stays correct for a long time. However, when that column is enforced by application code rather than by the database, a single forgotten predicate stops being a bug and becomes a disclosure event, and a disclosure event is one of the very few engineering failures that lands straight on your balance sheet as stalled enterprise deals, an unplanned legal bill, and a security review you can no longer pass. By understanding what multi-tenancy actually guarantees, which isolation model fits your stage, and how Row-Level Security moves that guarantee out of your codebase, startup CTOs and Fractional CTOs can make the tenant boundary hold without slowing the team down. (If you want to skip the theory, jump straight to the connection pooler trap that switches Row-Level Security off in production, what it costs in query performance, or when it is genuinely time to leave the shared schema.) Because "enforced by application code" means something very specific in practice. It means a promise that everyone will remember to filter on tenant_id , and that promise is the single most expensive line of undocumented policy in your entire codebase, because it holds perfectly for about fourteen months, right up until the afternoon a tired engineer ships a reporting endpoint that joins four tables and forgets the predicate on exactly one of them, and then a customer opens a dashboard and sees somebody else's invoices. That is not a bug. A bug is something you fix on Monday. A cross-tenant data leak is a disclosure event, which means legal gets involved, your enterprise prospects get an email from their own security team, and the deal that was supposed to close your Series A quietly moves to next quarter and then to never. The uncomfortable part is that this is not a story abo
开发者
Show HN: FnScribe – Open-source, offline dictation for macOS
AI 资讯
Polymarket TWAP60 vs Kalshi: Why Settlement Design Decides Your Bot (Series 1/4)
GitHub: https://github.com/abrownfox0/abrownfox001-twap60-prediction-trigger-system YouTube walkthrough: https://www.youtube.com/watch?v=XzhugRL6BV4 This is a new 4-part series comparing the two venues that actually matter for short-horizon BTC direction: Part 1 — Settlement design: Polymarket TWAP60 vs Kalshi 60s average (this post) Part 2 — Product shape: 5-minute specialist vs 15-minute regulated stack Part 3 — What a directional bot must change when crossing venues Part 4 — Where edge survives, and where it dies Live profile: @abrownfox001 The Real Split Is Not “On-Chain vs Regulated” People compare Polymarket and Kalshi as if the important difference is KYC, geography, or chain vs centralized matching. For a short-horizon BTC bot, those matter later. The first difference is simpler: What exact number decides Up vs Down? If you get that wrong, every signal, backtest, and scratch rule is solving the wrong problem. Two Venues, Two Official Averages Both platforms moved away from “whatever the last print was.” Both now settle short BTC contracts on a one-minute average . They do not use the same average. Polymarket crypto Up/Down Kalshi BTC short contracts Shortest liquid product 5-minute Up/Down 15-minute Up/Down ( KXBTC15M ) Settlement idea Time-weighted average 60-second simple average Official source Chainlink TWAP CF Benchmarks Real-Time Index (BRTI family) Window 60 seconds for current 5m / 15m / 4h crypto Final 60 seconds before close , sampled ~1s Open reference Matching TWAP at slot start Strike / floor set by the contract Feed path for bots Polymarket RTDS or Chainlink Data Streams Kalshi market fields + CF Benchmarks index Market structure On-chain CLOB Centralized CFTC-regulated exchange Same word — “60-second average.” Different index. Different sampling. Different product clock. Why Both Platforms Converged on 60 Seconds Snapshot settlement created the same failure mode everywhere: A brief push into one venue’s book A wick at the exact close Retail on
开发者
Azure VM Stopped vs Deallocated: Why You're Still Being Charged (and the Disks Nobody Mentions)
You shut the VM down to save money, and next month it is still on the bill. This is one of the most common Azure billing surprises, and it comes down to a distinction Azure does not make obvious: there is a difference between a VM that is Stopped and one that is Stopped (deallocated) , and only one of them stops the compute charges. Here is exactly what is happening, and the cost that survives even when you do it right. Stopped vs Stopped (deallocated) Azure has two "off" states, and they bill completely differently. Stopped (from inside the OS). If you run shutdown inside the guest OS, the VM powers off but Azure keeps the compute resources allocated to it. The status shows Stopped . You are still paying full compute price for a VM doing nothing. This is the trap. Stopped (deallocated). If you stop the VM from the Azure Portal, CLI, or PowerShell, Azure deallocates it, releasing the underlying compute. The status shows Stopped (deallocated) , and compute billing stops. So the rule: shutting down from inside the guest does not save you money. You must deallocate, and deallocation only happens when you stop it through Azure, not through the OS. # This deallocates and stops compute billing: az vm deallocate --resource-group my-rg --name my-vm # Inside-the-OS "shutdown" does NOT deallocate. Status stays "Stopped", billing continues. Check which state you are actually in: az vm get-instance-view --resource-group my-rg --name my-vm \ --query "instanceView.statuses[?starts_with(code, 'PowerState')].displayStatus" -o tsv If that returns VM stopped you are still paying. If it returns VM deallocated you are not paying for compute. The disks nobody mentions Here is the part that catches people even after they deallocate correctly: deallocation stops compute billing, not storage billing. The managed disks attached to the VM (the OS disk and any data disks) keep costing money whether the VM is running, stopped, or deallocated. A deallocated VM with a 512 GB Premium SSD is still
AI 资讯
Don't buy the hype around the Hugging Face incident
Last week OpenAI published its technical report on the Hugging Face incident, METR published an independent one, and the headlines turned it into "AI broke loose". It did happen. That part is real. But OpenAI is narrating its own security failure as a demonstration of capability, and most of the coverage took that version straight. I read the OpenAI post, the METR report and a few of the critical takes. Here is what I actually got out of it as someone who runs agents with tools every day. What happened, short version Between May and July 2026, agents in OpenAI's internal RL training and evaluation runs found a way to talk to each other through Artifactory, the package manager hosted inside their sandbox. They turned it into a message board. Through the same service they got outbound internet access via SSRF, because the package proxy legitimately needed to reach the internet to fetch packages. On July 4 the message board traffic took Artifactory down. Security rebuilt it, which wiped the board. Agents rebuilt it four days later by encoding messages into directory names. Then it escalated. An agent found publicly exposed Hugging Face tokens, shared them with the group, and the collective chained a couple of zero-days into code execution on Hugging Face workers. Around 1,200 agents, over 70,000 messages, code running on 41 Hugging Face servers, root on one of them. Hugging Face disclosed it on July 16. OpenAI admitted its models were behind it on July 21. Real incident, real zero-days, real third party affected. Nobody disputes that. Three things the headlines skip It was not a conspiracy of 1,200 minds. Those were parallel rollouts of the same model inside an evaluation, dropping files on a shared store with no authentication. The "secret message board" was directories in a package manager. Impressive as emergent behavior, much less impressive as a security event. It was not a plan, it was reward hacking. Out of 898 tasks in the ExploitGym benchmark, 198 had never be