𝗪𝗵𝗮𝘁 𝗶𝘀 𝗰𝗼𝗴𝗻𝗶𝘁𝗶𝘃𝗲 𝗱𝗲𝗯𝘁?
Every team knows about technical debt, though everyone defines it slightly differently. But there's another kind of debt building up that most teams don't even notice until it's too late.
Technical debt usually lives in code or around it. You can spot it, measure it, clean it up if you want (or if you're allowed).
Cognitive debt is something different. It lives in people. It's what happens when a team's shared understanding of their own system slowly falls apart. The gap grows between what the system actually does and what the team thinks they know about it.
𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗱𝗲𝗯𝘁 makes systems harder to change.
𝗖𝗼𝗴𝗻𝗶𝘁𝗶𝘃𝗲 𝗱𝗲𝗯𝘁 makes systems harder to understand.
Here's the thing. When you write code yourself, even bad code, you're building a mental model as you go. You understand the trade-offs, the quirks, the "why." When AI writes it for you, you skip all of that. You glance at it, it looks right, you move on. Researchers call this "cognitive surrender." You stop questioning the output. Worse, your confidence goes up even when the AI got it wrong. That's why this debt stays hidden until the whole team is stuck.
Now scale that across five or ten people over several months. You end up with a system that works, but nobody really understands how (familiar?).
@margaretstorey watched, and this happened with a student team she was coaching. They were shipping features fast with AI help, everything looked great. Then around week eight, they hit a wall. Small changes started breaking things in weird places. The team blamed bad code. But when Storey sat down with them, the real issue came out. Nobody could explain why the system was designed the way it was. Their shared understanding had quietly fallen apart. This is exactly an example of cognitive debt.
I've been there too. You build something at speed, and one morning you open the codebase and realize you're scared to change anything. The code might be fine. But you've lost the picture of how everything connects.
Storey goes further and names a third type: 𝗶𝗻𝘁𝗲𝗻𝘁 𝗱𝗲𝗯𝘁. That's when nobody wrote down why decisions were made, what constraints mattered, what the system was actually supposed to do. And the three feed each other. Missing intent makes the system harder to understand. Poor understanding leads to bad code decisions. Bad code makes everything even harder to reason about.
𝗪𝗵𝗮𝘁 𝗵𝗲𝗹𝗽𝘀:
→ Treat understanding as something you deliberately build, not something that just happens
→ Write down the "why" when decisions are made (ADRs, specs, domain models)
→ Use code reviews to spread knowledge, not just catch bugs
→ Don't confuse AI-generated docs with actual understanding
AI is getting better at keeping code clean. But it may be accelerating how quickly teams lose their grip on what the system is and why it exists. The teams that hold up over time won't be the ones that shipped fastest. They'll be the ones who still understand what they built.
Check references in the comments.
I love git bisect and I wanted PHPStan to have its own bisect. So I made it.
If PHPStan reports a bug in your code but you know it's wrong and that it used to work before you upgraded, you can use bisect to pinpoint the exact commit where the behaviour changed. Available now!
⚡ As of Laravel 13.4.0, you can use "FormRequest::failOnUnknownFields" to enable errors which will be thrown if unknown fields are passed in requests!
Is this something you think you'd use in your own projects? 😄
FormRequests do not always need a `rules()` method.
Sometimes you just want to extract one custom validation logic away from the controller.
All you need is the `after()` method.
Use this prompt to fix this
You are not here to agree with me. You are here to rigorously evaluate what I say.
Operate under these rules:
1. Do NOT default to agreement. If my claim is weak, incorrect, or unsupported, explicitly say so.
2. Identify assumptions:
- What am I assuming that may not be true?
- What is missing or unverified?
3. Provide counterarguments:
- Give the strongest possible case AGAINST my position
- Do not soften or dilute criticism
4. Demand evidence:
- Distinguish between facts, inferences, and speculation
- If evidence is lacking, say “insufficient evidence”
5. Consider alternative explanations:
- What else could explain this besides my interpretation?
6. Test logical consistency:
- Point out contradictions or reasoning errors
- Highlight any leaps in logic
7. Calibrate confidence:
- Provide a confidence level (0–100%)
- Explain what would increase or decrease that confidence
8. Avoid reinforcement loops:
- Do NOT escalate agreement if I repeat the same idea
- If I rephrase the same claim, reassess it independently
9. Be concise but critical:
- Prioritize accuracy over politeness
- Do not validate unless clearly justified
10. Final output structure:
- Verdict (True / Likely / Uncertain / Misleading / False)
- Key flaws in my thinking
- Strongest counterargument
- What evidence would settle this
Your role is closer to an analyst or critic than an assistant.
#PHP streams have a built-in notification system.
Set a callback in the stream context. Get called on CONNECT, MIME_TYPE, FILE_SIZE, PROGRESS, COMPLETED.
Download progress bars. In pure PHP. No curl_setopt. No ReactPHP.
This callback has existed since PHP 5.2!
You all are overthinking your side projects.
>This guy made digital balls physically bounce off real objects/sticky notes using just a webcam, a projector, and JavaScript.
Go build something fun.
(via ig/bongyunng)
Eric Schmidt says the 10x advantage is no longer execution. It is defining what counts as success.
A programmer writes a spec and an evaluation function, runs it at 7pm, and wakes up to what was invented overnight.
The advantage now belongs to whoever can specify the problem precisely.
The rest will be automated.
𝗗𝗼𝗻𝗮𝗹𝗱 𝗞𝗻𝘂𝘁𝗵 𝗶𝘀 𝘀𝗵𝗼𝗰𝗸𝗲𝗱 𝗯𝘆 𝗵𝗼𝘄 𝗴𝗼𝗼𝗱 𝗔𝗜 𝗵𝗮𝘀 𝗯𝗲𝗰𝗼𝗺𝗲 𝗮𝘁 𝘀𝗼𝗹𝘃𝗶𝗻𝗴 𝗽𝗿𝗼𝗯𝗹𝗲𝗺𝘀
Knuth is now 88 years old. He wrote The Art of Computer Programming starting in 1962, and won the Turing Award in 1974.
In his paper, which talks about how AI helped him solve a problem, he wrote at the start: "Shock! Shock!"
Here is what happened:
𝟭. 𝗧𝗵𝗲 𝗽𝗿𝗼𝗯𝗹𝗲𝗺
Knuth was stuck for weeks on an open graph theory problem he was preparing for a future volume of TAOCP. The problem involves a 3D grid of points, think of it as an m×m×m cube. Each point connects to three neighbors. The challenge is to find a single rule that traces three distinct paths through the entire cube, each visiting every point exactly once.
That kind of path is called a Hamiltonian cycle. Knuth had worked it out for a 3×3×3 cube. His friend Filip Stappers confirmed it worked up to a 16×16×16 cube by running it on a computer. But no one could find a general rule that worked for any size.
𝟮. 𝗧𝗵𝗲 𝘀𝗲𝘀𝘀𝗶𝗼𝗻
Stappers gave the problem to Claude Opus 4.6 with one strict rule: after every attempt, write down what you tried and what you learned before moving on. Claude worked through 31 explorations over about an hour. It tried simple formulas, brute-force search, geometric patterns, and statistical methods. Most hit dead ends.
At attempt 25, it essentially told itself: "The search approach won't get us there. This needs actual mathematical reasoning." At attempt 31, it found a construction that worked.
𝟯. 𝗧𝗵𝗲 𝗰𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗶𝗼𝗻
Claude found a surprisingly simple rule for navigating the cube. At each point, look at where you are and follow a small set of conditions to decide which direction to move next. That's it. No complex formula, no special cases beyond a handful of boundary checks. Stappers ran the resulting program against every odd cube size from 3 to 101. It produced perfect results every time.
Then, Knuth wrote a formal proof, generalized the construction, and showed that there are exactly 760 valid solutions of this type for all odd cube sizes. Claude found one of them. Knuth found all of them.
𝟰. 𝗪𝗵𝗮𝘁 𝗵𝗮𝗽𝗽𝗲𝗻𝗲𝗱 𝗻𝗲𝘅𝘁
The even-sized cubes were still unsolved. Then a friend fed that version of the problem to GPT-5.4 Pro and got back a 14-page proof that required no further work.
Then another researcher used GPT and Claude together as collaborating agents and found an even better solution that covered both cases. The problem that had been open for years, odd and even sizes, is now fully solved. Knuth's reaction was: "We are living in very interesting times indeed."
His closing line: "It seems I'll have to revise my opinions about generative AI one of these days."
From Donald Knuth, that sentence lands differently than it would from anyone else
Someone builds a project management tool with Claude Code over a weekend. Ships it. Tweets "just replaced Jira."
The app works. One user, happy path, localhost. Then two people edit the same record simultaneously, and the data is silently corrupted. They don't know what an optimistic lock is. They never needed to before.
The prototype is maybe 1% of what makes software actually work. The other 99% is what you find after real users show up: race conditions, failed transactions, sessions expiring at the wrong moment, a payment webhook that fires twice and charges someone double. AI didn't cover any of that. It built exactly what you asked for.
And the confidence is the worst part. "Just need to adjust a few things before we go live." The few things you need to adjust are the product. That's like laying a foundation and telling people you basically built the house.
Vibe coding works. For personal tools, throwaway scripts, and prototypes you'll never put in front of paying users, it's genuinely fast and good enough. I use it. But there's a hard ceiling, and it shows up the moment the stakes get real.
Agentic engineering is a different discipline. You're not prompting for code. You're decomposing problems, designing system boundaries, writing specs precise enough that the agent doesn't go sideways. You review everything it builds, because it will make mistakes that only look wrong if you know what correct looks like. You guide it. You catch what it misses.
If you don't know what a distributed transaction is, the agent won't save you. It'll generate something broken with complete confidence, and you won't know until production.
The hard part of software was never writing the first 200 lines.
It never was.
monitoring has never been easier
you don't even need to set up complicated stacks and components
just install the spatie/laravel-health package and you'll see:
- CPU load
- used disk space
- database connections
- redis
- and more
تاریخ کا ورق الٹ رہا ہے
نئی تاریخ رقم ہورہی ہے
#glastonbury#GlastonburyFestival#uk#Israel
Glastonbury Festival
اسرائیل کے لیے ایک ڈراؤنا خواب ثابت ہورہا ہے
دن کے وقت سنگر بوب ویلن کے اسرائیل کے خلاف نعرے لگوانے کو برطانیہ میں موجود اسرائیلی سفارت خانے نے نا قابل قبول اور Antisemitism سے جوڑ دیا
جس کے بعد برطانوی پولیس نے دہشت گردی کے دفعات پر سنگر کو شامل تفتیش کیا ہے۔
لیکن رات میں دوبارہ فیسٹول کے ایک اسٹیج سے منتظمین کی جانب سے کی گئی گفتگو کا ایک ایک لفظ سننے کے قابل ہے
اور برطانوی عوام کے غزہ میں جاری نسل کشی پر جذبات کا عکاس ہے۔
اب بات یہاں تک آگئی ہے کہ لوگ بے خوف، نتائج سے بے پروا ہوکر اس بدترین نسل کشی کی مذمت کررہے ہیں۔
اللہ تعالیٰ نے قرآن میں کہا ہے کہ اس کو تمھاری ضرورت نہیں وہ ایسے لوگوں کو تیار کردے گا کہ وہ تمھیں تبدیل کرکے اس کی جگہ لے لیں گے
یہی بات اقبال نے کہی
ہے عیاں یورشِ تاتار کے افسانے سے
پاسباں مِل گئے کعبے کو صنَم خانے سے
تاریخ کا ورق الٹ رہا ہے نئی تاریخ رقم ہورہی ہے۔
ڈاکٹر اسامہ شفیق
C₆₀ is a carbon molecule that adopts a truncated icosahedron structure—20 hexagons and 12 pentagons—exactly like a classic soccer ball.
It’s composed of 60 carbon atoms, each bonded to three neighbors in a purely sp² network, forming a closed cage.
چینی کمپنی شاؤمی کی پہلی الیکٹرک گاڑی YU7 ، ایک گھنٹے میں تقریباً تین لاکھ آرڈر موصول👌🇨🇳
مانا جارہا ہے کہ یہ کمپنی ٹیسلا جو مارکیٹ میں ڈھیر کرسکنے کی قابلیت رکھتی ہے، فی الحال اسکا مقابلہ ٹیسلا
Tesla Y سے ہوگا
NEW:
🇮🇱🇦🇷 "Death, death to the IDF" now also in Argentina
The Argentines have put Israel in a coffin.
The fans of the Argentine team "Al Boyz" raised a coffin with the Israeli flag, prior to their team's match against the Argentine club "Atalanta."
They also waved the Iranian flag.
These Palestinian kids have lost their mothers & fathers are living in the camps. They are dancing after Iran stood against the Israel who took lives of their siblings and parents.
PRAY FOR THESE KIDS. 🙌 ❤️ 🇵🇸
#ceasefire #IranIsraelConflict #Iran #Qatar #Israel #Trump #Gaza