AI 资讯
Fix N+1 Trigger Patterns Where Lambda Functions Hammer the Same DynamoDB Partition Key
You add a sixth Lambda trigger to your OrderEvents table, deploy it, and within 20 minutes your SLA dashboard goes red. Latency on order writes jumps from 4ms to 40ms. The function itself is fine. The table is fine. The problem is that five other Lambdas are already hitting the same partition key on every write, and you just made it six. DynamoDB's internal partition throttling doesn't care that each function looks clean in isolation. This is an N+1 trigger problem, and your AI coding assistant cannot catch it. Not because it lacks intelligence, but because the fact that five Lambdas already target that table lives in your AWS account and your full codebase — not in the file your assistant has open. Infrawise · npm Why the LLM Can't See the Pattern When you ask Claude to write a new order processing Lambda, it reads the file you have open and generates code that looks correct — because in the context of that one file, it is correct. It doesn't know about ProcessRefundsLambda , NotifyFulfillmentLambda , SyncInventoryLambda , UpdateAnalyticsLambda , and AuditTrailLambda , all of which you wrote in previous sprints and which all write to the Orders table. This is a category of failure that model quality doesn't fix. A better model produces a more fluent explanation for why your latency spiked. The fact that five functions converge on the same table is a lookup, not a prediction. The source of truth is a combination of your code (which functions exist) and your infrastructure (what they access). Infrawise draws that boundary explicitly. It extracts the answer from your code using AST parsing and from your infrastructure using API calls, then hands that graph to the model as structured context — it never generates the answer. How Infrawise Traces Trigger Chains to the Same Table When Infrawise scans your repository, it uses ts-morph to walk every CallExpression in every source file. It's not searching for the string "DynamoDB" — it matches call structure against a known
AI 资讯
Ultimate Guide to System and Network Adminstration 🌐 🛠️
In a world completely powered by technology, have you ever wondered what actually keeps our digital lives from crashing down? Enter the unsung heroes: system and network administration . Think of an operating system like Windows or Linux as a computer's command center, orchestrating everything from the heavy-lifting CPU to the smallest plugged-in device. To keep your data safe and your machine stable, it cleverly splits its brain into two zones: a restricted "user mode" where your everyday apps play, and a highly secure, privileged "kernel mode" reserved strictly for critical system operations. When individual computers connect to form massive global networks, the complexity skyrockets. This comprehensive guide breaks down those complex environments into simple, bite-sized concepts. Here is a quick snapshot of what we will cover: Host & OS Administration : This module covers how an operating system functions as the primary intermediary between a user and a computer's raw physical hardware. It explains how the system kernel manages critical computing processes, memory allocation, local storage file systems, and administrative tasks like security patching and automated scripting. Networking Concepts, Topologies, and Protocols : This module explores how individual computer systems connect and communicate across localized or global distances. It details the structural design of network topologies, addressing rules like IPv4 and IPv6, and the standardized layer frameworks that ensure safe and efficient data transmission. 🏛️ Part 1: Operating Systems & Host Administration 🖥️ Computer Resources and Functions At its core, every computer system is a collection of physical machinery and digital structures working together to solve problems. To understand how an operating system manages these pieces, it helps to look at the foundational puzzle blocks of a computer. This section maps out the primary hardware and data elements the system has to control, alongside a simple breakd
AI 资讯
The Oracle and the Wolf: I Made Gemini Lose Like a Kid 🐺
This is a submission for the June Solstice Game Jam TL;DR Save the Sun is a kids' deduction game set on the eve of the June solstice: you race Sköll—the wolf who wants to eat the sun—to Sól's one true rune before he catches her and the longest day never dawns. Gemini does two jobs and the engine referees both: it reads the player's questions—typed, or spoken aloud and transcribed—as the Oracle, and it plays the wolf as Sköll. The engine owns the secret and never hands it to Gemini. Everything here is checkable: play a round · watch the demo · anchildress1/save-the-sun . What I Built Blame a board game 📞 The idea started with Dream Phone , a 90s deduction game I played as a kid—you dial pretend phone numbers and narrow down which boy has a secret crush on you. The catch: it needed 2-4 players and fell flat with two. So I rebuilt it as a two-player game à la Guess Who and gave the second seat to Sköll, an AI opponent to race. That became Save the Sun , a deduction race for players aged 8 to 12 against Sköll, the Norse wolf who wants to eat the sun. The story of Sól and Sköll comes straight out of Norse mythology and is one of my all-time favorites. Sól drives the sun-chariot across the sky, and Sköll chases her—every day, all day, forever—until Ragnarök, when he finally catches her and the sun goes out. The game drops you into the night before the solstice with the wolf a stride behind: get the true offering to Sól before he reaches her, or the dawn never comes. Teaching AI to lose 🧩 The hard part of a kids' deduction game is making the AI beatable without handing it the answer. The opponent never sees the secret: a deterministic engine holds it and referees every move, and Gemini only ever plays on top. Sköll's side was easy—he answers in structured JSON—but a loose human question has to be read into something the engine can resolve first, and that reading is the only job I gave the Oracle. Twenty-four runes, one short night 🌙 The round itself is small on purpose. Th
AI 资讯
Feature Flags at Scale: Designing a Distributed Control System for Production Behavior
The Counterintuitive Truth: Feature Flags Are Not Config Files Most engineers first encounter feature flags as a simple abstraction: a key-value lookup that returns true or false. That mental model works fine for a single service handling a few hundred requests per minute. It becomes actively dangerous at scale. A mature feature flag system isn't a config file with an API wrapper — it's a distributed control plane . The distinction matters architecturally. A control plane manages the real-time behavior of a running system across many nodes simultaneously, with its own consistency guarantees, failure semantics, and propagation latency. That's a fundamentally different design problem than reading a YAML file on startup. One constraint drives every downstream decision: user traffic must never block on a remote flag service call. If evaluation requires a synchronous RPC, you've coupled your request path to the availability and latency of an external system. Netflix's Archaius library enforces this by evaluating flags entirely in-process against a locally-cached configuration snapshot. A network round-trip per evaluation injects 10–50ms of tail latency at p99 — catastrophic when you're competing on streaming start times measured in hundreds of milliseconds. Google, Meta, and Netflix collectively evaluate flags against millions of requests per second with sub-millisecond overhead. That figure is only achievable through local evaluation backed by an async synchronization layer, not RPC. The other failure mode engineers underestimate is flag sprawl . Systems accumulate flags the way codebases accumulate dead functions — gradually, then all at once. I've seen services carrying thousands of flags where fewer than 10% were actively managed. The operational weight alone becomes a liability: which flags are safe to remove? Which ones are kill switches for production behavior that no one documented? Knight Capital's $440M loss in 45 minutes in 2012 remains the canonical cautionar
AI 资讯
🌍🚀 Project Showcase: Carbon Footprint Tracker
🌍🚀 Project Showcase: Carbon Footprint Tracker I'm excited to share one of my recent projects — a Carbon Footprint Tracker designed to help users better understand their environmental impact and encourage more sustainable lifestyle choices. As developers, we have the opportunity to build technology that not only solves problems but also creates awareness about important global challenges. This project was a great experience in combining technology, user experience, and sustainability into a single application. ✨ Key Features: • Carbon footprint calculation system • Clean and intuitive user interface • Responsive design for all devices • Real-time user interaction • Environmental awareness focused experience • Modern frontend architecture 🛠️ Technologies Used: • React • JavaScript • HTML5 • CSS3 • Git & GitHub 💡 What I Learned: • Building interactive user interfaces • State management and user input handling • Creating responsive layouts • Writing cleaner and more maintainable code • Designing applications around real-world problems 🔗 GitHub Repository: https://github.com/Prem759-0/Challenge-3-Carbon-Footprint 🔗 Live Demo: https://challenge-3-carbon-footprint.vercel.app/ I am continuously improving my skills through hands-on projects and exploring how technology can create meaningful impact. Every project teaches me something new and pushes me one step closer toward becoming a professional Full-Stack Developer. Feedback and suggestions are always welcome! 🙌
开发者
Epic is working on a 'ground-up rebuild' of its launcher that will be 5x faster
Launcher V2 will go through a private beta before a public release.
开发者
You probably don't need event-driven architecture
submitted by /u/ukanwat [link] [留言]
开发者
Nobel laureate John Jumper is leaving DeepMind for rival Anthropic
Jumper isn't the only big name leaving Google DeepMind.
AI 资讯
5 Cookie Tricks for Debugging Auth Issues in Chrome (No More Creating Test Accounts)
Debugging authentication in web apps is painful. You need to test the same flow as five different user types — new visitor, returning user, admin, expired session, logged-out — and the easiest way is to constantly create new accounts or clear all your cookies and start over. There's a faster way. These five techniques use direct cookie manipulation to simulate any auth state without touching your database or creating dummy accounts. I use CookieJar for most of this — a free Chrome extension built natively on MV3 that gives you a proper UI for cookie editing. But I'll show you the underlying Chrome DevTools method too, so you understand what's actually happening. 1. Simulate a Logged-Out State Without Clearing Everything The naive approach: clear all cookies and reload. The problem: you just nuked your dev server session token, your local storage flags, your Stripe test mode cookie, and everything else you carefully set up. The targeted approach : identify and delete only the session/auth cookie. Most session cookies are named session , sid , auth_token , _session_id , or something close. In DevTools: Application → Cookies → [your domain] → find the session cookie → right-click → Delete With CookieJar: open the extension, search session , click the trash icon next to just that cookie. Your dev environment stays intact. The user state resets to logged-out. 2. Test the "Returning User" vs "New User" Path Without a Second Account Session cookies tell the server you're authenticated. But many apps use separate cookies to track whether a user has seen the onboarding flow, completed setup, or visited before. Look for cookies like onboarding_complete , setup_done , first_visit , or custom flags in your app code. To test the new user experience: Export your current cookies (CookieJar → Export → JSON format, or copy from DevTools) Delete the specific onboarding/first-visit flag cookie Reload and test the new user path Re-import or re-set the cookie to restore your state This
产品设计
Build a Bytecode VM (in Sema)
submitted by /u/TheHelgeSverre [link] [留言]
AI 资讯
Venture capital
Il venture capital con progetti a 4-5 anni incarna perfettamente la tensione tra la teoria di Manso e la filosofia di Taleb. È un orizzonte temporale che suona contro-intuitivo: troppo lungo per la logica del "fail fast" da incubatore, troppo corto per la pazienza della ricerca fondamentale. Eppure è proprio qui che si gioca la partita dell'innovazione dirompente. Il problema strutturale I fondi VC operano tipicamente su cicli di 10 anni. Un progetto a 4-5 anni occupa il cuore del fondo: non è un esperimento rapido da liquidare, ma nemmeno un investimento da tenere per un'intera generazione. Manso ci dice che il contratto ottimale per l'innovazione richiede tolleranza nel breve termine e ricompensa nel lungo. Ma cosa significa "breve" e "lungo" quando il progetto stesso dura 4-5 anni? Qui emerge un paradosso. Il VC tollerante — quello che Manso celebrerebbe — potrebbe essere tentato di mantenere vivo un progetto che sta fallendo, perché il fallimento prematurato distruggerebbe il valore dell'opzione. Ma Taleb ci avverte: l'antifragilità non è la persistenza a oltranza, è la capacità di trarre beneficio dallo stress. Un progetto che assorbe risorse per 5 anni senza generare informazioni utili non è antifragile: è semplicemente costoso. La soluzione di Manso: il contratto come orologio Per Manso, la risposta sta nella struttura contrattuale. Il contratto ottimale per un progetto a 4-5 anni non è lineare: non è un flusso costante di finanziamento legato a milestone arbitrarie. È qualcosa di più sofisticato. Il principale (il VC) deve commettere a un livello di finanziamento iniziale che copra la fase esplorativa — i primi 12-18 mesi — senza richiedere risultati misurabili. Questa è la fase di "tolleranza eccezionale per il fallimento" di cui parlava Holmström. Poi, a intervalli predeterminati, il VC ha l'opzione — non l'obbligo — di continuare. Ma la soglia di abbandono deve essere più bassa del livello ottimale ex-post. In altre parole: il VC deve essere disposto a co
AI 资讯
Claude Guillemot, one of Ubisoft's co-founders, has died in a plane crash
The crash reportedly happened on an airstrip near the western coast of France on June 19.
AI 资讯
Contro il Jobs Act e il merito liquido
Gustavo Manso (Haas School of Business, UC Berkeley) e Nassim Taleb affrontano entrambi il problema centrale dell'innovazione, ma da angolazioni complementari: Manso con la precisione del contratto ottimale, Taleb con la filosofia dell'antifragilità . Entrambi convergono su un'idea contro-intuitiva: per generare innovazione dirompente, bisogna proteggere il fallimento. Manso: Il contratto come strumento di tolleranza Il lavoro di Manso si concentra sui meccanismi di incentivazione che rendono l'innovazione possibile all'interno delle organizzazioni. La sua ricerca fondamentale (2011) modella esplicitamente il trade-off tra exploration (esplorazione di azioni nuove e non testate) e exploitation (sfruttamento di azioni note). Manso dimostra che i contratti ottimali per motivare l'innovazione richiedono una combinazione specifica: tolleranza per i fallimenti nel breve termine e ricompensa per il successo nel lungo termine . Questo è l'esatto opposto del classico "pay-for-performance" (paga in base alle prestazioni), che funziona bene per compiti routine ma soffoca l'innovazione. Come ha osservato Bengt Holmström (1989), citato da Manso, le attività innovative "richiedono una tolleranza eccezionale per il fallimento" perché il processo è imprevedibile e idiosincratico. Uno studio empirico fondamentale — che applica direttamente la teoria di Manso al venture capital — ha mostrato che i VC più tolleranti verso il fallimento generano startup significativamente più innovative. Un aumento dell'1% nella tolleranza al fallimento del VC porta a un aumento dello 0,5% nelle citazioni per brevetto. L'effetto è amplificato nelle recessioni e per le startup in fase iniziale. Manso ha anche esteso questa logica al finanziamento della ricerca scientifica, mostrando come la struttura dei fondi influenzi gli studi dirompenti. La sua analisi suggerisce che le leggi del lavoro che proteggono i dipendenti dal licenziamento arbitrario — attraverso quello che gli studiosi chiamano "effetto a
AI 资讯
Three Ideas Made Modern AI Possible. None of Them Are Magic.
Modern AI looks like magic from the outside. You type a sentence and a machine writes back something coherent, finishes your function, or turns a paragraph into Japanese. It's tempting to assume something exotic is happening in there. It isn't. The architecture behind almost every model you've heard of rests on a handful of plain engineering fixes, each one invented to get around a specific, annoying problem. No single genius moment, no secret sauce. Just people noticing their networks were broken and patching them. This is the story of three of those patches. If you can read a stack trace, you can follow all three. The wall everyone hit Around 2014, the recipe for a smarter neural network seemed obvious: make it deeper. More layers meant more capacity, which should have meant better results. Except past a certain point it stopped working. Deeper networks got worse , and not in the way you'd guess. The tell was the training error. A 56-layer network did worse on the very data it was being trained on than a 20-layer one. That rules out the usual suspect, overfitting, because the deep network couldn't even memorize the answers in front of it. The problem wasn't capacity. The network just couldn't be trained. Two things were going wrong. The error signal that teaches each layer (the gradient) has to travel backward through every layer to reach the early ones. Push a number through dozens of layers and it tends to either shrink to nothing or blow up, so the early layers got almost no usable feedback. And even when you wrestled the signal into shape, the optimization itself got harder the deeper you went. So depth, the thing that was supposed to make networks powerful, was the thing breaking them. Here's how three ideas knocked that wall down. Idea one: give the signal a shortcut The first fix is almost insultingly simple. Instead of forcing every layer to transform its input, you let the input skip ahead and get added back in later. Picture a block of layers that takes
AI 资讯
Three Ideas Made Modern AI Possible. None of Them Are Magic.
Modern AI looks like magic from the outside. You type a sentence and a machine writes back something coherent, finishes your function, or turns a paragraph into Japanese. It's tempting to assume something exotic is happening in there. It isn't. The architecture behind almost every model you've heard of rests on a handful of plain engineering fixes, each one invented to get around a specific, annoying problem. No single genius moment, no secret sauce. Just people noticing their networks were broken and patching them. This is the story of three of those patches. If you can read a stack trace, you can follow all three. The wall everyone hit Around 2014, the recipe for a smarter neural network seemed obvious: make it deeper. More layers meant more capacity, which should have meant better results. Except past a certain point it stopped working. Deeper networks got worse , and not in the way you'd guess. The tell was the training error. A 56-layer network did worse on the very data it was being trained on than a 20-layer one. That rules out the usual suspect, overfitting, because the deep network couldn't even memorize the answers in front of it. The problem wasn't capacity. The network just couldn't be trained. Two things were going wrong. The error signal that teaches each layer (the gradient) has to travel backward through every layer to reach the early ones. Push a number through dozens of layers and it tends to either shrink to nothing or blow up, so the early layers got almost no usable feedback. And even when you wrestled the signal into shape, the optimization itself got harder the deeper you went. So depth, the thing that was supposed to make networks powerful, was the thing breaking them. Here's how three ideas knocked that wall down. Idea one: give the signal a shortcut The first fix is almost insultingly simple. Instead of forcing every layer to transform its input, you let the input skip ahead and get added back in later. Picture a block of layers that takes
AI 资讯
Musician and YouTuber Hainbach on ‘Breath of the Wild’ and Swiss Army Knives
Stefan Paul Goetsch, better known as Hainbach, is a German experimental composer, artist, and YouTuber who is perhaps most famous for making music with laboratory equipment and scientific instruments. He describes it as being like the "Dark Souls of synthesis." Despite using "hard mode" production techniques that often rely on telephone line testing equipment and […]
AI 资讯
while Loop, break & continue, Lists (Creation, Mutability, Methods, List Comprehension)
📌 Key Concepts Overview Concept One-Line Definition while loop Repeats code as long as a condition is True while True Infinite loop — needs break to stop break Immediately exits the loop continue Skips current iteration, moves to next List Ordered, mutable collection — heterogeneous elements allowed List Comprehension One-line way to build a list using a loop + condition List Mutability Lists can be changed in place — id() stays the same 🔁 Part 1 — while Loop The 3 Components (Critical Pattern) # 1. Initialisation 2. Condition 3. Increment/Decrement a = 1 # 1. Initialisation while a <= 10 : # 2. Condition print ( ' Devops ' ) a += 1 # 3. Increment # Without increment → INFINITE LOOP (condition never becomes False) How it works: Condition is checked before each iteration. As soon as it's False , the loop stops. Miss the increment/decrement → infinite loop (a real production hazard — can hang a script or burn CPU). while — Practical Patterns # Countdown (decrement) a = 10 while a > 0 : print ( ' Devops ' ) a -= 1 # Sum of 1 to 20 total = 0 a = 1 while a <= 20 : total += a a += 1 print ( total ) # 210 # Product (factorial-style) of 1 to 20 product = 1 a = 1 while a <= 20 : product *= a a += 1 print ( product ) # Pattern using while + string repetition str1 = ' Devops ' i = 0 while i < len ( str1 ): print ( str1 [ i ] * ( i + 1 )) i += 1 # D # ee # vvv # oooo # ppppp # ssssss for vs while — When to Use Which Use for Use while You know the iterable / number of repetitions You don't know how many times — depends on a condition Looping over list, string, range Retry logic, polling, waiting for a state # DevOps: retry logic — classic while True use case max_attempts = 5 attempt = 0 while attempt < max_attempts : print ( f ' Attempt { attempt + 1 } : Connecting to server... ' ) # if connection succeeds: break attempt += 1 while True — Infinite Loop Pattern # Always True — runs forever until break is hit # Used for: retry logic, polling, menu-driven scripts, password validati
AI 资讯
La biblioteca di Borges:digitale.
La biblioteca di Babele di Borges è diventata un'ossessione o metafora potente per pensare l'intelligenza artificiale contemporanea. Il racconto del 1941 descrive una biblioteca infinita composta da gallerie esagonali, dove ogni libro contiene ogni possibile combinazione di 25 simboli ortografici. In essa risiede "la minuta storia del futuro, le autobiografie degli arcangeli, il catalogo fedele della Biblioteca, migliaia e migliaia di cataloghi falsi, la dimostrazione della fallacia di questi cataloghi, la dimostrazione della fallacia del catalogo vero" — eppure la stragrande maggioranza dei volumi è pura cacofonia senza senso. Questo scenario anticipa con precisione inquietante il problema fondamentale dei Large Language Models (LLM). Come ha notato Léon Bottou, il modello linguistico perfetto permette di navigare una collezione infinita di testi plausibili semplicemente digitando le prime parole, ma "nulla distingue il vero dal falso, l'utile dall'ingannevole, il giusto dallo sbagliato". La risposta di ChatGPT o di un altro modello generativo è, in un certo senso, un libro estratto a caso dalla Biblioteca di Babele: statisticamente plausibile, grammaticalmente corretta, ma non necessariamente ancorata a una verità esterna. Jonathan Basile, creatore del sito libraryofbabel.info , ha esplicitamente distinto la sua creazione dall'intelligenza artificiale: "Babele è tutta espressione nella sua forma più irrazionale e decontestualizzata; preferisco pensarla come unintelligenza artificiale".Eppure, paradossalmente, l'IA contemporanea ci ha portato più vicini che mai a realizzare la Biblioteca di Babele: non più un universo fisico di libri, ma un universo digitale di testi generati all'istante, dove la verità è circondata da infinite variazioni di falsità. La lezione di Borges è duplice. Da un lato, l'IA come strumento di navigazione: usare il Natural Language Processing per estrarre parole inglesi dal "gibberish" della Biblioteca, come dimostra la funzione "Anglishize"
AI 资讯
🚀 I Built DG Encoder — A Free Cloudflare Worker API for Storing Secrets, Webhooks, and Dynamic Configurations
As developers, we often need to store webhook URLs, service endpoints, configuration strings, and other values that we don't want exposed directly in frontend code. Most solutions either require setting up a backend, paying for a service, or managing API keys. API URL (Generate your endpoint here): https://dg-encoder.scriptsnsenses.workers.dev/ So I built DG Encoder . A completely free , no-API-key service powered by Cloudflare Workers that lets developers store and retrieve text-based data through simple endpoints. ✨ What is DG Encoder? DG Encoder is a lightweight API that allows you to: Store any text value Receive a unique ID Retrieve the value later through an endpoint Restrict access to specific domains Edit stored entries Delete stored entries Use the service without API keys Use the service completely free 💸 Free Forever One of the main goals of DG Encoder is simplicity. There are: ✅ No API keys ✅ No signup requirements ✅ No subscriptions ✅ No paid plans ✅ No complicated setup Just open the website, encode your value, and start using it. 🔥 Why I Built It While building web applications, I noticed that many developers need a simple way to hide values from frontend code without setting up a full backend system. Common examples include: Discord webhooks Dynamic configuration values Service endpoints Internal URLs Integration strings DG Encoder provides a quick solution by storing those values behind randomly generated IDs. Your application only needs the generated ID instead of the original value. ⚡ Key Features Encode Anything Store any string and receive a unique identifier. { "id" : "abc123xyz" } Domain Restrictions Limit which websites can access a stored value. For example: example.com myapp.pages.dev Only approved domains can successfully use the decode endpoint. Edit Existing Entries Need to replace a webhook or endpoint? Update the stored value without generating a new ID. Delete Entries Remove data whenever it is no longer needed. No API Key Required De
开发者
Don't conflate 'Minimal' with Minimal Effort
submitted by /u/Comfortable-Rock-498 [link] [留言]