43756.fb2 On the Wings of Hope : Prose - читать онлайн бесплатно полную версию книги . Страница 1

On the Wings of Hope : Prose - читать онлайн бесплатно полную версию книги . Страница 1

Bit World

Book of the Knight of Programming

“Without wind grass does not wave. Without programs, computer remains useless”

So said the Great Programmer

“To the East from the city, in a picturesque valley there is a large computer center with many supercomputers”, - the man said.

The boy noticed that he is wearing unusual, unprecedented by him before clothes, and there is a strange helmet on his head. He never met him before.

“Do you see?”, - the  man continued. - “You will travel there and tell the others of your findings”.

“But how will I make my way there?” - the boy questioned.

“It’s up to you to decide”, - the stranger answered.

The boy reflected and bent his head. When he raised it once more - the speaking man was gone.

Next day the boy went there where the stranger has told him, however no matter how long he has been wandering through a neighborhood of the city, he encountered neither the mentioned valley, nor any other miracle. The following day he was in the countryside once again for he did not believe that such surprising person could have lied to him. If sometime they meet again, he will have the right to tell him that he has never seen a mentioned valley, but has heard mysterious unfamiliar sounds, brought from somewhere by a wind.

Many months passed since that, the stranger did not return, and the boy forgot him; now he was totally sure that he must find that center and uncover its mystery. By the sounds, brought by a wind, he will manage to locate this place and get inside. He lost interest to school and those with who he was on friendly terms earlier. He became a favorite target for sneers and mocking of his contemporaries, who were telling: “He is not like us. He listens to wind for hours instead of playing with us”. And everybody laughed at him.

Ten years later, having already become adult, the boy returned to that city in which he has grown. He has abandoned a thought of finding what the mysterious man was telling him about many years ago. Yet still he desired to leave a city, listen to the whistling of wind. He rose up early in the morning and went in that very direction where the wanderer has pointed him once. What a surprise it was for him when, having travelled only about one kilometer away from a city, he has found magical valley, for which he has been searching so vainly before.

When he has descended into the valley, his eyes saw a most amazing show - hundreds and thousands of computers, buildings, wires with sparkling beams of light, sliding on them, connecting each other into something uniform indissoluble whole. There were no signs of men. The boy went forward, curiously looking around. He did not even notice how he managed to enter some sparkling disk, located near one of the highest buildings - and was suddenly teleported inside. What a surprise it was for the boy when that very man who have once told him of this place, appeared before his very eyes.

- What are you doing here? - the boy asked.

- I have been waiting for you, - answered the man.

Even though a lot of time has passed already, the man looked exactly the same way as before, in the time of their first meeting. He gave him an empty writing-book.

- Write down: “When the one who has decided to become a Knight of Programming, takes his first step, he learns the Way, lying before him”.

- And who is that “Knight of Programming?”

- You know that already, - the man answered, smiling. - The one who is capable to comprehend a miracle of life, to fight up to the end for things he believes in, and change this world.

He never thought of himself as of Knight of Programming. And the man, seemingly, read his thoughts and told:

“Everyone is capable of it. And though no one considers himself as the Knight of Programming, each person can become him”.

The boy looked through pages of writing-book. The man smiled once more.

“Write of the Knight of Programming”, - he answered.

* * *

The Book of the Knight of Programming

When a man who has decided to become a Knight of Programming, takes his first step, he learns the Way, lying before him.

The Knight of Programming honors I. Tzin’s basic provision: “Persistence is fruitful”. He knows well that obstinacy has nothing to do with persistence. For there are projects, work in each lasts longer, that it’s truly necessary, and they exhaust powers and extinguish enthusiasm. And in such minutes the Knight is thinking: “The prolonged project eventually destroys a heat of his workers”. And then he stops working over programs, and grants himself a relief, returning once again into a world which others consider the only one existing. But never will he miss a moment of inspiration to go on with his creation.

