The Kill Chain Has a Thinking Problem
Article URL: https://foxandlion.pub/analysis/the-kill-chain-has-a-thinking-problem Comments URL: https://news.ycombinator.com/item?id=49394910 Points: 6 # Comments: 0
Insights
Engineering perspectives on architecture, product development, AI, and the everyday decisions behind useful software.
From the engineering desk
Browse practical articles or follow the latest technology updates.
Subscribe via RSS →Curated links from external sources — not 360Softy original articles.
Article URL: https://foxandlion.pub/analysis/the-kill-chain-has-a-thinking-problem Comments URL: https://news.ycombinator.com/item?id=49394910 Points: 6 # Comments: 0
Comments
Hello world, it's Wednesday, August 19, 2026, and here's what happened This Week in PHP Internals. 12 stories this week, so let's get into it. But first, Is AI working for your team? Ballast answers that for free. It reads your git history — never your code — and gives you 2 numbers every month. Stable velocity tells you how much of what you ship survives. A durability score from 300 to 850 tells you whether it holds up. ballast.now. This week's top story: a 5-argument function proposal turned i
By Michael Nocito, data analyst · Published August 7, 2026 If you want to write SQL against your own data today, install a file-based engine: SQLite if you are learning, DuckDB if your data is already in CSV files. Both give you the whole SQL language. Neither has a server to start, a port to open, or a password to set. Install a server such as PostgreSQL, MySQL or SQL Server when, and only when, more than one person or program needs to read and write the same data at the same time. That is the
By Michael Nocito, data analyst · Published August 7, 2026 By the end of this page you can predict what any query does when it meets a missing value, which is the skill that separates "my query returned nothing and I don't know why" from a two-second fix. You will know why = NULL matches zero rows, why one NULL can empty an entire NOT IN, and how NULLs quietly move averages, counts, groups, and sort orders. It is about twenty minutes. Here is what to actually do with it. Next time a filter retur
By Michael Nocito, data analyst · Published August 7, 2026 By the end of this page you can write a month-over-month growth query and trust its answer. You will know the growth formula and how to say it in a sentence, what LAG() actually does, and the three traps that produce wrong percentages without producing an error: integer division, the empty first month, and the missing month. It is about twenty minutes. Here is what to actually do today. Before you trust any growth query you have already
By Michael Nocito, data analyst · Published August 7, 2026 By the end of this page you can check any table for duplicate rows, list every copy, and mark which one to keep, all with queries you understand. You will also know the step that comes before any query: deciding what "duplicate" means for this table, because two rows can match on everything or on one column, and those are different problems with different fixes. It is about twenty minutes. Here is what to actually do with it. On the next
By Michael Nocito, data analyst · Published August 7, 2026 By the end of this page you can take a DataFrame, summarize it by any column or combination of columns, get several statistics at once with sensible names, and account for every row that went in, including the ones pandas would otherwise drop without telling you. It is about twenty-five minutes, and every output shown was produced by actually running the code on the table printed below. Here is what to actually do today. In your next gro
Let’s start with a conversation
An idea, a challenge, or a system that needs to work better. We’ll help you understand the next step.
Prefer email? [email protected]