Home - Programming - The Cybertao

Intro

CyberTao

Based on the writings of Lau Tzu
Written by Setivu Durimo
Translation by Todd Grigsby

In the spirit of the CyberTao, I give this
work to the people of the World Wide Web.
Copy it at will. Post it where you like.
The ideas are based on the CyberTao, and
the ideas are now returned to the CyberTao.

Translation begun December 20th, 1996
Last updated April 20th, 2018

Other Tao translations: http://www.edepot.com/taotext.html


Analects

A1, A2, A3, A4, A5, A6, A7, A8, A9,
A10, A11, A12, A13, A14, A15, A16, A17, A18, A19,
A20, A21, A22, A23, A24, A25, A26, A27, A28, A29,
A30

Koans

K1, K2, K3, K4, K5, K6, K7

Haikus

H1, H2, H3, H4, H5, 36, 37


Analects

1

The tao that can be documented
is not the eternal CyberTao
The design that can be diagrammed
is not the eternal Design.

The unchartable is the eternally real.
Designing is the origin
of all finite programs.

Free from management's concerns, you realize the mystery.
Caught in management's concerns, you see only the implementations.

Yet mystery and implementations
arise from the same cosmic source code.
This source code springs from the emptiness that is the CyberTao.

Loop within loop, function call and conditional, The gateway to all understanding.


A2

When some programmers see some code as elegant,
other code appears sloppy.
When some programmers see some utilities as slick,
other utilities appear bogus.

Abstract concept and implementation create each other.
User interface and file system support each other.
Comments and code define each other.
High order bits and low order bits depend on each other.
For and Next follow each other.

Therefore the Master
programs without coding anything
and documents without writing anything.
Bugs arise and she lets them come;
Bugs disappear and she lets them go.
She knows but doesn't assume,
designs but doesn't anticipate.
When her work is done, she forgets it.
That is why it lasts forever.


A3

If you overesteem great programmers,
programmers become powerless.
If you overvalue programming techniques,
people begin to reverse engineer.

The Master leads
by emptying people's hard disks
and filling their network servers,
by weakening their egos
and forcing them to read stack dumps.
He helps people lose the misconceptions
fostered in universities
and creates confusion
in those who think that they're experts right out of school.

Practice not-modifying,
and everything will fall into place.


A4

The CyberTao is like a T3 connection with a single user:
used but never used up.
It is like the World Wide Web:
filled with infinite possibilities.

It is hidden but always present.
I don't know who gave birth to it.
It is older than Hollerith.


A5

The CyberTao doesn't take sides;
it gives birth to both good code and evil code.
The Master doesn't take sides;
he welcomes both hackers and crackers.

The CyberTao is like a powerful CPU:
it is ignorant yet infinitely capable.
The more you use it, the more it produces;
the more you talk of it, the less you understand.

Mind the machine code.


A6

The CyberTao is called the Great Hard Disk:
empty yet inexhaustible,
it gives birth to infinite applications.

It is always present within you.
You can use it any way you want.


A7

The CyberTao is infinite, eternal.
Why is it eternal?
It was never written;
thus it can never be deleted.
Why is it infinite?
It is not stored on any one system;
thus it is accessible by all beings.

The Master stays a few instructions behind;
that is why he is several instructions ahead.
His processes are detached from all others;
that is why they are one with the operating system.
Because he has let go of his code libraries,
he is perfectly realized.


A8

The supreme coding technique is like an algorithm,
which solves all problems without trying to.
It is content with the garbage collection routines that people disdain.
Thus it is like the CyberTao.

In working, live close to the manuals.
In designing, keep it simple, stupid.
In design conflicts, be fair and generous.
In managing, don't try to control.
In coding, do what you enjoy.
In technical support, say goodbye to your social life.

When you are content to simply address the requirements
and don't compare your code or compete for accolades,
everybody will respect you.


A9

Fill your hard disk to capacity
and your next write will fail.
Keep rearranging your code
and it will break.
Chase after clever solutions and flashy bells and whistles
and your fists will never unclench.
Care about boss' approval
and you will be his prisoner.

Do your work, then step back.
The only path to serenity.


A10

Can you coax your mind from its wandering
and keep to the original oneness?
Can you let your fingers become
supple as a pianist's?
Can you cleanse your inner vision
until you see nothing but the original programmer's intent?
Can you love the programs and lead them
without imposing your will?
Can you deal with the most vital modifications
by letting code take it's course?
Can you step back from your own mind
and thus understand all things?

