Solving Mathematical Problems: A Personal Perspective, by Terence Tao
╰┈➤https://t.co/UkDi5hf8HZ
Amazon summary: "Authored by a leading name in mathematics, this engaging and clearly presented text leads the reader through the various tactics involved in solving mathematical problems at the Mathematical Olympiad level. Covering number theory, algebra, analysis, Euclidean geometry, and analytic geometry, Solving Mathematical Problems includes numerous exercises and model solutions throughout. Assuming only a basic level of mathematics, the text is ideal for students of 14 years and above in pure mathematics."
"Critical Thinking in Qualitative Research: A New Compilation" — A selection of 9 articles appearing from 2017-2025 emphasizing the essential role that critical thinking — from the human mind — plays in the quality and integrity of qualitative research. https://t.co/ZSIFHY9o7c
A journalist in 1987 rewrote the 2,500-year-old Tao Te Ching as a series of short parables about programmers, and the book became required reading inside Silicon Valley because every line of the joke turned out to be deadly serious.
His name was Geoffrey James.
He was not a famous engineer. He was a technology journalist who had spent years inside the offices of early software companies watching the same disasters play out over and over again.
Managers piling more programmers onto failing projects. Codebases collapsing under their own weight. Corporate hierarchies producing endless documents that nobody read. Geniuses being interrupted by meetings until they quit and went home.
He could have written a serious management book. Plenty of serious management books already existed and almost nobody in software was reading them. He decided to do something stranger.
He picked up a copy of the Tao Te Ching, the foundational text of Taoist philosophy written in China around 500 BC, and he rewrote it line by line as if Lao Tzu had been a master programmer.
The result was published in 1987 as The Tao of Programming. 151 pages. Nine books. Roughly 50 short parables. A comedy book on the surface and a philosophy book underneath, written in deliberately ornate language that made you smile while you were absorbing arguments that have aged better than almost anything else published about software in the last 40 years.
The opening line of the book is the giveaway. Thus spake the master programmer. When you have learned to snatch the error code from the trap frame, it will be time for you to leave. The joke is that he is parodying the kung fu master from the old Kung Fu TV show. The argument underneath the joke is that real mastery in software is not measured by what you can build. It is measured by how cleanly you can recover when the system fails.
The book has been passed around hacker communities continuously since the late 1980s. It sits alongside Fred Brooks's Mythical Man-Month on the required reading list of serious software teams. People who have never heard of Geoffrey James still quote his lines without knowing where they came from. The reason it has refused to die for 40 years is that every line of the parody was always disguising a piece of real wisdom that nobody else was willing to say plainly.
Here are some of the lines, and what each one is actually saying.
"Even a perfect program still has bugs."
The line is funny because it sounds like a contradiction. The truth underneath is that there is no such thing as a finished program. Every system you ship is alive. It is going to encounter inputs you did not anticipate, hardware you did not test on, and edge cases your imagination could not produce.
Treating any piece of software as finished is the single most common reason production systems fail. The masters in the book are calm about bugs because they have stopped pretending bugs are exceptions. Bugs are the default state. The programmer's job is to keep them from compounding.
"Let the programmers be many and the managers few. Then all will be productive."
The line is funny because every software company in the world does the opposite. The truth underneath is that programming is a kind of work that runs almost entirely on uninterrupted thought, and the more layers of management you stack on top of it, the more interruptions you create, the more meetings the programmers have to attend, the fewer actual hours of deep work get done.
Every manager you add to a software team subtracts more productive hours from the engineers than the manager could possibly add through coordination. Brooks proved this formally in 1975. James said it in nine words in 1987.
"After three days without programming, life becomes meaningless."
The line is funny because it sounds like an addict talking. The truth underneath is that genuine craft work produces a kind of meaning that almost nothing else in modern life provides. The programmer who has not touched real code in three days is not just bored.
They are emotionally underfed. The masters in the book understand that the work itself is not a means to a paycheck. The work is the reward. The paycheck is a side effect. Everything that interferes with the actual work, no matter how prestigious or well-paid it looks, is making the programmer's life worse, not better.
"A manager went to the master programmer and showed him the requirements document for a new application. The manager asked the master, how long will it take to design this system if I assign five programmers to it? The master replied, it will take one year. The manager said, but we need this system immediately or even sooner. How long will it take if I assign ten programmers to it? The master programmer frowned. In that case it will take two years."
The line is the punchline of Brooks's Law disguised as a koan. Adding programmers to a late project makes it later, because every new person has to be brought up to speed by the existing team, which slows the existing team down, which extends the timeline. The book teaches this in 60 words. The same lesson takes most managers 20 years of failed projects to learn, if they ever learn it at all.
The deeper pattern is the one most readers miss the first time through.
James was not really writing about programming. He was using programming as a setting for a much older argument that Taoist philosophy has been making for 2,500 years.
The argument is that the world is governed by simple principles that get harder to see the more cleverness you stack on top of them. Force does not work. Pressure does not work. More resources do not work. The only thing that works is restraint, simplicity, and the patience to let the right shape emerge.
Lao Tzu was talking about how to govern a kingdom. James was talking about how to ship software. The wisdom is the same. The kingdom is the codebase. The emperor is the project manager. The advisors are the developers. And the entire collapse of every doomed software project in the last 40 years has had the same root cause that the collapse of every doomed dynasty has had for the previous 4,000.
People mistook complexity for competence.
The book has been sitting on the internet for free for almost 30 years. You can read all 151 pages in an afternoon. Most people who run it as a joke walk away quoting it for the rest of their careers.
What James understood in 1987 is even more true in 2026. AI can now generate millions of lines of code in seconds. The bottleneck has shifted entirely. The bottleneck is no longer typing speed. The bottleneck is judgment. The bottleneck is taste. The bottleneck is the ability to look at a generated codebase and feel, without quite knowing why, that something is wrong with it. That kind of feel is exactly what the book was teaching all along.
The Tao of Programming flows far away and returns on the wind of morning.
The masters in the book were never joking. The world just took 40 years to figure out they were not.
A friend recommended this book, and I went through some of the sample chapters on the official book site; they were quite impressive. Looking forward to getting this soon.
Schroedinger's Message
In a distributed system, every message is both delivered and not delivered until you learn the outcome. Engineers must design protocols that stay correct in the superposition.
Retries collapse the wavefunction. Idempotency helps you survive the collapse
📨Quiero comunicaros que he escrito una solicitud a @hellogames para que nos hagan saber los requisitos para que la @RoyalSpaceHub sea canon en @NoMansSky.
♥️Lleváis años haciendo un trabajo espectacular como comunidad y pienso hacer lo que esté en mi mano.
most people learn computing from the software side.
variables
loops
functions
APIs
but underneath all of it is hardware.
gates
flip-flops
clocks
registers
state machines
parallel logic
learning fpgas by justin rajewski
is a beginner path into digital design using mojo and lucid HDL.
the key shift:
• you are not writing instructions for a processor.
• you are describing hardware itself.
• software runs step by step.
• fpga logic runs in parallel.
that changes how you think:
• time matters
• clock cycles matter
• signal timing matters
• state transitions matter
learning fpgas teaches you how computers are built below the abstraction layer.
not as code.
as circuits that think in logic.
Affiliate link: https://t.co/CtVfnpoHNr