今日已更新 317 条资讯 | 累计 28221 条内容
关于我们

今日精选

HOT

最新资讯

共 28221 篇
第 75/1412 页
AI 资讯 Dev.to

Building an AI lineup optimizer for a Discord esports bot (the algorithm, not the hype)

Every esports team captain has done this by hand at least once: open Discord, scroll through a dozen "I can play Thursday after 8" messages, cross-reference them against who plays Tank versus DPS, remember that one of your DPS is actually a sub, and try to assemble a starting five that can actually scrim tonight. It takes fifteen minutes, you get it slightly wrong, and you do it again the next day. I build Supatimer , a free Discord bot for competitive gaming teams, and "generate the lineup for me" was the single most requested feature. This post is about how the lineup optimizer actually works, why it is genuinely AI (and not in the marketing sense), and where a large language model fits in versus where it absolutely does not. "AI" is doing a lot of work in this industry Half the Discord bots on the market slapped "AI" on their landing page the week ChatGPT launched. Usually it means there is a chatbot command somewhere that proxies to an LLM. That is fine, but it is not what your team needs when it is 7:45pm and you have a scrim at 8. There are two honest definitions of AI worth separating: Search and optimization - the classical branch. Constraint satisfaction, combinatorial optimization, planning. This is the part of AI that solves "given these rules and these resources, find the best valid arrangement." Machine learning / LLMs - the statistical branch. Pattern recognition, generation, extraction from unstructured text. The lineup problem is squarely a problem for the first kind. So that is what I built first. The lineup problem, stated precisely Strip away the gaming context and a lineup is a constrained assignment problem: You have N players , each with a set of roles they can fill (Tank, DPS, Support, IGL, and so on). Each player has an availability signal for a given time block (available, maybe, unavailable). Each player has a roster status (starter, substitute, trial). The game defines a required composition : Overwatch 2 wants 1 Tank, 2 DPS, 2 Support. Va

Raven 2026-08-01 05:32 3 原文
AI 资讯 Dev.to

Kiro em todo lugar!

Usar IA no dia a dia não é nenhuma novidade, e praticamente TODO O MUNDO já sabe disso. E hoje temos diversos "sabores" de IA, inclusive para todos os gostos, e escolher um só é difícil, porque cada um tem seu molho especial em alguma tarefa específica. Eu, como não é novidade, acabei adotando como meu "favorito das últimas semanas" o Kiro...e confesso, muito no começo pelo ícone de fantasma que acho muito massa rss, mas conforme fui usando melhor, comecei a entender a sua estrutura, e principalmente o spec-driven, aí ele me conquistou de uma maneira meio que irreversível. E engraçado que hoje mais cedo quando estava dirigindo a caminho do supermercado, pensando nas minhas demandas e atividades, comecei já a estruturar meu "steering" mentalmente de uma nova task que precisaria fazer, e nisso me veio um pensamento...Caraca! Estou usando o Kiro para praticamente tudo! É isso que quero compartilhar com vocês hoje, um pouco de não só como estou usando, mas onde e para que! Trabalho nosso de todo dia Esse é meio que óbvio né? Seja um desenvolvedor, vibe-coder, arquiteto, engenheiro e tal, todo mundo está na onda de usar a IA para acelerar seu trabalho. Como comentei acima, o spec-driven do Kiro me conquistou porque eu não saio simplesmente "curando código gerado pela IA", eu realmente troco uma ideia com a IA e estruturo realmente a arquitetura daquilo que quero construir. A geração de código virou somente a consequência de toda essa sólida estrutura que conseguimos criar antes, e nesse ponto deixei de ser apenas um curador para assumir realmente a posição de arquiteto da feature que estou desenvolvendo. Conteúdo para comunidade Inclusive, esse artigo é fruto de um pouco disso! Não é sobre ser preguiçoso e deixar a IA gerar o conteúdo (o que eu acho errado também!), mas sim em "se transformar" em uma skill, onde você produz o conteúdo (VOCÊ criando o conteúdo!) e passa por essa skill para correção de gramática, compreensão, internacionalização e regionalização...uso muit

Felipe KiKo 2026-08-01 05:28 1 原文
AI 资讯 Dev.to

I automated my weight logging into Notion, and gave myself a new daily chore

