AI 资讯
The foundational elements of AI architecture that IT leaders need to scale
With the rapid progress of AI capabilities and the move to agentic systems, organizations are expanding their use cases as the technology continues to grow. That constant evolution also introduces risk, leaving IT leaders to wonder which investments will prove valuable even six months into the future. Returning to the foundational elements of AI architecture—the…
科技前沿
Hisense UR9 RGB MiniLED: An Affordable TV in Its Class
The brand’s UR9 competes with similar offerings from higher-end brands like Samsung and LG.
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.
AI 资讯
Are you ready for what it takes to stop ghost guns?
In the summer of 2024, former Army National Guard member Andrew Scott Hastings spent a sweaty afternoon carefully packing boxes with parts he made using his 3D printer. These weren't novelty figurines or replacement Ikea pieces. The boxes were instead filled with a handful of homemade firearm lower receivers and more than 100 "switches," small […]
AI 资讯
Google Is Suing Chinese Scammers Who Are Using Gemini
Not sure this will have any effect, but I support the effort: According to Google’s legal filing, Outsider Enterprise operates through Telegram. The group offers phishing-as-a-service to individuals who may not be technically savvy enough to set up fraudulent websites and text campaigns on their own. In its Telegram channels, Outsider Enterprise reportedly provided instructions on how to use Google’s Gemini AI to create websites that imitate those of Google, YouTube, and government agencies such as New York’s E-ZPass. The group offered nearly 300 scam templates...
创业投融资
Best Indoor Garden Systems: I've Been Testing All Year (2026)
Grow a backyard’s worth of greens and vegetables in your house with a vertical hydroponic garden. Here are a few that might be worth the investment.
产品设计
Nothing’s first B-series phone is also skipping the US
Nothing is shaking up the branding of its cheapest phones, following up last year's Phone 3A Lite with a new Phone 4B. Combining design elements of the 4A and 4A Pro, it follows Nothing's previous cheaper handsets in skipping the US market. The company already uses the "A" branding to market its cheaper tier of […]
AI 资讯
Nothing’s new earbuds can record calls and what you’re listening to
Nothing announced a new pair of budget-friendly wireless earbuds, but not as part of the company's affordability-focused sub-brand, CMF. The new Nothing Ear 3A are available starting today through the company's online store for $99, which is the same price as Nothing's original Ear (a). That's good news in a time when price increases are […]
科技前沿
People Used to Control Machines. They Don’t Anymore
In a world regulated by devices, humanity has become disconnected from the physical world—from stick-shift cars to postcards.
AI 资讯
Erling Haaland Is Everywhere at the World Cup. Most of It Is AI
Norwegian striker Erling Haaland isn’t just a footballer anymore. He’s become an internet character perpetuated by fans and AI.
AI 资讯
Pete Holmes Is Not Reading Your Email
“You can make a living, you can have a life, and leave 55,000 emails unread with a big fuck off.”
AI 资讯
Why worms (and microbes) are catching on as a manure pollution solution
Anthony Agueda, a third-generation California dairy farmer, pulls a rake through a bed of dark, wet wood chips on his family’s land in Hickman, a tiny town in the state’s agricultural heartland. He reaches down with both hands and pulls up a clump of muck, turning it over to reveal a half-dozen squirming red earthworms.…
AI 资讯
15 browser-based dev tools I use daily — no login, nothing uploaded
Like most developers, I have a handful of small utilities I reach for every day — formatting JSON, decoding a JWT, generating a UUID, testing a regex. For years I just googled "json formatter" and pasted my data into whatever site came up first. Then one day I caught myself pasting a production JWT into a random online parser that POSTs everything to its server. That felt bad. So I built my own toolbox that never sends data anywhere. It's called WeTool — free, no login, and every tool runs 100% in your browser . You can open DevTools → Network and confirm there are zero requests while you use it. Here are the 15 I use most: Everyday JSON formatter / validator URL encode / decode Base64 encode / decode Timestamp ↔ date converter Security & encoding Hash calculator (MD5 / SHA) JWT parser UUID generator QR code generator Text & format Regex tester Text diff Markdown preview SQL formatter Debugging Cron expression parser Color converter User-agent parser Two things that matter to me and might to you: Nothing is uploaded. No backend, no login, no tracking of what you type. Local-only. 15 languages. Most tool boxes are English-only; this one isn't. It's free and I'm actively adding tools — if something you use daily is missing, tell me in the comments and I'll add it. 👉 wetool.site
AI 资讯
How do you dedupe support tickets that don't share any words? Here's our messy attempt.
We build an internal helpdesk, and I want to talk through a problem we only partly solved — because I suspect a lot of you have hit it too, and I'd genuinely like to hear how you handled it. The most requested thing from our users was never "better ticket forms." It was "please make the duplicates stop." Here's the shape of it. A deploy goes slightly wrong at a 40-person company. Within ten minutes you have: a handful of chat messages : "login is broken", "can't get into dashboard???", "deploy looks weird" several error-tracker events (whatever you run — Sentry, Rollbar, an APM): TokenExpiredError ×2, a 401 spike on /api/auth , a 5xx spike on auth-svc a couple of emails to IT : "access token expired", "need login reset" Nine items across three channels. One root cause: token rotation broke in that deploy. Whoever's on rotation spends the morning proving that, instead of fixing anything. We wanted to automate the recognition step — "these are the same thing" — not the fixing step. This is the honest version: what we tried, the small thing we actually shipped, and the parts we haven't cracked. If you've built something similar, I'd love to be told what we got wrong. Attempt 1: rules and keywords (broke immediately) The obvious first cut: normalize ticket text, match on keywords and categories, merge on high overlap. It fails on the example above, and it fails structurally: "login is broken" and TokenExpiredError share zero tokens. The human on rotation isn't string-matching — they know a deploy just happened, they know what auth-svc does, they've seen this failure shape before. Rules encode none of that. Rule systems also rot. Every incident teaches you a new synonym for "it's down," and six months in you own a regex museum nobody wants to touch. Maybe you've kept one of these healthy long-term — if so I'd honestly like to know how. Attempt 2: embed everything, cluster by similarity (the one we didn't ship) The tempting next move: embed ticket text, cluster on cosine
AI 资讯
ZooData
The data layer for AI agents Discussion | Link
AI 资讯
British Space Startup Launches Longevity Lab Into Orbit
The lab will beam back data to train AI models to predict how proteins behind age-related diseases like Alzheimer’s and certain cancers behave.
开发者
State colocation is not a preference, it is an architecture
The first question I ask when reviewing a frontend architecture is: where does the state live relative to where it is used? In most codebases I have reviewed, the answer is "in a global store, regardless of scope." This is the wrong default. The rule State should live as close to its consumers as possible. If only one component needs it, it is component state. If a subtree needs it, it is a context or service scoped to that subtree. Global state is for truly global concerns: authentication, locale, theme.
AI 资讯
AbortController: The Async Cleanup Pattern You Keep Skipping
Most async code in frontend apps has a hidden bug: it doesn't stop when it should. A user navigates away mid-request. A component unmounts. A newer search query supersedes the previous one. The old network call keeps running, eventually resolves, and tries to update state that no longer exists. In React, that's the infamous warning: "Can't perform a React state update on an unmounted component." In vanilla JS, it silently delivers stale data. AbortController is the browser's built-in solution. It's been in every major browser since 2018 — old enough that there's no excuse not to use it. But most tutorials skip it, most codebases use it inconsistently, and most devs reach for it only after they've debugged a flicker one too many times. Here's the pattern, end to end. The race condition you already have function SearchResults ({ query }: { query : string }) { const [ results , setResults ] = useState < Result [] > ([]); useEffect (() => { fetch ( `/api/search?q= ${ query } ` ) . then ( r => r . json ()) . then ( data => setResults ( data )); // runs even if query changed }, [ query ]); return < ul > { results . map ( r => < li key = { r . id } > { r . name } </ li >) } </ ul >; } When the user types "re" and then "rea" before the first request finishes, two fetches are in flight simultaneously. The request for "re" might complete after the request for "rea" — and when it does, setResults silently overwrites the correct result with the stale one. The component shows the wrong data. No error, no warning, no clue. This is a race condition, not a hypothetical. It happens on slow networks, during fast typing, on underpowered devices, and in staging environments right before a demo. AbortController: the three-line fix An AbortController is a pair: a controller object and a signal. You pass the signal into any abort-aware API; you call abort() to cancel it. useEffect (() => { const controller = new AbortController (); fetch ( `/api/search?q= ${ query } ` , { signal : control
AI 资讯
Most Of Your "Nudges" Are Just Interruptions In Costume
In 2008, Richard Thaler and Cass Sunstein needed an example simple enough to explain the whole of economic theory from a single application. They used a cafeteria menu. By moving the fruit to eye level and sending the fries to the periphery, they demonstrated that a slightly adjusted environment could convince thousands of students to make healthier choices. No one is stopped from choosing fries and the fries-loving student still chooses fries. But the undecided student chooses the apple, simply because it is now right in front of him. In 2017, Thaler was awarded the Nobel Prize in Economics for his body of work, including the development of “The Nudge Theory” with Sunstein. In the years that followed, product teams building mobile applications have taken to referring to any call-to-action on-screen as a nudge. The design of an effective nudge There are two requirements for a nudge to work reliably. The user should have an apparent desire for the thing they are being nudged toward, and the nudge should appear at the moment when this desire is at its peak. The first requirement ensures the user has a mental model of the target action, meaning they understand roughly what they are supposed to do. The second requirement serves to remove any extraneous context, ensuring the nudge does not fail due to poor timing. A checkout confirmation modal shown straight after launching the application will fail miserably as a nudge. The desire to checkout is non-existent at the launch moment, and the context of the action has little to do with the action itself. A tooltip shown after a specific number of unsuccessful attempts to checkout after viewing the cart, however, is a nudge. It has the desired behavior and the right timing. Why the difference shows up in the numbers In the example with Duolingo, the product team has effectively used the framing of an existing streak as a reference point for the next level of engagement. The players who saw streak-based progress notifications