Quotes
I will create value for society, rather than extract it.
—Rakesh Khurana’s definition of a professional, as quoted by John Bogle in his book Enough
If we can get away without distributing our data, we will always choose a single-server approach.
—Sadalage, Fowler, NoSQL Distilled
Persons who have peculiar talent for art, draw instinctively, and get on almost without teaching, though never without toil.
—Ruskin, The Elements of Drawing (p. 27)
To play much better — that’s all I’m interested in; so I teach. And as the eldest member of the class that also says that I’m the dumbest, because I’ve been in the class the longest. I’m teaching right now so that somebody might luckily come up and show me the right thing and then when they show it to me I’m gonna forget about teaching and everything; see, I’ll graduate from the class then.
—Barry Harris, ~20 minutes into Passing It On — a musical portrait of Barry Harris, jazz pianist and teacher
I would not wish to live in any different century, nor to have worked for any other.
—Schiller, On the Aesthetic Education of Man (second letter)
Production and ritual are mutually exclusive.
—Byung-Chul Han, The disappearance of ritual (“From Duelling to Drone Wars”, p. 75),
… the importance of contrapuntal organization in the works of Chopin or Schubert
The relation of species counterpoint to the voice leading of composition resembles the connection between a fundamental scientific or philosophical concept and its manifold elaborations and developments.
—Salzer and Schachter, Counterpoint in Composition (pp. xvi and xviii)
It is an evil when the drama of a life does not continue in others for reason of their deafness or ignorance.
—James P. Carse, Finite and Infinite Games (p. 32)
CS folks have long sought “high level coding” as a way of expressing something that clearly begs expressing. I find that I can use simple C to frame out even the grandest concepts. It should be concrete, yet general.
[Alan] Kay taught us that good design form reflects human mental models.
—James Coplien, LinkedIn post, 2022-02-09 (I found Alan Kay’s Scientific American article and Alan Kay’s list of old books new programmers should read)
I don’t want to work on a team ever again that doesn’t do test-driven development day to day; it’s by far the most effective practice that’s surfaced during my time as a software developer.
—Dave Farley, Martin Fowler On The Fundamentals Of Software Development, The Engineering Room Ep. 1, 1:04:07
For most of the kind of commercial software that we work on at ThoughtWorks, TDD is an essential.
—Martin Fowler, same as previous quote
Clean code honors the deep roots of wisdom beneath our broader culture, or our culture as it once was, or should be, and can be with attentiveness to detail.
You should name a variable using the same care with which you name a first-born child.
Quality is the result of a million selfless acts of care—not just of any great method that descends from the heavens. That these acts are simple doesn’t mean that they are simplistic, and it hardly means that they are easy. They are nonetheless the fabric of greatness and, more so, of beauty, in any human endeavor. To ignore them is not yet to be fully human.
—James Coplien, forward to Clean Code by Robert Martin (pp. xxi and xxii)
For as long as
space endures
and for as long as
living beings remain,
until then
may I too
abide
to dispel
the misery of the world.
—attributed to Shantideva, spoken by H.H. The Dalai Lama, One of My Favorite Prayers
We’re in the business of producing side effects, but we should not use side effects as the tools to do our work.
—Russ Olsen, Expert Talk: Functional Programming • Russ Olsen & Christian Romney • GOTO 2022 t=476
If you can’t trust you teammates to make changes carefully, then your version control system is not going to fix that for you. The real answer is to figure out how to make your colleages more trustworthy.
—Dave Farley, You NEED To Stop Using Pull Requests
When we do read code, we find that some of it gets written because of machine limitations, some because of language limitations, some because of programmer limitations, some because of historical accidents, and some because of specifications–both essential and inessential.
—Gerald M. Weinberg, The Psychology of Computer Programming, p. 13
As is usual with programming disasters, nobody recognized it as such.”
—Gerald M. Weinberg, The Psychology of Computer Programming, p. 17
Bertrand Russell wrote in The Philosophy of Logical Atomism that “Everything is vague to a degree you do not realise till you have tried to make it precise.” On most projects event today, writing code is the first time that we try to make the solution really precise.
—Gojko Adzic, Bridging the Communication Gap, p. 12
I think we have a social responsibility to make a lean world that’s broadly contributing to the value of society rather than a few individuals here and there.
—James Coplien, Scaling Agile: The Small-is-Beautiful of Hubs • James Coplien • GOTO 2021
Working from specifications does not guarantee that the project will deliver the desired business value.
—Gojko Adzic, Bridging the Communication Gap, p. 15
As formality increases, tests and requirements become indistinguishable. At the limit, tests and requirements are equivalent.
—Robert C. Martin, Grigori Melnik Tests and Requirements, Requirements and Tests: A Möbius Strip, quoted by Gojko Adzic, Bridging the Communication Gap, p. 26
Especially whatever is floating, inconspicuous, or fleeting reveals itself only to deep, contemplative attention. Likewise, it is only contemplative lingering that has access to phenomena that are long and slow. Paul Cézanne, a master of deep, contemplative attention, once remarked that he could see the fragrance of things. This visualization of fragrances requires profound attention. In the contemplative state, one steps outside oneself, so to speak, and immerses oneself in the surroundings. Merleau-Ponty describes Cézanne’s mode of contemplatively observing a landscape as a kind of externalization or de-interiorization: “He would start by discovering the geological structure of the landscape; then, according to Mme Cézanne, he would halt and gaze, eyes dilated. . . . “The landscape thinks itself in me,” he said, “and I am its consciousness.”
—Byung-Chul Han, The Burnout Society (“Profound Boredom”, p. 14)
Q: What is your favourite colour?
A: General harmony.
—Paul Cézanne, from “A questionnaire, Mes Confidences”, Cézanne by himself edited by Richard Kendall (p. 31)
TDD explained in one sentence: Build a habit of refactoring safely and often.
—Kyle Griffin Aretae, LinkedIn post, 2022-04-22
Teams often consider requirements as something carved in stone that has to match exactly what customers demand. In fact, customers will often accept a different solution if it solves the problem, especially if it is a lot cheaper and easier to implement.
—Gojko Adzic, Bridging the Communication Gap, pp. 30-31
Often the original proponent of a theory or technique understands its promise, its liabilities, and its proper domain more clearly than his later disciples. Less gifted, more fervent, their very fervor leads to rigidity, misapplication, oversimplification.
—Frederick P. Brooks, Jr., The Design of Design, p. 31
Do not try to imitate the old masters. Seek what they sought.
—Matsuo Basho, quoted by Bryan Liles in his talk Test all the f***ing time
Great teams make great engineers.
I’ve never seen a team of absolutely miserable engineers creating a product that delights their users. And I’ve never seen a company with absolutely miserable users, where their engineers enjoyed their work.”
—Charity Majors, 11:08 and 2:55 in It is Time to Fulfill the Promise of Continuous Delivery (YouTube)
—Charity Majors
I think of continuous delivery as a kind of second-generation extreme programming approach, firmly grounded in the techniques of test-driven development.
—Dave Farley, The Difference Between Continuous Delivery & Continuous Deployment, 3:19
Every model is ultimately the expression of one thing we think we hope to understand in terms of another that we think we do understand.”
Science is the study of those things that can be reduced to the study of other things.”
Every significant thinker in science has drawn upon useful analogies for simplifying certain stages of thought.”
We want to understand and communicate the ways in which thinkers in all fields use analogies and, when necessary, convert them into models.”
—G.M. Weinberg, An Introduction to General Systems Thinking, p. 28-31
It isn’t what we don’t know that gives us trouble, it’s what we know that ain’t so.
quoted (unattributed) by G. M. Weinberg, An Introduction To General Systems Thinking, p. 43
Metaphor is like function. Instead of ‘My love is like a red, red rose…’ we could write ‘loved one = f(rose, …)’ which states that loved one is like a rose, in some unspecified way f.”
—G.M. Weinberg, An Introduction To General Systems Thinking, p. 142
Science may be thought of as the process of learning which ways of looking at things yield invariant laws.
—G.M. Weinberg, An Introduction To General Systems Thinking, p. 203
The medicine person’s primary allegiance is not to the human community, but to the earthly web of relations in which the community is embedded—it is from this that his or her power to alleviate human illness derives.
Countless anthropologists have managed to overlook the ecological dimension of the shaman’s craft, while writing at great length of the shaman’s rapport with “supernatural” entities. We can attribute much of this oversight to the modern, civilized assumption that the natural world is largely determinate and mechanical, and that that which is regarded as mysterious, powerful, and beyond human ken must therefore be of some other, nonphysical realm above nature, “supernatural.”
Magic in its perhaps most primordial sense, is the experience of existing in a world made up of multiple intelligences, the intuition that every form one perceives—from the swallow swooping overhead to the fly on a blade of grass, and indeed the blade of grass itself—is an experiencing form, an entity with its own predilections and sensations, albeit sensations that are very different from our own.
It is likely that the “inner world” of our Western psychological experience, like the supernatural heaven of Christian belief, originates in the loss of our ancestral reciprocity with the animate earth.
It is not by sending his awareness out beyond the natural world that the shaman makes contact with the purveyors of life and health, nor by journeying into his personal psyche; rather, it is by propelling his awareness laterally, outward into the depths of a landscape at once both sensuous and psychological, the living dream that we share with the soaring hawk, the spider, and the stone silently sprouting lichens on its coarse surface.
—David Abram, The Spell of the Sensuous, p. 8-10
Has object-oriented programming peaked? Is it something that is no longer going to be the future? I think the answer to that is ‘yes’.
—Richard Feldman, The Next Paradigm Shift in Programming (YouTube)
Harmony — balance — does not mean fixity of inactive factors, but equilibrium of the most intense energies.
—Arnold Schoenberg, Theory of Harmony (1911, 1922, tr. 1978), p. 31
Free from what? What is that to Zarathustra! But your eyes should announce to me brightly: free for what?
—Friedrich Nietzsche, Thus Spoke Zarathustra (originally published in German, in 1883)
Once complexity has accumulated, it is hard to eliminate, since fixing a single dependency or obscurity will not, by itself, make a big difference. In order to slow the growth of complexity, you must adopt a “zero tolerance” philosophy.
—John Ousterhout, A Philosophy of Software Design (2018), p. 11
The first step toward becoming a good software designer is to realize that working code isn’t enough. It’s not acceptable to introduce unnecessary complexities in order to finish your current task faster. The most important thing is the long-term structure of the system.
—John Ousterhout, A Philosophy of Software Design, p. 14
One of the most important elements of software design is determining who needs to know what, and when.
—John Ousterhout, A Philosophy of Software Design, p. 43
“One dress and one bowl, under a tree and on a stone” graphically describes the monk’s life in India. Compared with this, the modern Zen monk must be said to be abundantly supplied. Still his wants are reduced to a minimum and none can fail to lead a simple, perhaps the simplest, life if he models his after the life of a Zen monk. The desire to possess is considered by Buddhism to be one of the worst passions with which mortals, are apt to be obsessed. What, in fact, causes so much misery in the world is the universal impulse of acquisition. As power is desired, the strong always tyrannize over the weak; as wealth is coveted, the rich and poor are always crossing swords of bitter enmity. International wars rage, social unrest ever increases, unless this impulse to get and to hold is completely uprooted. Cannot society be reorganized upon an entirely different basis from what we have been used to see from the beginning of history? Cannot we ever hope to stop the massing of wealth and the accumulation of power merely from the desire for individual or national aggrandizement? Despairing of the utter irrationality of human affairs, Buddhist monks have gone to the other extreme and cut themselves off even from reasonable and perfectly innocent enjoyments of life. However, the Zen ideal of putting a monk’s belongings into a tiny box is his mute protest, though so far ineffective, against the present order of society.
—D. T. Suzuki, An Introduction to Zen Buddhism (1914), p. 120 (1991 Grove Press)
When a lioness gives birth to her cubs it is proverbially believed that after three days she pushes them over a precipice to see if they can climb back to her. Those that fail to meet this test are no longer cared about. Whether this is true or not, something like it is aimed at by the Zen master, who will often treat his monks with every manner of seeming unkindness.
—D. T. Suzuki, An Introduction to Zen Buddhism, p. 123
The idea behind test-driven development has always been “what should the API of our code look like? If I am an external consumer of this code and I come to call it, what kind of API would I find useful?” You’re testing as much the usability of the API — how you interact with it — as you are designing that public-facing API. You tell yourself a story about how this API should look if you were a consumer. The test becomes the first consumer of your code that says “what should this look like and how should it work?” That is the objective of test-driven development.
—Ian Cooper, TDD, Where Did It All Go Wrong (34:15)
I think of it as observability-driven development. It’s like TDD, but TDD stops at the border of your laptop. TDD assumes that the system works so you can check if your code works. That is a mighty big assumption. Observability-driven development encompasses production in that. ODD practices instrumentation as you’re writing your code with an eye to your future self who is going to need to understand it. ODD means that you have muscle-memory that remembers that when you merge code you go and you watch it deploy and you look at it through the lens of the instrumentation that you just wrote and you ask yourself “is it doing what I wanted it to do and does anything else look weird?”
—Charity Majors, The Socio-technical Path to High-Performing Teams (37:03)
Let your mind become a lens, thanks to the converging rays of attention; let your soul be all intent on whatever it is that is established in your mind as a dominant, wholly absorbing idea. Make an orderly series of your different studies, so as to throw yourself into them completely. Let each task take entire hold of you, as if it were the only one. That was Napoleon’s secret; it is the secret of all who are great in action. Men of genius themselves were great only by bringing all their powers to bear on the point on which they had decided to concentrate.
—Antonin Sertillanges, The Intellectual Life translated by Mary Ryan (The Spirit of Work, II. Concentration, p. 127)
Salvation, if it is attainable at all, even partially, is to be sought in a deeper understanding of the ways of systems, not simply in a criticism of the errors of a particular system.
—John Gall, Systemantics, p. xii
Sages for the people; the American in his cabin, the Spaniard in his provincial café. Machado too expressed a horror of the solemn and had the same smiling gravity.
—Octavio Paz, “Robert Frost” (Vermont, June 1945), On Poets and Others, p. 7 (1986; tr. Michael Schmidt)
Creating an abstract link between abstract concepts means understanding each thoroughly in itself, then understanding their relationship to each other… We must abstract from mathematics and music their practices and concerns, discern their inner lives, then tease out any signs of shared patterns. We need to define what mathematicians call a mapping between one world and the other.
—Edward Rothstein, Emblems of Mind (1995), p. 8
If life seems jolly rotten, there’s something you’ve forgotten — and that’s to laugh and smile and dance and sing.
—Eric Idle, Life of Brian
Not grammar, right or wrong, rescues the verse / But verse the grammar.
Correctness dulls, precision often maims / The poem; nor can the grammar rules the rime; / It is the poem that sets the grammar right.
—Karl Shapiro, Essay on Rime, II. The Confusion In Language, 3. Grammar, lines 985-6 and 1009-11
Melville is the poet of outrage of this century of America, Whitman is the poet of possibility; one cannot be repeated more than the other. But Whitman’s significance is based on the possibility realized in his period, as Dante’s is based on the system of his religion in his time. As far as their imagination of possibility outranges their time, their systems live; for their images are deep in their belief. Melville’s outrage lives; he touched perpetual evil, the perpetual hunt, and sea-images, world-images gave these their language. They speak for the backgrounds of our present. In our history, our open history, we know the gifts of many poets: in our buried history are the lost poems and songs; but these two master-poets, in all their work, stand at the doors of conflict, offering both courage and possibility, and choosing, emphasizing one or the other according to the ways in which forces that work in all of us drove them, and were driven, as they lived toward their forms.
—Muriel Rukeyser, The Life Of Poetry, chapter 5, pp. 83-84
The stone and the shell are alike in that they both signify Truth. They are also opposites. The stone is valuable because it stands for freedom from disorder and passion. The shell is valuable because it stands for life-giving power. Incidentally, also, the stone stands for the Divine Unity, the shell for the Divine Multiplicity. Both are means through which the True City is built. Men become brothers through the recognition of the common truth in their several minds, and through the experience of a common hope and joy in their several hearts. But at the same time both are dangers to the city. The truths of abstraction are unrelated to the historical reality of the human moment and distract from the historical task. The truths of feeling may overwhelm individual identity and social order in an anarchic deluge.
—W. H. Auden, The Enchafèd Flood, chapter 5, p. 43; based on the stone and the shell from Worsdsworth’s Prelude Book 5
Programming is problem-solving, and software is a collection of information describing a solution of a problem.
—Glenford J. Meyers, Software Reliability (1976), p. 16
Testing is the process of executing a program with the intent of finding errors. … If our goal is to demonstrate that a program has no errors, then we shall subconsciously be steered toward this goal. … On the other hand, if our goal is to demonstrate that a program has errors, our test data will have a higher probability of finding errors. The latter approach will add more value to the program than the former.
—Glenford J. Myers, The Art of Software Testing, p. 5
The conflict between poetry and the modern world starts with the pre-Romantics and continues until today. I shall try to describe this conflict, not through its whole evolution–I am not a literary historian–but by stressing the moments and works which show it most clearly. If this method seems arbitrary, I claim only that I am not being gratuitously arbitrary. My views are those of a Hispano-American poet; this is not a detached dissertation but an exploration of my origins, an indirect attempt at self-definition. My reflections belong to what Baudelaire called “partial criticism,” the only kind of considered valid.
—Octavio Paz, The Revolt of the Future (essay, part of the collection Children of the Mire, 1974)
[The artist] starts with a few slight indications in pencil, which hardly do more than mark the position which objects are to occupy in space. The principal planes are then sketched in tinted wash, vaguely and lightly coloured masses to start with, but taken up again later and successively charged with a greater intensity of colour. At the last minute the contour of the objects is once and for all outlined in ink. Without having seen them, it would be impossible to imagine the astonishing effects he can obtain by this method which is so simple that it is almost elementary. It posses one outstanding virtue, which is that, at no matter what stage in its execution, each drawing has a sufficiently ‘finished’ look; call it a ‘study’ if you will, but you will have to admit that it is a perfect study. The values are all entirely harmonious, and if the artist should decide to take them further, they will continue to march in step towards the desired degree of completion.
—Charles Baudelaire, The Painter of Modern Life and Other Essays (1863), p. 17
I don’t think it can work if you still have an agenda, if you feel you still need to prove something musically. That’s not the point—it’s just about the music. So you’re going to serve that, not yourself or somebody in the audience, not the critics or the reviewers. It’s just the music. What does the music want? Almost all of the music I play with Keith and Jack are like flowers. There’s this beautiful bouquet of flowers, so the idea is to really nourish them. You wouldn’t trample them, you wouldn’t give them too much water or you’d drown them. How do I nourish these flowers so they can really express themselves? You approach the music from that standpoint, rather than as a vehicle for your technique or your self-expression. Creativity is not the point. It’s just about the music.
—Gary Peacock, Gary Peacock: Zen Bass