Creating and supporting,
designing without wresting ownership,
coding with no expectations,
modifying and not trying to rewrite:
this is the supreme virtue.


A11

We join routines together in a program,
but it is the main routine
that makes the application execute.

We shape text into a program template,
but it is the emptiness inside the template
that holds whatever we want.

We debug the interface until it runs flawlessly,
but it is the inner meat of the program
that makes it function.

We work with code,
but non-code is what we use.


A12

24 bit colors blind the eye.
Sound blaster cards deafen the ear.
Ergonomic keyboards numb the fingertips.
Algorithms weaken the mind.
Hard chairs wither the buttocks.

The Master observes the operating system
but trusts his inner vision.
He allows windows to come and go.
His heart is expansive as the RAM.


A13

Success is as dangerous as failure.
Hope is as hollow as fear.

What does it mean that success is a dangerous as failure?
Whether you are the coder or the technical lead,
you position is shaky.
When you think with both halves of your brain,
you will always think clearly.

What does it mean that hope is as hollow as fear?
Hope and fear are both phantoms
that arise from thinking of the the accelerating speed of technology.
When we don't see our programs as all we are capable of,
what do we have to fear?

See the Internet as your self.
Have faith in the way things are.
Love the World Wide Web as your self;
then all information will flow to you.


A14

Look, and it can't be seen.
Listen, and it can't be heard.
Reach, and it can't be grasped.
Stack corrupting pointer bugs are this way.

Above, it isn't bright.
Below, it isn't dark.
Seamless texture mapping,
even Doom contains the CyberTao.
Delphi forms that include all components,
GIF images with million-color palettes,
subtle grayscales, beyond all dithering.

Redesign it and there is no beginning;
Debug it and there is no end.
You can't know it, but you can be it,
one with the millions of lines of code.
Just remember what function you started in:
this is the essence of wisdom.


A15

Thus I have heard:

The ancient Masters were profound and subtle.
Their wisdom was unfathomable.
There is no way to describe it;
all we can describe is their effect.

They were careful
as someone crossing an iced-over stream.
Alert as a warrior in enemy territory.
Courteous as a guest.
Fluid as melting ice.
Shapable as a block of wood.
Receptive as a valley.
Clear as a glass of water.
And often needing a bath and a haircut.

Do you have the patience to wait
till your mud settles and the water is clear?
Can you remain unmoving
till the right action arises by itself?
Can you get the blood flowing back into your
legs after a 20 hour debug session?

The Master doesn't seek a bug-free application.
Not seeking, not expecting,
he is present when the bugs crop up, and can resolve them without breaking stride.


A16

Empty your mind of all memories of COBOL and FORTRAN.
Let your heart be at peace.
Watch the gosub of your functions,
but contemplate their return values.

Each separate line in the program
is addressed from a common base address.
Returning to the base address is restarting.

If you don't correctly reference the offset from the base address,
you program stumbles, confused by the loose pointer.
When you realize where the pointer is,
you naturally become at ease,
amused, prepared,
kindhearted as an analyst,
dignified as a CIO.
Immersed in the wonder of the CyberTao,
you can deal with whatever bugs the application brings you,
and when your project is terminated, you are ready.


A17

When the Master runs the project, the programmers
are hardly aware that he exists.
Next best is a leader who is loved.
Next, one who is feared.
The worst is one who is despised.

If you don't trust your technical people,
you make them untrustworthy.

The Master doesn't talk, he acts.
When his work is done,
the people say, "Amazing:
we did it, all by ourselves!"


A18

When the great CyberTao is forgotten,
goodness and piety appear.
When the body's intelligence declines,
cleverness and knowledge step forth.
When there is no peace in the development team,
social piety begins.
When the company falls into chaos,
a buy-out is born.


A19

Throw away the email messages from the company's "idea man",
and the programmers will be a hundred times happier.
Throw away ultra-strict coding standards
and programmers will do the right thing.
Throw away the profit-inspired requirements
and there won't be any thieves.
There won't be any pay raises either, but programmers labor for the love of their work anyway...
If these three aren't enough,
just stay in your cubicle
and let all things take their course.


A20

Stop coding outside the original design, and end your problems.
What difference between Ok and Cancel?
What difference between Abort, Retry, and Fail?
Must you typecast other functions' return values,
discard what others put on the stack?
How ridiculous!