The Knight of Programming knows, that certain algorithms have a habit of repeating. Often does he face difficulties which he has already overcome, and appears to be in a situation which he have already solved with honor, and this confuses his spirit: it seems to him that if everything repeats itself then he is trampled down on one spot, having no forces to move forward. “I have already written that sort of things”, - complains he to his heart. “You did”, - his heart answers him. “-But have not fully implemented own ideas”. And the Knight then understands, that his destiny gives him another chance to learn something which he had not wished to understand from a first time.

The Knight of Programming steadily acts counter with standards of programming. He will have no hesitation before leaving a secret back way in own program, or including the “easter egg” inside its code, defending an algorithm seeming ridiculous at first. The Knight of Programming can afford such things. He doesn’t fear to cry, remembering former unsuccessful projects, or to rejoice on the threshold of upcoming new ones. Feeling that a right hour has come, he throws away his last programs, moving forward into a new desired creativity.

Understanding that his ability of programming is about to be exhausted, he leaves computer place and doesn’t blame himself of having spent, coding, all night long.

The Knight has no willing to spend days of his life in aspiration of making a program, intended by others.

Knights desire the usefulness of their programs for the world to never fade away.

They live in this world, do not avoid others. It happens that they begin a new journey possessing no knowledge of necessary languages and tactics. Quite often they are being overwhelmed with fear. Not always do they code correctly. They suffer from trifling bugs in own creations, they happen to be restless and impatient, and at times it seems to them that they are unable to grow up. Often they are convinced that are unworthy of praises for what they have done already. Not always they are sure of what they are actually doing in there - in the boundless world of bits and bytes. They spend sleepless nights, suffering that their program may become unclaimed and useless. Therefore they are the Knights of Programming. Because they make mistakes. Because they torment themselves with questions. Because they seek the reason of own mistakes, look for and will, undoubtedly, find once.

The Knight of Programming is not afraid to look like mad one. Aloud and at the top of his voice he talks to himself, sliding his look through senseless for uninitiated lines of text. Someone has convinced him that it’s the best way of finding those places in the program which should be rewritten - and so he decided to check it in practice. At first it seems to him as an incredibly difficult task. He is assured that his code is perfect and he has nothing to change in it. And still he insists and persists, and conducts conversations with own reason every day. And says with what he disagrees and write nonsenses. But one day he notices that his code looks different. And thus he understands that he has opened a way to learning of the Dao of Programming.

The Knight of Programming seems mad at times, yet this is only a pretence.

“The true Knight of Programming chooses for himself what he desires to write”, - so said the Great Programmer.

The Knight knows, what he is capable of. He has no need to be praised before other members of a team for own knowledge and talents. However in any minute someone can came out to prove that he is better. And for the true Knight there are no such concepts as “better” or “worse”, for in his eyes each Knight is gifted enough talents to walk his own path. But still there are programmers dissatisfied with that thinking. They try to show him his ignorance and imperfection of things made by him, to cause a quarrel, to make everything to anger him. And in such minutes his heart speaks to him: “Reject an insult, it shall not strengthen your abilities. You will only waste your time in vain, trying to help them understand the Dao of Programming”.

The Knight of Programming does not trifle time for he knows: what is to be written - will be written.

From time to time the Knight of Programming remembers the words of Great Programmer: “After three days without programming life becomes senseless”.

Each language and technology welcomes him. He feels his consanguinity with them, he feels that part of his soul is concluded with senseless for others streams of numbers, lines of text and that thing called “computer hardware” by his contemporaries. And then he, accepting aid from other Knights and God’s Signs, he allows his Path to lead him there, where myriads or programs, demanded by life, have been waiting for him. Sometimes it happens that he has no time to take a sleep, at times he is tormented by sleeplessness. “Not to worry”, - the Knight thinks, - “it’s all part of my profession. No one has forced me to walk that way. It’s I who have decided as such”. Entire inner power of the Knight is gathered in these short words: he has chosen his path, and has nothing to complain about, no one to blame.