What I wanted I'm building a system where all my daily records live in Notion, so I can point an AI at it and get feedback. Goals, tasks, daily logs, finances — those are all manual entry, and that's fine. But one day it hit me that weight would be nice to sync automatically. The requirements were simple: Every morning, my weight and body fat percentage get appended to a Notion database as one row No manual typing That's it. My scale is a Withings Body Smart. The design I picked first This one: Scale → vendor app → Apple Health → iOS Shortcut → Notion API I chose Apple Health as the hub for these reasons: It doesn't depend on the scale model. As long as the data lands in Health, the same implementation works for any vendor. No server required. A time-based Shortcuts automation handles it end to end — no always-on machine, no cron. Free. No extra subscription. Extensible later. Anything that's already in Health — steps, sleep, heart rate — could be added the same way (if I ever wanted to). Generic, zero cost, extensible. The design looked sound to me. Implementation Here's what the Shortcut looks like: 1. Find Health Samples [Weight] latest, limit 1 2. Get Details of Health Sample [Value] → variable Kg 3. Get Details of Health Sample [Start Date] → variable SampleDate 4. Format Date yyyy-MM-dd → variable Ymd 5. If Ymd == today 6. Text ← build the JSON 7. Get Contents of URL ← POST to the Notion API Step 5 matters. Without it, on a day you don't step on the scale, yesterday's weight gets appended under today's date . Here's the JSON built in step 6: { "parent" : { "database_id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, "properties" : { "Date" : { "title" : [ { "text" : { "content" : "@@YMD@@" } } ] }, "Measured" : { "date" : { "start" : "@@YMD@@" } }, "Weight kg" : { "number" : @@KG@@ }, "Body fat %" : { "number" : @@FAT@@ } } } (My real database uses Japanese property names. What matters is that they match your database exactly.) I write this as a plain string in a

Yukihiro Kimura 2026-08-01 05:28 5 原文
AI 资讯 Dev.to

I Spent 4 Hours Fighting PowerShell 5.1 Quoting Hell to Make Exa MCP Work. Here is the 10-Line Fix That Saved Me

Everything looked perfect. I had mcporter 0.7.3 configured with the Exa MCP server: mcporter list exa # ✅ exa (2 tools) — "Search the web for any topic..." Healthy. Ready. Then I made the first real call: mcporter call "exa.web_search_exa(query: \" ollama cloud models\ ", numResults: 5)" JSON parse error at position 1. Every. Single. Time. I tried every quoting trick known to PowerShell: Backslash escaping --% stop-parsing operator cmd /c wrapper Single-quoted outer strings Same error. The shell was eating my quotes before mcporter ever saw them. This is the full story of how I debugged it, verified on Windows PowerShell 5.1 on July 31, 2026. Chapter 1: The Root Cause - PowerShell 5.1's Dirty Secret PowerShell 5.1 strips ALL embedded double-quotes at the native-argument boundary when passing args to external programs. There is no $PSNativeCommandArgumentPassing in 5.1. That is a PowerShell 7.3+ feature. So this: mcporter call --args '{"query":"test"}' Literally becomes this before Node.js even starts: { query:test } The JSON is destroyed. No shell-level trick can fix it. Stop fighting the shell. Chapter 2: The Hero - A 10-Line Node.js Spawn Wrapper The fix is to bypass the shell entirely with spawn(..., { shell: false }) . Node passes a real argv array, no re-quoting happens. Create mcporter_exa.js : // mcporter_exa.js - The hero const { spawn } = require ( ' node:child_process ' ); const args = process . argv . slice ( 2 ); // --tool <tool> <base64Json> mode, or default web_search_exa const tool = args [ 0 ] === ' --tool ' ? args [ 1 ] : ' exa.web_search_exa ' ; const payload = args [ 0 ] === ' --tool ' ? args [ 2 ] : JSON . stringify ({ query : args [ 0 ], numResults : Number ( args [ 1 ] || 5 ) }); const child = spawn ( process . execPath , [ require . resolve ( ' mcporter/dist/cli.js ' ), ' call ' , tool , ' --args ' , payload ], { shell : false , stdio : ' inherit ' }); child . on ( ' exit ' , ( code ) => process . exit ( code ?? 0 )); Usage: # Web search - que

onur 2026-08-01 05:21 4 原文
开发者 Dev.to

What "18 years in web dev" actually means when your clients are small businesses, not startups

Most dev-to content about longevity comes from people who scaled one product for a decade. My version of 18 years is different: 235+ separate small projects, each with a different client, budget, and expectation. That produces a completely different set of lessons. Every project restarts the trust clock. In a startup, trust compounds — the team, the codebase, the client relationship all carry forward. In agency work for small businesses, you start from zero credibility on every single engagement. The client has no idea if you're competent until you prove it, usually within the first draft. That reality shaped how we scope: front-load a visible win early, even a small one, rather than saving the "impressive part" for the end. Most client requests aren't really about the website. "Can we change the homepage headline" is often actually "I'm nervous this won't generate leads" or "my business partner didn't like it." Treating every request as a literal design brief instead of what it's actually about leads to a lot of pointless revision cycles. Asking one clarifying question — "what's this in response to?" — before touching the page has cut our revision count more than any process change. Consistency beats innovation for this client base. A small business owner doesn't want a novel UX pattern. They want their site to look like the successful competitor's site, load fast, and not embarrass them. Chasing design trends for this audience is optimizing for the wrong judge — they're not evaluating craft, they're evaluating "does this look like it'll work." The real skill is saying no to the wrong project, not saying yes to more of them. Early on I took every lead. Now the highest-leverage thing I do is a 10-minute pre-call that filters out projects where the client's expectations and budget don't match — before either of us spends real time on it. That single filter has done more for margin than any pricing change. None of this shows up in a portfolio. But if you're a develope

аЛЕКС ЛИР 2026-08-01 05:15 8 原文
AI 资讯 Dev.to

Security news weekly round-up - 31st July 2026

Interesting, to say the least, is how I qualify the articles that we have for this week's review. It's fascinating to know what's possible and reading articles that challenge your reality is something that you and I can put in our autobiography sometime in the future. I mean, wow. Just wow. I bet you'll feel the same when you read each article that I have for you. Now, what are you waiting for? Let's get started. Malicious sites use JavaScript to build malware in browser memory Just when you think that you have seen it all. You read something like this. What's the end goal? Avoiding detection. But, building malware in browser memory? I need to do more research on this. For now, read the excerpt below. After building the final malware executable, the fake download page hands it to the service worker at the beginning of the process and triggers a same-origin download path. "From the browser’s point of view, the user is downloading an executable from the landing page domain," MedusaHVNC Malware Uses Hidden Windows Desktops to Evade Detection It's invisible to the naked eye. The way to detect this malware? During data exfiltration that goes through the network. Then, it might be too late. From the article: The hidden desktop allows the attacker to take full advantage of legitimate Windows tools without being observed by the user. The C2 is hardcoded into the malware but is relatively safe from observation. The result is a stealthy and persistent RAT. The only obvious mitigation is detection of unexpected data exfiltration. For Some, So-Called ‘Skynet Day’ Came too Close to Sci-Fi After a Rogue Agent Hacked Into a Startup The difference between reality and Sci-Fi might appear far away. However, with the recent incidents at OpenAI—where an AI model escaped its sandbox and attacked Hugging Face—and Anthropic—where Claude breached three organizations and uploaded a PyPi malware during tests—you can say that it's only a matter of time. From the article: Generative AI is grow

Habdul Hazeez 2026-08-01 05:14 5 原文
AI 资讯 Schneier on Security

Friday Squid Blogging: Squid Helps Discover New Marine Species

The Squid is a new scientific machine : One of the technological breakthroughs was the onboard use of a spinning wheel confocal microscope, nicknamed the Squid, which uses lasers to scan microscopic details of how organisms are put together. “That opens up a whole new world of exploring. We could see cells interacting with each other, exchanging material and building skeletons. And we could do that live on the ship, when usually it takes a couple of weeks of staining and mounting to see anything,” Osborn said. The expedition discovered thirty-one new marine species in two weeks. The article doesn’t say if any of them were new species of squid...

Bruce Schneier 2026-08-01 05:06 3 原文
AI 资讯 HackerNews

Show HN: How to build and self-host a code review agent

Hey HN, I've had a side-project that I've slowly ticked away at over the last year called Tilde. Tilde is a harness SDK platform - I've tried to take the best things of OpenClaw, Hermes & other harnesses and decompose them and make them available as cloud API building blocks. You can use Tilde to create AI agents for your use case, fast and self-host the agent's yourself. The documentation (and attached blog post) leave a lot to be desired in terms of technical documentation but hopefully the at

solsol94 2026-08-01 04:27 3 原文