
Things are the way they are because they got that way.
Hi. I'm Jon Jagger, director of software at Kosli.
I built cyber-dojo, the place teams practice programming.
Things are the way they are because they got that way.
Human beings have evolved a very strong association that cause and effect are simple and linear; that cause and effect are local in space and time.
XP is a communal software development discipline.
A person who practices self-discipline and continuously develops his level of skill seldom fails in the long term.
Discipline is not intended to kill character, enthusiasm, and initiative, but to develop them.
The essence of this discipline of balancing is unlearning and "giving up" something in ourselves in order to consider new information.
All discipline is a form of submission.
Discipline is simply a matter of doing what we must, without wasting time or energy worrying whether or not we feel like it.
I could compensate for lack of natural aptitude with diligence and discipline. I applied this to everything I did.
Experience has taught me that silence is part of the spiritual discipline of a votary of truth.
The purpose of bureaucracy is to compensate for incompetence and lack of discipline. Avoid bureaucracy and instead create a culture of discipline.
Quick feedback should be the first thing you introduce.
We structure our world so we will not receive feedback that threatens our view.
We don't even wait to ignore feedback, but actively take steps to prevent such feedback from ever happening in the first place.
Don't concentrate on giving feedback; concentrate on being congruent - responding to the other person, to yourself, and to the here-and-now situation.
All societies depend for the stability on feedback from the people. Depersonalization reduces feedback to a minimum, contributing to instability and lowering the overall level of congruence in the society.
Many programmers… work in environments in which they receive essentially no real feedback embodying the consequences of what they do. Lacking no real feedback, they lack the motivation to attempt changes, and they also lack the information needed to make the correct changes.
Software development is not primarily a manufacturing operation for we (ideally) never develop the same software twice. This uniqueness of product means that Deming's "statistical signal" - though necessary - is not sufficient for feedback control, because there often isn't enough repetition - enough stability - to generate meaningful statistics.
In a feedback control system it's only our perception that determines which is controller and which is controllee.
Just calling it "feedback" doesn't mean that it has actually fed back. To speak precisely: It hasn't fed back until the system changes course. Up until that point it's merely sensory input.
Practicing without feedback is like bowling through a curtain that hangs down to knee level. You can work on technique all you like, but if you can't see the effects, two things will happen: You won't get any better, and you'll stop caring.
Fast local feedback loops prevent the accumulation of variance.
All simple and complex regulation as well as learning involve feedback. Contexts of learning and change are therefore principally concerned with altering or establishing feedback.
Mozart was great (among other reasons) because he knew how to have fun.
Some people believe that music flowed from him almost spontaneously, thanks to his genius. In reality, from earliest childhood he practiced for thousands of hours every year.
He lived only thirty-five years, but he lived them at a wolf's pace and went far in that short time.
In a letter dated 20 August 1763, Leopold Mozart relates that in many places in Germany the well water was so bad, smelly, and muddy that it was habitually mixed with wine. It was worse in Paris. Parisians drank the repugnant water of the Seine, into which the city's garbage was thrown. The Mozarts, like many others, let it settle in a pitcher for a few hours, where it formed a worrisome solid layer.
In a letter dated 1 April 1764 Leopold reported that when an eclipse of the sun had occurred, Parisians rushed into the churches to protect themselves from being poisoned by the air during the temporary disappearance of the sun's light.
Wolfgang fell seriously ill with smallpox. He was blind for nine days and hovered between life and death, for the second time, after his bout with typhus in 1765.
Mozart performed several times on the harpsichord, astonishing his listeners with the agility of his hands, his left hand in particular. Some Neapolitans, perhaps influenced by a culture that tended to superstition and like mysteries. asserted that the boy played as well as he did thanks to a magic ring that he wore. When they demanded that he take off the ring and play without it, they saw that his playing depended on talent rather than spells, and they applauded all the more.
In those days, a composer would not dream of writing the arias for an opera without consulting the singers who were to interpret them… composers were craftsmen, paid by the piece, and were completely subservient to the true superstars of the age, who were the singers.
In those days no one hesitated about applauding in the middle of a work of music.
His fingers were deformed, either because of continual keyboard exercises from childhood on or from arthritis.
Only artists capable of innovation can give a long life to their works. Innovation prompts tension, curiosity, and awe.
Do the essential things well: Be proactive (do through action), Reduce complexity (concentrate effort on the essential things), Seek improvement (get the essential things done better).
Automating complexity is never as effective as removing it.
If you automate without first getting rid of complexity, you cast the complexity in concrete.
The human brain is a very simple system that is capable of working in a complex way, rather than a complex system.
In the modern era, we have come to favor simplicity over complexity, perfection over imperfection, symmetry over asymmetry, planning over piecemeal growth, and design awards over habitability.
Complexity isn't an attribute; it's a relationship.
Complexity is a relationship between system and observer.
A nonequilibrium system may evolve spontaneously to a state of increased complexity.
A complex system that works is invariably found to have evolved from a simple system that worked.
Recent study of evolution, both in the natural world and in computer based complex systems, has demonstrated the surprising result that the presence of parasites in a system accelerates evolution dramatically.
Complexity is what interests scientists in the end, not simplicity.
Complexity is a problem only in tightly coupled systems.
There is a tendency for complexity in models to rise as the time between sensing and acting grows.
Every person and thing is only what it is in relation to others. [Lao Tzu]
It is this quality of doing things spontaneously and in an unselfconscious way, without regard to their effects upon other people's perceptions of oneself.
The natural badge of such inner humility towards all things is silence.
I believe the first test of a truly great man is his humility. [John Ruskin]
I cannot hear what you are saying because you are shouting at me. [Zulu proverb]
So many people are loath to make irrevocable decisions, are tepid in their enthusiasms. [Ordway Tead]
I do not say that the men of the 14th Army welcomed difficulties, but they grew to take a fierce pride in overcoming them by determination and ingenuity. [General William Slim]
Change and leadership are closely linked.
Leadership is of the spirit, compounded of personality and vision; its practice is an art. Management is of the mind, more a matter of accurate calculation of statistics, of methods, of time tables, and routine; its practice is a science. [General William Slim]
Leadership is bound up with culture.
As a natural leader, he [Gandhi] led by example - spinning for at least an hour every day.
We'll never survive
Nonsense - you're only saying that because no one ever has.
Well now, that was an adventure.
The Fire Swap certainly does keep you on your toes.
We'll never survive - we may as well die here.
No. No. We have already succeeded.
We did it.
Now, was that so terrible?
Design is what, for practical purposes, can be conveyed in words and by a drawing: workmanship is what, for practical purposes, can not.
The essential idea is that the quality of the result is continually at risk during the process of making.
The care counts for more than the judgement.
Much of what is ordinarily called skill is simply knowledge.
There is a strong incentive to design only in terms of shapes which are easy to communicate.
No two leaves of the same tree are precisely alike, each is individual: yet every one of them conforms to a recognizable pattern characteristic of the species.
Design - the music of design - depends on the relationships between distinguishable and separable features of things.
It [workmanship] takes over where design stops.
You must not torture your material.
We can have no direct rapport with the nature of any material, but have to judge what it is by looking at the surface. We can never see the thing, the material itself, but only the surface, which our vision, unlike X-rays, will not penetrate.
class string; // Computer says noThis does not say a lot but what it does say is that string is a class and unfortunately it's not - it's a typedef of basic_string<...>
#include <string>then g++'s -H flag tells me that
#ifndef EG_HPP #define EG_HPP class fwd_string; // instead of #include <string> void eg(const fwd_string &); // instead of // void eg(const std::string &); #endifWhere fwd_string.hpp looks like this:
#ifndef FWD_STRING_HPP #define FWD_STRING_HPP #include <string> class fwd_string { public: fwd_string(); fwd_string(const char *); fwd_string(const std::string &); std::string string; ... }; #endifYou can also use this "type-tunneling" technique to forward declare enums in C. I've never seen this used in anger in an actual codebase. It's just an idea. Caveat emptor.