The time will come - in so much centuries - when the Universe will come to the rescue for the Knights of Programming and remain deaf and indifferent to those who have still not understood the beauty of Creativity.

Programs written before demand updating. New ideas demand new boundaries. Spirit and reason thirst for new calls. The future will become the present, and dreams - excepting those which contain prejudices - will have an opportunity to become a reality. What is important shall remain, what is useless will vanish. The Knight, however, doesn’t take the trouble to reflect on programs of his neighbor and to estimate their value. And he will not spend time for censure of decisions, made by others. For in order to believe in fidelity of own path, there is no need to prove that another has chosen a wrong way.

With a great care the Knight of Programming studies what he is going to write. No matter how difficult and hard a path to his goal may be, there are always open ways to overcome a barrier. The Knight seeks roundabout ways, tries to fill both soul and spirit with firmness, and reason with calmness, without which it’s never possible to successfully finish one’s job adequately. But there, already moving ahead by a path of program creation, the Knight starts understanding that there are difficulties and obstacles that were not taken into account at first. If he starts  waiting until the coming of the Muse of Programmer and be afraid of making mistakes, then he will never move even a single bit; to make a first step boldness is required - for it’s impossible to predict everything, especially at design stage, especially at coding stage.

The Knight of  Programming is aware of own weaknesses. But he also knows his talents as well. Others complain: “We were not given an opportunity”. Perhaps they are even right, but the Knight will never let himself stop programming for this reason - instead he will strain own powers and talents to the last limit.

The Knight knows that programmers are not afraid of difficult programs, for they are sure of themselves. And then the Knight tries to comprehend of what he can count on. And he inspects his arms, which include three things - Knowledge, Inspiration, Faith. If all three are in possession, the Knight continues his way without hesitation.

The Knight of Programming knows that not a single programmer can be considered as a fool, and life will once teach everyone - even though it will take much time. The Knight gives to other Knights the best knowledge and skills of his own and expects them to do the same. And in addition he generously and willingly tries to show the whole world, what every programmer is capable of. “Customers are ungrateful”, - complain some of his companions. The true Knight will never be confused by such words. He continues to write programs for them, for that way he improves himself.

Each Knight of Programming used to feel a fear before a new, yet unwritten program. Each Knight of Programming used to give a birth to unworthy code. Each Knight of Programming used to walk the wrong way. Each Knight of Programming used to torment himself because of utter nonsense. Each Knight of Programming used to come to a conclusion that he is not a Knight of Programming. Each Knight of Programming used to renounce his creative duty. Each Knight of Programming used to say “yes” to a new customer, while in fact he urged to say “no” instead. Each Knight of Programming used to hate those programs that he has once loved. That is why he bears the right to be called as a Knight of Programming for he has passed through all this and still not lose his hope of becoming better than he once was.

The Knight always remembers the words, spoken by a Great Programmer: “A well-written program is own paradise; badly written program is own hell”.

The Knight used to accept a challenge made to him. He knows that the one who is going to test his program will not overlook even a single mistake made by him, and will not allow him to pretend as if the written code is unfamiliar to him.

The Knight of Programming doesn’t change his decisions. Before starting a new project he indulges himself in continuous reflections - estimates degree of own readiness, a measure of responsibility, own debt before a team. Trying to keep composure, he laboriously studies each step - as if everything depends on it. But when the decision is being accepted - the Knight moves forward carelessly: he doesn’t have doubts in correctness of the choice made by him, and, even if circumstances appear to developed not the way he has predicted, the Knight does not turn off from selected road. And if his decision was right, he wins a victory in a fight - even if it becomes longer that he thought it would. And if the decision was erroneous, he will suffer a defeat and be compelled to make a new start - but this time fully armed with bitter expertise.

The Knight of Programming, having once started writing code, goes up to the end. The Knight knows that best instructors are those men with whom he writes code in one team each and every day.

