If they were deliberate, then that would imply that their existence is perfection. To recognize that the typos were accidental mistakes by the human typing them is to recognize the Tao.
Ha! I first came across this verse (7.2) early in my career, circa 2001 or so, and it always stuck with me.
> 7.2
In the East there is a shark which is larger than all other fish. It changes into a bird whose wings are like clouds filling the sky. When this bird moves across the land, it brings a message from Corporate Headquarters. This message it drops into the midst of the programmers, like a seagull making its mark upon the beach. Then the bird mounts on the wind and, with the blue sky at its back, returns home.
The novice programmer stares in wonder at the bird, for he understands it not. The average programmer dreads the coming of the bird, for he fears its message. The Master Programmer continues to work at his terminal, unaware that the bird has come and gone.
Because the master can even hit the seagull with his Slingshot, that the Corp. H.Q. will not say anything to make him angry and make him think about the others H.Q.s that exist and make him wonder the salary there.
That feels like kind of a dangerous advice. Seems to me that means that if Google announces that they want to roll out a full cencorship in China so that they can enter the market over there, the most prominent developers will just silently continue to work on it..?
I think the context of where this came from helps explain the quote (beginning of chapter 1 of Zhuangzi):
> IN THE NORTHERN DARKNESS there is a fish and his name is K'un.1 The K'un is so huge I don't know how many thousand li he measures. He changes and becomes a bird whose name is P'eng. The back of the P'eng measures I don't know how many thousand li across and, when he rises up and flies off, his wings are like clouds all over the sky.
The big bird is so huge that it is alien to the smaller ecosystems below it. In the same way, CEOs and upper management are so "huge" (at the top of the hierarchy) that their choices seem incomprehensible from the point of e.g. a junior dev. Maybe they good or bad choices, but in any case their day-to-day choices are different from a single developer's.
> The cicada and the little dove laugh at this, saying, "When we make an effort and fly up, we can get as far as the elm or the sapanwood tree, but sometimes we don't make it and just fall down on the ground. Now how is anyone going to go ninety thousand li to the south!"
Here the small creatures make fun of the bird, not exactly understanding its world or experiences, but instead comparing the Peng's actions and natural inclinations to their own. A dove has no need to travel thousands of miles, which is a short trip for the Peng.
In the GP's comment, the novice programmer "stares in wonder at the bird" because - in the same way - his day-to-day experience is so different from the people who run Corporate Headquarters. The Master Programmer knows that CH is "doing it's thing" so to speak, or just following its own nature. Any attempt to understand the machinations and decisions of upper management from the viewpoint of a programmer simply doesn't work, so they do not bother to think about it.
I remember a story about a professor: one student of his turned in a program neatly divided in functions for each bit of functionality, and ‘main’ consisted only of function calls. The professor was aghast at this waste of resources and sent the student back to rework the program.
This was related much later by the professor himself, and he was fully aware of how prescient the student was.
A novice was trying to fix a broken Lisp machine by turning the power
off and on.
Knight, seeing what the student was doing, spoke sternly: “You cannot
fix a machine by just power-cycling it with no understanding of what
is going wrong.”
Knight turned the machine off and on.
The machine worked.
> The Tao gave birth to machine language. Machine language gave birth to the assembler. The assembler gave birth to the compiler. Now there are ten thousand languages.
> True, sometimes there are difficult problems. I see them coming, I slow down, I watch silently. Then I change a single line of code and the difficulties vanish like puffs of idle smoke.
I've started to debug like this. Sure, I also actively debug by adding print statements and manipulating my code. But there's something to be said about just thinking and waiting for the answer.
Interesting. Generally, what I do as the first step is immediatelly connect a remote debugger and debug the piece of code that I think is problematic (which is correct in around 90% of the times for me). Then, the answer is generally trivial. I started doing this because it felt way more time efficient than staring into the code and trying to think what goes wrong over there.
I've found that sometimes there's additional benefit to the "take a step back and think about what the code is actually doing" step, in the sense that doing so helps gain better knowledge about how the code actually works and often reveals opportunities to simplify the design (sometimes in such a way that ends up inadvertently fixing the problem, though admittedly it'll more often just introduce more bugs ;) ).
> Only a fool expects rational behavior from his fellow humans. Why do you expect it from a machine that humans have constructed? Computers simulate determinism; only Tao is prefect.
Apparently the typo was "fixed" in the html version http://www.mit.edu/~xela/tao.html maybe whoever ported didn't catch the subtle double meaning ? Or was just a typo.
That reminds me of a tagline I saw on a movie poster for a Sci Fi movie a long time ago. Something along the lines of: "The computer is in complete control, mistakes are impossble."
Hmm, can't recall what the name of the movie actually was.
Those are actually pretty terrible, probably written after reading GEB. ESR is trying to emulate Hofstadter but isn't clever enough, so they are all based on a one-trick pony, search-and-replace joke that wears thin quickly.
The Tao of programming is Nigel Tao, long one of the main people on the Go team. Not to be confused with the Tao of mathematics, who is of course Terence Tao, Nigel's brother.
Also not to be confused with another brother - Trevor, an autist savant with double degree in mathematics and music, as well as a chessmaster.
That's what you get when a pediatrician and a mathematics/physics teacher have kids. Who would've known. (Not trivializing at all. Complimenting, if anything.)
sheesh - wandered around the site and found angela.txt, an ascii nude (which i now know was/is a thing and wish i didn't). and people wonder why other people think on-line culture is a cesspool.
59 comments
[ 8.3 ms ] story [ 132 ms ] threadhttps://news.ycombinator.com/item?id=19024327
(Edit: I mention links like this just in case people are interested. If we were treating the post as a duplicate it would be marked [dupe].)
> 7.2
In the East there is a shark which is larger than all other fish. It changes into a bird whose wings are like clouds filling the sky. When this bird moves across the land, it brings a message from Corporate Headquarters. This message it drops into the midst of the programmers, like a seagull making its mark upon the beach. Then the bird mounts on the wind and, with the blue sky at its back, returns home.
The novice programmer stares in wonder at the bird, for he understands it not. The average programmer dreads the coming of the bird, for he fears its message. The Master Programmer continues to work at his terminal, unaware that the bird has come and gone.
There is not a single thing I know that is always true.
Those sentences are applicated to themself.
> IN THE NORTHERN DARKNESS there is a fish and his name is K'un.1 The K'un is so huge I don't know how many thousand li he measures. He changes and becomes a bird whose name is P'eng. The back of the P'eng measures I don't know how many thousand li across and, when he rises up and flies off, his wings are like clouds all over the sky.
The big bird is so huge that it is alien to the smaller ecosystems below it. In the same way, CEOs and upper management are so "huge" (at the top of the hierarchy) that their choices seem incomprehensible from the point of e.g. a junior dev. Maybe they good or bad choices, but in any case their day-to-day choices are different from a single developer's.
> The cicada and the little dove laugh at this, saying, "When we make an effort and fly up, we can get as far as the elm or the sapanwood tree, but sometimes we don't make it and just fall down on the ground. Now how is anyone going to go ninety thousand li to the south!"
Here the small creatures make fun of the bird, not exactly understanding its world or experiences, but instead comparing the Peng's actions and natural inclinations to their own. A dove has no need to travel thousands of miles, which is a short trip for the Peng.
In the GP's comment, the novice programmer "stares in wonder at the bird" because - in the same way - his day-to-day experience is so different from the people who run Corporate Headquarters. The Master Programmer knows that CH is "doing it's thing" so to speak, or just following its own nature. Any attempt to understand the machinations and decisions of upper management from the viewpoint of a programmer simply doesn't work, so they do not bother to think about it.
It's not the law of no astonishment.
I really laughed at the bit about 'structured programming.' As it turns out, long ago, structured programming was a thing.
This was related much later by the professor himself, and he was fully aware of how prescient the student was.
http://www.catb.org/jargon/html/story-of-mel.html
.
The first one's my favorite:
Heh, nothing changed.
> But do not program in COBOL if you can avoid it.
> True, sometimes there are difficult problems. I see them coming, I slow down, I watch silently. Then I change a single line of code and the difficulties vanish like puffs of idle smoke.
I've started to debug like this. Sure, I also actively debug by adding print statements and manipulating my code. But there's something to be said about just thinking and waiting for the answer.
Spelling as plot device, so underrated.
I'm curious, what do you mean ? could you point me somewhere to learn about it ? is it something like or related to a McGuffin ?
Hmm, can't recall what the name of the movie actually was.
2/10, would have preferred bobcat?
That's what you get when a pediatrician and a mathematics/physics teacher have kids. Who would've known. (Not trivializing at all. Complimenting, if anything.)
They're so cute too. https://media.gettyimages.com/photos/brilliant-brothers-dr-t...
https://en.wikipedia.org/wiki/The_Tao_of_Programming
I now own a copy, and it is glorious.
The Tao gave birth to machine language. Machine language gave birth to the assembler.
The assembler gave birth to the compiler. Now their are ten thousand languages.
Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.
But do not program in COBOL if you can avoid it. "
Reading the whole thing, I'm again surprised at how much wisdom is hidden in there.
Shouldn't that be:
"Time for you to return."
though?
I also don't know enough about systems programming to be sure whether RET or LEAVE is the right instruction there :P
[0]: https://www.youtube.com/watch?v=wQBVYko_uhQ#t=46s
The shelter a massive enterprise with a sane middle-manager provides can be a beautiful place for innovation and creative freedom.
However, the older I’ve become the less corporate bs and re-orgs I’m prepared to live through.
Maybe my Tao is slipping...
In the now-more-prescient-than-ever words of Grace Slick:
https://www.google.co.in/search?q=windows+haiku
https://www.gnu.org/fun/jokes/error-haiku.html
http://wiki.c2.com/?ComputerErrorHaiku
When Worlds end, The Rest Is Silence of Code.