AI 资讯
Stratagems #5: Leo Walked Into an AI-Powered Burning House. He Walked Out With a Client.
When the enemy is in distress, exploit the opportunity to seize advantage. — The 36 Stratagems, Loot a Burning House Who's Leo — In the last story , he was CoreStack's backend lead — the guy who built the core system alone over five years with zero P0 incidents. Then a new CTO named James showed up, spent $8M on his old employer's product, and laid off Leo's entire team. Thirteen days later, that $8M AI system collapsed — three agents fighting over context, OOM taking down six GPU servers, a 37% order duplication rate, and 2,300 customer complaints. Leo pulled the old system off his laptop, flipped one line of Nginx config, and restored service in thirty seconds. The CEO called him at 3 AM begging him to come back. He came back. Three conditions: kill the paid AI product, AI assists only — never touches the primary pipeline — and engineers decide the architecture, not the guy writing checks. The CEO agreed to all of it. So who's Leo now: CoreStack's CTO. Technically confident to the point of arrogance. Zero talent for upward management. No idea how many people he pissed off on the board with those conditions. Doesn't care. He only knows one thing — the system he built is still running. That's all the proof he needs. Then a Slack message cut him off. The Signal 12:47 AM. CoreStack's CTO gets a Slack notification. The account has no profile picture, no display name, no status. Account creation timestamp at the bottom — 00:43. Four minutes old. Seven characters: Check CodeForge's status page. Leo taps it open. CodeForge's status page is all red. Payment Routing — Major Outage. Investigating. All customers affected. Status has been active for approximately 3 hours. He pulls up CoreStack's CRM. The sales team's prospect list has ShopStream at #2 — a potential whale, with "Current Provider" reading CodeForge. E-commerce platform doing 470,000 transactions a day . An hour of downtime costs them $210,000 . If this drags on until morning? He doesn't want to do the math. Core
AI 资讯
How I Stopped Wasting Hours on AI Prompts
I used to waste hours tweaking and re-tweaking my AI model prompts. It was like trying to find a needle in a haystack—I'd make a change, run the code, wait for the results, and then... nothing. The output would be inconsistent, unhelpful, or just plain wrong. I'd try again with tiny modifications, rinse and repeat, until I was about to pull my hair out. It wasn't until I stumbled upon the concept of reusable prompt templates that everything changed. It was like a switch had flipped—my code started producing consistent results, and I finally understood why. No more guesswork, no more frustration. Just good old-fashioned productivity. A simple shift from writing one-off prompt strings to using reusable templates is the key to reducing prompt overhead, increasing consistency, and getting back to doing what we love—building amazing, AI-driven applications. From Chaos to Control: A Simple Example Let's make this tangible. Imagine you're building a feature to generate a short story, but for different characters. Before: The Inconsistent, One-Off Way Without a template, you'd likely write a new prompt each time, introducing small, unintentional differences that lead to wildly different results. Two separate prompts = inconsistent, unpredictable output prompt_for_alex = "Write a short story about a character named Alex who is trying to get to work on time, but keeps getting delayed in a busy city." prompt_for_jordan = "Generate a story about someone named Jordan. They're late for work and stuck in traffic in a big city." See the problem? The tone, wording, and details are different. You have no control over the consistency of the output. After: The Clean, Templated Way Now, let's use a single template. We define the core structure once and simply pass in the parts that change. Now, let's use a single template. We define the core structure once and simply pass in the parts that change. One template = consistent, predictable output story_template = "Write a short story about
开发者
You're Not Lazy — You're Time Blind. Here's How Lock In Fixes It.
I sat down to work for 2 hours. I actually worked for 45 minutes. Sound familiar? You open your...
产品设计
$30 and a Lifetime of Liability
co-written with UnitBuilds, who built most of this out loud in the comments of my last piece. I...
AI 资讯
Stratagems #4: P Walked Into an AI Monitoring POC. P Didn't Run a Single Test.
Exhaust the enemy's strength without fighting. Weaken the strong by nurturing the soft. — The 36 Stratagems, " Wait at Leisure While the Enemy Labors " P flipped the business card over and wrote one letter on the back: P . Then P walked into the conference room. P didn't do opening lines. P doesn't have a name — not yet, not in this series anyway. But if you've read the earlier stories, you'd recognize the signature. The first story — P's own article got flagged as "low quality" by the company's AI moderation system. P dug into the internal API, pulled 347 flagged records — effective accuracy came out to 38%. More false positives than correct identifications. The second story — an AI payment gateway processing $2.8 billion. The CTO backed it with formal verification, claimed it was "mathematically bulletproof." P spent eight months quietly building an adversarial testing pipeline, and proved the gateway would approve illegal transactions. P won both times. P left zero fingerprints both times. After those two jobs, P stopped working for other people. This time, P got brought in as an independent evaluator. Two Companies, One Customer, Zero Questions The customer was a mid-sized industrial IoT firm called FirmCore . Their production-line gear had been running for almost a decade. The monitoring system was going down once a month, and management had finally had enough. They decided to bring in an AI monitoring platform. A good call — right up until they decided to run two vendors through POC at the same time and pick a winner. "We want to see who can actually cover our failure modes," the VP said in the meeting. "We've also brought in an independent evaluator." P was that evaluator. The two AI monitoring companies were MonitorAI and SentryWave . MonitorAI's pre-sales team went first, slides blazing with "99.3% fault coverage, validated across 3 manufacturing customers." SentryWave followed right behind: "99.7% coverage, 7-day deployment" — bigger numbers, bolder font.
AI 资讯
What Feature Makes You Leave a Resume Builder Website?
I'm curious... What's the one feature that instantly makes you stop using a resume builder? For me, it was simple: You spend time creating your resume, everything looks great, and then the site asks you to pay just to download it. That experience inspired me to build Resumship, a resume builder where downloading your resume is completely free. Now I'm thinking about the next features to add, and I'd love to hear from the community. If you were building the ideal resume builder, what features would you include? AI-powered resume suggestions? Better ATS optimization? More templates? Portfolio integration? Cover letter generation? Something completely different? If you have a minute, I'd also love for you to try Resumship and share your honest feedback. 🌐 https://resumship.com Your feedback will directly influence what gets built next. Every suggestion, bug report, or feature request helps make the platform better for everyone. Looking forward to hearing your ideas! 🚀
AI 资讯
Nobody wants to review the robot's 600-line pull request
An agent opened a pull request on our service last week. Six hundred lines. It rewrote how we handle webhook retries and deduplication, an area that is fiddly and easy to get subtly wrong. The diff was clean. The tests were green. The commit messages were better than mine usually are. And I felt the specific dread that I think a lot of engineers are starting to feel in 2026. I was the reviewer. I had not written any of this. I had no idea why it was shaped the way it was. To review it properly, the way I would want my own code reviewed, I was looking at the better part of an hour of carefully reconstructing intent from the code itself. I did not have that hour. So I did what almost everyone does in that situation, which is skim it, decide it looked reasonable, and approve. That moment is the actual problem with AI-written code, and it is not the one people argue about. The bottleneck moved, and most teams have not adjusted The tired debate is whether agents write good code. In 2026 that argument is mostly over. They do. They plan, they read the codebase, they run the tests, they back out of dead ends, they open pull requests that clear most review bars. If you are still litigating whether the code is any good, you have not used a current agent in a while. But here is what follows from that, and it is the part teams have not absorbed: if writing the code is no longer the slow step, then reviewing it is. And review does not scale the way generation does. An agent can produce five well-tested pull requests before lunch. Your senior engineers cannot deeply review five pull requests before lunch, not on top of their own work. The volume went up and the review capacity did not, and something has to give. What gives is the depth of review. It degrades, quietly, into a skim. People approve fluent diffs they have not truly read, because reading them properly costs more time than anyone has. The green check still appears. It just means less than it used to. That is a governan
AI 资讯
LLMs are Demented!
Crossword puzzles are easy. But what if you had to solve one while running inside the hardware constraints of a Large Language Model?
AI 资讯
AI Agents vs Chatbots — What's Actually Different?
"AI agent" is one of those terms that's everywhere right now, and it's thrown around loosely enough...
开发者
What's Your Tech Journey? Every Developer Has a Story Worth Telling
One of the things I love most about the tech community is that there isn't a single path to becoming...
AI 资讯
Reading Anthropic's "When AI Builds Itself" Changed How I Think About AI and Software Engineering
TL;DR Anthropic recently published When AI Builds Itself, an essay explaining how AI is...
开发者
Top 7 Featured DEV Posts of the Week
Welcome to this week's Top 7, where the DEV editorial team handpicks their favorite posts from the...
AI 资讯
AI เขียนโค้ดแทนเราได้แล้ว — แล้วเราจะเหลืออะไรให้ทำ?
AI เขียนโค้ดแทนเราได้แล้ว — แล้วเราจะเหลืออะไรให้ทำ? มีประโยคที่ได้ยินบ่อยขึ้นทุกวัน: "เดี๋ยวนี้ใครยังไม่ใช้ AI ช่วยเขียนโค้ดบ้าง?" คำตอบคือ — แทบไม่มีแล้วครับ ตั้งแต่ GitHub Copilot, Cursor, Claude, ChatGPT ไปจนถึง agent ที่เขียนโค้ดเองได้ทั้ง project — เราใช้ AI ใน level ที่ต่างกัน: Level หน้าตา ตัวอย่าง 🎵 Vibe Coding พิมพ์สิ่งที่อยากได้ กด accept อย่างเดียว "เขียนหน้า login ให้หน่อย" → กด tab tab tab 🧩 Prompt-Guided คิดก่อน ถามทีละส่วน ตรวจทุกอย่าง "สร้าง UserService ที่ใช้ bcrypt hash password" 🛠️ Skill/Lint-Guided ใช้ AI เป็น editor ชั้นสูง — lint, refactor, test "refactor function นี้ให้เป็น table-driven test" 🏗️ Agent-Based ให้ AI run ทั้ง project — spawn subagent, PR, deploy "พอร์ต microservice นี้จาก Express ไป Fastify" แล้วคำถามคือ — ถ้า AI ทำทั้งหมดนี้ได้ แล้วมนุษย์อย่างเราเหลืออะไร? Unit Test — ตัวอย่างที่เห็นชัดที่สุด ลองดู unit test ที่ AI เขียนให้: // 🤖 AI-generated test func TestCalculateDiscount ( t * testing . T ) { tests := [] struct { name string input float64 expected float64 }{ { "zero" , 0 , 0 }, { "normal" , 100 , 90 }, // 10% discount { "max" , 1000 , 800 }, // 20% discount } for _ , tt := range tests { t . Run ( tt . name , func ( t * testing . T ) { result := CalculateDiscount ( tt . input ) if result != tt . expected { t . Errorf ( "got %v, want %v" , result , tt . expected ) } }) } } ดูเผิน ๆ — สวย, table-driven, ถูกต้องตาม Go convention 1 แต่ถามหน่อย — test นี้บอกอะไรเกี่ยวกับ business? "ส่วนลด 10% สำหรับยอด 100 บาท" — ทำไมต้อง 100? เป็นกฎจากที่ไหน? "ส่วนลด 20% เมื่อยอดถึง 1000" — แล้วถ้าลูกค้าเป็น member ได้เพิ่มอีก 5% ล่ะ? input: 0, expected: 0 — test นี้ cover edge case หรือแค่ cover บรรทัด? AI test ได้ถูกต้องตาม function — แต่มัน ไม่รู้ว่า business จริง ๆ คืออะไร AI ไม่รู้ Business Context — และจะไม่มีวันรู้ นึกภาพระบบ e-commerce: ลูกค้าซื้อสินค้า → ระบบตัดสต็อก → คำนวณส่วนลด → คิดค่าส่ง → ออกใบเสร็จ AI แยก test ทีละ function ได้: ✅ TestDeductStock — "ตัดสต็อก 1 ชิ้น" ✅ TestCalculateDiscount — "ส่วนลด 10%" ✅ TestCalculateShipping —
AI 资讯
Someone Else Pays for Your AI Access
you probably didn't think about this when you signed up. you entered your card details, verified...
AI 资讯
More Watts, Less Light
Token burn and business outcomes are not correlated. More burn means more inefficiency, not more value. The electricity problem Imagine you walk into a dark room. Turning on a light helps you see. Turning on every light in the building does not help you see better. It's still the same room. Now every surface is equally lit, the contrast is gone, and you're paying for power you didn't use. Tokens work the same way. A focused prompt with clear scope is the single overhead light over your desk. A sprawling prompt with unlimited exploration is every light in the building — you're burning power, not producing insight. Tokens are electricity, not output. More throughput doesn't mean more value. I've had weeks where I burned through my allocation and looked back at the end to find nothing concrete. Code that worked but went unused. Exploratory branches that dead-ended. Agents that generated plausible-looking output that didn't survive first review. A lot of motion. Not much progress. The ceiling stops you from doing that indefinitely. It forces a moment of reflection: did this burn produce anything real? If the answer is no, more capacity isn't the fix. More discipline is. Three patterns I now use instead I started paying attention to what actually ships versus what just burns context. I gave the patterns names so I could catch myself faster: RTK — Read The Knowledgebase. A focused 15-minute read of the codebase, identifying the exact files and exact changes, saves 200K+ tokens of exploratory waste. The agent doesn't discover the shape of the task — it executes against a known one. Caveman — compress before you prompt. Strip greetings, filler words ("I think", "basically", "Let me know if that makes sense"), and closing courtesies. Every word in your prompt multiplies across every response token. Less fluff in means less fluff out. Ponytail — spec the minimum viable solution. "Robust", "scalable", "enterprise-grade", "comprehensive" — these words invite scope creep. Specif
AI 资讯
Stratagems #3: Lena Walked Into an AI Deal. She Walked Out With Three Borrowed Knives.
To dispose of an enemy, make use of another enemy. Use a second party to deliver the blow yourself....
科技前沿
Meme Monday
Meme Monday! Today's cover image comes from the last thread . DEV is an inclusive space! Humor in poor taste will be downvoted by mods.
开源项目
🗓️ Monthly Dev Report: June 2026
Hey everyone! I bring you my development journey on what I have discovered, accomplishments for this...
AI 资讯
Stratagems #2: Derek Shaw Walked Into Another AI Promise. The Pipeline Had a Better Plan.
When the enemy is too strong to attack directly, attack what they hold dear. They will come to you...
AI 资讯
Real-Time Arrhythmia Detection at the Edge: Deploying TinyML on ESP32 for Raw ECG Analysis
In the world of wearable health technology, the holy grail has always been moving intelligence from the cloud to the edge. Waiting for a cloud server to analyze your heart rhythm is not just a latency issue—it's a privacy and battery life concern. Today, we are diving deep into TinyML , Edge AI , and ECG signal processing to build a real-time abnormality detector. By leveraging TensorFlow Lite for Microcontrollers and the versatile ESP32 , we can process raw electrocardiogram (ECG) data locally. This approach ensures low-latency detection of arrhythmias while keeping sensitive medical data on-device. If you've been looking to bridge the gap between high-level deep learning and low-level embedded systems, you're in the right place! The Architecture: From Raw Signal to Insight 🏗️ The pipeline involves capturing a high-frequency analog signal, cleaning it, and feeding it into a quantized Convolutional Neural Network (CNN). Here is how the data flows through our ESP32: graph TD A[Raw ECG Signal/Sensor] -->|ADC Sampling| B(Preprocessing: Bandpass Filter) B --> C{Buffer Management} C -->|Windowed Segment| D[TFLite Micro Inference Engine] D --> E{CNN Model Classification} E -->|Normal| F[Log: Sinus Rhythm] E -->|Abnormal| G[Trigger Alert: Arrhythmia] G -->|Bluetooth/Wi-Fi| H[Mobile Dashboard] Prerequisites 🛠️ To follow this advanced guide, you'll need: Hardware : ESP32 (DevKit V1 or similar). Sensor : AD8232 ECG Module (or simulated ECG data). Software : Arduino IDE or PlatformIO. Frameworks : TensorFlow Lite for Microcontrollers (TFLM), EloquentTinyML (optional wrapper), or the standard C++ TFLM library. Step 1: Model Training & Quantization 🧠 Before we touch the C++ code, we need a model. Typically, we use the MIT-BIH Arrhythmia Database to train a 1D-CNN. The crucial step is Post-Training Quantization . Since the ESP32 doesn't have a dedicated NPU, we convert our 32-bit float model into an 8-bit integer (INT8) model. This reduces the size by 4x and speeds up inference s