It’s dangerous to ask to advice. A hundred times more dangerous it is to give it. When the Knight requires help, first and foremost he tries to understand how other workmates behave in similar difficult situations - why do they write or why they don’t. Having tired or being left alone with machine, he is not carried far away to distant perspectives, but searches for those close to him and aspires to make them a reality.

The Knight of Programming knows - the smallest and unknown to everyone program one day can be the one required by millions.

The Knight of Programming divides his world with programs he loves. And in those minutes when he is selflessly giving himself to creativity, the Enemy comes with tablets in hands. On the first table it’s written: “First of all think of yourself. Your programs are your intellectual property. Try to sell them as expensively as possible”. On the second the Knight reads the following words: “Who are you truly to write great things? Don’t you even see how small and insignificant is all those written by you?” But the Knight, even though he agrees with words, written there, throws those tablets to the ground, and they are scattered in ashes. And the Knight still inspires himself and his companions.

At times the Knight remembers one of the legends, transferred from one generation to another by Knights of Programming:

Once upon a time the teacher was passing by the student. The teacher noticed that attention of the student is absorbed by a pocket computer game. “Excuse me”, - he told, - “may I look at it?” The student was distracted from a game and gave it to the teacher. “I see that there are three levels of game: Easy, Average and Hard”, - told the teacher, - “yet each such device contains one more level of game when it aspires neither to win, nor to be defeated”. “I beg you, oh great teacher”, - the student asked, - “how can I find that mysterious level?” The teacher dropped device on the ground and crushed it with feet. And suddenly the student became enlightened.

The Knight believes that he is capable to change this world.

The Knight of Programming thinks at times: “What I have not yet managed to create, will never be created”. It’s not totally so : he must keep creating, but also he must obediently wait for someone who bring out his creation to the light of day.

The Knight is able to keep balance between independent work and work in a team. The necessity to create programs is embodied in his very nature, like the necessity to eat and drink, to love work. If sunset is approaching and the Knight hasn’t felt joy from things he has made that day – then something is certainly wrong.

The Knight of Programming uses loneliness, but does not allow loneliness to make use of him. The Knight knows that it’s impossible to live in condition of slackness and idleness. But he can distinguish creative pressure and ostentatious fussiness and never confuses one with another.

The Knight of Programming always achieves a balance between knowledge and desire. The Knight of Programming who trust only a sharpness of his mind too excessively will eventually underestimate a time, required for implementation of his tasks. It’s worth to remember: sometimes the power of various circumstances is more effective than the most sophisticated finesse. Long can his battle for the working code can be, and this fight exhaust his forces. And when the terms of work on a task come to an end, neither shine, mind, persuasiveness of arguments or what is called as “charm” cannot prevent the trouble. And that is why the Knight of Programming pays tribute to the brute force of time, resisting him.

The Knight of Programming never hastens. Time works for him, and he, knowing that, learns to bridle impatience and avoid rush decisions. His step is slow, yet firm. He feels that the time fate-deciding for the history of humankind is approaching, but before one will be able to change this world, he must first change himself.

There are two main strategic errors - to hasten, having acted earlier than the opportunity will come, and to delay, having missed it. And to avoid both the first and the second the Knight considers each and every program project as unique, and have small use for opinions of others, general formulas and ready recipes.

The Knight of Programming knows such thing as despondency. Sometimes it seems to him that he is unable to solve problems put before him, that a program he is working on will never be finished. For many days and nights he is compelled to stay in depression and no new event can return him former enthusiasm. “His work is ended”, - friends speak. Painfully and shame it’s for a Knight to hear such words, for he knows that have not yet achieved a goal to which he has been moving. However he is persistent and does not throw away half-road what he has once started. And here in a minute when he least expects it the inspiration comes to him and previously impracticable task seems surprisingly simple. And then work once again overwhelms him, and fingers do knock on a keyboard quickly and accurately, and reason finds solutions instantly.

