科技前沿
How engineered microbes could help feed the world’s crops
Fertilizer is crucial for the global food supply, but making it uses a lot of energy and produces a lot of emissions. Some companies hope microbes can help. A growing body of research shows that seeding the soil around a crop’s roots with beneficial microbes can help feed the plant, providing crucial nitrogen to help…
AI 资讯
Are HMMs still used for unsupervised tasks? [D]
I'm exploring Hidden Markov Models (HMMs) as a baseline method for "dataset exploration/discovery" where I have a bunch of unstructured data with no annotations, and wish to gain insights about the structure and semantics of the data within. I was wondering if there are more modern (deep learning based or otherwise) approaches which have completely superseded HMMs for such tasks. submitted by /u/fullgoopy_alchemist [link] [留言]
AI 资讯
Why My React App Still Runs on Singleton Classes
React spent the last decade training developers that a class is a code smell. Class components got deprecated, hooks won, and "just write a function" became the default advice for almost everything. That advice runs into a wall the moment a piece of code has to run outside a component: an HTTP interceptor, an event listener, a background task, a deep-link handler. None of those have a render tree to sit inside, which means none of them can call a hook. That's not a style opinion. It's a hard constraint. It's also the reason core pieces of infrastructure in most non-trivial React codebases — auth tokens, feature flags, routing rules, device identity, analytics — end up as classes, usually singletons, imported directly instead of consumed through a hook or a context provider. The render-tree boundary problem A hook only exists while its component exists. useState allocates memory tied to a place in React's tree; the moment that component unmounts, the state is gone, and before it mounts, the state isn't reachable at all. That's fine for almost everything a component owns. It stops being fine the moment something outside the tree needs the same piece of state. Authentication is the clearest version of this. A typical setup keeps the access token in a hook, refreshed on a timer, exposed to whatever component needs it: export const useSessionTokens = (): UseSessionTokens => { const [ tokens , setTokens ] = React . useState < AuthTokens | null > ( null ); const refreshAccessToken = async () => { if ( ! tokens ?. refreshToken ) return ; const newTokens = await refreshAndSetTokens ({ refreshToken : tokens . refreshToken }); setTokens ( newTokens ); return newTokens ; }; // ... return { tokens , refreshAccessToken , /* ... */ }; }; Perfectly normal hook. The problem shows up one layer down: an HTTP client's request interceptor is a plain function, registered once at app boot, running completely outside React's render tree. It can't call useSessionTokens() — it isn't a compon
AI 资讯
Agents or a proxy: the access-control decision you make before you compare any features
Disclosure: I work on Tessera, which is one of the proxy-shaped tools. Both shapes are legitimate and I try to be fair to the other one below. Most comparisons of access-control tools start with feature tables. That is the wrong end. The decision that actually determines whether a rollout finishes is the deployment shape, and there are only two. Shape one: agents and certificates You run an internal certificate authority. Hosts are configured to trust it. Users get certificates that expire in a few hours. For Kubernetes, an agent runs inside the cluster and brokers access from there. What this buys you is genuinely good. Expiry does revocation automatically, which removes the human step that fails. The credential on the user's laptop is worthless tomorrow. The model scales well because the CA does not sit in the data path — once the certificate is issued, the user talks to the target directly, so there is no proxy to size and no bandwidth to plan. What it costs is that you have to change production before you get anything. sshd_config gets rewritten across the estate to add TrustedUserCAKeys . An agent gets deployed into every cluster. In some setups the tool's binary is copied onto hosts. None of that is technically hard. It is organisationally hard. You need a change window, sign-off from whoever owns those hosts, and a rollback plan — for a project whose entire benefit is "nothing bad will happen later". That conversation is where access-control rollouts stall, and it stalls most reliably in exactly the organisations that need the tool most: the ones where nobody is quite sure who owns which box. The other cost is that the CA private key becomes the most sensitive object your company owns, and now you operate a CA. Shape two: a proxy The credential stays on a controller. The user authenticates to the controller. The controller opens its own connection to the target, authenticates with the real credential, and relays. The target sees a normal connection from a nor
开发者
The Stack Nobody Picks Might Be the One That Picks You
Nobody chooses .NET. Not as a student, at least. You hear "backend" and the room splits into Spring...
AI 资讯
What happens to technical debt when AI makes code cheap?
Dear past Jenna, I know you're used to dealing with large, complex, legacy codebases riddled with...
AI 资讯
My Mac Is Useless for Local AI. My Windows Laptop Isn't.
I own two laptops. A 2020 Intel MacBook Air, 8GB RAM, no unified memory, gifted by my sister. And a...
科技前沿
Magna increases bet on battery swapping in India with $35M for Yuma
Magna's investment in Yuma Energy has reached $87 million as the Canadian auto supplier increases its majority stake in the Indian battery-swapping firm.
AI 资讯
I Built 50+ AI Products in 4 Years — Here's What I Wish I Knew at the Start
Since 2021, our team at Autor has shipped over 50 AI products across healthcare, fintech, logistics, and SaaS. Some of them are running in production right now, handling thousands of automated calls per month. Others failed spectacularly — and those are the ones that taught us the most. Where This Comes From I started Autor in Toronto as a one-person AI development shop. The original thesis was simple: companies needed custom AI but couldn't hire fast enough to build it themselves. Four years and 50+ products later, we're a senior-only studio with a production voice AI platform (Loquent) serving healthcare and dental clients 24/7. Along the way, we've impacted over 5 million users, helped clients raise more than $10 million in funding, and shipped across 10+ countries. This isn't a highlight reel. This is the unvarnished list of things I got wrong, figured out the hard way, or wish someone had told me before I wrote my first line of production AI code. 1. Your First AI Product Should Be Boring Our first few products were ambitious. Multi-modal pipelines, complex reasoning chains, novel architectures. Most of them took twice as long as estimated and required constant babysitting in production. The products that actually made money and kept clients happy? A straightforward document classifier. A simple intent router. A basic FAQ bot with good fallback logic. I used to think "boring" meant "not innovative." Now I know boring means "reliable enough that I don't get paged at 3am." Our most successful product, Loquent, handles healthcare scheduling calls. It's not doing anything architecturally exotic. It picks up the phone, understands what the caller needs, books or reschedules an appointment, and hangs up. The magic isn't in the model — it's in the 200+ edge cases we've handled around it. If you're building your first AI product, pick the most boring version of your idea and ship that. You can add complexity later. You cannot add reliability later. 2. Prompt Engineerin
AI 资讯
Domain-Driven Design for Microservices: Building Scalable Systems with Clear Domain Boundaries
Domain-Driven Design for Microservices: Building Scalable Systems with Clear Domain Boundaries Introduction Domain-Driven Design (DDD) isn't just another architecture pattern—it's a philosophy that aligns technical decisions with business reality. When building microservices at scale, DDD becomes essential. Without it, you end up with services that don't respect business domains, unclear responsibilities, and integration nightmares. Why DDD Matters for Microservices Microservices force you to make decisions about boundaries. The question isn't whether you'll decompose your system—it's whether you'll do it thoughtfully using DDD principles, or accidentally create distributed monoliths. DDD answers three critical questions: Where should a service boundary exist? (Bounded Contexts) How do we communicate across services without coupling? (Domain Events, Anti-Corruption Layers) How do distributed teams understand the same problem? (Ubiquitous Language) Core Concept 1: Bounded Contexts A Bounded Context is a boundary within which a domain model is applicable. Each microservice should typically map to one or more Bounded Contexts. Java Example: E-commerce System // Ordering Context - Bounded Context 1 public class Order { private String orderId ; private List < OrderLineItem > lineItems ; private OrderStatus status ; // PENDING, CONFIRMED, SHIPPED, DELIVERED private LocalDateTime createdAt ; public void confirmOrder () { if ( this . status != OrderStatus . PENDING ) { throw new InvalidOrderStatusException ( "Cannot confirm non-pending order" ); } this . status = OrderStatus . CONFIRMED ; } } // Inventory Context - Bounded Context 2 public class InventoryItem { private String skuId ; private Integer availableQuantity ; private Integer reservedQuantity ; public void reserveStock ( Integer quantity ) { if ( availableQuantity < quantity ) { throw new InsufficientStockException ( "Not enough stock to reserve" ); } this . reservedQuantity += quantity ; this . availableQuantity -
AI 资讯
AWS Lambda vs. Traditional Servers: When Serverless Actually Makes Sense
AWS Lambda vs. Traditional Servers : When Serverless Actually Makes Sense "Serverless" is one of the more misleading names in cloud computing — there are still servers, you just don't manage them directly. AWS Lambda lets you run code in response to events without provisioning or maintaining a server yourself, and it genuinely changes how certain kinds of applications get built. But it's not a universal replacement for traditional servers, and understanding exactly where each one wins is more useful than treating this as "the new way vs. the old way." What Actually Changes With Lambda A traditional server — whether it's a physical machine, a VM, or a container running continuously — is always on, always consuming resources, and always your responsibility to patch, scale, and monitor, whether or not it's actively doing anything useful at a given moment. AWS Lambda flips this model: your code runs only in response to a specific trigger (an HTTP request, a file upload, a scheduled event), runs for as long as it takes to complete, and then stops. You're not paying for idle time, and you're not managing an operating system, patching, or server-level scaling — AWS handles all of that underneath the function itself. Where Lambda Genuinely Wins Event-driven, intermittent workloads — a function that runs occasionally in response to specific events (a file upload triggering image processing, a scheduled nightly job) is often dramatically cheaper on Lambda than paying for a server that sits idle most of the time Automatic scaling with zero configuration — Lambda scales from zero to many concurrent executions automatically, without you provisioning capacity in advance Reduced operational overhead — no patching an operating system, no managing server-level security updates, no capacity planning for a specific function Fast setup for simple, isolated tasks — a single-purpose function can go from idea to deployed in a genuinely short amount of time Where Traditional Servers Still
AI 资讯
Semantic caching isn't a cost-saving hack. It's an admission that most "AI features" are FAQ bots in disguise.
Intro There's a pitch behind every new AI-powered feature: it understands anything a user...
AI 资讯
Keep Your Heart Rate to Yourself: Building Privacy-First Fitness AI with Federated Learning
In the era of hyper-personalized fitness, data is the new "pre-workout." We want our smartwatches to tell us exactly how many calories we burned, but there’s a massive catch: Privacy . Giving a centralized cloud server access to every heartbeat, GPS coordinate, and sleep cycle feels increasingly like a security nightmare. This is where Federated Learning and Edge AI come to the rescue. Instead of sending your raw data to the cloud, we send the model to your device, train it locally, and only share the encrypted mathematical updates. In this tutorial, we will build a collaborative fitness model using Flower (flwr) and PySyft to predict calorie expenditure across a community of users without a single byte of raw heart rate data ever leaving their phones. Why Decentralized Machine Learning? 🥑 Before we dive into the code, let's look at the "Why." Standard machine learning requires a data lake. Federated Learning (FL) enables Privacy-Preserving AI by keeping data siloed on the edge. This is crucial for HIPAA compliance and building trust in community-driven health apps. The Architecture: Federated Optimization Loop Here is how the data flows in our group fitness ecosystem. Notice that the "Server" only sees weight updates, never the raw heart rate logs. sequenceDiagram participant S as Aggregation Server participant C1 as User A (Edge Device) participant C2 as User B (Edge Device) Note over S: Global Model Initialized S->>C1: Send Initial Model Weights S->>C2: Send Initial Model Weights Note over C1: Train on Local HR Data Note over C2: Train on Local HR Data C1->>S: Send Local Gradient Updates C2->>S: Send Local Gradient Updates Note over S: FedAvg Algorithm (Aggregating Weights) S->>C1: Send Updated Global Model S->>C2: Send Updated Global Model Prerequisites 🛠️ To follow this advanced guide, you'll need: Python 3.9+ Flower (flwr) : For federated orchestration. NumPy : For local data processing. PySyft : For differential privacy concepts. pip install flwr numpy Step 1
AI 资讯
Lachy Groom backs Indian startup aiming to keep aircraft aloft for a year
Founded by a 20-year-old, Alteon is developing autonomous aircraft that hopes to harvest wind energy to stay aloft for several months.
AI 资讯
Mercury rejected you. Here is the math behind it, and what to do next
The email arrives. "Mercury will not be able to support your business at this time. We will not be able to provide additional details about this decision." You spend the next two weeks building an appeal: residence permit, business plan, tax registration, customer contracts, the whole file. You attach a polite cover letter explaining that you are not in Russia, not a sanctioned individual, fully compliant. Mercury either does not respond or sends the same boilerplate back. By week three you have decided you did something wrong, that your business is somehow tainted, that you will never get a US bank account. None of that is true. The reject was a system response, and once you can see the arithmetic driving it, the next move gets obvious and the spiral stops. The math behind an auto-decline OFAC violation penalties start at roughly $1 million per transaction. The annual revenue from a single diaspora-founder account at Mercury sits somewhere between $50 and $500. On top of that sits reputational risk: one Bloomberg story about "the fintech serving sanctioned Russians" damages the next funding round, strains banking partner relationships, and invites regulatory attention. Run those numbers and an auto-decline on an RU or BY passport signal becomes the rational move for the fintech, even when the overwhelming majority of flagged applications are perfectly legal. The downside of a single miss outweighs the upside of correctly clearing every legal applicant. What you are looking at is a company optimising against an asymmetry: maximum downside, minimal upside, per application. There is no judgement of you anywhere in that calculation. How the decline actually happens A KYC submission includes a passport scan, residence permit, and business documents. The decisioning system flags an RU or BY passport regardless of where you live, how the company is structured, or where the revenue comes from. Human review exists, but it triggers only when the signal-to-noise ratio is exce
AI 资讯
Polymarket reportedly raises $300 million from Donald Trump Jr.’s investment fund
The firm, 1789 Capital, led the funding round that reportedly will total around $1 billion.
科技前沿
The Bentley Supersports: A stripped-out engineer's indulgence
It's the lightest Bentley in 85 years.
AI 资讯
The Google TV Streamer now costs $50 more
Google raised the price of its 4K streaming box to $149, up $50 from its original $99 price. The new price is currently live at the Google Store and Best Buy, but Amazon appears to still be offering the original price. The price hike comes just a couple of weeks after Google launched its new […]
科技前沿
The Best Labor Day Mattress Deals on Beds We’ve Tried in Our Homes
It’s one of the best times of the year to buy a mattress, and our top tested picks are on sale.
AI 资讯
Badger: An E-Ink Badge I Use For Conferences
I attend conferences regularly, and for years I’ve wanted a badge that makes it easy for people to find me online. In 2019, I attended defcon and built defpi , a goofy raspberry pi powered badge. While that was fun I wanted a bit more turnkey and I found just what I wanted with a Badgeware Badger (nerdy domain hack badgewa.re). Since my use case is to just have my socials via QR I chose the e-ink version as it made the most sense. So what does the Badger come equipped with? RP2350 WiFi 1000mAh battery USB-C MicroPython I might not be the biggest Python fan but in the age of AI does it matter? I just ask Codex to help me get the desired outcome I'm looking for! So Codex and I cooked a few hundred lines of Python and boom my profiles are only a QR code scan away. Let's take a look at my default badge screen in all its glory. Social screen. All in all it's pretty simple, get you to either my LinkedIn or my personal site . The crazy thing is the simulator lets me test the code before I deploy it to the badge. make sim and I'm able to test it locally. Then a simple make deploy while the badge is connected and it deploys it all. You can check out the code repo if you wanna steal slopfork my setup. Hacksore / badger Badger 2350 badge Personal Badgeware app for the Badger 2350. Requirements: macOS, uv , Git, and a data-capable USB-C cable. Run make to see the three available commands. Simulator make sim The first run clones and builds Badgeware Desktop beside this repo. Later runs reuse that build, stage the current app in an isolated filesystem, and launch it at the Badger's 264×176 resolution. Simulator controls: Space : Button B; flip between the badge and social/QR screens ↑ / ↓ : change the background pattern ← / → : Buttons A and C Esc : hot reload Deploy the app Connect the Badger over USB-C. Double-tap RESET . Wait for the BADGER drive to appear. Run: make deploy The command validates the app, copies its Python and image files into /apps/badge , safely ejects the dr