Marshall Bowers

Conjurer of code. Devourer of art. Pursuer of æsthetics.

Quotes

This is a collection of some of my favorite quotes on a variety of subjects.

Programming

A language that doesn't affect the way you think about programming, is not worth knowing.

— Alan Perlis


Make it work, make it right, make it fast.

— Kent Beck


For all the silly platitudes thrown around in our field, the exaltation of refactoring isn't one of them — aggressive and continuous refinement is the only path to beautiful, sustainable software.

Any code that ossifies after being first written is almost certainly bad code.

Brandur Leach


for each desired change, make the change easy (warning: this may be hard), then make the easy change

Kent Beck


It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.

Edsger Dijkstra


The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

— Fred Brooks, The Mythical Man-Month


When people say "comments are bad" they mean "don't put information in comments if you can make it evident from the code". This is correct.

When they say "comments are good" they mean "take the higher-level thoughts you couldn't, and write those down too". This is also correct.

Gábor Lehel


Seven deadly sins [of programming]:

  1. Code even you cannot understand a week after you wrote it – no comments
  2. Code with no specifications
  3. Code that is shipped as soon as it runs and before it is beautiful
  4. Code with added features
  5. Code that is very very fast very very very obscure and incorrect
  6. Code that is not beautiful
  7. Code that you wrote without understanding the problem

Joe Armstrong, "The Mess We're In"


There are certainly times when code needs to be complex, but this does not mean that it should be complicated. And when code needs to be simple, it should not be simplistic. Although well meant, some programmers assume that for their code to be readable and be considered good they must spell out its logic and flow on droolproof paper with the equivalent of kindergarten vocabulary. The resulting code is often dumbed down and padded out to the point of incomprehensibility, achieving quite the opposite result from the one intended.

Kevlin Henney, "Code versus Software"

Dogma

What does it mean to be a revolutionary? To challenge an existing dogma, instead of complying with it: to reject its tenets, highlight its flaws and improve each of its shortcomings.

Umair Haque


If you fetishize and cargo cult the infrastructure required by companies with literally 10,000 times your traffic, you will not have fun.

Gary Bernhardt

Software

There's an oft-cited trope in technology circles that products are only about execution – that your choice of database or programming language doesn't matter. Having seen reams of evidence to the contrary first hand, count me as a firm disbeliever. Instead of working with strong constraints, ACID, and rich data types, I’ve spent the last few years building expertise on how to not break things in a schemaless world, how to build applications without transactions (or put otherwise, how to mitigate collateral damage), and how to repair non-relational models that should just have been relational in the first place.

Brandur Leach

Software Architecture

A Big Ball of Mud is a haphazardly structured, sprawling, sloppy, duct-tape-and-baling-wire, spaghetti-code jungle. These systems show unmistakable signs of unregulated growth, and repeated, expedient repair. Information is shared promiscuously among distant elements of the system, often to the point where nearly all the important information becomes global or duplicated.

The overall structure of the system may never have been well defined.

If it was, it may have eroded beyond recognition. Programmers with a shred of architectural sensibility shun these quagmires. Only those who are unconcerned about architecture, and, perhaps, are comfortable with the inertia of the day-to-day chore of patching the holes in these failing dikes, are content to work on such systems.

— Brian Foote and Joseph Yoder, Big Ball of Mud

Perfectionism

If your fidelity to perfectionism is too high, you never do anything.

— David Foster Wallace

People

We sometimes encounter people, even perfect strangers, who begin to interest us at first sight, somehow suddenly, all at once, before a word has been spoken.

— Fyodor Dostoyevsky, Crime and Punishment


Now people are books to me. I read them from cover to cover and toss them aside. I devour them, one after the other. And the more I read, the more insatiable I become. There is no limit to it.

— Henry Miller, Tropic of Capricorn

Solitude

I enjoy controlled loneliness. I like wandering around the city alone. I’m not afraid of coming back to an empty flat and lying down in an empty bed. I’m afraid of having no one to miss, of having no one to love.

— Kuba Wojewódzki

America

What's great about this country is America started the tradition where the richest consumers buy essentially the same things as the poorest. You can be watching TV and see Coca-Cola, and you can know that the President drinks Coke, Liz Taylor drinks Coke, and just think, you can drink Coke, too. A Coke is a Coke and no amount of money can get you a better Coke than the one the bum on the corner is drinking. All the Cokes are the same and all the Cokes are good.

— Andy Warhol

Values

Why was I so dissatisfied with my (paid, professional) work? Because it was misaligned with my values and sense of what needed to be put into the world. Why did I get disillusioned with my circus show? Many reasons, but the biggest, starkest one is that it felt like I wasn’t saying anything I wanted to say – it felt empty and meaningless.

This wasn’t about utility or 'impact'. It was about me, and my sense of self, and how that tied in to what I wanted to make in the world.

Autotranslucence, "Art as the Starting Point"

Loss

I think it's important to realize you can miss something, but not want it back.

— Paulo Coelho

Change

No man ever steps in the same river twice, for it's not the same river and he's not the same man.

— Heraclitus

Incompetence

Any sufficiently advanced incompetence is indistinguishable from malice.

— Grey's law

The Web

You’ll never live in a utopia, but you can glance into one. Economies are based on scarcity, the amount of things you own, and the amount of things you can take from others.

However digital space has no scarcity, it’s impossible to make a digital asset scarce. On the web everything is free and unlimited, but also independent and individual. On the web we all own infinite worlds, we are all kings and queens. It's an economy of creativity, the only limits are time and imagination.

All these social media and crypto people, they try to take that away from you because the only way they can make money is to put limits on infinity, they squash you into their format like a sardine in a can.

Melon

Incidents

Incidents that you can control often feel better than third party incidents where you can’t control the outcome. After the incident you can write a post-mortem, learn from it, and get a warm fuzzy feeling that you’ve improved your product along the way.

However, in the cold light of day, the numbers are unlikely to support this theory. Unless you have the best SRE team in the world, you aren’t going to ship infrastructure products with better availability than a cloud provider.

Instead, we should again focus on the things that are within our control.

Lisa Karlin Curtis, incident.io

Indecision

I saw my life branching out before me like the green fig tree in the story.

From the tip of every branch, like a fat purple fig, a wonderful future beckoned and winked. One fig was a husband and a happy home and children, and another fig was a famous poet and another fig was a brilliant professor, and another fig was Ee Gee, the amazing editor, and another fig was Europe and Africa and South America, and another fig was Constantin and Socrates and Attila and a pack of other lovers with queer names and offbeat professions, and another fig was an Olympic lady crew champion, and beyond and above these figs were many more figs I couldn't quite make out.

I saw myself sitting in the crotch of this fig tree, starving to death, just because I couldn't make up my mind which of the figs I would choose. I wanted each and every one of them, but choosing one meant losing all the rest, and, as I sat there, unable to decide, the figs began to wrinkle and go black, and, one by one, they plopped to the ground at my feet.

— Sylvia Plath, The Bell Jar

Limits

I can never read all the books I want; I can never be all the people I want and live all the lives I want. I can never train myself in all the skills I want. And why do I want? I want to live and feel all the shades, tones and variations of mental and physical experience possible in my life. And I am horribly limited.

— Sylvia Plath