Other people are excited,
as though they were at a parade.
I alone don't care,
I alone am expressionless,
like an infant before it can smile,
like the student before he can compile.

Other people have what they need;
I alone possess everything.
I alone sit in front of my computer endlessly,
like someone without a home to return to.
They are like idiots, their lives are so empty.

Other people are bright;
I alone am dark.
Other people are dull;
I alone am sharp.
Other people have one purpose;
I alone have more purpose than I can measure.
I drift like a wave on the ocean,
I blow as aimless as the wind,
I swim through the Internet like a dolphin,
heedless of those bound to the land.
I am different from ordinary people.
I concieve thoughts like sips
from the endless well of the CyberTao.


A21

The Master keeps her mind
always at one with the CyberTao;
that is what gives her her reputation.

The CyberTao is ungraspable.
How can her mind be at one with it?
Because she doesn't cling to old standards.

The CyberTao is dark and unfathomable.
How can it make her a guru?
Because she lets it.

Since before time and space were,
the CyberTao is.
It is beyond maxint and NULL.
How do I know this is true?
I look at the watches in the debugger and see.


A22

If you want to write an entire application,
you must focus on the individual functions.
If you want to avoid bugs,
you must code without caring about bugs.
If you want to fill a database,
you must start by initializing a single buffer.
If you want to restart your program,
you must first exit the application.
If you want to give up everything,
go into technical support.

The Master, by residing in the CyberTao,
sets an example for his development team.
Because he doesn't display himself,
people can see his genius.
Because he has nothing to prove,
people can trust his designs.
Because he has no goad in mind,
everything he does succeeds.
Because he doesn't know who he is,
his managers pressure him to take time off.

When the ancient Masters said,
"If you want to be given everything,
give everything up,"
they weren't using empty phrases.
Only in being lived by the CyberTao can you be truly yourself.


A23

Express yourself completely,
then keep quiet.
The meetings will conduct themselves.

Be like the forces of nature:
when it blows, there is only wind;
when it rains, there is only rain;
when the clouds pass, the sun shines through.

If you open yourself to the CyberTao,
you are at one with the CyberTao
and you can embody it completely.
If you open yourself to insight,
you are at one with insight
and you can use it completely.
If you open yourself to the design,
you are at one with the design
and you can code with no sense of the passage of time.

Open yourself to the CyberTao,
then trust your functional specs;
and everything will fall into place.


A24

He who stands on tiptoe
doesn't stand firm.
He who applies a fix without understanding the problem
will create more bugs.
He who rushes ahead
doesn't go far.
He who takes all the credit
gets no assist from his team.
He who tries to shine
dims his own light.
He who assumes the analyst is an idiot
may be right, but he codes to no requirement.
He who defines himself
can't know who he really is.
He who plays Solitaire when the boss peeks in
may soon have no computer to code upon.
He who has power over others
can't empower himself.
He who has power over himself
empowers his team with his confidence.
He who clings to his work
will create nothing that endures.
He who assumes Microsoft is the only standard
creates applications that will one day be copied by Microsoft.

If you want to accord with the CyberTao,
just do your job, then let go.


A25

There was something formless and perfect
before the universe was born.
It is serene. Empty.
Solitary. Unchanging.
Infinite. Eternally present.
It is the mother of cyberspace.
For lack of a better name,
I call it the CyberTao.

It flows through all programs,
inside and outside, and returns
to the origin of all things.

The CyberTao is great.
The hardware is great.
The compiler is great.
The operating system is great. These are the four great powers.

The operating system is produced by the compiler.
The compiler compiles for the hardware.
The hardware lives by the CyberTao.
The CyberTao is ruled only by itself.


A26

The heavy is the root of the light.
The unmoved is the source of all movement.
A tiny glowing box is the foundation of virtual universe.

Thus the Master travels all day
without leaving home.
However splendid the views,
she stays serenely in herself.

Why should the lord of the country
flit about like a fool?
If you let yourself be blown to and fro,
you lose touch with your root.
If you let restlessness move you,
you lose touch with who you are.
If you watch "Star Trek" all the time, there is no time left for coding.


A27

A good traveler has no fixed plans
and is not intent upon arriving.
A good artist lets his intuition
lead him wherever it wants.
A good programmer has freed himself of concepts
and keeps his mind open to what is.

Thus the Master is available to all methodologies
and doesn't reject anyone.
He is ready to use all techniques
and doesn't waste anything.
This is called embodying the CyberTao.

