We need an accounting system for cognitive debt
submitted by /u/JohnTurturrosSandals [link] [留言]
找到 1344 篇相关文章
submitted by /u/JohnTurturrosSandals [link] [留言]
You've probably written a CommandExecutor before. Everyone who's touched Bukkit has. Declare the command in plugin.yml , implement onCommand , cast args[0] to whatever you need, hope nobody fat-fingers the input. It compiles. It runs. It's confusing to debug. And it's the wrong way to do it in 2026. # plugin.yml commands : punish : description : Opens the punishment GUI usage : /punish <player> public class PunishCommand implements CommandExecutor { @Override public boolean onCommand ( CommandSender sender , Command command , String label , String [] args ) { if (!( sender instanceof Player staff )) return true ; if ( args . length < 1 ) return true ; Player target = Bukkit . getPlayer ( args [ 0 ]); if ( target == null ) { sender . sendMessage ( "Player not found." ); return true ; } // ... open the GUI return true ; } } Tie it together in onEnable() with getCommand("punish").setExecutor(new PunishCommand()) , add a separate TabCompleter implementation to handle suggestions, and you're done. Seems perfectly fine... totally not confusing at all... (if you understood any of that, you're doing better than I am :P) This implementation has many issues... like Bukkit.getPlayer(args[0]) only matching an exact, currently-online name. No selectors. No partial matching. You write all of that yourself or not at all. Tab completion lives in a second method you keep in sync with parsing by hand. Change one, forget the other, and tab completion starts "lying" to your players (a problem that has taken me HOURS to solve in the past... i'm getting flashbacks ;-;). And the tree itself is static, fixed in plugin.yml . Want /report to take a severity argument only when severities are configured? You can't say that in plugin.yml and you end up with a tangled mess that is almost never clean (either to you, or the players). Paper ships Mojang's Brigadier (the same framework vanilla Minecraft uses for everything) through a lifecycle hook: LifecycleEvents.COMMANDS . You register a tree of
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
Memory allocation of Express API request and it's data Who is the actual web server in Express.js framework Why Node js did not have network handling capabilities and how Node JS team implemented it All are covered in the Article submitted by /u/Ok_Stomach6651 [link] [留言]
Ajay Chankramath — author of The Platform Engineer’s Handbook — joins Kaspar von Grünberg to unpack why he wrote a 14-chapter, code-first practitioner's guide instead of another theory-heavy platform book. submitted by /u/goto-con [link] [留言]
Originally published on productize.life . Quick answer: gstack is an open-source (MIT) skill set that Garry Tan, president of Y Combinator, builds with every day. It turns Claude Code into a team of 23 specialists, CEO, engineers, designers, QA, and a release engineer, forcing every change through a multi-lens review before shipping. The point is not speed; it is taste written into software. Last week I was going through a repo that collects skills for coding, several of them. Most share one theme: helping AI write code in a systematic way, and faster. But one made me stop longer than the rest, called gstack, for two reasons. One: its owner, Garry Tan, president and CEO of Y Combinator, took the stack he actually builds with every day and opened it for free. Two: it does not sell "code faster," it sells "review before you ship." Once I actually opened it, it was not just a toolbox but one of the clearest examples of an idea I have been interested in for a while. On the day AI can write code very fast, the bottleneck of the work is no longer speed. I will tell it in three parts, starting with what it is , then what gstack believes , and closing with lessons for people who build products, not just people who write code . Terms, gathered here in one place agentic coding letting an AI agent run the coding work in its own steps, from planning to writing to review to shipping, not just autocompleting a line at a time. skill a packaged set of instructions an AI agent (like Claude Code) can call, like a shortcut that wraps one way of doing one thing. review lens reviewing one piece of work from several roles, for example as a CEO, an engineer, a designer. taste the sense and judgment of what is good and what is bad, what to build and what not to ship. The part that is still human. Part 1: What gstack is Garry Tan describes gstack in the README plainly, as the way he works. "It turns Claude Code into a virtual engineering team: a CEO who rethinks the product, an eng manager
If you're anything like me, your Chrome toolbar probably looks like a collection of tiny puzzle pieces. Grammar checker. Screenshot tool. Summarizer. Writing assistant. Code explainer. Translator. Email helper. At one point I had more than a dozen extensions installed. Chrome became slower, pages loaded later, and every extension wanted permission to "read and change all your data." Then I started experimenting with AI tools instead. Not everything was better—but some things surprised me. Here's what I learned after replacing most of my browser extensions with AI. 1. Grammar Checkers I used to rely on grammar extensions that constantly underlined my writing. Now I simply paste my draft into an AI assistant and ask: Improve grammar while keeping my writing style. The biggest advantage isn't fixing mistakes—it's preserving tone. Traditional grammar tools often make everything sound the same. AI can make your writing cleaner without removing your personality. 2. Article Summarizers This was probably the easiest replacement. Instead of installing a summarizer extension, I paste the article and ask: Summarize in 5 bullet points Give me the key takeaways Explain it like I'm a beginner What important details are missing? The last prompt is especially useful because summaries sometimes leave out important context. 3. Code Explanation This has become one of my favorite AI use cases. Instead of searching Stack Overflow for every unfamiliar function, I simply paste the code and ask: Explain this line by line Why was this approach chosen? Is there a better alternative? What's the time complexity? The answers aren't always perfect, but they're often enough to understand what's happening before diving into documentation. 4. Writing Commit Messages This is something I didn't expect AI to help with. Instead of writing: fixed stuff I can paste my git diff and ask for a concise commit message. Example: feat: add JWT authentication middleware fix: resolve login redirect loop refactor:
The conversation around Agentic AI often focuses on one goal: making agents more autonomous. More tools. More reasoning. More planning. More independence. It sounds like progress. But is more autonomy always the right answer? As software engineers, we rarely optimize for "more." We don't build distributed systems when a monolith is sufficient. We don't introduce microservices because they're fashionable. We choose architectures that balance capability with complexity. The same principle applies to AI agents. The question isn't "How autonomous can my agent be?" It's "How autonomous should my agent be?" Autonomy Is a Design Decision When people talk about autonomy, they often think of it as a feature that an agent either has or doesn't have. In reality, autonomy is a design decision. Every time we allow an agent to make another decision on its own, we are increasing its responsibility. That responsibility comes with benefits, but it also introduces new engineering challenges. More autonomy means the agent can adapt to situations that weren't anticipated during development. It can make progress toward a goal without being guided through every step. At the same time, it becomes harder to predict, validate, debug, and trust. Autonomy isn't free. Thinking in Terms of an Autonomy Spectrum Instead of treating autonomy as a binary concept, it helps to think of it as a spectrum. At one end are systems that simply generate responses. They have no authority to take action. As autonomy increases, agents begin suggesting actions, invoking tools, planning multiple steps, and eventually deciding how to achieve a goal with minimal human involvement. The important observation is that every step along this spectrum increases both capability and complexity. That's why the objective shouldn't be to reach the highest level. It should be to stop at the level your problem actually requires. More Autonomy Isn't Always Better Imagine building an internal HR assistant. Its primary responsibil
submitted by /u/Successful_Bowl2564 [link] [留言]
submitted by /u/ModernPython [link] [留言]
Hello, I'm Maneshwar. I'm building git-lrc, a Micro AI code reviewer that runs on every commit. It is...
submitted by /u/m-chav [link] [留言]
I recently started doing some research about data oriented design and I find material mostly from gamedevs. I understand that it became popular by Mike Acton, but I think the principles could be applied to more than one domains. For example for statistics libraries and quant data analysis. Do you use this approach in non gamedev related areas. Could you please mention real world examples? TIA submitted by /u/codingbliss12 [link] [留言]
submitted by /u/fagnerbrack [link] [留言]
If you've spent any time exploring backend engineering, distributed systems, or system design, you've almost certainly seen one book recommended more than any other: Designing Data-Intensive Applications , or DDIA for short. For years, I've heard experienced engineers describe it as the book that completely changed the way they think about software architecture. When the second edition was released with updated content covering modern distributed systems and cloud-native architectures, I decided it was finally time to see whether it deserved the hype. After reading it from beginning to end, I understand why this book has become a classic. It isn't another programming book that teaches a framework, a database, or a cloud platform. Instead, it teaches something much more valuable: how to think about building systems that continue working when data grows, traffic increases, and failures become inevitable. If you're a backend engineer—or want to become one—this is probably one of the best technical books you can read. This Isn't Really a Database Book The title can be a little misleading. Before opening DDIA, I assumed it would spend hundreds of pages comparing databases or discussing storage engines. Databases are certainly a major part of the discussion, but they're really just one piece of a much larger picture. The book is about designing systems that process enormous amounts of data while remaining reliable, scalable, and maintainable. Those systems happen to rely on databases, but they also involve replication, partitioning, distributed communication, stream processing, fault tolerance, consistency, messaging, and dozens of other architectural concepts that appear in modern software systems. By the end of the first few chapters, it becomes clear that the authors aren't trying to teach products. They're teaching engineering principles that remain useful no matter which technologies you're using. It Explains Why , Not Just How One of my favorite things about DDIA is
submitted by /u/broken_broken_ [link] [留言]
Introducing GlintCode ✨ I've been building GlintCode , a lightweight scripting language for the browser that runs on top of JavaScript. The goal is simple: make building browser apps easier with a clean, beginner-friendly API while still using the power of JavaScript under the hood. Features 🚀 Runs directly in the browser 📝 Uses <script type="glint"> 🌐 Built-in DOM helpers 🎨 Simple UI creation functions 🔁 Built-in loop helpers 📦 Optional module system ⚡ No build tools or compilation required Hello, World <script src= "https://fast4word.github.io/glintcode/glint.js" ></script> <script type= "glint" > page ( " Hello " ) heading ( " Welcome to GlintCode " , 1 ) paragraph ( " Your first Glint app! " ) button ( " Click Me " , () => { print ( " Hello from Glint! " ) }) </script> Why GlintCode? JavaScript is incredibly powerful, but for beginners or small browser projects it can sometimes feel more verbose than necessary. GlintCode provides a set of simple, readable functions that make creating interfaces and interacting with the page easier, while still letting you use JavaScript features whenever you need them. Because GlintCode runs on top of JavaScript, you can gradually learn the underlying language without giving up access to the browser's APIs. What's next? I'm continuing to expand GlintCode with new functions, modules, examples, and documentation. Future plans include additional built-in libraries, a richer module ecosystem, and more developer tools. I'd love to hear your feedback, suggestions, or ideas for features you'd like to see! GitHub: https://github.com/Fast4word/glintcode
submitted by /u/davidalayachew [link] [留言]
Loop Engineering — เมื่อการ Prompt Agent ด้วยมือไม่พออีกต่อไป แล้ว Programmer ต้องออกแบบ Loop แทน โดย Nokka (นก-กา) | 1 กรกฎาคม 2026 TL;DR — สำหรับคนที่รีบ กลางเดือนมิถุนายน 2026 ที่ผ่านมา วงการ AI developer สั่นสะเทือนด้วยประโยค 6 คำจาก Peter Steinberger ผู้สร้าง OpenClaw: "You shouldn't be prompting coding agents anymore. You should be designing loops that prompt your agents." ประโยคนี้มียอดวิว 8 ล้านครั้งในวันเดียว และจุดกระแส "Loop Engineering" ที่กลายเป็น buzzword ร้อนที่สุดของเดือน Loop Engineering คือการเปลี่ยนจากการนั่ง Prompt Agent ทีละคำสั่ง มาเป็นการเขียน Loop (โปรแกรม) ที่ทำหน้าที่ Prompt Agent แทนคุณ โดย Loop จะเป็นคนเลือกงานต่อไป, ส่งให้ Agent, ตรวจสอบผล, ตัดสินใจว่าจะทำต่อหรือหยุด คุณไม่ได้เป็นคนขับ Agent อีกต่อไป — คุณเป็นคนออกแบบระบบที่ขับ Agent 1. Loop Engineering คืออะไร? เกิดมาจากไหน? เรื่องนี้เริ่มต้นจาก Boris Cherny ผู้สร้าง Claude Code พูดบนเวที Acquired Unplugged ต้นเดือนมิถุนายน 2026 ว่า: "I don't prompt Claude anymore. I have loops that are running. They're the ones that are prompting Claude and figuring out what to do. My job is to write loops." สองวันต่อมา Peter Steinberger โพสต์บน X ว่า "You shouldn't be prompting coding agents anymore. You should be designing loops that prompt your agents." โพสต์นี้มียอดวิว 8 ล้านครั้ง [1] หลังจากนั้น Addy Osmani (Google Engineer, O'Reilly author) เขียนบทความ "Loop Engineering" บน O'Reilly Radar ให้คำจำกัดความว่า: "Loop engineering is replacing yourself as the person who prompts the agent." [2] และ @0xCodez ก็รวบรวมเป็น 14-step roadmap จาก "prompter" สู่ "loop designer" [3] ในมุมมองของผม Loop Engineering ไม่ใช่ buzzword ธรรมดา แต่มันคือการเปลี่ยน abstraction layer ของการทำงานกับ AI เหมือนกับที่เราเปลี่ยนจาก Assembly → High-level language หรือจาก Bare metal → Cloud แต่ก็ต้องยอมรับว่า Loop Engineering ยังเป็นแนวคิดใหม่ และยังไม่มี standard practice ที่ชัดเจน สิ่งที่ใช้ได้วันนี้อาจเปลี่ยนไปใน 3 เดือน 2. ทำไมต้อง Loop Engineering? ลองนึกภาพการทำงานกับ AI coding agent แบบเดิม: คุณพิมพ์ prompt → รอ → อ่าน dif
Bonjour Je travaille actuellement sur un nouveau langage de programmation appelé Klyn . Alors je sais, certains vont me dire pourquoi encore un nouveau langage. Peut-être est-ce vrai, mais d'un autre point de vu, pourquoi ne pas être audacieux et proposer une autre lecture possible. A méditer. De plus, logiquement on ne fait pas de promo de projet sur r/programming , mais pour le coup le projet porte clairement sur la programmation et je me dis que ce post est quand même à sa place (j'espère qu'on m'en tiendra pas trop rigueur ; je suis nouveau sur Reddit). Quoi qu'il en soit, mon point de départ est que Python propose une syntaxe épurée et lisible, par contre les performances en termes de temps d'exécution, c'est pas ça. Du coup, pourquoi ne pas intégrer les bonnes idées de C++ pour les perfs dans un langage "Python-like" ? Et tant qu'on y est, Java et C# propose aussi des trucs sympa. Et puis j'ai aussi quelques autres idées sympa à tester (j'ai notamment tester des choses sur les syntaxe des collections). Et donc je suis partis à proposer Kl yn , un langage "Python-like" orienté performance . Du coup, j'en suis là : une syntaxe lisible et agréable, proche de Python, un typage statique pour la fiabilité des codes, une compilation native et implicite pour les performances, des propriétés inspirées de C#, pleins d'idées perso sur la syntaxe et les lib, une API déjà assez riche autour des collections, chaînes, fichiers, terminal, interface graphique, bases de données, thread, api llm... Etant actuellement seul sur le projet, j'ai grandement fait usage de l'IA (je préfère être cash ; clan Codex), mais franchement, je ne le regrette pas. En l'état le projet n'est pas prêt a passer en production. C'est pour ça que j'ai besoin de vos impressions (afin de préparer cette future étape). De plus, si vous êtes convaincu par la démarche, qu’attendriez vous d'autre d’un tel projet ? Site du projet : https://klyn.deepcodia.fr Tutoriel : https://klyn.deepcodia.fr/docs/tutorial/in