Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

MIT Offers Picture-Centric Programming To the Masses With Sikuli

timothy posted more than 4 years ago | from the mind's-eye dept.

GUI 154

coondoggie writes "Computer users with rudimentary skills will be able to program via screen shots rather than lines of code with a new graphical scripting language called Sikuli that was devised at the Massachusetts Institute of Technology. With a basic understanding of Python, people can write programs that incorporate screen shots of graphical user interface (GUI) elements to automate computer work. One example given by the authors of a paper about Sikuli is a script that notifies a person when his bus is rounding the corner so he can leave in time to catch it." Here's a video demo of the technology, and a paper explaining the concept (PDF).

Sorry! There are no comments related to the filter you selected.

Fucking Communitst (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#30851616)

http://www.cnn.com/2009/SHOWBIZ/books/04/27/ayn.rand.atlas.shrugged/index.html?eref=rss_topstories [cnn.com]

For twelve years, you have been asking: Who is John Galt? This is John Galt speaking. I am the man who loves his life. I am the man who does not sacrifice his love or his values. I am the man who has deprived you of victims and thus has destroyed your world, and if you wish to know why you are perishing-you who dread knowledge-I am the man who will now tell you.' The chief engineer was the only one able to move; he ran to a television set and struggled frantically with its dials. But the screen remained empty; the speaker had not chosen to be seen. Only his voice filled the airways of the country-of the world, thought the chief engineer-sounding as if he were speaking here, in this room, not to a group, but to one man; it was not the tone of addressing a meeting, but the tone of addressing a mind.

"You have heard it said that this is an age of moral crisis. You have said it yourself, half in fear, half in hope that the words had no meaning. You have cried that man's sins are destroying the world and you have cursed human nature for its unwillingness to practice the virtues you demanded. Since virtue, to you, consists of sacrifice, you have demanded more sacrifices at every successive disaster. In the name of a return to morality, you have sacrificed all those evils which you held as the cause of your plight. You have sacrificed justice to mercy. You have sacrificed independence to unity. You have sacrificed reason to faith. You have sacrificed wealth to need. You have sacrificed self-esteem to self-denial. You have sacrificed happiness to duty.

"You have destroyed all that which you held to be evil and achieved all that which you held to be good. Why, then, do you shrink in horror from the sight of the world around you? That world is not the product of your sins, it is the product and the image of your virtues. It is your moral ideal brought into reality in its full and final perfection. You have fought for it, you have dreamed of it, and you have wished it, and I-I am the man who has granted you your wish.

"Your ideal had an implacable enemy, which your code of morality was designed to destroy. I have withdrawn that enemy. I have taken it out of your way and out of your reach. I have removed the source of all those evils you were sacrificing one by one. I have ended your battle. I have stopped your motor. I have deprived your world of man's mind.

"Men do not live by the mind, you say? I have withdrawn those who do. The mind is impotent, you say? I have withdrawn those whose mind isn't. There are values higher than the mind, you say? I have withdrawn those for whom there aren't.

"While you were dragging to your sacrificial altars the men of justice, of independence, of reason, of wealth, of self-esteem-I beat you to it, I reached them first. I told them the nature of the game you were playing and the nature of that moral code of yours, which they had been too innocently generous to grasp. I showed them the way to live by another morality-mine. It is mine that they chose to follow.

"All the men who have vanished, the men you hated, yet dreaded to lose, it is I who have taken them away from you. Do not attempt to find us. We do not choose to be found. Do not cry that it is our duty to serve you. We do not recognize such duty. Do not cry that you need us. We do not consider need a claim. Do not cry that you own us. You don't. Do not beg us to return. We are on strike, we, the men of the mind.

"We are on strike against self-immolation. We are on strike against the creed of unearned rewards and unrewarded duties. We are on strike against the dogma that the pursuit of one's happiness is evil. We are on strike against the doctrine that life is guilt.

"There is a difference between our strike and all those you've practiced for centuries: our strike consists, not of making demands, but of granting them. We are evil, according to your morality. We have chosen not to harm you any longer. We are useless, according to your economics. We have chosen not to exploit you any longer. We are dangerous and to be shackled, according to your politics. We have chosen not to endanger you, nor to wear the shackles any longer. We are only an illusion, according to your philosophy. We have chosen not to blind you any longer and have left you free to face reality-the reality you wanted, the world as you see it now, a world without mind.

"We have granted you everything you demanded of us, we who had always been the givers, but have only now understood it. We have no demands to present to you, no terms to bargain about, no compromise to reach. You have nothing to offer us. We do not need you.

"Are you now crying: No, this was not what you wanted? A mindless world of ruins was not your goal? You did not want us to leave you? You moral cannibals, I know that you've always known what it was that you wanted. But your game is up, because now we know it, too.

"Through centuries of scourges and disasters, brought about by your code of morality, you have cried that your code had been broken, that the scourges were punishment for breaking it, that men were too weak and too selfish to spill all the blood it required. You damned man, you damned existence, you damned this earth, but never dared to question your code. Your victims took the blame and struggled on, with your curses as reward for their martyrdom-while you went on crying that your code was noble, but human nature was not good enough to practice it. And no one rose to ask the question: Good?-by what standard?

"You wanted to know John Galt's identity. I am the man who has asked that question.

"Yes, this is an age of moral crisis. Yes, you are bearing punishment for your evil. But it is not man who is now on trial and it is not human nature that will take the blame. It is your moral code that's through, this time. Your moral code has reached its climax, the blind alley at the end of its course. And if you wish to go on living, what you now need is not to return to morality-you who have never known any-but to discover it.

"You have heard no concepts of morality but the mystical or the social. You have been taught that morality is a code of behavior imposed on you by whim, the whim of a supernatural power or the whim of society, to serve God's purpose or your neighbor's welfare, to please an authority beyond the grave or else next door-but not to serve your life or pleasure. Your pleasure, you have been taught, is to be found in immorality, your interests would best be served by evil, and any moral code must be designed not for you, but against you, not to further your life, but to drain it.

"For centuries, the battle of morality was fought between those who claimed that your life belongs to God and those who claimed that it belongs to your neighbors-between those who preached that the good is self-sacrifice for the sake of ghosts in heaven and those who preached that the good is self-sacrifice for the sake of incompetents on earth. And no one came to say that your life belongs to you and that the good is to live it.

"Both sides agreed that morality demands the surrender of your self-interest and of your mind, that the moral and the practical are opposites, that morality is not the province of reason, but the province of faith and force. Both sides agreed that no rational morality is possible, that there is no right or wrong in reason-that in reason there's no reason to be moral.

"Whatever else they fought about, it was against man's mind that all your moralists have stood united. It was man's mind that all their schemes and systems were intended to despoil and destroy. Now choose to perish or to learn that the anti-mind is the anti-life.

"Man's mind is his basic tool of survival. Life is given to him, survival is not. His body is given to him, its sustenance is not. His mind is given to him, its content is not. To remain alive, he must act, and before he can act he must know the nature and purpose of his action. He cannot obtain his food without a knowledge of food and of the way to obtain it. He cannot dig a ditch-or build a cyclotron-without a knowledge of his aim and of the means to achieve it. To remain alive, he must think.

"But to think is an act of choice. The key to what you so recklessly call 'human nature,' the open secret you live with, yet dread to name, is the fact that man is a being of volitional consciousness. Reason does not work automatically; thinking is not a mechanical process; the connections of logic are not made by instinct. The function of your stomach, lungs or heart is automatic; the function of your mind is not. In any hour and issue of your life, you are free to think or to evade that effort. But you are not free to escape from your nature, from the fact that reason is your means of survival-so that for you, who are a human being, the question 'to be or not to be' is the question 'to' think or not to think.'

"A being of volitional consciousness has no automatic course of behavior. He needs a code of values to guide his actions. 'Value' is that which one acts to gain and keep, 'virtue' is the action by which one gains and keeps it. 'Value' presupposes an answer to the question: of value to whom and for what? 'Value' presupposes a standard, a purpose and the necessity of action in the face of an alternative. Where there are no alternatives, no values are possible.

"There is only one fundamental alternative in the universe: existence or non-existence-and it pertains to a single class of entities: to living organisms. The existence of inanimate matter is unconditional, the existence of life is not; it depends on a specific course of action. Matter is indestructible, it changes its forms, but it cannot cease to exist. It is only a living organism that faces a constant alternative: the issue of life or death. Life is a process of self-sustaining and-self-generated action. If an organism fails in that action, it does; its chemical elements remain, but its life goes out of existence. It is only the concept of 'Life' that makes the concept of 'Value' possible. It is only to a living entity that things can be good or evil.

"A plant must feed itself in order to live; the sunlight, the water, the chemicals it needs are the values its nature has set it to pursue; its life is the standard of value directing its actions. But a plant has no choice of action; there are alternatives in the conditions it encounters, but there is no alternative in its function: it acts automatically to further its life, it cannot act for its own destruction.

"An animal is equipped for sustaining its life; its senses provide it with an automatic code of action, an automatic knowledge of what is good for it or evil. It has no power to extend its knowledge or to evade it. In conditions where its knowledge proves inadequate, it dies. But so long as it lives, it acts on its knowledge, with automatic safety and no power of choice, it is unable to ignore its own good, unable to decide to choose the evil and act as its own destroyer.

"Man has no automatic code of survival. His particular distinction from all other living species is the necessity to act in the face of alternatives by means of volitional choice. He has no automatic knowledge of what is good for him or evil, what values his life depends on, what course of action it requires. Are you prattling about an instinct of self-preservation? An instinct of self-preservation is precisely what man does not possess. An 'instinct' is an unerring and automatic form of knowledge. A desire is not an instinct. A desire to live does not give you the knowledge required for living. And even man's desire to live is not automatic: your secret evil today is that that is the desire you do not hold. Your fear of death is not a love of life and will not give you the knowledge needed to keep it. Man must obtain his knowledge and choose his actions by a process of thinking, which nature will not force him t9 perform. Man has the power to act as his own destroyer-and that is the way he has acted through most of his history.

"A living entity that regarded its means of survival as evil, would not survive. A plant that struggled to mangle its roots, a bird that fought to break its wings would not remain for long in the existence they affronted. But the history of man has been a struggle to deny and to destroy his mind.

"Man has been called a rational being, but rationality is a matter of choice-and the alternative his nature offers him is: rational being or suicidal animal. Man has to be man-by choice; he has to hold his life as a value-by choice: he has to learn to sustain it-by choice; he has to discover the values it requires and practice his virtues-by choice.

"A code of values accepted by choice is a code of morality.

"Whoever you are, you who are hearing me now, I am speaking to whatever living remnant is left uncorrupted within you, to the remnant of the human, to your mind, and I say: There is a morality of reason, a morality proper to man, and Man's Life is its standard of value.

"All that which is proper to the life of a rational being is the good; all that which destroys it is the evil.

"Man's life, as required by his nature, is not the life of a mindless brute, of a looting thug or a mooching mystic, but the life of a thinking being-not life by means of force or fraud, but life by means of achievement-not survival at any price, since there's only one price that pays for man's survival: reason.

"Man's life is the standard of morality, but your own life is its purpose. If existence on earth is your goal, you must choose your actions and values by the standard of that which is proper to man-for the purpose of preserving, fulfilling and enjoying the irreplaceable value which is your life.

"Since life requires a specific course of action, any other course will destroy it. A being who does not hold his own life as the motive and goal of his actions, is acting on the motive and standard of death. Such a being is a metaphysical monstrosity, struggling to oppose, negate and contradict the fact of his own existence, running blindly amuck on a trail of destruction, capable of nothing but pain.

"Happiness is the successful state of life, pain is an agent of death. Happiness is that state of consciousness which proceeds from the achievement of one's values. A morality that dares to tell you to find happiness in the renunciation of your happiness-to value the failure of your values-is an insolent negation of morality. A doctrine that gives you, as an ideal, the role of a sacrificial animal seeking slaughter on the altars of others, is giving you death as your standard. By the grace of reality and the nature of life, man-every man-is an end in himself, he exists for his own sake, and the achievement of his own happiness is his highest moral purpose.

"But neither life nor happiness can be achieved by the pursuit of irrational whims. Just as man is free to attempt to survive in any random manner, but will perish unless he lives as his nature requires, so he is free to seek his happiness in any mindless fraud, but the torture of frustration is all he will find, unless he seeks the happiness proper to man. The purpose of morality is to teach you, not to suffer and die, but to enjoy yourself and live.

"Sweep aside those parasites of subsidized classrooms, who live on the profits of the mind of others and proclaim that man needs no morality, no values, no code of behavior. They, who pose as scientists and claim that man is only an animal, do not grant him inclusion in the law of existence they have granted to the lowest of insects. They recognize that every living species has a way of survival demanded by its nature, they do not claim that a fish can live out of water or that a dog can live without its sense of smell-but man, they claim, the most complex of beings, man can survive in any way whatever, man has no identity, no nature, and there's no practical reason why he cannot live with his means of survival destroyed, with his mind throttled and placed at the disposal of any orders they might care to issue.

"Sweep aside those hatred-eaten mystics, who pose as friends of humanity and preach that the highest virtue man can practice is to hold his own life as of no value. Do they tell you that the purpose of morality is to curb man's instinct of self-preservation? It is for the purpose of self-preservation that man needs a code of morality. The only man who desires to be moral is the man who desires to live.

"No, you do not have to live; it is your basic act of choice; but if you choose to live,. you must live as a man-by the work and the judgment of your mind.

"No, you do not have to live as a man; it is an act of moral choice. But you cannot live as anything else-and the alternative is that state of living death which you now see within you and around you, the state of a thing unfit for existence, no longer human and less than animal, a thing that knows nothing but pain and drags itself through its span of years in the agony of unthinking self-destruction.

"No, you do not have to think; it is an act of moral choice. But someone had to think to keep you alive; if you choose to default, you default on existence and you pass the deficit to some moral man, expecting him to sacrifice his good for the sake of letting you survive by your evil.

"No, you do not have to be a man; but today those who are, are not there any longer. I have removed your means of survival-your victims.

"If you wish to know how I have done it and what I told them to make them quit, you are hearing it now. I told them, in essence, the statement I am making tonight. They were men who had lived by my code, but had not known how great a virtue it represented. I made them see it. I brought them, not a re-evaluation, but only an identification of their values.

"We, the men of the mind, are now on strike against you in the name of a single axiom, which is the root of our moral code, just as the root of yours is the wish to escape it: the axiom that existence exists.

"Existence exists-and the act of grasping that statement implies two corollary axioms: that something exists which one perceives and that one exists possessing consciousness, consciousness being the faculty of perceiving that which exists.

"If nothing exists, there can be no consciousness: a consciousness with nothing to be conscious of is a contradiction in terms. A consciousness conscious of nothing but itself is a contradiction in terms: before it could identify itself as consciousness, it had to be conscious of something. If that which you claim to perceive does not exist, what you possess is not consciousness.

"Whatever the degree of your knowledge, these two-existence and consciousness-are axioms you cannot escape, these two are the irreducible primaries implied in any action you undertake, in any part of your knowledge and in its sum, from the first ray of light you perceive at the start of your life to the widest erudition you might acquire at its end. Whether you know the shape of a pebble or the structure of a solar system, the axioms remain the same: that it exists and that you know it.

"To exist is to be something, as distinguished from the nothing of non-existence, it is to be an entity of a specific nature made of specific attributes. Centuries ago, the man who was-no matter what his errors-the greatest of your philosophers, has stated the formula defining the concept of existence and the rule of all knowledge: A is A. A thing is itself. You have never grasped the meaning of his statement. I am here to complete it: Existence is Identity, Consciousness is Identification.

"Whatever you choose to consider, be it an object, an attribute or an action, the law of identity remains the same. A leaf cannot be a stone at the same time, it cannot be all red and all green at the same time, it cannot freeze and burn at the same time. A is A. Or, if you wish it stated in simpler language: You cannot have your cake and eat it, too.

"Are you seeking to know what is wrong with the world? All the disasters that have wrecked your world, came from your leaders' attempt to evade the fact that A is A. All the secret evil you dread to face within you and all the pain you have ever endured, came from your own attempt to evade the fact that A is A. The purpose of those who taught you to evade it, was to make you forget that Man is Man.

"Man cannot survive except by gaining knowledge, and reason is his only means to gain it. Reason is the faculty that perceives, identifies and integrates the material provided by his senses. The task of his senses is to give him the evidence of existence, but the task of identifying it belongs to his reason, his senses tell him only that something is, but what it is must be learned by his mind.

"All thinking is a process of identification and integration. Man perceives a blob of color; by integrating the evidence of his sight and his touch, he learns to identify it as a solid object; he learns to identify the object as a table; he learns that the table is made of wood; he learns that the wood consists of cells, that the cells consist of molecules, that the molecules consist of atoms. All through this process, the work of his mind consists of answers to a single question: What is it? His means to establish the truth of his answers is logic, and logic rests on the axiom that existence exists. Logic is the art of non-contradictory identification. A contradiction cannot exist. An atom is itself, and so is the universe; neither can contradict its own identity; nor can a part contradict the whole. No concept man forms is valid unless he integrates it without contradiction into the total sum of his knowledge. To arrive at a contradiction is to confess an error in one's thinking; to maintain a contradiction is to abdicate one's mind and to evict oneself from the realm of reality.

"Reality is that which exists; the unreal does not exist; the unreal is merely that negation of existence which is the content of a human consciousness when it attempts to abandon reason. Truth is the recognition of reality; reason, man's only means of knowledge, is his only standard of truth.

"The most depraved sentence you can now utter is to ask: Whose reason? The answer is: Yours. No matter how vast your knowledge or how modest, it is your own mind that has to acquire it. It is only with your own knowledge that you can deal. It is only your own knowledge that you can claim to possess or ask others to consider. Your mind is your only judge of truth-and if others dissent from your verdict, reality is the court of final appeal. Nothing but a man's mind can perform that complex, delicate, crucial process of identification which is thinking. Nothing can direct the process but his own judgment. Nothing can direct his judgment but his moral integrity.

"You who speak of a 'moral instinct' as if it were some separate endowment opposed to reason-man's reason is his moral faculty. A process of reason is a process of constant choice in answer to the question: True or False?-Right or Wrong? Is a seed to be planted in soil in order to grow-right or wrong? Is a man's wound to be disinfected in order to save his life-right or wrong? Does the nature of atmospheric electricity permit it to be converted into kinetic power-right or wrong? It is the answers to such questions that gave you everything you have-and the answers came from a man's mind, a mind of intransigent devotion to that which is right.

"A rational process is a moral process. You may make an error at any step of it, with nothing to protect you but your own severity, or you may try to cheat, to fake the evidence and evade the effort of the quest-but if devotion to truth is the hallmark of morality, then there is no greater, nobler, more heroic form of devotion than the act of a man who assumes the responsibility of thinking.

"That which you call your soul or spirit is your consciousness, and that which you call 'free will' is your mind's freedom to think or not, the only will you have, your only freedom, the choice that controls all the choices you make and determines your life and your character.

"Thinking is man's only basic virtue, from which all the others proceed. And his basic vice, the source of all his evils, is that nameless act which all of you practice, but struggle never to admit: the act of blanking out, the willful suspension of one's consciousness, the refusal to think-not blindness, but the refusal to see; not ignorance, but the refusal to know. It is the act of unfocusing your mind and inducing an inner fog to escape the responsibility of judgment-on the unstated premise that a thing will not exist if only you refuse to identify it, that A will not be A so long as you do not pronounce the verdict 'It is.' Non-thinking is an act of annihilation, a wish to negate existence, an attempt to wipe out reality. But existence exists; reality is not to be wiped out, it will merely wipe out the wiper. By refusing to say 'It is,' you are refusing to say 'I am.' By suspending your judgment, you are negating your person. When a man declares: 'Who am I to know?'-he is declaring: 'Who am I to live?'

"This, in every hour and every issue, is your basic moral choice: thinking or non-thinking, existence or non-existence, A or non-A, entity or zero.

"To the extent to which a man is rational, life is the premise directing his actions. To the extent to which he is irrational, the premise directing his actions is death.

"You who prattle that morality is social and that man would need no morality on a desert island-it is on a desert island that he would need it most. Let him try to claim, when there are no victims to pay for it, that a rock is a house, that sand is clothing, that food will drop into his mouth without cause or effort, that he will collect a harvest tomorrow by devouring his stock seed today-and reality will wipe him out, as he deserves; reality will show him that life is a value to be bought and that thinking is the only coin noble enough to buy it.

"If I were to speak your kind of language, I would say that man's only moral commandment is: Thou shalt think. But a 'moral commandment' is a contradiction in terms. The moral is the chosen, not the forced; the understood, not the obeyed. The moral is the rational, and reason accepts no commandments.

"My morality, the morality of reason, is contained in a single axiom: existence exists-and in a single choice: to live. The rest proceeds from these. To live, man must hold three things as the supreme and ruling values of his life: Reason-Purpose-Self-esteem. Reason, as his only tool of knowledge-Purpose, as his choice of the happiness which that tool must proceed to achieve-Self-esteem, as his inviolate certainty that his mind is competent to think and his person is worthy of happiness, which means: is worthy of living. These three values imply and require all of man's virtues, and all his virtues pertain to the relation of existence and consciousness: rationality, independence, integrity, honesty, justice, productiveness, pride.

"Rationality is the recognition of the fact that existence exists, that nothing can alter the truth and nothing can take precedence over that act of perceiving it, which is thinking-that the mind is one's only judge of values and one's only guide of action-that reason is an absolute that permits no compromise-that a concession to the irrational invalidates one's consciousness and turns it from the task of perceiving to the task of faking reality-that the alleged short-cut to knowledge, which is faith, is only a short-circuit destroying the mind-that the acceptance of a mystical invention is a wish for the annihilation of existence and, properly, annihilates one's consciousness.

"Independence is the recognition of the fact that yours is the responsibility of judgment and nothing can help you escape it-that no substitute can do your thinking, as no pinch-hitter can live your life-that the vilest form of self-abasement and self-destruction is the subordination of your mind to the mind of another, the acceptance of an authority over your brain, the acceptance of his assertions as facts, his say-so as truth, his edicts as middle-man between your consciousness and your existence.

"Integrity is the recognition of the fact that you cannot fake your consciousness, just as honesty is the recognition of the fact that you cannot fake existence-that man is an indivisible entity, an integrated unit of two attributes: of matter and consciousness, and that he may permit no breach between body and mind, between action and thought, between his life and his convictions-that, like a judge impervious to public opinion, he may not sacrifice his convictions to the wishes of others, be it the whole of mankind shouting pleas or threats against him-that courage and confidence are practical necessities, that courage is the practical form of being true to existence, of being true to one's own consciousness.

"Honesty is the recognition of the fact that the unreal is unreal and can have no value, that neither love nor fame nor cash is a value if obtained by fraud-that an attempt to gain a value by deceiving the mind of others is an act of raising your victims to a position higher than reality, where you become a pawn of their blindness, a slave of their non-thinking and their evasions, while their intelligence, their rationality, their perceptiveness become the enemies you have to dread and flee-that you do not care to live as a dependent, least of all a dependent on the stupidity of others, or as a fool whose source of values is the fools he succeeds in fooling-that honesty is not a social duty, not a sacrifice for the sake of others, but the most profoundly selfish virtue man can practice: his refusal to sacrifice the reality of his own existence to the deluded consciousness of others.

"Justice is the recognition of the fact that you cannot fake the character of men as you cannot fake the character of nature, that you must judge all men as conscientiously as you judge inanimate objects, with the same respect for truth, with the same incorruptible vision, by as pure and as rational a process of identification-that every man must be judged for what he is and treated accordingly, that just as you do not pay a higher price for a rusty chunk of scrap than for a piece of shining metal, so you do not value a totter above a hero-that your moral appraisal is the coin paying men for their virtues or vices, and this payment demands of you as scrupulous an honor as you bring to financial transactions-that to withhold your contempt from men's vices is an act of moral counterfeiting, and to withhold your admiration from their virtues is an act of moral embezzlement-that to place any other concern higher than justice is to devaluate your moral currency and defraud the good in favor of the evil, since only the good can lose by a default of justice and only the evil can profit-and that the bottom of the pit at the end of that road, the act of moral bankruptcy, is to punish men for their virtues and reward them for their vices, that that is the collapse to full depravity, the Black Mass of the worship of death, the dedication of your consciousness to the destruction of existence.

"Productiveness is your acceptance of morality, your recognition of the fact that you choose to live-that productive work is the process by which man's consciousness controls his existence, a constant process of acquiring knowledge and shaping matter to fit one's purpose, of translating an idea into physical form, of remaking the earth in the image of one's values-that all work is creative work if done by a thinking mind, and no work is creative if done by a blank who repeats in uncritical stupor a routine he has learned from others- that your work is yours to choose, and the choice is as wide as your mind, that nothing more is possible to you and nothing less is human-that to cheat your way into a job bigger than your mind can handle is to become a fear-corroded ape on borrowed motions and borrowed time, and to settle down into a job that requires less than your mind's full capacity is to cut your motor and sentence yourself to another kind of motion: decay-that your work is the process of achieving your values, and to lose your ambition for values is to lose your ambition to live-that your body is a machine, but your mind is its driver, and you must drive as far as your mind will take you, with achievement as the goal of your road-that the man who has no purpose is a machine that coasts downhill at the mercy of any boulder to crash in the first chance ditch, that the man who stifles his mind is a stalled machine slowly going to rust, that the man who lets a leader prescribe his course is a wreck being towed to the scrap heap, and the man who makes another man his goal is a hitchhiker no driver should ever pick up-that your work is the purpose of your life, and you must speed past any killer who assumes the right to stop you, that any value you might find outside your work, any other loyalty or love, can be only travelers you choose to share your journey and must be travelers going on their own power in the same direction.

"Pride is the recognition of the fact that you are your own highest value and, like all of man's values, it has to be earned-that of any achievements open to you, the one that makes all others possible is the creation of your own character-that your character, your actions, your desires, your emotions are the products of the premises held by your mind-that as man must produce the physical values he needs to sustain his life, so he must acquire the values of character that make his life worth sustaining-that as man is a being of self-made wealth, so he is a being of self-made soul-that to live requires a sense of self-value, but man, who has no automatic values, has no automatic sense of self-esteem and must earn it by shaping his soul in the image of his moral ideal, in the image of Man, the rational being he is born able to create, but must create by choice-that the first precondition of self-esteem is that radiant selfishness of soul which desires the best in all things, in values of matter and spirit, a soul that seeks above all else to achieve its own moral perfection, valuing nothing higher than itself-and that the proof of an achieved self-esteem is your soul's shudder of contempt and rebellion against the role of a sacrificial animal, against the vile impertinence of any creed that proposes to immolate the irreplaceable value which is your consciousness and the incomparable glory which is your existence to the blind evasions and the stagnant decay of others.

"Are you beginning to see who is John Galt? I am the man who has earned the thing you did not fight for, the thing you have renounced, betrayed, corrupted, yet were unable fully to destroy and are now hiding as your guilty secret, spending your life in apologies to every professional cannibal, lest it be discovered that somewhere within you, you still long to say what I am now saying to the hearing of the whole of mankind: I am proud of my own value and of the fact that I wish to live.

"This wish-which you share, yet submerge as an evil-is the only remnant of the good within you, but it is a wish one must learn to deserve. His own happiness is man's only moral purpose, but only his own virtue can achieve it. Virtue is not an end in itself. Virtue is not its own reward or sacrificial fodder for the reward of evil. Life is the reward of virtue-and happiness is the goal and the reward of life.

"Just as your body has two fundamental sensations, pleasure and pain, as signs of its welfare or injury, as a barometer of its basic alternative, life or death, so your consciousness has two fundamental emotions, joy and suffering, in answer to the same alternative. Your emotions are estimates of that which furthers your life or threatens it, lightning calculators giving you a sum of your profit or loss. You have no choice about your capacity to feel that something is good for you or evil, but what you will consider good or evil, what will give you joy or pain, what you will love or hate, desire or fear, depends on your standard of value. Emotions are inherent in your nature, but their content is dictated by your mind. Your emotional capacity is an empty motor, and your values are the fuel with which your mind fills it. If you choose a mix of contradictions, it will clog your motor, corrode your transmission and wreck you on your first attempt to move with a machine which you, the driver, have corrupted.

"If you hold the irrational as your standard of value and the impossible as your concept of the good, if you long for rewards you have not earned, for a fortune, or a love you don't deserve, for a loophole in the law of causality, for an A that becomes non-A at your whim, if you desire the opposite of existence-you will reach it. Do not cry, when you reach it, that life is frustration and that happiness is impossible to man; check your fuel: it brought you where you wanted to go.

"Happiness is not to be achieved at the command of emotional whims. Happiness is not the satisfaction of whatever irrational wishes you might blindly attempt to indulge. Happiness is a state of non-contradictory joy-a joy without penalty or guilt, a joy that does not clash with any of your values and does not work for your own destruction, not the joy of escaping from your mind, but of using your mind's fullest power, not the joy of faking reality, but of achieving values that are real, not the joy of a drunkard, but of a producer. Happiness is possible only to a rational man, the man who desires nothing but rational goals, seeks nothing but rational values and finds his joy in nothing but rational actions.

"Just as I support my life, neither by robbery nor alms, but by my own effort, so I do not seek to derive my happiness from the injury or the favor of others, but earn it by my own achievement. Just as I do not consider the pleasure of others as the goal of my life, so I do not consider my pleasure as the goal of the lives of others. Just as there are no contradictions in my values and no conflicts among my desires-so there are no victims and no conflicts of interest among rational men, men who do not desire the unearned and do not view one another with a cannibal's lust, men who neither make sacrifice nor accept them.

"The symbol of all relationships among such men, the moral symbol of respect for human beings, is the trader. We, who live by values, not by loot, are traders, both in matter and in spirit. A trader is a man who earns what he gets and does not give or take the undeserved. A trader does not ask to be paid for his failures, nor does he ask to be loved for his flaws. A trader does not squander his body as fodder or his soul as alms. Just as he does not give his work except in trade for material values, so he does not give the values of his spirit-his love, his friendship, his esteem-except in payment and in trade for human virtues, in payment for his own selfish pleasure, which he receives from men he can respect. The mystic parasites who have, throughout the ages, reviled the traders and held them in contempt, while honoring the beggars and the looters, have known the secret motive of their sneers: a trader is the entity they dread-a man of justice.

"Do you ask what moral obligation I owe to my fellow men? None-except the obligation I owe to myself, to material objects and to all of existence: rationality. I deal with men as my nature and their demands: by means of reason. I seek or desire nothing from them except such relations as they care to enter of their own voluntary choice. It is only with their mind that I can deal and only for my own self-interest, when they see that my interest coincides with theirs. When they don't, I enter no relationship; I let dissenters go their way and I do not swerve from mine. I win by means of nothing but logic and I surrender to nothing but logic. I do not surrender my reason or deal with men who surrender theirs. I have nothing to gain from fools or cowards; I have no benefits to seek from human vices: from stupidity, dishonesty or fear. The only value men can offer me is the work of their mind. When I disagree with a rational man, I let reality be our final arbiter; if I am right, he will learn; if I am wrong, I will; one of us will win, but both will profit.

"Whatever may be open to disagreement, there is one act of evil that may not, the act that no man may commit against others and no man may sanction or forgive. So long as men desire to live together, no man may initiate-do you hear me? no man may start-the use of physical force against others.

"To interpose the threat of physical destruction between a man and his perception of reality, is to negate and paralyze his means of survival; to force-him to act against his own judgment, is like forcing him to act against his own sight. Whoever, to whatever purpose or extent, initiates the use of force, is a killer acting on the premise of death in a manner wider than murder: the premise of destroying man's capacity to live.

"Do not open your mouth to tell me that your mind has convinced you of your right to force my mind. Force and mind are opposites; morality ends where a gun begins. When you declare that men are irrational animals and propose to treat them as such, you define thereby your own character and can no longer claim the sanction of reason-as no advocate of contradictions can claim it. There can be no 'right' to destroy the source of rights, the only means of judging right and wrong: the mind.

"To force a man to drop his own mind and to accept your will as a substitute, with a gun in place of a syllogism, with terror in place of proof, and death as the final argument-is to attempt to exist in defiance of reality. Reality demands of man that he act for his own rational interest; your gun demands of him that he act against it. Reality threatens man with death if he does not act on his rational judgment: you threaten him with death if he does. You place him into a world where the price of his life is the surrender of all the virtues required by life-and death by a process of gradual destruction is all that you and your system will achieve, when death is made to be the ruling power, the winning argument in a society of men.

"Be it a highwayman who confronts a traveler with the ultimatum: 'Your money or your life,' or a politician who confronts a country with the ultimatum: 'Your children's education or your life,' the meaning of that ultimatum is: 'Your mind or your life'-and neither is possible to man without the other.

"If there are degrees of evil, it is hard to say who is the more contemptible: the brute who assumes the right to force the mind of others or the moral degenerate who grants to others the right to force his mind. That is the moral absolute one does not leave open to debate. I do not grant the terms of reason to men who propose to deprive me of reason. I do not enter discussions with neighbors who think they can forbid me to think. I do not place my moral sanction upon a murderer's wish to kill me. When a man attempts to deal with me by force, I answer him-by force.

"It is only as retaliation that force may be used and only against the man who starts its use. No, I do not share his evil or sink to his concept of morality: I merely grant him his choice, destruction, the only destruction he had the right to choose: his own. He uses force to seize a value; I use it only to destroy destruction. A holdup man seeks to gain wealth by killing me; I do not grow richer by killing a holdup man. I seek no values by means of evil, nor do I surrender my values to evil.

"In the name of all the producers who had kept you alive and received your death ultimatums in payment, I now answer you with a single ultimatum of our own: Our work or your guns. You can choose either; you can't have both. We do not initiate the use of force against others or submit to force at their hands. If you desire ever again to live in an industrial society, it Will be on our moral terms. Our terms and our motive power are the antithesis of yours. You have been using fear as your weapon and have been bringing death to man as his punishment for rejecting your morality. We offer him life as his reward for accepting ours.

"You who are worshippers of the zero-you have never discovered that achieving life is not the equivalent of avoiding death. Joy is not 'the absence of pain,' intelligence is not 'the absence of stupidity,' light is not 'the absence of darkness,' an entity is not 'the absence of a nonentity.' Building is not done by abstaining from demolition; centuries of sitting and waiting in such abstinence will not raise one single girder for you to abstain from demolishing-and now you can no longer say to me, the builder: 'Produce, and feed us in exchange for our not destroying your production.' I am answering in the name of all your victims: Perish with and in your own void. Existence is not a negation of negatives. Evil, not value, is an absence and a negation, evil is impotent and has no power but that which we let it extort from us. Perish, because we have learned that a zero cannot hold a mortgage over life.

"You seek escape from pain. We seek the achievement of happiness. You exist for the sake of avoiding punishment. We exist for the sake of earning rewards. Threats will not make us function; fear is not our incentive. It is not death that we wish to avoid, but life that we wish to live.

"You, who have lost the concept of the difference, you who claim that fear and joy are incentives of equal power-and secretly add that fear is the more 'practical'-you do not wish to live, and only fear of death still holds you to the existence you have damned. You dart in panic through the trap of your days, looking for the exit you have closed, running from a pursuer you dare not name to a terror you dare not acknowledge, and the greater your terror the greater your dread of the only act that could save you: thinking. The purpose of your struggle is not to know, not to grasp or name or hear the thing. I shall now state to your hearing: that yours is the Morality of Death.

"Death is the standard of your values, death is your chosen goal, and you have to keep running, since there is no escape from the pursuer who is out to destroy you or from the knowledge that that pursuer is yourself. Stop running, for once-there is no place to run-stand naked, as you dread to stand, but as I see you, and take a look at what you dared to call a moral code.

"Damnation is the start of your morality, destruction is its purpose, means and end. Your code begins by damning man as evil, then demands that he practice a good which it defines as impossible for him to practice. It demands, as his first proof of virtue, that he accept his own depravity without proof. It demands that he start, not with a standard of value, but with a standard of evil, which is himself, by means of which he is then to define the good: the good is that which he is not.

"It does not matter who then becomes the profiteer on his renounced glory and tormented soul, a mystic God with some incomprehensible design or any passer-by whose rotting sores are held as some inexplicable claim upon him-it does not matter, the good is not for him to understand, his duty is to crawl through years of penance, atoning for the guilt of his existence to any stray collector of unintelligible debts, his only concept of a value is a zero: the good is that which is non-man.

"The name of this monstrous absurdity is Original Sin.

"A sin without volition is a slap at morality and an insolent contradiction in terms: that which is outside the possibility of choice is outside the province of morality. If man is evil by birth, he has no will, no power to change it; if he has no will, he can be neither good nor evil; a robot is amoral. To hold, as man's sin, a fact not open to his choice is a mockery of morality. To hold man's nature as his sin is a mockery of nature. To punish him for a crime he committed before he was born is a mockery of justice. To hold him guilty in a matter where no innocence exists is a mockery of reason. To destroy morality, nature, justice and reason by means of a single concept is a feat of evil hardly to be matched. Yet that is the root of your code.

"Do not hide behind the cowardly evasion that man is born with free will, but with a 'tendency' to evil. A free will saddled with a tendency is like a game with loaded dice. It forces man to struggle through the effort of playing, to bear responsibility and pay for the game, but the decision is weighted in favor of a tendency that he had no power to escape. If the tendency is of his choice, he cannot possess it at birth; if it is not of his choice, his will is not free.

"What is the nature of the guilt that your teachers call his Original Sin? What are the evils man acquired when he fell from a state they consider perfection? Their myth declares that he ate the fruit of the tree of knowledge-he acquired a mind and became a rational being. It was the knowledge of good and evil-he became a mortal being. He was sentenced to earn his bread by his labor-he became a productive being. He was sentenced to experience desire-he acquired the capacity of sexual enjoyment. The evils for which they damn him are reason, morality, creativeness; joy-all the cardinal values of his existence. It is not his vices that their myth of man's fall is designed to explain and condemn, it is not his errors that they hold as his guilt, but the essence of his nature as man. Whatever he was-that robot in the Garden of Eden, who existed without mind, without values, without labor, without love-he was not man.

"Man's fall, according to your teachers, was that he gained the virtues required to live. These virtues, by their standard, are his Sin. His evil, they charge, is that he's man. His guilt, they charge, is that he lives.

"They call it a morality of mercy and a doctrine of love for man. No, they say, they do not preach that man is evil, the evil is only that alien object: his body. No, they say, they do not wish to kill him, they only wish to make him lose his body. They seek to help him, they say, against his pain-and they point at the torture rack to which they've tied him, the rack with two wheels that pull him in opposite directions, the rack of the doctrine that splits his soul and body.

"They have cut man in two, setting one half against the other. They have taught him that his body and his consciousness are two enemies engaged in deadly conflict, two antagonists of opposite natures, contradictory claims, incompatible needs, that to benefit one is to injure the other, that his soul belongs to a supernatural realm, but his body is an evil prison holding it in bondage to this earth-and that the good is to defeat his body, to undermine it by years of patient struggle, digging his way to that gorgeous jail-break which leads into the freedom of the grave.

"They have taught man that he is a hopeless misfit made of two elements, both symbols of death. A body without a soul is a corpse, a soul without a body is a ghost-yet such is their image of man's nature: the battleground of a struggle between a corpse and a ghost, a corpse endowed with some evil volition of its own and a ghost endowed with the knowledge that everything known to man is nonexistent, that only the unknowable exists.

"Do you observe what human faculty that' doctrine was designed to ignore? It was man's mind that had to be negated in order to make him fall apart. Once he surrendered reason, he was left at the mercy of two monsters whom he could not fathom or control: of a body moved by unaccountable instincts and of a soul moved by mystic revelations-he was left as the passively ravaged victim of a battle between a robot and a dictaphone.

"And as he now crawls through the wreckage, groping blindly for a way to live, your teachers offer him the help of a morality that proclaims that he'll find no solution and must seek no fulfillment on earth. Real existence, they tell him, is that which he cannot perceive, true consciousness is the faculty of perceiving the non-existent-and if he is unable to understand it, that is the proof that his existence is evil and his consciousness impotent.

"As products of the split between man's soul and body, there are two kinds of teachers of the Morality of Death: the mystics of spirit and the mystics of muscle, whom you call the spiritualists and the materialists, those who believe in consciousness without existence and those who believe in existence without consciousness. Both demand the surrender of your mind, one to their revelation, the other to their reflexes. No matter how loudly they posture in the roles of irreconcilable antagonists, their moral codes are alike, and so are their aims: in matter-the enslavement of man's body, in spirit-the destruction of his mind.

"The good, say the mystics of spirit, is God, a being whose only definition is that he is beyond man's power to conceive-a definition that invalidates man's consciousness and nullifies his concepts of existence. The good, say the mystics of muscle, is Society-a thing which they define as an organism that possesses no physical form, a super-being embodied in no one in particular and everyone in general except yourself. Man's mind, say the mystics of spirit, must be subordinated to the will of God. Man's mind, say the mystics of muscle, must be subordinated to the will of Society. Man's standard of value say the mystics of spirit, is the pleasure 0f God, whose standards are beyond man's power of comprehension and must be accepted on faith. Man's standard of value, say the mystics of muscle, is the pleasure of Society, whose standards are beyond man's right of judgment and must be obeyed as a primary absolute. The purpose of man's life, say both, is to become an abject zombie who serves a purpose he does not know, for reasons he is not to question. His reward, say the mystics of spirit, will be given to him beyond the grave. His reward, say the mystics of muscle, will be given on earth-to his great-grandchildren.

"Selfishness-say both-is man's evil. Man's good-say both-is to give up his personal desires, to deny himself, renounce himself, surrender; man's good is to negate the life he lives. Sacrifice-cry both-is the essence of morality, the highest virtue within man's reach.

"Whoever is now within reach of my voice, whoever is man the victim, not man the killer, I am speaking at the deathbed of your mind, at the brink of that darkness in which you're drowning, and if there still remains within you the power to struggle to hold on to those fading sparks which had been yourself-use it now. The word that has destroyed you is 'sacrifice.' Use the last of your strength to understand its meaning. You're still alive. You have a chance.

"'Sacrifice' does not mean the rejection of the worthless, but of the precious. 'Sacrifice' does not mean the rejection of the evil for the sake of the good, but of the good for the sake of the evil. 'Sacrifice' is the surrender of that which you value in favor of that which you don't.

"If you exchange a penny for a dollar, it is not a sacrifice; if you exchange a dollar for a penny, it is. If you achieve the career you wanted, after years of struggle, it is not a sacrifice; if you then renounce it for the sake of a rival, it is. If you own a bottle of milk and gave it to your starving child, it is not a sacrifice; if you give it to your neighbor's child and let your own die, it is.

"If you give money to help a friend, it is not a sacrifice; if you give it to a worthless stranger, it is. If you give your friend a sum you can afford, it is not a sacrifice; if you give him money at the cost of your own discomfort, it is only a partial virtue, according to this sort of moral standard; if you give him money at the cost of disaster to yourself that is the virtue of sacrifice in full.

"If you renounce all personal desire and dedicate your life to those you love, you do not achieve full virtue: you still retain a value of your own, which is your love. If you devote your life to random strangers, it is an act of greater virtue. If you devote your life to serving men you hate-that is the greatest of the virtues you can practice.

"A sacrifice is the surrender of a value. Full sacrifice is full surrender of all values. If you wish to achieve full virtue, you must seek no gratitude in return for your sacrifice, no praise, no love, no admiration, no self-esteem, not even the pride of being virtuous; the faintest trace of any gain dilutes your virtue. If you pursue a course of action that does not taint your life by any joy, that brings you no value in matter, no value in spirit, no gain, no profit, no reward-if you achieve this state of total zero, you have achieved the ideal of moral perfection.

"You are told that moral perfection is impossible to man-and, by this standard, it is. You cannot achieve it so long as you live, but the value of your life and of your person is gauged by how closely you succeed in approaching that ideal zero which is death.

"If you start, however, as a passionless blank, as a vegetable seeking to be eaten, with no values to reject and no wishes to renounce, you will not win the crown of sacrifice. It is not a sacrifice to renounce the unwanted. It is not a sacrifice. It is not a sacrifice to give your life for others, if death is your personal desire. To achieve the virtue of sacrifice, you must want to live, you must love it, you must burn with passion for this earth and for all the splendor it can give you-you must feel the twist of every knife as it slashes your desires away from your reach and drains your love out of your body, It is not mere death that the morality of sacrifice holds out to you as an ideal, but death by slow torture.

"Do not remind me that it pertains only to this life on earth. I am concerned with no other. Neither are you.

"If you wish to save the last of your dignity, do not call your best actions a 'sacrifice': that term brands you as immoral. If a mother buys food for her hungry child rather than a hat for herself, it is not a sacrifice: she values the child higher than the hat; but it is a sacrifice to the kind of mother whose higher value is the hat, who would prefer her child to starve and feeds him only from a sense of duty. If a man dies fighting for his own freedom, it is not a sacrifice: he is not willing to live as a slave; but it is a sacrifice to the kind of man who's willing. If a man refuses to sell his convictions, it is not a sacrifice, unless he is the sort of man who has no convictions.

"Sacrifice could be proper only for those who have nothing to sacrifice-no values, no standards, no judgment-those whose desires are irrational whims, blindly conceived and lightly surrendered. For a man of moral stature, whose desires are born of rational values, sacrifice is the surrender of the right to the wrong, of the good to the evil.

"The creed of sacrifice is a morality for the immoral-a morality that declares its own bankruptcy by confessing that it can't impart to men any personal stake in virtues or value, and that their souls are sewers of depravity, which they must be taught to sacrifice. By his own confession, it is impotent to teach men to be good and can only subject them to constant punishment.

"Are you thinking, in some foggy stupor, that it's only material values that your morality requires you to sacrifice? And what do you think are material values? Matter has no value except as a means for the satisfaction of human desires. Matter is only a tool of human values. To what service are you asked to give the material tools your virtue has produced? To the service of that which you regard as evil: to a principle you do not share, to a person you do not respect, to the achievement of a purpose opposed to your own-else your gift is not a sacrifice.

"Your morality tells you to renounce the material world and to divorce your values from matter. A man whose values are given no expression in material form, whose existence is unrelated to his ideals, whose actions contradict his convictions, is a cheap little hypocrite-yet that is the man who obeys your morality and divorces his values from matter. The man who loves one woman, but sleeps with another-the man who admires the talent of a worker, but hires another-the man who considers one cause to be just, but donates his money to the support of another-the man who holds high standards of craftsmanship, but devotes his effort to the production of trash-these are the men who have renounced matter, the men who believe that the values of their spirit cannot be brought into material reality.

"Do you say it is the spirit that such men have renounced? Yes, of course. You cannot have one without the other. You are an indivisible entity of matter and consciousness. Renounce your consciousness and you become a brute. Renounce your body and you become a fake. Renounce the material world and you surrender it to evil.

"And that is precisely the goal of your morality, the duty that your code demands of you. Give to that which you do not enjoy, serve that which you do not admire, submit to that which you consider evil-surrender the world to the values of others, deny, reject, renounce your self. Your self is your mind; renounce it and you become a chunk of meat ready for any cannibal to swallow.

"It is your mind that they want you to surrender-all those who preach the creed of sacrifice, whatever their tags or their motives, whether they demand it for the sake of your soul or of your body, whether they promise you another life in heaven or a full stomach on this earth. Those who start by saying: 'It is selfish to pursue your own wishes, you must sacrifice them to the wishes of others'-end up by saying: 'It is selfish to uphold your convictions, you must sacrifice them to the convictions of others.

"This much is true: the most selfish of all things is the independent mind that recognizes no authority higher than its own and no value higher than its judgment of truth. You are asked to sacrifice your intellectual integrity, your logic, your reason, your standard of truth-in favor of becoming a prostitute whose standard is the greatest good for the greatest number.

"If you search your code for guidance, for an answer to the question: 'What is the good?'-the only answer you will find is 'The good of others.' The good is whatever others wish, whatever you feel they feel they wish, or whatever you feel they ought to feel. 'The good of others' is a magic formula that transforms anything into gold, a formula to be recited as a guarantee of moral glory and as a fumigator for any action, even the slaughter of a continent. Your standard of virtue is not an object, not an act, not a principle, but an intention. You need no proof, no reasons, no success, you need not achieve in fact the good of others-all you need to know is that your motive was the good of others, not your own. Your only definition of the good is a negation: the good is the 'non-good for me.'

"Your code-which boasts that it upholds eternal, absolute, objective moral values and scorns the conditional, the relative and the subjective-your code hands out, as its version of the absolute, the following rule of moral conduct: If you wish it, it's evil; if others wish it, it's good; if the motive of your action is your welfare, don't do it; if the motive is the welfare of others, then anything goes.

"As this double-jointed, double-standard morality splits you in half, so it splits mankind into two enemy camps: one is you, the other is all the rest of humanity. You are the only outcast who has no right to wish to live. You are the only servant, the rest are the masters, you are the only giver, the rest are the takers, you are the eternal debtor, the rest are the creditors never to be paid off. You must not question their right to your sacrifice, or the nature of their wishes and their needs: their right is conferred upon them by a negative, by the fact that they are 'non-you.'

"For those of yo

Re:Fucking Communitst (1)

AlexLibman (785653) | more than 4 years ago | (#30853398)

Good libertarian / Objectivist / Anarcho-Capitalist trolls at least try to post on topic... Watch me and learn, grasshopper. ;-)

Anyway, did MIT just figure out a way to make computers slower and GUI script kiddies more arrogant?! Yuck! C, perl, and OpenBSD FTW!

How easy IS it? (-1, Troll)

0100010001010011 (652467) | more than 4 years ago | (#30851660)

Can it be done while getting a blow job? That's the the real question.

Re:How easy IS it? (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30851900)

Why is Stevie Wonder always smiling? Because he doesn't know that he's black!

Re:How easy IS it? (1)

Hognoxious (631665) | more than 4 years ago | (#30852474)

Have you seen his wife recently?

MIT can't afford real microphones (1)

Hadlock (143607) | more than 4 years ago | (#30852032)

The subtitles were a bit of a surprise. Can MIT not afford better than built in microphones on cheap laptops? Between her vaugely asian accent, the poor quality of the audio (seriously, you're TELLING people how to do something, the audio is important here - did they record this in a shower stall or something? my netbook's audio sounds 100x better than this), and then apparently some sort of wacky audio encoding basically makes her impossible to understand. People who speak english as a second language aren't going to be able to understand this, thank god they did the subtitles.
 
Neat concept though.

Re:MIT can't afford real microphones (1)

pclminion (145572) | more than 4 years ago | (#30852348)

On the contrary, my experience has been that non-native speakers of English are actually better at understanding other non-native speakers. I don't know why that is, but intuitively it makes sense -- non-native speakers probably learned from a diversity of other non-native speakers.

I was at a WinHEC panel session in 2008 and the panel leader had absolutely horrible English (I'm sure he was intelligent, but he wasn't intelligible). Somebody else, clearly of another racial background (the specific ethnicities are unimportant) stood up and asked a question, also in completely unintelligible English. The questioner and speaker went back and forth for several minutes speaking. Other non-native speakers in the audience were nodding their heads emphatically, indicating they could understand as well. I looked around and every American in the room seemed completely baffled.

Re:MIT can't afford real microphones (1)

Yvan256 (722131) | more than 4 years ago | (#30852704)

That's because non-native speakers can't string the words together, they have to cut them up individually. If that makes any sense.

Cut up words? (0)

Anonymous Coward | more than 4 years ago | (#30854198)

Now why would you want to do that?

Re:How easy IS it? (1)

0100010001010011 (652467) | more than 4 years ago | (#30852456)

Wow, no one has watched the movie Swordfish [imdb.com] have they?

Re:How easy IS it? (2, Funny)

Anonymous Coward | more than 4 years ago | (#30852844)

Wow, no one has watched the movie Swordfish have they?

We're trying to repress those memories, you insensitive clod!

FrontPage? (2, Interesting)

Itninja (937614) | more than 4 years ago | (#30851710)

Sounds like the Microsoft FrontPage of coding software. Why do with text what you can do with pictures? And we all know FrontPge went on to become the defacto standard for web development....that had to be fixed by an real web developer later.

But on the upside, dedicated FTE's for "reinstalling corrupted FrontPage extensions" did skyrocket during the FrontPage era.

Re:FrontPage? (0)

Anonymous Coward | more than 4 years ago | (#30851750)

Sounds like LabView - very useful for somethings, painfully tedious for others.

Re:FrontPage? (1)

ArhcAngel (247594) | more than 4 years ago | (#30852448)

That was my first thought as well. I programmed in HP VEE [agilent.com] and Labview [ni.com] in the early nineties.

Better (2, Interesting)

pavon (30274) | more than 4 years ago | (#30851920)

Actually I think this is more interesting than either FrontPage or LabView, because it allows you to script GUI apps that were not designed to be scriptable. Even for apps that are scriptable, it provides an increase in user efficiency as you don't have to learn the API commands to do things that you already know how to do in the GUI.

How useful it is will depend on how well the image pattern matching deals with corner cases. Consider you need to click on a text field, however there are many identically looking (empty) text fields, with the only distinguishing factor being the label beside them, and clicking on the label does not select the text field. Like screen scraping, it is also somewhat fragile to UI changes (although not as much as other GUI scripting tools that rely on pixel location).

Re:Better (0)

Anonymous Coward | more than 4 years ago | (#30852048)

This isn't that new. What about Logo or Turtle or whatever it was called back in the '80s. Programming with pictures.

Re:Better (1)

BitZtream (692029) | more than 4 years ago | (#30852256)

I can think of at least 3 ways of doing (scripting gui apps that aren't scriptable) already that have been around for years.

Re:Better (0)

Anonymous Coward | more than 4 years ago | (#30854010)

GUI automation has been around for quite some time.
I personally have written programs to automate GUIs both web pages and desktop applications.

What is new here is the unnecessary extra work of image recognition.
I hope it doesn't try to do recognition every time and instead stores the UI element and uses the element directly.

What happens if your background changes?
Does the script break?

Re:Better (0)

Anonymous Coward | more than 4 years ago | (#30855256)

Just remember to never change themes.

Re:FrontPage? (4, Informative)

gad_zuki! (70830) | more than 4 years ago | (#30852272)

>And we all know FrontPge went on to become the defacto standard for web development....that had to be fixed by an real web developer later.

Do you want to democratize technology or just have it controlled by elites? Non-techies want to do things like scripting and web design without paying a professional, the same way they want to fix things around the house or fix the car. When it comes to small or easy jobs, a non-expert can do just fine. Why should we piss on the DIY'ers because they dont have a Master's degree in CS? Frankly, a lot of computer stuff is pretty easy and paying someone is ridiculous.

While Im certainly no fan of Frontpage, I feel that it wasnt much worse than Mozilla Composer or other WSIWYG html composers.

Re:FrontPage? (1, Insightful)

mustafap (452510) | more than 4 years ago | (#30852726)

>Do you want to democratize technology or just have it controlled by elites?

Neither. I'd like to see people who wish to program, learn how to.

Re:FrontPage? (3, Insightful)

AardvarkCelery (600124) | more than 4 years ago | (#30855752)

Yeah, that's real easy for a programmer to say. Ever used a brownie mix? I'll bet a pastry chef would say, "I'd like to see people who wish to bake brownies actually learn how to bake brownies properly." Tools like Sikuli are the programming equivalent to brownie mix. It's easy gratification. (... or at least easier than learning to capture part of the screen and then do fuzzy image pattern matching on it.) If I were a very casual, light duty programmer, this would be pretty helpful sometimes.

Re:FrontPage? (1)

Yvan256 (722131) | more than 4 years ago | (#30852754)

The problem with FrontPage wasn't the users, it was the code that it produced.

Re:FrontPage? (1)

Xiaran (836924) | more than 4 years ago | (#30852764)

Elite or competent? I'm all for people tinkering with software in their spare time the problem is people who arent qualified start thinking *everything* in software development is as simple as the tiny little things they are doing. Then we end up with Visual Basic(the birth of Visual Basic came with the motto "its so easy you know longer need programmers... managers can write the code"... that worked out well).

Re:FrontPage? (4, Insightful)

BobMcD (601576) | more than 4 years ago | (#30853586)

Then we end up with Visual Basic(the birth of Visual Basic came with the motto "its so easy you know longer need programmers... managers can write the code"... that worked out well).

From a business point of view, it actually did. People used VB, and particularly VB macros in Office, to do things that resulted in a lot of dollars flowing through a lot of organizations. Yes it did eventually need to be changed out, but in it's time, for it's purpose, you can't really fault it. It truly did work.

Re:FrontPage? (0)

Anonymous Coward | more than 4 years ago | (#30855224)

Changed out? Then why is the local hospital here hiring VB developers?

Re:FrontPage? (1)

idontgno (624372) | more than 4 years ago | (#30853516)

Why should we piss on the DIY'ers because they dont have a Master's degree in CS? Frankly, a lot of computer stuff is pretty easy and paying someone is ridiculous.

Thousands of cars on cinderblocks and dozens of houses with flooded basements are testimony that sometimes, paying someone is the only thing that isn't ridiculous. There's DIY, and there's "OMG you are SO in over your head." Anyone whose software development abilities are so stunted that the "advancement" outlined in TFA would help them is absolutely in the latter category.

Re:FrontPage? (1)

ilsaloving (1534307) | more than 4 years ago | (#30855446)

There is a minimum level of skill and talent required to do anything. The only thing that happens when you make something "so simple anyone can do it", is a minefield of crap software. Instructing a computer to do something requires the ability to think abstractly, and organize/plan with an orders of magnitude more sophistication than "Do I want eggs or pancakes for breakfast?". Arguing that the 'elites' are pushing down the 'DIYers' is disingenuous. A real DIYer will overcome the learning curve of whatever they're trying to do, because they care enough to put the effort into it.

There's a big difference between that, and someone who just wants to slap a bunch of widgets together and expect it to work.

The end result is a bunch of people who don't know what the hell they're doing, but demand that they be called programmers. You also get other people who, when needing specialized software to run some key part of their business, look to these non-skilled 'programmers', and then turn to the skilled people and complain how unreasonable their higher rates are. It's downright insulting.

It's the same mindset (or lack thereof) that many people think Y2K was a big waste of time and money because 'nothing happened'.

Hell, it's (relatively) easy to program an iPhone too. What do we have? Tens of thousands of apps that emit varying types of fart sounds.

Potential (2, Insightful)

zero0ne (1309517) | more than 4 years ago | (#30851804)

Especially for Testing your GUI.

This seems like AutoIT but with image recognition (instead of having to input mouse coordinates).

Re:Potential (0)

Anonymous Coward | more than 4 years ago | (#30852100)

The only problem is that it is non-deterministic. It works off of pattern matching. There are cases where you can have statistical matches that are wrong such is having multiple "Add" or "Remove" buttons on your screen. Not to mention upgrades with new icons/graphics/layout/test will add "noise" to the search domain.

Re:Potential (1)

Jonah Hex (651948) | more than 4 years ago | (#30852278)

Watching the YouTube demo, I immediately thought of how basic this is compared to AutoIT's functions, and even the quick record function is faster to "program" with than this screenshot function.

It says it can tolerate some changes, but what if there is a completely different visual theme installed? What if a drop down is not on the same item it was when you made the script? AutoIT can take care of this by reading the underlying GUI code to allow for these kind of things. As someone who has been automating OS/Software installs since before Windows, I know you can not expect things to work the same way every time when doing so.

Jonah HEX

Re:Potential (1)

BitZtream (692029) | more than 4 years ago | (#30852420)

The MS test crap in the latest versions of VisualStudio do it as well, and they'll be happy to find a button (if its a standard control) to click on using other data rather than mouse coordinates as well.

Re:Potential (1)

gad_zuki! (70830) | more than 4 years ago | (#30852422)

>This seems like AutoIT but with image recognition (instead of having to input mouse coordinates).

Right, its AutoHotKey/AutoIT with a nicer OCR library. Perhaps this will light the fire under the butts of the AutoHotKey devs and add in some smarter screen reading and browser integration.

Re:Potential (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30853390)

Eggplant [testplant.com] says hi.

As a professional test automator, I'd like to point out that automation by image recognition is the method of last resort. The #1 concern in GUI automation is maintainability, and image recognition is the least maintainable method of automation there is short of recording mouse coordinates and keypresses. If you change your theme, if the developer rearranges the controls, if any text is changed, the script is broken. The idea of using image recognition for web page automation is right out. Web sites change way too often for something like this.

The key to writing maintainable scripts is finding and hooking into the property that is least likely to change. If you're automating Windows Forms .NET apps, you might be able to get the actual variable name. If you're automating web pages you could look at the id or name of the control. You can look at the text of a button or the label of a textbox. You find whatever you can that won't change.

On Windows, use AutoIT [autoitscript.com] if you want something free. There's better commercial tools but they start in the hundreds of dollars and only go up from there.

For web automation, look at watir [watir.com] , WebDriver/Selenium [google.com] , or WatiN [sourceforge.net] .

On Macs you get these nice tools called AppleScript and Automator. These are made for end users. They don't use the UI, but instead use an interface made just for automation.

If you can at all avoid it, I recommend not using image recognition tools. They're extremely fragile. That said, sometimes it can't be avoided. I'll probably take a look at the source to see if there's anything I can use in those few cases where image recognition is unavoidable.

MMO macro maker? (4, Interesting)

visgoth (613861) | more than 4 years ago | (#30851842)

This looks like a powerful tool for gold / isk / whatever farming. I'm tempted to resurrect my eve account and see if I can make an auto-miner script.

Re:MMO macro maker? (1)

BoppreH (1520463) | more than 4 years ago | (#30852690)

Things to take into account:

- selecting and clicking on see-through buttons (the background will change too much)
- the program access to the actual game for seeing, clicking and typing
- the game's anti-hack detection / counter-measures
- macro playing lag (see video)

But it seems very promising nevertheless.

Re:MMO macro maker? (1)

Arimus (198136) | more than 4 years ago | (#30853124)

Add in the number of pilots who even if they're anti-pirate operate a KOS policy when it comes to macro miners....

Re:MMO macro maker? (1, Offtopic)

burkmat (1016684) | more than 4 years ago | (#30853034)

I don't know how much experience you have in EVE, but generally, if you're AFK you're dead meat. Suiciding miners even in hisec is quite fashionable these days.

Re:MMO macro maker? (1, Offtopic)

visgoth (613861) | more than 4 years ago | (#30853440)

I've done a fair bit of mindless semi-afk mining during my time playing eve, and never had much trouble with suicide attackers, can flippers, or other such stuff. I'd imagine that taking the usual minimal precautions like parking in a dead end, low traffic system would work relatively well.

Depending on how robust sikuli is, it might be possible to make a mission running macro, which could be even safer than blasting rocks (with the right ship setup, and such). Barring that I'd likely use sikuli on a second account to automate monkey work. Things like post-mission looting/salvaging, hauling, etc. are wonderful candidates for macro abuse.

Click Fraud Boosters Away!! (0)

Anonymous Coward | more than 4 years ago | (#30851930)

Sounds like it would be a great program to commit massive clickfraud. Just take a screenshot of a particular google ad-link in your browser and ask it to click it. Install script on hundreds of computers/ run it thousands of times and you have a great way to commit click fraud.

Re:Click Fraud Boosters Away!! (1)

BitZtream (692029) | more than 4 years ago | (#30852344)

There are far easier ways to commit click fraud than actually looking at the screen to do it. The ad companies tend to ignore the same request multiple times from the same IP so this changes nothing.

People who commit 'click fraud' aren't writing crappy little screen scrapers to do it, its far easier and faster to write a plugin for firefox to do what you're say and just find the text of your ad on the page and trigger the link. No need to futz with whats displayed or 'moving the mouse' to the right spot, you just tell Firefox to find the link and trigger it.

A relatively simple WebKit wrapper would work equally well.

My grandmother knows python (5, Insightful)

Anonymous Coward | more than 4 years ago | (#30851964)

"Computer users with rudimentary skills"..... "with a basic understanding of Python"?

Re:My grandmother knows python (0)

BitZtream (692029) | more than 4 years ago | (#30852396)

You're reading a story about MIT on slashdot.

Two groups that are so utterly disconnected from the real world that they both have no idea why their favorite toy hasn't taken over the world even those its the simplest, most efficient, easiest to use, most feature rich (insert whatever here) on the planet.

Most of both groups probably think grandma knows assembly as well.

Re:My grandmother knows python (5, Funny)

Fred_A (10934) | more than 4 years ago | (#30852710)

"Computer users with rudimentary skills"..... "with a basic understanding of Python"?

Computer users with a rudimentary skill who do not have a basic understanding of Python can always build a Python programming AI in Lisp (or at least that's what I gathered from the MIT docs I browsed) and thus save themselves the trouble.

Re:My grandmother knows python (0)

Anonymous Coward | more than 4 years ago | (#30853008)

I don't see why not.

Re:My grandmother knows python (1)

Alex Belits (437) | more than 4 years ago | (#30855604)

Moar liek BASIC understanding of a python.

Re:My grandmother knows python (3, Informative)

AardvarkCelery (600124) | more than 4 years ago | (#30855796)

If a friend wanted to learn just enough programming to do a few light chores, what would you recommend? Python is arguably one of the easiest languages to learn. Randy Pausch used it for Alice [alice.org] , which has been successful for teaching middle school girls how to program. So if "computer users with rudimentary skills" means rudimentary programming, then that works for me.

The Cow pat model (5, Funny)

Anne Thwacks (531696) | more than 4 years ago | (#30852030)

Yeah - lets hear it for a new development model:

For years I have been asking for a softwsare development tool that allows me to write PHP code by throwing cow-pats at the screem with the Wiimote.

And my colleagues wat a tool that allows dispatching my bugs with the Wii gun attachment they use in "Quantum of Solace".

Re:The Cow pat model (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30853304)

First, they need to develop some system that alerts you to misspellings.

High? (1)

instagib (879544) | more than 4 years ago | (#30852056)

FTFA: "Sikuli -- which means God's eye in the language of the Huichol Indians in Mexico". Mexican Indians love their hallucinogenic Peyote [wikipedia.org] . On the other hand, MIT researchers want the masses to program with the mouse. Well, I know about "correlation is not causation", but MIT sure is an interesting place to be.

Expect (0)

Anonymous Coward | more than 4 years ago | (#30852164)

This is a GUI version of Expect. Nothing really groundbreaking. It will also break as soon as the app changes how it looks, just like Expect. I hate expect passionately.

Re:Expect (1)

Razalhague (1497249) | more than 4 years ago | (#30852924)

How would it not break? You don't expect your regular program to work if the API it's using changes, do you?

Right hands great- chances are more harm than good (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30852190)

Yea- this might work until the icons change. I don't see this working too well in practice. I don't know about Mac- but on my Ubuntu system the icons got updated last week. And it happens often enough that these scripts would need updating to be a serious pain and expense. It isn't like an ordinary user could figure this stuff out either. Despite it being so simple your still going to need an IT person to create these scripts. Now you just have dumber IT people. Probably people who COST you more money in practice too because they "can" do it- it just the results of their work takes more maintenance. It reminds me of this .bat file written for this video store that backs up a database to a flash drive. If it had only had a statement to check if the flash drive were present and alert the user they wouldn't of wasted $80 calling me to come and find out why the backup program wasn't working. Seriously dumb programmer. In the right hands this kind of thing is good. In the wrong hands it is bad.

Program, NOT code. Think MACRO (3, Insightful)

SmallFurryCreature (593017) | more than 4 years ago | (#30852232)

From what I seen is this a macro program that can use screenshots rather then key/mouse data to automate tasks. So you PROGRAM your PC in the same way you PROGRAM a VCR to record a show. It is NOT the same as writing an application.

But it seems very intresting once you got past this difference. Macro's are very handy for testing in my experience but often have a problem because a tiny mis-alignment can ruin it all. If this program is smarter because it can regonize where data is supposed to go... well that would certainly make automated tests a bit easier.

Interesting stuff. Just don't think you will be writing software with this.

Re:Program, NOT code. Think MACRO (1)

eulernet (1132389) | more than 4 years ago | (#30853714)

Interesting stuff. Just don't think you will be writing software with this.

Since a few years, programming has become equivalent to placing Lego bricks in the correct order (I'm working with Microsoft .NET and tons of components).

So I'm not very surprised by the approach, as long as we can find all the possible varieties of pieces.

Re:Program, NOT code. Think MACRO (0)

Anonymous Coward | more than 4 years ago | (#30855658)

troll.

Re:Program, NOT code. Think MACRO (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30854196)

Don't use a tool like this for testing. Start with AutoIt or nunit+white [codeplex.com] , and look at commercial tools if those don't do what you need.

Re:Program, NOT code. Think MACRO (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30854796)

Exactly! I'd love to see Sikuli's one new trick integrated into an existing, popular macroing system like AutoIt or AutoHotKey.

bad VB flashbacks (1)

mirix (1649853) | more than 4 years ago | (#30852378)

I'm suddenly reminded of horrible apps written in VB97, with no concern for the back end, horrible input kludge, etc.

Re:bad VB flashbacks (1)

YourExperiment (1081089) | more than 4 years ago | (#30853096)

I'm suddenly reminded of horrible apps written in VB97

You're 93 versions ahead of your time - VB6 was the last version of Visual Basic before .NET.

Perhaps more to the point, this not only targets a completely different purpose than Visual Basic, but also looks nothing like it whatsoever.

Re:bad VB flashbacks (0)

Anonymous Coward | more than 4 years ago | (#30853524)

Visual Basic 5 was released in 1997, as part of Visual Studio 5. It installed itself in a directory called VB97. VB6, incidentally, installed itself in a directory called VB98.

The smart-assery is weak with this one.

Re:bad VB flashbacks (0)

Anonymous Coward | more than 4 years ago | (#30855464)

Not to mention that 97-6=91 not 93.

Re:bad VB flashbacks (1)

ClosedSource (238333) | more than 4 years ago | (#30854210)

That's OK. For most VB apps there wasn't any "back end".

Fr0s7 pist (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30852390)

Re:Fr0s7 pist (1)

pushing-robot (1037830) | more than 4 years ago | (#30852848)

Sorry, there are some things even Sikuli can't process.

Sikuli (0)

Anonymous Coward | more than 4 years ago | (#30852428)

Sikuli velly nice. Near Itari. Parelmo, velly nice. Except warret got storen.

CLI (0)

Anonymous Coward | more than 4 years ago | (#30852514)

This is where we get when everything is a GUI. As long as I have a decent shell & environment, I think I prefer shell scripting.

Yes, but can Sikuli be used to write Sikuli? (3, Funny)

hellop2 (1271166) | more than 4 years ago | (#30852520)

Otherwise it's just not complete, IMHO.

Re:Yes, but can Sikuli be used to write Sikuli? (2, Interesting)

Seor Jojoba (519752) | more than 4 years ago | (#30853158)

Yes, you could use Sikuli to fire up a text editor, individually press the keys to write all the lines of code, launch the compiler/linker/whatever. So it meets your weird definition of completeness. However, I suspect you could not use Sikuli to write a program that writes a Sikuli program to write Sikuli. I could be wrong, though.

Perfect Macro program... (1)

BoppreH (1520463) | more than 4 years ago | (#30852574)

... but does anyone knows if the program is always that slow?

I understand that it has to visually find the button and this is computationally expensive, but the 2~3 seconds lag didn't seem compatible with the task.

On a sidenote, the video states that there's no "internal API" dependence, but it clearly has to send "click" and "type" signals. Is that really OS independent or was it just an overstatement?

Re:Perfect Macro program... (1)

babyrat (314371) | more than 4 years ago | (#30854420)

the video states that there's no "internal API" dependence

I suspect they were referring to internal API of the program being controlled. ie COM, Corba, etc...

lame (2, Insightful)

Charliemopps (1157495) | more than 4 years ago | (#30852604)

This is the same sort of scripting you can do with many already existing languages. Autohotkey for example. The only new feature would be the ability to copy the screenshot directly into the program as apposed to taking it outside the program and referencing the file directly. I'd say that this scripting language is actually weaker because of it. As far as using this inside a game... they are already hardened against this sort of thing. For example, next time you're in EVE look at the buttons you use. They are semi-transparent. This is not just for aesthetics. If you take a screenshot of the button, and then change your camera angle the button looks different because what's behind it is different. That doesn't mean you can't script inside EVE, you just have to be a lot more clever than using a script to click on a static image of the gui. This language would be almost completely useless in any GUI that has any transparency. Which I'd think would include Vista, Win7 and even Macs with the right stuff turned on.

Re:lame (1)

misexistentialist (1537887) | more than 4 years ago | (#30852954)

Using screenshots seems more effective than instructing autohotkey to click on coordinates

Re:lame (1)

HaeMaker (221642) | more than 4 years ago | (#30853644)

So, you tried it and it didn't work?

Re:lame (1)

sky289hawk1 (459600) | more than 4 years ago | (#30854624)

The sikuli language supports fuzziness. You can actually have a "close match", and you can set the tolerance.

Re:lame (1)

mattack2 (1165421) | more than 4 years ago | (#30855630)

I didn't RTFA, but basing this stuff on the *accessibility* view of the screen is/can be useful.

Applescript was invented a LONG time ago people... (1)

RocketRabbit (830691) | more than 4 years ago | (#30853118)

It can script GUI actions in much the same way. Granted it's not a very nice environment for more complicated work, but still.

Re:Applescript was invented a LONG time ago people (1)

babyrat (314371) | more than 4 years ago | (#30854436)

The last time I tried to use Applescript on windows or linux, it wouldn't even start up.

Its a brilliant idea. (2, Insightful)

Seor Jojoba (519752) | more than 4 years ago | (#30853122)

Come on, let's cut through the default Slashdot snark. The image capture aspect of Sikuli is brilliant! I don't like the tagline "program anything with Sikuli" because 99% of software should be written in something else. But think of writing test scripts that can use the image matching features. If the software works as advertised, then you could throw together UI test cases way faster than anything else I've seen. System administration tasks should be a good match too. The resulting code would be brittle and hard to maintain, but for quick one-off scripts, sure... I can see it.

Re:Its a brilliant idea. (1)

rmcd (53236) | more than 4 years ago | (#30856030)

Couldn't agree with you more. I'm surprised by all the negativity. And it seems to me this is innovative enough to have uses that no one here is thinking about right now.

Problems (1)

master_p (608214) | more than 4 years ago | (#30853314)

The script may not work if the UI style is different from the one recorded or if the UI language is different from the one recorded. Generally, any option that can change the UI from computer to computer will create a problem for Sikuli.

Re:Problems (1)

VortexCortex (1117377) | more than 4 years ago | (#30854030)

It's even worse than that... Just change your icon or window border theme and watch every Sikuli script break.

The great thing about all other languages except Sikuli is: When you change your Icon or window border theme the programs still run.

fork bomb, or loop? (0)

Anonymous Coward | more than 4 years ago | (#30853434)

Has anyone tried writing a Sikuli script that finds the Sikuli IDE window and clicks the green run button?

Again!?! That trick never works. (1, Insightful)

Anonymous Coward | more than 4 years ago | (#30853508)

This time for sure!

The Sikuli School of Programming (2, Funny)

presidenteloco (659168) | more than 4 years ago | (#30853784)

if NOT understand logic then
   loop
      talkTo (self, "Don't program!")
      Look (@ Pretty pictures)
   endloop
endif

Google Video Search? (0)

Anonymous Coward | more than 4 years ago | (#30854184)

This might have potential, depending on how flexible the pattern match is when looking for thumbnails of, ahhh, things...

It's Not Going Anywhere (1)

Clugy (1325793) | more than 4 years ago | (#30854360)

I'd be curious to see how they handle the back end, especially as some others pointed out it does make calls that seemingly require some hook into the OS. As for its usefulness, I doubt it will really take off beyond being a decent prototype. It relies on image matching so if you use and change a custom icon set all your scripts would be kinda worthless. Same goes if the programs you are "screenshot scripting" receive a major overhaul in the GUI department. Until it can address those issues, I doubt it will really take off.

Think executable step-by-step tutorials (4, Insightful)

tucuxi (1146347) | more than 4 years ago | (#30854416)

Sikuli is certainly not commercial-grade UI testing software. It was never intended to be, this is academic software written to explore ideas, rather than to polish them to perfection. Also, it is not a "general" programming language. The previous posters that compared it to video-programming are right: not all programs have to target complicated algorithms and data-structures, there is plenty of space for automating "simple stuff".

As an idea, I find the readability of the code particularly interesting. Sikuli code is about the closest you can come to self-explanatory, step-by-step instructions on how to achieve whatever a particular program does. Add a few comments to the most arcane steps, publish those programs to an online repository, and presto! executable step-by-step tutorials.

Yes, the developers may have to address the variability of themes on people's desktops. It is certainly possible to do so (for instance, by keeping a list of mappings from any of a set of "supported" themes to a "canonical" theme, which would be used in all examples), but, as far as ideas go, I really think that Sikuli is a very refreshing idea.

Re:Think executable step-by-step tutorials (3, Interesting)

tristanreid (182859) | more than 4 years ago | (#30855082)

I totally agree. I watched the youtube video (is WTFYV the equivalent of RTFA?), and I was kind of impressed. Although the demo shows an interaction with a bunch of buttons, the real power is the image recognition. She showed how with one command each you can script the two of the fundamental interactions you have with images on the screen: click it, or wait for it to appear. The fuzzy visual recognition algorithms are a huge plus. If you wanted to script something in your room using a web-cam, this is basically how to do it with trivial coding.

I think of this as an equivalent to something like sql. There's a domain in which you'd like to impose logical structure (relational data / images), and you generally use the language to great effect in conjunction with another programming language. If I had to write a scheduled task for my laptop that needed for me to be on the VPN, I'd much rather use something like this to handle the connection rather than trying to figure out how the VPN API works.

-t.

You're doing it wrong. (0)

Anonymous Coward | more than 4 years ago | (#30854674)

If you have to write a script to automate GUI applications you're undermining the purpose of computers. I'm sitting here imagining people automating deletion.

Re:You're doing it wrong. (1)

tomhath (637240) | more than 4 years ago | (#30854980)

I mostly agree with you, it's always silly to automate a sequence of GUI actions.

However I can see where they're going here; the program examines your screen and finds the widget to click on or enter data into, much like a human looking at the screen and deciding what to do next. Extend that to the real world, a robot that looks around your room for the remote control and turns on the TV, then surfs through the channels until it recognizes something you like to watch. By then it will also be capable of understanding speech and making decisions autonomously. Computers will be thinking like humans within just a few years. Oh wait.

Use This for Software Testing, and Scripting? (1)

LifesABeach (234436) | more than 4 years ago | (#30855062)

I just open this can of worms up, but the first thing I thought of after seeing the demo was, "Can I push a button on a Flash page?"

Re:Use This for Software Testing, and Scripting? (1)

phi2one (762028) | more than 4 years ago | (#30855734)

I am wondering the same thing myself; If all it's doing is scraping the screen buffer somehow, I don't see why not.

What's so wrong with TurboTax? (2, Interesting)

AardvarkCelery (600124) | more than 4 years ago | (#30855292)

Some accountants seem to think everyone needs to learn accounting in order to function in society. But people have other jobs. Some of us like our dumbed down tools because they fill a need. My tax software lets me do my taxes without learning "proper" accounting. Similarly, I know some people who benefit greatly from a little passing knowledge of high-level scripting languages like VB, JavaScript, or even Python.

For those kinds of people, Sikuli looks pretty cool because they can do things that would be pretty difficult otherwise. Hey, even for a lot of experienced programmers, capturing a region of the screen and doing fuzzy pattern matching might be a significant task. I haven't tried Sikuli yet, but it looks like it would be very helpful for some things, and a lot easier to deal with than AutoIt or AutoHotkey.

(BTW, TurboTax was just an example. I actually use something I like better, but you get the idea.)

fuCk!! (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#30855490)

parties, but here a change to though I have never being GAY NIGGERS. during Play, this development model GNAA and support

SendKeys (1)

codepunk (167897) | more than 4 years ago | (#30855704)

Wow they just created the old VB SendKeys command. I was actually doing stuff like this 12-14 years ago with SendKeys command in VB. In "practical" use back then
it sucked and I am certain that has not changed.

AutoIt (1)

White Flame (1074973) | more than 4 years ago | (#30855730)

I did this exact same thing in AutoIt [autoitscript.com] , except that it needs exact matches of images instead of a fuzzy recognizer. (Plus, I also had rule triggers and state vs just a single list of imperative commands)

The fuzzy match is a nice addition, but this automation concept has been available for years.

Better Solution one line (1)

codepunk (167897) | more than 4 years ago | (#30855778)

man ifconfig

Spammers Rejoice! (1)

VortexCortex (1117377) | more than 4 years ago | (#30855842)

Just Great... all the spammers need now is a few CAPTCHA deciphering Sikuli plug ins.

Once that's done we can all go back to manually removing spam from our web forums and in-boxes.

Bobby Tables (1)

gmuslera (3436) | more than 4 years ago | (#30855856)

How you sanitize your inputs in a language that checks what is displayed on the screen? Instead of xss or sql injection you could end being hacked by watching a mail attached normal picture if that kind of programming becomes popular.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?