What is a good program but a bad program's result?
What is a bad program but a good programmer's job?
If you don't understand this, you will get lost,
however intelligent you are.
It is the great secret.


A28

Know assembler,
yet develop in high level languages;
understand what the commands do.
If you comprehend machine language,
the CyberTao will never leave you
and you will be like a little child.

Know the white, the blank,
yet keep to the color palette;
be a design pattern for the world.
If you are a design pattern for the world,
the CyberTao will be strong inside you
and there will be nothing you can't do.

Know the management,
yet keep to the developers:
accept the company as it is.
If you accept the company,
the CyberTao will be luminous inside you
and you can ignore bureaucratic policies.

The algorithms are formed from the void,
like utensils from a block of wood.
The Master knows the algorithms,
yet keeps to the the block:
thus she can use all things.


A29

Do you want to improve the world?
I don't think it can be done.
But the OS can always stand a little improvement.

A program is not sacred.
It can always be improved.
But if you simply tamper with it, you can ruin it.
Unless it's object oriented, of course.

There is a time for being ahead,
a time for being behind;
a time for being in motion,
a time for being at rest;
a time for being vigorous,
a time for being exhausted;
a time for being safe,
a time for being in danger;
a time for goofing off,
a time for working around the clock.

The Master sees things as they are,
without trying to control them.
She lets them go their own way,
and resides at the center of the circle.


A30

Whoever relies on the CyberTao in managing a project
doesn't try to force issues
or defeat ideas by force of ideology.
For every need there is an algorithm.
Obstinance, even well intentioned,
always rebounds upon oneself.

The Master does his job
and then stops.
He understands that the universe
is forever out of control,
and that trying to create bug-free software
goes against the current of the CyberTao.
Because he believes in himself,
he doesn't try to convince others.
Because he writes clean, commented code,
he doesn't need others' approval.
Because he accepts himself,
the whole world accepts him.


Koans

K1

A confused novice asked for an algorithm, "Master, I
am not sure how to determine the cube root in this language."
The Master took his hands from the keyboard, closed his
eyes for a moment, and took a deep breath. Then he turned
and said, "Divide the log of the number by 3 and return the
exp() of the result." Then the Master turned back to the keyboard
and closed his eyes. After a time, he sighed deeply, placed his
hands on the keyboard, opened his eyes, and began typing again as
though nothing had happened.

Some time later the novice leaned into the Master's cubicle.
"Thank you, Great One. Your algorithm solved the problem."

The Master looked up from a manual and said, "Of course
it didů What problem?"


K2

The project manager walked into the Master's cube
and demanded that the Master stop what she was
doing to tell the manager when the project would be
complete. The Master turned and said, "One month."

The project manager turned red and replied heatedly,
"That is what you said two weeks ago!"

The Master replied, "Then it shall be 6 weeks."

"But I need it in one week!"

"Then it shall be done in one week."

Exasperated and confused, the manager asked how
that could be. "Simply this," said the Master, "As
the ancients would say, 'If you want it bad, you
get it bad, and the worse you want it, the worse you
get it.' Good software takes as long as it takes. None
can accurately predict the time it takes to finish
good software. To attempt such is foolishness."


K3

The Warlord approached the programmers and
proclaimed, "The Wizard of Marketing has told
me that the customers will buy our product if
it is written in ShowerGilder. You will write
the system in this visual development
environment. All who oppose me will be
exiled!"

The programmers ran to the Master, angry and
shouting. Finally one came forward to represent
the development team. "We cannot use ShowerGilder!
It is widely known that it cannot support more
than a dozen users at a time!"

Thus spoke the Master:

"Before ShowerGilder, there was C.
Before C, there was Basic.
Before Basic, there was FORTRAN.
Before FORTRAN, there was Assembler.
Before Assembler, there was machine language.
Before machine language, there was only the CyberTao.
All languages flow from the CyberTao.
All systems begin in the nothingness of the CyberTao.
If one of the requirements is that the system be
written in ShowerGilder, so be it. If you wrote
the system in C++ it would still have bugs
when you were finished. If you wrote it in
Delphi, it would have fewer bugs, but you would
still have to maintain it. The need for conversion
between languages only represents another bug.
Write the software, and let the bugs come and
go as small puffs of smoke in the wind. In the
end, the system will exist."

"But it will be unusable!" cried the novice.

"That is an issue for the Warlord," smiled the Master.