The Knight of Programming knows how important is the intuition. At the height of work, in a fever of project, in a state of short time, when there is no time to reflect on what of many alternative decisions to choose, the Knight acts instinctively. “Madman”, - fans of thinking over each details in advance say about him. “Building castles in the air”, - speak sceptics. “How he can choose something deprived of logic?” - the third are perplexed. But the Knight knows: the intuition is an alphabet by means of which it’s possible to comprehend Dao and thus continues to listen to his inner voice.

The Knight of Programming always aspires to perfection. After every line of his code - there are centuries of wisdom and reflections. Each program, each algorithm must combine all power and quickness of Knights of the past. Each movement of his thought and hands honors those movements which previous generations of Knights tried to transfer to the modern ones through Tradition.

Sometimes the Knight sits with his companions in late evenings in common circle. They tell of successes they have reached on their Path and gladly welcome newly approaching programmers - future Knights, for each of them is proud of own life and participation in a great cause of transformation of this world.

The Knight is trustful. He trusts in miracles - and miracles do happen. He believes that human thought is capable to transform the life - and life of people of this world gradually becomes different.

The Knight of Programming improves the beauty of his code.

The Knight of Programming transforms his mind.

The Knight of Programming learns to build the great.

The Knight of Programming will never curtail from his path.

Knights of Programming shall transform this world.

 * * *

When his voice ceased, there was already night. The Great Programmer and the boy for long have behold the look from a computer center, opening to their eyes.

The Great Programmer stood up.

“Farewell”, - he said. - “Now you have learned what our way means - it’s unseparably merged with magical and attracting world of machines, numbers and technologies. But this is as well a world with noise of wind, shouts of seagulls, rustle of spring foliage - for that is a world in a world so much bigger. You will be able to fall in love with our world”.

“Tell me, who are you?” - the boy asked. But the holographic image of the Great Programmer has been already vanishing, accompanied by a measured rustle and quite buzz of machines.

09.04.2012

Code Truth

bool God = true;

[The God is true]

***

bool difficultQuestion = be | !be;

[To be or not to be]

***

NewLove(woman) > OldLove(woman) ? sleep-- : sleep++;

[The more we love the woman, the less we have to sleep]

***

 (word != sparrow) => (bool catch = FlyOut(word) ? false : true);

[You can’t take back what you say once you’ve said it]

***

 (work != wolf) => (RunTo(work, forest) = false)

[The work will still be there]

***

dirt => king;

[From the dirt with lot of sins – straight to rulers and the kings]

***

Stands(place) && WasHitAt(place) && StillStands(place) => WillBeHitAt(place);

[Don’t stand where you’ve got hit – or you'll be hit once again]

***

BelieveIn(Strength) => Fight;

BelieveIn(Weakness) => Pray;

[Trusting the force – you have to fight, trusting the weakness – you have to beg]

***

Friend(old) > Friend(new) + Friend(new)

[Old friends and old wine are best]

***

bool needsMind = Has(Strength) ? false : true;

[Having the strength, have no need for mind]

***

WillWait(7, 1) => false;

[The majority rules]

***

 (IsBlind(first) && IsBlind(second)) => (CanGuide(first, second) = CanGuide(second, first) = false);

[When the blind leads the blind, both fall into the abyss]

***

Cook(Axe, Porridge) => false;

[One cannot make porridge from an axe]

***

 (Word == Silver) => (Silence = Gold);

[Speech is silver, silence is golden]

***

uint godsCount = Count(religions) == 1 ? 1 : 1;

[Religions are many, but God is one]

***

bool needsBroadsword = IsNaked(somebody) ? true : false;

[Naked running through the lands – yet with blade in own hands]

***

 (Has(something) && !Care(something)) => (bool willCry = !Has(something) ? true : false);

[What we have we value not – when it’s lost we cry a lot]

***

PointOfView(mood1) != PointOfView(mood2);

[Every mood is a birth of points of view]

***

FearfulOf(wolves) => !GoTo(forest);

[Nothing venture, nothing win]

***

foreach (var thing in things)

{

isOk[thing] = !IsPregnant(PlayWith(baby, thing));

}

[Anything for a quite pregnancy]

17.10.2009