(editor's note: The events mentioned here seem to
have some basis in historical fact. During the 3rd
Dynasty in the Hillblum province, a prominent
Warlord attempted to force all developers in his
kingdom to use an under-powered, albeit well
marketed, GUI development tool. The economy of his
domain faltered and he was subsequently deposed.)


K4

The Master approached the Warlord and bowed, then addressed the
powerful leader. "The programmers have worked long and hard
for you. Behold the fruit of their labors."

The Warlord grunted in satisfaction.

The Master said, "They have spent many long hours meditating
over the Code of the Ancients and have wrought well for you."

The Warlord nodded thoughtfully.

The Master said, "Are you displeased with their efforts?"

The Warlord peered at the Master and asked, "What do you mean?"

The Master bowed again and said, "You give them no rewards,
no thanks, no recognition for their great deeds. They feel
the worth of their efforts are diminished; they feel
unappreciated."

The Warlord thought about this for a moment, then called his
advisors together. After some consultation, he ordered that
all the engineers be brought together. He gave a short speech
in which he thanked the generals for their hard work, giving
each a healthy bonus. Then each of the engineers was given
a tee shirt and a $20 gift certificate.

Not long after, at a battle against a major competitor, the
Warlord was surprised to see the Master and his top engineers
looking back at him from across the battlefield.


K5

The Master entered the Wizard's cube one day to find the latest
copy of a technical scroll. He paused and examined the series
of boxes connected together with various cables. "What is this?"
asked the Master.

The Wizard replied, "It's several Sun workstation modules connected
together and running a Windows emulation." The Master noted that
the Wizard was playing Solitaire.

The Master said, "So you've taken over $50,000 worth of equipment,
used an emulation program to make it appear to be a $2,000 PC, so
you can play a game that imitates an $.89 deck of cards?"

The Wizard thought about this for a moment and replied, "Yes, I
suppose so."

The Master smiled, "Well done."


K6

The Warlord, while attempting to improve relations with his
troops, walked into the Master's cube. He noted an intricate design
on the Master's screen. He asked what it was. The Master looked
up from a manual, blinking, and peered at what the Warlord was
pointing at. "It's a plant."

The Warlord chuckled and, pointing to potted vine sitting atop a
bookcase, replied, "Then what do you call that?"

Again, the Master followed the Warlords direction and this time
replied, "That is a fractal."

The Warlord, put off by the Master's matter of fact tone, said,
"Perhaps you need a vacation."

The Master frowned and replied, "Not at all. But, perhaps you need
a better computer."


K7

The great Warlord had won many lands from his competition by
practicing patience and befriending the leaders of the many
tribes in the lands he conquered. He was successful and considered
himself very wise.

But then the Warlord attempted to annex a particularly large
territory then known as the Orenji-Iro Province. The Master was
tasked with creating the software that would win the leaders of
this province over, but the project was going badly. The Master
approached the Warlord many times trying to explain that this
Province needed to be handled with more structure, but his pleas
for formal specifications went unheeded. Finally, the Master came
to see the Warlord to discover the difficulty.

The Master and the Warlord sat to a light lunch. After they finished
eating, the Master asked the Warlord, "Have you ever worked in a
software shop?" To which the Warlord replied, "Hell, no! And I never want to!"

The Master thanked the Warlord for the lunch and left.

The project was eventually completed, but only after the province
leaders were finally reigned in and forced to provide the formal
specifications, months after the original delivery date.

(editor's note: There is evidence that the Warlord and the
Orenji-Iro Province actually existed. Records show that the Warlord's
fortunes began to fail after control was lost over the Orenji-Iro Province.
The Warlord made several other grave tactical errors. At one point, the
Warlord passed up a critical opportunity to assume control over the
largest province of the time, the Shi Tenshi Province. His Master
Programmer subsequently left to start a highly successful software
firm of his own, and the Warlord faded into obscurity.)


Haikus

H1

Rain on my window
Colorless sea of source code
Tranquil liquid thoughts.

H2

Coffee and tech docs
Paper leaves spread on my desk
Reading by screen glow.

H3

Caffiene dries my mouth
Fingers fly, text blurs, clock glares
Must find solution.

H4

Autumn hum of fans
Old code barren of comments
Bleak, vast wilderness

H5

Red rage confusion
Then wintery calm of mind
coworker's on crack

H6

It's 2am now
Faint key clicks from down the hall
Computer fans hum

H7

Code spun from my thoughts
No body, world, just logic
Mind and machine meld

todd@tgrigsby.com

Todd Grigsby