Home

Hello, my name is Iñaki Garay. I'm a programmer from Argentina. This is where I put some of my stuff, notes, bits and pieces from around the internet that are important to me, etc. If you find something that's yours and you don't want it here, reach out to me: igarai at gmail.

Mathematics

Bayesian

Algorithms


AI

Table of Contents


Agents

Expert Systems

Game AI

Machine Learning

Deep Learning

Capsule Networks

Neural Networks

Natural Language Processing

Artificial Intelligence Timeline

AntiquityGreek myths of Hephaestus, the blacksmith who manufactured mechanical servants, and the bronze man Talos incorporate the idea of intelligent robots. Many other myths in antiquity involve human-like artifacts. Many mechanical toys and models were actually constructed, e.g., by Archytas of Tarentum,Hero, Daedalus and other real persons.
Greek myths of Hephaestus and Pygmalion incorporated the idea of intelligent robots (such as Talos) and artificial beings (such as Galatea and Pandora).[1]
Yan Shi presented King Mu of Zhou with mechanical men.[2]
Sacred mechanical statues built in Egypt and Greece were believed to be capable of wisdom and emotion. Hermes Trismegistus would write "they have sensus and spiritus ... by discovering the true nature of the gods, man has been able to reproduce it." Mosaic law prohibits the use of automatons in religion.[3]
5th century B.C.Aristotle invented syllogistic logic, the first formal deductive reasoning system.
384 BC–322 BCAristotle described the syllogism, a method of formal, mechanical thought.
1st centuryHeron of Alexandria created mechanical men and other automatons.[4]
260Porphyry of Tyros wrote Isagogê which categorized knowledge and logic.[5]
~800Geber (Jabir ibn Hayyan) develops the Arabic alchemical theory of Takwin, the artificial creation of life in the laboratory, up to and including human life.[6]
13th centuryTalking heads were said to have been created, Roger Bacon and Albert the Great reputedly among the owners.
Ramon Lull, Spanish theologian, invented machines for discovering nonmathematical truths through combinatorics.
1206Al-Jazari created a programmable orchestra of mechanical human beings.[7]
1275Ramon Llull, Catalan theologian invents the Ars Magna, a tool for combining concepts mechanically, based on an Arabic astrological tool, the Zairja. The method would be developed further by Gottfried Leibniz in the 17th century.[8]
15th centuryInvention of printing using moveable type. Gutenberg Bible printed (1456).
15th-16th centuryClocks, the first modern measuring machines, were first produced using lathes.
16th centuryClockmakers extended their craft to creating mechanical animals and other novelties. For example, see DaVinci's walking lion (1515).
Rabbi Loew of Prague is said to have invented the Golem, a clay man brought to life (1580).
~1500Paracelsus claimed to have created an artificial man out of magnetism, sperm and alchemy.[9]
~1580Rabbi Judah Loew ben Bezalel of Prague is said to have invented the Golem, a clay man brought to life.[10]
Early 17th centuryRené Descartes proposed that bodies of animals are nothing more than complex machines (but that mental phenomena are of a different "substance").[11]
17th centuryEarly in the century, Descartes proposed that bodies of animals are nothing more than complex machines. Many other 17th century thinkers offered variations and elaborations of Cartesian mechanism.
Pascal created the first mechanical digital calculating machine (1642).
Thomas Hobbes published The Leviathan (1651), containing a mechanistic and combinatorial theory of thinking.
Leibniz improved Pascal's machine to do multiplication & division with a machine called the Step Reckoner (1673) and envisioned a universal calculus of reasoning by which arguments could be decided mechanically.
1623Wilhelm Schickard created the first mechanical calculating machine.
1641Thomas Hobbes published Leviathan and presented a mechanical, combinatorial theory of cognition. He wrote "...for reason is nothing but reckoning".[12][13]
1652Blaise Pascal created the second mechanical and first digital calculating machine[14]
1672Gottfried Leibniz improved the earlier machines, making the Stepped Reckoner to do multiplication and division. He also invented the binary numeral system and envisioned a universal calculus of reasoning (alphabet of human thought) by which arguments could be decided mechanically. Leibniz worked on assigning a specific number to each and every object in the world, as a prelude to an algebraic solution to all possible problems.[15]
18th centuryThe 18th century saw a profusion of mechanical toys, including the celebrated mechanical duck of Vaucanson and von Kempelen's phony mechanical chess player, The Turk (1769). For Edgar Allen Poe's description of the Turk, see Poe Writes about Maelzel's Chess Player April 1836.
1727Jonathan Swift published Gulliver's Travels, which includes this description of the Engine, a machine on the island of Laputa: "a Project for improving speculative Knowledge by practical and mechanical Operations " by using this "Contrivance", "the most ignorant Person at a reasonable Charge, and with a little bodily Labour, may write Books in Philosophy, Poetry, Politicks, Law, Mathematicks, and Theology, with the least Assistance from Genius or study."[16] The machine is a parody of Ars Magna, one of the inspirations of Gottfried Leibniz' mechanism.
1750Julien Offray de La Mettrie published L'Homme Machine, which argued that human thought is strictly mechanical.[17]
1769Wolfgang von Kempelen built and toured with his chess-playing automaton, The Turk.[18] The Turk was later shown to be a hoax, involving a human chess player.
19th centuryLuddites (led by Ned Ludd) destroyed machinery in England (1811-1816).
Mary Shelley published the story of Frankenstein's monster (1818).
George Boole developed a binary algebra representing (some) "laws of thought," published in The Laws of Thought.
Charles Babbage & Ada Byron (Lady Lovelace) designed a programmable mechanical calculating machines. A working model was built in 2002; a short video shows it working.
Modern propositional logic developed by Gottlob Frege in his 1879 work Begriffsschrift and later clarified and expanded by Russell, Tarski, Godel, Church and others.
1818Mary Shelley published the story of Frankenstein; or the Modern Prometheus, a fictional consideration of the ethics of creating sentient beings.[19]
1822–1859Charles Babbage & Ada Lovelace worked on programmable mechanical calculating machines.[20]
1837The mathematician Bernard Bolzano made the first modern attempt to formalize semantics.
1854George Boole set out to "investigate the fundamental laws of those operations of the mind by which reasoning is performed, to give expression to them in the symbolic language of a calculus", inventing Boolean algebra.[21]
1863Samuel Butler suggested that Darwinian evolution also applies to machines, and speculates that they will one day become conscious and eventually supplant humanity.[22]
1913Bertrand Russell and Alfred North Whitehead published Principia Mathematica, which revolutionized formal logic.
1915Leonardo Torres y Quevedo built a chess automaton, El Ajedrecista and published speculation about thinking and automata.[23]
1917Karel Capek coins the term robot' (in Czech robot' means `worker', but the English translation retained the original word).
1923Karel Čapek's play R.U.R. (Rossum's Universal Robots) opened in London. This is the first use of the word "robot" in English.[24]
1920s and 1930sLudwig Wittgenstein and Rudolf Carnap lead philosophy into logical analysis of knowledge. Alonzo Church develops Lambda Calculus to investigate computability using recursive functional notation.
1928John von Neumann's minimax theorem (later used in game playing programs).
1931Kurt Gödel showed that sufficiently powerful consistent formal systems permit the formulation of true theorems that are unprovable by any theorem-proving machine deriving all possible theorems from the axioms. To do this he had to build a universal, integer-based programming language, which is the reason why he is sometimes called the "father of theoretical computer science".
1941Konrad Zuse built the first working program-controlled computers.[25]
1943McCulloch and Pitt propose neural-network architectures for intelligence.
1943Warren Sturgis McCulloch and Walter Pitts publish "A Logical Calculus of the Ideas Immanent in Nervous Activity" (1943), laying foundations for artificial neural networks.[26]
1943Arturo Rosenblueth, Norbert Wiener and Julian Bigelow coin the term "cybernetics". Wiener's popular book by that name published in 1948.
1945Game theory which would prove invaluable in the progress of AI was introduced with the 1944 paper, Theory of Games and Economic Behavior by mathematician John von Neumann and economist Oskar Morgenstern.
1945Vannevar Bush published As We May Think (The Atlantic Monthly, July 1945) a prescient vision of the future in which computers assist humans in many activities.
1948John von Neumann (quoted by E.T. Jaynes) in response to a comment at a lecture that it was impossible for a machine to think: "You insist that there is something a machine cannot do. If you will tell me precisely what it is that a machine cannot do, then I can always make a machine which will do just that!". Von Neumann was presumably alluding to the Church-Turing thesis which states that any effective procedure can be simulated by a (generalized) computer.
1950Isaac Asimov, "I, Robot"
1950Shannon proposes chess program
1950Turing Test proposed (Turing's "Computing Machinery and Intelligence")
1950Alan Turing proposes the Turing Test as a measure of machine intelligence.[27]
1950Claude Shannon published a detailed analysis of chess playing as search.
1950Isaac Asimov published his Three Laws of Robotics.
1951The first working AI programs were written in 1951 to run on the Ferranti Mark 1 machine of the University of Manchester: a checkers-playing program written by Christopher Strachey and a chess-playing program written by Dietrich Prinz.
1954Isaac Asimov, "The Caves of Steel" (Robot Science Fiction)
1955The first Dartmouth College summer AI conference is organized by John McCarthy, Marvin Minsky, Nathan Rochester of IBM and Claude Shannon.
1955Newell, Shaw, and Simon develop "IPL-11", first AI language
1956Newell, Shaw, and Simon create "The Logic Theorist", a program that solves math problems.
1956The name artificial intelligence is used for the first time as the topic of the second Dartmouth Conference, organized by John McCarthy[30]
1956AI named at Dartmouth computer conference, first meeting of McCarthy, Minsky, Newell, and Simon.
1956The first demonstration of the Logic Theorist (LT) written by Allen Newell, J.C. Shaw and Herbert Simon (Carnegie Institute of Technology, now Carnegie Mellon University). This is often called the first AI program, though Samuel's checkers program also has a strong claim.
1956CIA funds GAT machine-translation project.
1956Ulam develops "MANIAC I", the first chess program to beat a human being.
1957The General Problem Solver (GPS) demonstrated by Newell, Shaw and Simon.
1957Chomsky writes "Syntactic Structures"
1957Newell, Shaw, & Simon create General Problem Solver (GPS) means-ends analysis
1958McCarthy introduces "LISP" at MIT
1958John McCarthy (Massachusetts Institute of Technology or MIT) invented the Lisp programming language.
1958Herb Gelernter and Nathan Rochester (IBM) described a theorem prover in geometry that exploits a semantic model of the domain in the form of diagrams of "typical" cases.
1958Teddington Conference on the Mechanization of Thought Processes was held in the UK and among the papers presented were John McCarthy's Programs with Common Sense, Oliver Selfridge's Pandemonium, and Marvin Minsky's Some Methods of Heuristic Programming and Artificial Intelligence.
1959John McCarthy and Marvin Minsky founded the MIT AI Lab.
1959Minsky and McCarthy establish MIT AI lab
1959Rosenblatt introduces Perceptron.
1959Samuel's checkers program wins games against best human players.
Late 1950s, early 1960sMargaret Masterman and colleagues at University of Cambridge design semantic nets for machine translation.
1960sRay Solomonoff lays the foundations of a mathematical theory of AI, introducing universal Bayesian methods for inductive inference and prediction.
1960Bar-Hillel publishes a paper describing difficulty of machine translation.
1960Man-Computer Symbiosis by J.C.R. Licklider.
1961James Slagle (PhD dissertation, MIT) wrote (in Lisp) the first symbolic integration program, SAINT, which solved calculus problems at the college freshman level.
1961In Minds, Machines and Gödel, John Lucas[31] denied the possibility of machine intelligence on logical or philosophical grounds. He referred to Kurt Gödel's result of 1931: sufficiently powerful formal systems are either inconsistent or allow for formulating true theorems unprovable by any theorem-proving AI deriving all provable theorems from the axioms. Since humans are able to "see" the truth of such theorems, machines were deemed inferior.
1952–1962Arthur Samuel (IBM) wrote the first game-playing program,[28] for checkers (draughts), to achieve sufficient skill to challenge a respectable amateur. His first checkers-playing program was written in 1952, and in 1955 he created a version that learned to play.[29]
1962McCarthy moves to Stanford, founding Stanford AI Lab in 1963.
1962First commercial industrial robots.
1962First industrial robot company, Unimation, founded.
1963Thomas Evans' program, ANALOGY, written as part of his PhD work at MIT, demonstrated that computers can solve the same analogy problems as are given on IQ tests.
1963Edward Feigenbaum and Julian Feldman published Computers and Thought, the first collection of articles about artificial intelligence.
1963Leonard Uhr and Charles Vossler published "A Pattern Recognition Program That Generates, Evaluates, and Adjusts Its Own Operators", which described one of the first machine learning programs that could adaptively acquire and modify features and thereby overcome the limitations of simple perceptrons of Rosenblatt
1963ARPA gives $2 million grant to MIT AI Lab.
1963Sutherland's SKETCHPAD: drawing tool (CAD), constraint solver, WYSIWYG
1963M. Ross Quillian (semantic networks as a knowledge representation)
1963Susumo Kuno's parser tested on "Time flies like an arrow"
1963Minsky's "Steps towards Artificial Intelligence"
1964Bobrow's STUDENT (solves high-school algebra word problems)
1964Development of BBNLisp begins at BBN
1965Buchanan, Feigenbaum & Lederberg begin DENDRAL expert system project.
1965Iva Sutherland demonstrates first head-mounted display (virtual reality)
1965Simon predicts, "by 1985 machines will be capable of doing any work a man can do"
1965Dreyfus argues against the possibility of AI.
1966Donald Michie founds Edinburgh AI lab.
1966Weizanbaum's ELIZA
1967Greenblatt's MacHack defeats Hubert Deyfus at chess.
1967"HAL" stars in Clarke and Kubrick's "2001"
1968Minsky's "Semantic Information Processing"
1968Chomsky and Halle's "The Sound Pattern of English"
1969Minsky & Papert's "Perceptions" (limits of single-layer neural networks)
1969Hearn & Griss define Standard Lisp to port the REDUCE symbolic algebra system.
1970PROLOG (Colmerauer)
1970Pople and Myers begin INTERNIST (aid in diagnosis of human diseases)
1970Terry Winograd's SHRDLU (Natural Language Processing, Blocks World)
1970Winston's ARCH
1971Colby's PARRY
1972Dreyfus publishes "What Computer's Can't Do"
1972Smalltalk developed at Xerox PARC (Kay)
1973Lighthill report kills AI funding in UK.
1973Schank and Alberson develop scripts.
1974Edward Shortliffe's thesis on MYCIN.
1974First computer-controlled robot.
1974Minsky's "A Framework for Representing Knowledge".
1974SUMEX-AIM network established (applications of AI to medicine)
1975Cooper & Erlbaum found Nestor to develop neural net technology.
1975DARPA launches image understanding funding program.
1975Larry Harris founds Artificial Intelligence Corp. (NLP)
1976Adventure (Crowther and Woods) - first adventure game.
1976Greenblatt creates first LISP machine, "CONS"
1976Kurzweil introduces reading machine.
1976Lenat's AM (Automated Mathematician)
1976Marr's primal sketch as a visual presentation.
1977C3PO and R2D2 star in "Star Wars".
1978Marr and Nishihara propose 2-1/2 dimensional sketch
1978Xerox LISP machines
1978Tom Mitchell, at Stanford, invented the concept of Version Spaces for describing the search space of a concept formation program.
1978Herb Simon wins the Nobel Prize in Economics for his theory of bounded rationality, one of the cornerstones of AI known as "satisficing".
1978The MOLGEN program, written at Stanford by Mark Stefik and Peter Friedland, demonstrated that an object-oriented representation of knowledge can be used to plan gene-cloning experiments.
1979Raj Reddy founds Robotics Institute at Carnegie Mellon University.
1979MYCIN as good as medical experts (Journal of American Medical Assoc.)
1979Publication of Weinreb and Moon's MIT AI Lab memo on Flavors, an OOP offering advanced capabilities still not generally unavailable outside the LISP language family.
1979Bill VanMelle's PhD dissertation at Stanford demonstrated the generality of MYCIN's representation of knowledge and style of reasoning in his EMYCIN program, the model for many commercial expert system "shells".
1979Jack Myers and Harry Pople at University of Pittsburgh developed INTERNIST, a knowledge-based medical diagnosis program based on Dr. Myers' clinical knowledge.
1979Cordell Green, David Barstow, Elaine Kant and others at Stanford demonstrated the CHI system for automatic programming.
1979The Stanford Cart, built by Hans Moravec, becomes the first computer-controlled, autonomous vehicle when it successfully traverses a chair-filled room and circumnavigates the Stanford AI Lab.
1979Drew McDermott & Jon Doyle at MIT, and John McCarthy at Stanford begin publishing work on non-monotonic logics and formal aspects of truth maintenance.
1980'sLisp Machines developed and marketed.
First expert system shells and commercial applications.
1980Expert systems up to a thousand rules.
1980First AAAI conference at Stanford.
1980Greenblatt & Jacobson found LMI; Noftsker starts Symbolics.
1980Hofstader writes "G"odel, Escher, Bach", wins Pulitzer.
1980McDermott's XCON for configuring VAX systems (DEC and CMU)
1980First biannual ACM LISP and Functional Programming Conference.
1980Lee Erman, Rick Hayes-Roth, Victor Lesser and Raj Reddy published the first description of the blackboard model, as the framework for the HEARSAY-II speech understanding system.
First National Conference of the American Association of Artificial Intelligence (AAAI) held at Stanford.
1981Kazuhiro Fuchi announces Japanese Fifth Generation project.
1981MITI wants intelligent computers by 1990.
1981Teknowledge founded by Feigenbaum.
1981PSL (Portable Standard Lisp) runs on a variety of platforms.
1981Lisp machines from Xerox, LMI, and Symbolics available commercially, making dynamic OOP technology available on a widespread basis.
1981Grass roots definition of Common Lisp as the common aspects of the family of languages- Lisp Machine Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp, Scheme.
1981Danny Hillis designs the connection machine, a massively parallel architecture that brings new power to AI, and to computation in general. (Later founds Thinking Machines, Inc.)
1982Publication of British government's "Alvey Report" on advanced information technology, leading to boost in Ai (Expert Systems) being used in industry.
1982Japan's ICOT formed.
1982John Hopfield resuscitates neural nets.
1982SRI's PROSPECTOR finds major deposit of molybdenum.
1983Asimov writes "Robot's of Dawn".
1983Feigenbaum & McCorduck publish "The Fifth Generation".
1983DARPA announced Strategic Computing Initiative.
1983IntelliGenetics markets KEE.
1983MCC consortium formed under Bobby Ray Inman.
1983John Laird & Paul Rosenbloom, working with Allen Newell, complete CMU dissertations on SOAR.
1983James Allen invents the Interval Calculus, the first widely used formalization of temporal events.
1984Publication of Steele's "Common Lisp the Language"
1984Chamberlain's RACTER `writes' book
1984Doug Lenat begins CYC project at MCC.
1984European Community starts ESPRIT program.
1984GM puts 20 million contract for LISP machines, later cancelled.
1985The autonomous drawing program, Aaron, created by Harold Cohen, is demonstrated at the AAAI National Conference (based on more than a decade of work, and with subsequent work showing major developments).
1986X3J13 forms to produce a draft for an ANSI Common Lisp standard.
1986AI industry revenue now 99.
1986CMU's HiTech chess machine competes at senior master level.
1986Dallas Police use robot to break into an apartment.
1986First OOPSLA conference on object-oriented programming, at which CLOS is first publicized outside the Lisp/AI community.
1986IBM enters AI fray at AAAI, with a LISP, a PROLOG, and an ES shell.
1986Max Headroom
1986McClelland & Rumelhart's "Parallel Distributed Processing" (Neural Nets)
1986Neural net startup companies appear.
1986OCR now 99.
1986Teknowledge goes public, amid wild optimism.
1986Thinking Machines introduces Connection Machine.
1987Symbolics pioneers the OODB market with Statice, a Flavors-based system.
1987Lisp Pointers commences publication.
19871,900 computers are working Expert systems.
1987AI revenue 80 million.
1987Robotic-vision revenue 400 million.
1988Hillis's "Connection Machine", capable of 65,536 parallel computations.
1988Minsky and Papert publish revised edition of "Perceptrons"
1988Object-oriented languages are "in".
1988TI announces MicroExplorer (Macintosh with a LISP machine)
1988Teknowledge merges with American Cimflex.
1989Coral sold to Apple, re-marketed as Macintosh Allegro Common Lisp.
1989Palladian ceases production.
1989Dean Pomerleau at CMU creates ALVINN (An Autonomous Land Vehicle in a Neural Network), which grew into the system that drove a car coast-to-coast under computer control for all but about 50 of the 2850 miles.
Early 90'sTD-Gammon, a backgammon program written by Gerry Tesauro, demonstrates that reinforcement learning is powerful enough to create a championship-level game-playing program by competing favorably with world-class players.
1990'sMajor advances in all areas of AI, with significant demonstrations in machine learning, intelligent tutoring, case-based reasoning, multi-agent planning, scheduling, uncertain reasoning, data mining, natural language understanding and translation, vision, virtual reality, games, and other topics.
Rod Brooks' COG Project at MIT, with numerous collaborators, makes significant progress in building a humanoid robot
1990Steele publishes second edition of "Common Lisp the Language"
1990AICorp goes public.
1990Symbolics Lisp Users Group (SLUG) votes to expand its charter into an Association of Lisp Users, and to expand the scope of its annual conference correspondingly.
1991KnowlegeWare cancels offer to buy IntelliCorp.
1992Apple Computer introduces Dylan, a language in the Lisp family as its vision for the future of programming.
1992X3J13 creates a draft proposed American National Standard for Common Lisp.
1993Kurweil AI goes public.
1993Symbolics files for bankruptcy.
1994Franz Inc. announces the AllegroStore OODB.
1994Harlequin's real-time CLOS is used in an announced AT&T switching system.
1994Thinking Machines files for bankruptcy.
1994(Projected) ANSI Common Lisp becomes the first ANSI-standard OOPL.
1997The Deep Blue chess program beats the current world chess champion, Garry Kasparov, in a widely followed match.
1997First official Robo-Cup soccer match featuring table-top matches with 40 teams of interacting robots and over 5000 spectators.
Late 90'sWeb crawlers and other AI-based information extraction programs become essential in widespread use of the world-wide-web.
Demonstration of an Intelligent Room and Emotional Agents at MIT's AI Lab. Initiation of work on the Oxygen Architecture, which connects mobile and stationary computers in an adaptive network.
Late 1990sWeb crawlers and other AI-based information extraction programs become essential in widespread use of the World Wide Web.
Late 1990sDemonstration of an Intelligent room and Emotional Agents at MIT's AI Lab.
Late 1990sInitiation of work on the Oxygen architecture, which connects mobile and stationary computers in an adaptive network.
2000Interactive robot pets (a.k.a. "smart toys") become commercially available, realizing the vision of the 18th cen. novelty toy makers.
2000Cynthia Breazeal at MIT publishes her dissertation on Sociable Machines, describing KISMET, a robot with a face that expresses emotions.
2000The Nomad robot explores remote regions of Antarctica looking for meteorite samples.
2000Interactive robopets ("smart toys") become commercially available, realizing the vision of the 18th century novelty toy makers.
2000Cynthia Breazeal at MIT publishes her dissertation on Sociable machines, describing Kismet (robot), with a face that expresses emotions.
2000The Nomad robot explores remote regions of Antarctica looking for meteorite samples.
2004OWL Web Ontology Language W3C Recommendation (10 February 2004).
2004DARPA introduces the DARPA Grand Challenge requiring competitors to produce autonomous vehicles for prize money.
2005Honda's ASIMO robot, an artificially intelligent humanoid robot, is able to walk as fast as a human, delivering trays to customers in restaurant settings.
2005Recommendation technology based on tracking web activity or media usage brings AI to marketing. See TiVo Suggestions.
2005Blue Brain is born, a project to simulate the brain at molecular detail.[1].
2006The Dartmouth Artificial Intelligence Conference: The Next 50 Years (AI@50) AI@50 (14–16 July 2006)
2007Philosophical Transactions of the Royal Society, B – Biology, one of the world's oldest scientific journals, puts out a special issue on using AI to understand biological intelligence, titled Models of Natural Action Selection[37]
2007Checkers is solved by a team of researchers at the University of Alberta.

Belief-Desires-Intentions Model

Table of Contents


Book

  • Prologue
    • Multiagent Systems and Distributed Artificial Intelligence
      • Intelligent Agents that Interact
      • Challenging Issues
      • Applications
      • Rationales for Multiagent Systems
    • A Guide to This Book
      • The Chapters
      • The Exercises
      • A Few Pointers to Further Readings
      • References
  • Part I: Basic Themes
    • 1 Intelligent Agents
      • 1.1 Introduction
      • 1.2 What Are Agents?
        • 1.2.1 Examples of Agents
        • 1.2.2 Intelligent Agents
        • 1.2.3 Agents and Objects
        • 1.2.4 Agents and Expert Systems
      • 1.3 Abstract Architectures for Intelligent Agents
        • 1.3.1 Purely Reactive Agents
        • 1.3.2 Perception
        • 1.3.3 Agents with State
      • 1.4 Concrete Architectures for Intelligent Agents
        • 1.4.1 Logic-based Architectures
        • 1.4.2 Reactive Architectures
        • 1.4.3 Belief-Desire-Intention Architectures
        • 1.4.4 Layered Architectures
      • 1.5 Agent Programming Languages
        • 1.5.1 Agent-Oriented Programming
        • 1.5.2 Concurrent METATEM
      • 1.6 Conclusions
      • 1.7 Exercises
      • 1.8 References
    • 2 Multiagent Systems and Societies of Agents
      • 2.1 Introduction
        • 2.1.1 Motivations
        • 2.1.2 Characteristics of Multiagent Environments
      • 2.2 Agent Communications
        • 2.2.1 Coordination
        • 2.2.2 Dimensions of Meaning
        • 2.2.3 Message Types
        • 2.2.4 Communication Levels
        • 2.2.5 Speech Acts
        • 2.2.6 Knowledge Query and Manipulation Language (KQML)
        • 2.2.7 Knowledge Interchange Format (KIF)
        • 2.2.8 Ontologies
        • 2.2.9 Other Communication Protocols
      • 2.3 Agent Interaction Protocols
        • 2.3.1 Coordination Protocols
        • 2.3.2 Cooperation Protocols
        • 2.3.3 Contract Net
        • 2.3.4 Blackboard Systems
        • 2.3.5 Negotiation
        • 2.3.6 Multiagent Belief Maintenance
        • 2.3.7 Market Mechanisms
      • 2.4 Societies of Agents
      • 2.5 Conclusions
      • 2.6 Exercises
      • 2.7 References
    • 3 Distributed Problem Solving and Planning
      • 3.1 Introduction
      • 3.2 Example Problems
      • 3.3 Task Sharing
        • 3.3.1 Task Sharing in the Tower of Hanoi (Toll) Problem
        • 3.3.2 Task Sharing in Heterogeneous Systems
        • 3.3.3 Task Sharing for Distributed Sensor Network Establishment (DSNE)
        • 3.3.4 Task Sharing for Interdependent Tasks
      • 3.4 Result Sharing
        • 3.4.1 Functionally Accurate Cooperation
        • 3.4.2 Shared Repositories and Negotiated Search
        • 3.4.3 Distributed Constrained Heuristic Search
        • 3.4.4 Organizational Structuring
        • 3.4.5 Communication Strategies
        • 3.4.6 Task Structures
      • 3.5 Distributed Planning
        • 3.5.1 Centralized Planning for Distributed Plans
        • 3.5.2 Distributed Planning for Centralized Plans
        • 3.5.3 Distributed Planning for Distributed Plans
      • 3.6 Distributed Plan Representations
      • 3.7 Distributed Planning and Execution
        • 3.7.1 Post-Planning Coordination
        • 3.7.2 Pre-Planning Coordination
        • 3.7.3 Interleaved Planning, Coordination, and Execution
        • 3.7.4 Runtime Plan Coordination Without Communication
      • 3.8 Conclusions
      • 3.9 Exercises
      • 3.10 References
    • 4 Search Algorithms for Agents
      • 4.1 Introduction
      • 4.2 Constraint Satisfaction
        • 4.2.1 Definition of a Constraint Satisfaction Problem
        • 4.2.2 Filtering Algorithm
        • 4.2.3 Hyper-Resolution-Based Consistency Algorithm
        • 4.2.4 Asynchronous Backtracking
        • 4.2.5 Asynchronous Weak-Commitment Search
      • 4.3 Path-Finding Problem
        • 4.3.1 Definition of a Path-Finding Problem
        • 4.3.2 Asynchronous Dynamic Programming
        • 4.3.3 Learning Real-Time A*
        • 4.3.4 Real-Time A*
        • 4.3.5 Moving Target Search
        • 4.3.6 Real-Time Bidirectional Search
        • 4.3.7 Real-Time Multiagent Search
      • 4.4 Two-Player Games
        • 4.4.1 Formalization of Two-Player Games
        • 4.4.2 Minimax Procedure
        • 4.4.3 Alpha-Beta Pruning
      • 4.5 Conclusions
      • 4.6 Exercises
      • 4.7 References
    • 5 Distributed Rational Decision Making
      • 5.1 Introduction
      • 5.2 Evaluation Criteria
        • 5.2.1 Social Welfare
        • 5.2.2 Pareto Efficiency
        • 5.2.3 Individual Rationality
        • 5.2.4 Stability
        • 5.2.5 Computational Efficiency
        • 5.2.6 Distribution and Communication Efficiency
      • 5.3 Voting
        • 5.3.1 Truthful Voters
        • 5.3.2 Strategic (Insincere) Voters
      • 5.4 Auctions
        • 5.4.1 Auction Settings
        • 5.4.2 Auction Protocols
        • 5.4.3 Efficiency of the Resulting Allocation
        • 5.4.4 Revenue Equivalence and Non-Equivalence
        • 5.4.5 Bidder Collusion
        • 5.4.6 Lying Auctioneer
        • 5.4.7 Bidders Lying in Non-Private-Value Auctions
        • 5.4.8 Undesirable Private Information Revelation
        • 5.4.9 Roles of Computation in Auctions
      • 5.5 Bargaining
        • 5.5.1 Axiomatic Bargaining Theory
        • 5.5.2 Strategic Bargaining Theory
        • 5.5.3 Computation in Bargaining
      • 5.6 General Equilibrium Market Mechanisms
        • 5.6.1 Properties of General Equilibrium
        • 5.6.2 Distributed Search for a General Equilibrium
        • 5.6.3 Speculative Strategies in Equilibrium Markets
      • 5.7 Contract Nets
        • 5.7.1 Task Allocation Negotiation
        • 5.7.2 Contingency Contracts and Leveled Commitment Contracts
      • 5.8 Coalition Formation
        • 5.8.1 Coalition Formation Activity 1: Coalition Structure Generation
        • 5.8.2 Coalition Formation Activity 2: Optimization within a Coalition
        • 5.8.3 Coalition Formation Activity 3: Payoff Division
      • 5.9 Conclusions
      • 5.10 Exercises
      • 5.11 References
    • 6 Learning in Multiagent Systems
      • 6.1 Introduction
        • 6.2 A General Characterization
        • 6.2.1 Principal Categories
        • 6.2.2 Differencing Features
        • 6.2.3 The Credit-Assignment Problem
      • 6.3 Learning and Activity Coordination
        • 6.3.1 Reinforcement Learning
        • 6.3.2 Isolated, Concurrent Reinforcement Learners
        • 6.3.3 Interactive Reinforcement Learning of Coordination
      • 6.4 Learning about and from Other Agents
        • 6.4.1 Learning Organizational Roles
        • 6.4.2 Learning in Market Environments
        • 6.4.3 Learning to Exploit an Opponent
      • 6.5 Learning and Communication
        • 6.5.1 Reducing Communication by Learning
        • 6.5.2 Improving Learning by Communication
      • 6.6 Conclusions
      • 6.7 Exercises
      • 6.8 References
    • 7 Computational Organization Theory
      • 7.1 Introduction
        • 7.1.1 What Is an Organization?
        • 7.1.2 What Is Computational Organization Theory?
        • 7.1.3 Why Take a Computational Approach?
      • 7.2 Organizational Concepts Useful in Modeling Organizations
        • 7.2.1 Agent and Agency
        • 7.2.2 Organizational Design
        • 7.2.3 Task
        • 7.2.4 Technology
      • 7.3 Dynamics
      • 7.4 Methodological Issues
        • 7.4.1 Virtual Experiments and Data Collection
        • 7.4.2 Validation and Verification
        • 7.4.3 Computational Frameworks
      • 7.5 Conclusions
      • 7.6 Exercises
      • 7.7 References
    • 8 Formal Methods in DAI: Logic-Based Representation and Reasoning
      • 8.1 Introduction
      • 8.2 Logical Background
        • 8.2.1 Basic Concepts
        • 8.2.2 Propositional and Predicate Logic
        • 8.2.3 Modal Logic
        • 8.2.4 Deontic Logic
        • 8.2.5 Dynamic Logic
        • 8.2.6 Temporal Logic
      • 8.3 Cognitive Primitives
        • 8.3.1 Knowledge and Beliefs
        • 8.3.2 Desires and Goals
        • 8.3.3 Intentions
        • 8.3.4 Commitments
        • 8.3.5 Know-How
        • 8.3.6 Sentential and Hybrid Approaches
        • 8.3.7 Reasoning with Cognitive Concepts
      • 8.4 BDI Implementations
        • 8.4.1 Abstract Architecture
        • 8.4.2 Practical System
      • 8.5 Coordination
        • 8.5.1 Architecture
        • 8.5.2 Specification Language
        • 8.5.3 Common Coordination Relationships
      • 8.6 Communications
        • 8.6.1 Semantics
        • 8.6.2 Ontologies
      • 8.7 Social Primitives
        • 8.7.1 Teams and Organizational Structure
        • 8.7.2 Mutual Beliefs and Joint Intentions
        • 8.7.3 Social Commitments
        • 8.7.4 Group Know-How and Intentions
      • 8.8 Tools and Systems
        • 8.8.1 Direct Implementations
        • 8.8.2 Partial Implementations
        • 8.8.3 Traditional Approaches
      • 8.9 Conclusions
        • 8.10 Exercises
        • 8.11 References
    • 9 Industrial and Practical Applications of DAIH.
      • 9.1 Introduction
      • 9.2 Why Use DAI in Industry?
      • 9.3 Overview of the Industrial Life-Cycle
      • 9.4 Where in the Life Cycle Are Agents Used?
        • 9.4.1 Questions that Matter
        • 9.4.2 Agents in Product Design
        • 9.4.3 Agents in Planning and Scheduling
        • 9.4.4 Agents in Real-Time Control
      • 9.5 How Does Industry Constrain the Life Cycle of an Agent-Based System?
        • 9.5.1 Requirements, Positioning, and Specification
        • 9.5.2 Design: The Conceptual Context
        • 9.5.3 Design: The Process
        • 9.5.4 System Implementation
        • 9.5.5 System Operation
      • 9.6 Development Tools
      • 9.7 Conclusions
      • 9.8 Exercises
      • 9.9 References
  • Part II: Related Themes
    • 10 Groupware and Computer Supported Cooperative Work
      • 10.1 Introduction
      • 10.1.1 Well-Known Groupware Examples
      • 10.2 Basic Definitions
        • 10.2.1 Groupware
        • 10.2.2 Computer Supported Cooperative Work
      • 10.3 Aspects of Groupware
        • 10.3.1 Keepers
        • 10.3.2 Coordinators
        • 10.3.3 Communicators
        • 10.3.4 Team-Agents
        • 10.3.5 Agent Models
        • 10.3.6 An Example of Aspect Analysis of a Groupware
      • 10.4 Multi-Aspect Groupware
        • 10.4.1 Chautauqua — A Multi-Aspect System
      • 10.5 Social and Group Issues in Designing Groupware Systems
      • 10.6 Supporting Technologies and Theories
        • 10.6.1 Keepers
        • 10.6.2 Coordinators
        • 10.6.3 Communicators
        • 10.6.4 Team-Agents
      • 10.7 Other Taxonomies of Groupware
        • 10.7.1 Space/Time Matrix
        • 10.7.2 Application Area
      • 10.8 Groupware and Internet
        • 10.8.1 Internet as Infrastructure
        • 10.8.2 Internet as Presumed Software
      • 10.9 Conclusions
        • 10.9.1 Incorporating Communicators into Keepers
        • 10.9.2 Incorporating Keepers and Communicators into Coordinators
        • 10.9.3 Future Research on Agents
        • 10.9.4 Future Research on Keepers
      • 10.10 Exercises
      • 10.11 References
    • 11 Distributed Models for Decision Support
      • 11.1 Introduction
      • 11.2 Decision Support Systems
        • 11.2.1 The Decision Support Problem
        • 11.2.2 Knowledge-Based Decision Support
        • 11.2.3 Distributed Decision Support Models
      • 11.3 An Agent Architecture for Distributed Decision Support Systems
        • 11.3.1 Information Model
        • 11.3.2 Knowledge Model
        • 11.3.3 Control Model
      • 11.4 Application Case Studies
        • 11.4.1 Environmental Emergency Management
        • 11.4.2 Energy Management
        • 11.4.3 Road Traffic Management
      • 11.5 Couclusions
      • 11.6 Exercises
      • 11.7 References
    • 12 Concurrent Programming for DAI
      • 12.1 Introduction
      • 12.2 Defining Multiagent Systems
      • 12.3 Actors
        • 12.3.1 Semantics of Actors
        • 12.3.2 Equivalence of Actor Systems
        • 12.3.3 Actors and Concurrent Programming
      • 12.4 Representing Agents as Actors
        • 12.4.1 Mobility of Actors
        • 12.4.2 Resource Model
      • 12.5 Agent Ensembles -12.5.1 Customizing Execution Contexts -12.5.2 Interaction Protocols -12.5.3 Coordination -12.5.4 Naming and Groups
      • 12.6 Related Work
      • 12.7 Conclusions
      • 12.8 Exercises
      • 12.9 References
    • 13 Distributed Control Algorithms for AI
      • 13.1 Introduction 13.1.1 Model of Computation 13.1.2 Complexity Measures 13.1.3 Examples of Distributed Architectures in AI
      • 13.2 Graph Exploration 13.2.1 Depth-First Search 13.2.2 Pseudo-Fast Exploration: the Echo Algorithm 13.2.3 Searching for Connectivity Certificates
      • 13.3 Termination Detection 13.3.1 Problem Definition 13.3.2 Tracing Algorithms 13.3.3 Probe Algorithms
      • 13.4 Distributed Arc Consistency and the Constraint Satisfaction Problem (CSP) 13.4.1 Constraint Satisfaction and Arc Consistency 13.4.2 The AC4 Algorithm 13.4.3 The Distributed AC4 Algorithm 13.4.4 Termination Detection 13.4.5 Partitioning for Multiprocessor Computers 13.4.6 Distributed Constraint Satisfaction Algorithm
      • 13.5 Distributed Graph Processing 13.5.1 The Problem: Loop Cutset 13.5.2 Distributed Execution of the Algorithm 13.5.3 Complexity and Conclusions
      • 13.6 Conclusions
      • 13.7 Exercises
      • 13.8 References

Notes

loop:
  - perceive                      P = perceive
  - revise knowledge              B = belief_revision(B, P)
  - reason about knowledge 
    to obtain current desires     D = option_selection(B)
  - reconsider intentions 
    based on desires and beliefs  I = intention_selection(B, D, I)
  - planning                      A = action_selection(B, I)
  - act and communicate
  +-----+      +----------+      +---+
  |     |----->| belief   |----->| B |-------------+
  |  E  |      | revision |      +-+-+             |
  |  N  |      +----------+        |               |
  |  V  |                          |               |
  |  I  |          +---------------+               |
  |  R  |          |                               |
  |  O  |          v                               v
  |  N  |     +-----------+       +---+      +-----------+
  |  M  |     | intention |<------| D |<-----| option    |
  |  E  |     | selection |       +---+      | selection | 
  |  N  |     +-----------+                  +-----------+
  |  T  |          ^                               ^
  |     |          |                               |
  |     |          +----------------+              |
  |     |                           |              |
  |     |                           v              |
  |     |     +-----------+       +---+            |
  |     |<----| action    |<------| I |------------+
  |     |     | selection |       +---+
  +-----+     +-----------+

Los deseos y las intenciones comparten sus elementos, ya que la seleccion de intenciones 'filtra' a los deseos que el agente ha seleccionado. Por lo tanto las intenciones en un ciclo deliberativo seran un subconjunto de los deseos.

Wikipedia

Provides a mechanism for separating the activity of selecting a plan (from a plan library or an external planner application) from the execution of currently active plans.

Consequently, BDI agents are able to balance the time spent on deliberating about plans (choosing what to do) and executing those plans (doing it).

A third activity, creating the plans in the first place (planning), is not within the scope of the model, and is left to the system designer and programmer.

Bratman

Implements the notions of belief, desire and (in particular) intention. Intention and desire are both pro-attitudes (mental attitudes concerned with action), but intention is distinguished as a conduct-controlling pro-attitude.

He identifies commitment as the distinguishing factor between desire and intention, noting that it leads to (1) temporal persistence in plans and (2) further plans being made on the basis of those to which it is already committed.

Temporal persistence, in the sense of explicit reference to time, is not explored. The hierarchical nature of plans is more easily implemented: a plan consists of a number of steps, some of which may invoke other plans.

The hierarchical definition of plans itself implies a kind of temporal persistence, since the overarching plan remains in effect while subsidiary plans are being executed.

The BDI software model is closely associated with intelligent agents, but does not, of itself, ensure all the characteristics associated with such agents. For example, it allows agents to have private beliefs, but does not force them to be private.

It also has nothing to say about agent communication. Ultimately, the BDI software model is an attempt to solve a problem that has more to do with plans and planning (the choice and execution thereof) than it has to do with the programming of intelligent agents.

Beliefs

Beliefs represent the informational state of the agent, in other words its beliefs about the world (including itself and other agents). Beliefs can also include inference rules, allowing forward chaining to lead to new beliefs. Using the term belief rather than knowledge recognizes that what an agent believes may not necessarily be true (and in fact may change in the future).

Beliefset

Beliefs are stored in database (sometimes called a belief base or a belief set), although that is an implementation decision.

Desires

Desires represent the motivational state of the agent. They represent objectives or situations that the agent would like to accomplish or bring about. Examples of desires might be: find the best price, go to the party or become rich.

Goals

A goal is a desire that has been adopted for active pursuit by the agent. Usage of the term goals adds the further restriction that the set of active desires must be consistent. For example, one should not have concurrent goals to go to a party and to stay at home - even though they could both be desirable.

Intentions

Intentions represent the deliberative state of the agent - what the agent has chosen to do. Intentions are desires to which the agent has to some extent committed. In implemented systems, this means the agent has begun executing a plan.

Plans

Plans are sequences of actions (recipes or knowledge areas) that an agent can perform to achieve one or more of its intentions. Plans may include other plans: my plan to go for a drive may include a plan to find my car keys. This reflects that in Bratman's model, plans are initially only partially conceived, with details being filled in as they progress.

Events

These are triggers for reactive activity by the agent. An event may update beliefs, trigger plans or modify goals. Events may be generated externally and received by sensors or integrated systems. Additionally, events may be generated internally to trigger decoupled updates or plans of activity.

BDI Interpreter

This section defines an idealized BDI interpreter that provides the basis of the PRS linage of BDI systems:

  1. initialize-state
  2. repeat
    1. options: option-generator(event-queue)
    2. selected-options: deliberate(options)
    3. update-intentions(selected-options)
    4. execute()
    5. get-new-external-events()
    6. drop-unsuccessful-attitudes()
    7. drop-impossible-attitudes()
  3. end repeat

Limitations and Criticisms

The BDI software model is one example of a reasoning architecture for a single rational agent, and one concern in a broader multi-agent system. This section bounds the scope of concerns for the BDI software model, highlighting known limitations of the architecture.

  • Learning: BDI agents lack any specific mechanisms within the architecture to learn from past behavior and adapt to new situations[6][7].
  • Three Attitudes: Classical decision theorists and planning research questions the necessity of having all three attitudes, distributed AI research questions whether the three attitudes are sufficient[1].
  • Logics: The multi-modal logics that underlie BDI (that do not have complete axiomatizations and are not efficiently computable) have little relevance in practice[1][8].
  • Multiple Agents: In addition to not explicitly supporting learning, the framework may not be appropriate to learning behavior. Further, the BDI model does not explicitly describe mechanisms for interaction with other agents and integration into a multi-agent system.[9].
  • Explicit Goals: Most BDI implementations do not have an explicit representation of goals[10].
  • Lookahead: The architecture does not have (by design) any lookahead deliberation or forward planning. This may not be desirable because adopted plans may use up limited resources, actions may not be reversible, task execution may take longer than forward planning, and actions may have undesirable side effects if unsuccessful[11].

Natural Language Processing

Table of Contents


Books

Speech and Language Processing 2nd Ed (Daniel Jurafsky, James H. Martin)

One of the most widely referenced and recommended NLP books, written by Stanford University professor Dan Jurafsky and University of Colorado professor James Martin, provides a deep-dive guide on the subject of language processing. It’s intended to accompany undergraduate or advanced graduate courses in NLP or Computational Linguistics. However, it’s a must-read for anyone diving into the theory and application of language processing as they grow and strengthen their analytics capabilities.

It is one of the most sought after and famously referenced and recommended books in the field of NLP. It is authored by Professor Dan Jurafsky from Stanford and James Martin from the University of Colorado. It will give you a deep understanding of the subject of natural language processing. It’s focused on supporting undergraduate or master’s courses in NLP or Computational Linguistics. It is considered as a must-read for those who are diving into the theory and it’s application part of language processing as they rise towards acquiring the skills necessary to strengthen their analytics abilities. A deep focus on web-based language approach, distinct field merging phone-based systems for dialogues, etc. Practical applications are emphasized with technical evaluation. This second edition is much more goal-oriented and can be considered as an extended version of the previous book.

This book provides coverage of NLP from both speech and text perspectives with a strong focus on applications (one in each chapter).

Coverage of the topic feels exhaustive.

Book Contents:

  • Introduction
  • Regular Expressions and Automata
  • Words and Transducers
  • N-grams
  • Part-of-Speech Tagging
  • Hidden Markov and Maximum Entropy Models
  • Phonetics
  • Speech Synthesis
  • Automatic Speech Recognition
  • Speech Recognition: Advanced Topics
  • Computational Phonology
  • Formal Grammars of English
  • Syntactic Parsing
  • Statistical Parsing
  • Features and Unification
  • Language and Complexity
  • The Representation of Meaning
  • Computational Semantics
  • Lexical Semantics
  • Computational Lexical Semantics
  • Computational Discourse
  • Information Extraction
  • Question Answering and Summarization
  • Dialog and Conversational Agents
  • Machine Translation

Natural Language Understanding 2nd Ed (James Allen)

This book is another introductory guide to NLP and considered a classic. While it was published in 1994, it’s highly relevant to today’s discussions and analytics activities and lauded by generations of NLP researchers and educators. It introduces major techniques and concepts required to build NLP systems, and goes into the background and theory of each without overwhelming readers in technical jargon.

This book is a classic material on this subject of NLP. This is a revision of the original book that offers a comprehensive introductory information to natural language understanding with the latest research and developments in the field today. When compared with the first edition of superior understanding and subjective foundation, the new edition provides the learners and readers with the same kind of balanced description of syntax, semantics, and discourse, and concentrates on a uniform framework determined on feature-based context-free grammar and chart Parsers utilized for semantic and syntactic processing. Extensive treatment of problems and issues in discourse and context-dependent explanation is also given.


Handbook of Natural Language Processing (Indurkhya, Damerau)

This comprehensive, modern “Handbook of Natural Language Processing” offers tools and techniques for developing and implementing practical NLP in computer systems. There are three sections to the book: classical techniques (including symbolic and empirical approaches), statistical approaches in NLP, and multiple applications—from information visualization to ontology construction and biomedical text mining.

The second edition has a multilingual scope, accommodating European and Asian languages besides English, plus there’s greater emphasis on statistical approaches. Furthermore, it features a new applications section discussing emerging areas such as sentiment analysis. It’s a great start to learn how to apply NLP to computer systems.


The Handbook of Computational Linguistics and Natural Language Processing (Clark, Fox, Lappin)

Similar to the “Handbook of Natural Language Processing,” this book includes an overview of concepts, methodologies, and applications in NLP and Computational Linguistics, presented in an accessible, easy-to-understand way. It features an introduction to major theoretical issues and the central engineering applications that NLP work has produced to drive the discipline forward. Theories and applications work hand in hand to show the relationship in language research as noted by top NLP researchers. It’s a great resource for NLP students and engineers developing NLP applications in labs at software companies.


The Oxford Handbook of Computational Linguistics (Mitkov)

This handbook describes major concepts, methods, and applications in computational linguistics in a way that undergraduates and non-specialists can comprehend. It’s a state-of-the-art reference to one of the most active and productive fields in linguistics. A wide range of linguists and researchers in fields such as informatics, artificial intelligence, language engineering, and cognitive science will find it interesting and practical. It begins with linguistic fundamentals, followed by an overview of current tasks, techniques, and tools in Natural Language Processing that target more experienced computational language researchers.


Foundations of Statistical Natural Language Processing (Manning, Schuetze)

Another book that hails from Stanford educators, this one is written by Jurafsky’s colleague, Christopher Manning. They’ve taught the popular NLP introductory course at Stanford. Manning’s co-author is a professor of Computational Linguistics at the German Ludwig-Maximilians-Universität.

The book provides an introduction to statistical methods for NLP and a decent foundation to comprehend new NLP methods and support the creation of NLP tools. Mathematical and linguistic foundations, plus statistical methods, are equally represented in a way that supports readers in creating language processing applications.

This foundational book is the first detailed oriented introductory book of statistical natural language processing (NLP) to occur in the market. This book has all the theory and algorithms required for developing NLP tools. Statistical natural-language processing is, one of the most fast-moving and exciting branches of computer science nowadays. Learners or Practitioners and students who want to know this field would be advised to buy this book. It can be called as the most well-thumbed books to be considered for this topic. It gives a broad and deep coverage of mathematical and linguistic basics, as well as in-detail discussions of statistical methods, allowing all the students, learners, and researchers to construct their implementations. The book details the concepts of collocation findings, probabilistic parsing, data retrieval, and other applications.

This book provides an introduction to statistical methods for natural language processing covering both the required linguistics and the newer (at the time, circa 1999) statistical methods.

This book provides a strong foundation to better grasp the newer methods and encodings.

Book contents:

  • Introduction
  • Mathematical Foundations
  • Linguistic Essentials
  • Corpus-Based Work
  • Collocations
  • Statistical Inference: n-gram Models over Sparse Data
  • Word Sense Disambiguation
  • Lexical Acquisition
  • Markov Models
  • Part-of-Speech Tagging
  • Probabilistic Context Free Grammars
  • Probabilistic Parsing
  • Statistical Alignment and Machine Translation
  • Clustering
  • Topics in Information Retrieval
  • Text Categorization

Big Data Analytics Methods: Modern Analytics Techniques for the 21st Century: The Data Scientist’s Manual to Data Mining, Deep Learning & Natural Language Processing (Ghavami)

Peter’s book might seem daunting to a NLP newcomer, but it’s useful as a comprehensive manual for those familiar with NLP and how big data relates in today’s world. It also works as a helpful reference for data scientists, analysts, business managers, and Business Intelligence practitioners. With more than a hundred analytics techniques and methods included, we think this will be a favorite for seasoned analytics practitioners.

Chapters cover everything from machine learning to predictive modeling and cluster analysis. Data science topics including data visualization, prediction, and regression analysis, plus NLP-related fields such as neural networks, deep learning, and artificial intelligence are also discussed. These come with a broad explanation, but Peter goes into more detail about terminology and mathematical foundations, too.


Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit (Bird, Klein, Loper)

This book is a helpful introduction to the NLP field with a focus on programming. If you want have a practical source on your shelf or desk, whether you’re a NLP beginner, computational linguist or AI developer, it contains hundreds of fully-worked examples and graded exercises that bring NLP to life. It can be used for individual study, as a course textbook when studying NLP or computational linguistics, or in complement with artificial intelligence, text mining, or corpus linguistics courses.

Curious about Python programming language? It will walk you through creating Python programs that parse unstructured data like language and recommends downloading Python and the Natural Language Toolkit. On a companion site, the authors have actually updated the book to work with Python 3 and NLTK 3.

A great starting spot for learning the practical basics of natural language processing from the point of view of the Python ecosystem. Also known as the NLTK Book, Natural Language Processing with Python leans heavily on the NLTK library throughout, which is a useful piece of software for learning purposes.

From the book's preface:

  • This book provides a highly accessible introduction to the field of NLP.
  • It can be used for individual study or as the textbook for a course on natural language processing or computational linguistics, or as a supplement to courses in artificial intelligence, text mining, or corpus linguistics. The book is intensely practical, containing hundreds of fully-worked examples and graded exercises.
  • [...]
  • This book is intended for a diverse range of people who want to learn how to write programs that analyze written language, regardless of previous programming experience.

The book is definitely of a practical nature. While you will assuredly have concepts explained as you go, there is little doubt that the book is crafted as a launchpad for those looking to get going with implementing NLP solutions with Python, and doing so now.

This is one of the Best book for Natural Language Processing. This book will give you introduction to Natural Language Processing using Python and Python NLTK Library.

With the help of this book, you will learn how to write Python programs that work with large collections of unstructured text.

Book contents:

  • Language Processing and Python
  • Accessing Text Corpora and Lexical Resources
  • Processing Raw Text
  • Writing Structured Programs
  • Categorizing and Tagging Words
  • Learning to Classify Text
  • Extracting Information from Text
  • Analyzing Sentence Structure
  • Building Feature-Based GRammars
  • Analyzing the Meaning of Sentences
  • Managing Linguistic Data

Natural Language Processing with PyTorch (Rao, McMahan)

This book moves on from traditional NLP techniques to those using neural networks. A practical approach to the subject, it jumps straight into applying neural network NLP methods using PyTorch.

Directly from the book's website, some of the topics covered include:

  • Explore computational graphs and the supervised learning paradigm
  • Master the basics of the PyTorch optimized tensor manipulation library
  • Get an overview of traditional NLP concepts and methods
  • Learn the basic ideas involved in building neural networks
  • Use embeddings to represent words, sentences, documents, and other features
  • Explore sequence prediction and generate sequence-to-sequence models
  • Learn design patterns for building production NLP systems

This is a great starting point for transitioning from more traditional (non-neural network based) NLP techniques to those which have consumed the field in the past few years, which are heavily reliant on deep learning.


Neural Network Methods for Natural Language Processing (Goldberg)

This book is authored by Yoav Goldberg and can be considered only as an Introductory textbook. Neural networks are known as a family of powerful machine learning models. This book sole emphasis is on the application of neural network models to natural language data. The first 50 percent of the book covers all the basics of supervised machine learning and feed-forward neural networks, the fundamentals of working with machine learning over language-based data, and the usage of vector-based data rather than symbolic rendering for words. It also focuses on the computation-graph abstraction, that allows to define and train arbitrary neural networks with ease and is the important basis behind the design of modern neural network software libraries.

Yoav Goldberg writes this book on neural network methods for NLP. You may have begun implementing such methods using the previous book, and while "Natural Language Processing with PyTorch" does a fine job of outlining the intuitions behind its methods, Goldberg's book takes a deeper dive into explaining these concepts without the burden of implementing them in code.

From the book's website:

  • This book focuses on the application of neural network models to natural language data.
  • The first half of the book (Parts I and II) covers the basics of supervised machine learning and feed-forward neural networks, the basics of working with machine learning over language data, and the use of vector-based rather than symbolic representations for words.
  • [...]
  • The second part of the book (Parts III and IV) introduces more specialized neural network architectures, including 1D convolutional neural networks, recurrent neural networks, conditioned-generation models, and attention-based models. These architectures and techniques are the driving force behind state-of-the-art algorithms for machine translation, syntactic parsing, and many other applications.

Firmly in the realm of the theoretical or explanatory, Neural Network Methods for Natural Language Processing will go a long way to shoring up your understanding of how modern neural network based approaches to NLP work, and why they are employed.

This book covers the application of neural network models to natural language processing tasks. In that book, you will learn about basics of supervised machine learning and feed-forward neural networks.

Along with that, you will also learn neural network architectures, including 1D convolutional neural networks, recurrent neural networks, conditioned-generation models, and attention-based models.


Linguistic Fundamentals for Natural Language Processing (Bender)

Of course, flying blind with respect to linguistic fundamentals is not a great idea when working with NLP, and can be of special concern when approaching NLP or computational linguistics from the purely computational side, lacking any formal study in linguistics. This book by Emily M. Bender seeks to help bridge this gap.

The book's website describes the book's purpose as such:

The purpose of this book is to present in a succinct and accessible fashion information about the morphological and syntactic structure of human languages that can be useful in creating more linguistically sophisticated, more language-independent, and thus more successful NLP systems.

Bender backs this up with the following from Chapter 1:

[K]nowledge about linguistic structures can inform the design of features for machine learning approaches to NLP. Put more strongly: knowledge of linguistic structure will lead to the design of better features for machine learning.

The book is organized as 100 individual "essentials" for better understanding morphology and syntax, with the essentials grouped into chapters of related topics. If you do not have a linguistics background (I do not), this book may be a painstaking read (it is supposed to be) but will undoubtedly lead to a better linguistic understanding you can put to use in your NLP career.


Natural Language Processing in Action (Lane, Hapke, Howard)

This book Natural Language Processing in Action is your guide to developing machines that can read and interpret the language used by humans. Within this, you’ll use obtainable Python packages to encapsulate the understanding in text and react to it. This book extends conventional NLP ways to include neural networks, modern deep learning algorithms, and major generative techniques when you tackle real-world issues like extracting names, places and dates, text composing, and free-form answering of listed questionnaires. You will just need a basic understanding of deep learning and intermediate-level Python knowledge. This book also shows how to work with Keras, TensorFlow, Gensim, and SCIkit including scalable pipelines and rule-based NLP. So get this book and Learn all the theory and practical skills necessary to go further by merely understanding the inner functioning of NLP, and start developing your own algorithms and models.

This book is a return to the practical. Covering both traditional and neural network based approaches to NLP, Natural Language Processing in Action could be considered a combination of the first 2 books in this list, covering practical coding solutions using modern tools such as TensorFlow and Keras, among others.

From the book's website:

  • Natural Language Processing in Action is your guide to building machines that can read and interpret human language.
  • In it, you’ll use readily available Python packages to capture the meaning in text and react accordingly.
  • The book expands traditional NLP approaches to include neural networks, modern deep learning algorithms, and generative techniques as you tackle real-world problems like extracting dates and names, composing text, and answering free-form questions.

As a consequence of being the most recently released book in this list (just narrowly edging out Natural Language Processing with PyTorch) as well as that with the most pages, it is likely the most up-to-date and comprehensive practical book in this list, and perhaps even currently available on the market. But that doesn't mean it should be your default choice here either; it depends on the ecosystem you want to work in, and the level of detail you are looking to gain, among other considerations.

As its name suggests “Natural Language Processing in Action”, it’s another best practical approach book for NLP. In that book, you will learn how to build machines that can read and interpret human language.

The authors of this books are experienced NLP engineers. In that book, you will learn how to use readily available Python packages to capture the meaning in text and react accordingly.

Book contents:

  • PART 1 – WORDY MACHINES
    • Packets of thought (NLP overview)
    • Build your vocabulary (word tokenization)
    • Math with words (TF-IDF vectors)
    • Finding meaning in word counts (semantic analysis)
  • PART 2 – DEEPER LEARNING (NEURAL NETWORKS)
    • Baby steps with neural networks (perceptrons and backpropagation)
    • Reasoning with word vectors (Word2vec)
    • Getting words in order with convolutional neural networks (CNNs)
    • Loopy (recurrent) neural networks (RNNs)
    • Improving retention with long short-term memory networks
    • Sequence-to-sequence models and attention
  • PART 3 – GETTING REAL (REAL-WORLD NLP CHALLENGES)
    • Information extraction (named entity extraction and question answering)
    • Getting chatty (dialog engines)
    • Scaling up (optimization, parallelization, and batch processing)

Practical Natural Language Processing: A Comprehensive Guide to Building Real-World NLP Systems (Majumder, Gupta, Surana)

This book provides a comprehensive point-based description of building real-world NLP applications. It will guide you through the process of developing Authentic NLP solutions placed and used in a larger product system. This guide is practical for people who want to develop, manage, and scale NLP systems in a major business environment and modify them for niche industries. You will also learn how to adapt to the various industry verticals such as healthcare, Media, and retail, etc. At the end of this book, you will Understand the wide range of problems, tasks, and different approaches within NLP. Also, you will learn to Perfectly Implement and evaluate different NLP applications machine learning methods. Evaluate all the different algorithms and approaches for NLP product tasks and datasets. Develop and create software solutions by maintaining the best practices during release, deployment, and DevOps for Natural Language Processing systems.


Introduction to Natural Language Processing (Eisenstein)

This book gives a technical direction on the subject of natural language processing―the different ways for developing computer software that understands, produces, and manipulates the language of humans. It emphasizes recent data-driven approaches, attentive towards the techniques from supervised and non-supervised machine learning. Starting with the first section of the book that creates a basic ideation into machine learning by developing a set of tools that can be used throughout the book and application of those for practical word-based textual analysis. This book provides a superb introduction to natural language processing, with the main emphasis on foundational method building and algorithms.


Statistical Machine Translation (Koehn)

This book will give you an introduction to statistical machine translation that is a sub-field of Natural Language Processing.

Book contents:

  • Introduction
  • Words, Sentences, Corpa
  • Probability Theory
  • Word-Based Models
  • Phrase-Based Models
  • Decoding
  • Language Models
  • Evaluation
  • Discriminative Training
  • Integrating Linguistic Information
  • Tree-Based Methods

Statistical Methods for Speech Recognition (Jelinek)

This book will give you an introduction to the topic of statistical speech recognition, another most popular application of Natural Language Processing. In that book, you will find a thorough introduction to speech recognition.

Book contents:

  • The Speech Recognition Problem
  • Hidden Markov Models
  • The Acoustic Model
  • Basic Language Modeling
  • The Viterbi Search
  • Hypothesis Search on a Tree and the Fast Match
  • Elements of Information Theory
  • The Complexity of Tasks – The Quality of Language Models
  • The Expectation-Maximization Algorithm and Its Consequences
  • Decision Trees and Tree Language Models
  • Phonetics from Orthography: Spelling-to-Base Form Mappings
  • Triphones and Allophones
  • Maximum Entropy Probability Estimation and Language Models
  • Tree Applications of Maximum Entropy Estimation to Language Modeling
  • Estimation of Probabilities from Counts and the Back-Off Method

Applied Text Analysis with Python (Bengfort, Bilbro, Ojeda)

In this book, you will learn robust, repeatable, and scalable techniques for text analysis with Python, including contextual and linguistic feature engineering, vectorization, classification, topic modeling, entity resolution, graph analysis, and visual steering.

Along with that, you will also learn how to perform document classification and topic modeling. This book will teach you how to build a dialog framework to enable chatbots and language-driven interaction. Why this Book is Good?

This book will give you a data scientist’s perspective on building language-aware products with applied machine learning techniques.

Courses

Richard Sutton

Source

Table of Contents


What's Wrong with Artificial Intelligence

Source November 12, 2001

I hold that AI has gone astray by neglecting its essential objective --- the turning over of responsibility for the decision-making and organization of the AI system to the AI system itself. It has become an accepted, indeed lauded, form of success in the field to exhibit a complex system that works well primarily because of some insight the designers have had into solving a particular problem. This is part of an anti-theoretic, or "engineering stance", that considers itself open to any way of solving a problem. But whatever the merits of this approach as engineering, it is not really addressing the objective of AI. For AI it is not enough merely to achieve a better system; it matters how the system was made. The reason it matters can ultimately be considered a practical one, one of scaling. An AI system too reliant on manual tuning, for example, will not be able to scale past what can be held in the heads of a few programmers. This, it seems to me, is essentially the situation we are in today in AI. Our AI systems are limited because we have failed to turn over responsibility for them to them.

Please forgive me for this which must seem a rather broad and vague criticism of AI. One way to proceed would be to detail the criticism with regard to more specific subfields or subparts of AI. But rather than narrowing the scope, let us first try to go the other way. Let us try to talk in general about the longer-term goals of AI which we can share and agree on. In broadest outlines, I think we all envision systems which can ultimately incorporate large amounts of world knowledge. This means knowing things like how to move around, what a bagel looks like, that people have feet, etc. And knowing these things just means that they can be combined flexibly, in a variety of combinations, to achieve whatever are the goals of the AI. If hungry, for example, perhaps the AI can combine its bagel recognizer with its movement knowledge, in some sense, so as to approach and consume the bagel. This is a cartoon view of AI -- as knowledge plus its flexible combination -- but it suffices as a good place to start. Note that it already places us beyond the goals of a pure performance system. We seek knowledge that can be used flexibly, i.e., in several different ways, and at least somewhat independently of its expected initial use.

With respect to this cartoon view of AI, my concern is simply with ensuring the correctness of the AI's knowledge. There is a lot of knowledge, and inevitably some of it will be incorrrect. Who is responsible for maintaining correctness, people or the machine? I think we would all agree that, as much as possible, we would like the AI system to somehow maintain its own knowledge, thus relieving us of a major burden. But it is hard to see how this might be done; easier to simply fix the knowledge ourselves. This is where we are today.

Verification, The Key to AI

Source November 15, 2001

It is a bit unseemly for an AI researcher to claim to have a special insight or plan for how his field should proceed. If he has such, why doesn't he just pursue it and, if he is right, exhibit its special fruits? Without denying that, there is still a role for assessing and analyzing the field as a whole, for diagnosing the ills that repeatedly plague it, and to suggest general solutions.

The insight that I would claim to have is that the key to a successful AI is that it can tell for itself whether or not it is working correctly. At one level this is a pragmatic issue. If the AI can't tell for itself whether it is working properly, then some person has to make that assessment and make any necessary modifications. An AI that can assess itself may be able to make the modifications itself.

The Verification Principle:

An AI system can create and maintain knowledge only to the extent that it can verify that knowledge itself.

Successful verification occurs in all search-based AI systems, such as planners, game-players, even genetic algorithms. Deep Blue, for example, produces a score for each of its possible moves through an extensive search. Its belief that a particular move is a good one is verified by the search tree that shows its inevitable production of a good position. These systems don't have to be told what choices to make; they can tell for themselves. Image trying to program a chess machine by telling it what kinds of moves to make in each kind of position. Many early chess programs were constructed in this way. The problem, of course, was that there were many different kinds of chess positions. And the more advice and rules for move selection given by programmers, the more complex the system became and the more unexpected interactions there were between rules. The programs became brittle and unreliable, requiring constant maintainence, and before long this whole approach lost out to the "brute force" searchers.

Although search-based planners verify at the move selection level, they typically cannot verify at other levels. For example, they often take their state-evaluation scoring function as given. Even Deep Blue cannot search to the end of the game and relies on a human-tuned position-scoring function that it does not assess on its own. A major strength of the champion backgammon program, TD-Gammon, is that it does assess and improve its own scoring function.

Another important level at which search-based planners are almost never subject to verification is that which specifies the outcomes of the moves, actions, or operators. In games such as chess with a limited number of legal moves we can easily imagine programming in the consequences of all of them accurately. But if we imagine planning in a broader AI context, then many of the allowed actions will not have their outcomes completely known. If I take the bagel to Leslie's office, will she be there? How long will it take to drive to work? Will I finish this report today? So many of the decisions we take every day have uncertain and changing effects. Nevertheless, modern AI systems almost never take this into account. They assume that all the action models will be entered accurately by hand, even though these may be most of the knowledge in or ever produced by the system.

Finally, let us make the same point about knowledge in general. Consider any AI system and the knowledge that it has. It may be an expert system or a large database like CYC. Or it may be a robot with knowledge of a building's layout, or knowledge about how to react in various situations. In all these cases we can ask if the AI system can verify its own knowledge, or whether it requires people to intervene to detect errors and unforeseen interactions, and make corrections. As long as the latter is the case we will never be able to build really large knowledge systems. They will always be brittle and unreliable, and limited in size to what people can monitor and understand themselves.

"Never program anything bigger than your head"

And yet it is overwhelmingly the case that today's AI systems are not able to verify their own knowledge. Large ontologies and knowledge bases are built that are totally reliant on human construction and maintainence. "Birds have wings" they say, but of course they have no way of verifying this.

Verification

Source 11/14/2001

If the human designers of an AI are not to be burdened with ensuring that what their AI knows is correct, then the AI will have to ensure it itself. It will have to be able to verify the knowledge that it has gained or been given.

Giving an AI the ability to verify its knowledge is no small thing. It is in fact a very big thing, not easy to do. Often a bit of knowledge can be written very compactly, whereas its verification is very complex. It is easy to say "there is a book on the table", but very complex to express even a small part of its verification, such as the visual and tactile senations involved in picking up the book. It is easy to define an operator such as "I can get to the lunchroom by going down one floor", but to verify this one must refer to executable routines for finding and descending the stairs, recognizing the lunchroom, etc. These routines involve enormously greater detail and closed-loop contingences, such as opening doors, the possibility of a stairway being closed, or meeting someone on the way, than does the knowledge itself. One can often suppress all this detail when using the knowledge, e.g., in planning, but to verify the knowledge requires its specification at the low level. There is no comparison between the ease of adding unverified knowledge and the complexity of including a means for its autonomous verification.

Note that although all the details of execution are needed for verification, the execution details are not themselves the verification. There is a procedure for getting to the lunchroom, but separate from this would be the verifier for determining if it has succeeded. It is perfectly possible for the procedure to be fully grounded in action and sensation, while completely leaving out the verifier and thus the possibility of autonomous knowledge maintainence. At the risk of being too broad-brush about it, this is what typically happens in modern AI robotics systems. They have extensive grounded knowledge, but still no way of verifying almost any of it. They use visual routines to recognize doors and hallways, and they make decisions based on these conclusions, but they cannot themselves correct their errors. If something is recognized as a "doorway" yet cannot be passed through, this failure will not be recognized and not used to correct future doorway recognitions, unless it is done by people.

On the other hand, once one has grounding, the further step to include verification is less daunting. One need only attach to the execution procedures appropriate tests and termination conditions that measure in some sense the veracity of the original statement, while at the same time specifying what it really means in detail. What is a chair? Not just something that lights up your visual chair detector! That would be grounded knowledge, but not verifiable; it would rely on people to say which were and were not chairs. But suppose you have routines for trying to sit. Then all you need for a verifier is to be able to measure your success at sitting. You can then verify, improve, and maintain your "sittable thing" recognizer on your own.

There is a great contrast between the AI that I am proposing and what might be considered classical "database AI". There are large AI efforts to codify vast amounts of knowledge in databases or "ontologies", of which Doug Lenat's CYC is only the most widely known. In these efforts, the idea of people maintaining the knowledge is embraced. Special knowledge representation methods and tools are emphasized to make it easier for people to understand and access the knowledge, and to try to keep it right. These systems tend to emphasize static, world knowledge like "Springfield is the capital of Illinois", "a canary is a kind of bird", or even "you have a meeting scheduled with John at 3:30", rather than the dynamic knowledge needed say by a robot to interact in real time with its environment. A major problem is getting people to use the same categories and terms when they enter knowledge and, more importantly, to mean the same things by them. There is a search for an ultimate "ontology", or codification of all objects and their possible relationships, so that clear statements can be made about them. But so far this has not proven possible; there always seem to be far more cases that don't fit than do. People are good about being fluid with there concepts, and knowing when they don't apply.

Whatever the ultimate success of the symbolic "database AI" approach, it should be clear that it is the anti-thesis of what I am calling for. The database approach calls for heroic efforts organizing and entering an objective, public, and disembodied knowledge base. I am calling for an AI that maintains its own representations, perhaps different from those of others, while interacting in real time with a dynamic environment. Most important of all, the database approach embraces human maintainence and human organization of the AI's knowledge. I am calling for automating these functions, for the AI being able to understand its knowledge well enough to verify it itself.

Mind is About Information

Source 11/19/2001

What is the mind? Of course, "mind" is just a word, and we can mean anything we want by it. But if we examine the way we use the word, and think about the kinds of things we consider more mindful than others, I would argue that the idea of choice is the most important. We consider things to be more or less mindful to the extent that they appear to be making choices. To make a choice means to distinguish, and to create a difference. In this basic sense the mind is about information. Its essential function is to process bits into other bits. This position has two elements:

  • Mind is Computational, not Material
  • Mind is Purposive

Mind is Computational, not Material

The idea that the mind's activities are best viewed as information processing, as computation, has become predominant in our sciences over the last 40 years. People do not doubt that minds have physical, material form, of course, either as brains or perhaps as computer hardware. But, as is particularly obvious in the latter case, the hardware is often unimportant. Is is how the information flows which matters.

I like to bring this idea down to our basest intuition. What things are more mindlike and less mindlike? A thermostat is slightly mindlike. It converts a gross physical quanitity, the air temperature of your home, to a small deviation in a piece of metal, which tips a small lump of mercury which in turn triggers a fire in your furnace. Large physical events are reduced and processed as small ones, the physical is reduced to mere distinctions and processed as information. The sensors and effectors of our brains are essentially similar. Relatively powerful physical forces impinge on us, and our sensors convert them to tiny differences in nerve firings. These filter and are further processed until signals are sent to our muscles and there amplified into gross changes in our limbs and other large physical things. At all stages it is all physical, but inside our heads there are only small physical quanities that are easily altered and diverted as they interact with each other. This is what we mean by information processing. Information is not non-physical. It is a way of thinking about what is happening that is sometime much more revealing and useful than its physical properties.

Or so is one view, the view that takes a material physical reality as primary. The informational view of mind is just as compatible with alternative philosophical orientations. The one I most appreciate is that which takes the individual mind and its exchanging of information with the world as the primary and base activity. This is the so-called "buttons and lights" model, in which the mind is isolated behind an interface of output bits (buttons) and input bits (lights). In this view, the idea of the physical world is created by the mind so as to explain the pattern of input bits and how they respond to the output bits. This is a cartoon view, certainly, but a very clear one. There is no confusion about mind and body, material and ideal. There is just information, distinctions observed and differences made.

Mind is Purposive

Implicit in the idea of choice, particularly as the essense of mindfulness, is some reason or purpose for making the choices. In fact it is difficult even to talk about choice without alluding to some purpose. One could say a rock "chooses" to do nothing, but only by suggesting that its purpose is to sit still. If a device generated decisions at random one would hesitate to say that it was "choosing." No, the whole idea of choice implies purpose, a reason for making the choice.

Purposiveness is at heart of mindfulness, and the heart of purposeness is the varying of means to achieve fixed ends. William James in 1890 identified this as "the mark and criterion of mentality". He discussed an air bubble rising rising in water until trapped in an inverted jar, contrasting it with a frog, which may get trapped temporarily but keeps trying things until it finds a way around the jar. Varying means and fixed ends. In AI we call it generate and test. Or trial and error. Variation and selective survival. There are many names and many variations, but this idea is the essense of purpose, choice, and Mind.

Mind Is About Conditional Predictions

March 21, 2000

Simplifying and generalizing, one thing seems clear to me about mental activity---that the purpose of much of it can be considered to be the making of predictions. By this I mean a fairly general notion of prediction, including conditional predictions and predictions of reward. And I mean this in a sufficiently strong and specific sense to make it non-vacuous.

For concreteness, assume the world is a Markov Decision Process (MDP), that is, that we have discrete time and clear actions, sensations, and reward on each time step. Then, obviously, among the interesting predictions to make are those of immediate rewards and state transitions, as in "If I am in this state and do this action, then what will the next state and reward be?" The notion of value function is also a prediction, as in "If I am in this state and follow this policy, what will my cumulative discounted future reward be?" Of course one could make many value-function predictions, one for each of many different policies.

Note that both kinds of prediction mentioned above are conditional, not just on the state, but on action selections. They are hypothetical predictions. One is hypothetical in that it is dependent on a single action, and the other is hypothetical in that it is dependent on a whole policy, a whole way of behaving. Action conditional predictions are of course useful for actually selecting actions, as in many reinforcement learning methods in which the action with the highest estimated value is preferentially chosen. More generally, it is commonsensical that much of our knowledge is beliefs about what would happen IF we chose to behave in certain ways. The knowledge about how long it takes to drive to work, for example, is knowledge about the world in interaction with a hypothetical purposive way in which we could behave.

Now for the key step, which is simply to generalize the above two clear kinds of conditional predictions to cover much more of what we normally think of as knowledge. For this we need a new idea, a new way of conditioning predictions that I call conditioning on outcomes. Here we wait until one of some clearly designated set of outcomes occurs and ask (or try to predict) something about which one it is. For example, we might try to predict how old we will be when we finish graduate school, or how much we will weigh at the end of the summer, or how long it will take to drive to work, or much you will have learned by the time you reach the end of this article. What will the dice show when they have stopped tumbling? What will the stock price be when I sell it? In all these cases the prediction is about what the state will be when some clearly identified event occurs. It is a little like when you make a bet and establish some clear conditions at which time the bet will be over and it will be clear who has won.

A general conditional prediction, then, is conditional on three things: 1) the state in which it is made, 2) the policy for behaving, and 3) the outcome that triggers the time at which the predicted event is to occur. Of course the policy need only be followed from the time the prediction is made until the outcome triggering event. Actions taken after the trigger are irrelevant. [This notion of conditional prediction has been previously explored as the models of temporally extended actions, also known as "options" (Sutton, Precup, and Singh, 1999; Precup, thesis in preparation).

Let us return now to the claim with which I started, that much if not most mental activity is focused on such conditional predictions, on learning and computing them, on planning and reasoning with them. I would go so far as to propose that much if not most of our knowledge is represented in the form of such predictions, and that they are what philosophers refer to as "concepts". To properly argue these points would of course be a lengthy undertaking. For now let us just cover some high points, starting with some of the obvious advantages of conditional predictions for knowledge representation.

Foremost among these is just that predictions are grounded in the sense of having a clear, mechanically determinable meaning. The accuracy of any prediction can be determined just by running its policy from its state until an outcome occurs, then checking the prediction against the outcome. No human intervention is required to interpret the representation and establish the truth or falsness of any statement. The ability to compare predictions to actual events also make them suitable for beling learned automatically. The semantics of predictions also make it clear how they are to be used in automatic planning methods such as are commonly used with MDPs and SMDPs. In fact, the conditional predictions we have discussed here are of exactly the form needed for use in the Bellman equations at the heart of these methods.

A less obvious but just as important advantage of outcome-conditional predictions is that they can compactly express much that would otherwise be difficult and expensize to represent. This happens very often in commonsense knowledge; here we give a simple example. The knowledge we want to represent is that you can go to the street corner and a bus will come to take you home within an hour. What this means of course is that if it is now 12:00 then the bus might come at 12:10 and it might come at 12:20, etc., but it will definitely come by 1:00. Using outcome conditioning, the idea is easy to express: we either make the outcome reaching 1:00 and predict that the bus will have come by then, or we make the outcome the arrival of the bus and predict that at that time it will be 1:00 or earlier.

A natural but naive alternative way to try to represent this knowledge would be as a probability of the bus arriving in each time slot. Perhaps it has one-sixth chance of arriving in each 10-minute interval. This approach is unsatisfactory not just because it forces us to say more than we may know, but because it does not capture the important fact that the bus will come eventually. Formally, the problem here is that the events of the bus coming at different times are not independent. If may have only a one-sixth chance of coming exactly at 1:00, but if it is already 12:55 then it is in fact certain to come at 1:00. The naive representation does not capture this fact that is actually absolutely important to using this knowledge. A more complicated representation could capture all these dependencies but would be just that -- more complicated. The outcome-conditional form represents the fact simply and represents just what is needed to reason with the knowledge this way. Of course, other circumstances may require the more detailed knowledge, and this is not precluded by the outcome-conditional form. This form just permits greater flexibility, in particular, the ability to omit these details while still being of an appropriate form for planning and learning.

Subjective Knowledge

April 6, 2001

I would like to revive an old idea about the mind. This is the idea that the mind arises from, and is principally about, our sensori-motor interaction with the world. It is the idea that all our sense of the world, of space, objects, and other people, arises from our experience squeezed through the narrow channel of our sensation and action. This is a radical view, but in many ways an appealing one. It is radical because it says that experience is the only thing that we directly know, that all our sense of the material world is constructed to better explain our subjective experience. It is not just that the mental is made primary and held above the physical, but that the subjective is raised over the objective.

Subjectivity is the most distinctive aspect of this view of the mind, and inherent in it. If all of our understanding of the world arises from our experience, then it is inherently personal and specific to us.

As scientists and observers we are accustomed to prasing the objective and denigrating the subjective, so reversing this customary assessment requires some defense.

The approach that I am advocating might be termed the subjective viewpoint. In it, all knowledge and understanding arises out of an individual's experience, and in that sense is inherently in terms that are private, personal, and subjective. An individual might know, for example, that a certain action tends to be followed by a certain sensation, or that one sensation invariably follows another. But these are its sensations and its actions. There is no necessary relationship between them and the sensations and actions of another individual. To hypothesize such a link might be useful, but always secondary to the subjective experience itself.

The subjective view of knowledge and understanding might be constrasted with the objective, realist view. In this view there are such things as matter, physical objects, space and time, other people, etc. Things happen, and causally interact, largely independent of observers. Occasionally we experience something subjectively, but later determine that it did not really, objectively happen. For example, we felt the room get hot, but the thermometer registered no change. In this view there is a reality independent of our experience. This would be easy to deny if there were only one agent in the world. In that case it is clear that that agent is merely inventing things to explain its experience. The objective view gains much of its force because it can be shared by different people. In science, this is almost the definition of the subjective/objective distinction: that which is private to one person is subjective whereas that which can be observed by many, and replicated by others, is objective.

I hasten to say that the subjective view does not deny the existence of the physical world. The conventional physical world is still the best hypothesis for explaining our subjective data. It is just that that world is held as secondary to the data that it is used to explain. And a little more: it is that the physical world hypothesis is just that, a hypothesis, an explanation. There are not two kinds of things, the mental and the physical. There are just mental things: the data of subjective experience and hypotheses constructed to explain it.

The appeal of the subjective view is that it is grounded. Subjective experience can be viewed as data in need of explanation. There is a sense in which only the subjective is clear and unambiguous. "Whatever it means, I definitely felt warm in that room." No one can argue with our subjective experience, only with its explanation and relationship to other experiences that we have or might have. The closer the subjective is inspected, the firmer and less interpreted it appears, the more is becomes like data, whereas the objective often becomes vaguer and more complex. Consider the old saw about the person who saw red whenever everybody else saw green, and vice versa, but didn't realize it because he used the words "red" and "green" the wrong way around as well. This nonsense points out that different people's subjective experiences are not comparable. The experience that I call seeing red and the experience you call seeing red are related only in a very complicated way including, for example, effects of lighting, reflectance, viewpoint, and colored glasses. We have learned to use the same word to capture an important aspect of our separate experience, but ultimately the objective must bow to the subjective.

The appeal of the objective view is that it is common across people. Something is objectively true if it predicts the outcome of experiments that you and I both can do and get the same answer. But how is this sensible? How can we get the same answer when you see with your eyes and I with mine? For that matter, how can we do the "same" experiment? All these are problematic and require extensive theories about what is the same and what is different. In particular, they require calibration of our senses with each other. It is not just a question of us using the same words for the same things -- the red/green example shows the folly of that kind of thinking -- it is that there is no satisfactory notion of same things, across individuals, at the level of experience. Subjective experience as the ultimate data is clear, but not the idea that it can be objectively compared across persons. That idea can be made to work, approximately, but should be seen as following from the primacy of subjective experience.

At this point, you are probably wondering why I am belaboring this philosphical point. The reason is that the issue comes up, again and again, that it is difficult to avoid the pitfalls associated with the objective view without explicitly identifying them. This fate has befallen AI researchers many times in the past. So let us close with as clear a statement as we can of the implications of the subjective view for approaches to AI. What must be avoided, and what sought, in developing a subjective view of knowledge and mind?

All knowledge must be expressed in terms that are ultimately subjective, that are expressed in terms of the data of experience, of sensation and action. Thus we seek ways of clearly expressing all kinds of human knowledge in subjective terms. This is a program usually associated with the term "associationism" and often denigrated. Perhaps it is impossible, but it should be tried, and it is difficult to disprove, like a null hypothesis. In addition to expressing knowledge subjectively, we should also look to ways of learning and working with subjective knowledge. How can we reason with subjective knowledge to obtain more knowledge? How can it be tested, verified, and learned? How can goals be expressed in subjective terms?

Notes:

  • McCarthy quote.
  • Relate to logical positivism.
  • Then Dyna as a simple example, and which highlights what is missing.

Fourteen Declarative Principles of Experience-Oriented Intelligence

  1. all goals and purposes can be well thought of as the maximization of the expected value of the cumulative sum of a single externally received number (reward). “the reward hypothesis” thus life is a sequential decision-making problem, also known as a Markov decision process. “learning is adaptive optimal control”
  2. a major thing that the mind does is learn a state representation and a process for updating it on a moment-by-moment basis. the input to the update process is the current sensation, action, and state (representation). “state is constructed”
  3. all action is taken at the shortest possible time scale, by a reactive, moment-by-moment policy function mapping from state to action. anything higher or at longer time scales is for thinking about action, not for taking it. “all behavior is reactive”
  4. all efficient methods for solving sequential decision-making problems compute, as an intermediate step, an estimate for each state of the long-term cumulative reward that follows that state (a value function). subgoals are high-value states. “values are more important than rewards”
  5. a major thing that the mind does is learn a predictive model of the worldʼs dynamics at multiple time scales. this model is used to anticipate the outcome (consequences) of different ways of behavior, and then learn from them as if they had actually happened (planning).
  6. learning and planning are fundamentally the same process, operating in the one case on real experience, and in the other on simulated experience from a predictive model of the world. “thought is learning from imagined experience”
  7. all world knowledge can be well thought of as predictions of experience. “knowledge is prediction” in particular, all knowledge can be thought of as predictions of the outcomes of temporally extended ways of behaving, that is, policies with termination conditions, also known as “options.” these outcomes can be abstract state representations if those in turn are predictions of experience.
  8. state representations, like all knowledge, should be tied to experience as much as possible. thus, the bayesian and POMDP conceptions of state estimation are mistaken.
  9. temporal-difference learning is not just for rewards, but for learning about everything, for all world knowledge. any moment-by-moment signal (e.g., a sensation or a state variable) can substitute for the reward in a temporal-difference error. “TD learning is not just for rewards”
  10. learning is continual, with the same processes operating at every moment, with only the content changing at different times and different levels of abstraction. “the one learning algorithm”
  11. evidence adds and subtracts to get an overall prediction or action tendency. thus policy and prediction functions can be primarily linear in the state representation, with learning restricted to the linear parameters. this is possible because the state representation contains many state variables other than predictions and that are linearly independent of each other. these include immediate non-linear functions of the other state variables as well as variables with their own dynamics (e.g., to create internal “micro-stimuli”).
  12. a major thing that the mind does is to sculpt and manage its state representation. it discovers a) options and option models that induce useful abstract state variables and predictive world models, and b) useful non-linear, non-predictive state variables. it continually assesses all state variables for utility, relevance, and the extent to which they generalize. researching the process of discovery is difficult outside of the context of a complete agent.
  13. learning itself is intrinsically rewarding. the tradeoff between exploration and exploitation always comes down to “learning feels good.”
  14. options are not data structures, and are not executed. they may exist only as abstractions.

some of these principles are stated in radical, absolutist, and reductionist terms. this is as it should be. in some cases, softer versions of the principles (for example, removing the word “all”) are still interesting. moreover, the words “is” and “are” in the principles are a shorthand and simplification. they should be interpreted in the sense of Marrʼs “levels of explanation of a complex information-processing system.” that is, “is” can be read as “is well thought of as” or “insight can be gained by thinking of it as.”

a complete agent can be obtained from just two processes:

  • a moment-by-moment state-update process, and
  • a moment-by-moment action selection policy.

everything else has an effect only by changing these two. a lot can be done purely by learning processes (operating uniformly as in principle 10), before introducing planning. this can be done in the following stages:

  • (a) a policy and value function can be learned by conventional model-free reinforcement learning using the current state variables
  • (b) state variables with a predictive interpretation can learn to become more accurate predictors
  • (c) discovery processes can operate to find more useful predictive and non-predictive state variables
  • (d) prediction of outcomes, together with fast learning, can produce a simple form of foresight and behavior controlled by anticipated consequences

much of the learning above constitutes learning a predictive world model, but it is not yet planning. planning requires learning from anticipated experience at states other than the current one. the agent must disassociate himself from the current state and imagine absent others.

The Definition of Intelligence

July 9, 2016

John McCarthy long ago gave one of the best definitions: "Intelligence is the computational part of the ability to achieve goals in the world”. That is pretty straightforward and does not require a lot of explanation. It also allows for intelligence to be a matter of degree, and for intelligence to be of several varieties, which is as it should be. Thus a person, a thermostat, a chess-playing program, and a corporation all achieve goals to various degrees and in various senses. For those looking for some ultimate ‘true intelligence’, the lack of an absolute, binary definition is disappointing, but that is also as it should be.

The part that might benefit from explanation is what it means to achieve goals. What does it mean to have a goal? How can I tell if a system really has a goal rather than seems to? These questions seem deep and confusing until you realize that a system having a goal or not, despite the language, is not really a property of the system itself. It is in the relationship between the system and an observer. (In Dennett's words, it is a ‘stance’ that the observer take with respect to the system.)

What is it in the relationship between the system and the observer that makes it a goal-seeking system? It is that the system is most usefully understood (predicted, controlled) in terms of its outcomes rather than its mechanisms. Thus, for a home-owner a thermostat is most usefully understood in terms of its keeping the temperature constant, as achieving that outcome, as having that goal. But if i am an engineer designing a thermostat, or a repairman fixing one, then i need to understand it at a mechanistic level—and thus it does not have a goal. The thermostat does or does not have a goal depending of the observer. Another example is the person playing the chess computer. If I am a naive person, and a weaker player, I can best understand the computer as having the goal of beating me, of checkmating my king. But if I wrote the chess program (and it does not look very deep) I have a mechanistic way of understanding it that may be more useful for predicting and controlling it (and beating it).

Putting these two together, we can define intelligence concisely (though without much hope of being genuinely understood without further explanation):

Intelligence is the computational part of the ability to achieve goals. A goal achieving system is one that is more usefully understood in terms of outcomes than in terms of mechanisms.

The Bitter Lesson

Source March 13, 2019

The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. The ultimate reason for this is Moore's law, or rather its generalization of continued exponentially falling cost per unit of computation. Most AI research has been conducted as if the computation available to the agent were constant (in which case leveraging human knowledge would be one of the only ways to improve performance) but, over a slightly longer time than a typical research project, massively more computation inevitably becomes available. Seeking an improvement that makes a difference in the shorter term, researchers seek to leverage their human knowledge of the domain, but the only thing that matters in the long run is the leveraging of computation. These two need not run counter to each other, but in practice they tend to. Time spent on one is time not spent on the other. There are psychological commitments to investment in one approach or the other. And the human-knowledge approach tends to complicate methods in ways that make them less suited to taking advantage of general methods leveraging computation. There were many examples of AI researchers' belated learning of this bitter lesson, and it is instructive to review some of the most prominent.

In computer chess, the methods that defeated the world champion, Kasparov, in 1997, were based on massive, deep search. At the time, this was looked upon with dismay by the majority of computer-chess researchers who had pursued methods that leveraged human understanding of the special structure of chess. When a simpler, search-based approach with special hardware and software proved vastly more effective, these human-knowledge-based chess researchers were not good losers. They said that "brute force" search may have won this time, but it was not a general strategy, and anyway it was not how people played chess. These researchers wanted methods based on human input to win and were disappointed when they did not.

A similar pattern of research progress was seen in computer Go, only delayed by a further 20 years. Enormous initial efforts went into avoiding search by taking advantage of human knowledge, or of the special features of the game, but all those efforts proved irrelevant, or worse, once search was applied effectively at scale. Also important was the use of learning by self play to learn a value function (as it was in many other games and even in chess, although learning did not play a big role in the 1997 program that first beat a world champion). Learning by self play, and learning in general, is like search in that it enables massive computation to be brought to bear. Search and learning are the two most important classes of techniques for utilizing massive amounts of computation in AI research. In computer Go, as in computer chess, researchers' initial effort was directed towards utilizing human understanding (so that less search was needed) and only much later was much greater success had by embracing search and learning.

In speech recognition, there was an early competition, sponsored by DARPA, in the 1970s. Entrants included a host of special methods that took advantage of human knowledge---knowledge of words, of phonemes, of the human vocal tract, etc. On the other side were newer methods that were more statistical in nature and did much more computation, based on hidden Markov models (HMMs). Again, the statistical methods won out over the human-knowledge-based methods. This led to a major change in all of natural language processing, gradually over decades, where statistics and computation came to dominate the field. The recent rise of deep learning in speech recognition is the most recent step in this consistent direction. Deep learning methods rely even less on human knowledge, and use even more computation, together with learning on huge training sets, to produce dramatically better speech recognition systems. As in the games, researchers always tried to make systems that worked the way the researchers thought their own minds worked---they tried to put that knowledge in their systems---but it proved ultimately counterproductive, and a colossal waste of researcher's time, when, through Moore's law, massive computation became available and a means was found to put it to good use.

In computer vision, there has been a similar pattern. Early methods conceived of vision as searching for edges, or generalized cylinders, or in terms of SIFT features. But today all this is discarded. Modern deep-learning neural networks use only the notions of convolution and certain kinds of invariances, and perform much better.

This is a big lesson. As a field, we still have not thoroughly learned it, as we are continuing to make the same kind of mistakes. To see this, and to effectively resist it, we have to understand the appeal of these mistakes. We have to learn the bitter lesson that building in how we think we think does not work in the long run. The bitter lesson is based on the historical observations that 1) AI researchers have often tried to build knowledge into their agents, 2) this always helps in the short term, and is personally satisfying to the researcher, but 3) in the long run it plateaus and even inhibits further progress, and 4) breakthrough progress eventually arrives by an opposing approach based on scaling computation by search and learning. The eventual success is tinged with bitterness, and often incompletely digested, because it is success over a favored, human-centric approach.

One thing that should be learned from the bitter lesson is the great power of general purpose methods, of methods that continue to scale with increased computation even as the available computation becomes very great. The two methods that seem to scale arbitrarily in this way are search and learning.

The second general point to be learned from the bitter lesson is that the actual contents of minds are tremendously, irredeemably complex; we should stop trying to find simple ways to think about the contents of minds, such as simple ways to think about space, objects, multiple agents, or symmetries. All these are part of the arbitrary, intrinsically-complex, outside world. They are not what should be built in, as their complexity is endless; instead we should build in only the meta-methods that can find and capture this arbitrary complexity. Essential to these methods is that they can find good approximations, but the search for them should be by our methods, not by us. We want AI agents that can discover like we can, not which contain what we have discovered. Building in our discoveries only makes it harder to see how the discovering process can be done.

Machine Learning DevOps


Machine learning models make predictions for new data based on the data they have been trained on. It is essential that the data is clean, correct, and safe to use without any privacy or bias issues. Real-world data can also continuously change, so inputs and predictions have to be monitored for any shifts that may be problematic for the model. These are complex challenges that are distinct from those found in traditional DevOps.

  • Motivation

DevOps practices are centred on the “build and release” process and continuous integration. Traditional development builds are packages of executable artifacts compiled from source code. Non-code supporting data in these builds tends to be limited to relatively small static config files. In essence, traditional DevOps is geared to building programs consisting of sets of explicitly defined rules that give specific outputs in response to specific inputs.

In contrast, machine-learning models make predictions by indirectly capturing patterns from data, not by formulating all the rules. A characteristic machine-learning problem involves making new predictions based on known data. Machine-learning builds run a pipeline that extracts patterns from data and creates a weighted machine-learning model artifact. This makes these builds far more complex and the whole data science workflow more experimental. As a result, a key part of the MLOps challenge is supporting multi-step machine learning model builds that involve large data volumes and varying parameters.

To run projects safely in live environments, we need to be able to monitor for problem situations and see how to fix things when they go wrong. There are pretty standard DevOps practices for how to record code builds in order to go back to old versions. But MLOps does not yet have standardisation on how to record and go back to the data that was used to train a version of a model.

There are also special MLOps challenges to face in the live environment. There are largely agreed DevOps approaches for monitoring for error codes or an increase in latency. But it’s a different challenge to monitor for bad predictions. You may not have any direct way of knowing whether a prediction is good, and may have to instead monitor indirect signals such as customer behaviour. It can also be hard to know in advance how well your training data represents your live data. For example, it might match well at a general level but there could be specific kinds of exceptions. This risk can be mitigated with careful monitoring and cautious management of the rollout of new versions.

  • Tool landscape

The effort involved in solving MLOps challenges can be reduced by leveraging a platform and applying it to the particular case. Many organisations face a choice of whether to use an off-the-shelf machine-learning platform or try to put an in-house platform together themselves by assembling open-source components. Some machine-learning platforms are part of a cloud provider’s offering. This may or may not appeal, depending on the cloud strategy of the organisation. Other platforms are not cloud-specific and instead offer self-install or a custom hosted solution. Instead of choosing a platform, organisations can instead choose to assemble their own. This may be a preferred route when requirements are too niche to fit a current platform, such as needing integrations to other in-house systems or if data has to be stored in a particular location or format. Choosing to assemble an in-house platform requires learning to navigate the ML tool landscape. This landscape is complex with different tools specialising in different niches and in some cases there are competing tools approaching similar problems in different ways.

  • Governance

Challenges around reproducibility and monitoring of machine learning systems are governance problems. For many projects these are not the only challenges as customers might reasonably expect to be able to ask why a prediction concerning them was made. Explainability is a data science problem in itself. Modelling techniques can be divided into “black-box” and “white-box”, depending on whether the method can naturally be inspected to provide insight into the reasons for particular predictions. With black-box models, such as proprietary neural networks, the options for interpreting results are more restricted and more difficult to use than the options for interpreting a white-box linear model. In highly regulated industries, it can be impossible for AI projects to move forward without supporting explainability. For example, medical diagnosis systems may need to be highly interpretable so that they can be investigated when things go wrong or so that the model can aid a human doctor. This can mean that projects are restricted to working with models that admit of acceptable interpretability. Making black-box models more interpretable is a fast-growth area, with new techniques rapidly becoming available.


  • Product teams, CI/CD, automated testing and IT are working closely with the business. However, where are your data scientists and ML engineers? Bring them closer as well - but there is no need to call it DevMLOps, ok?

  • Data scientists usually come from an academic background and are afraid of sharing models that they do not consider good enough - create a safe environment for them to fail!

  • Continuous integration and continuous deployment (CI/CD) are amazing best practices that can also be applied to machine learning components.

  • More than CI/CD, we should do continuous evaluation of the models - version algorithms, parameters, data and its results.

  • Machine learning bugs are not just functions returning wrong values, they can cause bias, accuracy drift, and model fragility.

  • The fact that machine learning development focuses on hyperparameter tuning and data pipelines does not mean that we need to reinvent the wheel or look for a completely new way. DevOps lays a strong foundation which Data science practitioners must also absorb a lot of the industry gains from the last year, a direct result of the DevOps culture:

    • culture change to support experimentation, experimentation/failure in its core,
    • continuous evaluation,
    • deployable artifacts,
    • a sharing culture,
    • abstraction layers,
    • observability, and
    • working in products and services.
  • What are the challenges that come with artificial intelligence and machine learning regarding integrating with development and deployment?

They are the same problems that we solved for traditional development but with a different perspective now: version control, packaging, deployment, collaboration and serving. The main issue is that we are trying to force the solutions we used before in software development, into this ecosystem. In the last year, we saw a significant increase in the number of products (especially Open Source) trying to solve ML's development lifecycle - Spark runs on top of Kubernetes, tensorflow, kubeflow, MLflow, Uber's Michelangelo, and cloud providers giving tools that allow the training and serving of models. We are witnessing the maturation of this ecosystem, and it's a growing environment.

  • What about bugs and testing... how does that work with ML components?

Concerning the bugs it is important to keep notice of machine learning bugs: Bias, Drift and Fragility.

Bias comes from the bias that exists on the datasets used to build the feature and can have catastrophic results, especially when used on blackbox-like models. Cathy O'Neil's Weapons of Math Destruction is a book from 2016 that raised a lot of these problems in algorithms making important decisions concerning hiring, classifying people and others.

Drift occurs when models are built, working well and deployed. You may consider the job over and nothing else is needed, right? Unfortunately not. The model must be recalibrated and resynced according to the usage and data to keep the accuracy. Otherwise, it will drift and become worse with time.

Fragility is related to bias, but more related to changes outside of the team's reach. A change in definition, data that becomes unavailable, a null value that should not be there… how can your model cope with these issues, how fragile is it?

The worst part is, the majority of these bugs in ML cannot be identified before production. That is why monitoring and observability, others pillars from DevOps, play a gigantic role in machine learning components. You must measure proxies that identify the business value that your ML components should impact. For example, have you created a recommendation engine, and are you applying an AB test strategy to roll-out? You cannot directly track ML components, but you may be able to analyze proxy measures on it. These types of metrics and focusing on measuring can help you to detect and approach the ML bugs early on: bias, drift, and fragility.

  • Distance between data science and operations. What is causing this distance?

The same problem that affected (and still does) the business world and "gave birth" to the DevOps movement - a distance between the business and the actual industrialization/operationalization of what is built.

This gap is a result of three things:

  • slowness (things flowing from idea to production taking a gigantic time),

  • lots of handovers (X talks to client, A writes the user story, B builds, C validates, D approves, E deploys, F operates, G fixes bugs, H rebuilds,...),

  • and clustered teams working on projects, not products.

  • What can we do to decrease distances and improve collaboration?

The hardest thing that any organization can do: change the culture.

In the case of ML engineers and data scientists, some cultural aspects can impact a lot, but the most compelling one I have seen is related to the background of the professionals. The majority of them have a very academic background, meaning that they are used to spending long periods working on one problem until it is good enough to be accepted in a publication. The bar there, to be good enough, is extremely high, not just on some metrics but also on the design of the experiments, mathematical rigor, and so on. In a business context this is important, but less so... That means that it is OK to publish a model with 60% accuracy and have it on a deployable state. It is better to have that ready and consider putting it in production today, than waiting months to have something "good enough". Maybe in three months that will not be a problem worth solving anymore. Moving fast with flexible possibilities is the best way to go.

  • What’s your advice for companies who want to reap the benefits from applying artificial intelligence and machine learning? What should they do or not do?

Some cultural characteristics I have seen that support a short time-to-market and where a lot of value is generated from data science include:

  • Data science: the "science" part indicates experimentation and failed tryouts. Not all experiments succeed, so data science will not produce mind-blowing solutions at all times. Sometimes you can go into a rabbit hole. Alternatively, the business may change. If you are a data scientist working on a project for a few days and you see no future in it, do you have the courage and autonomy to tell that to your boss/stakeholders? Likewise, the other way around... can they come to you at any time and say that the business changed and we must pivot?

  • More than CI/CD, we need to talk about CE - continuous evaluation. Every time a new model is tested - it can be new hyperparameters in the same algorithm or a completely new algorithm - we must be able to compare it with previous runs. How accurate was it? Why the result different? Are we using the same dataset?

  • Share not only your good models, but also the ones that are a total flunk! Version control your code and your models, at all times! Learn to use git at every moment! Why? Because when someone else sees that, they will not try it again with the same datasets and parameters... stop the waste!

  • Provide platforms and tools for the data science to abstract the things they do not know (and they do not need to know). A data scientist may not know if they want to serve their models in REST or gRPC, how to package the model, if it should be deployed on the Kubernetes cluster or how many requests per second it should withstand - this is not their expertise. A team must provide a platform and a have a pipeline to do that and let the decisions be taken, experimented with and changed. Every company has its flow, ways of working and ideas... do not bend the culture to the tool.

  • Work on products and services, not projects. Developers, security specialists, SRE's... everyone should be involved and help. By doing this, you can make sure that you have deployable artifacts from day one! After it is deployed, the job is not over... You have to operate, monitor, refactor, calibrate and do several things with ML models that are running on production.

Programming Language Theory and Practice


Lambda Calculus

Category Theory

Type Systems

Dependent Types

Homoiconicity

Functional Programming

Object Oriented Programming

Domain Specific Languages

Implementation

Virtual Machines

LLVM

JIT

Garbage Collection

Parsing

Language Server Protocol

Incremental Compilation

Books

Programming Language Theory and Design

Practical Foundations for Programming Languages (2016, Robert Harper) Essentials of Programming Languages (2012, Friedman) Design Concepts in Programming Languages (2008, Turbak) Concepts, Techniques and Models of Computer Programming (2004, Van Roy) Concepts of Programming Languages (2016, Sebesta) Concepts in Programming Languages (2010, Mitchell) Programming Language Concepts (1997, Ghezzi) Programming Language Pragmatics (2015, Scott) Programming Languages and Operational Semantics: An Introduction (2004, Fernandez) The Formal Semantics of Programming Languages: An Introduction (1993, Winskel) Types and Programming Languages (2020, Benjamin Pierce) Advanced Topics in Types and Programming Languages (2004, Benjamin Pierce) An Introduction to Functional Programming Through Lambda Calculus (2011, Greg Michaelson) Lambda Calculus with Types (2014, Henk Barendregt) Lambda-calculus, Combinators and Functional Programming (2009, G. E. Revesz) Type Theory and Formal Proof: An Introduction (2016, Rob Nederpelt)

Compilers

Engineering A Compiler (2021, Cooper, Torczon) Crafting Interpreters (2020, Nystrom) Introduction to Compilers and Language Design (2020, Douglas Thain) Compiling to Assembly from Scratch (2020, Vladimir Keleshev) Writing an Interpreter in Go (2017, Thorsten Ball) Writing a Compiler in Go (2018, Thorsten Ball) Modern Compiler Design (2012, Grune) Implementing Programming Languages. An Introduction to Compilers and Interpreters (2012, Ranta) Language Implementation Patterns (2010, Parr) Writing Compilers and Interpreters: A Software Engineering Approach (2009, Mak) Compiler Design. Theory, Tools, Examples (2010, Bergmann) Basics of Compiler Design (2010, Torben Mogensen) Compilers. Principles, Techniques and Tools (2006, 2nd Ed, Aho, Lam, Sethi, Ullman) Optimizing Compilers for Modern Architectures (2005, Allen, Kennedy) Compiler Design Handbook. Optimizations and Machine Code Generation (2003, Srikant, Shankar) The Optimal Implementation of Functional Programming Languages (1999, Asperti, Guerrini) Modern Compiler Implementation in C (1998, Appel) Modern Compiler Implementation in ML (1998, Appel) Modern Compiler Implementation in Java (1998, Appel) Building an Optimizing Compiler (1997, Morgan) Compiler Construction (2005, Wirth) Compiler Construction (1995, Waite, Goos) The Functional Treatment of Parsing (1993, Leermakers) Parsing Techniques. A Practical Guide (1990, Grune, Jacobs) Compiler Design in C (1990, Holub) The Implementation of Functional Programming Languages (1987, Peyton Jones) The Design and Construction of Compilers (1982, Hunter) Writing Interactive Compilers and Interpreters (1979, Brown) Assemblers, Compilers, and Program Translation (1979, Calingaert) Compiler Construction: An Advanced Course (1974, Bauer, Eickel) The Theory of Parsing, Translation, and Compiling Volume 1 Parsing (1972, Aho, Ullman) The Theory of Parsing, Translation, and Compiling Volume 2 Compiling (1972, Aho, Ullman)


Practical Foundations for Programming Languages

2nd Ed, 2016, Robert Harper

Types are the central organizing principle of the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the fundamentals of these languages through the use of type theory. Whereas most textbooks on the subject emphasize taxonomy, Harper instead emphasizes genetics, examining the building blocks from which all programming languages are constructed. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design – the absence of ill-defined programs – follows naturally. Professor Harper's presentation is simultaneously rigorous and intuitive, relying on only elementary mathematics. The framework he outlines scales easily to a rich variety of language concepts and is directly applicable to their implementation. The result is a lucid introduction to programming theory that is both accessible and practical.


Essentials of Programming Languages

2012, Friedman

A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, with significant new material. This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.


Design Concepts in Programming Languages

2008, Turbak

Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers.

Hundreds of programming languages are in use today--scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation.

The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection).

The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.


Concepts, Techniques and Models of Computer Programming

2004, Van Roy

  • Table of Contents
    • 1 Introduction to Programming Concepts
    • Part I General Computation Models
      • 2 Declarative Computation Model
      • 3 Declarative Programming Techniques
      • 4 Declarative Concurrency
      • 5 Message-Passing Concurrency
      • 6 Explicit State
      • 7 Object-Oriented Programming
      • 8 Shared-State Concurrency
      • 9 Relational Programming
    • Part II Specialized Computation Models
      • 10 Graphical User Interface Programming
      • 11 Distributed Programming
      • 12 Constraint Programming
    • Part III Semantics
      • 13 Language Semantics
    • Part IV Appendixes
      • A Mozart System Development Environment
      • B Basic Data Types
      • C Language Syntax
      • D General Computation Model

Teaching the science and the technology of programming as a unified discipline that shows the deep relationships between programming paradigms.

This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models (programming paradigms). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language--a simple core language that consists of a small number of programmer-significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.


Concepts of Programming Languages

2016, Sebesta

Concepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares readers to study compiler design. The Eleventh Edition maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, Concepts of Computer Programming Languages teaches programmers the essential differences between computing with specific languages.


Concepts in Programming Languages

2010, Mitchell

For undergraduate and beginning graduate students, this textbook explains and examines the central concepts used in modern programming languages, such as functions, types, memory management, and control. The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages. Separate chapters examine the history of objects, Simula and Smalltalk, and the prominent languages C++ and Java. The author presents foundational topics, such as lambda calculus and denotational semantics, in an easy-to-read, informal style, focusing on the main insights provided by these theories. Advanced topics include concurrency, concurrent object-oriented programming, program components, and inter-language interoperability. A chapter on logic programming illustrates the importance of specialized programming methods for certain kinds of problems. This book will give the reader a better understanding of the issues and tradeoffs that arise in programming language design, and a better appreciation of the advantages and pitfalls of the programming languages they use.


Programming Language Concepts

1997, Ghezzi


Programming Language Pragmatics

2015, Scott

Programming Language Pragmatics, Fourth Edition, is the most comprehensive programming language textbook available today. It is distinguished and acclaimed for its integrated treatment of language design and implementation, with an emphasis on the fundamental tradeoffs that continue to drive software development.

The book provides readers with a solid foundation in the syntax, semantics, and pragmatics of the full range of programming languages, from traditional languages like C to the latest in functional, scripting, and object-oriented programming. This fourth edition has been heavily revised throughout, with expanded coverage of type systems and functional programming, a unified treatment of polymorphism, highlights of the newest language standards, and examples featuring the ARM and x86 64-bit architectures.

--

Programming Languages and Operational Semantics: An Introduction

2004, Fernandez

This book provides a concise introduction to the essential concepts in programming languages, using techniques from operational semantics. It is addressed to undergraduate students, as a complement to programming languages or operational semantics courses. There are three parts in the book, highlighting three major programming paradigms: - imperative languages: the main features of these languages are illustrated using Java, C, Pascal - functional languages: modern languages such as ML and Haskell are used to describe the functional style of programming - logic languages: the last part of the book gives an overview of logic programming using Prolog. After a general description of each family of languages, their semantics are studied using abstract machines and structural operational semantics. The book gives an in-depth analysis of the basic concepts in programming languages instead of a mere survey of languages, privileging the understanding of the basic techniques underlying the semantics of languages over simply describing their properties.


The Formal Semantics of Programming Languages: An Introduction

1993, Winskel

The Formal Semantics of Programming Languages provides the basic mathematical techniques necessary for those who are beginning a study of the semantics and logics of programming languages. These techniques will allow students to invent, formalize, and justify rules with which to reason about a variety of programming languages. Although the treatment is elementary, several of the topics covered are drawn from recent research, including the vital area of concurency. The book contains many exercises ranging from simple to miniprojects.Starting with basic set theory, structural operational semantics is introduced as a way to define the meaning of programming languages along with associated proof techniques. Denotational and axiomatic semantics are illustrated on a simple language of while-programs, and fall proofs are given of the equivalence of the operational and denotational semantics and soundness and relative completeness of the axiomatic semantics. A proof of Godel's incompleteness theorem, which emphasizes the impossibility of achieving a fully complete axiomatic semantics, is included. It is supported by an appendix providing an introduction to the theory of computability based on while-programs. Following a presentation of domain theory, the semantics and methods of proof for several functional languages are treated. The simplest language is that of recursion equations with both call-by-value and call-by-name evaluation. This work is extended to lan guages with higher and recursive types, including a treatment of the eager and lazy lambda-calculi. Throughout, the relationship between denotational and operational semantics is stressed, and the proofs of the correspondence between the operation and denotational semantics are provided. The treatment of recursive types - one of the more advanced parts of the book - relies on the use of information systems to represent domains. The book concludes with a chapter on parallel programming languages, accompanied by a discussion of methods for specifying and verifying nondeterministic and parallel programs.


Types and Programming Languages

2020, Benjamin Pierce

A comprehensive introduction to type systems and programming languages. A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems--and of programming languages from a type-theoretic perspective--has important applications in software engineering, language design, high-performance compilers, and security.

This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material.

The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.


Advanced Topics in Types and Programming Languages

2004, Benjamin Pierce

A thorough and accessible introduction to a range of key ideas in type systems for programming language.

The study of type systems for programming languages now touches many areas of computer science, from language design and implementation to software engineering, network security, databases, and analysis of concurrent and distributed systems. This book offers accessible introductions to key ideas in the field, with contributions by experts on each topic.

The topics covered include precise type analyses, which extend simple type systems to give them a better grip on the run time behavior of systems; type systems for low-level languages; applications of types to reasoning about computer programs; type theory as a framework for the design of sophisticated module systems; and advanced techniques in ML-style type inference.

Advanced Topics in Types and Programming Languages builds on Benjamin Pierce's Types and Programming Languages (MIT Press, 2002); most of the chapters should be accessible to readers familiar with basic notations and techniques of operational semantics and type systems--the material covered in the first half of the earlier book.

Advanced Topics in Types and Programming Languages can be used in the classroom and as a resource for professionals. Most chapters include exercises, ranging in difficulty from quick comprehension checks to challenging extensions, many with solutions.


An Introduction to Functional Programming Through Lambda Calculus

2011, Greg Michaelson

  • Table of Contents
    • Preface
      1. Introduction
      1. Lambda Calculus
      1. Conditions, booleans, and numbers
      1. Recursion and arithmetic
      1. Types
      1. Lists and Strings
      1. Composite values and trees
      1. Evaluation
      1. Functional programming in Standard ML
      1. Functional programming and LISP

Functional programming is rooted in lambda calculus, which constitutes the world's smallest programming language. This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions.


Lambda Calculus with Types

2014, Henk Barendregt

This handbook with exercises reveals in formalisms, hitherto mainly used for hardware and software design and verification, unexpected mathematical beauty. The lambda calculus forms a prototype universal programming language, which in its untyped version is related to Lisp, and was treated in the first author's classic The Lambda Calculus (1984). The formalism has since been extended with types and used in functional programming (Haskell, Clean) and proof assistants (Coq, Isabelle, HOL), used in designing and verifying IT products and mathematical proofs. In this book, the authors focus on three classes of typing for lambda terms: simple types, recursive types and intersection types. It is in these three formalisms of terms and types that the unexpected mathematical beauty is revealed. The treatment is authoritative and comprehensive, complemented by an exhaustive bibliography, and numerous exercises are provided to deepen the readers' understanding and increase their confidence using types.


Lambda-calculus, Combinators and Functional Programming

2009, G. E. Revesz

Originally published in 1988, this book presents an introduction to lambda-calculus and combinators without getting lost in the details of mathematical aspects of their theory. Lambda-calculus is treated here as a functional language and its relevance to computer science is clearly demonstrated. The main purpose of the book is to provide computer science students and researchers with a firm background in lambda-calculus and combinators and show the applicabillity of these theories to functional programming. The presentation of the material is self-contained. It can be used as a primary text for a course on functional programming. It can also be used as a supplementary text for courses on the structure and implementation of programming languages, theory of computing, or semantics of programming languages.


Type Theory and Formal Proof: An Introduction

2016, Rob Nederpelt

Type theory is a fast-evolving field at the crossroads of logic, computer science and mathematics. This gentle step-by-step introduction is ideal for graduate students and researchers who need to understand the ins and outs of the mathematical machinery, the role of logical rules therein, the essential contribution of definitions and the decisive nature of well-structured proofs. The authors begin with untyped lambda calculus and proceed to several fundamental type systems, including the well-known and powerful Calculus of Constructions. The book also covers the essence of proof checking and proof development, and the use of dependent type theory to formalise mathematics. The only prerequisite is a basic knowledge of undergraduate mathematics. Carefully chosen examples illustrate the theory throughout. Each chapter ends with a summary of the content, some historical context, suggestions for further reading and a selection of exercises to help readers familiarise themselves with the material.


Engineering A Compiler

Cooper, Torczon

3rd Ed, 2022

Engineering a Compiler, Third Edition covers the latest developments in compiler technology, with new chapters focusing on semantic elaboration (the problems that arise in generating code from the ad-hoc syntax-directed translation schemes in a generated parser), on runtime support for naming and addressability, and on code shape for expressions, assignments and control-structures. Leading educators and researchers, Keith Cooper and Linda Torczon, have revised this popular text with a fresh approach to learning important techniques for constructing a modern compiler, combining basic principles with pragmatic insights from their own experience building state-of-the-art compilers.

2nd Ed, 2011

  • Table of Contents
  • 1 Overview of Compilation
    • 1.1 Introduction
    • 1.2 Compiler Structure
    • 1.3 Overview of Translation
  • 2 Scanners
    • 2.1 Introduction
    • 2.2 Recognizing words
    • 2.3 Regular Expressions
    • 2.4 From Regular Expression to Scanner
    • 2.5 Implementing Scanners
    • 2.6 Advanced Topics
  • 3 Parsers
    • 3.1 Introduction
    • 3.2 Expressing Syntax
    • 3.3 Top-Down Parsing
    • 3.4 Bottom-Up Parsing
    • 3.5 Practical Issues
    • 3.6 Advanced Topics
  • 4 Context-sensitive Analysis
    • 4.1 Introduction
    • 4.2 An Introduction to Type Systems
    • 4.3 An Attribute-Grammar Framework
    • 4.4 Ad Hoc Syntax-Directed Translation
    • 4.5 Advanced Topics
  • 5 Intermediate Representations
    • 5.1 Introduction
    • 5.2 Graphical IRs
    • 5.3 Linear IRs
    • 5.4 Mapping Values to Names
    • 5.5 Symbol Tables
  • 6 Procedure Abstraction
    • 6.1 Introduction
    • 6.2 Procedure Calls
    • 6.3 Name Spaces
    • 6.4 Communicating Values Between Procedures
    • 6.5 Advanced Topics
  • 7 Code Shape
    • 7.1 Introduction
    • 7.2 Assigning Storage Locations
    • 7.3 Arithmetic Operators
    • 7.4 Boolean and Relational Operators
    • 7.5 Storing and Accessing Arrays
    • 7.6 Character Strings
    • 7.7 Structure References
    • 7.8 Control Flow Constructs
    • 7.9 Procedure Calls
  • 8 Introduction to Optimization
    • 8.1 Introduction
    • 8.2 Background
    • 8.3 Scope of Optimizations
    • 8.4 Local Optimization
    • 8.5 Regional Optimization
    • 8.6 Global Optimization
    • 8.7 Interprocedural Optimization
  • 9 Data-Flow Analysis
    • 9.1 Introduction
    • 9.2 Iterative Data-Flow Analysis
    • 9.3 Static Single-Assigment Form
    • 9.4 Interprocedural Analysis
    • 9.5 Advanced Topics
  • 10 Scalar Optimization
    • 10.1 Introduction
    • 10.2 Eliminating Useless and Unreachable Code
    • 10.3 Code Motion
    • 10.4 Specialization
    • 10.5 Redundancy Elimination
    • 10.6 Finishing Other Transformations
    • 10.7 Advanced Topics
  • 11 Instruction Selection
    • 11.1 Introduction
    • 11.2 Code Generation
    • 11.3 Extending the Simple Treewalk Scheme
    • 11.4 Instruction Selection via Tree Pattern Matching
    • 11.5 Instruction Selection via Peephole Optimization
    • 11.6 Advanced Topics
  • 12 Instruction Scheduling
    • 12.1 Introduction
    • 12.2 The Instruction-Scheduling Problem
    • 12.3 Local List Scheduling
    • 12.4 Regional Scheduling
    • 12.5 Advanced Topics
  • 13 Register Allocation
    • 13.1 Introduction
    • 13.2 Background Issues
    • 13.3 Local Register Allocation and Assignment
    • 13.4 Global Register Allocation and Assignment
    • 13.5 Advanced Topics

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation


Crafting Interpreters

2020, Bob Nystrom


Introduction to Compilers and Language Design

2020, Douglas Thain


Compiling to Assembly from Scratch

2020, Vladimir Keleshev


Writing {An Interpreter, A Compiler} In Go

2018, Thorsten Ball


Modern Compiler Design

2012, 2nd Ed, Grune

  • Table of Contents
    • 1 Introduction
    • Part I
      • 2 Program Text to Tokens - Lexical Analysis
      • 3 Tokens to Syntax Tree - Syntax Analysis
    • Part II
      • 4 Annotating the Abstract Syntax Tree
      • 5 Manual Context Handling
    • Part III
      • 6 Interpretation
      • 7 Code Generation
      • 8 Assemblers, Disassemblers, Linkers and Loaders
      • 9 Optimization Techniques
    • Part IV Memory Management
      • 10 Explicit and Implicit Memory Management
    • Part V From Abstract Syntax Tree to Intermediate Code
      • 11 Imperative and Object-Oriented Programs
      • 12 Functional Programs
      • 13 Logic Programs
      • 14 Parallel and Distributed Programs

"Modern Compiler Design" makes the topic of compiler design more accessible by focusing on principles and techniques of wide application. By carefully distinguishing between the essential (material that has a high chance of being useful) and the incidental (material that will be of benefit only in exceptional cases) much useful information was packed in this comprehensive volume. The student who has finished this book can expect to understand the workings of and add to a language processor for each of the modern paradigms, and be able to read the literature on how to proceed. The first provides a firm basis, the second potential for growth.


Implementing Programming Languages. An Introduction to Compilers and Interpreters

2012, Ranta

  • Table of Contents
    • 1 Compilation Phases
    • 2 Grammars
    • 3 Lexing and Parsing
    • 4 Type Checking
    • 5 Interpreters
    • 6 Code Generation
    • 7 Functional Programming Languages
    • 8 The Language Design Space
    • A BNFC Quick Reference
    • B Some JVM instructions
    • C Summary of the Assignments
    • D Further Reading

Implementing a programming language means bridging the gap from the programmer's high-level thinking to the machine's zeros and ones. If this is done in an efficient and reliable way, programmers can concentrate on the actual problems they have to solve, rather than on the details of machines. But understanding the whole chain from languages to machines is still an essential part of the training of any serious programmer. It will result in a more competent programmer, who will moreover be able to develop new languages. A new language is often the best way to solve a problem, and less difficult than it may sound. This book follows a theory-based practical approach, where theoretical models serve as blueprint for actual coding. The reader is guided to build compilers and interpreters in a well-understood and scalable way. The solutions are moreover portable to different implementation languages. Much of the actual code is automatically generated from a grammar of the language, by using the BNF Converter tool. The rest can be written in Haskell or Java, for which the book gives detailed guidance, but with some adaptation also in C, C++, C#, or OCaml, which are supported by the BNF Converter. The main focus of the book is on standard imperative and functional languages: a subset of C++ and a subset of Haskell are the source languages, and Java Virtual Machine is the main target. Simple Intel x86 native code compilation is shown to complete the chain from language to machine. The last chapter leaves the standard paths and explores the space of language design ranging from minimal Turing-complete languages to human-computer interaction in natural language.


Language Implementation Patterns

2010, Parr

  • Table of Contents
    • Part I Getting Started with Parsing
      • 1 Language Applications Cracked Open
      • 2 Basic Parsing Patterns
      • 3 Enhanced Parsing Patterns
    • Part II Analyzing Languages
      • 4 Building Intermetiad Form Trees
      • 5 Walking and Rewriting Trees
      • 6 Tracking and Identifying Program Symbols
      • 7 Managing Symbol Tables for Data Aggregates
      • 8 Enforcing Static Typing Rules
    • Part III Building Interpreters
      • 9 Building high-Level Interpreters
      • 10 Building Bytecode Interpreters
    • Part IV Translating and Generating Languages
      • 11 Translating Computer Languages
      • 12 Generating DSLs with Templates
      • 13 Putting It All Together

Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain. The key is understanding the common patterns found across language implementations. "Language Design Patterns" identifies and condenses the most common design patterns, providing sample implementations of each. The pattern implementations use Java, but the patterns themselves are completely general. Some of the implementations use the well-known ANTLR parser generator, so readers will find this book an excellent source of ANTLR examples as well. But this book will benefit anyone interested in implementing languages, regardless of their tool of choice. Other language implementation books focus on compilers, which you rarely need in your daily life. Instead, "Language Design Patterns" shows you patterns you can use for all kinds of language applications. You'll learn to create configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. Each chapter groups related design patterns and, in each pattern, you'll get hands-on experience by building a complete sample implementation. By the time you finish the book, you'll know how to solve most common language implementation problems.


Writing Compilers and Interpreters: A Software Engineering Approach

2009, Mak, 3rd Ed

  • Github
  • Table of Contents
    • Chapter 1: Introduction
    • Chapter 2: Framework I: Compiler and Interpreter
    • Chapter 3: Scanning
    • Chapter 4: The Symbol Table
    • Chapter 5: Parsing Expressions and Assignment Statements
    • Chapter 6: Interpreting Expressions and Assignment Statements
    • Chapter 7: Parsing Control Statements
    • Chapter 8: Interpreting Control Statements
    • Chapter 9: Parsing Declarations
    • Chapter 10: Type Checking
    • Chapter 11: Parsing Programs, Procedures, and Functions
    • Chapter 12: Interpreting Pascal Programs
    • Chapter 13: An Interactive Source-Level Debugger
    • Chapter 14: Framework II: An Integrated Development Environment (IDE)
    • Chapter 15: Jasmin Assembly Language and Code Generation for the Java Virtual Machine
    • Chapter 16: Compiling Programs, Assignment Statements, and Expressions
    • Chapter 17: Compiling Procedure and Function Calls and String Operations
    • Chapter 18: Compiling Control Statements, Arrays, and Records
    • Chapter 19: Additional Topics

Long-awaited revision to a unique guide that covers both compilers and interpreters Revised, updated, and now focusing on Java instead of C++, this long-awaited, latest edition of this popular book teaches programmers and software engineering students how to write compilers and interpreters using Java. You?ll write compilers and interpreters as case studies, generating general assembly code for a Java Virtual Machine that takes advantage of the Java Collections Framework to shorten and simplify the code. In addition, coverage includes Java Collections Framework, UML modeling, object-oriented programming with design patterns, working with XML intermediate code, and more. From the Back Cover Master the skills you need to build your own compilers and interpreters Compilers and interpreters are very difficult programs to write, but modern software engineering tackles the complexity. Design patterns and other object-oriented programming techniques guide you to develop well-structured code in incremental, understandable steps. Apply what you learn in this book to succeed with any complex software project. You'll learn to:

  • Use Java to develop scanners and parsers for programming languages
  • Employ UML to model software components
  • Manage symbol tables with the Java Collections Framework
  • Use XML to represent the generated intermediate code
  • Develop an interpreter to execute programs, including a powerful interactive source-level debugger
  • Implement an integrated development environment (IDE) that animates the execution of programs
  • Use the IDE's graphical user interface to set breakpoints and single-step programs statement by statement with mouse clicks
  • Develop a code generator that emits object code for the Java Virtual Machine (JVM), and run the compiled code on multiple platforms

Compiler Design. Theory, Tools, Examples

2010, Bergmann Homepage

  • Table of Contents
    • 1 Introduction
    • 2 Lexical Analysis
    • 3 Syntax Analysis
    • 4 Top-Down Parsing
    • 5 Bottom-Up Parsing
    • 6 Code Generation
    • 7 Optimization

Basics of Compiler Design

2010, Torben Mogensen Homepage

  • Table of Contents
    • 1 Introduction
    • 2 Lexical Analysis
    • 3 Syntax Analysis
    • 4 Scopes and Symbol Tables
    • 5 Interpretation
    • 6 Type Checking
    • 7 Intermediate-Code Generation
    • 8 Machine Code Generation
    • 9 Register Allocation
    • 10 Function Calls
    • 11 Analysis and Optimization
    • 12 Memory Management
    • 13 Bootstrapping a Compiler

Compilers. Principles, Techniques and Tools

2006, 2nd Ed, Aho, Lam, Sethi, Ullman

  • Table of Contents
    • 1 Introduction
      • 1.1 Language Processors
      • 1.2 The structure of a compiler
        • 1.2.1 Lexical analysis
        • 1.2.2 Syntax analysis
        • 1.2.3 Semantic analysis
        • 1.2.4 Intermediate code generation
        • 1.2.4 Code optimization
        • 1.2.6 Code generation
        • 1.2.7 Symbol-table management
        • 1.2.8 The grouping of phases into passes
        • 1.2.9 Compiler-construction tools
      • 1.3 The evolution of programming languages
    • 2 A simple syntax-directed translator
    • 3 Lexical analysis
    • 4 Syntax analysis
    • 5 Syntax-directed translation
    • 6 Intermediate code generation
    • 7 Run-time environments
      • Storage organization
        • Static versus dynamic storage allocation
      • Stack allocation of space
        • Activation trees
        • Activation records
        • Calling sequences
        • Variable-length data on the stack
      • Access to nonlocal data on the stack
        • Data access without nested procedures
        • Issues with nested procedures
        • A language with nested procedure declarations
        • Nesting depth
        • Access links
        • Manipulating access links
        • Displays
      • Heap management
        • The memory manager
        • The memory hierarchy of a computer
        • Locality in programs
          • Optimization using the memory hierarchy
        • Reducing fragmentation
          • Best-fit and next-fit object placement
          • Managing and coalescing free space
        • Manual deallocation requests
          • Problems with manual deallocation
          • Programming conventions and tools
      • Introduction to garbage collection
        • Design goals for garbage collection
          • Basic requirement: type safety
          • Performance metrics
        • Reachability
        • Reference counting garbage collection
      • Introduction to trace-based collection
        • A basic mark-and-sweep collector
        • Basic abstraction
        • Optimizing mark-and-sweep
        • Mark-and-compact garbage collection
        • Copying collectors
        • Comparing costs
      • Short-pause garbage collection
        • Incremental garbage collection
          • Precision of incremental collection
        • Incremental reachability analysis
          • Implementing write barriers
          • Combining incremental and copying techniques
        • Partial-collection basics
        • Generational garbage collection
        • The train algorithm
          • Remembered sets
          • Managing trains
          • Garbage collecting a car
          • Panic mode
      • Advance topics in garbage collection
        • Parallel and concurrent garbage collection
        • Partial object relocation
        • Conservative collection for unsafe languages
        • Weak references
      • Summary
    • 8 Code generation
      • Issues in the design of a code generator
        • Input to the code generator
        • The target program
        • Instruction selection
        • Register allocation
      • The target language
        • A simple target machine model
        • Program and instruction costs
      • Addresses in the target code
        • Static allocation
        • Stack allocation
        • Run-time addresses for names
      • Basic blocks and flow graphs
        • Basic blocks
        • Next-use information
        • Flow graphs
        • Representation of flow graphs
        • Loops
      • Optimization of basic blocks
        • The DAG representation of basic blocks
        • Finding local common subexpressions
        • Dead code elimination
        • The use of algebraic identities
        • Representation of array references
        • Pointer assignments and procedure calls
        • Reassembling basic blocks from DAGs
      • A simple code generator
        • Register and address descriptors
        • The code-generation algorithm
          • Machine instructions for copy statements
          • Ending the basic block
          • Managing register and address descriptors Design of the function getReg
      • Peephole optimization
        • Eliminating redundant loads and stores
        • Eliminating unreachable code
        • Flow-of-control optimizations
        • Algebraic simplification and reduction in strength
        • Use of machine idioms
      • Register allocation and assignment
        • Global register allocation
        • Usage counts
        • Register assignment for outer loops
        • Register allocation by graph coloring
      • Instruction selection by tree-rewriting
        • Tree-translation scheme
        • Code generation by tiling an input tree
        • Pattern matching by parsing
        • Routines for semantic checking
        • General tree matching
      • Code generation for expressions
        • Ershov numbers
        • Generating code from labeled expression trees
        • Evaluating expression with an insufficient supply of registers
      • Dynamic programming code-generation
        • Contiguous evaluation
        • The dynamic programming algorithm
      • Summary
    • 9 Machine-independent optimizations
    • 10 Instruction-level parallelism
    • 11 Optimizing for parallelism and locality
    • Appendix A A Complete front end
    • Appendix B Finding linearly independent solutions

Optimizing Compilers for Modern Architectures

2005, Allen, Kennedy

  • Table of Contents
    • 1 Compiler Challenges for High-Performance Architectures
    • 2 Dependence: Theory and Practice
    • 3 Dependence Testing
    • 4 Preliminary Transformations
    • 5 Enhancing Fine-Grained Parallelism
    • 6 Creating Coarse-Graned Parallelism
    • 7 Control Dependence
    • 8 Compiler Improvement of Register Usage
    • 9 Cache Management
    • 10 Scheduling
    • 11 Interprocedural Analysis and Optimization
    • 12 Other Applications of Dependence
    • 13 Compiling Array Assignments
    • 14 Compiling High-Performance Fortran

Compiler Design Handbook. Optimizations and Machine Code Generation

2003, Srikant, Shankars

  • Table of Contents
    • 1 Data Flow Analysis
    • 2 Automatic Generation of Code Optimizers from Formal Specifications
    • 3 Scalar Compiler Optimizations on the Single Static Assignment
    • 4 Profile-Guided Compiler Optimizations
    • 5 Shape Analysis and Applications
    • 6 Optimizations for Object-Oriented Languages
    • 7 Data Flow Testing
    • 8 Program Slicing
    • 9 Debuggers for Programming Languages
    • 10 Dependence Analysis and Parallelization Transformations
    • 11 Compilation for Distributed Memory Architectures
    • 12 Automatic Data Distribution
    • 13 Register Allocation
    • 14 Architecture Description Language for Retargetable Compilation
    • 15 Instruction Selection Using Tree Parsing
    • 16 Retargetable Very Long Instruction Word Compiler Framework
    • 17 Instruction Scheduling
    • 18 Software Pipelining
    • 19 Dynamic Compilation
    • 20 Compiling Safe Mobile Code
    • 21 Type Systems in Programming Languages
    • 22 Introduction to Operational Semantics

The Optimal Implementation of Functional Programming Languages

1999, Asperti, Guerrini

  • Table of Contents
    • 1 Introduction
    • 2 Optimal Reduction
    • 3 The Full Algorithm
    • 4 Optimal Reductions and Linear Logic
    • 5 Redex Families and Optimality
    • 6 Paths
    • 7 Read-Back
    • 8 Other Translations in Sharing Graphs
    • 9 Safe Nodes
    • 10 Complexity
    • 11 Functional Programming
    • 12 The Bologna Optimal Higher-Order Machine

Modern Compiler Implementation in C

1998, Appel

  • Table of Contents
    • Part I Fundamentals of Compilation
      • 1 Introduction
      • 2 Lexical Analysis
      • 3 Parsing
      • 4 Abstract Syntax
      • 5 Semantic Analysis
      • 6 Activation Records
      • 7 Translation to Intermediate Code
      • 8 Basic Blocks and Traces
      • 9 Instruction Selection
      • 10 Liveness Analysis
      • 11 Register Allocation
      • 12 Putting it All Together
    • Part II Advanced Topics
      • 13 Garbage Collection
      • 14 Object-Oriented Languages
      • 15 Functional Programming Languages
      • 16 Polymorphic Types
      • 17 Dataflow Analysis
      • 18 Loop Optimization
      • 19 Static Single Assignment Form
      • 20 Pipelining and Scheduling
      • 21 The Memory Hierarchy

Modern Compiler Implementation in ML

1998, Appel

  • Table of Contents
    • Part I Fundamentals of Compilation
      • 1 Introduction
      • 2 Lexical Analysis
      • 3 Parsing
      • 4 Abstract Syntax
      • 5 Semantic Analysis
      • 6 Activation Records
      • 7 Translation to Intermediate Code
      • 8 Basic Blocks and Traces
      • 9 Instruction Selection
      • 10 Liveness Analysis
      • 11 Register Allocation
      • 12 Putting it All Together
    • Part II Advanced Topics
      • 13 Garbage Collection
      • 14 Object-Oriented Languages
      • 15 Functional Programming Languages
      • 16 Polymorphic Types
      • 17 Dataflow Analysis
      • 18 Loop Optimization
      • 19 Static Single Assignment Form
      • 20 Pipelining and Scheduling
      • 21 The Memory Hierarchy

Modern Compiler Implementation in Java

1998, Appel


Building an Optimizing Compiler

1997, Morgan

  • Table of Contents
    • 1 Overview
    • 2 Compiler Structure
    • 3 Graphs
    • 4 Flow Graph
    • 5 Local Optimization
    • 6 Alias Analysis
    • 7 Static Single Assignment
    • 8 Dominator-Based Optimization
    • 9 Advanced Techniques
    • 10 Global Optimization
    • 11 Limiting Resources
    • 12 Scheduling and Rescheduling
    • 13 Register Allocation
    • 14 The Object Module
    • 15 Completion and Futures

Compiler Construction (Wirth)

1996, Wirth Homepage

  • Table of Contents
    • 1 Introduction
    • 2 Language and Syntax
    • 3 Regular Languages
    • 4 Analysis of Context-Free Language
    • 5 Attributed Grammars and Semantics
    • 6 The Programming Language Oberon-0
    • 7 A Parser for Oberon-0
    • 8 Consideation of Context Specified by Declarations
    • 9 A RISC Architecture as a Target
    • 10 Expressions and Assignments
    • 11 Conditional and Repeated Statements and Boolean Expressions
    • 12 Procedures and the Concept of Locality
    • 13 Elementary Data Types
    • 14 Open Arrays, Pointers, and Procedure Types
    • 15 Modules and Separate Compilation
    • 16 Code Optimizations and the Frontend/Backend Structure

Compiler Construction (Waite, Goos)

1995, Waite, Goos

  • Table of Contents
    • 1 Introduction and Overview
    • 2 Properties of Programming Languages
    • 3 Properties of Real and Abstract Machines
    • 4 Abstract Program Representation
    • 5 Elements of Formal Systems
    • 6 Lexical Analysis
    • 7 Parsing
    • 8 Attribute Grammars
    • 9 Semantic Analysis
    • 10 Code Generation
    • 11 Assembly
    • 12 Error Handling
    • 13 Optimization
    • 14 Implementation

Let's Build a Compiler

1995, Jack Crenshaw


The Functional Treatment of Parsing

1993, Leermakers

  • Table of Contents
    • 1 Context-Free Grammars
    • 2 Bunch Notation
    • 3 Grammar Interpretations
    • 4 Recursive Descent
    • 5 Grammar Transformations
    • 6 Recursive Ascent
    • 7 Parse Forest
    • 8 Attribute Grammars
    • 9 LR Parsers
    • 10 Some Notes

Parsing Techniques. A Practical Guide

1990, Grune, Jacobs

  • Table of Contents
    • 1 Introduction
      • Parsing as a craft
      • The approach used
      • Outline of the contents
      • The annotated bibliography
    • 2 Grammars as a generating device
      • Languages as infinite sets
      • Formal grammars
      • The Chomsky hierarchy of grammars and languages
      • VW grammars
      • Actually generating sentences from a grammar
      • To shrink or not to shrink
      • A characterization of the limits of CF and FS grammars
      • Hygiene in grammars
      • The semantic connection
      • A metaphorical comparison of grammar types
    • 3 Introduction to parsing
      • Various kinds of ambiguity
      • Linearization of the parse tree
      • Two ways to parse a sentence
      • Non-deterministic automata
      • Recognition and parsing gort type 0 to type 4 grammars
      • An overview of parsing methods
    • 4 General one-directional methods
      • Unger's parsing method
      • The CYK parsing method
    • 5 Regular grammars and finite state machines
      • Applications of regular grammars
      • Producing from a regular grammar
      • Parsing with a regular grammar
    • 6 General directional top-down methods
      • Imitating left'most productions
      • The pushdown automaton
      • Breadth-first top-down parsing
      • Eliminating left-recursion
      • Depth-first (backtracking) parsers
      • Recursive descent
      • Definite clause grammars
    • 7 General bottom-up parsing
      • Parsing by searching
      • Top-down restricted breadth-first bottom-up parsing
    • 8 Deterministic top-down methods
      • Replacing search by table look-up
      • LL(1) grammars
      • LL(k) grammars
      • Extended LL(1) grammars
    • 9 Deterministic bottom-up parsing
      • Simple handle-isolating techniques
      • Precedence parsing
      • Bounded-context parsing
      • LR methods
      • LR(1)
      • LALR(1) parsing
      • Further developments of LR methods
      • Tomita's parser
      • Non-canonical parsers
      • LR(k) as an ambiguity test
    • 10 Error handling
      • Detection versus recovery versus correction
      • Parsing techniques and error detection
      • Recovering from errors
      • Global error handling
      • Ad hoc methods
      • Regional error handling
      • Local error handling
      • Suffix parsing
    • 11 Comparative survey
      • Considerations
      • General parsers
      • Linear-time parsers
    • 12 A simple general context-free parser
      • Principles of the parser
      • The program
      • Parsing in polynomial time
    • 13 Annotated bibliography

Compiler Design in C

1990, Holub

  • Table of Contents
    • 1 Basic Concepts
      • 1.1 The Parts of the Compiler
      • 1.2 Representing Computer Languages
      • 1.3 A Recursive-Descent Expression Compiler
    • 2 Input and Lexical Analysis
      • 2.1 The Lexical Analyzer as Part of a Compiler
      • 2.2 Error Recovery in Lexical Analysis
      • 2.3 Input Systems
      • 2.4 Lexical Analysis
      • 2.5 Lex - a Lexical-Analyzer Generator
    • 3 Context-Free Grammars
      • 3.1 Sentences, Phrases, and Context-Free Grammars
      • 3.2 Derivations and Sentential Forms
      • 3.3 Parse Trees and Semantic Difficulties
      • 3.4 Epsilon Productions
      • 3.5 The End-of-Input Marker
      • 3.6 Right-Linear Grammars
      • 3.7 Lists, Recursion, and Associativity
      • 3.8 Expressions
      • 3.9 Ambiguous Grammars
      • 3.10 Syntax-Directed Translation
      • 3.11 Representing Generic Grammars
    • 4 Top-Down Parsing
      • 4.1 Push-Down Automata
      • 4.2 Using a PDA for a Top-Down Parse
      • 4.3 Error Recovery in a Top-Down Parser
      • 4.4 Augmented Grammars and Table-Driven Parsers
      • 4.5 Automating the Top-Down Parse Process
      • 4.6 LL(1) Grammars and Their Limitations
      • 4.7 Making the Parse Tables
      • 4.8 Modifying Grammars
      • 4.9 Implementing LL(1) Grammars
      • 4.10 LLama - Implementing an LL(1) Parser-Generator
    • 5 Bottom-Up Parsing
      • 5.1 How Bottom-Up Parsing Works
      • 5.2 Recursion in Bottom-Up Parsing
      • 5.3 Implementing the Parser as a State Machine
      • 5.4 Error Recovery in an LR Parser
      • 5.5 The Value Stack and Attribute Processing
      • 5.6 Creating LR Parse Tables - Theory
      • 5.7 Representing LR State Tables
      • 5.8 Eliminating Single-Reduction States
      • 5.9 Using Ambiguous Grammars
      • 5.10 Implementing an LALR(1) Parser - The Occs Output File
      • 5.11 Implementing an LALR(1) Parser Generator - Occs Internals
      • 5.12 Parser-File Generation
      • 5.13 Generating LALR(1) Parse Tables
    • 6 Code Generation
      • 6.1 Intermediate Languages
      • 6.2 C-Code An Intermediate Language and Virtual Machine
      • 6.3 The Symbol Table
      • 6.4 The Parser: Configuration
      • 6.5 The Lexical Analyzer
      • 6.6 Declarations
      • 6.7 The gen() Subroutine
      • 6.8 Expressions
      • 6.8 Statements and Control Flow
    • 7 Optimization Strategies
      • 7.1 Parser Optimizations
      • 7.2 Linear (Peephole) Optimizations
      • 7.3 Structural Optimizations
      • 7.4 Aliasing Problems

The Implementation of Functional Programming Languages

1987, Peyton Jones

  • Homepage
  • Table of Contents
    • 1 Introduction
    • Part I Compiling High-Level Functional Languages
      • 2 The Lambda Calculus
      • 3 Translating a High-Level Functional Language into the Lambda Calculus
      • 4 Structured Types and the Semantics of Pattern-Matching
      • 5 Efficient Compilation of Pattern-Matching
      • 6 Transforming The Enriched Lambda Calculus
      • 7 List Comprehensions
      • 8 Polymorphic Type-Checking
      • 9 A Type-Checker
    • Part II Graph Reduction
      • 10 Program Representation
      • 11 Selecting the Redex
      • 12 Graph reduction of Lambda Expressions
      • 13 Supercombinators and Lambda-lifting
      • 14 Recursive Supercombinators
      • 15 Fully-Lazy Lambda-Lifting
      • 16 SK Combinators
      • 17 Storage Management and Garbage Collections
    • Part III Advanced Graph Reduction
      • 18 The G-Machine
      • 19 G-Code Definition and Implementation
      • 20 Optimizations to the G-Machine
      • 21 Optimizing Generalized Tail Calls
      • 22 Strictness Analysis

The Design and Construction of Compilers

1982, Hunter

  • Table of Contents
    • 1 The compilation process
    • 2 Language definition
    • 3 Lexical analysis
    • 4 Context-free grammars and tope-down syntax analysis
    • 5 Bottom-up syntax analysis
    • 6 Embedding actions in syntax
    • 7 Compiler design
    • 8 Symbol and mode tables
    • 9 Storage allocation
    • 10 Code generation
    • 11 Generation of machine code
    • 12 Error recovery and diagnostics
    • 13 Writing reliable compilers

Writing Interactive Compilers and Interpreters

1979, Brown

  • Table of Contents
    • 1 Planning
      • 1.1 Why interactive?
      • 1.2 Planning use of resources
      • 1.3 Documentation
      • 1.4 Designing the source language and the user interface
      • 1.5 Encoding the compiler
    • 2 The Structure of the Compiler
      • 2.1 Filling the gaps
      • 2.2 Description of terminology and environment
      • 2.3 Source and internal languages
      • 2.4 Incremental compiling
      • 2.5 Re-creating the source program
      • 2.6 Levels of internal language
      • 2.7 True compilers
      • 2.8 Error checking
      • 2.9 Error messages
      • 2.10 Names, scope, and data type
      • 2.11 Dictionaries and tables
      • 2.12 Storage management
      • 2.13 The editor
      • 2.14 Input and output
      • 2.15 Break-ins
      • 2.16 Summary of design
    • 3 The Design of an Internal Language
      • 3.1 Reverse polish notation
      • 3.2 Operators
      • 3.3 Encoding reverse polish
      • 3.4 A brief summary
    • 4 The Translator
      • 4.1 Overall translator organization
      • 4.2 Lexical analysis
      • 4.3 Grammars
      • 4.4 Using grammars for parsing
      • 4.5 Checking and resolving data types
      • 4.6 Semantic actions
    • 5 The Run-Time System
      • 5.1 Error detection and diagnosis
      • 5.2 Executing reverse polish
      • 5.3 Allocating and referencing user variables
      • 5.4 Execution of statements
      • 5.5 String temporaries
    • 6 Other Modules
      • 6.1 The pre-run module
      • 6.2 The re-creator module
      • 6.3 The command module
    • 7 Testing and Issuing
      • 7.1 Testing the compiler
      • 7.2 Issuing
    • 8 Some Advanced and Specialized Topics
      • 8.1 Some special copmilers
      • 8.2 Dynamic compiling

Assemblers, Compilers, and Program Translation

1979, Calingaert

  • Table of Contents
    • 1 Overview
    • 2 Assembly
    • 3 Program Modules
    • 4 Macro Procesing
    • 5 Program Translation
    • 6 Initial Source-Language Processing
    • 7 Compilation
    • 8 Preparation for Execution

Compiler Construction: An Advanced Course

1974, Bauer, Eickel

  • Table of Contents
    • 1 Introduction
    • 2 Analysis
      • Review of formalisms and notation
      • LL(1) grammars and analysers
      • LR grammars and analysers
      • Lexical analysis
      • Transformational grammars
      • Two-level grammars
      • Semantic analysis
    • 3 Synthesis
      • Relationship of languages to machines
      • Run-time storage management
      • Special run-time organization techniques for Algol 68
      • Symbol table access
      • Code generation
      • Assembly and linkage
    • 4 Compiler-Compiler
      • Introduction to compiler-compilers
      • Using the CDL compiler-compiler
    • 5 Engineering a compiler
      • Portable and adaptable compilers
      • Structuring compiler development
      • Programming language design
      • What the compiler should tell the user
      • Optimization
    • 6 Appendix
      • Historical remarks on compiler construction

The Theory of Parsing, Translation, and Compiling

1972, Aho, Ullman

Volume 1 Parsing

  • Table of Contents
    • 0 Mathematical Preliminaries
      • Concepts from Set Theory
      • Sets of Strings
      • Concepts from Logic
      • Procedures and Algorithms
      • Concepts from Graph Theory
    • 1 An Introduction to Compiling
      • Programming Languages
      • An Overview of Compiling
      • Other Applications of Parsing and Translating Algorithms
    • 2 Elements of Language Theory
      • Representations for Languages
      • Regular Sets, Their Generators, and Their Recognizers
      • Properties of Regular Sets
      • Context-Free Languages
      • Pushdown Automata
      • Properties of Context-Free Languages
    • 3 Theory of Translation
      • Formalisms for Translations
      • Properties of Syntax-Directed Translations
      • Lexical Analysis
      • Parsing
    • 4 General Parsing Methods
      • Backtrack Parsing
      • Tabular Parsing Methods
    • 5 One-pass No Backtrack Parsing
      • LL(k) Grammars
      • Deterministic Bottom-Up Parsing
      • Precedence Grammars
      • Other classes of Shift-Reduce Parsable Grammars
    • 6 Limited Backtrack Parsing Algorithms
      • Limited Backtrack Top-Down Parsing
      • Limited Backtrack Bottom-Up Parsing

Volume 2 Compiling

  • Table of Contents
    • 7 Techniques for Parser Optimization
      • Linear Precedence Functions
      • Optimization of Floyd-Evans Parsers
      • Transformations on Sets of LR(k) Tables
      • Techniques for Constructing LR(k) Parsers
      • Parsing Automata
    • 8 Theory of Deterministic Parsing
      • Theory of LL Languages
      • Classes of Grammars Generating the Deterministic Languages
      • Theory of Simple Precedence Languages
    • 9 Translation and Code Generation
      • The Role of Translation in Compiling
      • Syntax-Directed Translation
      • Genealized Translation Schemes
    • 10 Bookkeeping
      • Symbol Tables
      • Property Grammars
    • 11 Code Optimization
      • Optimization of Straight-Line Code
      • Arithmetic Expressions
      • Programs With Loops
      • Data Flow Analysis

Bootstrapping a simple compiler from nothing

Source

Bootstrapping a simple compiler from nothing
============================================

This document describes how I implemented a tiny compiler for a toy
programming language somewhat reminiscent of C and Forth. The funny
bit is that I implemented the compiler in the language itself without
directly using any previously existing software. So I started by
writing raw machine code in hexadecimal and then, through a series of
bootstrapping steps, gradually made programming easier for myself
while implementing better and better "languages".

The complete source code for all the stages is in a tar archive:
<http://www.rano.org/bcompiler.tar.gz>. This text is the README file
from that archive. So, if you are reading this on-line, you can fetch
the tar archive and continue off-line, if you prefer.

The code only runs on i386-linux, though it would be easy to port it
to another operating system on i386, and probably not at all hard to
port it to a different architecture.


HEX1: the boot loader
---------------------

You could input a short program into the memory of an early computer
by using switches on its front panel. This short program might then
read in a longer program from punched cards. To write a program on
punched cards you did not need an editor program, as you could write
new cards using an electro-mechanical card punch and manually insert
and remove cards from the deck. So, if we were using an early
computer, we could really implement a compiler without using any
existing software. Unfortunately, a modern PC has neither front panel
switches nor a punched card reader, so you need some software running
on the machine just to read in a new program. In fact, you probably
need some rather complex software running on the machine: just take a
look at /usr/src/linux/drivers/block/floppy.c, for example.

Since we are doing this on a PC running Linux, we have to define some
other starting point. Rather than use the raw hardware, we start with
these facilities:

 - an operating system;

 - a simple text editor (or we could use Emacs and pretend it's a
   simple text editor);

 - a shell that lets us run a program with file descriptors connected
   to particular files (this way the programs we write only need to
   read from and write to file descriptors and do not have to know
   about opening files);

 - an initial program to convert hexadecimal to binary so that we can
   compose our first programs in hexadecimal, using the text editor,
   and then "compile" them to binary in order to run them (this
   corresponds roughly to the program that you might enter into an
   early computer using front panel switches).

Our initial program is hex1.he (the source in hexadecimal) or hex1
(the binary). If you want to check that hex1 really is the binary
corresponding to hex1.he, you can do a hex dump of it:

	od -Ax -tx1 hex1

If you use hex1 to process hex1.he the result it hex1 again:

	./hex1 < hex1.he | diff - hex1

So we can think of hex1 as a trivial bootstrapping compiler for a
language called HEX1.

Apart from comments and white space, the syntax of HEX1 is
/([0-9a-f]{2})*/. Comments start with '#' and continue to the end of
the line. The semantics of HEX1 is the semantics of machine code,
which is rather complex. Fortunately we can restrict ourselves to a
tiny subset of the full instruction set.

In hex1.he I have put the corresponding assembler code in comments
next to the machine code. The file starts with two ELF headers: a
52-byte file header and a 32-byte program header. It is not necessary
to understand all the fields in the ELF header. The most interesting
fields are:

* e_entry, which specifies where execution should begin. Here it is
0x08048054, which is directly after the ELF headers (labelled _start).

* p_vaddr and p_paddr, which specify the target address in memory.
Here it is 0x08048000, which is standard for Linux binaries.

* p_filesz and p_memsz, which should be set to the length of the file.
It seems not to matter if you put a larger number here, and I will
make use of that later, though here I have put the correct value.

(For more information about ELF do a web search. SCO and Intel have
some useful on-line documents.)

The code at _start is a loop that reads pairs of hex digits by calling
gethex and outputs bytes by calling putchar. Next comes putchar, which
uses the "write" system call. Then gethex, which calls getchar and
contains a loop for skipping over comments. The ASCII characters
[0-9a-f] are converted correctly to the values 0 to 15; everything
below '0' (48) is treated as a space and ignored; other characters are
misconverted, as there is no error detection. The function getchar
uses the "read" system call, and calls "exit" at the end of the file.


HEX2: one-character labels
--------------------------

Writing machine code in hex is not much fun. The worst part is
calculating the addresses for branch, jump and call instructions. Here
I am using relative addresses, so I have to recalculate the address
every time I change the length of the code between an instruction and
its target. It would be no better if I were using absolute addresses:
then I would have to change all references to locations after the
change.

So the first feature I add for my convenience is a function for
computing relative addresses. Instead of writing

	# function:
		...
		e8 cc ff ff ff		# call function

I will be able to write:

	.F			# function:
		...
		e8 F			# call function

HEX2 automatically fills in the correct 4-byte relative address.

Unfortunately, I still have to use HEX1 to implement the first version
of HEX2, so, to keep the implementation simple, I only allow
one-character labels and backwards references to them. And there is no
error detection for an undefined label.

The syntax of HEX2 is ([0-9a-f]{2}|\.L|L)*, where L is any character
above 32 apart from [0-9a-f].

The first implementation of HEX2 is hex2a.he. If you compare the ELF
headers in hex1.he and hex2a.he you will notice that I have changed
p_flags. This is to make the program writable as well as executable.
Normal programs consist of several sections, in particular a text
section, which contains the program itself, and a data section. The
text section is executable, but not writable, and the data section is
writable, but not executable. In hex1.he I did not need to write any
data to memory, so I only had a text section. In hex2a.he I need to
write data to memory, but I can not be bothered with separate
sections, so I use a single section which is both executable and
writable.

There are only two pieces of data: "pos" is a 32-bit counter to keep
track of our location as we output the binary, and "label" is a
259-byte table to record the values of the labels. Why 259 bytes? This
is because I forgot to multiply by 4. I should have used a table of
256 4-byte values, one for each possible one-character label, and
calculated the address as (table + char * 4). Since I forgot to
multiply by 4, I only need 259 bytes for my table, and I have to avoid
using labels that are close to one another: if I use 'm', then I
cannot use 'j', 'k', 'l', 'n', 'o' or 'p'. It would be easy to fix
this bug immediately, but it is even easier to work around it for now
and fix it a bit later.

We can "compile" hex2a.he using hex1:

	./hex1 < hex2a.he > hex2a && chmod +x hex2a

Since HEX2 is a superset of HEX1, hex2a.he can also compile itself:

	./hex2a < hex2a.he | diff - hex2a

To test the new facility, I made hex2b.he from hex2a.he by replacing
numerical addresses by symbolic ones wherever possible. Compiling
hex2b.he gives the same binary as hex2a.he:

	./hex2a < hex2b.he | diff - hex2a

In hex2c.he I fix the "multiply by 4" bug. It is easier to fix the bug
now that I can use labels and do not have to manually modify relative
addresses. In hex2c.he I also replace some 1-byte relative addresses
by 4-byte relative addresses, so that I can use labels, and I have
inserted blocks of NOPs at the end of file to make the precise value
of e_entry less critical.

We can compile hex2c.he using hex2a/hex2b or using itself:

	./hex2a < hex2c.he > hex2c && chmod +x hex2c
	./hex2c < hex2c.he | diff - hex2c


HEX3: four-character labels and a lot of calls
----------------------------------------------

One-character labels are a bit restrictive, so let us implement
four-character labels. If labels have exactly four characters we can
store them neatly in 32-bit words!

The syntax of HEX3 is /([0-9a-f]{2}|:....|\.....)*/, and now we will
introduce some very basic error detection. The compiler can report
three different kins of error, which is will do using its exit code:

 exit code 1: syntax error
 exit code 2: redefined label
 exit code 3: undefined label

Since it is a single-pass compiler, only backwards references to
labels are permitted.

The first implementation of HEX3 was hex3a.he, written in HEX2:

	./hex2c < hex3a.he > hex3a && chmod +x hex3a

It is not possible to compile hex3a.he with hex3a itself, as HEX3 is
not compatible with HEX2.

I created hex3a.he by making successive small changes to hex2c.he. The
system call brk() is used to get memory for an arbitrarily large
symbol table. Absolute references to data are avoided by putting a
function (.z / get_p) in front of the static data area that returns
the address of the following data.

Having created hex3a.he, I started work on hex3b.he, an implementation
of HEX3 written in HEX3. Initially hex3b.he was just hex3a.he
translated to the new syntax, but I then gradually rewrote it to make
much greater use of labels and functions. In the final version, after
a certain point in the file, everything is done using only these
instruction groups:

 - push a constant onto the stack:  68 XX XX XX XX
 - call a named function:           e8 .LABEL
 - unconditional jump:              e9 .LABEL
 - conditional branch:              58 85 c0 0f 85 .LABEL
 - push an address onto the stack:  68 .LABEL e8 .reab

The last instruction group consists of a push instruction followed by
a call instruction, but the two may not be separated: the function
"reab" converts the relative address on the stack to an absolute
address by adding its return address and subtracting 5.

We can compile hex3b.he using hex3a or itself:

	./hex3a < hex3b.he > hex3b && chmod +x hex3b
	./hex3b < hex3b.he | diff - hex3b


HEX4: any-length labels and implicit calls
------------------------------------------

When implementing hex3b.he we found that it is possible to define all
complex functions in terms of simpler functions by using a tiny subset
of all the possible machine instructions: branch, call, jump and a few
others.

In HEX4 we use an even smaller set of instructions and generate those
instructions implicitly.

In HEX4 there are four types of token:

 - in-line code or data ('58, '59)
 - define label (:data, :loop, :func)
 - instruction: push constant (10, 42)
 - instruction: push label address (&func;, &loop;)
 - instruction: call label address (+, -, jump, branch, func)

Tokens must be separated by white space and the type of token is
recognised from the first character. Labels can have any length - but
we implement them with a simple hash function, so there is a risk of
spurious redefined label errors.

The jump and branch instruction groups from HEX3 are implemented by
functions. A "push label address" instruction must always be followed
immediately by a call to one of the functions that can understand a
relative address: address, branch, jump. The "address" function
(formally "reab") converts the relative address to an absolute
address, which can be stored and used later.

The predefined functions are:

Stack manipulation: drop dup rot pick swap
Arithmetic: + - * / % << >> log
Comparisons: < <= == != >= >
Bitwise logic: & | ^ ~
Memory access: @ = c@ c=
Flow of control, using immediate relative address: branch call
Flow of control, using stored absolute address: call
Address conversion: address
Array support: [] []& []= c[] c[]& c[]=
Access of arguments and variables: arg arg& arg= var var& var=
Function support: enter vars xreturnx xreturn0 xreturn1
Dynamic memory: wsize sbrk / malloc free realloc
System calls: exit in out

- All operations take arguments and return results to the stack.

- Comparisons return 0 or 1.

- All data are words, except for c@, c=, c[], c[]&, c[]=, which
operate on bytes.

- Any user-defined function must start with "enter"; "vars" can be
used straight after "enter" to reserve space for N local variables.

- To return from a function, use one of the "return" functions. "X Y
xreturnx" means return Y values from a function that took X arguments.
The most common cases are Y=0 and Y=1, so "X xreturn0" and "X
xreturn1" are provided.

- Like in C, addresses are byte addresses, so we have to multiply by
wsize when allocating memory with sbrk or malloc.

- "x y []" is equivalent to "x y wsize * + @"

- As always, no forward references to labels are allowed.

As with HEX3 there are two implementations of HEX4. The first one,
hex4a.he, is written in HEX3. The second one, hex4b.he, is written in
HEX4.

	./hex3b < hex4a.he > hex4a && chmod +x hex4a
	./hex4a < hex4b.he > hex4b && chmod +x hex4b
	./hex4b < hex4b.he | diff - hex4b


HEX5: structured programming, at last
-------------------------------------

HEX5 is more like a real structured programming language. There are no
longer any labels; instead there are loops and if...(else)...fi
structures. The syntax of HEX5 can no longer be described with a
regular expression; instead we need a context-free grammar:

	program = (hexitem | global | procedure)*
	hexitem = hexbyte |  "_def" symbol
	hexbyte = /'[0-9a-f][0-9a-f]/
	global = "var" symbol | "string" symbol string_literal
	string_literal = /"([^"]|\\.)*"/
	procedure = "def" args name "{" vars body "}"
	args = symbol*
	name = symbol
	vars = "var" symbol
	body = (number | word | loop | jump | if)*
	number = /[0-9]+/
	word = symbol
	loop = "{" body "}"
	jump = "break" | "continue" | "until" | "while"
	if = "if" body "fi" | "if" body "else" body "fi"
	symbol = /.+/ except ...

Lexical rules:

	comment = /#[^\n]*\n?/
	space = /\s/
	string_literal = /"([^"]|\\.)*"/
	token = /\S+/

The first implementation of HEX5, written in HEX4, is hex5a.he. This
is only a very partial implementation, as it would be quite tedious to
implement all of HEX5 in HEX4. In particular, there are not yet any
named variables or arguments; access to a function's arguments and
local variables is done using the functions from HEX4. Global
variables are implemented with a cunning hack:

	./hex4b < hex5a.he > hex5a && chmod +x hex5a

Next came hex5b.he, which can compile itself, as it is written in a
subset of HEX5. In hex5b.he I implemented named arguments and
variables:

	./hex5a < hex5b.he > hex5b && chmod +x hex5b
	./hex5b < hex5b.he | diff - hex5b

Then I wanted to start using those features for implementing further
features, so I switched to developing hex5c.he, in which I implemented
string constants, "while", "until", "return0" and "return1":

	./hex5b < hex5c.he > hex5c && chmod +x hex5c


BCC: a real language
--------------------

All that is needed to turn HEX5 into a tiny structured programming
language is to separate off the first part of the source, where there
is in-line machine code and the "predefined" and library functions are
implemented, into a separate header file. At this point I removed
references to "hex" and called the two files "header.bc" and "bcc.bc".
These two files are concatenated for compilation:

	cat header.bc bcc.bc | ./hex5c > bcc && chmod +x bcc

Now bcc can compile itself, of course:

	cat header.bc bcc.bc | ./bcc > bcc2 && chmod +x bcc2
	mv bcc2 bcc
	cat header.bc bcc.bc | ./bcc | diff - bcc

Note that the bcc produced by hex5 might not be identical to the bcc
produced by bcc itself, as I might make some minor improvements to the
code generated by bcc. But the main improvements to be introduced in
bcc are:

 - proper error messages to stderr instead of just exit codes
 - report undefined symbols
 - a dynamic buffer for tokens so there is no limit to their length


What next?
----------

Here are some things that one might want to do with BCC for one's
education and entertainment:

 - port it to a different operating system or architecture
   (you could compile to Java byte code, for example)

 - think of a neater way of handling return values from functions

 - implement a compile-time check for stack underflow

 - include a non-bogus implementation of malloc, realloc, free

 - use an RB-tree for the symbol table so that the compiler does not
   take time quadratic in the number of symbols

 - think up a way of using BCC to bootstrap GCC ...


Edmund GRIMLEY EVANS <edmundo@xxxx.xxx>, March 2001
Revised: March 2002

Dynamic Languages Are Static Languages

2011

A dynamic language is a straightjacketed static language that affords less rather than more expressiveness.

So-called dynamic languages (“so-called” because I’m going to argue that they don’t exist as a separate class of languages) are popular.

Part of the appeal of dynamic languages appears to be that they have acquired an aura of subversion. Dynamic languages fight against the tyranny of static languages, hooray for us! We’re the heroic blackguards defending freedom from the tyranny of typing! We’re real programmers, we don’t need no stinking type system!

Now I’m as susceptible to the seductions of subversion as the next guy (witness this very post), so I can appreciate wanting to strike one for the little guy, overturning the evil establishment. But I’ve got news for you: when it comes to “dynamic typing”, it’s a futile enterprise. Not because the establishment is so powerful. Not because evil always wins. But because the distinction makes no sense. Dynamic typing is but a special case of static typing, one that limits, rather than liberates, one that shuts down opportunities, rather than opening up new vistas. Need I say it? Something can hardly be opposed to that of which it is but a trivial special case. So, give it up, and get with the program! There are ill-defined languages, and there are well-defined languages. Well-defined languages are statically typed, and languages with rich static type systems subsume dynamic languages as a corner case of narrow, but significant, interest.

Wittgenstein said that all philosophical problems are problems of grammar. And so it is here as well. The root of the problem lies in the confusion between a type and a class. We all recognize that it is often very useful to have multiple classes of values of the same type. The prototypical example is provided by the complex numbers. There is one type of complex numbers that represent points in two-dimensional space. In school we encounter two classes of complex numbers, the rectangular and the polar. That is, there are two ways to present a complex number using two different systems of coordinates. They are, of course, interchangeable, because they represent values of the same type. But the form of presentation differs, and some forms are more convenient than others (rectangular for addition, polar for multiplication, for example). We could, of course, choose a “coin of the realm”, and represent all complex numbers in one way, and consider coordinates as just a matter of how a number is given. But it can also be convenient to consider that the type of complex numbers consists of two classes, each of which consists of two real numbers, but interpreted differently according to the coordinate system we are using.

Crucially, the distinction between the two classes of complex number is dynamic in that a given computation may result in a number of either class, according to convenience or convention. A program may test whether a complex number is in polar or rectangular form, and we can form data structures such as sets of complex numbers in which individual elements can be of either form. But this does not conflict with the basic fact that there is but one static type of complex numbers! In type theoretic terms what I am saying is that the type complex is defined to be the sum of two copies of the product of the reals with itself. One copy represents the class of rectangular representations, the other represents the class of polar representations. Being a sum type, we can “dispatch” (that is, case analyze) on the class of the value of the type complex, and decide what to do at run-time. This is no big deal. In fact, it’s quite simple and natural in languages such as ML or Haskell that support sum types. (Languages that don’t are hobbled, and this is part of the confusion.)

What does this have to do with the concept of a dynamic language? The characteristics of a dynamic language are the same, values are classified by into a variety of forms that can be distinguished at run-time. A collection of values can be of a variety of classes, and we can sort out at run-time which is which and how to handle each form of value. Since every value in a dynamic language is classified in this manner, what we are doing is agglomerating all of the values of the language into a single, gigantic (perhaps even extensible) type. To borrow an apt description from Dana Scott, the so-called untyped (that is “dynamically typed”) languages are, in fact, unityped. Rather than have a variety of types from which to choose, there is but one!

And this is precisely what is wrong with dynamically typed languages: rather than affording the freedom to ignore types, they instead impose the bondage of restricting attention to a single type! Every single value has to be a value of that type, you have no choice! Even if in a particular situation we are absolutely certain that a particular value is, say, an integer, we have no choice but to regard it as a value of the “one true type” that is classified, not typed, as an integer. Conceptually, this is just rubbish, but it has serious, tangible penalties. For one, you are depriving yourself of the ability to state and enforce the invariant that the value at a particular program point must be an integer. For another, you are imposing a serious bit of run-time overhead to represent the class itself (a tag of some sort) and to check and remove and apply the class tag on the value each time it is used. (See PFPL for full details of what is involved.)

Now I am fully aware that “the compiler can optimize this away”, at least in some cases, but to achieve this requires one of two things (apart from unreachable levels of ingenuity that can easily, and more profitably, be expressed by the programmer in the first place). Either you give up on modular development, and rely on whole program analysis (including all libraries, shared code, the works), or you introduce a static type system precisely for the purpose of recording inter-modular dependencies. The whole-program approach does not scale, and flies in the face of the very advantage that dynamic languages supposedly have, namely dynamic evolution and development of components. The static type system approach works beautifully, and makes my point nicely.

I am also fully aware that many statically typed languages, particularly the ones widely in commercial use, do not have a sufficiently expressive type system to make it feasible to work dynamically (that is, with multiple classes of values) within a statically typed framework. This is an argument against bad languages, not an argument against type systems. The goal of (static, there is no other kind) type systems is precisely to provide the expressive power to capture all computational phenonema, including dynamic dispatch and dynamically extensible classification, within the rich framework of a static type discipline. More “researchy” languages such as ML or Haskell, have no trouble handling dynamic modes of programming.

Why should you care? Because, I argue, that a fully expressive language is one that supports the delicate interplay between static and dynamic techniques. Languages that force only one perspective on you, namely the dynamic languages, hobble you; languages that admit both modes of reasoning enable you and liberate you from the tyranny of a single type.

LLVM


Online Resources

Documentation, Tutorials

MLIR

Youtube

Applications

Clang Analyzer

Polly

Bindings

Rust


Books

LLVM Essentials

  • Table of Contents
    • 1 Playing with LLVM
      • Modular design and collection of libraries
      • Getting familiar with LLVM IR
      • LLVM tools and using them in the command line
    • 2 Building LLVM IR
      • Creating an LLVM module
      • Emitting a function in a module
      • Adding a block to a function
      • Emitting a global variable
      • Emitting a return statement
      • Emitting function arguments
      • Emitting a simple arithmetic statement in a basic block
      • Emitting if-else condition IR
      • Emitting LLVM IR for loop
    • 3 Advanced LLVM IR
      • Memory access violations
      • Getting the address of an element
      • Reading from the memory
      • Writing into a memory location
      • Inserting a scalar into a vector
      • Extracting a scalar from a vector
    • 4 Basic IR Tranformations
      • Opt tool
      • Pass and Pass Manager
      • Using other pass info in the current pass
      • Instruction simplification example
      • Instruction combining
    • 5 Advanced IR Blokc Transformations
      • Loop processing
      • Scalar evolution
      • LLVM intrinsics
      • Vectorization
    • 6 IR to Selection DAG Phase
      • Converting IR to SelectionDAG
      • Legalizing SelectionDAG
      • Optimizing SelectionDAG
      • Instruction selection
      • Scheduling and emitting machine instructions
      • Register allocation
      • Code emission
    • 7 Generating Code for Target Architecture
      • Sample backend
      • Implementing frame lowering
      • Lowering instructions
      • Printing an instruction

Learn LLVM 12

  • Table of Contents
    • Section 1 The Basic of Compiler Construction with LLVM
      • 1 Installing LLVM
      • 2 Touring the LLVM Source Code
      • 3 The Structure of the Compiler
    • Section 2 From Source Code to Machine Code Construction
      • 4 Turning the Source File into an Abstract Syntax Tree
      • 5 Basic of IR Code Generation
      • 6 IR Generation for High-level Language Constructs
      • 7 Advanced IR Generation
      • 8 Optimizing IR
    • Section 3 Taking LLVM to the Next Level
      • 9 Instruction Selection
      • 10 JIT Compilation
      • 11 Debugging with LLVM Tools
      • 12 Create your own backend

Getting Started with LLVM Core Libraries

  • Table of Contents
    • 1 Build and install LLVM
    • 2 External Projectos
    • 3 Tools and Design
    • 4 The Frontend
    • 5 The LLVM Intermediate Representation
    • 6 The Backend
    • 7 The Just-In-Time Compiler
    • 8 Cross-platform Compilation
    • 9 The Clang Static Analyzer
    • 10 Clang Tools with LibTooling

LLVM Cookbook

  • Table of Contents
    • 1 LLVM Design and Use
      • Introduction
      • Understanding modular design
      • Cross-compiling Clang/LLVM
      • Converting a C source code to LLVM assembly
      • Converting IR to LLVM bitcode
      • Converting LLVM bitcode back to target machine assembly
      • Transforming LLVM IR
      • Linking LLVM bitcode
      • Executing LLVM bitcode
      • Using the C frontend Clang
      • Using the GO frontend
      • Using DragonEgg
    • 2 Steps in Writing a Frontend
      • Introduction
      • Defining a TOY Language
      • Implementing a lexer
      • Defining Abstract Syntax Trees
      • Implementing a parser
      • Parsing simple expressions
      • Parsing binary expressions
      • Invoking a driver for parsing
      • Running lexer and parser on our TOY language
      • Defining IR code generation methods for each AST class
      • Generating IR code for expressions
      • Generating IR code for functions
      • Adding IR optimizations support
    • 3 Extending the Frontend and Adding JIT Support
      • Introduction
      • Handling decision making paradigms - if/then/else constructs
      • Generating code for loops
      • Handling user-defined operators - binary operators
      • Handling user-defined operators - unary operators
      • Adding JIT support
    • 4 Preparing Optimizations
      • Introduction
      • Various levels of optimization
      • Writing your own LLVM pass
      • Running your own pass with the opt tool
      • Using another pass in a new pass
      • Registering a pass with pass manager
      • Writing an analysis pass
      • Writing an alias analysis pass
      • Using other analysis passes
    • 5 Implementing Optimizations
      • Introduction
      • Writing a dead code elimination pass
      • Writing an inlining transformation pass
      • Writing a pass for memory optimization
      • Combining LLVM IR
      • Transforming and optimizing loops
      • Reassociating expressions
      • Vectorizing IR
      • Other optimization passes
    • 6 Target-independent Code Generator
      • Introduction
      • The life of an LLVM IR instruction
      • Machine DAG
      • Visualizing LLVM IR CFG using GraphViz
      • Describing targets using TableGen
      • Defining an instruction set
      • Adding a machine code descriptor
      • Implementing the MachineInstrBuilder class
      • Implementing the MachineBasicBlock class
      • Implementing the MachineFunction class
      • Writing an instruction selector
      • Legalizing SelectionDAG
      • Optimizing SelectionDAG
      • Selecting instruction from the DAG
      • Scheduling instructions in SelectionDAG
    • 7 Optimizing the Machine Code
      • Introduction
      • Eliminating common subexpression from machine code
      • Analyzing live internals
      • Allocating registers
      • Inserting the prologue-epilogue code
      • Code emission
      • Tail call optimization
      • Sibling call optimization
    • 8 Writing an LLVM Backend
      • Introduction
      • Defining registers and registers sets
      • Defining the calling convention
      • Defining the instruction set
      • Implementing frame lowering
      • Printing an instruction
      • Selecting an instruction
      • Adding an instruction encodeing
      • Supporting a subtarget
      • Lowering to multiple instructions
      • Registering a target
    • 9 Using LLVM for Various Useful Projects
      • Introduction
      • Exception handling in LLVM
      • Using sanitizers
      • Writing the garbage collector with LLVM
      • Converting LLVM IR to JavaScript
      • Using the Clang Static Analyzer
      • Using bugpoint
      • Using LLDB
      • Using LLVM utility passes

LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries

  • Table of Contents
    • Section 1 Build System and LLVM-specific Tooling
      • 1 Saving resources when building LLVM
      • 2 Exploring LLVM's Build System Features
      • 3 Testing with LLVM LIT
      • 4 TableGen Development
    • Section 2 Frontend Development
      • 5 Exploring Clang's Architecture
      • 6 Extending the Preprocessor
      • 7 Handling AST
      • 8 Working with Compiler Flags and Toolchains
    • Section 3 Middle-End Management
      • 9 Working with PassManager and AnalysisManager
      • 10 Processing LLVM IR
      • 11 Gearing up with Support Utilities
      • 12 Learning LLVM IR Instrumentation

Static Analysis

Some of the implementation techniques of formal static analysis include:

  • Model checking considers systems that have finite state or may be reduced to finite state by abstraction;

  • Data-flow analysis is a lattice-based technique for gathering information about the possible set of values;

  • Abstract interpretation models the effect that every statement has on the state of an abstract machine (i.e., it 'executes' the software based on the mathematical properties of each statement and declaration). This abstract machine over-approximates the behaviours of the system: the abstract system is thus made simpler to analyze, at the expense of incompleteness (not every property true of the original system is true of the abstract system). If properly done, though, abstract interpretation is sound (every property true of the abstract system can be mapped to a true property of the original system). The Frama-c value analysis plugin and Polyspace heavily rely on abstract interpretation.

  • Use of assertions in program code as first suggested by Hoare logic. There is tool support for some programming languages (e.g., the SPARK programming language (a subset of Ada) and the Java Modeling Language — JML — using ESC/Java and ESC/Java2, Frama-c WP (weakest precondition) plugin for the C language extended with ACSL (ANSI/ISO C Specification Language)).

Why inheritance never made any sense

There are three different types of inheritance going on.

  • Ontological inheritance is about specialisation: this thing is a specific variety of that thing (a football is a sphere and it has this radius)
  • Abstract data type inheritance is about substitution: this thing behaves in all the ways that thing does and has this behaviour (this is the Liskov substitution principle)
  • Implementation inheritance is about code sharing: this thing takes some of the properties of that thing and overrides or augments them in this way. The inheritance in my post On Inheritance is this type and only this type of inheritance.

These are three different, and frequently irreconcilable, relationships. Requiring any, or even all, of them, presents no difficulty. However, requiring one mechanism support any two or more of them is asking for trouble.

A common counterexample to OO inheritance is the relationship between a square and a rectangle. Geometrically, a square is a specialisation of a rectangle: every square is a rectangle, not every rectangle is a square. For all s in Squares, s is a Rectangle and width of s is equal to height of s. As a type, this relationship is reversed: you can use a rectangle everywhere you can use a square (by having a rectangle with the same width and height), but you cannot use a square everywhere you can use a rectangle (for example, you can’t give it a different width and height).

Notice that this is incompatibility between the inheritance directions of the geometric properties and the abstract data type properties of squares and rectangles; two dimensions which are completely unrelated to each other and indeed to any form of software implementation. We have so far said nothing about implementation inheritance, so haven’t even considered writing software.

Smalltalk and many later languages use single inheritance for implementation inheritance, because multiple inheritance is incompatible with the goal of implementation inheritance due to the diamond problem (traits provide a reliable way for the incompatibility to manifest, and leave resolution as an exercise to the reader). On the other hand, single inheritance is incompatible with ontological inheritance, as a square is both a rectangle and an equilateral polygon.

The Smalltalk blue book describes inheritance solely in terms of implementation inheritance:

A subclass specifies that its instances will be the same as instances of another class, called its superclass, except for the differences that are explicitly stated.

Notice what is missing: no mention that a subclass instance must be able to replace a superclass instance everywhere in a program; no mention that a subclass instance must satisfy all conceptual tests for an instance of its superclass.

Inheritance was never a problem: trying to use the same tree for three different concepts was the problem.

“Favour composition over inheritance” is basically giving up on implementation inheritance. We can’t work out how to make it work, so we’ll avoid it: get implementation sharing by delegation instead of by subclassing.

Eiffel, and particular disciplined approaches to using languages like Java, tighten up the “inheritance is subtyping” relationship by relaxing the “inheritance is re-use” relationship (if the same method appears twice in unrelated parts of the tree, you have to live with it, in order to retain the property that every subclass is a subtype of its parent). This is fine, as long as you don’t try to also model the problem domain using the inheritance tree, but much of the OO literature recommends that you do by talking about domain-driven design.

Traits approaches tighten up the “inheritance is specialisation” relationship by relaxing the “inheritance is re-use” relationship (if two super categories both provide the same property of an instance of a category, neither is provided and you have to write it yourself). This is fine, as long as you don’t try to also treat subclasses as covariant subtypes of their superclasses, but much of the OO literature recommends that you do by talking about Liskov Substitution Principle and how a type in a method signature means that type or any subclass.

What the literature should do, I believe, is say “here are the three types of inheritance, focus on any one of them at a time”. I also believe that the languages should support that (obviously Smalltalk, Ruby and friends do support that by not having any type constraints).

If I’m using inheritance as a code sharing tool, it should not be assumed that my subclasses are also subtypes.
If I am using subtypes to tighten up interface contracts, I should be not only allowed to mark a class anywhere in the tree as a subtype of another class anywhere in the tree, but required to do so: once again, it should not be assumed that my subclasses are also subtypes.
If I need to indicate conceptual specialisation via classes, this should also not be assumed to follow the inheritance tree. I should be not only allowed to mark a class anywhere in the tree as a subset of another class, but required to do so: once again, it should not be assumed that my subclasses are also specialisations.

Your domain model is not your object model. Your domain model is not your abstract data type model. Your object model is not your abstract data type model.

Now inheritance is easy again.

Incremental Compilation

Background material

Salsa

Rust Analyzer

Rustc incremental compilation

Distributed Systems

⚠️ WIP ⚠️


Online Resources

Courses

UNS Sistemas Distribuidos

Programa Sintetico

  1. Introducción a los Sistemas Distribuidos.
  2. Comunicación en Sistemas Distribuidos.
  3. Sincronización en Sistemas Distribuidos.
  4. Planificación de Procesos en Sistemas Distribuidos.
  5. Consistencia, Replicación y Memoria Compartida Distribuida.
  6. Sistemas de Archivos en Sistemas Distribuidos.
  7. Transacciones Distribuidas.
  8. Sistema de Nombres.
  9. Tolerancia a las Fallas
  10. Seguridad en Sistemas Distribuidos.
  11. Sistemas Distribuidos Basados en Documentos

Programa Analitico

  • 1.0 - Introducción a los Sistemas Distribuidos.
    • 1.1 Computación paralela y distribuida.
    • 1.2 Desventajas y limitaciones.
    • 1.3 Requerimientos de Hardware y Software.
  • 2.0 - Comunicación en Sistemas Distribuidos.
    • 2.1 Pasaje de mensajes
    • 2.2 Modelo Cliente-Servidor
    • 2.3 Llamadas a Procedimiento Remoto
    • 2.4 Grupos de Comunicación
  • 3.0 - Sincronización en Sistemas Distribuidos.
    • 3.1 Sincronización de Reloj
    • 3.2 Estado Global
    • 3.3 Exclusión Mutua
    • 3.4 Algoritmos de Elección
    • 3.5 Interbloqueos
  • 4.0 - Planificación de Procesos en Sistemas Distribuidos.
    • 4.1 Estrategias de Distribución de Carga.
    • 4.2 Migración de Procesos y Movilidad
  • 5.0 - Consistencia, Replicación y Memoria Compartida Distribuida.
    • 5.1 Modelos de Consistencia centrados en los datos
    • 5.2 Modelos de Consistencia centrados en el cliente
    • 5.3 Protocolos de distribución
    • 5.4 Protocolos de consistencia
    • 5.5 Memoria Compartida Distribuida
  • 6.0 - Sistemas de Archivos Distribuidos
    • 6.1 Propósito de uso
    • 6.2 Servicios
    • 6.3 Características deseables de los SAD
    • 6.4 Modelos de archivos y sus accesos
    • 6.5 Semánticas
    • 6.6 Esquemas de caché
    • 6.7 Tolerancia a las fallas
  • 7.0 - Transacciones Distribuidas
    • 7.1 Modelo Transaccional
    • 7.2 Protocolos de commit
  • 8.0 - Sistema de Nombres
    • 8.1 Nombres, Entidades
    • 8.2 Sistema de nombres y localización de objetos
    • 8.3 Remoción de Entidades no Referenciadas
  • 9.0 - Tolerancia a las Fallas
    • 9.1 Conceptos básicos
    • 9.2 Enmascaramiento
    • 9.3 Ordenamiento de mensajes
    • 9.4 Checkpointing
  • 10.0 - Seguridad en Sistemas Distribuidos
    • 10.1 Introducción
    • 10.2 Ataques
    • 10.3 Criptografía
    • 10.4 Autenticación
    • 10.5 Código móvil
  • 11.0 - Sistemas Distribuidos Basados en Documentos
    • 11.1 Caso: WWW

Books


Designing Data Intensive Applications

  • I foundations of data systems
    • 1 reliable, scalable, and maintainable applications
      • 1.1 thinking about data systems
      • 1.2 reliability
      • 1.3 scalability
      • 1.4 maintainability
    • 2 data models and query languages
      • 2.1 relational model vs document model
      • 2.2 query languages for data
      • 2.3 graph-like data models
    • 3 storage and retrieval
      • 3.1 data structures that power your database
      • 3.2 transaction processing or analytics?
      • 3.3 column-oriented storage
    • 4 encoding and evolution
      • 4.1 formats for encoding data
      • 4.2 modes of dataflow
  • II distributed data
    • 5 replication
      • 5.1 leaders and followers
      • 5.2 problems with replication lag
      • 5.3 multi-leader replication
      • 5.4 leaderless replication
    • 6 partitioning
      • 6.1 partitioning and replication
      • 6.2 partitioning of key-value data
      • 6.3 partitioning and secondary indexes
      • 6.4 rebalancing partitions
      • 6.5 request routing
    • 7 transactions
      • 7.1 the slippery concept of a transaction
      • 7.2 weak isolation levels
      • 7.3 serializability
    • 8 the trouble with distributed systems
      • 8.1 faults and partial failures
      • 8.2 unreliable networks
      • 8.3 unreliable clocks
      • 8.4 knowledge, truth and lies
    • 9 consistency and consensus
      • 9.1 consistency guarantees
      • 9.2 linearizability
      • 9.3 ordering guarantees
      • 9.4 distributed transactions and consensus
  • III derived data
    • 10 batch processing
      • 10.1 batch processing with unix tools
      • 10.2 mapreduce and distributed filesystems
      • 10.3 beyond mapreduce
    • 11 stream processing
      • 11.1 transmitting event streams
      • 11.2 database and streams
      • 11.3 processing streams
    • 12 the future of data systems
      • 12.1 data integration
      • 12.2 unbundling databases
      • 12.3 aiming for correctness
      • 12.4 doing the right thing

Guide To Reliable Distributed Systems

  • I computing in the cloud
    • 1 introduction
    • 2 the way of the cloud
    • 3 client perspective
    • 4 network perspective
    • 5 the structure of cloud data centers
    • 6 remote procedure calls and the client/server model
    • 7 corba: the common object request broker architecture
    • 8 system support for fast client/server communication
  • II reliable distributed computing
    • 9 how and why computer systems fail
    • 10 overcoming failures in a distributed system
    • 11 dynamic membership
    • 12 group communication systems
    • 13 point to point and multi-group considerations
    • 14 the virtual synchrony execution model
    • 15 consistency in distributed systems
  • III applications of reliability techniques
    • 16 retrofitting reliability into complex systems
    • 17 software architectures for group communication
  • IV related technologies
    • 18 security options for distributed settings
    • 19 clock synchronization and synchronization systems
    • 20 transactional systems
    • 21 peer-to-peer systems and probabilistic protocols
    • 22 appendix A: virtualy synchronous methodology for building dynamic reliable services
    • 23 appendix B: isis API

Protocol Design

  • 1 introduction
    • 1.1 what is a protocol?
    • 1.2 protocols as processes
    • 1.3 techniques for actual proofs
    • 1.4 real protocols
    • 1.5 readers's guide
  • 2 CSP descriptions and proof rules
    • 2.1 processes and process synchronization
    • 2.2 channel history semantics
    • 2.3 failure semantics
  • 3 protocols and services
    • 3.1 providing a service
    • 3.2 service features
    • 3.3 OSI and other layered architectures
  • 4 basic protocol mechanisms
    • 4.1 sequence control and error control
    • 4.2 flow control
    • 4.3 indication of change of peer state
    • 4.4 change of service mode
    • 4.5 multiplexing and splitting
    • 4.6 segmentation and reassembly
    • 4.7 prioritisation
  • 5 multi-peer consensus
    • 5.1 reliable consensus
    • 5.2 election
    • 5.3 commitment
    • 5.4 byzantine agreement
    • 5.5 clock synchronization
    • 5.6 finding the global state
  • 6 security
    • 6.1 cryptographic methods
    • 6.2 integrity
    • 6.3 digital signatures
    • 6.4 entity authentication
    • 6.5 key exchange
    • 6.6 non-cryptographic methods
  • 7 naming addressing and routing
    • 7.1 general principles of naming and addressing
    • 7.2 addressing structures
    • 7.3 routing
    • 7.4 congestion
  • 8 protocol encoding
    • 8.1 simple binary encoding
    • 8.2 TLV encoding
    • 8.3 ASN.1 encoding
    • 8.4 ASCII encodings
  • 9 protocols in the OSI lower layers
    • 9.1 data link layer
    • 9.2 network layer
    • 9.3 transport layer
  • 10 application support protocols
    • 10.1 session layer
    • 10.2 presentation layer
    • 10.3 application layer
    • 10.4 basic application service elements
    • 10.5 commitment, concurrency and recovery
    • 10.6 client-server systems
    • 10.7 security middleware
  • 11 application protocols
    • 11.1 file transfer
    • 11.2 distributed transaction processing
    • 11.3 message handling
    • 11.4 hypertext and the world wide web
    • 11.5 web services
  • A notation
    • A.1 data types and variables
    • A.2 data values and expressions
    • A.3 processes and process expressions
    • A.4 traces, failures, and transitions
    • A.5 inference rules for process specifications
    • A.6 security
  • B standarization
    • B.1 standards organizations
    • B.2 standards documents

Introduction to Reliable and Secure Distributed Programming (Carlos Varela, Cachin)

  • 1 introduction
    • 1.1 motivation
    • 1.2 distributed programming abstractions
    • 1.3 the end-to-end argument
    • 1.4 software components
    • 1.5 classes of algorithms
  • 2 basic abstractions
    • 2.1 distributed computation
    • 2.2 abstracting processes
    • 2.3 cryptographics abstractions
    • 2.4 abstracting communication
    • 2.5 timing assumptions
    • 2.6 abstracting time
    • 2.7 distributed system models
  • 3 reliable broadcast
    • 3.1 motivation
    • 3.2 best-effort broadcast
    • 3.3 regular reliable broadcast
    • 3.4 uniform reliable broadcast
    • 3.5 stubborn broadcast
    • 3.6 logged best-effort broadcast
    • 3.7 logged uniform reliable broadcast
    • 3.8 probabilistic broadcast
    • 3.9 FIFO and causal broadcast
    • 3.10 byzantine consistent broadcast
    • 3.11 byzantine reliable broadcast
    • 3.12 byzantine broadcast channels
  • 4 shared memory
    • 4.1 introduction
    • 4.2 (1,N) regular register
    • 4.3 (1,N) atomic register
    • 4.4 (N,N) atomic register
    • 4.5 (1,N) logged regular register
    • 4.6 (1,N) byzantine safe register
    • 4.7 (1,N) byzantine regular register
    • 4.8 (1,N) byzantine atomic register
  • 5 consensus
    • 5.1 regular consensus
    • 5.2 uniform consensus
    • 5.3 uniform consensus in the fail-noisy model
    • 5.4 logged consensus
    • 5.5 randomized consensus
    • 5.6 byzantine consensus
    • 5.7 byzantine randomized consensus
  • 6 consensus variants
    • 6.1 total-order broadcast
    • 6.2 byzantine total order broadcast
    • 6.3 terminating reliable broadcast
    • 6.4 fast consensus
    • 6.5 fast byzantine consensus
    • 6.6 nonblocking atomic commit
    • 6.7 group membership
    • 6.8 view-synchronous communication
  • 7 concluding remarks
    • 7.1 implementation in appia
    • 7.2 further implementations
    • 7.3 further reading

Distributed Systems Principles and Paradigms (Tanenbaum)

  • 1 introduction
    • 1.1 definition of distributed system
    • 1.2 goals
    • 1.3 types of distributed systems
  • 2 architectures
    • 2.1 architectural styles
    • 2.2 system architectures
    • 2.3 architectures versus middleware
    • 2.4 self-management in distributed systems
  • 3 processes
    • 3.1 threads
    • 3.2 virtualization
    • 3.3 clients
    • 3.4 servers
    • 3.5 code migration
  • 4 communication
    • 4.1 fundamentals
    • 4.2 remote procedure call
    • 4.3 message-oriented communication
    • 4.4 stream-oriented communication
    • 4.5 multicast communication
  • 5 naming
    • 5.1 names, identifiers and addresses
    • 5.2 flat naming
    • 5.3 structured naming
    • 5.4 attribute-based naming
  • 6 synchronization
    • 6.1 clock synchronization
    • 6.2 logical clocks
    • 6.3 mutual exlusion
    • 6.4 global positioning of nodes
    • 6.5 election algorithms
  • 7 consistency and replication
    • 7.1 introduction
    • 7.2 data-centric consistency models
    • 7.3 client-centric consistency models
    • 7.4 replica management
    • 7.5 consistency protocols
  • 8 fault tolerance
    • 8.1 introduction to fault tolerance
    • 8.2 process resilience
    • 8.3 reliable client-server communication
    • 8.4 reliable group communication
    • 8.5 distributed commit
    • 8.6 recovery
  • 9 security
    • 9.1 introduction to security
    • 9.2 secure channels
    • 9.3 access control
    • 9.4 security management
  • 10 distributed object-based systems
    • 10.1 architecture
    • 10.2 processes
    • 10.3 communication
    • 10.4 naming
    • 10.5 synchronization
    • 10.6 consistency and replication
    • 10.7 fault tolerance
    • 10.8 security
  • 11 distributed file systems
    • 11.1 architecture
    • 11.2 processes
    • 11.3 communication
    • 11.4 naming
    • 11.5 synchronization
    • 11.6 consistency and replication
    • 11.7 fault tolerance
    • 11.8 security
  • 12 distributed web-based systems
    • 12.1 architecture
    • 12.2 processes
    • 12.3 communication
    • 12.4 naming
    • 12.5 synchronization
    • 12.6 consistency and replication
    • 12.7 fault tolerance
    • 12.8 security
  • 13 distributed coordination-based systems
    • 13.1 introduction to coordination models
    • 13.2 architectures
    • 13.3 processes
    • 13.4 communication
    • 13.5 naming
    • 13.6 synchronization
    • 13.7 consistency and replication
    • 13.8 fault tolerance
    • 13.9 security
  • 14 suggestions for further reading and bibliography

Distributed Systems: Concepts and Design (Colouris)

  • 1 characterization of distributed systems
    • 1.1 introduction
    • 1.2 examples of distributed systems
    • 1.3 trends in distributed systems
    • 1.4 focus on resource sharing
    • 1.5 challenges
    • 1.6 case study: the world wide web
  • 2 system models
    • 2.1 introduction
    • 2.2 physical models
    • 2.3 architectural models
    • 2.4 fundamental models
  • 3 networking and internetworking
    • 3.1 introduction
    • 3.2 types of network
    • 3.3 network principles
    • 3.4 internet protocols
    • 3.5 case studies: ethernet, wifi and bluetooth
  • 4 interprocess communication
    • 4.1 introduction
    • 4.2 the api for the internet protocols
    • 4.3 external data representation and marshalling
    • 4.4 multicast communication
    • 4.5 network virtualization: overlay networks
    • 4.6 case study: MPI
  • 5 remote invocation
    • 5.1 introduction
    • 5.2 request-reply protocols
    • 5.3 remote procedure call
    • 5.4 remote procedure invocation
    • 5.5 case study: java RMI
  • 6 indirect communication
    • 6.1 introduction
    • 6.2 group communication
    • 6.3 publish-subscribe systems
    • 6.4 message queues
    • 6.5 shared memory approaches
  • 7 operating systems support
    • 7.1 introduction
    • 7.2 the operating system layer
    • 7.3 protection
    • 7.4 processes and threads
    • 7.5 communication and invocation
    • 7.6 operating system architecture
    • 7.7 virtualization at the operating system level
  • 8 distributed objects and components
    • 8.1 introduction
    • 8.2 distributed objects
    • 8.3 case study: CORBA
    • 8.4 from objects to components
    • 8.5 case studies: enterprise javabeans and fractal
  • 9 web services
    • 9.1 introduction
    • 9.2 web services
    • 9.3 service descriptions and IDL for web services
    • 9.4 a directory service for use with web services
    • 9.5 XML security
    • 9.6 coordination of web services
    • 9.7 applications of web services
  • 10 peer-to-peer systems
    • 10.1 introduction
    • 10.2 napster and its legacy
    • 10.3 peer-to-peer middleware
    • 10.4 routing overlays
    • 10.5 overlay case studies: pastry, tapestry
    • 10.6 application case studies: squirrel, oceanstore, ivy
  • 11 security
    • 11.1 introduction
    • 11.2 overview of security techniques
    • 11.3 digital signatures
    • 11.4 cryptography pragmatics
    • 11.6 case studies: needham-schroeder, kerberos, tls, 802.11 wifi
  • 12 distributed file systems
    • 12.1 introduction
    • 12.2 file service architecture
    • 12.3 case study: sun network file system
    • 12.4 case study: the andrew file system
    • 12.5 enhancements and further developments
  • 13 name services
    • 13.1 introduction
    • 13.2 name services and the domain name system
    • 13.3 directory services
    • 13.5 case study: the X.500 directory service
  • 14 time and global states
    • 14.1 introduction
    • 14.2 clocks, events and process states
    • 14.3 synchronizing physical clocks
    • 14.4 logical time and logical clocks
    • 14.5 global states
    • 14.6 distributed debugging
  • 15 coordination and agreement
    • 15.1 introduction
    • 15.2 distributed mutual exclusion
    • 15.3 elections
    • 15.4 coordination and agreement in group communication
    • 15.5 consensus and related problems

Distributed Operating Systems (Tanenbaum)

  • 1 introduction to distributed systems
    • 1.1 what is a distributed system?
    • 1.2 goals
    • 1.3 hardware concepts
    • 1.4 software concepts
    • 1.5 design issues
  • 2 communication in distributed systems
    • 2.1 layered protocols
    • 2.2 asynchronous transfer mode networks
    • 2.3 the client-server model
    • 2.4 remote procedure call
    • 2.5 group communication
  • 3 synchronization in distributed systems
    • 3.1 clock synchronization
    • 3.2 mutual exclusion
    • 3.3 election algorithms
    • 3.4 atomic transactions
    • 3.5 deadlocks in distributed systems
  • 4 processes and processors in distributed systems
    • 4.1 threads
    • 4.2 system models
    • 4.3 processor allocation
    • 4.4 scheduling in distributed systems
    • 4.5 fault tolerance
    • 4.6 real-time distributed systems
  • 5 distributed file systems
    • 5.1 distributed file system design
    • 5.2 distributed file system implementation
    • 5.3 trends in distributed file systems
  • 6 distributed shared memory
    • 6.1 introduction
    • 6.2 what is shared memory?
    • 6.3 consistency models
    • 6.4 paged-based distributed shared memory
    • 6.5 shared-variable distributed shared memory
    • 6.6 object-based distributed shared memory
    • 6.7 comparison
  • 7 case study 1: amoeba
    • 7.1 introduction to amoeba
    • 7.2 objects and capabilities in amoeba
    • 7.3 process management in amoeba
    • 7.4 memory management in amoeba
    • 7.5 communication in amoeba
    • 7.6 the amoeba servers
  • 8 case study 2: mach
    • 8.1 introduction to mach
    • 8.2 process management in mach
    • 8.3 memory management in mach
    • 8.4 communication in mach
    • 8.5 unix emulation in mach
  • 9 case study 3: chorus
    • 9.1 introduction to chorus
    • 9.2 process management in chorus
    • 9.3 memory management in chorus
    • 9.4 communication in chorus
    • 9.5 unix emulation in chorus
    • 9.6 cool: an object oriented subsystem
    • 9.7 comparison of amoeba, mach and chorus
  • 10 case study 4: DCE
    • 10.1 introduction to DCE
    • 10.2 threads
    • 10.3 remote procedure call
    • 10.4 time service
    • 10.5 directory service
    • 10.6 security service
    • 10.7 distributed file system

Distributed Operating Systems: Theory and Practice (lamport)

  • 1 formal aspects of concurrent systems
    • 1.1 a formal basis for the specification of concurrent systems
    • 1.2 on the construction of distributed programs
    • 1.3 derivation of distributed algorithms
  • 2 design issues for distributed systems
    • 2.1 design of highly decentralised operating systems
    • 2.2 communication models for distributed computation
    • 2.3 new concepts for distributed system structuring
  • 3 hardware support for distributed computing systems
    • 3.1 distributed computing system architectures: hardware
    • 3.2 hardware support for the distributed operating system of the heidelberg polyp processor
  • 4 case studies
    • 4.1 the apollo domain distributed file system
    • 4.2 the chorus distributed operating system: some design issues
    • 4.3 the conic support environment for distributed systems
    • 4.4 an experience in solving a transactions ordering problem in a distributed system
    • 4.5 distributed transaction processing and the camelot system
    • 4.6 work programs

Distributed Algorithms (Lynch)

  • I synchronous network algorithms
    • 1 introduction
    • 2 modelling 1: synchronous network model
    • 3 leader election in a synchronous ring
    • 4 algorithms in general synchronous networks
    • 5 distributed consensus with link failures
    • 6 distributed consensus with process failures
    • 7 more consensus problems
  • II asynchronous algorithms
    • 8 modelling 2: asynchronous system model
  • IIA asynchronous shared memory algorithms
    • 9 modelling 3: asynchronous shared memory model
    • 10 mutual exclusion
    • 11 resource allocation
    • 12 consensus
    • 13 atomic objects
  • IIB asynchronous network algorithms
    • 14 modelling 4: asynchronous network model
    • 15 basic asynchronous network algorithms
    • 16 synchronizers
    • 17 shared memory versus networks
    • 18 logical time
    • 19 global snapshots and stable properties
    • 20 network resource allocation
    • 21 asynchronous network with process failures
    • 22 data link protocols
  • III partially synchronous algorithms
    • 23 partially synchronous system models
    • 24 mutual exlusion with partial synchrony
    • 25 consensus with partial synchrony

Distributed Algorithms for Message-Passing Systems (raynal)

  • I distributed graph algorithms
    • 1 basic definitions and network traversal algorithms
    • 2 dsitributed graph algorithms
    • 3 an algorithmic framework to compute global functions on a process graph
    • 4 leader election algorithms
    • 5 mobile objects navigating a network
  • II logical time and global states in distributed systems
    • 6 nature of distributed computations and the concept of a global state
    • 7 logical time in asynchronous distributed systems
    • 8 asynchronous distributed checkpointing
    • 9 simulating synchrony on top of asynchronous systems
  • III mutual exclusion and resource allocation
    • 10 permission-based mutual exclusion algorithms
    • 11 distributed resource allocation
  • IV high-level communication abstractions
    • 12 order constraints on message delivery
    • 13 rendezvous (synchronous) communication
  • V detection properties on distributed executions
    • 14 distributed termination detection
    • 15 distributed deadlock detection
  • VI distributed shared memory
    • 16 atomic consistency (linearizability)
    • 17 sequential consistency
    • 18 afterword

Distributed Systems An Algorithmic Approach (Ghosh)

  • I background materials
    • 1 introduction
      • 1.1 what is a distributed system
      • 1.2 why distributed systems
      • 1.3 examples of distributed systems
      • 1.4 important issues in distributed systems
      • 1.5 common subproblems
      • 1.6 implementing a distributed system
      • 1.7 parallel versus distributed systems
    • 2 interprocess communication: an overview
      • 2.1 introduction
      • 2.2 network protocols
      • 2.3 naming
      • 2.4 remote procedure call
      • 2.5 remote method invocation
      • 2.6 messages
      • 2.7 web services
      • 2.8 event notification
      • 2.9 virtualization: cloud computing
      • 2.10 mobile agents
      • 2.11 basic group communication services
      • 2.12 concluding remarks
  • II foundational topics
    • 3 models for communication
      • 3.1 need for a model
      • 3.2 message-passing model for interprocess communication
      • 3.3 shared variables
      • 3.4 modeling mobile agents
      • 3.5 relationship among models
      • 3.6 classification based on special properties
      • 3.7 complexity measures
      • 3.8 concluding remarks
    • 4 representing distributed algorithms: syntax and semantics
      • 4.1 introduction
      • 4.2 guarded actions
      • 4.3 nondeterminism
      • 4.4 atomic operations
      • 4.5 fairness
      • 4.6 central versus distributed schedulers
      • 4.7 concluding remarks
    • 5 program correctness
      • 5.1 introduction
      • 5.2 correctness criteria
      • 5.3 correctness proofs
      • 5.4 assertional reasoning: proving safety priorities
      • 5.5 proving liveness properties using well-founded sets
      • 5.6 programming logic
      • 5.7 predicate transformers
      • 5.8 concluding remarks
    • 6 time in a distributed system
      • 6.1 introduction
      • 6.2 logical clocks
      • 6.3 vector clocks
      • 6.4 physical clock synchronization
      • 6.5 concluding remarks
  • III important paradigms
    • 7 mutual exclusion
      • 7.1 introduction
      • 7.2 solutions on message-passing systems
      • 7.3 token-passing algorithms
      • 7.4 solutions on the shared-memory model
      • 7.5 mutual exclusion using special instructions
      • 7.6 group mutual exclusion
      • 7.7 concluding remarks
    • 8 distributed snapshot
      • 8.1 introduction
      • 8.2 properties of consisten snapshots
      • 8.3 chandy-lamport algorithm
      • 8.4 lai-yang algorithm
      • 8.5 distributed debugging
      • 8.6 concluding remarks
    • 9 global state collection
      • 9.1 introduction
      • 9.2 elementary algorithm for all-to-all broadcasting
      • 9.3 termination-detection algorithms
      • 9.4 wave algorithms
      • 9.5 distributed deadlock detection
      • 9.6 concluding remarks
    • 10 graph algorithms
      • 10.1 introduction
      • 10.2 routing algorithms
      • 10.3 graph traversal
      • 10.4 graph coloring
      • 10.5 cole-vishkin reduction algorithm for tree coloring
      • 10.6 maximal independent set: luby's algorithm
      • 10.7 concluding remarks
    • 11 coordination algorithms
      • 11.1 introduction
      • 11.2 leader election
      • 11.3 synchronizers
      • 11.4 concluding remarks
  • IV faults and fault-tolerant systems
    • 12 fault-tolerant systems
      • 12.1 introduction
      • 12.2 classification of faults
      • 12.3 specification of faults
      • 12.4 fault-tolerant systems
      • 12.5 tolerating crash failures
      • 12.6 tolerating omission failures
      • 12.7 concluding remarks
    • 13 distributed consensus
      • 13.1 introduction
      • 13.2 consensus in asynchronous systems
      • 13.3 consensus in synchronous systems: byzantine generals problem
      • 13.4 paxos algorithm
      • 13.5 failure detectors
      • 13.6 concluding remarks
    • 14 distributed transactions
      • 14.1 introduction
      • 14.2 classification of transactions
      • 14.3 implementing transactions
      • 14.4 concurrency control and serializability
      • 14.5 atomic commit protocols
      • 14.6 recovery from failures
      • 14.7 conclusing remarks
    • 15 group communication
      • 15.1 introduction
      • 15.2 atomic multicast
      • 15.3 ip multicast
      • 15.4 application layer multicast
      • 15.5 ordered multicasts
      • 15.6 reliable multicast
      • 15.7 open groups
      • 15.8 overview of transis
      • 15.9 concluding remarks
    • 16 replicated data management
      • 16.1 introduction
      • 16.2 architecture of replicated data management
      • 16.3 data-centric consistency tools
      • 16.4 client-centric consistency protocols
      • 16.5 implementation of data-centric consistency models
      • 16.6 quorum-based protcols
      • 16.7 replica placement
      • 16.8 brewer's cap theorem
      • 16.9 case studies
      • 16.10 concluding remarks
    • 17 self-stabilizing systems
      • 17.1 introduction
      • 17.2 theoretical foundation
      • 17.3 stabilizing mutual exclusion
      • 17.4 stabilizing graph coloring
      • 17.5 stabilizing spanning tree protocol
      • 17.6 stabilizing maximal matching
      • 17.7 distributed reset
      • 17.8 stabilizing clock phase synchronization
      • 17.9 concluding remarks
  • V real-world issues
    • 18 distributed discrete-event simulation
      • 18.1 introduction
      • 18.2 distributed simulation
      • 18.3 conservative simulation
      • 18.4 optimistic simulation and time warp
      • 18.5 concluding remarks
    • 19 security in distributed systems
      • 19.1 introduction
      • 19.2 security mechanisms
      • 19.3 common security attacks
      • 19.4 encryption
      • 19.5 secret key cryptosystem
      • 19.6 public key cryptosystems
      • 19.7 digital signatures
      • 19.8 hashing algorithms
      • 19.9 elliptic curve cryptography
      • 19.10 authentication server
      • 19.11 digital certificates
      • 19.12 case studies
      • 19.13 virtual private networks and firewalls
      • 19.14 sharing a secret
      • 19.15 concluding remarks
    • 20 sensor networks
      • 20.1 vision
      • 20.2 architecture of sensor nodes
      • 20.3 challenges in wireless sensor networks
      • 20.4 routing algorithms
      • 20.5 time synchronization using reference broadcast
      • 20.6 localization algorithms
      • 20.7 security in sensor networks
      • 20.8 applications
      • 20.9 concluding remarks
    • 21 social and peer-to-peer networks
      • 21.1 introduction to social networks
      • 21.2 metrics of social networks
      • 21.3 modeling socail networks
      • 21.4 centrality measures in social networks
      • 21.5 community detection
      • 21.6 introduction to peer-to-peer networks
      • 21.7 first-generation p2p systems
      • 21.8 second-generation p2p systems
      • 21.9 koorde and de bruijn graph
      • 21.10 skip graph
      • 21.11 replication management
      • 21.12 bittorrent and free riding
      • 21.13 censorship resistance, anonimity
      • 21.14 concluding remarks

Distributed Systems An Intuitive Approach (Wan Fokkink)

  • I message passing
    • 1 introduction
    • 2 preliminaries
    • 3 snapshots
    • 4 waves
    • 5 deadlock detection
    • 6 terminatino detection
    • 7 garbage collection
    • 8 routing
    • 9 election
    • 10 anonymous networks
    • 11 synchronous networks
    • 12 crash failures
    • 13 byzantine failures
    • 14 mutual exlusion
  • II shared memory
    • 15 preliminaries
    • 16 mutual exclusion II
    • 17 barriers
    • 18 self-stabilization
    • 19 online scheduling

Notes on Theory of Distributed Systems

  • I message passing
    • 1 introduction
    • 2 model
    • 3 coordinated attack
    • 4 broadcast and convergecast
    • 5 distributed breadth-first search
    • 6 leader election
    • 7 synchronous agreement
    • 8 byzantine agreement
    • 9 impossibility of asynchronous agreement
    • 10 paxos
    • 11 failure detectors
    • 12 logical clocks
    • 13 synchronizers
    • 14 quorum systems
  • II shared memory
    • 15 model
    • 16 distributed shared memory
    • 17 mutual exclusion
    • 18 the wait-free hiararchy
    • 19 atomic snapshots
    • 20 lower bounds on perturbable objects
    • 21 restricted-use objects
    • 22 common2
    • 23 randomized consensus and test-and-set
    • 24 renaming
    • 25 software transactional memory
    • 26 obstruction-freedom
    • 27 BG simulation
    • 28 topological methods
    • 29 approximate agreement

Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor Platform

  • 1 INTRODUCTION Controlling shared state is the only way to build reliable scalable systems. State shared by multiple units of computation limits scalability due to high synchronisation and communication costs. Moreover, shared state is a threat for reliability as failures corrupting or permanently locking shared state may poison the entire system. To facilitate the development of scalable Erlang systems and make them maintainable, we have developed three new tools—Devo, SDMon, and WombatOAM—and enhanced two others—the visualisation tool Percept and the refactorer Wrangler.
  • 2 CONTEXT
    • 2.1 Scalable Reliable Programming Models
    • 2.2 Actor Languages
    • 2.3 Erlang’s Support for Concurrency
    • 2.4 Scalability and Reliability in Erlang Systems
    • 2.5 ETS: Erlang Term Storage
  • 3 BENCHMARKS FOR SCALABILITY AND RELIABILITY
    • 3.1 Orbit
    • 3.2 Ant Colony Optimisation (ACO)
  • 4 ERLANG SCALABILITY LIMITS
    • 4.1 Scaling Erlang on a Single Host
    • 4.2 Distributed Erlang Scalability
    • 4.3 Persistent Storage
  • 5 IMPROVING LANGUAGE SCALABILITY
    • 5.1 SD Erlang Design
    • 5.2 S_group Semantics
    • 5.3 Semantics Validation
  • 6 IMPROVING VM SCALABILITY
    • 6.1 Improvements to Erlang Term Storage
    • 6.2 Improvements to Schedulers
    • 6.3 Improvements to Time Management
  • 7 SCALABLE TOOLS
    • 7.1 Refactoring for Scalability
    • 7.2 Scalable Deployment
    • 7.3 Monitoring and Visualisation
  • 8 SYSTEMIC EVALUATION
    • 8.1 Orbit
    • 8.2 Ant Colony Optimisation (ACO)
    • 8.3 Evaluation Summary
  • 9 DISCUSSION
  • APPENDIX: ARCHITECTURE SPECIFICATIONS

Microservices

⚠️ WIP ⚠️


Observability

⚠️ WIP ⚠️


Books

Programming Languages

Ada

Array Languages

The BEAM Ecosystem

Table of Contents


Erlang

Elixir

Gleam

Other

C

C++

Go

Haskell

Idris

LISP

Online Resources

Racket

Books

Basics & General - Common Lisp

Common Lisp. A Gentle Introduction to Symbolic Computation [David Touretzky]

Practical Common Lisp [Peter Seibel]

Land of Lisp [Conrad Barski]

ANSI Common Lisp [Paul Graham]

Common Lisp the Language [Guy Steele]

Basics & General - Scheme

Structure and Interpretation of Computer Programs [Guy Steele]

The Little Schemer

Other

Common Lisp. An interactive approach [Stuart Shapiro]

Loving Lisp

Successful Lisp

The Art of Lisp Programming

Advanced & Metaprogramming

Object-Oriented Programming in Common Lisp

The Art of Metaobject Protocol

On Lisp

Let over Lambda

Paradigms of Artificial Intelligence

The Bipolar Lisp Programmer

Having programmed in or around Lisp for nearly 20 years now, and
spectated a lot of Usenet postings and blogs written by Lisp
programmers, I have often wondered if there was such a thing as a 'Lisp
character', in the same way that groups and nations have a national
character.

After some thought, I decided there was definitely a Lisp profile
amongst the people using the language and that this character was
responsible for some of the interesting history of this language and its
peculiar strengths and weaknesses.

So here is an essay which will no doubt annoy several and lead to
argument.  Its called

The Bipolar Lisp Programmer

Any lecturer who serves his time will probably graduate hundreds, if not
thousands of students.  Mostly they merge into a blur; like those
paintings of crowd scenes where the leading faces are clearly picked out
and the rest just have iconic representations.   This anonymity can be
embarrassing when some past student hails you by name and you really
haven't got the foggiest idea of who he or she is.  It's both nice to be
remembered and also toe curlingly embarrassing to admit that you cannot
recognise who you are talking to.

But some faces you do remember; students who did a project under you.
Also two other categories - the very good and the very bad.   Brilliance
and abject failure both stick in the mind. And one of the oddest things,
and really why I'm writing this short essay, is that there are some
students who actually fall into both camps.  Here's another confession.
I've always liked these students and had a strong sympathy for them.

Now abject failure is nothing new in life.  Quite often I've had
students who have failed miserably for no other reason than they had
very little ability.    This is nothing new. What is new is that in the
UK, we now graduate a lot of students like that.  But, hey, that's
a different story and I'm not going down that route.

No I want to look at the brilliant failures.   Because brilliance amd
failure are so often mixed together and our initial reaction is it
shouldn't be.   But it happens and it happens a lot.  Why?

Well, to understand that, we have to go back before university. Let's go
back to high school and look at a brilliant failure in the making.
Those of you who have seen the film "Donnie Darko" will know exactly the
kind of student I'm talking about.  But if you haven't, don't worry,
because you'll soon recognise the kind of person I'm talking about.
Almost every high school has one every other year or so.

Generally what we're talking about here is a student of outstanding
brilliance.  Someone who is used to acing most of his assignments; of
doing things at the last minute but still doing pretty well at them.
At some level he doesn't take the whole shebang all that seriously;
because, when you get down to it, a lot of the rules at school are
pretty damned stupid.  In fact a lot of the things in our world don't
make a lot of sense, if you really look at them with a fresh mind.  

So we have two aspects to this guy; intellectual acuteness and not
taking things seriously.  The not taking things seriously goes with
finding it all pretty easy and a bit dull.  But also it goes with
realising that a lot of human activity is really pretty pointless, and
when you realise that and internalise it then you become cynical and
also a bit sad - because you yourself are caught up in this machine and
you have to play along if you want to get on.  Teenagers are really good
at spotting this kind of phony nonsense.  Its also the seed of an
illness; a melancholia that can deepen in later life into full blown
depression.

Another feature about this guy is his low threshold of boredom. He'll
pick up on a task and work frantically at it, accomplishing wonders in
a short time and then get bored and drop it before its properly
finished.  He'll do nothing but strum his guitar and lie around in bed
for several days after. That's also part of the pattern too; periods of
frenetic activity followed by periods of melancholia, withdrawal and
inactivity.   This is a bipolar personality.

Alright so far?  OK, well lets graduate this guy and see him go to
university.  What happens to him then?

Here we have two stories; a light story and a dark one.

The light story is that he's really turned on by what he chooses and he
goes on to graduate summa cum laude, vindicating his natural brilliance.

But that's not the story I want to look at.  I want to look at the dark
story.  The one where brilliance and failure get mixed together.

This is where this student begins by recognising that university, like
school, is also fairly phony in many ways. What saves university is
generally the beauty of the subject as built by great minds.  But if you
just look at the professors and don't see past their narrow obsession
with their pointless and largely unread (and unreadable) publications to
the great invisible university of the mind, you will probably conclude
its as phony as anything else.  Which it is.

But lets stick to this guy's story.

Now the big difference between school and university for the fresher is
FREEDOM.  Freedom from mom and dad, freedom to do your own thing.
Freedom in fact to screw up in a major way.   So our hero begins a new
life and finds he can do all he wants.  Get drunk, stumble in at 3.00
AM. So he goes to town and he relies on his natural brilliance to carry
him through because, hey, it worked at school.  And it does work for
a time.

But brilliance is not enough.  You need application too, because the
material is harder at university.   So pretty soon our man is getting
B+, then Bs and then Cs for his assignments.   He experiences
alternating feelings of failure cutting through his usual self
assurance.  He can still stay up to 5.00AM and hand in his assignment
before the 9.00AM deadline, but what he hands in is not so great.  Or
perhaps he doesn't get into beer, but into some mental digression from
his official studies that takes him too far away from the main syllabus.

This sort of student used to pass my way every now and then, riding on
the bottom of the class.   One of them had Bored> as his UNIX prompt. If
I spotted one I used to connect well with them.  (In fact I rescued one
and now he's a professor and miserable because he's surrounded by
phonies - but hey, what can you do?).   Generally he would come alive in
the final year project when he could do his own thing and hand in
something really really good.   Something that would show (shock,
horror) originality.  And a lot of professors wouldn't give it a fair
mark for that very reason - and because the student was known to be
scraping along the bottom.

Often this kind of student never makes it to the end.  He flunks himself
by dropping out.   He ends on a soda fountain or doing yard work, but
all the time reading and studying because a good mind is always hungry.

Now one of the things about Lisp, and I've seen it before, is that Lisp
is a real magnet for this kind of mind.   Once you understand that, and
see that it is this kind of mind that has contributed a lot to the
culture of Lisp, you begin to see why Lisp is, like many of its
proponents, a brilliant failure.  It shares the peculiar strengths and
weaknesses of the brilliant bipolar mind (BBM).

Why is this?  Well, its partly to do with vision.   The 'vision thing'
as George Bush Snr. once described it, is really one of the strengths of
the BBM.  He can see far; further than in fact his strength allows him
to travel.  He conceives of brilliant ambitious projects requiring great
resources, and he embarks on them only to run out of steam.  It's not
that he's lazy; its just that his resources are insufficient.

And this is where Lisp comes in.  Because Lisp, as a tool, is to the
mind as the lever is to the arm.  It amplifies your power and enables
you to embark on projects beyond the scope of lesser languages like C.
Writing in C is like building a mosaic out of lentils using a tweezer
and glue.   Lisp is like wielding an air gun with power and precision.
It opens out whole kingdoms shut to other programmers.

So BBMs love Lisp.  And the stunning originality of Lisp is reflective
of the creativity of the BBM; so we have a long list of ideas that
originated with Lispers - garbage collection, list handling, personal
computing, windowing and areas in which Lisp people were amongst the
earliest pioneers.  So we would think, off the cuff, that Lisp should be
well established, the premiere programming language because hey - its
great and we were the first guys to do this stuff.

But it isn't and the reasons why not are not in the language, but in the
community itself, which contains not just the strengths but also the
weaknesses of the BBM.

One of these is the inability to finish things off properly.  The phrase
'throw-away design' is absolutely made for the BBM and it comes from the
Lisp community.   Lisp allows you to just chuck things off so easily,
and it is easy to take this for granted.  I saw this 10 years ago when
looking for a GUI to my Lisp (Garnet had just gone West then).  No
problem, there were 9 different offerings.  The trouble was that none of
the 9 were properly documented and none were bug free. Basically each
person had implemented his own solution and it worked for him so that
was fine.   This is a BBM attitude; it works for me and I understand it.
It is also the product of not needing or wanting anybody else's help to
do something.

Now in contrast, the C/C++ approach is quite different.  It's so damn
hard to do anything with tweezers and glue that anything significant you
do will be a real achievement.  You want to document it.  Also you're
liable to need help in any C project of significant size; so you're
liable to be social and work with others.   You need to, just to get
somewhere.

And all that, from the point of view of an employer, is attractive. Ten
people who communicate, document things properly and work together are
preferable to one BBM hacking Lisp who can only be replaced by another
BBM (if you can find one) in the not unlikely event that he will, at
some time, go down without being rebootable.

Now the other aspect of the BBM that I remarked on is his sensitivity to
artifice.  To put it in plain American, he knows bullshit when he smells
it.   Most of us do.  However the BBM has much lower tolerance of it
than others.  He can often see the absurdity of the way things are, and
has the intelligence to see how they should be.  And he is, unlike the
rank and file, unprepared to compromise.  And this leads to many things.

The Lisp machines were a product of this kind of vision. It was, as
Gabriel once said, the Right Thing.  Except of course it wasn't.  Here
the refusal to compromise with the market, and to use the platforms that
the C bashers were using proved in the long run to be a fatal mistake.

And this brings me to the last feature of the BBM.  The flip side of all
that energy and intelligence - the sadness, melancholia and loss of self
during a down phase.    If you read many posts discussing Lisp
(including one in comp.lang.lisp called Common Lisp Sucks) you see it
writ large.   Veteran programmers of many years with obvious ability and
talent go down with a fit of the blues.  The intelligence is directed
inwards in mournful contemplation of the inadequacies of their favourite
programming language.   The problems are soluble (Qi is a proof of that
for God's sake), but when you're down everything seems insoluble.  Lisp
is doomed and we're all going to hell.

Actually one paper that exemplifies that more than any other is the
classic Lisp: Good News, Bad News, How to Win Big. If you read that
paper, you feel and see nature of the BBM.  Its unique because Gabriel
actually displays both aspects at the same time.   The positive side,
the intellectual pride and belief in Lisp is there.  But also in there
is the depressive 'but its all going to go to hell' aspect is there too.
This is contained in the message that Worse is Better.

So what's the message in all of this? Basically, that there are two
problems. The problem with the Lisp mindset and the problem with Lisp.
The problem of the Lisp mindset is the problem of the mindset
characteristic of the BBM.

And the problem with Lisp?  The answer is tailor made for the minds who
program it. It is the koan of Lisp.

The answer is that there is no problem with Lisp, because Lisp is, like
life, what you make of it.  

The Lisp Curse

by Rudolf Winestock

This essay is yet another attempt to reconcile the power of the Lisp
programming language with the inability of the Lisp community to
reproduce their pre-AI Winter achievements. Without doubt, Lisp has been
an influential source of ideas even during its time of retreat. That
fact, plus the brilliance of the different Lisp Machine architectures,
and the current Lisp renaissance after more than a decade in the
wilderness demonstrate that Lisp partisans must have some justification
for their smugness. Nevertheless, they have not been able to translate
the power of Lisp into a movement with overpowering momentum.

In this essay, I argue that Lisp's expressive power is actually a cause
of its lack of momentum.

The power of Lisp is its own worst enemy.

Here's a thought experiment to prove it: Take two programming languages,
neither of which are object-oriented. Your mission, if you choose to
accept it, is to make them object-oriented, keeping them
backward-compatible with the original languages, modulo some edge cases.
Inserting any pair of programming languages into this thought experiment
will show that this is easier with some languages than with others.
That's the point of the thought experiment. Here's a trivial example:
Intercal and Pascal.

Now make this thought experiment interesting: Imagine adding object
orientation to the C and Scheme programming languages. Making Scheme
object-oriented is a sophomore homework assignment. On the other hand,
adding object orientation to C requires the programming chops of Bjarne
Stroustrup.

The consequences of this divergence in needed talent and effort cause
The Lisp Curse:

Lisp is so powerful that problems which are technical issues in other
programming languages are social issues in Lisp.

Consider the case of Scheme, again. Since making Scheme object-oriented
is so easy, many Scheme hackers have done so. More to the point, many
individual Scheme hackers have done so. In the 1990s, this led to
a veritable warehouse inventory list of object-oriented packages for the
language. The Paradox of Choice, alone, guaranteed that none of them
would become standard. Now that some Scheme implementations have their
own object orientation facilities, it's not so bad. Nevertheless, the
fact that many of these packages were the work of lone individuals led
to problems which Olin Shivers wrote about in documenting the Scheme
Shell, scsh.

Programs written by individual hackers tend to follow the
scratch-an-itch model. These programs will solve the problem that the
hacker, himself, is having without necessarily handling related parts of
the problem which would make the program more useful to others.
Furthermore, the program is sure to work on that lone hacker's own
setup, but may not be portable to other Scheme implementations or to the
same Scheme implementation on other platforms. Documentation may be
lacking. Being essentially a project done in the hacker's copious free
time, the program is liable to suffer should real-life responsibilities
intrude on the hacker. As Olin Shivers noted, this means that these
one-man-band projects tend to solve eighty-percent of the problem.

Dr. Mark Tarver's essay, The Bipolar Lisp Programmer, has an apt
description of this phenomenon. He writes of these lone-wolf Lisp
hackers and their

...inability to finish things off properly. The phrase 'throw-away
design' is absolutely made for the BBM and it comes from the Lisp
community. Lisp allows you to just chuck things off so easily, and it is
easy to take this for granted. I saw this 10 years ago when looking for
a GUI to my Lisp. No problem, there were 9 different offerings. The
trouble was that none of the 9 were properly documented and none were
bug free. Basically each person had implemented his own solution and it
worked for him so that was fine. This is a BBM attitude; it works for me
and I understand it. It is also the product of not needing or wanting
anybody else's help to do something.

Once again, consider the C programming language in that thought
experiment. Due to the difficulty of making C object oriented, only two
serious attempts at the problem have made any traction: C++ and
Objective-C. Objective-C is most popular on the Macintosh, while C++
rules everywhere else. That means that, for a given platform, the
question of which object-oriented extension of C to use has already been
answered definitively. That means that the object-orientated facilities
for those languages have been documented, that integrated development
environments are aware of them, that code libraries are compatible
with them, and so forth.

Dr. Mark Tarver's essay on bipolar Lispers makes the point:

Now in contrast, the C/C++ approach is quite different. It's so damn
hard to do anything with tweezers and glue that anything significant you
do will be a real achievement. You want to document it. Also you're
liable to need help in any C project of significant size; so you're
liable to be social and work with others. You need to, just to get
somewhere.

And all that, from the point of view of an employer, is attractive. Ten
people who communicate, document things properly and work together are
preferable to one BBM hacking Lisp who can only be replaced by another
BBM (if you can find one) in the not unlikely event that he will, at
some time, go down without being rebootable.

Therefore, those who already know C don't ask "What object system should
I learn?" Instead, they use C++ or Objective-C depending on what their
colleagues are using, then move on to "How do I use object-oriented
feature X?" Answer: "Goog it and ye shall find."

Real Hackers, of course, have long known that object-oriented
programming is not the panacea that its partisans have claimed. Real
Hackers have moved on to more advanced concepts such as immutable data
structures, type inferencing, lazy evaluation, monads, arrows, pattern
matching, constraint-based programming, and so forth. Real Hackers have
also known, for a while, that C and C++ are not appropriate for most
programs that don't need to do arbitrary bit-fiddling. Nevertheless, the
Lisp Curse still holds.

Some smug Lisp-lovers have surveyed the current crop of academic
languages (Haskell, Ocaml, et cetera) and found them wanting, saying
that any feature of theirs is either already present in Lisp or can be
easily implemented — and improved upon — with Lisp macros. They're
probably right.

Pity the Lisp hackers.

Dr. Mark Tarver — twice-quoted, above — wrote a dialect of Lisp called
Qi. It is less than ten thousand lines of macros running atop Clisp. It
implements most of the unique features of Haskell and OCaml. In some
respects, Qi surpasses them. For instance, Qi's type inferencing engine
is Turing complete. In a world where teams of talented academics were
needed to write Haskell, one man, Dr. Tarver wrote Qi all by his
lonesome.

Read that paragraph, again, and extrapolate.

Exercise for the reader: Imagine that a strong rivalry develops between
Haskell and Common Lisp. What happens next?

Answer: The Lisp Curse kicks in. Every second or third serious Lisp
hacker will roll his own implementation of lazy evaluation, functional
purity, arrows, pattern matching, type inferencing, and the rest. Most
of these projects will be lone-wolf operations. Thus, they will have
eighty percent of the features that most people need (a different eighty
percent in each case). They will be poorly documented. They will not be
portable across Lisp systems. Some will show great promise before being
abandoned while the project maintainer goes off to pay his bills.
Several will beat Haskell along this or that dimension (again,
a different one in each case), but their acceptance will be hampered by
flame wars on the comp.lang.lisp Usenet group.

Endgame: A random old-time Lisp hacker's collection of macros will add
up to an undocumented, unportable, bug-ridden implementation of 80% of
Haskell because Lisp is more powerful than Haskell.

The moral of this story is that secondary and tertiary effects matter.
Technology not only affects what we can do with respect to technological
issues, it also affects our social behavior. This social behavior can
loop back and affect the original technological issues under
consideration.

Lisp is a painfully eloquent exemplar of this lesson. Lisp is so
powerful, that it encourages individual independence to the point of
bloody-mindedness. This independence has produced stunningly good
innovation as in the Lisp Machine days. This same independence also
hampers efforts to revive the "Lisp all the way down" systems of old; no
"Lisp OS" project has gathered critical mass since the demise of
Symbolics and LMI.

One result of these secondary and tertiary effects is that, even if Lisp
is the most expressive language ever, such that it is theoretically
impossible to make a more expressive language, Lispers will still have
things to learn from other programming languages. The Smalltalk guys
taught everyone — including Lisp hackers — a thing or two about object
oriented programming. The Clean programming language and the Mozart/Oz
combo may have a few surprises of their own.

The Lisp Curse does not contradict the maxim of Stanislav Datskovskiy:
Employers much prefer that workers be fungible, rather than maximally
productive. Too true. With great difficulty does anyone plumb the
venality of the managerial class. However, the last lines of his essay
are problematic. To wit:

As for the “free software” world, it eagerly opposes industrial dogmas
in rhetoric but not at all in practice. No concept shunned by cube farm
hells has ever gained real traction among the amateur masses.

In a footnote, he offers Linux as an example of this unwillingness to
pursue different ideas. To be sure, he has a point when it comes to
operating systems (the topmost comment, in particular, is infuriatingly
obtuse). He does not have a point when it comes to programming
languages. Python and Ruby were influenced by Lisp. Many of their fans
express respect for Lisp and some of their interest has augmented the
Lisp renaissance. With some justice, JavaScript has been described as
"Scheme in C's clothing" despite originating in those cube farm hells.

Nevertheless, in spite of this influence, in both the corporate and open
source worlds, Lisp still has only a fraction of the developer mind
share which the current crop of advanced scripting languages have
attracted. The closed-mindedness of MBA's cannot be the only explanation
for this. The Lisp Curse has more explanatory power.

The free development environments available for Lisp further exemplify
the Lisp Curse.

It's embarrassing to point this out, but it must be done. Forget about
the Lisp Machine; we don't even have development systems that match what
the average Smalltalk hacker takes for granted ("I've always felt Lisp
is the superior language and Smalltalk is the superior environment."
- Ramon Leon). Unless they pay thousands of dollars, Lisp hackers are
still stuck with Emacs.

James Gosling, the author of the first Emacs that ran on Unix, has
correctly pointed out that Emacs has not fundamentally changed in more
than twenty years. This is because the Emacs maintainers are still
layering code atop a design which was settled back when Emacs was
a grad-student project at the MIT AI Lab, i.e., when Emacs development
was still being indirectly financed by the national debt. A Slashdotter
may object that Emacs is already quite capable and can do anything that
any other development environment can do, only better. Those who have
used Lisp Machines say otherwise.

So why don't the Lisp hackers put the Smalltalk guys in their proper
place? Why don't they make a free development system that calls to mind
some of the lost glories of the LispM, even if they can't reproduce
another LispM?

The reason why this doesn't happen is because of the Lisp Curse. Large
numbers of Lisp hackers would have to cooperate with each other. Look
more closely: Large numbers of the kind of people who become Lisp
hackers would have to cooperate with each other. And they would have to
cooperate with each other on a design which was not already a given from
the beginning. And there wouldn't be any external discipline, such as
a venture capitalist or other corporate master, to keep them on track.

Every project has friction between members, disagreements, conflicts
over style and philosophy. These social problems are counter-acted by
the fact that no large project can be accomplished otherwise. "We must
all hang together, or we will all hang separately." But the
expressiveness of Lisp makes this countervailing force much weaker; one
can always start one's own project. Thus, individual hackers decide that
the trouble isn't worth it. So they either quit the project, or don't
join the project to begin with. This is the Lisp Curse.

One could even hack Emacs to get something that's good enough. Thus, the
Lisp Curse is the ally of Worse is Better.

The expressive power of Lisp has drawbacks. There is no such thing as
a free lunch.

Racket

Scheme

Common Lisp

Python

Rust


Learning


The language & its features

Rust vs Other Languages

Ownership

Concurrency

Async/Await

Tokio

Unsafe

Macros


Error Handling

Reddit


Testing


Fuzzing

Coverage


Development Tools

Editors

VS Code

Xi

Helix

Lapce

Zed

Cargo

Rust Analyzer


Debugging

GDB

LLDB

RR

RD


Observability

Logging

Simple minimal loggers

  • log A logging facade provides a single logging API that abstracts over the actual logging implementation. Libraries can use the logging API provided by this crate, and the consumer of those libraries can choose the logging implementation that is most suitable for its use case. In order to produce log output, executables have to use a logger implementation compatible with the facade. There are many available implementations to choose from. Executables should choose a logger implementation and initialize it early in the runtime of the program. Logger implementations will typically include a function to do this. Any log messages generated before the logger is initialized will be ignored.
  • env_logger A simple logger configured via environment variables which writes to stdout or stderr, for use with the logging facade exposed by the log crate.
  • simple_logger A rust logger that prints all messages with a readable output format. The output format is based on the format used by Supervisord.
  • simplelog simplelog does not aim to provide a rich set of features, nor to provide the best logging solution. It aims to be a maintainable, easy to integrate facility for small to medium sized projects, that find env_logger to be somewhat lacking in features. In those cases simplelog should provide an easy alternative.
  • pretty_env_logger A logger configured via an environment variable which writes to standard error with nice colored output for log levels.
  • stderrlog A simple logger to provide symantics similar to what is expected of most UNIX utilities by logging to stderr and the higher the verbosity the higher the log level. It supports the ability to provide timestamps at different granularities. As well as colorizing the different log levels.
  • flexi_logger A flexible and easy-to-use logger that writes logs to stderr and/or to files or other output streams. An easy-to-configure and flexible logger that writes logs to stderr and/or to files. It allows custom logline formats, and it allows changing the log specification at runtime. It also allows defining additional log streams, e.g. for alert or security messages.

Complex configurable frameworks

slog
  • slog Structured, contextual, extensible, composable logging for Rust. slog is a very complete logging suite for Rust. It is a core followed by many plugins such as term for terminal output, json for JSON output and more. slog is an ecosystem of reusable components for structured, extensible, composable and contextual logging for Rust. The ambition is to be The Logging Library for Rust. slog should accommodate a variety of logging features and requirements. If there is a feature that you need and standard log crate is missing, slog should have it.
  • slog-term: Unix terminal drain and formatter for slog-rs.
  • slog-json: Json formatter for slog-rs.
  • slog-atomic: Atomic run-time controllable drain for slog-rs. Using slog-atomic you can create a slog::Drain that can change behavior in a thread-safe way, in runtime. This is useful eg. for triggering different logging levels from a signal handler.
  • slog-scope: Logging scopes for slog-rs. slog-scope allows logging without manually handling Logger objects. Logging scopes are convenience functionality for slog-rs to free user from manually passing Logger objects around. A set of macros is also provided as an alternative to original slog crate macros, for logging directly to Logger of the current logging scope.
  • slog-async: Asynchronous drain for slog-rs v2.
  • slog-stdlog: Standard Rust log crate adapter to slog-rs.
  • slog-extlog: Add external logs (loggable objects), and for statistics tracking through those logs, for use with the slog ecosystem.
  • slog-syslog: Syslog drain for slog-rs.
  • slog-journald: Journald support for slog-rs. This is a straightforward journald drain for slog-rs. Journald and slog-rs work very well together since both support structured log data. This crate will convert structured data (that is, key-value pairs) into journald fields. Since journald field names are more restrictive than keys in slog-rs, key names are sanitized to be valid journald fields.
  • slog-bunyan: Based on slog-json, it will output json with bunyan defined fields.
  • slog-envlogger: Port of env_logger as a slog-rs drain. env_logger is a de facto standard Rust logger implementation, which allows controlling logging to stderr via the RUST_LOG environment variable. This is a fork of env_logger that makes it work as a slog-rs drain.
  • slog_derive: Custom derives for use with slog logging.
  • slog-example-lib: Example of a library using slog-rs
  • slog-kvfilter: Key values based filter Drain for slog-rs. Drain filtering records using list of keys and values they must have unless they are of a higher level than filtering applied. It can apply a negative filter as well that overrides any matches but will let higher level than filtering applied as well. This Drain filters a log entry on a filtermap that holds the key name in question and acceptable values Key values are gathered up the whole hierarchy of inherited loggers.
  • slog-perf: Performance and time reporting for slog-rs. This crate provides very useful tools for reporting performance metrics through slog.
  • slog-serde: Serde serialization adapter for slog-rs.
tracing.rs

Adaptors for other facilities

  • syslog: This crate provides facilities to send log messages via syslog. It supports Unix sockets for local syslog, UDP and TCP for remote servers. Messages can be passed directly without modification, or in RFC 3164 or RFC 5424 format.
  • android_log:
  • win_dbg_logger: A logger for use with Windows debuggers. Windows allows applications to output a string directly to debuggers. This is very useful in situations where other forms of logging are not available. For example, stderr is not available for GUI apps.

For WebAssembly binaries

  • console_log: A logger that logs to the browser's console. The feature set provided by this crate is intentionally very basic. If you need more flexible formatting of log messages (timestamps, file and line info, etc.) this crate can be used with the fern logger via the console_log::log function. The file and line number information associated with the log messages reports locations from the shims generated by wasm-bindgen, not the location of the logger call.

For embedded systems

  • defmt: defmt ("de format", short for "deferred formatting") is a highly efficient logging framework that targets resource-constrained devices, like microcontrollers.

Metrics

NewRelic

New Relic is a company which develops cloud-based software to help website and application owners track the performances of their services.

DataDog

Datadog is a monitoring service for cloud-scale applications, providing monitoring of servers, databases, tools, and services, through a SaaS-based data analytics platform.

Distributed Tracing

OpenTracing

OpenTelemetry

OpenTelemetry is an open source observability framework created when the Cloud Native Computing Foundation merged the OpenTracing and OpenCensus projects. There are a few crates implementing OpenTelemetry-related functionality. See Tokio tracing's related crate, tracing-opentelemetry, for example.

Jaeger

Zipkin

Honeycomb.io


Performance Engineering

Profiling

Causal Profiling

Performance Optimization


Command Line Applications

CLI Applications written in Rust

Argument Parsing

  • Rust by Example: Argument parsing
  • args An argument parsing and validation library designed to take some of tediousness out of the general 'getopts' crate.
  • arg_input ARGF-style input handling for Rust. Library functions to treat input files/stdin as if they were all a big stream.
  • argparse rust-argparse is command-line parsing module for rust. It's inspired by python's argparse module.
  • argparse-rs A simple argument parser, meant to parse command line input. It is inspired by the Python ArgumentParser.
  • argonaut A simple argument parser.
  • clap A full featured, fast Command Line Argument Parser for Rust.
  • structopt Parse command line argument by defining a struct. It combines clap with custom derive.
  • clap-verbosity-flag Easily add a --verbose flag to CLIs using Structopt
  • please-clap Pattern-match against Clap subcommands and arguments.
  • thunder Zero-boilerplate commandline argument parsing in Rust. Write simple commandline applications in Rust with zero boilerplate. Bind Rust functions to CLI functions and options with macros. This crate uses clap.rs for the actual argument parsing.
  • getopts A Rust library for option parsing for CLI utilities.
  • clioptions A very thin wrapper for command line arguments in Rust.

Input

  • trompt A simple prompting library for rust.
  • promptly Simple, opinionated CLI prompting helper.
  • linenoise-rust A minimal, zero-config, BSD licensed, readline replacement.
  • dialoguer A command line prompting library.

Output

  • cursive A TUI (Text User Interface) library focused on ease-of-use. It uses ncurses by default, but other backends are available.
  • tui-rs A library to build rich terminal user interfaces or dashboards. The library itself supports four different backends to draw to the terminal. You can either choose from: termion, rustbox, crossterm, pancurses.
  • clicolors-control A utility library for Rust that acts as a common place to control the colorization for CLI tools.
  • colorizex
  • pbr Terminal progress bar for Rust, inspired from pb, support and tested on MacOS, Linux and Windows.
  • yapb Lightweight, pure, and unopinionated Unicode progress visualization
  • indicatif A Rust library for indicating progress in command line applications to users. This currently primarily provides progress bars and spinners as well as basic color support, but there are bigger plans for the future of this!
  • progress progress is meant to be a set of useful tools for showing program running progress (as its name) and steps.
  • fui Add CLI & form interface to your program.
  • text-tables A terminal/text table prettifier with no dependencies. This library provides very simple table printing using text characters. It has no dependencies besides std.
  • termtables An ASCII table generator.
  • prettytable-rs A library for printing pretty formatted tables in terminal.
  • treeline A library for visualizing tree structured data.

Error Handling

  • clierr Non-panicking error handling for small CLI scripts.
  • userror User-facing error messages for command-line programs.

Other

  • assert_cli: Test CLI applications. This crate checks the output of a chile process is as expected.
  • carboxyl Library for functional reactive programming
  • cargo_cli Create a command line interface binary with some common dependencies ((clap || docopt) and error_chain)
  • clams Clams help building shells
  • clin Command completion desktop notifications
  • crossterm A crossplatform terminal library for manipulating terminals.
  • foropts An argument-parsing iterator
  • lockfile Create lockfiles that remove themselves when they are dropped
  • quicli Quickly build cool CLI apps in Rust.
  • rust-clock Rust library to create a hh:mm:ss CLI clock from seconds or miliseconds.
  • texture Micro-engine for creating text-based adventures
  • tomlcli Pretty print and query TOML files
  • unixcli Helper library for writing unix command line utilities in Rust
  • yacli Library for creating CLI tools with a look and feel similiar to Cargo

Configuration Management


Interop

Serializing/Deserializing

Serde

Porting from C to Rust

C

Erlang & Elixir

Python


Algorithms

Combinatorics

Sorting

Searching

Hashing

Judy Arrays

Graphs

Evaluation Graphs

  • nannou-org/gantz A crate for creating and evaluating executable directed graphs at runtime. In other words, gantz allows users to compose programs described by interconnected nodes on the fly.

Probabilistic Data Structures

State Machines


Entity Component Systems

SPECS

Legion

hecs

Bevy ECS

Bevy ECS is a fork of hecs which in turn is a trimmed down version of Legion.


Games

Amethyst

GGEZ

Piston

Bevy

Rapier

Roguelikes


Graphics

Nannou


User Interfaces

Druid


Storage & Data Bases

Sled

TiKV

TiDB

Noria

Apache Arrow

Timely & Differential Dataflow


Tantivy

Sonic

Meilisearch


Operating Systems

TockOS

Redox


Cloud

AWS


Embedded


Cross Compiling


Programming Language Technology

Parsing

LARLPop

Nom

Menhir

Pratt Parsers

Chumsky

Tree Sitter


LLVM


Rustc Compiler

Rust Compilation Speed

Cranelift

GCC-Rust


Notes

Q
  is there a way to pass an enum's variant as argument (somehow)?
  I have a recursive enum, like: enum Rec { V1, V2(Box<Rec>, Box<Rec>) }

  If I am in function A, I have a Rec r, but I know for a fact that it matches variant V2, how can I declare a function that only takes V2's?
  It's very annoying to always have to test whether my input Rec matches V2, I would like to do that from the type system pov
  instead of just always assert at the beginning of the function that only takes V2
  I mean, basic polymorphism I guess.
  I've seen solutions saying to have an extra struct with the contents of that variant to make a type out of it, and then the variant just wraps that struct.

A
  usually an extra struct and then fn {as,into}_v2(self) -> Option<V2Data> functions are quite common so you can do

  let r = Rec::V2(..);
  if let Some(v2) = r.as_v2() {
     v2.do_stuff()
  }

Debugging Rust

The println! and eprintln! macros

There are two main output streams in Linux (and other OSs), standard output (stdout) and standard error (stderr). Error messages, like the ones you show, are printed to standard error. The classic redirection operator (command > file) only redirects standard output, so standard error is still shown on the terminal. To redirect stderr as well, you have a few choices:

Redirect stdout to one file and stderr to another file:

command >| stdout.txt 2>| stderr.txt

Redirect stdout to a file (>out), and then redirect stderr to stdout (2>&1):

command >out 2>&1

Redirect both to a file (this isn't supported by all shells, bash and zsh support it, for example, but sh and ksh do not):

command &> out

zsh: setopt noclobber

posix >| and 2>|

tail -F

fish behaviour igaray@monolith ~> echo "test2" >| test.txt test.txt: command not found fish: echo "test2" >| test.txt ^

  • Beware the formatting cost. Turning large data structures into their Display or Debug string representations may be costly.

  • Beware the implicit lock.

    • If you need to output a large amount, take an explicit lock on stdout.

    • The println! and eprintln! macros delegates to print!(), which calls std::io::_print, which calls print_to by passing &LOCAL_STDOUT as an argument. LOCAL_STDOUT is defined like this:

#![allow(unused)]
fn main() {
/// Stdout used by print! and println! macros
thread_local! {
    static LOCAL_STDOUT: RefCell<Option<Box<Write + Send>>> = {
        RefCell::new(None)
    }
}
}
  • On an older system (2010 MBP 2.4GHz i5 520M) in debug I get ~900ms for a million println! in a loop piping the output to /dev/null.
  • Switching to write! on a locked stdout increases runtime in debug (to ~1000ms) but lowers it significantly in release mode (to ~650ms).
  • Wrapping a BufWriter around the locked stdout increases the runtime even more in debug mode (to ~2000ms), but makes it essentially disappear in release mode (~70ms).

The dbg! macro

Prints and returns the value of a given expression for quick and dirty debugging.

Backtraces

  • Set RUST_BACKTRACE=1 to capture and print backtraces in case of panic.
  • Try not to need backtraces in production and use them as a development tool to debug unexpected error cases.
  • It's ok to enable backtraces in production, when error construction doesn’t execute costly logic to collect and store backtraces. In addition there are cases where the libbacktrace internals run into pathologically slow edge cases, inwhich you may want the ability to turn backtraces off.
  • You can env::set_var("RUST_BACKTRACE", "1") at specific entry points to always have backtraces in output.
  • If you need to programatically manipulate backtraces, use:

GDB

Setup

Basic use

Threads

pwndbg

pwndbg make GDB more visually friendly.

  • https://github.com/pwndbg/pwndbg
  • https://blog.xpnsec.com/pwndbg/
  • https://www.ins1gn1a.com/basics-of-gdb-and-pwndbg/

LLDB

VisualStudio Code + CodeLLDB

an extension in the Visual Studio Code.

RR

RD


GDB

LLDB

RR

RD

Rust logging and tracing.rs

February 10th, 2021: WIP

Let's take a dive into how to use the tracing.rs logging framework in a single-process application. There are some very good articles on this, such as the announcement post on the tokio blog Diagnostics with Tracing by Eliza Weisman, and Production-Grade Logging in Rust Applications by Ecky Putrady. You should also, if you have not done so already, watch Eliza's excellent presentation of tracing.rs at RustConf 2019.

These are great for getting started but tracing.rs has a lot of moving parts and we want to understand how they connect. In addition, I don't just want to show how certain things are done with tracing.rs, but also walk through the mental process and skills involved in learning and researching a Rust library.

Table of Contents:

Logging and tracing.rs basics

In case you haven't already read those articles, or don't have half a decade of caring for production systems serving network traffic, we'll go over some basic concepts, but if you've read them and seen the tracing documentation, you can skip this section.

As the documentation states:

tracing is a framework for instrumenting Rust programs to collect structured, event-based diagnostic information.

What does all this mean?

TODO: reiterate a summary of tracing's core concepts.

Starting out

We need a playground, so create a new binary create with cargo:

$ cargo new testapp
$ cd testapp

Edit your Cargo.tomland add the tracing dependency. As of January 2021, the latest version is 0.1.22.

$ cat Cargo.toml
...
[dependencies]
tracing = "0.1.22"

Edit your default src/main.rs file so that it looks like this:

use tracing;

fn main() {
    debug!("Hello, world!");
}

And now build and run:

$ cargo build
    Updating crates.io index
    ...
    Finished dev [unoptimized + debuginfo] target(s) in 9.36s
$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.07s
     Running `target/debug/testapp`

Nothing happened! This is because tracing, by itself, doesn't provide or say anything about how log events should be collected, processed, formatted, written to disk or sent over the network, nothing. That's a lot of design decisions which change depending on your logging needs, and in order to be flexible, tracing just provides an interface with which we can specify events and spans, and talk to subscribers which do all of the above.

TODO: WIP

The most basic logging, what would be functionally equivalent to using println!, would be to install a

To get some method of doing

Let's add the tracing-subscriber dependency to our Cargo.toml:

tracing-subscriber = "0.2.15"

We'll have to import it and call a function in main.rs:

use tracing::debug;
use tracing_subscriber;

fn main() {
    tracing_subscriber::fmt::init();
    debug!("Hello, world!");
}
$ cargo run

Still nothing! This is rather unfortunate, but what's happening is that we are the victims of our own doing, because we didn't quite read the documentation, did we? Let's go on over to docs.rs and search for the tracing_subscriber crate docs. If we type fmt::init in the search box, we get the result we wanted: the init function documentation.

Which state that this functions will:

Install a global tracing subscriber that listens for events and filters based
on the value of the RUST_LOG environment variable.
If the tracing-log feature is enabled, this will also install the LogTracer
to convert Log records into tracing Events.

So now we know that the subscriber we installed is controlled by the value of a RUST_LOGenvironment variable, which is a common way of specifying the logging level. Since we did not set it's value, and can assume that it will have a default value, we can theorize that perhaps if we did set it to some appropriate value, we would get output. It would be nice if these default values were documented.

$ RUST_LOG=debug cargo run
Jan 03 19:55:00.784 DEBUG testapp: Hello, world!

Aha! Finally some output

Logging levels

Great, so now we can emit information to the console as with println!, and we get some more stuff for our trouble: timestamps, the logging level, and nice colors. Let's see what else we can use.

tracing provides the trace, debug, info, warning, and error logging levels, which you can see in the Level documentation.

Let's edit our main.rs:

use tracing::{trace, debug, info, warn, error};
use tracing_subscriber;

fn main() {
    tracing_subscriber::fmt::init();
    trace!("trace");
    debug!("debug");
    info!("info");
    warn!("warn");
    error!("error");
}
% RUST_LOG=trace cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/testapp`
Jan 03 20:13:55.633 TRACE testapp: trace
Jan 03 20:13:55.633 DEBUG testapp: debug
Jan 03 20:13:55.633  INFO testapp: info
Jan 03 20:13:55.633  WARN testapp: warn
Jan 03 20:13:55.633 ERROR testapp: error
% RUST_LOG=debug cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/testapp`
Jan 03 20:13:55.633 DEBUG testapp: debug
Jan 03 20:13:55.633  INFO testapp: info
Jan 03 20:13:55.633  WARN testapp: warn
Jan 03 20:13:55.633 ERROR testapp: error
% RUST_LOG=info cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/testapp`
Jan 03 20:13:55.633  INFO testapp: info
Jan 03 20:13:55.633  WARN testapp: warn
Jan 03 20:13:55.633 ERROR testapp: error
% RUST_LOG=warn cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/testapp`
Jan 03 20:13:55.633  WARN testapp: warn
Jan 03 20:13:55.633 ERROR testapp: error
% RUST_LOG=error cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.10s
     Running `target/debug/testapp`
Jan 03 20:13:55.633 ERROR testapp: error

Using tracing with the log and env-logger crates

So to recap so far, to get our logging we had to

  1. Include the tracing crate as a dependency
  2. Declare we wanted to use it
  3. Install a subscriber to actually do something to the events we emit.

TODO: explain how to use env-logger instead of tracing-subscriber.

Beyond the tracing::fmt subscriber defaults

TODO: explain the defaults that fmt brings and how to change them

Using the RUST_LOG environment variable

TODO: explain env-loggers filtering syntax and tracing's extensions

Structured logging

TODO: explain how to include type-safe data in the log events.

Using spans manually

TODO: explain how to use manual spans and their use cases vs the instrument attribute.

Using the #[tracing::instrument] attribute

TODO: explain how to use the instrument attribute instead of doing it manually for functions.

Using tracing-tree

TODO: explain how to use the tracing-tree dependency and subcriber implementation to log execution traces in tree formats, for understanding code flow.

Using async

TODO

Changing the filter at run-time

TODO

Logging in a library

TODO

Logging in an actix application

TODO

Conclusions

TODO

Rust Resources: Books

The Rust Programming Language (Klabnik, Nichols)

  • 1 Getting Started
    • lnstallation
    • Hello, World!
    • Hello, Cargo!
  • 2 Programming a Guessing Game
  • 3 Common Programming Concepts
    • Variables and Mutability
    • Data Types
    • Functions
    • Comments
    • Control Flow
  • 4 Understanding Ownership
    • What is Ownership?
    • References and Borrowing
    • The Slice Type
  • 5 Using Structs to Structure Related Data
    • Defining and Instantiating Structs
    • En Example Program Using Structs
    • Method Syntax
  • 6 Enums and Pattern Matching
    • Defining an Enum
    • The match Control Flow Operator
    • Concise Control Flow with if let
  • 7 Managing Growing Projects with Packages, Crates, and Modules
    • Pacakging and Crates
    • Defining Modules to Control Scope and Privacy
    • Paths for Referring to an Item in the Module Tree
    • Bringing Paths Into Scope with the use Keyword
    • Separating Modules into Different Files
  • 8 Common Collections
    • Storing Lists of Values with Vectors
    • Storing UTF-8 Encoded Text with Strings
    • Storing Keys with Associated Values in Hash Maps
  • 9 Error Handling
    • Unrecoverable Errors with panic!
    • Recoverable Errors with Result
    • To panic! or not to panic!
  • 10 Generic Types, Trraits and Lifetimes
    • Generic Data Types
    • Traits: Defining Shared Behaviour
    • Validating References with Lifetimes
  • 11 Writing Automated Tests
    • How to Write Tests
    • Controlling How Tests are Run
    • Test Organization
  • 12 An I/O Project: Building a Command Line Program
    • Accepting Command Line Arguments
    • Reading a File
    • Refactoring to Improve Modularity and Error Handling
    • Developing the Library's Functionality with Test Driven Development
    • Working with Environment Variables
    • Writing Error Messages to Standard Error instead of Standard Output
  • 13 Functional Language Features: Iterators and Closures
    • Closures: Anonymous Functions that Can Capture Their Environment
    • Processing a Series of Items with Iterators
    • Improving our I/O Project
    • Comparing Performance: Loops vs Iterators
  • 14 More About Cargo and Crates.io
    • Customizing Builds with Release Profiles
    • Publishing a Crate to Crates.io
    • Cargo Workspaces
    • Installing Binaries from Crates.io with cargo install
  • 15 Smart Pointers
    • Using Box to Point to Data on the Heap
    • Treating Smart Pointers Like Regular References with the Deref Trait
    • Running Code on Cleanup with the Drop Trait
    • Rc the Reference Counted Smart Pointer
    • RefCell and the Interior Mutability Pattern
    • Reference Cycles Can Leak Memory
  • 16 Fearless Concurrency
    • Using Threads to Run Code Simultaneously
    • Using Message Passing to Transfer Data Between Threads
    • Shared-State Concurrency
    • Extensible Concurrency with the Sync and Send Traits
  • 17 Object-Oriented Programming Features of Rust
    • Characteristics of Object-Oriented Languages
    • Using Trait Objects That Allow for Values of Different Types
    • Implementing an Object-Oriented Design Pattern
  • 18 Patterns and Matching
    • All the Places Patterns Can Be Used
    • Refutability: Whether a Pattern Might Fail to Match
    • Pattern Syntax
  • 19 Advanced Features
    • Unsafe Rust
    • Advanced Traits
    • Advanced Types
    • Advanced Functions and Closures
    • Macros
  • 20 Final Project: Building a Multithreaded Web Server
    • Building a Single-Threaded Web Server
    • Turning our Single-Threaded Server into a Multithreaded Server
    • Graceful Shutdown and Cleanup
  • 21 Appendix
    • A Keywords
    • B Operators and Symbols
    • C Derivable Traits
    • D Useful Development Tools
    • E Editions
    • F Translations of the Book
    • G How Rust is Made and "Nightly Rust"

Programming Rust (Blandy, Orendorff)

  • 1 Why Rust?
  • 2 A Tour of Rust
  • 3 Basic Types
  • 4 Ownership
  • 5 References
  • 6 Expressions
  • 7 Error Handling
  • 8 Crates and Modules
  • 9 Structs
  • 10 Enums and Patterns
  • 11 Traits and Generics
  • 12 Operator Overloading
  • 13 Utility Traits
  • 14 Closures
  • 15 Iterators
  • 16 Collections
  • 17 Strings and Text
  • 18 Input and Output
  • 19 Concurrency
  • 20 Macros
  • 21 Unsafe Code

Mastering Rust (Vesa Kaihlavirta)

  • Source
  • 1 Getting Your Feet Wet
  • 2 Using Cargo to Build Your First Program
  • 3 Unit Testing and Benchmarking
  • 4 Types
  • 5 Error Handling
  • 6 Memory, Lifetimes, Borrowing
  • 7 Concurrency
  • 8 Macros
  • 9 Compiler Plugins
  • 10 Unsafety and Interfacing with Other Languages
  • 11 Parsing and Serialization
  • 12 Web Programming
  • 13 Data Storage
  • 14 Debugging
  • 15 Solutions and Final Words

Rust Cookbook (Dhinakaran)

  • 1 Let's make system programming great again
  • 2 Advanced Programming with Rust
  • 3 Deep Dive into Cargo
  • 4 Creating Crates and Modules
  • 5 Deep Dive into Parallelism
  • 6 Efficient Error Handling
  • 7 Hacking Macros
  • 8 Integrating Rust with other languages
  • 9 Web Development with Rust
  • 10 Advanced web development in Rust
  • 11 Advance Rust Tools and libraries

Rust Programming Cookbook (Matzinger)

  • 1 Starting off with Rust
  • 2 Going further with advanced programming
  • 3 Managing projects with cargo
  • 4 Fearless Concurrency
  • 5 Handling errors and other results
  • 6 Express yourself with macros
  • 7 Integrating Rust with Other Languages
  • 8 Safe programming for the web
  • 9 Systems programming made easy.
  • 10 Getting practical with Rust

Rust Standard Library Cookbook (Durante, Ferner)

  • 1 The basics
  • 2 Working with collections
  • 3 Handling files and the filesystem
  • 4 Serialization
  • 5 Advanced data structures
  • 6 Handling errors
  • 7 Parallelism and Rayon
  • 8 Working with futures
  • 9 Networking
  • 10 Using experimental Nightly Features

Hands-On Data Structures and Algorithms with Rust [Matzinger]

  • Source
  • 1 Hello Rust!
  • 2 Cargo and Crates
  • 3 Storing Efficiently
  • 4 Lists, lists, and more lists
  • 5 Robust Trees
  • 6 Exploring Maps and Sets
  • 7 Collections in Rust
  • 8 Algorithm Evaluation
  • 9 Ordering Things
  • 10 Finding Stuff
  • 11 Random and Combinatorial
  • 12 Algorithms in the Standard Library

Rust High Performance

Source

  • 1 Common Performance Pitfalls
    • Asking the Rust compiler about performance
    • Translation issues
  • 2 Extra Performance Enhancements
    • Compile-time checks
    • Extra performance tips
    • Standard library collections
  • 3 Memory Management in Rust
    • Mastering the borrow checker
    • Memory representation
    • Shared pointers
  • 4 Lints and Clippy
    • Using Rust compiler lints
    • Clippy
  • 5 Profiling Your Rust Application
    • Understanding the hardware
    • Profiling tools
  • 6 Benchmarking
    • Selecting what to benchmark
    • Benchmarking in nightly Rust
    • Benchmarking in stable rust
    • Continuous integration for benchmarking
  • 7 Built-in Macros and Configuration Items
    • Understanding attributes
    • Macros
    • Nightly Rust
  • 8 Must-have macro crates

Rust Stdlib

Rust stdlib: Intro

Basic Types

  • array: A fixed-size array, denoted [T; N], for the element type, T, and the non-negative compile-time constant size, N.
  • bool: The boolean type.
  • char: A character type.
  • f32: The 32-bit floating point type.
  • f64: The 64-bit floating point type.
  • fn: Function pointers, like fn(usize) -> bool.
  • i8: The 8-bit signed integer type.
  • i16: The 16-bit signed integer type.
  • i32: The 32-bit signed integer type.
  • i64: The 64-bit signed integer type.
  • i128: The 128-bit signed integer type.
  • isize: The pointer-sized signed integer type.
  • pointer: Raw, unsafe pointers, *const T, and *mut T.
  • reference: References, both shared and mutable.
  • slice: A dynamically-sized view into a contiguous sequence, [T]. Contiguous here means that elements are laid out so that every element is the same distance from its neighbors.
  • str: String slices.
  • tuple: A finite heterogeneous sequence, (T, U, ..).
  • u8: The 8-bit unsigned integer type.
  • u16: The 16-bit unsigned integer type.
  • u32: The 32-bit unsigned integer type.
  • u64: The 64-bit unsigned integer type.
  • unit: The () type, also called "unit".
  • usize: The pointer-sized unsigned integer type.
  • primitive: This module reexports the primitive types to allow usage that is not possibly shadowed by other declared types.

Modules

Basic Types

  • array: Implementations of things like Eq for fixed-length arrays up to a certain length. Eventually, we should be able to generalize to all lengths.
  • f32: This module provides constants which are specific to the implementation of the f32 floating point data type.
  • f64: This module provides constants which are specific to the implementation of the f64 floating point data type.
  • i8: The 8-bit signed integer type.
  • i16: The 16-bit signed integer type.
  • i32: The 32-bit signed integer type.
  • i64: The 64-bit signed integer type.
  • i128: The 128-bit signed integer type.
  • isize: The pointer-sized signed integer type.
  • num: Additional functionality for numerics.
  • u8: The 8-bit unsigned integer type.
  • u16: The 16-bit unsigned integer type.
  • u32: The 32-bit unsigned integer type.
  • u64: The 64-bit unsigned integer type.
  • u128: The 128-bit unsigned integer type.
  • usize: The pointer-sized unsigned integer type.

Error handling

  • error: Traits for working with Errors.
  • panic: Panic support in the standard library.
  • result: Error handling with the Result type.

Text

  • ascii: Operations on ASCII strings and characters.
  • char: A character type.
  • fmt: Utilities for formatting and printing Strings.
  • str: Unicode string slices.
  • string: A UTF-8 encoded, growable string.

Containers

  • cell: Shareable mutable containers.
  • collections: Collection types.
  • hash: Generic hashing support.
  • iter: Composable external iteration.
  • vec: A contiguous growable array type with heap-allocated contents, written Vec<T>.

Memory

  • alloc: Memory allocation APIs
  • borrow: A module for working with borrowed data.
  • boxed: A pointer type for heap allocation.
  • mem: Basic functions for dealing with memory.
  • pin: Types that pin data to its location in memory.
  • ptr: Manually manage memory through raw pointers.
  • rc: Single-threaded reference-counting pointers. 'Rc' stands for 'Reference Counted'.
  • slice: A dynamically-sized view into a contiguous sequence, [T].

Types

  • any: This module implements the Any trait, which enables dynamic typing of any 'static type through runtime reflection.
  • clone: The Clone trait for types that cannot be 'implicitly copied'.
  • convert: Traits for conversions between types.
  • default: The Default trait for types which may have meaningful default values.
  • marker: Primitive traits and types representing basic properties of types.
  • ops: Overloadable operators.
  • option: Optional values.

Interacting with the World

  • env: Inspection and manipulation of the process's environment.
  • ffi: Utilities related to FFI bindings.
  • fs: Filesystem manipulation operations.
  • io: Traits, helpers, and type definitions for core I/O functionality.
  • net: Networking primitives for TCP/UDP communication.
  • os: OS-specific functionality.
  • path: Cross-platform path manipulation.
  • process: A module for working with processes.
  • time: Temporal quantification.

Concurrency

  • future: Asynchronous values.
  • sync: Useful synchronization primitives.
  • task: Types and Traits for working with asynchronous tasks.
  • thread: Native threads.

Misc

  • hint: Hints to compiler that affects how code should be emitted or optimized.
  • prelude: The Rust Prelude.

Macros

Assertions & Debugging

  • assert: Asserts that a boolean expression is true at runtime.
  • assert_eq: Asserts that two expressions are equal to each other (using PartialEq).
  • assert_ne: Asserts that two expressions are not equal to each other (using PartialEq).
  • dbg: Prints and returns the value of a given expression for quick and dirty debugging.
  • debug_assert: Asserts that a boolean expression is true at runtime.
  • debug_assert_eq: Asserts that two expressions are equal to each other.
  • debug_assert_ne: Asserts that two expressions are not equal to each other.

Source

  • column: Expands to the column number at which it was invoked.
  • file: Expands to the file name in which it was invoked.
  • include: Parses a file as an expression or an item according to the context.
  • include_bytes: Includes a file as a reference to a byte array.
  • include_str: Includes a utf8-encoded file as a string.
  • module_path: Expands to a string that represents the current module path.

Control Flow

  • compile_error: Causes compilation to fail with the given error message when encountered.
  • is_x86_feature_detected: A macro to test at runtime whether a CPU feature is available on x86/x86-64 platforms.
  • line: Expands to the line number on which it was invoked.
  • matches: Returns whether the given expression matches any of the given patterns.
  • panic: Panics the current thread.
  • todo: Indicates unfinished code.
  • unimplemented: Indicates unimplemented code by panicking with a message of "not implemented".
  • unreachable: Indicates unreachable code.

Configuration

  • cfg: Evaluates boolean combinations of configuration flags at compile-time.
  • env: Inspects an environment variable at compile time.
  • option_env: Optionally inspects an environment variable at compile time.

Data

  • thread_local: Declare a new thread local storage key of type std::thread::LocalKey.
  • vec: Creates a Vec containing the arguments.

Output

  • concat: Concatenates literals into a static string slice.
  • eprint: Prints to the standard error.
  • eprintln: Prints to the standard error, with a newline.
  • format: Creates a String using interpolation of runtime expressions.
  • format_args: Constructs parameters for the other string-formatting macros.
  • print: Prints to the standard output.
  • println: Prints to the standard output, with a newline.
  • stringify: Stringifies its arguments.
  • write: Writes formatted data into a buffer.
  • writeln: Write formatted data into a buffer, with a newline appended.

Rust stdlib: Built-in Types

Rust stdlib: Error Handling

Rust stdlib: Text

Rust stdlib: Containers

Rust stdlib: Memory

Rust stdlib: Types

Rust stdlib: Interacting with the World

Rust stdlib: Concurrency

Rust stdlib: Macros

SQL

Table of Contents


SQL Explain

Understanding EXPLAIN’s Output

For every select, subselect or join EXPLAIN will output one row with information how the data for this part of the query will be retrieved if you execute the query.

To get real performance data the query caching has been disabled using SET SESSION query_cache_type = OFF

The columns returned by the query are:

  id
    a sequential identifier for each SELECT within the query
    (for when you have nested subqueries)
  select_type
    the type of SELECT query. Possible values are:
      SIMPLE
      – the query is a simple SELECT query without any subqueries or UNIONs
      PRIMARY
      – the SELECT is in the outermost query in a JOIN
      DERIVED
      – the SELECT is part of a subquery within a FROM clause
      SUBQUERY
      – the first SELECT in a subquery
      DEPENDENT SUBQUERY
      – a subquery which is dependent upon on outer query
      UNCACHEABLE SUBQUERY
      – a subquery which is not cacheable
        (there are certain conditions for a query to be cacheable)
      UNION
      – the SELECT is the second or later statement of a UNION
      DEPENDENT UNION
      – the second or later SELECT of a UNION is dependent on an outer query
      UNION RESULT
      – the SELECT is a result of a UNION
  table
    the table referred to by the row
  type
    how MySQL joins the tables used.
    This is one of the most insightful fields in the output because it can
    indicate missing indexes or how the query is written should be reconsidered.
    Possible values are:
      system          - the table has only zero or one row
      const           - the table has only one matching row which is indexed.
                        This is the fastest type of join because the table only
                        has to be read once and the column’s value can be treated
                        as a constant when joining other tables.
      eq_ref          - all parts of an index are used by the join and the index
                        is PRIMARY KEY or UNIQUE NOT NULL.
                        This is the next best possible join type.
      ref             - all of the matching rows of an indexed column are read for each
                        combination of rows from the previous table.
                        This type of join appears for indexed columns compared using =
                        or <=> operators.
      fulltext        - the join uses the table’s FULLTEXT index.
      ref_or_null     - this is the same as ref but also contains rows with a
                        null value for the column.
      index_merge     – the join uses a list of indexes to produce the result set.
                        The key column of EXPLAIN‘s output will contain the keys used.
      unique_subquery – an IN subquery returns only one result from the table and
                        makes use of the primary key.
      index_subquery  – the same as unique_subquery but returns more than one
                        result row.
      range           – an index is used to find matching rows in a specific
                        range, typically when the key column is compared to a
                        constant using operators like BETWEEN, IN, >, >=, etc.
      index           – the entire index tree is scanned to find matching rows.
      all             – the entire table is scanned to find matching rows for
                        the join.
                        This is the worst join type and usually indicates the
                        lack of appropriate indexes on the table.
  possible_keys
    shows the keys that can be used by MySQL to find rows from the table,
    though they may or may not be used in practice.
    In fact, this column can often help in optimizing queries since if the
    column is NULL, it indicates no relevant indexes could be found.
  key
    indicates the actual index used by MySQL.
    key=null means that no key was used to retrieve the data
    This column may contain an index that is not listed in the possible_key column.
    MySQL optimizer always look for an optimal key that can be used for the query.
    While joining many tables, it may figure out some other keys which is not
    listed in possible_key but are more optimal.
    To force MySQL to use or ignore an index listed in the possible_keys column,
    use FORCE INDEX, USE INDEX, or IGNORE INDEX in your query
  key_len
    indicates the length of the index the Query Optimizer chose to use.
    For example, a key_len value of 4 means it requires memory to store four
    characters. Check out MySQL’s data type storage requirements to know more
    about this.
  ref
    Shows the columns or constants that are compared to the index named in the
    key column  to select rows from the table.
    MySQL will either pick a constant value to be compared or a column itself
    based on the query execution plan.
  rows
    lists the number of records that were examined to produce the output.
    In an ideal case rows should be equal with the number of results you expect.
    This Is another important column worth focusing on optimizing queries,
    especially for queries that use JOIN and subqueries.
  Extra
    contains additional information regarding the query execution plan.
    Values such as “Using temporary”, “Using filesort”, etc. in this column may
    indicate a troublesome query.
    For a complete list of possible values and their meaning,
    check out the MySQL documentation.
    http://dev.mysql.com/doc/refman/5.6/en/explain-output.html#explain-extra-information

* EXTRA COLUMN

  * Using Filesort
    Anytime a sort can’t be performed from an index, it’s a filesort.
    It has nothing to do with files. Filesort should be called “sort.”
    If the sort is bigger than the sort buffer, it is performed a bit at a time,
    and then the chunks are merge-sorted to produce the final sorted output.
    There is a lot more to it than this.
    http://s.petrunia.net/blog/?p=24

* GETTING INFORMATION

  use information_schema;
  SELECT * FROM statistics;

  SHOW INDEX FROM mytable FROM mydb;

Zig

  • https://ziglang.org/documentation/0.7.0/#Introduction
  • https://arne.me/blog/thoughts-on-zig
    • https://lobste.rs/s/fy551x/thoughts_on_zig
  • https://thenewstack.io/rust-vs-zig-in-reality-a-somewhat-friendly-debate/
    • https://lobste.rs/s/uhtjdz/rust_vs_zig_reality_somewhat_friendly
  • https://medium.com/@penberg/why-i-am-not-yet-ready-to-switch-to-zig-from-rust-3660e02f0060
    • https://news.ycombinator.com/item?id=40681862
  • https://github.com/judofyr/spice
    • https://news.ycombinator.com/item?id=41230344
  • https://floooh.github.io/2024/08/24/zig-and-emulators.html
  • https://ziglang.org/documentation/master/
  • https://zserge.com/posts/zig-the-small-language/
  • http://ziglang.org/
  • http://andrewkelley.me/post/intro-to-zig.html
  • https://blog.jfo.click/how-zig-do/
  • https://www.recurse.com/events/localhost-andrew-kelley
  • https://news.ycombinator.com/item?id=18422631
  • https://www.youtube.com/watch?v=Z4oYSByyRak
  • https://andrewkelley.me/post/a-better-way-to-implement-bit-fields.html
  • https://gsquire.github.io/static/post/a-brief-exploration-of-zig/
  • https://kristoff.it/blog/zig-colorblind-async-await/
  • https://erik-engheim.medium.com/is-zig-the-long-awaited-c-replacement-c8eeace1e692
  • https://dev.to/kristoff_it/zig-makes-go-cross-compilation-just-work-29ho
  • https://kristoff.it/blog/what-is-zig-comptime/
  • https://mitchellh.com/zig/build-internals
  • https://sin-ack.github.io/posts/zigself-01/
  • https://gavinhoward.com/2022/04/i-believe-zig-has-function-colors/
    • https://news.ycombinator.com/item?id=30965805
  • https://v5.chriskrycho.com/journal/some-thoughts-on-zig/
  • https://about.sourcegraph.com/blog/zig-programming-language-revisiting-design-approach
  • https://typesanitizer.com/blog/zig-generics.html
  • https://zig.news/rbino/using-comptime-to-invert-bijective-functions-on-enums-3pmk
  • https://kristoff.it/blog/zig-self-hosted-now-what/
  • https://matklad.github.io/2023/08/09/types-and-zig.html
  • https://matklad.github.io/2024/03/21/defer-patterns.html
  • https://arne.me/blog/thoughts-on-zig#fnref-4
    • https://lobste.rs/s/fy551x/thoughts_on_zig
  • https://avestura.dev/blog/problems-of-c-and-how-zig-addresses-them
    • https://news.ycombinator.com/item?id=36572645
  • https://jakstys.lt/2022/how-uber-uses-zig/
  • https://github.com/ziglang/zig/issues/16270
    • https://news.ycombinator.com/item?id=36529456
    • https://lobste.rs/s/svhzj9/divorce_from_llvm
    • https://www.reddit.com/r/ProgrammingLanguages/comments/14mno1w/zig_file_for_divorce_from_llvm/
  • https://notes.eatonphil.com/2023-06-19-metaprogramming-in-zig-and-parsing-css.html
  • https://matklad.github.io/2023/05/06/zig-language-server-and-cancellation.html
  • https://www.openmymind.net/Zig-Danling-Pointers/
  • https://www.openmymind.net/Zig-Quirks/
    • https://news.ycombinator.com/item?id=35323645
  • https://ziglang.org/learn/why_zig_rust_d_cpp/
  • How Zig is used at Uber - Motiejus Jakštys
  • https://notes.eatonphil.com/errors-and-zig.html
  • https://blog.deckc.hair/2023-02-22-smoking-hot-binary-search-in-zig.html
  • https://registerspill.thorstenball.com/p/notes-from-the-field-learning-zig
  • https://www.ryanliptak.com/blog/zig-is-a-windows-resource-compiler/
    • https://ryleealanza.org/2023/06/21/The-Seamstress-Event-Loop-in-Zig.html
  • https://lobste.rs/s/g55iso/goodbye_c_implementation_zig
  • https://en.liujiacai.net/2022/12/14/argparser-in-zig/
  • https://kristoff.it/blog/zig-colorblind-async-await/
  • https://sin-ack.github.io/posts/zigself-actor/
  • https://notes.eatonphil.com/2024-03-15-zig-rust-and-other-languages.html

COMPTIME

  • https://kristoff.it/blog/what-is-zig-comptime/
  • https://zig.guide/language-basics/comptime/
  • https://zig.news/edyu/wtf-is-zig-comptime-and-inline-257b
  • https://zig.news/edyu/zig-erasure-coding-part-1-wtf-is-zig-comptime-2-27c0
  • https://news.ycombinator.com/item?id=26375172
  • https://ziglang.org/documentation/master/#comptime
  • https://www.reddit.com/r/Zig/comments/1akzwgv/how_does_comptime_works/

Software Engineering

Personal Excellency & Quality in Software Development

Table of Contents


Online Resources

Holding A Program In Ones Head

Paul Graham, August 2007

A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on. Mathematicians don't answer questions by working them out on paper the way schoolchildren are taught to. They do more in their heads: they try to understand a problem space well enough that they can walk around it the way you can walk around the memory of the house you grew up in. At its best programming is the same. You hold the whole program in your head, and you can manipulate it at will.

That's particularly valuable at the start of a project, because initially the most important thing is to be able to change what you're doing. Not just to solve the problem in a different way, but to change the problem you're solving.

Your code is your understanding of the problem you're exploring. So it's only when you have your code in your head that you really understand the problem.

It's not easy to get a program into your head. If you leave a project for a few months, it can take days to really understand it again when you return to it. Even when you're actively working on a program it can take half an hour to load into your head when you start work each day. And that's in the best case. Ordinary programmers working in typical office conditions never enter this mode. Or to put it more dramatically, ordinary programmers working in typical office conditions never really understand the problems they're solving.

Even the best programmers don't always have the whole program they're working on loaded into their heads. But there are things you can do to help:

  1. Avoid distractions.

    Distractions are bad for many types of work, but especially bad for programming, because programmers tend to operate at the limit of the detail they can handle.

    The danger of a distraction depends not on how long it is, but on how much it scrambles your brain. A programmer can leave the office and go and get a sandwich without losing the code in his head. But the wrong kind of interruption can wipe your brain in 30 seconds.

    Oddly enough, scheduled distractions may be worse than unscheduled ones. If you know you have a meeting in an hour, you don't even start working on something hard.

  2. Work in long stretches.

    Since there's a fixed cost each time you start working on a program, it's more efficient to work in a few long sessions than many short ones. There will of course come a point where you get stupid because you're tired. This varies from person to person. I've heard of people hacking for 36 hours straight, but the most I've ever been able to manage is about 18, and I work best in chunks of no more than 12.

    The optimum is not the limit you can physically endure. There's an advantage as well as a cost of breaking up a project. Sometimes when you return to a problem after a rest, you find your unconscious mind has left an answer waiting for you.

  3. Use succinct languages.

    More powerful programming languages make programs shorter. And programmers seem to think of programs at least partially in the language they're using to write them. The more succinct the language, the shorter the program, and the easier it is to load and keep in your head.

    You can magnify the effect of a powerful language by using a style called bottom-up programming, where you write programs in multiple layers, the lower ones acting as programming languages for those above. If you do this right, you only have to keep the topmost layer in your head.

  4. Keep rewriting your program.

    Rewriting a program often yields a cleaner design. But it would have advantages even if it didn't: you have to understand a program completely to rewrite it, so there is no better way to get one loaded into your head.

  5. Write rereadable code.

    All programmers know it's good to write readable code. But you yourself are the most important reader. Especially in the beginning; a prototype is a conversation with yourself. And when writing for yourself you have different priorities. If you're writing for other people, you may not want to make code too dense. Some parts of a program may be easiest to to read if you spread things out, like an introductory textbook. Whereas if you're writing code to make it easy to reload into your head, it may be best to go for brevity.

  6. Work in small groups.

    When you manipulate a program in your head, your vision tends to stop at the edge of the code you own. Other parts you don't understand as well, and more importantly, can't take liberties with. So the smaller the number of programmers, the more completely a project can mutate. If there's just one programmer, as there often is at first, you can do all-encompassing redesigns.

  7. Don't have multiple people editing the same piece of code.

    You never understand other people's code as well as your own. No matter how thoroughly you've read it, you've only read it, not written it. So if a piece of code is written by multiple authors, none of them understand it as well as a single author would.

    And of course you can't safely redesign something other people are working on. It's not just that you'd have to ask permission. You don't even let yourself think of such things. Redesigning code with several authors is like changing laws; redesigning code you alone control is like seeing the other interpretation of an ambiguous image.

    If you want to put several people to work on a project, divide it into components and give each to one person.

  8. Start small.

    A program gets easier to hold in your head as you become familiar with it. You can start to treat parts as black boxes once you feel confident you've fully explored them. But when you first start working on a project, you're forced to see everything. If you start with too big a problem, you may never quite be able to encompass it. So if you need to write a big, complex program, the best way to begin may not be to write a spec for it, but to write a prototype that solves a subset of the problem. Whatever the advantages of planning, they're often outweighed by the advantages of being able to keep a program in your head.

It's striking how often programmers manage to hit all eight points by accident. Someone has an idea for a new project, but because it's not officially sanctioned, he has to do it in off hours—which turn out to be more productive because there are no distractions. Driven by his enthusiasm for the new project he works on it for many hours at a stretch. Because it's initially just an experiment, instead of a "production" language he uses a mere "scripting" language—which is in fact far more powerful. He completely rewrites the program several times; that wouldn't be justifiable for an official project, but this is a labor of love and he wants it to be perfect. And since no one is going to see it except him, he omits any comments except the note-to-self variety. He works in a small group perforce, because he either hasn't told anyone else about the idea yet, or it seems so unpromising that no one else is allowed to work on it. Even if there is a group, they couldn't have multiple people editing the same code, because it changes too fast for that to be possible. And the project starts small because the idea is small at first; he just has some cool hack he wants to try out.

Even more striking are the number of officially sanctioned projects that manage to do all eight things wrong. In fact, if you look at the way software gets written in most organizations, it's almost as if they were deliberately trying to do things wrong. In a sense, they are. One of the defining qualities of organizations since there have been such a thing is to treat individuals as interchangeable parts. This works well for more parallelizable tasks, like fighting wars. For most of history a well-drilled army of professional soldiers could be counted on to beat an army of individual warriors, no matter how valorous. But having ideas is not very parallelizable. And that's what programs are: ideas.

It's not merely true that organizations dislike the idea of depending on individual genius, it's a tautology. It's part of the definition of an organization not to. Of our current concept of an organization, at least.

Maybe we could define a new kind of organization that combined the efforts of individuals without requiring them to be interchangeable. Arguably a market is such a form of organization, though it may be more accurate to describe a market as a degenerate case—as what you get by default when organization isn't possible.

Probably the best we'll do is some kind of hack, like making the programming parts of an organization work differently from the rest. Perhaps the optimal solution is for big companies not even to try to develop ideas in house, but simply to buy them. But regardless of what the solution turns out to be, the first step is to realize there's a problem. There is a contradiction in the very phrase "software company." The two words are pulling in opposite directions. Any good programmer in a large organization is going to be at odds with it, because organizations are designed to prevent what programmers strive for.

Good programmers manage to get a lot done anyway. But often it requires practically an act of rebellion against the organizations that employ them. Perhaps it will help if more people understand that the way programmers behave is driven by the demands of the work they do. It's not because they're irresponsible that they work in long binges during which they blow off all other obligations, plunge straight into programming instead of writing specs first, and rewrite code that already works. It's not because they're unfriendly that they prefer to work alone, or growl at people who pop their head in the door to say hello. This apparently random collection of annoying habits has a single explanation: the power of holding a program in one's head.

Whether or not understanding this can help large organizations, it can certainly help their competitors. The weakest point in big companies is that they don't let individual programmers do great work. So if you're a little startup, this is the place to attack them. Take on the kind of problems that have to be solved in one big brain.

How to be an Excellent Programmer for Many Years (Excellent==Successful. Money & fame are more difficult to control.)

  1. Choose a small subset of available technology, learn it intimately, and embrace it. Then evolve that subset.

  2. Understand the pros and cons of various data structures, both in memory and on disk.

  3. Understand the pros and cons of various algorithms.

  4. Understand your domain. Get away from your computer and do what your users do.

  5. Be ready, willing, & able to deep dive multiple levels at any time. You must know what's going on under the hood. There is a strong correlation between "number of levels of deepness understood" and "programming prowess".

  6. Use your imagination. Always be asking, "Is there a better way?" Think outside the quadralateral. The best solution may be one that's never been taken.

  7. Good programmer: I optimize code. Better programmer: I structure data. Best programmer: What's the difference?

  8. Structure your data properly. Any shortcomings there will cause endless techincal debt in your code.

  9. Name things properly. Use "Verb-Adjective-Noun" for routines and functions. Variables should be long enough, short enough, and meaningful. If another programmer cannot understand your code, you haven't made it clear enough. In most cases, coding for the next programmer is more important than coding for the environment.

  10. Decouple analysis from programming. They are not the same thing, require different personal resources, and should be done at different times and places. If you do both at the same time, you do neither well. (I like to conduct analysis without technology at the end of the day and start the next morning programming.)

  11. Never use early exits. Never deploy the same code twice. Never name a variable a subset of another variable. You may not understand these rules and you may even want to debate them. But once you start doing them, it will force you to properly structure your code. These things are all crutches whose use causes junior programmers to remain junior.

  12. Learn how to benchmark. Amazing what else you'll learn.

  13. Learn the difference between a detail (doesn't really make that much difference) and an issue (can end the world). Focus only on issues.

  14. Engage your user/customer/managers. Help them identify their "what". Their "how" is not nearly as important.

  15. Write a framework, whether you ever plan to use it or not. You'll learn things you'll never learn any other way.

  16. Teach others what you know, either in person or in writing. You'll accidently end up teaching yourself, too.

  17. Always tell your customer/user "yes", even if you're not sure. 90% of the time, you'll find a way to do it. 10% of the time, you'll go back and apologize. Small price to pay for major personal growth.

  18. Find someone else's code that does amazing things but is unintelligible. Refactor it. Then throw it away and promise yourself to never make the same mistakes they made. (You'll find plenty.)

  19. Data always > theory or opinions. Learn the data by building stuff.

  20. At some point, run your own business (service or product). You will learn things about programming that you'll never learn as an employee.

  21. If you don't love your job, find another one.

Interviews

Online Resources

  • general
    • education history
    • work history
    • interests
    • english
  • software engineering
    • scm: svn / git / hg
    • tests
  • web
    • http
    • rest
  • data stores
    • sql: postgres
    • redis
    • cassandra
    • graph databases
  • networking
    • ssh, certificates
    • nginx
    • load balancers

GENERAL QUESTIONS

  • Ask the interviewee to pick an algorithm THAT THE INTERVIEWER HAS USED and discuss it.
  • What is the time complexity? When did they use it? What would be an alternative if any?
  • Pick a problem, either one of your own or from project euler or atoi and have the interviewee code it
  • See if they volunteer to test their code
  • Ask them to test the problem with good and bad data
  • Can he show you any of of the applications that he has worked on and explain them?
  • Is he passionate about programming?
  • Does he seem to be a fast learner? Will he be OK with doing things the Inaka way (ex. git, pivotal)?
  • Does he understand the service business? Does he like working with clients?
  • How is his overall attitude? Is he easy to talk to you? Does his personality fit with the Inaka team?
  • Is his English at least intermediate?
  • Talk about his experiences in programming so far. What does he like? Not like?
  • Can he show you any of the apps that he developed? Can he explain the process? The challenges?
  • Why is he looking for a new job?
  • Do you see him being able to work independently on projects?
  • Can he talk comfortably and with technical expertise about his past and current projects?

ICEBREAKER

  • What was your first job?
  • Have you ever met anyone famous?
  • What are you reading right now?
  • If you could pick up a new skill in an instant what would it be?
  • Who’s someone you really admire?
  • Seen any good movies lately you’d recommend?
  • Got any favorite quotes?
  • Been pleasantly surprised by anything lately?
  • What was your favorite band 10 years ago?
  • What’s your earliest memory?
  • Been anywhere recently for the first time?
  • What’s your favorite family tradition?
  • Who had the most influence on you growing up?
  • What was the first thing you bought with your own money?
  • What’s something you want to do in the next year that you’ve never done before?
  • Seen anything lately that made you smile?
  • What’s your favorite place you’ve ever visited?
  • Have you had your 15 minutes of fame yet?
  • What’s the best advice you’ve ever heard?
  • How do you like your eggs?
  • Do you have a favorite charity you wish more people knew about?
  • Got any phobias you’d like to break?
  • Have you returned anything you’ve purchased recently? Why?
  • Do you collect anything?
  • What’s your favorite breakfast cereal?

THE JOEL TEST

  • Do you use source control?
  • Can you make a build in one step?
  • Do you make daily builds?
  • Do you have a bug database?
  • Do you fix bugs before writing new code?
  • Do you have an up-to-date schedule?
  • Do you have a spec?
  • Do programmers have quiet working conditions?
  • Do you use the best tools money can buy?
  • Do you have testers?
  • Do new candidates write code during their interview?
  • Do you do hallway usability testing?

ERLANG

Erlang interview questions (Phone interview).

  • Can you describe a time when your work was criticized?
  • Tell me about an important issue you encountered recently.
  • What are you expecting from this firm in the future?
  • Tell about a time that you had to adapt to a difficult situation.
  • What is your greatest achievement outside of work?

Erlang interview questions (Basic interview).

  • A team experience you found disappointing.
  • Do you work well under pressure?
  • Do you think you are overqualified for this position?
  • Have you ever had to deal with conflicting deadlines?
  • Do you prefer to work independently or on a team?

Erlang interview questions (Competency Based job interview).

  • How would you describe the experience of working here?
  • How do you react to instruction and criticism?
  • What are your expectations regarding promotions and salary increases?
  • What techniques and tools do you use to keep yourself organized?
  • What are three positive things your last boss would say about you?

Erlang interview questions (Video interview)

  • What problems have you encountered at work?
  • Give me an example that best describes your organizational skills.
  • What negative thing would your last boss say about you?
  • Where do you see yourself in five years time?
  • How did you react when faced with constant time pressure?

Erlang interview questions (Situational interview).

  • What do you think, would you be willing to travel for work?
  • What attracted you to this company?
  • You have not done this sort of job before. How will you succeed?
  • What would make you happy in a job?
  • What relevant experience do you have?

Erlang interview questions (Communication skills)

  • Do you have the qualities and skills necessary to succeed in your career?
  • Describe a time you were faced with stresses which tested your skills.
  • What type of work environment do you prefer?
  • What is a typical career path in this job function?
  • What's most important to you in a new position?

Erlang interview questions (about Strengths and Weaknesses)

  • Your greatest weakness in school or at work?
  • Tell me about your strengths.
  • Tell us about the last time you had to negotiate with someone.
  • List five words that describe your character.
  • What do you believe are your key strengths?

Erlang interview questions (Behavioral interview).

  • Tell me about how you worked effectively under pressure.
  • How do you keep track of things you need to do?
  • What kinds of situations do you find most stressful?
  • What kind of events cause you stress on the job?- What have you learned from mistakes on the job?

Distributed Systems Questions

  • Explain the life of an http request.
  • What does the FLP result teach us?
  • What is a byzantine failure?
  • Explain CRDTs
  • Explain linearizability.
  • How does DNS work?
  • Crash-stop vs crash-recovery?
  • Difference between soft and hard real time
  • Model GC in an eventually consistent system
  • Discuss clock skew, NTP, and AWS vs metal
  • What is causal consistency?
  • Whats the difference between a vector clock and a version vector?
  • What is chain replication?
  • At-most v at-least once
  • Model RYOW in an EC system.
  • Why does fail-stop rely on perfect fault detection?
  • How is this flawed?
  • How does 2PC fail?
  • How does 3PC fail?
  • Why can Raft survive byzantine failures?
  • Why CANT Raft survive byzantine failures?
  • How is 2PC different from fast-consensus?
  • What do merkel trees accomplish?
  • How do replicated logs work?
  • Discuss an EC system that implement idempotent increments and decrements of counters
  • Why are timeouts common in RPC?
  • Push vs poll for stats and why?
  • Advantages and limitations of the actor model?
  • What is process calculus?
  • What does termination, agreement, and validity guarantee in consensus protocols, respectfully?
  • Which systems are best optimized for safety? 31) liveness?
  • What are the characteristic differences among the two?
  • Why is WAN replication difficult?
  • Which programming languages are best suited for building concurrent systems? why?
  • Have you ever been to a RICON?
  • Watched the videos?
  • What are 3 fundamental diffs between Cassandra and Riak?
  • How can you reduce tail latencies in distributed systems?
  • Why do they matter?
  • Explain set union vs set intersection
  • In your opinion why arent there any decent distributed time series databases on the market?
  • How can you break paxos?
  • Why is a total order reflexive?
  • What are the fundamentals of atomic broadcast?
  • What does a POSET guarantee?
  • What is TCP incast?
  • Compare and contrast Kafka, Storm, and Spark
  • Are you familiar with LASP?
  • Difficulties of programming concurrent systems in shared memory env?
  • Do you know how vector clocks work?

planning at the start of the day tracking throughout the day recording processing at the end of the day visualizing

Materials:

  • timer
  • todo today sheet
  • activity inventory sheet
  • records sheet
  1. find out how much effort an activity requires

at the beginning of the day, choose the tasks from the activity inventory, prioritize them and write them down in the todo sheet

  • start the first pomodoro a pomodoro is atomic and lasts 25 minutes if a pomodoro is interrupted, it is counted as void when the timer rings, an X is marked next to the activity and a 5 minute break taken
  • every four pomodoros take a longer break 15 - 30 minutes
  • completing an activity keep working until the activity is finished and then cross it out the following rule applies: if a pomodoro begins, it must ring. if you finish a task while the pomodoro is ticking, use the opportunity to overlearn if you finish a task in the first five minutes of the pomodoro and no review is necessary, as an exception the current pomodoro doesn't have to be included
  • recording at the end of every day, the completed pomodoros can be transferred to the record sheet and the activites deleted from the activity inventory what is recorded depends on what one wishes to observe
  • improvement how many pomodoros/week, pomodoro/task, etc
  • the nature of the pomodoro
  1. cut down on interruptions
  • internal interruptions how to free ourselves from internal interruptions?
    • make interruptions clearly visible every time you feel a potential interruption, mark an apostrophe ' on the sheet where you record pomodoros then write down a new activity on the todo sheet under unplanned & urgent if it can't be put off or write down the activity on the activiy inventory sheet, marking it with a U for unplanned and put a deadline
    • intesify determination to finish current pomodoro once you've marked the apostrophe continue working until the pomodoro rings
  • scenario as little time as possible should be spent dealing with interruptions, a few seconds at most, otherwise the pomodoro has to be considered interrupted and voided many of the distractions may prove to not be urgent at the end of the pomodoro/activity/day they
    • may be moved to the activity inventory,
    • done during longer breaks,
    • or deleted truly urgent tasks are always highlighted on the todo sheet the aim of the pomodoro technique is that the current pomodoro not be interrupted. the following options are available:
    • they can be done during the next pomodoro
    • they can be rescheduled sometime during the day
    • they can be moved from pomodoro to pomodoro until the end of the day if you have to interrupt a pomodoro, there is only one option, void the current pomodoro and mark down an apostrophe where the pomodoros are recorded. take a 5 minute break and start a new pomodoro
  • external interruptions
  • systematic interruptions
  • recording: qualitative estimation errors in planning
  1. estimate efforts for activities
  • available pomodoros
  • possible scenarios
  • recording estimates
  • managing exploration
  1. make the pomodoro more effective
  • structure of the pomodoro
  • structure of the pomodoro set
  1. set up timetable
  • best case scenario
  • scenario with interruptions
  • optimizing your timetable
  1. other objectives

RESULTS

  1. learning time
  2. length of a pomodoro
  3. varying length of breaks
  4. different perception of time
  5. sounds of the pomodoro
  • pomodoro users
  • people subject to the pomodoro
  1. shapes of the pomodoro

programming.ProfessionalProgrammer

A professional developer knows the domain of their project A professional developer is a team player A professional software developer takes responsibility A professional developer knows patterns and disciplines A professional developer remains calm during hectic situations A professional developer keeps practicing their profession A professional developer rests A professional developer knows the value of time A professional developer is never afraid to say no

Quality

Table of Contents


The two types of quality

source

The Japanese define quality in two ways:

  • atarimae hinshitsu (当たり前品質)
  • miryokuteki hinshitsu (魅力的品質)

Understanding the difference between them is the key to building products that users love.

atarimae hinshitsu (当たり前品質)

Atarimae hinshitsu is the idea that things should work the way that they are supposed to.

It's a purely functional requirement and is satisfied when the product completes the job that it was designed to create. For example, an IKEA chair meets the atarimae hinshitsu quality expectation because it's made to sustain and fit a person of average height and weight. Being reliable and robust is a significant component of quality, and there is elegance in things working according to their function.

miryokuteki hinshitsu (魅力的品質)

Miryokuteki hinshitsu, on the other hand, is the idea that things should have an aesthetic quality.

It's basically the kind of quality that fascinates you. This could include things like visual appearance, sound, or anything that gives personality to a product. For example, a Herman Miller chair could be considered miryokuteki hinshitsu because it goes beyond its functional requirements. There's a distinct touch, smell, texture, and design that makes it unique; it's a “special refuge from the strains of modern living," as they say. These aspects bring added value to the product and make it desirable.

what are you optimizing for?

Quality is not about trade-offs; quality is about philosophy. You can choose to achieve both atarimae hinshitsu and miryokuteki hinshitsu so that a product will meet users’ needs and be delightful to use.

However, when thinking about quality, it's crucial to have self-awareness. You have to look at what you are optimizing for as an individual and see if that matches with what your team is optimizing for. If there's a mismatch, there's a high chance that you'll end up with a suboptimal product.

For more on this topic, I recommend watching Jiro Dreams of Sushi, a documentary directed by David Gelb, and How to Build Products Users Love, a talk by Kevin Hale.

Quality is Systemic

src

  • Software quality is more the result of a system designed to produce quality, and not so much the result of individual performance.
  • Well-designed testing harnesses that make it easy to write tests, and a team/company culture that encourages writing good tests and gives engineers the time and space to do so.
  • Easy-to-use, high-fidelity development and staging environments, and culture free of pressure to push code to production before it’s well-proven.
  • Codebases that are documented, well-factored, and sufficiently commented – which is the result of a development cadence that allows generous time for these activities.
  • A workplace with high psychological safety that lets people feel comfortable asking for help when they’re stuck, and …
  • … when failures happen, they’re reviewed blamelessly, and the system is improved to prevent future failures of that class.

There are both technical and human factors involved in systemic quality, and these factors intersect and interact. In the best case they form a virtuous cycle:

  • Great tests catch errors before they become problems, but those tests don’t magically come into existence; they require a structure that affords the time and space to write tests.
  • That structure works because engineers are comfortable speaking up when they need some extra time to get the tests right.
  • Engineers are comfortable speaking up because they work in an environment with high psychological safety.
  • That environment exists in part because they know that production failures are seen as systemic failures, and individuals -’t be punished, blamed, or shamed.
  • Outages are treated as systemic because most of them are. That’s because testing practices are so good that individual errors are caught long before they become impactful failures.

Implications:

  • If your team is producing defective code, consider that it may not be because they all suck at their jobs. It’s probably because the environment isn’t allowing them to produce quality software.
  • Instead of spending tons of time and effort on hiring because you believe that you can “only hire the best”, direct that effort towards building a system that produces great results out of a wider spectrum of individual performance.

PROCRASTINATION

hard work sometimes pays off after time but lazyness always pays off now if the job is worth doing now it'll be worth doing later by not doing what you should be doing you could be having this much fun

guilt - paralyzing emotion even when we do put things off, we do things managing emotions by manging tasks

we thinkg we are not affecting future self all about giving in to feel good

procrastination: gap between intention and action voluntary, irrational, delay despite expectation of negative outcome

all procrastination is delay, not all delay is procrastination

  • self regulation failure weakness of will short term mood repair

classic negative reinforcement: procrastination habit, procrastination is reinforced because it removes the negative feelings

  • personality conscientipusness impulsivity pre-decision perfectionism self vs social perfectionism emotional intelligence; inverse correlation with procrastination perceiving emotions using emotions understanding emotions managing emotions

    higher neuroticism -> emotional response is out of proportions

developmental aspect

  • the nature of our goals and intentions
  • self control and will power
  • cognitions and beliefs

move from goal-intentions to implementation-intentions

################################################################################

Six Ways to Overcome the Urge to Procrastinate

One of the toughest challenges of an entrepreneur in building a startup is the fact that there are so many things that you don’t know how to do, or don’t like to do. Things like raising money, building a business plan, or hiring and firing people. These aren’t fun, especially for a visionary. That’s when the curse of procrastination steps in.

The result is that certain things just never seem to get done. Jan Yager, in her book, “Work Less, Do More” talks about procrastination as a primary obstacle to efficient time management. She describes how you can grow so busy doing everything but what you should be doing, that you’re unaware that you’re failing to address what’s really fundamental to your success.

I haven’t met an entrepreneur yet who can honestly say they haven’t felt this challenge. Here are some techniques I espouse from Jan and others for conquering procrastination:

1 Plan your daily activities in advance. Make whatever it is you’re avoiding the very first task you do on a given day. Don’t start the day by checking e-mail, surfing the Internet, or reading the newspaper. Get a priority task done first every day, then take a break or do some low priority work that you enjoy more. 2 Set up a personal reward system. Pick a reward that will be a real motivator, something you truly want but have been denying for yourself. For example, as soon as you complete your financial projections, you can call your business partner to skip out for that round of golf he keeps mentioning. 3 Try creative procrastination. If you are finding your top priority to be too daunting, try tackling the second or third most important items on your to-do list. You will accomplish all your day’s priorities, but in a different order. That’s better than substituting a trip to the doughnut cart. 4 Arrange for gaps in your schedule. Build space into your schedule so you actually have some free time that will still permit you to get the priority project done without the tendency to put yourself down or engage in the self-criticism that too often accompanies procrastination. 5 Face the truth head-on. Take a few minutes to contemplate why you are delaying something. What does the postponement provide? What will it take to get you to act now? Write down the real deadline. Maybe it’s time to hire an expert, or assign the task to someone else on the team. Move the ball. 6 Define a period without distractions. Make a resolution to turn off the phones for the first hour of a day, or close the door to your office to discourage interruptions. Do not let anyone distract you from your priority tasks during these periods.

A closely related malady to procrastination is the well-known “Parkinson’s Law” – all work will expand to fill the time allotted. When you add procrastination, people tend to start things too late, and then miss the deadline, no matter how far in the future it is set.

Psychologists assert that procrastinators actually sabotage themselves. They put obstacles in their own path. They actually choose paths that hurt their performance, and avoid success in life. It represents a profound problem of self-regulation.

If you are a chronic procrastinator, or your business partner is one, becoming a successful entrepreneur is unlikely unless things change. You can change yourself, using the techniques described above, perhaps combined with cognitive behavioral therapy. Believe me, it’s worth it for your personal well being, as well as that of the business. Start now.

The Zone

################################################################################

Strategy #1: Avoid Flow. Do What Does Not Come Easy. “The mistake most weak pianists make is playing, not practicing. If you walk into a music hall at a local university, you’ll hear people ‘playing’ by running through their pieces. This is a huge mistake. Strong pianists drill the most difficult parts of their music, rarely, if ever playing through their pieces in entirety.”

Strategy #2: To Master a Skill, Master Something Harder. “Strong pianists find clever ways to ‘complicate’ the difficult parts of their music. If we have problem playing something with clarity, we complicate by playing the passage with alternating accent patterns. If we have problems with speed, we confound the rhythms.”

Strategy #3: Systematically Eliminate Weakness. “Strong pianists know our weaknesses and use them to create strength. I have sharp ears, but I am not as in touch with the physical component of piano playing. So, I practice on a mute keyboard.”

Strategy #4: Create Beauty, Don’t Avoid Ugliness. “Weak pianists make music a reactive task, not a creative task. They start, and react to their performance, fixing problems as they go along. Strong pianists, on the other hand, have an image of what a perfect performance should be like that includes all of the relevant senses. Before we sit down, we know what the piece needs to feel, sound, and even look like in excruciating detail. In performance, weak pianists try to reactively move away from mistakes, while strong pianists move towards a perfect mental image.”

################################################################################ Living in the zone http://jacquesmattheij.com/living+in+the+zone

Submitted by administrator on Fri, 04/15/2011 - 10:25.

Living with a programmer must be a pretty frustrating experience. For example, programmers speak about this mystical place called 'the zone', where they hang out when they're at their most productive.

The Zone is real. At least, it is for me, and probably you are familiar with some variation of it. The best I can compare it with for non-programmers is the feeling you get when you're totally immersed in a book or a movie, when the world around you seems to disappear and the only thing that remains is that which you are concentrating on. If you're more creatively inclined it might be while writing a story or making a painting.

When you're reading a book in a very concentrated manner and you're interrupted, it usually takes a bit of time to get back into that same mental state. Usually, when I'm reading a book and someone or something (telephones!) interrupts me, I go back half a page or so and try to restart my reading. Even an end-of-chapter counts as an interruption and it takes me a bit to get back into the book atmosphere instead of the one around me.

The first time it happened that I really got into coding that deep, is when I was quite young, maybe 17 or so. I wanted to write a system to allow me to compose music on the screen of the computer. It was the very first time that I used 'structured programming', a technique a friend of mine had shown to me. I started work after dinner and then lost complete track of time and only realized it was morning and time to go to work when the birds started to make sounds greeting the sunrise. My first reaction was: "wow, it can't be that late". To my own sense of time I'd only been busy for a few hours at best but it must have been close to 10 hours.

After that, it happened many times, and every time I reached that level of concentration, the work I did was much better (and done much faster) than the work I would do when distracted or not really being focused.

Once you realize this you try to replicate the conditions that lead to it, attempting to spend more time zoned in, to be more productive, or to be able to do harder stuff. Apparently, for me the typical situation is that it's dead quiet, that I have only one thing in front of me on my screen (usually the text editor) and that there is a stretch of time in front of me where I can reasonably expect not to be interrupted.

As the years passed and life got busier and then busier still, my travels to the zone became less frequent. Whether it's required or not, is up for debate, much of the stuff that I do, I could probably do with my eyes closed and one hand tied behind my back, but really difficult things or totally new ground works better for me when done 'zoned in'.

One thing that struck me the other day is that when I'm interrupted by a living human being when in the zone, I'm probably not the nicest person to be around. I tend to be extremely irritated when that happens, to put it mildly. (edit: ok, let me be honest here, I'm a total jerk when I'm interrupted, my first response is simply unacceptable but I can't seem to stop myself. Must work harder on this).

The reason is hard to explain, but I'll try to anyway. When writing complex code (as in something that is at the edge of my abilities, you may not find it complex, but to me it is) I try to keep a mental model in my head of what it is exactly that I'm trying to achieve, how far I've gotten along with it and which parts still remain. An interruption - no matter how short or slight - collapses that whole mental model in fragments on the floor. I literally have to re-build it before I can continue to work and that typically takes anywhere from 15 minutes to over an hour. So a 30 second interruption will cost me a large multiple of the time of the actual interruption, assuming I can get back in to it, which is not always the case.

The productivity boost is so big that my most recent trick to get 'real work' done is that I now create the environment on purpose, I'll wait until everybody near me has gone to bed, I'll make a fresh pot of tea and I'll shut down any other source of distraction (telephone, secondary monitor(s) and so on). That way the chances of interruptions (and irritation) is reduced to an absolute minimum and usually in a few hours (two, maybe three) I can get pas the difficult part and get back into easier stuff.

Total immersion is a powerful tool, it makes it possible to achieve things that are normally at or just beyond what I could do in a regular work setting.

If you are always working in a noisy or distracting environment and you find yourself unable to take certain hurdles maybe you should give it a try, this ' zone' thing, who knows what you're capable of when you really concentrate on something.

Living in the zone is not without a cost, I usually take a while to recover, but the net gain is still such that I'd rather use it than lose it, especially when it allows me to do stuff that I otherwise would not be capable of, or that would take me much longer to complete.

And if you're another one of the inhabitants of the zone, I'm really curious about your experiences, feel free to mail me.

programming.TwelveStepsToBetterCode

The Joel Test: 12 Steps to Better Code by Joel Spolsky Wednesday, August 09, 2000

The Joel Test Do you use source control? Can you make a build in one step? Do you make daily builds? Do you have a bug database? Do you fix bugs before writing new code? Do you have an up-to-date schedule? Do you have a spec? Do programmers have quiet working conditions? Do you use the best tools money can buy? Do you have testers? Do new candidates write code during their interview? Do you do hallway usability testing?

  1. Do you use source control? Programmers have no way to know what other people did. Mistakes can't be rolled back easily. The other neat thing about source control systems is that the source code itself is checked out on every programmer's hard drive. I've never heard of a project using source control that lost a lot of code.

  2. Can you make a build in one step? How many steps does it take to make a shipping build from the latest source snapshot? If the process takes any more than one step, it is prone to errors. And when you get closer to shipping, you want to have a very fast cycle of fixing the "last" bug, making the final EXEs, etc.

  3. Do you make daily builds? When you're using source control, sometimes one programmer accidentally checks in something that breaks the build. Breaking the build is so bad (and so common) that it helps to make daily builds, to insure that no breakage goes unnoticed.

  4. Do you have a bug database? If you are developing code, even on a team of one, without an organized database listing all known bugs in the code, you are going to ship low quality code. Bug databases can be complicated or simple. A minimal useful bug database must include the following data for every bug: complete steps to reproduce the bug expected behavior observed (buggy) behavior who it's assigned to whether it has been fixed or not

  5. Do you fix bugs before writing new code? In general, the longer you wait before fixing a bug, the costlier (in time and money) it is to fix. That's one reason to fix bugs right away: because it takes less time. There's another reason, which relates to the fact that it's easier to predict how long it will take to write new code than to fix an existing bug. What this means is that if you have a schedule with a lot of bugs remaining to be fixed, the schedule is unreliable. But if you've fixed all the known bugs, and all that's left is new code, then your schedule will be stunningly more accurate. Another great thing about keeping the bug count at zero is that you can respond much faster to competition. Some programmers think of this as keeping the product ready to ship at all times.

  6. Do you have an up-to-date schedule? The other crucial thing about having a schedule is that it forces you to decide what features you are going to do, and then it forces you to pick the least important features and cut them rather than slipping into featuritis (a.k.a. scope creep).

  7. Do you have a spec? At the design stage, when you discover problems, you can fix them easily by editing a few lines of text. Once the code is written, the cost of fixing problems is dramatically higher, both emotionally (people hate to throw away code) and in terms of time, so there's resistance to actually fixing the problems. Software that wasn't built from a spec usually winds up badly designed and the schedule gets out of control.

  8. Do programmers have quiet working conditions? We all know that knowledge workers work best by getting into "flow", also known as being "in the zone", where they are fully concentrated on their work and fully tuned out of their environment. They lose track of time and produce great stuff through absolute concentration. The trouble is, getting into "the zone" is not easy. The other trouble is that it's so easy to get knocked out of the zone. With programmers, it's especially hard. Productivity depends on being able to juggle a lot of little details in short term memory all at once. Any kind of interruption can cause these details to come crashing down.

  9. Do you use the best tools money can buy?

  10. Do you have testers? If your team doesn't have dedicated testers, at least one for every two or three programmers, you are either shipping buggy products, or you're wasting money by having 30/hour testers.

  11. Do new candidates write code during their interview?

  12. Do you do hallway usability testing? A hallway usability test is where you grab the next person that passes by in the hallway and force them to try to use the code you just wrote. If you do this to five people, you will learn 95% of what there is to learn about usability problems in your code. But the most important thing about user interfaces is that if you show your program to a handful of people, you will quickly discover the biggest problems people are having.

REST

Books

RESTful Web APIs

Table of Contents

  • 1 Surfing the Web
  • 2 A Simple API
  • 3 Resources and Representation
  • 4 Hypermedia
  • 5 Domain-Specific Design
  • 6 The Collection Pattern
  • 7 Pure Hypermedia Designs
  • 8 Profiles
  • 9 The Design Procedure
  • 10 The Hypermedia Zoo
  • 11 HTTP For APIs
  • 12 Resource Description and Linked Data
  • 13 CoAP REST for Embedded Systems

RESTful Web Services

Table of Contents

  • 1 The Programmable Web and Its Inhabitants
  • 2 Writing Web Service Clients
  • 3 What Makes RESTful Services Different?
  • 4 The Resource-Oriented Architecture
  • 5 Designing Read-Only Resource-Oriented Services
  • 6 Designing Read-Write Resource-Oriented Services
  • 7 A Service Implementation
  • 8 REST and ROA Best Practices
  • 9 The Building Blocks of Services
  • 10 The Resource-Oriented Architecture Versus Big Web Services
  • 11 Ajax Applications as REST Clients
  • 12 Frameworks for RESTful Services

REST API Design Rulebook

Table of Contents

  • 1 Introduction
    • Web Architecture
    • Web Standards
    • REST
    • REST APIs
    • REST API Design
  • 2 Identifier Design with URIs
    • URIs
    • URI Format
    • URI Authority Design
    • Resource Modeling
    • Resource Archetypes
    • URI Path Design
    • URI Query Design
  • 3 Interaction Design with HTTP
    • HTTP/1.1
    • Request Methods
    • Response Status Codes
  • 4 Metadata Design
    • HTTP Headers
    • Media Types
    • Media Type Design
  • 5 Representational Design
    • Message Body Format
    • Hypermedia Representation
    • Media Type Representation
    • Error Representation
  • 6 Client Concerns
    • Versioning
    • Security
    • Response Representation Composition
    • Processing Hypermedia
    • Javascript Clients
  • 7 Final Thoughts
    • State of the Art
    • Uniform Representation

RESTful Web Services Cookbook

Table of Contents

  • 1 Using the Uniform Interface
  • 2 Identifying Resources
  • 3 Designing Representations
  • 4 Designing URIs
  • 5 Web Linking
  • 6 Atom and AtomPub
  • 7 Content Negotiation
  • 8 Queries
  • 9 Web Caching
  • 10 Conditional Requests
  • 11 Miscellaneous Writes
  • 12 Security
  • 13 Extensibility and Versioning
  • 14 Enabling Discovery

Cohesion is more than just the size of your functions and classes

Source

Lessons from working with spaghetti code and how not to get sauce stains on your projects - Aphinya Dechalert

Cohesion is one of those things that are often overlooked, especially in front end code. You can some pretty nasty habits and massive, spaghetti monster creatures created in code. While principles of object orientated programming are baked into the process of learning traditional back end technologies like Java and C#, the front end is usually split between different modes of thought that cohesion is often left on the sidewalk.

In my first ever experience of Angular, spaghetti code was so baked into the components that any change resulted in a cascading effect of breaking the code. It was easier to just create something new, tack it onto the side and call it a day. We’ve all done it at some point in our careers.

Since that experience, I’ve been a big advocate for structure and cohesion in code. If you don’t want to do major refactoring in the future (or tempt future developers into the dark arts in order to curse you with voodoo dolls), contemplation about code cohesion for your project before you begin coding is a necessity.

What is cohesion?

noun. the action or fact of forming a united whole. synonyms: unity, togetherness, solidarity, bond, connection, linkage, interrelatedness. — Dictionary.com

In computer science, code cohesion refers to how well a piece of code is crafted to fit together and how much inter-dependency is required for it to work effectively. Cohesion is often paired with the topic of coupling. This is because if cohesion is lacking in code, then coupling is probably very high.

Lack of cohesion often leads to spaghetti code in the long run. Sometimes it starts off as code smell — where things are technically right, everything works and seems alright, but quickly decays at a faster rate and its usefulness becomes obsolete quite quickly.

Cohesion determines what a class or function can do and how the developers have organized the functionality of the code. One could even say that cohesion is related to separation of concern.

But cohesion is more than just the organization of thought in code, it is also how related and focused that particular bit of code is. Low cohesion often arises when massive classes are created and bits of code are connected together with some crazy seemingly logical super glue, often resulting in it being difficult to read and maintain. You can’t reuse the piece anywhere and it is fragile in nature — that is, if you change one thing in the code, it can potentially and will most likely break something else like a falling tower of dominoes.

Low cohesion code is scary. It might bring job security for the person that wrote it because no one else understands what is going on, but it’s a horrible way to stay in a job.

The principle of single responsibility gone wrong

When we write code, especially when we’re young and naive to the ways of what beautiful code looks like, we often just try to get things working first.

The idea behind cohesion is that you organize your code in a way that reduces it down to a single responsibility. However, what we often do wrong is reduce it down to a single responsibility but then require a dependency injection for it to work. It doesn’t take long for it to have struts and strings attached to it, which in turn actually transforms your function or class into a mammoth of an accident.

If one of the struts or strings were to change for whatever reason, your class or function becomes defunct. If your dependency injection is used in multiple places, it will have a cascading and web-like effect on your application. While you can argue that each function and component has high cohesion because each function or class has a single responsibility — but just used multiple times in multiple places, which isn’t single responsibility at all.

Single responsibility goes both ways — that is, how it is used, consumed, uses and consumes others. A function or class should only be consumed or used once for a singular purpose and not in multiple places. We often confuse the physical manifestation of the component on the screen with the relationship it has with other classes and functions with reusability. In the front end, we see it as separate and complete on its own. But behind the scenes, a multitude of things are required to make it work.

In reality, behind the scenes should be linear and easily traceable for it to qualify as being truly cohesive in construction.

Cohesion requires layers

Cohesion is like an onion — it requires layers to keep things separate and distinct. It’s not just about how small your functions are, it’s where they are in relation to each other.

I often construct a four-layer approach to a lot of the applications I build — rendering, logical, data and service layers. Depending on how complicated things are, I might create sub-layers within those layers.

Each layer is attached to another layer in a vertical fashion and there is only one connection. Horizontal connections are defined clearly and grouped together based on functionality. This allows for clear definitions of single responsibilities that are interconnected but also distinct at the same time.

Rendering is where the entire functionality of the component is reused in multiple places within the app. The logical and service layers, however, should not be shared across multiple components. This means that if you were to change something, the point of change will only affect one thing.

In Angular, this structure is often done through a physical separation of code in separate files. In React, the rendering and logical layers are often in the same file but data and service layer can be in a different space. However, this doesn’t make React less cohesive. The relationship between the rendering and logical layers is generally one to one, therefore if a change occurs, the impact is clearly visible and radius of change is identifiable.

Final words

Cohesion is one of those concepts that can be a bit hard to get your head around until you’ve actually experienced the sticky mess of spaghetti code. Or perhaps you’re in the process of looking for an answer or prevention of the possible sticky mess.

You can break your code down into small chunks but that’s not going to solve you the root cause of your problem. The real issue often manifests as code that is too interconnected under the guise of reusability.

From past experience, what needs to be done is someone needs to take that time to sit down and see how, what, why and where things are connected to each other. Only then can you start to untangle the threads, move things around and create new and distinct nodes of connections that are defined. It is important to keep the sphere of influence defined with clear boundaries — and make it obvious too for future developers.

While there is no safeguard that the person who is working on the code base after you will have the same ideas and understanding when it comes to defining boundaries, if you design your code in subsets that are connected but not connected at the same time, then chances are, whatever changes that future developer may make won’t hurt as much due to good design and high cohesion.

Debugging

Table of Contents


General

Scientific Method

XCode

Debugging C

Debugging D

Debugging Python

Debugging Clojure

Debugging Rust

Debugging Fortran

Debugging Go

Debugging Erlang & Elixir

Tracing

Observer

Redbug

Recon

Concuerror

Tools

GDB

DWARF

LLDB

DDD

RR

RD

DTrace

STrace

Pernosco

Entity Component Systems

Rust ECS

Formal Methods

Table of Contents


A Map

graph LR;
    FormalModel;
    FormalMethod;
    FormalSpecification;
    FormalVerification;
    Logic;
    ModalLogic;
    TemporalLogic;
    LogicProgramming;
    ConstraintLogicProgramming;
    AutomaticTheoremProving;
    ProofAssistant;
    ModelChecker;
    SAT;
    3SAT;
    SMT;
    Types;
    Coq;
    Agda;
    Idris;
    Lean;
    Alloy;
    TLAPlus;
    PlusCal;
    Z3;
    Prolog;
    Datalog;
    MiniKanren;
    Souffle;
    Creusot;

    Logic-->ModalLogic;
    ModalLogic-->TemporalLogic;
    TemporalLogic-->TLAPlus;
    Logic-->Types;
    Logic-->ProofAssistant;
    Logic-->SAT;
    Types-->CategoryTheory;
    ProofAssistant-->Lean;
    SAT-->Z3;
    ModelChecker-->TLAPlus;
    ModelChecker-->Alloy;
    TLAPLus-->PlusCall;
    LogicProgramming-->Prolog;
    LogicProgramming-->Datalog;
    LogicProgramming-->MiniKanren;

General formal methods

Videos

Theorem proving

Coq

Agda

Videos

Formal specification

Alloy

Videos

TLA+

Leslie Lamport:

Hillel Wayne: Twitter Blog Github

Murat Demirbas: Twitter Blog

Jack Vanlightly: Twitter Blog

Lorin Hochstein: Twitter Blog Github

Ron Pressler: Twitter, Blog

Markus Kuppe:

Other:

TLA+ and consensus algorithms

Videos

Leslie Lamport:

Hillel Wayne:

Books

Leslie Lamport - Specifying Systems
  • I Getting started
    • 1 A little simple math
    • 2 Specifying a simple clock
    • 3 An asynchronous interface
    • 4 A FIFO
    • 5 A caching memory
    • 6 Some more math
    • 7 Writing a specification: some advice
  • II More advanced topics
    • 8 Liveness and fairness
    • 9 Real time
    • 10 Composing specifications
    • 11 Advanced examples
  • III The tools
    • 12 The syntactic analyzer
    • 13 The TLATEX typesetter
    • 14 The TLC model checker
  • IV The TLA+ language
    • 15 The syntax of TLA+
    • 16 The operators of TLA+
    • 17 The meaning of a module
    • 18 The standard modules
Practical TLA+
  • 2019/05 Book Review: Practical TLA+

  • Part I The Semantics of TLA+ and PlusCal

    • 1 An example
    • 2 PlusCal
    • 3 Operators and Functions
    • 4 Constants, Models and Imports
    • 5 Concurrency
    • 6 Temporal Logic
  • Part II Applying TLA+

    • 7 Algorithms
    • 8 Data Structures
    • 9 State Machines
    • 10 Business Logic
    • 11 MapReduce
    • A Math
    • B The PT Module
    • C PlusCal to TLA+

Quickstrom

Formal methods in Rust

Ralf Jung

Alastair Reed Blog

High Assurance Rust

RustBelt

Ferrocene

Kani

Magmide

  • GithubA dependently-typed proof language intended to make provably correct bare metal code possible for working software engineers.

TLA and Rust

Hacspec

  • https://hacspec.org/blog/posts/hax-v0-1/
  • https://github.com/hacspec/hax

Formal verification

Videos

Model checking

Videos

Compiler verification

CompCert

Videos

Incremental Computation

See incremental_compilation

Build Systems

  • make
  • shake
  • bazel
  • buck2 (dice)
  • nix
  • excel
  • llbuild

General Incremental Computation

  • adapton
  • jane street materialize incremental

Incrementality in Data Storage

Incremental Compilation

  • salsa
  • lady deirdre

CURIOSITY

http://youtu.be/_gZK0tW8EhQ http://ai.jpl.nasa.gov/public/home/cichy/ http://flightsoftware.jhuapl.edu/fsw10.html http://win-dms-ms1.caltech.edu/five/Viewer/?peid=476727664f1b4d8390d3ab37670ababd http://nodis3.gsfc.nasa.gov/displayDir.cfm?t=NPR&c=7150&s=2 http://www.flownet.com/gat/jpl-lisp.html http://compass.informatik.rwth-aachen.de/ws-slides/havelund.pdf http://www.cs.cmu.edu/~agroce/icse10.pdf

The code is based on that of MER (Spirit and Opportunity), which were based off of their first lander, MPF (Sojourner). It's 3.5 million lines of C (much of it autogenerated), running on a RA50 processor manufactured by BAE and the VxWorks Operating system. Over a million lines were hand coded.

The code is implemented as 150 separate modules, each performing a different function. Highly coupled modules are organized into Components that abstract the modules they contain, and "specify either a specific function, activity, or behavior." These components are futher organized into layers, and there are "no more than 10 top-level components."

Source: Keynote talk by Benjamin Cichy at 2010 Workshop on Spacecraft Flight Software (FSW-10), slides, audio, and video (starts with mission overview, architecture discussion at slide 80).

Edit: Someone on Hacker News asked "Not sure what means that most of the C code is auto generated. From what?"

I'm not 100% sure, although there probably is a separate presentation in that year or a different year that describes their auto-generation process. I know that it was a popular topic in general at the FSW-11 conference.

Simulink is a possibility. It's a MATLAB component popular among mechanical engineers, and therefore most navigation & control engineers, and allows them to 'code' and simulate things without thinking they're coding.

Model-based programming is definitely a thing that the industry is slowly becoming aware of, but I don't know how well it's catching on at JPL or if they would have chosen to use it when the project started.

The third and most likely possibility is for the communication code. With all space systems, you need to send commands to the flight software from the ground software, and receive telemetry from the flight software and process it with the ground software. Each command/telemetry packet is a heterogeneous data structure, and is is necessary that both sides are working from the exact same packet definition, and format the packet so it is correctly formatted on the one side, and parsed on the other side. This involves getting a whole lot of things right, including data type, size, and endianness (although the latter is usually a global thing, you could have multiple processors onboard with different endianness).

But that's just the surface. You need lots of repetitive code on both sides to handle things like logging, command/telemetry validation, limit checking, and error handling. And then you can do more sophisticated things. Say you have a command to set a hardware register value, and that value is sent back in telemetry in a particular packet. You could generate ground software that monitors that telemetry point to ensure that when this register value is set, eventually the telemetry changes to reflect the change. And of course, some telemetry points are more important than others (e.g. main bus current), and are designated to come down in multiple packets, which involves extra copying on the flight side and data de-duplication on the ground side.

With all that, it's much easier (in my opinion) to write one collection of static text files (in XML, csv, or some DSL/what-have-you), run them through a perl/python script, and presto! Code!

I do not work at JPL, so I cannot provide any detail that is not in the video, with one exception. I've heard that the autogenerated C code is written by Python scripts, and the amount of autocoding in a project varies greatly depending on who the FSW lead is.

NASA are extermely careful with their code. Everything (EVERYTHING) is done in the spec first and is repeatedly reviewed, checked and refined. When it is put into the life code stream it is almost a cut and paste of the spec's reference. The test scripts are given at least as much attention as the code is and no 'flashy' or clever code tricks are allowed unless they are critically needed.

No, not everything at NASA has the same set of code standards. But every project involving software engineering has the same set of process standards. See NPR7150. nodis3.gsfc.nasa.gov/displayDir.cfm?t=NPR&c=7150&s=2 and even then this depends on the class of the software. Class A software usually involved keeping Humans alive in space. But class H software is general purpose desktop software. Class H software does not require verification and validation, but class A does. – Sean McCauliff

This might shed some light on Wind River, the contractor who makes VxWorks: windriver.com/news/press/pr.html?ID=10901 I've read that NASA has a team of people whose job is to find as many bugs as they can in the control system code written by another team. The bug-finding team is rewarded for bugs they find and they are really quite good in finding arcane bugs. When a bug is found, a 5Y- type analysis is done to find out how the software dev process could be improved to eliminate the possibility of similar bugs in the future. A very painstaking and expensive process. – Jim Raden

What was the C auto-generated from? The keynote states that some of it are autogenerated protocol encoding/decoding routines (for communication with earth), generated by python programs from XML descriptions.

Back in the 90s there was a software engineering fad (unfair term but it was faddish at the time) called the process maturity index, and JPL was one of two software development sites that qualified for the highest rank (5) which involves continuous improvement, measuring everything, and going from rigorous spec to code via mathematical proof.

This process (which Ed Jourdan neatly eviscerated when applied to business software) produces software that is as reliable as the specification and underlying hardware.

Performance Engineering

Table of Contents


Resources

General

Specific

Algorithms

Cache

Memory

Performance Testing

Load Testing

Tools

AB

Bombardier

  • bombardier Fast cross-platform HTTP benchmarking tool written in Go

Koi Pond

Gatling

Megaload

Tsung

Siege

Denis Bakhvalov


Tools

perf

oprofile

tracy

valgrind

kcachegrind

flamegraph

fgtrace

C

Java

Go

Books

The Art of Computer Systems Performance Analysis (Raj Jain)

The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling

System Performance Tuning (Mike Loukides)

Computer Systems Performance Evaluation and Prediction (Michel, Fortier)

Systems Performance (Brendan Gregg)

  • 1 Introduction
    • 1.1 Systems Performance Systems performance is the study of the entire system, including all physical components and the full software stack.
    • 1.2 Roles
    • 1.3 Activities
    • 1.4 Perspectives
    • 1.5 Performance Is Challenging
    • 1.5.1 Performance Is Subjective
    • 1.5.2 Systems Are Complex
    • 1.5.3 There Can Be Multiple Performance Issues
    • 1.6 Latency
    • 1.7 Dynamic Tracing
    • 1.8 Cloud Computing
    • 1.9 Case Studies
    • 1.9.1 Slow Disks
    • 1.9.2 Software Change
    • 1.9.3 More Reading
  • 2 Methodology
    • 2.1 Terminology
    • 2.2 Models
    • 2.2.1 System under Test
    • 2.2.2 Queueing System
    • 2.3 Concepts
    • 2.3.1 Latency
    • 2.3.2 Time Scales
    • 2.3.3 Trade-offs
    • 2.3.4 Tuning Efforts
    • 2.3.5 Level of Appropriateness
    • 2.3.6 Point-in-Time Recommendations
    • 2.3.7 Load versus Architecture
    • 2.3.8 Scalability
    • 2.3.9 Known-Unknowns
    • 2.3.10 Metrics
    • 2.3.11 Utilization
    • 2.3.12 Saturation
    • 2.3.13 Profiling
    • 2.3.14 Caching
    • 2.4 Perspectives
    • 2.4.1 Resource Analysis
    • 2.4.2 Workload Analysis
    • 2.5 Methodology
    • 2.5.1 Streetlight Anti-Method
    • 2.5.2 Random Change Anti-Method
    • 2.5.3 Blame-Someone-Else Anti-Method
    • 2.5.4 Ad Hoc Checklist Method
    • 2.5.5 Problem Statement
    • 2.5.6 Scientific Method
    • 2.5.7 Diagnosis Cycle
    • 2.5.8 Tools Method
    • 2.5.9 The USE Method
    • 2.5.10 Workload Characterization
    • 2.5.11 Drill-Down Analysis
    • 2.5.12 Latency Analysis
    • 2.5.13 Method R
    • 2.5.14 Event Tracing
    • 2.5.15 Baseline Statistics
    • 2.5.16 Static Performance Tuning
    • 2.5.17 Cache Tuning
    • 2.5.18 Micro-Benchmarking
    • 2.6 Modeling
    • 2.6.1 Enterprise versus Cloud
    • 2.6.2 Visual Identification
    • 2.6.3 Amdahl’s Law of Scalability
    • 2.6.4 Universal Scalability Law
    • 2.6.5 Queueing Theory
    • 2.7 Capacity Planning
    • 2.7.1 Resource Limits
    • 2.7.2 Factor Analysis
    • 2.7.3 Scaling Solutions
    • 2.8 Statistics
    • 2.8.1 Quantifying Performance
    • 2.8.2 Averages
    • 2.8.3 Standard Deviations, Percentiles, Median
    • 2.8.4 Coefficient of Variation
    • 2.8.5 Multimodal Distributions
    • 2.8.6 Outliers
    • 2.9 Monitoring
    • 2.9.1 Time-Based Patterns
    • 2.9.2 Monitoring Products
    • 2.9.3 Summary-since-Boot
    • 2.10 Visualizations
    • 2.10.1 Line Chart
    • 2.10.2 Scatter Plots
    • 2.10.3 Heat Maps
    • 2.10.4 Surface Plot
    • 2.10.5 Visualization Tools
    • 2.11 Exercises
    • 2.12 References
  • 3 Operating Systems
    • 3.1 Terminology
    • 3.2 Background
    • 3.2.1 Kernel
    • 3.2.2 Stacks
    • 3.2.3 Interrupts and Interrupt Threads
    • 3.2.4 Interrupt Priority Level
    • 3.2.5 Processes
    • 3.2.6 System Calls
    • 3.2.7 Virtual Memory
    • 3.2.8 Memory Management
    • 3.2.9 Schedulers
    • 3.2.10 File Systems
    • 3.2.11 Caching
    • 3.2.12 Networking
    • 3.2.13 Device Drivers
    • 3.2.14 Multiprocessor
    • 3.2.15 Preemption
    • 3.2.16 Resource Management
    • 3.2.17 Observability
    • 3.3 Kernels
    • 3.3.1 Unix
    • 3.3.2 Solaris-Based
    • 3.3.3 Linux-Based
    • 3.3.4 Differences
    • 3.4 Exercises
    • 3.5 References
  • 4 Observability Tools
    • 4.1 Tool Types
    • 4.1.1 Counters
    • 4.1.2 Tracing
    • 4.1.3 Profiling
    • 4.1.4 Monitoring (sar)
    • 4.2 Observability Sources
    • 4.2.1 /proc
    • 4.2.2 /sys
    • 4.2.3 kstat
    • 4.2.4 Delay Accounting
    • 4.2.5 Microstate Accounting
    • 4.2.6 Other Observability Sources
    • 4.3 DTrace
    • 4.3.1 Static and Dynamic Tracing
    • 4.3.2 Probes
    • 4.3.3 Providers
    • 4.3.4 Arguments
    • 4.3.5 D Language
    • 4.3.6 Built-in Variables
    • 4.3.7 Actions
    • 4.3.8 Variable Types
    • 4.3.9 One-Liners
    • 4.3.10 Scripting
    • 4.3.11 Overheads
    • 4.3.12 Documentation and Resources
    • 4.4 SystemTap
    • 4.4.1 Probes
    • 4.4.2 Tapsets
    • 4.4.3 Actions and Built-ins
    • 4.4.4 Examples
    • 4.4.5 Overheads
    • 4.4.6 Documentation and Resources
    • 4.5 perf
    • 4.6 Observing Observability
    • 4.7 Exercises
    • 4.8 References
  • 5 Applications
    • 5.1 Application Basics
    • 5.1.1 Objectives
    • 5.1.2 Optimize the Common Case
    • 5.1.3 Observability
    • 5.1.4 Big O Notation
    • 5.2 Application Performance Techniques
    • 5.2.1 Selecting an I/O Size
    • 5.2.2 Caching
    • 5.2.3 Buffering
    • 5.2.4 Polling
    • 5.2.5 Concurrency and Parallelism
    • 5.2.6 Non-Blocking I/O
    • 5.2.7 Processor Binding
    • 5.3 Programming Languages
    • 5.3.1 Compiled Languages
    • 5.3.2 Interpreted Languages
    • 5.3.3 Virtual Machines
    • 5.3.4 Garbage Collection
    • 5.4 Methodology and Analysis
    • 5.4.1 Thread State Analysis
    • 5.4.2 CPU Profiling
    • 5.4.3 Syscall Analysis
    • 5.4.4 I/O Profiling
    • 5.4.5 Workload Characterization
    • 5.4.6 USE Method
    • 5.4.7 Drill-Down Analysis
    • 5.4.8 Lock Analysis
    • 5.4.9 Static Performance Tuning
    • 5.5 Exercises
    • 5.6 References
  • 6 CPUs
    • 6.1 Terminology
    • 6.2 Models
    • 6.2.1 CPU Architecture
    • 6.2.2 CPU Memory Caches
    • 6.2.3 CPU Run Queues
    • 6.3 Concepts
    • 6.3.1 Clock Rate
    • 6.3.2 Instruction
    • 6.3.3 Instruction Pipeline
    • 6.3.4 Instruction Width
    • 6.3.5 CPI, IPC
    • 6.3.6 Utilization
    • 6.3.7 User-Time/Kernel-Time
    • 6.3.8 Saturation
    • 6.3.9 Preemption
    • 6.3.10 Priority Inversion
    • 6.3.11 Multiprocess, Multithreading
    • 6.3.12 Word Size
    • 6.3.13 Compiler Optimization
    • 6.4 Architecture
    • 6.4.1 Hardware
    • 6.4.2 Software
    • 6.5 Methodology
    • 6.5.1 Tools Method
    • 6.5.2 USE Method
    • 6.5.3 Workload Characterization
    • 6.5.4 Profiling
    • 6.5.5 Cycle Analysis
    • 6.5.6 Performance Monitoring
    • 6.5.7 Static Performance Tuning
    • 6.5.8 Priority Tuning
    • 6.5.9 Resource Controls
    • 6.5.10 CPU Binding
    • 6.5.11 Micro-Benchmarking
    • 6.5.12 Scaling
    • 6.6 Analysis
    • 6.6.1 uptime
    • 6.6.2 vmstat
    • 6.6.3 mpstat
    • 6.6.4 sar
    • 6.6.5 ps
    • 6.6.6 top
    • 6.6.7 prstat
    • 6.6.8 pidstat
    • 6.6.9 time, ptime
    • 6.6.10 DTrace
    • 6.6.11 SystemTap
    • 6.6.12 perf
    • 6.6.13 cpustat
    • 6.6.14 Other Tools
    • 6.6.15 Visualizations
    • 6.7 Experimentation
    • 6.7.1 Ad Hoc
    • 6.7.2 SysBench
    • 6.8 Tuning
    • 6.8.1 Compiler Options
    • 6.8.2 Scheduling Priority and Class
    • 6.8.3 Scheduler Options
    • 6.8.4 Process Binding
    • 6.8.5 Exclusive CPU Sets
    • 6.8.6 Resource Controls
    • 6.8.7 Processor Options (BIOS Tuning)
    • 6.9 Exercises
    • 6.10 References
  • 7 Memory
    • 7.1 Terminology
    • 7.2 Concepts
    • 7.2.1 Virtual Memory
    • 7.2.2 Paging
    • 7.2.3 Demand Paging
    • 7.2.4 Overcommit
    • 7.2.5 Swapping
    • 7.2.6 File System Cache Usage
    • 7.2.7 Utilization and Saturation
    • 7.2.8 Allocators
    • 7.2.9 Word Size
    • 7.3 Architecture
    • 7.3.1 Hardware
    • 7.3.2 Software
    • 7.3.3 Process Address Space
    • 7.4 Methodology
    • 7.4.1 Tools Method
    • 7.4.2 USE Method
    • 7.4.3 Characterizing Usage
    • 7.4.4 Cycle Analysis
    • 7.4.5 Performance Monitoring
    • 7.4.6 Leak Detection
    • 7.4.7 Static Performance Tuning
    • 7.4.8 Resource Controls
    • 7.4.9 Micro-Benchmarking
    • 7.5 Analysis
    • 7.5.1 vmstat
    • 7.5.2 sar
    • 7.5.3 slabtop
    • 7.5.4 ::kmastat
    • 7.5.5 ps
    • 7.5.6 top
    • 7.5.7 prstat
    • 7.5.8 pmap
    • 7.5.9 DTrace
    • 7.5.10 SystemTap
    • 7.5.11 Other Tools
    • 7.6 Tuning
    • 7.6.1 Tunable Parameters
    • 7.6.2 Multiple Page Sizes
    • 7.6.3 Allocators
    • 7.6.4 Resource Controls
    • 7.7 Exercises
    • 7.8 References
  • 8 File Systems
    • 8.1 Terminology
    • 8.2 Models
    • 8.2.1 File System Interfaces
    • 8.2.2 File System Cache
    • 8.2.3 Second-Level Cache
    • 8.3 Concepts
    • 8.3.1 File System Latency
    • 8.3.2 Caching
    • 8.3.3 Random versus Sequential I/O
    • 8.3.4 Prefetch
    • 8.3.5 Read-Ahead
    • 8.3.6 Write-Back Caching
    • 8.3.7 Synchronous Writes
    • 8.3.8 Raw and Direct I/O
    • 8.3.9 Non-Blocking I/O
    • 8.3.10 Memory-Mapped Files
    • 8.3.11 Metadata
    • 8.3.12 Logical versus Physical I/O
    • 8.3.13 Operations Are Not Equal
    • 8.3.14 Special File Systems
    • 8.3.15 Access Timestamps
    • 8.3.16 Capacity
    • 8.4 Architecture
    • 8.4.1 File System I/O Stack
    • 8.4.2 VFS
    • 8.4.3 File System Caches
    • 8.4.4 File System Features
    • 8.4.5 File System Types
    • 8.4.6 Volumes and Pools
    • 8.5 Methodology
    • 8.5.1 Disk Analysis
    • 8.5.2 Latency Analysis
    • 8.5.3 Workload Characterization
    • 8.5.4 Performance Monitoring
    • 8.5.5 Event Tracing
    • 8.5.6 Static Performance Tuning
    • 8.5.7 Cache Tuning
    • 8.5.8 Workload Separation
    • 8.5.9 Memory-Based File Systems
    • 8.5.10 Micro-Benchmarking
    • 8.6 Analysis
    • 8.6.1 vfsstat
    • 8.6.2 fsstat
    • 8.6.3 strace, truss
    • 8.6.4 DTrace
    • 8.6.5 SystemTap
    • 8.6.6 LatencyTOP
    • 8.6.7 free
    • 8.6.8 top
    • 8.6.9 vmstat
    • 8.6.10 sar
    • 8.6.11 slabtop
    • 8.6.12 mdb ::kmastat
    • 8.6.13 fcachestat
    • 8.6.14 /proc/meminfo
    • 8.6.15 mdb ::memstat
    • 8.6.16 kstat
    • 8.6.17 Other Tools
    • 8.6.18 Visualizations
    • 8.7 Experimentation
    • 8.7.1 Ad Hoc
    • 8.7.2 Micro-Benchmark Tools
    • 8.7.3 Cache Flushing
    • 8.8 Tuning
    • 8.8.1 Application Calls
    • 8.8.2 ext3
    • 8.8.3 ZFS
    • 8.9 Exercises
    • 8.10 References
  • 9 Disks
    • 9.1 Terminology
    • 9.2 Models
    • 9.2.1 Simple Disk
    • 9.2.2 Caching Disk
    • 9.2.3 Controller
    • 9.3 Concepts
    • 9.3.1 Measuring Time
    • 9.3.2 Time Scales
    • 9.3.3 Caching
    • 9.3.4 Random versus Sequential I/O
    • 9.3.5 Read/Write Ratio
    • 9.3.6 I/O Size
    • 9.3.7 IOPS Are Not Equal
    • 9.3.8 Non-Data-Transfer Disk Commands
    • 9.3.9 Utilization
    • 9.3.10 Saturation
    • 9.3.11 I/O Wait
    • 9.3.12 Synchronous versus Asynchronous
    • 9.3.13 Disk versus Application I/O
    • 9.4 Architecture
    • 9.4.1 Disk Types
    • 9.4.2 Interfaces
    • 9.4.3 Storage Types
    • 9.4.4 Operating System Disk I/O Stack
    • 9.5 Methodology
    • 9.5.1 Tools Method
    • 9.5.2 USE Method
    • 9.5.3 Performance Monitoring
    • 9.5.4 Workload Characterization
    • 9.5.5 Latency Analysis
    • 9.5.6 Event Tracing
    • 9.5.7 Static Performance Tuning
    • 9.5.8 Cache Tuning
    • 9.5.9 Resource Controls
    • 9.5.10 Micro-Benchmarking
    • 9.5.11 Scaling
    • 9.6 Analysis
    • 9.6.1 iostat
    • 9.6.2 sar
    • 9.6.3 pidstat
    • 9.6.4 DTrace
    • 9.6.5 SystemTap
    • 9.6.6 perf
    • 9.6.7 iotop
    • 9.6.8 iosnoop
    • 9.6.9 blktrace
    • 9.6.10 MegaCli
    • 9.6.11 smartctl
    • 9.6.12 Visualizations
    • 9.7 Experimentation
    • 9.7.1 Ad Hoc
    • 9.7.2 Custom Load Generators
    • 9.7.3 Micro-Benchmark Tools
    • 9.7.4 Random Read Example
    • 9.8 Tuning
    • 9.8.1 Operating System Tunables
    • 9.8.2 Disk Device Tunables
    • 9.8.3 Disk Controller Tunables
    • 9.9 Exercises
    • 9.10 References
  • 10 Network
    • 10.1 Terminology
    • 10.2 Models
    • 10.2.1 Network Interface
    • 10.2.2 Controller
    • 10.2.3 Protocol Stack
    • 10.3 Concepts
    • 10.3.1 Networks and Routing
    • 10.3.2 Protocols
    • 10.3.3 Encapsulation
    • 10.3.4 Packet Size
    • 10.3.5 Latency
    • 10.3.6 Buffering
    • 10.3.7 Connection Backlog
    • 10.3.8 Interface Negotiation
    • 10.3.9 Utilization
    • 10.3.10 Local Connections
    • 10.4 Architecture
    • 10.4.1 Protocols
    • 10.4.2 Hardware
    • 10.4.3 Software
    • 10.5 Methodology
    • 10.5.1 Tools Method
    • 10.5.2 USE Method
    • 10.5.3 Workload Characterization
    • 10.5.4 Latency Analysis
    • 10.5.5 Performance Monitoring
    • 10.5.6 Packet Sniffing
    • 10.5.7 TCP Analysis
    • 10.5.8 Drill-Down Analysis
    • 10.5.9 Static Performance Tuning
    • 10.5.10 Resource Controls
    • 10.5.11 Micro-Benchmarking
    • 10.6 Analysis
    • 10.6.1 netstat
    • 10.6.2 sar
    • 10.6.3 ifconfig
    • 10.6.4 ip
    • 10.6.5 nicstat
    • 10.6.6 dladm
    • 10.6.7 ping
    • 10.6.8 traceroute
    • 10.6.9 pathchar
    • 10.6.10 tcpdump
    • 10.6.11 snoop
    • 10.6.12 Wireshark
    • 10.6.13 DTrace
    • 10.6.14 SystemTap
    • 10.6.15 perf
    • 10.6.16 Other Tools
    • 10.7 Experimentation
    • 10.7.1 iperf
    • 10.8 Tuning
    • 10.8.1 Linux
    • 10.8.2 Solaris
    • 10.8.3 Configuration
    • 10.9 Exercises
    • 10.10 References
  • 11 Cloud Computing
    • 11.1 Background
    • 11.1.1 Price/Performance Ratio
    • 11.1.2 Scalable Architecture
    • 11.1.3 Capacity Planning
    • 11.1.4 Storage
    • 11.1.5 Multitenancy
    • 11.2 OS Virtualization
    • 11.2.1 Overhead
    • 11.2.2 Resource Controls
    • 11.2.3 Observability
    • 11.3 Hardware Virtualization
    • 11.3.1 Overhead
    • 11.3.2 Resource Controls
    • 11.3.3 Observability
    • 11.4 Comparisons
    • 11.5 Exercises
    • 11.6 References
  • 12 Benchmarking
    • 12.1 Background
    • 12.1.1 Activities
    • 12.1.2 Effective Benchmarking
    • 12.1.3 Benchmarking Sins
    • 12.2 Benchmarking Types
    • 12.2.1 Micro-Benchmarking
    • 12.2.2 Simulation
    • 12.2.3 Replay
    • 12.2.4 Industry Standards
    • 12.3 Methodology
    • 12.3.1 Passive Benchmarking
    • 12.3.2 Active Benchmarking
    • 12.3.3 CPU Profiling
    • 12.3.4 USE Method
    • 12.3.5 Workload Characterization
    • 12.3.6 Custom Benchmarks
    • 12.3.7 Ramping Load
    • 12.3.8 Sanity Check
    • 12.3.9 Statistical Analysis
    • 12.4 Benchmark Questions
    • 12.5 Exercises
    • 12.6 References
  • 13 Case Study
    • 13.1 Case Study: The Red Whale
    • 13.1.1 Problem Statement
    • 13.1.2 Support
    • 13.1.3 Getting Started
    • 13.1.4 Choose Your Own Adventure
    • 13.1.5 The USE Method
    • 13.1.6 Are We Done?
    • 13.1.7 Take 2
    • 13.1.8 The Basics
    • 13.1.9 Ignoring the Red Whale
    • 13.1.10 Interrogating the Kernel

BPF Performance Tools (Brendan Gregg)

DTrace : Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD (Brendan Gregg)

The Art of Performance Engineering (Vashistha)

  • 1 Getting Started
  • 2 Infrastructure Design
  • 3 Client Side Optimization
  • 4 Web Server Optimization
  • 5 Application Server Optimization
  • 6 Database Server Optimization
  • 7 JVM Tuning
  • 8 Performance Monitoring
  • 9 Performance Counters

Performance Analysis and Tuning on Modern CPUs (Denis Bhakvalov)

  • 1 Introduction
  • Part 1 Perofrmance Analysis on a Modern CPU
  • 2 Measuring Performance
  • 3 CPU Microarchitecture
  • 4 Terminology and Metrics in Performance Analysis
  • 5 Performance Analysis Approaches
  • 6 CPU Features for Performance Analysis
  • Part 2 Source Code Tuning for CPU
  • 7 CPU Front-End Optimizations
  • 8 CPU Back-End Optimizations
  • 9 Optimizing Bad Speculation
  • 10 Other Tuning Areas
  • 11 Optimizing Multithreaded Applications

Reflections on Programming

Source

From "Out of Time: Reflections on the Programming Life," by Ellen Ullman, a chapter in Resisting the Virtual Life, edited by James Brook and Iain A. Boal. Ullman is a software engineer living in San Francisco.

Getting close to the machine

People imagine that computer programming is logical, a process like fixing
a clock. Nothing could be further from the truth. Programming is more like
an illness, a fever, an obsession. It's like riding a train and never being
able to get off.
        The problem with programming is not that the computer is illogical
- the computer is terribly logical, relentlessly literal. It demands that
the programmer explain the world on its terms; that is, as an algorithm
that must be written down in order, in a specific syntax, in a strange
language that is only partially readable by regular human beings. To
program is to translate between the chaos of human life and the rational,
line-by-line world of computer language.
        When you program, reality presents itself as thousands of details,
millions of bits of knowledge. This knowledge comes at you from one
perspective and then another, then comes random thought, then you remember
something else important, then you reconsider that idea with a what-if
attached. For example, try to think of everything you know about something
as simple as an invoice. Now try to tell an idiot how to prepare one.
That's programming.
        I used to have dreams in which I was overhearing conversations I
had to program. Once I dramed I had to program two people making love. In
my dream they sweated and tumbled while I sat looking for the algorithm.
The couple went from gentle caresses to ever-deepening passion, and I treid
desperately to find a way to express the act of love in the C computer
language.
        When you are programming, you must not let your mind wander. As the
human-world knowledge tumbles about in you head, you must keep typing,
typing. You must not be interrupted. Any break in your concentration causes
you to lose a line here or there. Some bit comes, then - oh no, it's
leaving, please come back. But it may not come back. You may lose it. You
will create a bug and there's nothing you can do about it.
        People imagine that programmers don't like to talk because they
prefer machines to people. This is not completely true. Programmers don't
talk because they must not be interrupted.
        This need to be uninterrupted leads to a life that is strangely
asynchronous to the one lived by other human beings. It's better to send
e-mail to a programmer than to call. It's better to leave a note on the
chair than to expect the programmer to come to a meeting. This is because
the programmer must work in mind time while the phone rings and the
meetings happen in real time. It's not just ego that prevents programmers
from working in groups - it's the synchronicity problem. Synchronizing with
other people (or their representations in telephones, buzzers and
doorbells) can only mean interrupting the thought train. Interruptions mean
bugs. You must not get off the train.

I once had a job in which I didn't talk to anyone for two years. Here was
the arrangement: I was the first engineer to be hired by a start-up
software company. In exchange for large quantities of stock that might be
worth something someday, I was supposed to give up my life.
        I sat in a large room with two other engineers and three
workstations. The fans in the machines whirred, the keys on the keyboard
clicked. Occasionally one of us would grunt or mutter. otherwise we did not
speak. Now and then I would have an outburst in which I pounded the
keyboard with my fists, settting off a barrage of beeps. My colleagues
might have looked up, but they never said anything.
        Real time was no longer compelling to me. Days, weeks, months, and
years came and went  without much change in my surroundings. Surely I was
aging. My hair must have grown, I must have cut it, it must have slowly
become grayer. Gravity must have been wrking on my late-thirties body, but
I didn't pay attention.
        What was compelling was the software. I was making something out of
nothing, I thought, and I admit that the software had more life for me
during those years than a brief love affair, my friends, my cat, my house,
or my neighbor who was stabbed and nearly killed by her husband. One day I
sat in a room by myself, surrounded by computer monitors. I remeber looking
at the screens and saying, "Speak to me."
        I was creating something called a device independent interface
library. ("Creating" - that is the word we used, each of us a genius in the
attic.) I completed the library in two years and left the company. Five
years later, the company's stock went public, and the original arrangement
was made good: the engineers who stayed - the ones who had given seven
years of their lives to the machine - became very, very wealthy.

If you want money and prestige, you need to write code that only machines
or other programmers understand. Such code is called "low." In regular
life, "low" usually signifies something bad. In programming, "low" is good.
Low means that you are close to the machine.
        If the code creates programs that do useful work for regular human
beings, it is called "high." Higher-level programs are called
"applications." Applications are things that people use. Although it would
seem that usefulness is a good thing, direct people-use is bad from a
programmer's point of view. If regular people, called "users," can
understand the task accomplished by your program, you will be paid less and
held in lower esteem.
        A real programmer wants to stay close to the machine. The machine
means midnight dinners of Diet Coke. It means unwashed clothes and bare
feet on the desk. It means anxious rides through mind time that have
nothing to do with the clock. To work on things used only by machines or
other programmers - that's the key. Programmers and machines don't care how
you live. You can stay, come, go, sleep - or not. At the end of the project
looms a deadline, the terrible place where you must get off the train. But
in between, for years at a stretch, you are free: free from the obligations
of time.

I once designed a graphical user interface with a man who wouldn't speak to
me. My boss hired him without letting anyone else sit on the interview. My
boss lived to regret it.
        I was asked to brief my new colleague with the help of the third
member of our team. We went into a conference room, where my co-worker and
I filled two white boards with lines, boxes, circles, and arrows while the
new hire watched. After about a half hour, I noticed that he had become
very agitated.
        "Are we going too fast?" I asked him.
        "Too much for the first day?" asked my colleague.
        "No," said our new man, "I just can't do it like this."
        "Do what?" I asked. "Like what?"
        His hands were deep in his pockets. he gestured with his elbows.
"Like this," he said.
        "You mean design?" I asked.
        "You mean in a meeting?" asked my colleague.
        No answer from the new guy. A shrug. Another elbow motion.
        Something terrible was beginning to occur to me. "You mean
talking?" I asked.
        "Yeah, talking," he said. "I can't do it by talking."
        By this time in my career, I had met many strange software
engineers. But here was the first one who wouldn't talk at all. We had a
lot of design work to do. No talking was certainly going to make things
difficult.
        "So how *can* you do it?" I asked.
        "Mail," he said. "Send me e-mail."
        Given no choice, we designed a graphical user interface by e-mail.
Corporations across North America and Europe are still using a system
designed by three people in the same office who communicated via computer,
one of whom barely spoke at all.

Pretty graphical interafaces are commonly called "user-friendly." But they
are not really your friends. Underlying every user-friendly interface is
terrific contempt for the humans who will use it.
        The basic idea of a graphical interface is that it will not allow
anything alarming to happen. You can pound on the mouse button, your cat
can run across it, your baby can punch it, but the system should not crash.
        To build a crash-proof system, the designer must be able to imagine
- and disallow - the dumbest action possible. He or she has to think of
every single stupid thing a human being could do. Gradually, over months
and years, the designer's mind creates a construct of the user as an
imbecile. This image is necessary. No crash-proof system can be built
unless it is made for an idiot.
        The designer's contempt for your intellignece is mostly hidden deep
in the code. But now and then the disdain surfaces. Here's a small example:
You're trying to do something simple such as copying files onto a diskette
on your Mac. The program proceeds for a while, then encounters an error.
Your disk is defective, says a message, and below the message is a single
button. You absolutely must click this button. If you don't click it, the
program will hang there indefinitley. Your disk is defective, your files
may be bollixed up, but the designer leaves you only one possible reply.
You must say "OK."
        The prettier the user interface, and the fewer replies the system
allows you to make, the dumber you once appeared in the mind of the
designer. Soon, everywhere we look, we will see pretty, idiot-proof
interfaces designed to make us say, "OK." Telephones, televisions, sales
kiosks will all be wired for "interactive," on-demand services. What power
- demand! See a movie, order seats to a basketball game, make hotel
reservations, send a card to mother - all of these services will be waiting
for us on our televisions or computers whenever we want them, midnight,
dawn, or day. Sleep or order a pizza: it no longer matters exactly what we
do when. We don't need to involve anyone else in the satisfaction of our
needs. We don't even have to talk. We get our services when we want them,
free from the obligations of regularly scheduled time. We can all live,
like programmers, close to the machine. "Interactivity" is misnamed. it
should be called "asynchrony": the engineering culture come to everyday
life.
        The very word "interactivity" implies something good and wonderful.
Surely a response, a reply, an answer is a positive thing. Surely it
signifies an advance over something else, something bad, something that
doesn't respond. There is only one problem: what we will be interacting
with is a machine. We will be "talking" to programs that are beginning to
look surpisingly alike; each has little animated pictures we are suppposed
to choose from, like push buttons on a toddler's toy. The toy is meant to
please us. Somehow it is supposed to replace the rewards of fumbling for
meaning with a mature human being, in the confusion of a natural language,
together, in a room, within touching distance.
        As the computer's pretty, helpful face (and contemptuous underlying
code) penetrates deeper into daily life, the cult of the engineer comes
with it. The engineer's assumptions and presumptions are in the code.
That's the purpose of the program, afterall: to sum up the intelligence and
intentions of all the engineers who worked on the system over time - tens
and hundreds of people who have learned an odd and highly specific way of
doing things. The system reproduces and re-enacts life as engineers know
it: alone, out of time, disdainful of anyone far from the machine.

State Machines

  • https://github.com/cpressey/Facts-about-State-Machines

  • https://github.com/StateSmith/StateSmith

  • [[http://felixge.de/2017/07/27/implementing-state-machines-in-postgresql.html][Implementing State Machines in PostgreSQL]]

  • [[http://apanatshka.github.io/compsci/2016/04/10/finite-automata/][Finite Automata]]

  • https://mannhowie.com/finite-state-machines

  • [[https://github.com/couchbaselabs/vellum][GitHub - couchbaselabs/vellum: A Go library implementing an FST (finite state transducer)]]

  • [[http://code.google.com/p/finitestatemachinegenerator/][Google Code Archive - Long-term storage for Google Code Project Hosting.]]

  • PROGRAMMING LANGUAGES / ERLANG / GEN_STATEM

    • [[http://erlang.2086793.n4.nabble.com/Proposal-for-new-state-machine-engine-gen-statem-td4715672.html][Erlang Questions - Proposal for new state machine engine: gen_statem]]
    • [[http://erlang.org/doc/design_principles/statem.html][Erlang -- gen_statem Behavior]]
    • [[http://erlang.org/doc/man/gen_statem.html][Erlang -- gen_statem]]
    • [[http://proper.softlab.ntua.gr/Tutorials/PropEr_testing_of_finite_state_machines.html][PropEr testing of finite state machines]]
    • [[http://www.davekuhlman.org/gen_statem-fsm-rules-implementation.html][Implementing finite state machines with Erlang and gen_statem - Dave's page]]
    • https://ericent.in/elixir/erlang/gen_statem/gen_state_machine/2016/07/27/stately-machines.html
    • [[https://github.com/antipax/gen_state_machine][GitHub - antipax/gen_state_machine: An idiomatic Elixir wrapper for gen_statem in OTP 19 (and above).]]
    • [[https://github.com/erlang/otp/pull/960][Raimo: New gen State Machine: OTP-13065 by RaimoNiskanen · Pull Request #960 · erlang/otp · GitHub]]
    • [[https://github.com/erlang/otp/pulls?utf8=%E2%9C%93&q=is%3Apr%20is%3Aclosed%20gen_statem%20][Pull Requests · erlang/otp · GitHub]]
    • [[https://github.com/Ledest/gen_statem][GitHub - Ledest/gen_statem]]
    • http://blog.obligd.com/posts/bend-it-like-gen-statem.html
    • https://andrealeopardi.com/posts/connection-managers-with-gen_statem/
  • ALGORITHMS / STATE MACHINES

    • https://github.com/davidkpiano/xstate
    • https://wickstrom.tech/finite-state-machines/2017/11/19/finite-state-machines-part-2.html
    • [[http://teh.id.au/posts/2017/07/15/state-machine-testing/index.html][State machine testing with Hedgehog]]
    • https://gist.github.com/andymatuschak/d5f0a8730ad601bcccae97e8398e25b2
    • https://barrgroup.com/Embedded-Systems/How-To/Introduction-Hierarchical-State-Machines
    • https://news.ycombinator.com/item?id=15851421
    • [[http://aigamedev.com/open/article/fsm-implementation/][Common Ways to Implement Finite State Machines in Games | AiGameDev.com]]
    • [[http://www.codeproject.com/Articles/406116/Generic-Finite-State-Machine-FSM][Generic Finite State Machine (FSM) - CodeProject]]
    • [[http://github.com/GerhardR/fsm][GitHub - GerhardR/fsm: finite state machine in C++ templates]]
    • [[http://github.com/Ikzer/fsmv1][GitHub - Ikzer/fsmv1: Finite State Machine in C++]]
    • [[http://github.com/ajrisi/fsm][GitHub - ajrisi/fsm: A finite state machine engine in C - used as a parser for complex data structures]]
    • [[http://github.com/ankurs/FSM][GitHub - ankurs/FSM: FSM in C]]
    • [[http://github.com/benjones/simpleFSM][GitHub - benjones/simpleFSM: A super simple (and flexible) Finite State Machine class in 30 lines of C++]]
    • [[http://github.com/davber/abstract_fsm][GitHub - davber/abstract_fsm: An abstract finite state machine interface for C++, using solid FSM engines as the back end]]
    • [[http://github.com/gdhamp/FSM][GitHub - gdhamp/FSM: Really nice Finite State machine in c and python]]
    • [[http://github.com/kurniawano/simple-fsm][GitHub - kurniawano/simple-fsm: Class for representing state machine in C++]]
    • [[http://github.com/mitchi/Generator-fsm][GitHub - mitchi/Generator-fsm: FSM generator for C++ with diagram generation via graphviz]]
    • [[http://github.com/niebelung/cpp-fsm][GitHub - niebelung/cpp-fsm: Simple C++11 FSM. No dependencies.]]
    • [[http://github.com/ombre5733/fsm11][GitHub - ombre5733/fsm11: A C++ library for finite state machines]]
    • [[http://github.com/r-lyeh/fsm][GitHub - r-lyeh/fsm: Simple and lightweight Hierarchical/Finite-State Machine (H-FSM) class (C++11)]]
    • [[http://github.com/wisoltech/fsm_cpp][GitHub - eglimi/cppfsm: A simple, generic, header-only state machine implementation for C++.]]
    • [[http://www.gnu.org/software/autogen/autofsm.html][AutoFSM - Automated Finite State Machine]]
    • [[http://www.hanselman.com/blog/Stateless30AStateMachineLibraryForNETCore.aspx][Stateless 3.0 - A State Machine library for .NET Core - Scott Hanselman]]
    • [[http://bits.citrusbyte.com/state-design-pattern-with-ruby/?utm_source=rubyweekly&utm_medium=email][Tired of conditionals? State pattern could help]]
    • [[http://blog.balancedpayments.com/state-machines/][State Machines - How Balanced controls funds flow » Balanced: Blog]]
    • http://boost-extension.redshoelace.com/docs/boost/fsm/doc/state_machine.html
    • [[http://c2.com/cgi/wiki?LispShowOffExamples][http://c2.com/cgi/wiki?LispShowOffExamples]]
    • [[http://codereview.stackexchange.com/questions/20273/designing-a-state-machine-in-c-using-stl-please-improve][Designing a state machine in C++ using the STL - Code Review Stack Exchange]]
    • [[http://ehiti.de/machine_objects/][Machine Objects - Hierarchical state machines in C++]]
    • [[http://en.wikipedia.org/wiki/Automata-based_programming][Automata-based programming - Wikipedia]]
    • [[http://en.wikipedia.org/wiki/Automata-based_programming_(Shalyto%27s_approach)][Automata-based programming (Shalyto's approach) - Wikipedia]]
    • [[http://en.wikipedia.org/wiki/Statechart][State diagram - Wikipedia]]
    • [[http://github.com/hekailiang/squirrel][GitHub - hekailiang/squirrel: squirrel-foundation is a State Machine library, which provided a lightweight, easy use, type safe and programmable state machine implementation for Java.]]
    • [[http://github.com/pragdave/fsm_dsl][GitHub - pragdave/fsm_dsl: A DSL for Elixir GenFSM modules]]
    • [[http://github.com/sasa1977/fsm][GitHub - sasa1977/fsm: Finite State Machine data structure]]
    • [[http://smc.sourceforge.net/][SMC: The State Machine Compiler]]
    • [[http://sourceforge.net/projects/fsmpp/][FSMPP - Finite State Machines in C++ download | SourceForge.net]]
    • [[http://stackoverflow.com/questions/14676709/c-code-for-state-machine][design patterns - C++ code for state machine - Stack Overflow]]
    • [[http://stackoverflow.com/questions/1647631/c-state-machine-design][c++ - C state-machine design - Stack Overflow]]
    • [[http://stackoverflow.com/questions/2271073/state-machines-in-c][State machines in C - Stack Overflow]]
    • http://wickedsource.org/2013/11/19/state-machine-with-java/
    • [[http://www.boost.org/doc/libs/1_55_0/libs/msm/doc/HTML/index.html][Meta State Machine (MSM) - 1.55.0]]
    • [[http://www.bouml.fr/doc/index_statemachinegenerator.html][BOUML user manual]]
    • [[http://www.embeddedrelated.com/showarticle/543.php][Implementing State Machines - Stephen Friederichs]]
    • [[http://www.findinglisp.com/blog/2004/06/automaton-cleanup.html][Finding Lisp]]
    • [[http://www.findinglisp.com/blog/2004/06/basic-automaton-macro.html][Finding Lisp]]
    • [[http://www.findinglisp.com/blog/2004/06/state-machines.html][Finding Lisp]]
    • [[http://www.lispplusplus.com/2013/07/the-evolution-of-macro.html][The Evolution of a Macro - (elegant coding from a more civilized age)]]
    • [[http://www.loper-os.org/?p=14][Loper OS » The Linked List and Modern Architectures]]
    • [[http://www.loper-os.org/?p=69][Loper OS » Where Lisp Fails: at Turning People into Fungible Cogs.]]
    • http://www.omnetpp.org/doc/omnetpp/api/group__MacrosFSM.html
    • [[http://www.openfst.org/twiki/bin/view/FST/WebHome][WebHome < FST < TWiki]]
    • [[http://www.stateforge.com/Help/StateBuilderCpp/statebuildercpp-state-machine-generator.aspx][StateBuilderCpp - state machine code generator for C++]]
    • https://blog.the-pans.com/state-machine/
    • https://news.ycombinator.com/item?id=16470262
    • https://news.ycombinator.com/item?id=16468280
    • http://raganwald.com/2018/02/23/forde.html
    • http://raganwald.com/2018/03/03/reflections.html
    • https://news.ycombinator.com/item?id=16606379
    • https://accu.org/index.php/journals/252
    • https://github.com/metosin/tilakone
    • https://www.wikiwand.com/en/Event-driven_finite-state_machine
    • [[http://retis.sssup.it/~marco/files/lesson13-state_machine_implementations.pdf][http://retis.sssup.it/~marco/files/lesson13-state_machine_implementations.pdf]]
    • http://denis.papathanasiou.org/2013/02/10/state-machines-in-go-golang/
    • [[http://natsys-lab.blogspot.com.ar/2014/11/the-fast-finite-state-machine-for-http.html][High Performance Linux: Fast Finite State Machine for HTTP Parsing]]
    • [[http://codeincomplete.com/posts/2013/1/26/javascript_state_machine_v2_2_0/][http://codeincomplete.com/posts/2013/1/26/javascript_state_machine_v2_2_0/]]
    • [[http://codeandlife.com/2013/10/06/tutorial-state-machines-with-c-callbacks/][Tutorial: State Machines with C Callbacks – Code and Life]]
    • [[http://www.drdobbs.com/cpp/state-machine-design-in-c/184401236][State Machine Design in C++ | Dr Dobb's]]
    • [[http://www.skorks.com/2011/09/why-developers-never-use-state-machines/][Why Developers Never Use State Machines]]
    • [[http://github.com/jakesgordon/javascript-state-machine][GitHub - jakesgordon/javascript-state-machine: A javascript finite state machine library]]
    • [[http://github.com/misje/stateMachine][GitHub - misje/stateMachine: A feature-rich, yet simple finite state machine (FSM) implementation in C]]
    • [[http://github.com/oxplot/fysom][GitHub - oxplot/fysom: Finite State Machine for Python (based on Jake Gordon's javascript-state-machine)]]
    • [[http://github.com/tinybike/FiniteStateMachine.jl][GitHub - tinybike/FiniteStateMachine.jl: A simple Julia implementation of finite state machines.]]
    • [[http://jawher.me/2015/01/18/parsing-command-line-arguments-finite-state-machine-backtracking/][Parsing command line arguments using a finite state machine and backtracking]]
    • http://kev.inburke.com/kevin/state-machines/
    • [[http://blog.stermon.com/articles/2016/10/06/model-state-machine-with-types][Model state machines with types | Blog: Ramón Soto Mathiesen]]
    • [[https://news.ycombinator.com/item?id=13093129][Amazon States Language – A JSON-based language to describe state machines | Hacker News]]
    • [[http://khuttun.github.io/2017/02/04/implementing-state-machines-with-std-variant.html][Implementing State Machines with std::variant]]
    • [[http://elenalang.blogspot.com.ar/2017/02/mixins-in-elena-state-machine.html][ELENA Programming Language blog: Mixins in ELENA : State machine]]
    • [[https://news.ycombinator.com/item?id=14634947][Designing state machines | Hacker News]]
    • [[http://blog.markshead.com/869/state-machines-computer-science/][State Machines – Basics of Computer Science — Mark Shead]]
    • [[https://drivy.engineering/designing-state-machines/][https://drivy.engineering/designing-state-machines/]]
    • https://wickstrom.tech/programming/2017/10/27/motor-finite-state-machines-haskell.html
    • https://functional.works-hub.com/learn/afsm-arrowized-functional-state-machines-f0640?utm_source=reddit&utm_medium=blog&utm_campaign=m.samuel
    • https://en.wikipedia.org/wiki/State_machine_replication
    • https://www.skorks.com/2011/09/why-developers-never-use-state-machines/
    • https://blog.frankel.ch/builder-pattern-finite-state-machine/
    • https://www.amihaiemil.com/2018/12/09/builder-as-a-failfast-state-machine.html
    • http://crookedtimber.org/2019/11/25/seeing-like-a-finite-state-machine/
    • https://terodox.tech/ui-state-machines/
    • https://medium.com/analytics-vidhya/converting-boolean-logic-decision-trees-to-finite-state-machines-180ad195abf2
    • http://www.pathsensitive.com/2020/09/book-review-elements-of-programmnig.html
    • MixedReaction/DiscreteStatePattern
    • Discrete State Pattern - A pattern for creating highly compact and light-weight general purpose finite state machines
    • https://blockchain.works-hub.com/learn/finite-state-machines-e4882?utm_medium=email&utm_source=topic+optin&utm_campaign=awareness&utm_content=20210227+prog+nl&mkt_tok=MTA3LUZNUy0wNzAAAAF7govsFo8Le64wn_t-t2OzHQOQ9qtSEaHU73lU07VjbMtS4ZvYWJSD5a3ACliQeVYNAa5p4Kdcwf8cotwgH_EQphwecuMKrJmo5kDBmYNz3xYALWo
    • https://blog.appsignal.com/2022/06/22/state-machines-in-ruby-an-introduction.html
  • ALGORITHMS / STATE MACHINES / C

    • http://johnsantic.com/comp/state.html
    • http://www.adamtornhill.com/Patterns%20in%20C%202,%20STATE.pdf
    • http://www.barrgroup.com/Embedded-Systems/How-To/Coding-State-Machines
    • http://www.conman.org/projects/essays/states.html
    • http://www.microchip.com/forums/m520736.aspx
    • https://phabulous.org/c-dfa-implementation/
  • ALGORITHMS / STATE MACHINES / ERLANG

    • http://gist.github.com/gebi/jungerl/tree/master/lib/plain_fsm/doc/
  • ALGORITHMS / STATE MACHINES / GO

    • http://github.com/ryanfaerman/fsm
  • ALGORITHMS / STATE MACHINES / RAGEL

    • http://www.complang.org/ragel/
    • http://thingsaaronmade.com/blog/a-simple-intro-to-writing-a-lexer-with-ragel.html
    • http://www.avrfreaks.net/forum/codec-parsing-strings-flexiblyefficiently-ragel
    • http://www.colm.net/open-source/ragel/
    • http://www.devchix.com/2008/01/13/a-hello-world-for-ruby-on-ragel-60/
    • http://github.com/danmiley/ragel/blob/master/examples/atoi.rl
    • http://engineering.emcien.com/2013/04/5-building-tokenizers-with-ragel

Software Testing


Unit Testing

Property-Based Testing

Fuzzy Testing

Rust

User Interface Testing

Tools

Self-hosted

  • Radicle is a sovereign {code forge} built on Git.
    • https://radicle.xyz/

CLI

  • Monolith: CLI tool for saving complete web pages as a single HTML file
    • https://github.com/Y2Z/monolith
    • https://news.ycombinator.com/item?id=39810378
  • pqueue: Manage your shell commands.
    • https://github.com/Nukesor/pueue
  • difftastic: a structural diff tool that understands syntax
    • https://difftastic.wilfred.me.uk/
    • https://news.ycombinator.com/item?id=39778412

Rust

  • STU: TUI (Terminal/Text UI) application for AWS S3
    • https://github.com/lusingander/stu

CLI

Table of Contents


Binutils & Coreutils

File utilities

chconchange file security context
chgrpchange file group ownership
chownchange file ownership
chmodchange file permissions of a file or a directory
cpcopy a file or directory
ddcopy or convert a file
dfshow disk free space on filesystems
dir(ls -l -b)

Text utilities

base64base64 encode/decode data and print to stdout
catconcatenate and print file to stdout
cksumchecksums and counts the bytes in a file
commcompares two sorted files line by line
csplitsplits a file into sections determined by context lines
cutremoves sections from each line of files
expandconverts tabs to spaces
fmtsimple optimal text formatter
foldwraps each input line to fit in specified width
headoutputs the first part of files
joinjoins lines fo two files on a common field
md5sumcomputes and checks md5 message digest
nlnumbers lines of files
oddumps files in octal and other formats
pastemerged lines of files
ptxproduces a permutated index of file contents
prconverts text files for printing
sha{1,224,256,384,512}sumcomputes and checks SHA message digest
shufgenerate random permutations
sortsort lines of text files
splitsplit a file into pieces
sumchecksums and counts the blocks in a file
tacconcatenates and prints in reverse
tailoutputs the last part of files
trtranslates or deletes characters
tsortperforms a topological sort
unexpandconverts spaces to tabs
uniqremoves duplicate lines from a file
wcprints the number of bytes, words and lines in a file

Shell utilities

arch(uname -m)
basenameremoves path prefix from filename
chrootchanges the root directory
dateprints/sets the system date and time
dirnamestrips non-directory suffic from filename
dushows disk usage on filesystems
echodisplays displays specified line of text
envdisplays and modifies environment variables
exprevaluates expressions
factorfactors numbers
falseexits unsuccesfully
groupsprints groups of which the user is a member
hostidprints numeric id of current host
idprint effective uid/gid
linkcreate link to file
lognameprint users login name
nicemodify scheduling priority
nohupallow command to conitnue after loggin out
pathchkchecks whether filenames are valid or portable
pinkylightweight version of finger
printenvprints environment variables
printfprints and formats data
pwdprints working directory
readlinkdisplays value of symbolic link
runconrun command with specified security context
seqprints a sequence of numbers
sleepdelays for a specified amount of time
statreturn data about an inode
sttychanges and prints terminal line settings
surun a shell or command with substitute uid and gid
teesend output to multiple files
testevaluates an expression
timeoutrun a command with a time limit
trueexits successfully
ttyprints terminal name
unameprints system information
unlinkremoves link
uptimeprints system uptime
usersprints currently logged in usernames
whoprint logged in users
whoamiprint effective uid
yesbe repetitively affirmative

Binary utilities

asassembler
ldlinker
gprofprofiler
addr2lineconvert addresses to file and line
arcreate, modify, and extract from archives
c++filtdemangling filter for c++ symbols
dlltoolcreation of windows dlls
goldalternative assembler
nlmconvobject file conversion to netware loadable module
nmlist symbols in object files
objcopycopy object files, possibly making changes
objdumpdump information about object files
ranlibgenerate indexes for archives
readelfdisplay content of ELF files
sizelist total and section sizes
stringslist printable strings
stripremove symbols from an object file
windmcgenerate windows message resources
windrescompiler for windows resources files

Shell

  • zsh
  • tmux
  • htop
  • glances

File management

Editing

  • vim
  • neovim
  • emacs
  • kak
  • sed
  • awk

Coding

  • jrnl
  • cloc
  • git
  • tig
  • jsonpp
  • jq
  • grep
  • ack
  • ag
  • ripgrep
  • gdb
  • rr
  • valgrind

Desktop

  • dwm
  • i3
  • bspwm
  • awesome

Task management

  • taskwarrior
  • timewarrior
  • vit
  • tasksh

Music

  • mpd
  • ncmpcpp

Internet

  • mosh
  • weechat
  • rtv

Shell Commands

* In bash, 'ctrl-r' searches your command history as you type
- Add "set -o vi" in your ~/.bashrc to make use the vi keybindings instead
  of the Emacs ones. Takes some time to get used to, but it's fantastic!
- Input from the commandline as if it were a file by replacing
  'command < file.in' with 'command <<< "some input text"'
- '^' is a sed-like operator to replace chars from last command
  'ls docs; ^docs^web^' is equal to 'ls web'. The second argument can be empty.
* '!!:n' selects the nth argument of the last command, and '!$' the last arg
  'ls file1 file2 file3; cat !!:1-2' shows all files and cats only 1 and 2
- More in-line substitutions: http://tiny.cc/ecv0cw http://tiny.cc/8zbltw
- 'nohup ./long_script &' to leave stuff in background even if you logout
- 'cd -' change to the previous directory you were working on
- 'ctrl-x ctrl-e' opens an editor to work with long or complex command lines
* Use traps for cleaning up bash scripts on exit http://tiny.cc/traps
* 'shopt -s cdspell' automatically fixes your 'cd folder' spelling mistakes
- 'dict' is a commandline dictionary
* 'trash-cli' sends files to the trash instead of deleting them forever.
  Be very careful with 'rm' or maybe make a wrapper to avoid deleting '*' by
  accident (e.g. you want to type 'rm tmp*' but type 'rm tmp *')
- 'file' gives information about a file, as image dimensions or text encoding
- 'echo start_backup.sh | at midnight' starts a command at the specified time
- Pipe any command over 'column -t' to nicely align the columns
* Google 'magic sysrq' and learn how to bring you machine back from the dead
- 'diff --side-by-side fileA.txt fileB.txt | pager' to see a nice diff
* 'j.py' http://tiny.cc/62qjow remembers your most used folders and is an
  incredible substitute to browse directories by name instead of 'cd'
- 'dropbox_uploader.sh' http://tiny.cc/o2qjow is a fantastic solution to
  upload by commandline via Dropbox's API if you can't use the official client
- learn to use 'pushd' to save time navigating folders (j.py is better though)
- if you liked the 'psgrep' alias, check 'pgrep' as it is far more powerful
* never run 'chmod o+x * -R', capitalize the X to avoid executable files. If
  you want _only_ executable folders: 'find . -type d -exec chmod g+x {} \;'
- 'xargs' gets its input from a pipe and runs some command for each argument

Interesting Aliases

  • function lt() { ls -ltrsa "$@" | tail; }
  • function psgrep() { ps axuf | grep -v grep | grep "$@" -i --color=auto; }
  • function fname() { find . -iname "*$@*"; }

Redirecting output to other terminal

There are many reasons one might want to see output from shell commands in another terminal emulator but it definitely has its uses. The other day it just so happended that I needed such a functionality. Without going into details I’m going to show you how to achieve such behaviour – and more – easily, by leveraging the fact that under the hood std(in|out|err) are just unix file descriptors.

All that’s needed is the snippet below

exec 1>/proc/<PID>/fd/1

Where <PID> is id of the process you want to redirect your output to (and you can obtain it for instance by running echo $$ inside the target terminal).

But don’t take my word for it – let’s see for ourselves how it works.

exec me

I think the biggest revelation comes with acknowledging the fact that exec is used for something more than to (according to man): "replace the shell with command without creating a new process"

Because this functionality isn’t even the first thing mentioned in man. The first thing man has to say about exec is that

The exec utility shall open, close, and/or copy file descriptors as specified by
any redirections as part of the command.

And before you ask – yes, there’s a caveat. Unfortunately (or fortunately for process security), once the process has started there’s no way to change its file descriptors, unless you resort to some gdb wizardry – and even then it’s not always possible.

Wrapping up – while it’s not really a game-changer, it’s still a feature that can sometimes be put to good use.

Invoke an editor to write a long, complex, or tricky command

$ ctrl-x e

Next time you are using your shell, try typing ctrl-x e (that is holding control key press x and then e). The shell will take what you've written on the command line thus far and paste it into the editor specified by $EDITOR. Then you can edit at leisure using all the powerful macros and commands of vi, emacs, nano, or whatever.

List of commands you use most often

$ history | awk $({a[$2]++}END{for(i in a){print a[i] " " i}}) | sort -rn | head

Check command history, but avoid running it

$ !whatever:p

!whatever will search your command history and execute the first command that matches 'whatever' If you don’t feel safe doing this put :p on the end to print without executing. Recommended when running as superuser.

Run the last command as root

$ sudo !!

Useful when you forget to use sudo for a command. !! grabs the last run command. Similarly !$ gets the last argument of the previous command And !<#> repeats that line number from bash history, so:

$ history
332   ls -l
$ !332
ls -l

Along the same line $_. Repeat the last argument.

ping mybox.domain
ssh $_

You can also append it so something like:

ping mybox.domain
scp file $_:

Meta period (esc-.) cycles the last argument from the previous commands. It works on the current prompt.

Create a script of the last executed command

$ echo "!!" > foo.sh

Sometimes commands are long, but useful, so it's helpful to be able to make them permanent without having to retype them.

Files

Like top, but for files

$ watch -d -n 2 $(df; ls -FlAt;)

Empty a file

$ > file.txt

For when you want to flush all content from a file without removing it.

Zeroing out the empty space and making deleted information non-recoverable

$ sudo su
$ touch junk.bin # Create a dummy file named junk.bin on the USB flash drive
$ fdisk -l and locate the partition you would like to zero out
$ mkdir /tmp/ddusb
$ mount -o loop /dev/sdxx /tmp/ddsdb (replacing sdxxx with your partition)
$ dd if=/dev/zero of=/tmp/ddusb/junk.bin
$ rm /tmp/ddusb/junk.bin

Copy folder structure without files

$ cd /new/dir
$ (cd /old/dir; find -type d ! -name . -printf "\"%p\"\n") | xargs mkdir

"\"%p\"\n" Double quoted path names or else xargs and mkdir will fail.

Find all extensions in a directory tree

$ find . -type f | awk -F . '{print $NF}' | tr '[:upper:]' '[:lower:]' | sort | uniq

Tail a file with less

$ less +F somelogfile

Using +F will put less in follow mode. This works similar to 'tail -f' To stop scrolling, use the interrupt. Then you’ll get the normal benefits of less (scroll, etc.). Pressing SHIFT-F will resume the 'tailing'.

Text

Trim trailing whitespace and expand tabs to spaces in a tree

$ find . -type f \( -name "*.ex" -o -name "*.exs" \) -exec bash -c 'echo "$0" && sed -i "" -e "s/[[:space:]]*$//" "$0" && expand -t 4 "$0" > /tmp/e && mv /tmp/e "$0"' {} \;

The command finds all erlang and elixir source files and expands tabs to 4 spaces and removes trailing whitespace.

  • -type f \( -name "*.erl" -o -name "*.ex" -o -name "*.exs" \) filters all erlang and elixir source files. The escaped parentheses are necessary to tell find that the -name filters are part of one condition, otherwise it will short-circuit evaluate them.
  • -exec bash -c tell find to run a bash command on each matching file.
  • echo "$0" will print out the first parameter (i.e. the filename) passed to the bash command.
  • sed -i "" -e "s/[[:space:]]*$//" "$0" will run sed in-place on the file, telling it to match all whitespace at the end of line and replace it with nothing.
  • expand -t 4 "$0" > /tmp/e && mv /tmp/e "$0" will run expand on the file, since expand does not have an option to run it in-place we redirect output to a temporary file and then copy it over the original file.

Convert between DOS / UNIX textfile formats

$ cp <fileid> <fileid>.dos &&
$ cat <fileid>.dos | tr -d '\r' > <fileid>

Diff two unsorted files without creating temporary files

$ diff <(sort file1) <(sort file2)

bash subshell redirection (as file descriptors) used as input to diff

ASCII table

$ man ascii

System

Display which distro is installed

cat /etc/issue

Currently mounted filesystems

$ mount | column -t

Particularly useful if you're mounting different drives, using the following command will allow you to see all the filesystems currently mounted on your computer and their respective specs with the added benefit of nice formatting.

Execute a command at a given time

$ echo "ls -l" | at midnight

This is an alternative to cron which allows a one-off task to be scheduled for a certain time.

Mount a temporary ram partition

$ mount -t tmpfs tmpfs /mnt -o size=1024m

Makes a partition in ram which is useful if you need a temporary working space as read/write access is fast. Be aware that anything saved in this partition will be gone after your computer is turned off.

Memory

See all strings in RAM

$ sudo dd if=/dev/mem | cat | strings

This command will show you all the string (plain text) values in ram. A fun thing to do with ram is actually open it up and take a peek.

Display the top ten running processes sorted by memory usage

ps aux | sort -nk +4 | tail

ps returns all running processes which are then sorted by the 4th field in numerical order and the top 10 are sent to STDOUT.

Networking

Set audible alarm when an ip address comes online.

$ ping -i 60 -a IP_address

Waiting for your server to finish rebooting? Issue the command above and you will hear a beep when it comes online. The -i 60 flag tells ping to wait for 60 seconds between ping, putting less strain on your system. Vary it to your need. The -a flag tells ping to include an audible bell in the output when a package is received (that is, when your server comes online).

Serve files locally

python -m SimpleHTTPServer 8080 shares all the files in the current folder over HTTP, port 8080

Port forwarding

ssh -R 12345:localhost:22 server.com "sleep 1000; exit"

forwards server.com's port 12345 to your local ssh port, even if you machine is not externally visible on the net. Now you can ssh localhost -p 12345 from server.com and you will log into your machine. 'sleep' avoids getting kicked out from server.com for inactivity

Network monitoring

Some tools to monitor network connections and bandwith:

  • lsof -i monitors network connections in real time
  • iftop shows bandwith usage per connection
  • nethogs shows the bandwith usage per process

SSH configuration

Use this trick on .ssh/config to directly access 'host2' which is on a private network, and must be accessed by ssh-ing into 'host1' first

  Host host2
      ProxyCommand ssh -T host1 'nc %h %p'
  	  HostName host2

Pipe over network

Pipe a compressed file over ssh to avoid creating large temporary .tgz files

tar cz folder/ | ssh server "tar xz"

Git

Table of Contents

Online Resources


Notes

+---------+  +----------+ +--------+ +------+
|untracked|  |unmodified| |modified| |staged|
+----+----+  +----------+ +----+---+ +---+--+
     |             |edit       |         |
     |add          +----------->         |
     +------------->           |stage    |
     |             |           +--------->
     |       remove|           |         |
     <-------------+           |         |
     |             |           |   commit|
     |             <---------------------+
     |             |           |         |
  • initializing repo: $ git init
  • cloning existing repo: $ git clone <repo url>
files may be tracked -> in last snapshot
                        {
                            * unmodified
                            * modified
                            * staged
                        }
             untracked -> everything else
  • tracking new files: $ git add <filename>
  • staging modified files: $ git add <filename>
  • viewing changes: $ git status
  • compare working directory and staging area: $ git diff
  • compare staging area and last commit:
    • $ git diff --staged
    • $ git diff --cached
  • committing changes:
    • $ git commit
    • $ git commit -m "<commit message>"
  • skipping the staging area: $ git commit -a
  • removing files: $ git rm <filename>
  • remove file and keeo copy in working directory: $ git rm --cached <filename>
  • moving files: $ git mv <src> <dest>
  • viewing history: $ git log
    • show diffs: $ git log -p
    • limit output to 2 entries: $ git log -2
    • stats for each commit: $ git log --stat $ git log --pretty={short,full,fuller,oneline} $ git log --graph
    • format fields:
%H  commit hash
%h  abbreviated commit hash
%T  tree hash
%t  abbreviated tree hash
%P  parent hashes
%p  abbreviated parent hashes
%s  subject
%an author name
%ae author email
%ad author date
%ar author date, relative
%cn committer name
%ce committer email
%cd committer date
%cr committer date, relative

Limiting log output:

-pshow patch introduced with each commit
--statshow statistics for files modified in each commit
--shortstatdisplay only the changed/insertions/deletions in each commit
--name-onlyshow list of files modified after commit information
--name-statusshow list of files affected with A/M/D info
--abbrev-commitshow only first few characters of SHA1
--relative-datedisplay date in relative format instead of full date
--graphdisplay ascii graph of the branch/merge history beside the log output
--prettyshow commits in alternative format
-<n>show last commits
--sincelimit commits to those made after a date
--afterlimit commits to those made after a date
--untillimit commits to those made before a date
--beforelimit commits to those made before a date
--authorshow commits in which the author entry matches
--committer
--grep
-- <path>

NIX

  • https://nix.dev/ la unica documentacion que sirve

  • https://determinate.systems/posts/nix-on-the-steam-deck

  • http://en.wikipedia.org/wiki/Nix_package_manager

  • http://nixos.org/nix/

  • http://nixos.org/nix/manual/

  • http://www.mpscholten.de/docker/2016/01/27/you-are-most-likely-misusing-docker.html

  • https://en.wikipedia.org/wiki/Nix_package_manager

  • https://en.wikipedia.org/wiki/NixOS

  • https://nixos.org/nix/

  • https://ariya.io/2016/05/nix-as-os-x-package-manager

  • https://ariya.io/2016/06/isolated-development-environment-using-nix

  • https://blog.jeaye.com/2017/07/30/nixos-revisited/

  • https://zef.me/setting-up-development-environments-with-nix-6ca13a5f4c57

  • http://nmattia.com/posts/2018-03-21-nix-reproducible-setup-linux-macos.html

  • http://chromaticleaves.com/posts/nix-in-2-days.html

  • https://www.johbo.com/tag/nix.html

  • https://www.varstack.com/2017/12/05/Simplifying-Travis-with-Nix/

  • https://news.ycombinator.com/item?id=11802817

  • https://medium.com/linode-cube/nixos-not-yesterdays-linux-distro-6648a07c8b

  • http://daviwil.com/articles/installing-nixos/

  • https://www.codetriage.com/nixos/nixpkgs

  • http://nonullpointers.com/posts/2019-01-07-a-year-of-nixos.html

  • https://en.wikipedia.org/wiki/Nix_package_manager

  • https://grahamc.com/blog/nix-and-layered-docker-images

  • https://venam.nixers.net/blog/unix/2020/03/29/distro-pkgs.html

  • https://grahamc.com/blog/erase-your-darlings

  • https://christine.website/blog/nixos-desktop-flow-2020-04-25

  • https://blog.patchgirl.io/nixos/2020/03/31/nixos.html

  • https://ebzzry.io/en/nix/

  • https://rbf.dev/blog/2020/05/custom-nixos-build-for-raspberry-pis/

  • https://engineering.shopify.com/blogs/engineering/what-is-nix

  • https://stephank.nl/p/2020-06-01-a-nix-primer-by-a-newcomer.html

  • https://blog.knightsofthelambdacalcul.us/posts/2020-06-20-nix-nixos-thoughts/

  • https://jae.moe/blog/2020/11/one-week-of-nixos/

  • https://nix.dev/tutorials/declarative-and-reproducible-developer-environments.html

  • https://nixery.dev/

  • https://www.haskellforall.com/2022/08/stop-calling-everything-nix.html

NNN

            Key | Function
              - + -
       ↑, k, ^P | Prev entry
       ↓, j, ^N | Next entry
       PgUp, ^U | Scroll half page up
       PgDn, ^D | Scroll half page down
 Home, g, ^, ^A | First entry
  End, G, $, ^E | Last entry
    →, ↵, l, ^M | Open file/enter dir
 ←, Bksp, h, ^H | Parent dir
             ^O | Open with...
     Insert, ^I | Toggle nav-as-you-type
              ~ | Go HOME
              & | Start-up dir
              - | Last visited dir
              / | Filter entries
             ^/ | Open desktop search app
              . | Toggle show . files
             ^B | Bookmark prompt
              b | Pin current dir
             ^V | Go to pinned dir
              c | Change dir prompt
              d | Toggle detail view
              D | File details
              m | Brief media info
              M | Full media info
              n | Create new
             ^R | Rename entry
              r | Open dir in vidir
              s | Toggle sort by size
          S, ^J | Toggle du mode
              t | Toggle sort by mtime
          !, ^] | Spawn SHELL in dir
              R | Run custom script
              e | Edit entry in EDITOR
              o | Open DE filemanager
              p | Open entry in PAGER
              f | Archive entry
              F | List archive
             ^F | Extract archive
      Space, ^K | Copy file path
             ^Y | Toggle multi-copy
             ^T | Toggle path quote
             ^L | Redraw, clear prompt
              ? | Help, settings
          Q, ^G | Quit and cd
          q, ^X | Quit
NNN(1)			    General Commands Manual			NNN(1)

NAME
     nnn – the missing terminal file browser for X

SYNOPSIS
     nnn [-b key] [-c N] [-e] [-i] [-l] [-p nlay] [-S] [-v] [-h] [PATH]

DESCRIPTION
     nnn (Noice is Not Noice) is a performance-optimized, feature-packed fork
     of the noice terminal file browser with seamless desktop integration,
     simplified navigation, navigate-as-you-type mode, bookmarks, disk usage
     analyzer mode, comprehensive file details and much more. It remains a
     simple and efficient file browser that stays out of your way.

     nnn opens the current working directory by default if PATH is not
     specified.

     nnn supports both vi-like and emacs-like key bindings in the default
     configuration. The default key bindings are listed below.

	   [Up], k, ^P			    Move to previous entry
	   [Down], j, ^N		    Move to next entry
	   [PgUp], ^U			    Scroll up half a page
	   [PgDn], ^D			    Scroll down half a page
	   [Home], g, ^, ^A		    Move to the first entry
	   [End], G, $, ^E		    Move to the last entry
	   [Right], [Enter], l, ^M	    Open file or enter directory
	   [Left], [Backspace], h, ^H	    Back up one directory level
	   ^O				    Open with a custom application
	   [Insert]			    Toggle navigate-as-you-type mode
	   ~				    Change to the HOME directory
	   &				    Change to initial directory
	   -				    Change to the last visited
					    directory
	   /				    Change filter (more information
					    below)
	   ^/				    Search directory in desktop search
					    tool
	   .				    Toggle hide .dot files
	   b				    Show bookmark key prompt
	   ^B				    Pin current directory
	   ^V				    Visit pinned directory
	   c				    Show change directory prompt
	   d				    Toggle detail view
	   D				    Show current file details screen
	   m				    Show brief media info
	   M				    Show full media info
	   n				    Create a new file or directory
	   ^R				    Rename selected entry
	   s				    Toggle sort by file size
	   S				    Toggle disk usage analyzer mode
	   t				    Toggle sort by time modified
	   !				    Spawn SHELL in PWD (fallback sh)
	   e				    Open current entry in EDITOR
					    (fallback vi)
	   o				    Open directory in
					    NNN_DE_FILE_MANAGER
	   p				    Open current entry in PAGER
					    (fallback less)
	   F				    List files in archive
	   ^X				    Extract archive in current
					    directory
	   ^K				    Invoke file path copier
	   ^L				    Force a redraw, clear rename or
					    filter prompt
	   ?				    Toggle help and settings screen
	   Q				    Quit and change directory
	   q, ^Q			    Quit

     Backing up one directory level will set the cursor position at the
     directory you came out of.

     Help & settings, file details, media info and archive listing are shown
     in the PAGER. Please use the PAGER-specific keys in these screens.

     nnn supports the following options:

     -b key
	     specify bookmark key to open

     -c N
	     specify dir color (default blue), disables if N>7
	     0-black, 1-red, 2-green, 3-yellow, 4-blue, 5-magenta, 6-cyan,
     7-white

     -e
	     use exiftool instead of mediainfo

     -i
	     start in navigate-as-you-type mode

     -l
	     start in light mode (fewer details)

     -p nlay
	     path to custom nlay

     -S
	     start in disk usage analyzer mode

     -v
	     show version and exit

     -h
	     show program help and exit

CONFIGURATION
     nnn uses xdg-open (on Linux) and open(1) (on OS X) as the desktop opener.
     It invokes nlay to run desktop search utility or screensaver. Read more
     on nlay at:
     https://github.com/jarun/nnn/wiki/all-about-nlay

     There is no configuration file. Settings work on environment variables.
     Please refer to the ENVIRONMENT section below.

     Configuring nnn to change to the last visited directory on quit requires
     shell integration in a few easy steps. Please visit the project page
     (linked below) for the instructions.

FILTERS
     Filters support regexes to instantly (search-as-you-type) list the
     matching entries in the current directory.

     There are 3 ways to reset a filter: ^L, a search with no matches or an
     extra backspace at the filter prompt (like vi).

     Common examples: If you want to list all matches starting with the filter
     expression, start the expression with a ^ (caret) symbol. Type .mkv to
     list all MKV files.

     If nnn is invoked as root the default filter will also match hidden
     files.

     In the navigate-as-you-type mode directories are opened in filter mode,
     allowing continuous navigation. Works best with the arrow keys.

ENVIRONMENT
     The SHELL, EDITOR and PAGER environment variables take precedence when
     dealing with the !, e and p commands respectively.

     NNN_BMS: bookmark string as key:location pairs (max 10) separated by ;:

	 export NNN_BMS='doc:~/Documents;u:/home/user/Cam Uploads;D:~/Downloads/'

     NNN_USE_EDITOR: use EDITOR (preferably CLI, fallback vi) to handle text
     files.

	 export NNN_USE_EDITOR=1

     NNN_DE_FILE_MANAGER: set to a desktop file manager to open the current
     directory with. E.g.:

	 export NNN_DE_FILE_MANAGER=thunar

     NNN_IDLE_TIMEOUT: set idle timeout (in seconds) to invoke terminal
     screensaver.

     NNN_COPIER: set to a clipboard copier script. For example, on Linux:

	 -------------------------------------
	 #!/bin/sh

	 echo -n $1 | xsel --clipboard --input
	 -------------------------------------

     NNN_NOWAIT: necessary only if nnn blocks while a file is open.

	 export NNN_NOWAIT=1

KNOWN ISSUES
     If you are using urxvt you might have to set backspacekey to DEC.

AUTHORS
     Lazaros Koromilas <lostd@2f30.org>,
     Dimitris Papastamos <sin@2f30.org>,
     Arun Prakash Jana <engineerarun@gmail.com>.

HOME
     https://github.com/jarun/nnn

Void Linux		       December 25, 2017		    Void Linux

RSync

rsync's speciality lies in its ability to analyse files and only copy the changes made to files rather than all files. This can lead to enormous improvements when copying a directory tree a second time.

Trailing slashes
  • /home/user/dir: without the trailing slash, it will copy the directory contents in its entirety

  • /home/user/dir/: with the trailing slash, will copy the contents of the directory but won't recreate the directory

If you're trying to replicate a directory structure with rsync, you should omit the trailing slash, for instance, if you're mirroring /var/www on another machine or something like that.

Hidden files

rsync will move hidden files without any special options.

If you want to exclude hidden files, you can use the option --exclude=".*/"

You can also use the --exclude option to prevent copying things like Vim's swap files (.swp) and automatic backups (.bak) created by some programs.

Delete files

If you want to make sure that local files you've deleted since the last time you ran rsync are deleted from the external system as well, you'll want to add the --deleted option, like so:

rsync -avh --delete /home/user/dir/ /media/disk/backup
Dry runs

While you're getting used to rsync, it's probably a good idea to use the --dry-run option with your commands to run through the transfer first, without actually copying or synching files.

Examples
rsync [options] source destination
export SRC=/media/igaray/1373c3ad-4dc6-4e88-aac3-2c29e0f94d68/igarai@gmail.com/backup/applications/
export DST=/media/igaray/DATA-4T/igarai@gmail.com/applications/
rsync --dry-run --delete --verbose --human-readable --stats --itemize-changes --progress --recursive --links --no-perms --no-times --group --owner --devices --specials --size-only --exclude='.DS_Store' --exclude='Thumbs.db' --exclude='\._*' $SRC $DST
Options Summary

Here is a short summary of the options available in rsync.

-v, --verbose               increase verbosity
    --info=FLAGS            fine-grained informational verbosity
    --debug=FLAGS           fine-grained debug verbosity
    --msgs2stderr           special output handling for debugging
-q, --quiet                 suppress non-error messages
    --no-motd               suppress daemon-mode MOTD (see caveat)
-c, --checksum              skip based on checksum, not mod-time & size
-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
    --no-OPTION             turn off an implied OPTION (e.g. --no-D)
-r, --recursive             recurse into directories
-R, --relative              use relative path names
    --no-implied-dirs       don't send implied dirs with --relative
-b, --backup                make backups (see --suffix & --backup-dir)
    --backup-dir=DIR        make backups into hierarchy based in DIR
    --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
-u, --update                skip files that are newer on the receiver
    --inplace               update destination files in-place
    --append                append data onto shorter files
    --append-verify         --append w/old data in file checksum
-d, --dirs                  transfer directories without recursing
-l, --links                 copy symlinks as symlinks
-L, --copy-links            transform symlink into referent file/dir
    --copy-unsafe-links     only "unsafe" symlinks are transformed
    --safe-links            ignore symlinks that point outside the tree
    --munge-links           munge symlinks to make them safer
-k, --copy-dirlinks         transform symlink to dir into referent dir
-K, --keep-dirlinks         treat symlinked dir on receiver as dir
-H, --hard-links            preserve hard links
-p, --perms                 preserve permissions
-E, --executability         preserve executability
    --chmod=CHMOD           affect file and/or directory permissions
-A, --acls                  preserve ACLs (implies -p)
-X, --xattrs                preserve extended attributes
-o, --owner                 preserve owner (super-user only)
-g, --group                 preserve group
    --devices               preserve device files (super-user only)
    --specials              preserve special files
-D                          same as --devices --specials
-t, --times                 preserve modification times
-O, --omit-dir-times        omit directories from --times
-J, --omit-link-times       omit symlinks from --times
    --super                 receiver attempts super-user activities
    --fake-super            store/recover privileged attrs using xattrs
-S, --sparse                turn sequences of nulls into sparse blocks
    --preallocate           allocate dest files before writing
-n, --dry-run               perform a trial run with no changes made
-W, --whole-file            copy files whole (w/o delta-xfer algorithm)
    --checksum-choice=STR   choose the checksum algorithms
-x, --one-file-system       don't cross filesystem boundaries
-B, --block-size=SIZE       force a fixed checksum block-size
-e, --rsh=COMMAND           specify the remote shell to use
    --rsync-path=PROGRAM    specify the rsync to run on remote machine
    --existing              skip creating new files on receiver
    --ignore-existing       skip updating files that exist on receiver
    --remove-source-files   sender removes synchronized files (non-dir)
    --del                   an alias for --delete-during
    --delete                delete extraneous files from dest dirs
    --delete-before         receiver deletes before xfer, not during
    --delete-during         receiver deletes during the transfer
    --delete-delay          find deletions during, delete after
    --delete-after          receiver deletes after transfer, not during
    --delete-excluded       also delete excluded files from dest dirs
    --ignore-missing-args   ignore missing source args without error
    --delete-missing-args   delete missing source args from destination
    --ignore-errors         delete even if there are I/O errors
    --force                 force deletion of dirs even if not empty
    --max-delete=NUM        don't delete more than NUM files
    --max-size=SIZE         don't transfer any file larger than SIZE
    --min-size=SIZE         don't transfer any file smaller than SIZE
    --partial               keep partially transferred files
    --partial-dir=DIR       put a partially transferred file into DIR
    --delay-updates         put all updated files into place at end
-m, --prune-empty-dirs      prune empty directory chains from file-list
    --numeric-ids           don't map uid/gid values by user/group name
    --usermap=STRING        custom username mapping
    --groupmap=STRING       custom groupname mapping
    --chown=USER:GROUP      simple username/groupname mapping
    --timeout=SECONDS       set I/O timeout in seconds
    --contimeout=SECONDS    set daemon connection timeout in seconds
-I, --ignore-times          don't skip files that match size and time
    --size-only             skip files that match in size
-@, --modify-window=NUM     set the accuracy for mod-time comparisons
-T, --temp-dir=DIR          create temporary files in directory DIR
-y, --fuzzy                 find similar file for basis if no dest file
    --compare-dest=DIR      also compare received files relative to DIR
    --copy-dest=DIR         ... and include copies of unchanged files
    --link-dest=DIR         hardlink to files in DIR when unchanged
-z, --compress              compress file data during the transfer
    --compress-level=NUM    explicitly set compression level
    --skip-compress=LIST    skip compressing files with suffix in LIST
-C, --cvs-exclude           auto-ignore files in the same way CVS does
-f, --filter=RULE           add a file-filtering RULE
-F                          same as --filter='dir-merge /.rsync-filter'
                            repeated: --filter='- .rsync-filter'
    --exclude=PATTERN       exclude files matching PATTERN
    --exclude-from=FILE     read exclude patterns from FILE
    --include=PATTERN       don't exclude files matching PATTERN
    --include-from=FILE     read include patterns from FILE
    --files-from=FILE       read list of source-file names from FILE
-0, --from0                 all *from/filter files are delimited by 0s
-s, --protect-args          no space-splitting; wildcard chars only
    --address=ADDRESS       bind address for outgoing socket to daemon
    --port=PORT             specify double-colon alternate port number
    --sockopts=OPTIONS      specify custom TCP options
    --blocking-io           use blocking I/O for the remote shell
    --outbuf=N|L|B          set out buffering to None, Line, or Block
    --stats                 give some file-transfer stats
-8, --8-bit-output          leave high-bit chars unescaped in output
-h, --human-readable        output numbers in a human-readable format
    --progress              show progress during transfer
-P                          same as --partial --progress
-i, --itemize-changes       output a change-summary for all updates
-M, --remote-option=OPTION  send OPTION to the remote side only
    --out-format=FORMAT     output updates using the specified FORMAT
    --log-file=FILE         log what we're doing to the specified FILE
    --log-file-format=FMT   log updates using the specified FMT
    --password-file=FILE    read daemon-access password from FILE
    --list-only             list the files instead of copying them
    --bwlimit=RATE          limit socket I/O bandwidth
    --stop-at=y-m-dTh:m     Stop rsync at year-month-dayThour:minute
    --time-limit=MINS       Stop rsync after MINS minutes have elapsed
    --write-batch=FILE      write a batched update to FILE
    --only-write-batch=FILE like --write-batch but w/o updating dest
    --read-batch=FILE       read a batched update from FILE
    --protocol=NUM          force an older protocol version to be used
    --iconv=CONVERT_SPEC    request charset conversion of filenames
    --checksum-seed=NUM     set block/file checksum seed (advanced)
    --noatime               do not alter atime when opening source files
-4, --ipv4                  prefer IPv4
-6, --ipv6                  prefer IPv6
    --version               print version number
(-h) --help                  show this help (see below for -h comment)
 -v, --verbose
        This  option  increases  the  amount  of information you are given during the transfer.  By default, rsync works silently. A single -v will give you information about what files are being
        transferred and a brief summary at the end. Two -v options will give you information on what files are being skipped and slightly more information at the end. More  than  two  -v  options
        should only be used if you are debugging rsync.

        In  a  modern  rsync,  the  -v option is equivalent to the setting of groups of --info and --debug options.  You can choose to use these newer options in addition to, or in place of using
        --verbose, as any fine-grained settings override the implied settings of -v.  Both --info and --debug have a way to ask for help that tells you exactly what flags are  set  for  each  in‐
        crease in verbosity.

        However, do keep in mind that a daemon’s "max verbosity" setting will limit how high of a level the various individual flags can be set on the daemon side.  For instance, if the max is 2,
        then any info and/or debug flag that is set to a higher value than what would be set by -vv will be downgraded to the -vv level in the daemon’s logging.

 --info=FLAGS
        This option lets you have fine-grained control over the information output you want to see.  An individual flag name may be followed by a level number, with 0 meaning to silence that out‐
        put,  1 being the default output level, and higher numbers increasing the output of that flag (for those that support higher levels).  Use --info=help to see all the available flag names,
        what they output, and what flag names are added for each increase in the verbose level.  Some examples:

            rsync -a --info=progress2 src/ dest/
            rsync -avv --info=stats2,misc1,flist0 src/ dest/

        Note that --info=name’s output is affected by the --out-format and --itemize-changes (-i) options.  See those options for more information on what is output and when.

        This option was added to 3.1.0, so an older rsync on the server side might reject your attempts at fine-grained control (if one or more flags needed to be  send  to  the  server  and  the
        server was too old to understand them).  See also the "max verbosity" caveat above when dealing with a daemon.

        FLAGS:

        Use OPT or OPT1 for level 1 output, OPT2 for level 2, etc.; OPT0 silences.

        BACKUP     Mention files backed up
        COPY       Mention files copied locally on the receiving side
        DEL        Mention deletions on the receiving side
        FLIST      Mention file-list receiving/sending (levels 1-2)
        MISC       Mention miscellaneous information (levels 1-2)
        MOUNT      Mention mounts that were found or skipped
        NAME       Mention 1) updated file/dir names, 2) unchanged names
        PROGRESS   Mention 1) per-file progress or 2) total transfer progress
        REMOVE     Mention files removed on the sending side
        SKIP       Mention files that are skipped due to options used
        STATS      Mention statistics at end of run (levels 1-3)
        SYMSAFE    Mention symlinks that are unsafe

        ALL        Set all --info options (e.g. all4)
        NONE       Silence all --info options (same as all0)
        HELP       Output this help message

        Options added for each increase in verbose level:
        1) COPY,DEL,FLIST,MISC,NAME,STATS,SYMSAFE
        2) BACKUP,MISC2,MOUNT,NAME2,REMOVE,SKIP

 --debug=FLAGS
        This  option lets you have fine-grained control over the debug output you want to see.  An individual flag name may be followed by a level number, with 0 meaning to silence that output, 1
        being the default output level, and higher numbers increasing the output of that flag (for those that support higher levels).  Use --debug=help to see all the available flag  names,  what
        they output, and what flag names are added for each increase in the verbose level.  Some examples:

            rsync -avvv --debug=none src/ dest/
            rsync -avA --del --debug=del2,acl src/ dest/

        Note that some debug messages will only be output when --msgs2stderr is specified, especially those pertaining to I/O and buffer debugging.

        This  option  was  added  to  3.1.0,  so an older rsync on the server side might reject your attempts at fine-grained control (if one or more flags needed to be send to the server and the
        server was too old to understand them).  See also the "max verbosity" caveat above when dealing with a daemon.

        FLAGS:

        Use OPT or OPT1 for level 1 output, OPT2 for level 2, etc.; OPT0 silences.

        ACL        Debug extra ACL info
        BACKUP     Debug backup actions (levels 1-2)
        BIND       Debug socket bind actions
        CHDIR      Debug when the current directory changes
        CONNECT    Debug connection events (levels 1-2)
        CMD        Debug commands+options that are issued (levels 1-2)
        DEL        Debug delete actions (levels 1-3)
        DELTASUM   Debug delta-transfer checksumming (levels 1-4)
        DUP        Debug weeding of duplicate names
        EXIT       Debug exit events (levels 1-3)
        FILTER     Debug filter actions (levels 1-2)
        FLIST      Debug file-list operations (levels 1-4)
        FUZZY      Debug fuzzy scoring (levels 1-2)
        GENR       Debug generator functions
        HASH       Debug hashtable code
        HLINK      Debug hard-link actions (levels 1-3)
        ICONV      Debug iconv character conversions (levels 1-2)
        IO         Debug I/O routines (levels 1-4)
        OWN        Debug ownership changes in users & groups (levels 1-2)
        PROTO      Debug protocol information
        RECV       Debug receiver functions
        SEND       Debug sender functions
        TIME       Debug setting of modified times (levels 1-2)

        ALL        Set all --debug options (e.g. all4)
        NONE       Silence all --debug options (same as all0)
        HELP       Output this help message

        Options added for each increase in verbose level:
        2) BIND,CONNECT,CMD,DEL,DELTASUM,DUP,FILTER,FLIST,ICONV
        3) ACL,BACKUP,CONNECT2,DEL2,DELTASUM2,EXIT,FILTER2,FLIST2,FUZZY,GENR,OWN,RECV,SEND,TIME
        4) CMD2,DEL3,DELTASUM3,EXIT2,FLIST3,ICONV2,OWN2,PROTO,TIME2
        5) CHDIR,DELTASUM4,FLIST4,FUZZY2,HASH,HLINK

 --size-only
        This modifies rsync’s "quick check" algorithm for finding files that need to be transferred, changing it from the default of transferring files with either a changed  size  or  a  changed
        last-modified  time  to just looking for files that have changed in size.  This is useful when starting to use rsync after using another mirroring system which may not preserve timestamps
        exactly.

 -c, --checksum
        This  changes  the  way rsync checks if the files have been changed and are in need of a transfer.  Without this option, rsync uses a "quick check" that (by default) checks if each file’s
        size and time of last modification match between the sender and receiver.  This option changes this to compare a 128-bit checksum for each file that has a matching size.   Generating  the
        checksums  means  that  both  sides will expend a lot of disk I/O reading all the data in the files in the transfer (and this is prior to any reading that will be done to transfer changed
        files), so this can slow things down significantly.

        The sending side generates its checksums while it is doing the file-system scan that builds the list of the available files.  The receiver generates its checksums when it is scanning  for
        changed files, and will checksum any file that has the same size as the corresponding sender’s file:  files with either a changed size or a changed checksum are selected for transfer.

        Note  that  rsync  always  verifies  that each transferred file was correctly reconstructed on the receiving side by checking a whole-file checksum that is generated as the file is trans‐
        ferred, but that automatic after-the-transfer verification has nothing to do with this option’s before-the-transfer "Does this file need to be updated?" check.

        For protocol 30 and beyond (first supported in 3.0.0), the checksum used is MD5.  For older protocols, the checksum used is MD4.

 --no-OPTION
        You  may  turn off one or more implied options by prefixing the option name with "no-".  Not all options may be prefixed with a "no-": only options that are implied by other options (e.g.
        --no-D, --no-perms) or have different defaults in various circumstances (e.g. --no-whole-file, --no-blocking-io, --no-dirs).  You may specify either the short or the long option name  af‐
        ter the "no-" prefix (e.g. --no-R is the same as --no-relative).

        For example: if you want to use -a (--archive) but don’t want -o (--owner), instead of converting -a into -rlptgD, you could specify -a --no-o (or -a --no-owner).

        The  order  of  the  options  is  important:   if  you  specify  --no-r  -a, the -r option would end up being turned on, the opposite of -a --no-r.  Note also that the side-effects of the
        --files-from option are NOT positional, as it affects the default state of several options and slightly changes the meaning of -a (see the --files-from option for more details).

 -r, --recursive
        This tells rsync to copy directories recursively.  See also --dirs (-d).

        Beginning with rsync 3.0.0, the recursive algorithm used is now an incremental scan that uses much less memory than before and begins the transfer after the scanning of the first few  di‐
        rectories  have  been completed.  This incremental scan only affects our recursion algorithm, and does not change a non-recursive transfer.  It is also only possible when both ends of the
        transfer are at least version 3.0.0.

        Some options require rsync to know the full file list, so these options disable the incremental recursion mode.  These include: --delete-before,  --delete-after,  --prune-empty-dirs,  and
        --delay-updates.  Because of this, the default delete mode when you specify --delete is now --delete-during when both ends of the connection are at least 3.0.0 (use --del or --delete-dur‐
        ing to request this improved deletion mode explicitly).  See also the --delete-delay option that is a better choice than using --delete-after.

        Incremental recursion can be disabled using the --no-inc-recursive option or its shorter --no-i-r alias.

 -p, --perms
        This  option causes the receiving rsync to set the destination permissions to be the same as the source permissions.  (See also the --chmod option for a way to modify what rsync considers
        to be the source permissions.)

        When this option is off, permissions are set as follows:

        o      Existing files (including updated files) retain their existing permissions, though the --executability option might change just the execute permission for the file.

        o      New files get their "normal" permission bits set to the source file’s permissions masked with the receiving directory’s default permissions (either the receiving  process’s  umask,
               or the permissions specified via the destination directory’s default ACL), and their special permission bits disabled except in the case where a new directory inherits a setgid bit
               from its parent directory.

        Thus, when --perms and --executability are both disabled, rsync’s behavior is the same as that of other file-copy utilities, such as cp(1) and tar(1).

        In summary: to give destination files (both old and new) the source permissions, use --perms.  To give new files the destination-default permissions  (while  leaving  existing  files  un‐
        changed),  make  sure  that  the  --perms option is off and use --chmod=ugo=rwX (which ensures that all non-masked bits get enabled).  If you’d care to make this latter behavior easier to
        type, you could define a popt alias for it, such as putting this line in the file ~/.popt (the following defines the -Z option, and includes --no-g to use the default group of the  desti‐
        nation dir):

        rsync alias -Z --no-p --no-g --chmod=ugo=rwX

        You could then use this new option in a command such as this one:

        rsync -avZ src/ dest/

        (Caveat: make sure that -a does not follow -Z, or it will re-enable the two "--no-*" options mentioned above.)

        The  preservation  of the destination’s setgid bit on newly-created directories when --perms is off was added in rsync 2.6.7.  Older rsync versions erroneously preserved the three special
        permission bits for newly-created files when --perms was off, while overriding the destination’s setgid bit setting on a newly-created directory.  Default ACL observance was added to  the
        ACL  patch  for rsync 2.6.7, so older (or non-ACL-enabled) rsyncs use the umask even if default ACLs are present.  (Keep in mind that it is the version of the receiving rsync that affects
        these behaviors.)

 -E, --executability
        This option causes rsync to preserve the executability (or non-executability) of regular files when --perms is not enabled.  A regular file is considered to be executable if at least  one
        ’x’  is  turned on in its permissions.  When an existing destination file’s executability differs from that of the corresponding source file, rsync modifies the destination file’s permis‐
        sions as follows:

        o      To make a file non-executable, rsync turns off all its ’x’ permissions.

        o      To make a file executable, rsync turns on each ’x’ permission that has a corresponding ’r’ permission enabled.

        If --perms is enabled, this option is ignored.

 -o, --owner
        This option causes rsync to set the owner of the destination file to be the same as the source file, but only if the receiving rsync is being run as the super-user (see also  the  --super
        and --fake-super options).  Without this option, the owner of new and/or transferred files are set to the invoking user on the receiving side.

        The  preservation  of ownership will associate matching names by default, but may fall back to using the ID number in some circumstances (see also the --numeric-ids option for a full dis‐
        cussion).

 -g, --group
        This option causes rsync to set the group of the destination file to be the same as the source file.  If the receiving program is not running as the super-user (or if --no-super was spec‐
        ified),  only groups that the invoking user on the receiving side is a member of will be preserved.  Without this option, the group is set to the default group of the invoking user on the
        receiving side.

        The preservation of group information will associate matching names by default, but may fall back to using the ID number in some circumstances (see also the  --numeric-ids  option  for  a
        full discussion).

 --devices
        This  option  causes rsync to transfer character and block device files to the remote system to recreate these devices.  This option has no effect if the receiving rsync is not run as the
        super-user (see also the --super and --fake-super options).

 --specials
        This option causes rsync to transfer special files such as named sockets and fifos.

 -t, --times
        This tells rsync to transfer modification times along with the files and update them on the remote system.  Note that if this option is not used, the optimization that excludes files that
        have  not  been  modified  cannot be effective; in other words, a missing -t or -a will cause the next transfer to behave as if it used -I, causing all files to be updated (though rsync’s
        delta-transfer algorithm will make the update fairly efficient if the files haven’t actually changed, you’re much better off using -t).

 -O, --omit-dir-times
        This tells rsync to omit directories when it is preserving modification times (see --times).  If NFS is sharing the directories on the receiving side, it is a good idea to use  -O.   This
        option is inferred if you use --backup without --backup-dir.

        This  option also has the side-effect of avoiding early creation of directories in incremental recursion copies.  The default --inc-recursive copying normally does an early-create pass of
        all the sub-directories in a parent directory in order for it to be able to then set the modify time of the parent directory right away (without having to delay that until a bunch of  re‐
        cursive  copying  has  finished).  This early-create idiom is not necessary if directory modify times are not being preserved, so it is skipped.  Since early-create directories don’t have
        accurate mode, mtime, or ownership, the use of this option can help when someone wants to avoid these partially-finished directories.

sed

Using the sed Editor

By Emmett Dulaney

The sed editor is among the most useful assets in the Linux sysadmin's toolbox,
so it pays to understand its applications thoroughly

One of the best things about the Linux operating system is that it is crammed full of utilities. There are so many different utilities, in fact, that it is next to impossible to know and understand all of them. One utility that can simplify life in key situations is sed. It is one of the most powerful tools in any administrator's toolkit and can prove itself invaluable in a crunch.

The sed utility is an "editor," but it is unlike most others. In addition to not being screen-oriented, it is also noninteractive. This means you have to insert commands to be executed on the data at the command line or in a script to be processed. When you visualize it, forget any ability to interactively edit files as you would do with Microsoft Word or most other editors. sed accepts a series of commands and executes them on a file (or set of files) noninteractively and unquestionably. As such, it flows through text as water would through a stream, and thus sed fittingly stands for stream editor . It can be used to change all occurrences of "Mr. Smyth" to "Mr. Smith" or "tiger cub" to "wolf cub." The stream editor is ideally suited to performing repetitive edits that would take considerable time if done manually. The parameters can be as limited as those needed for a one-time use of a simple operation, or as complex as a script file filled with thousands of lines of editing changes to be made. With very little argument, sed is one of the most useful tools in the Linux and UNIX tool chest.

How sed Works

The sed utility works by sequentially reading a file, line by line, into memory. It then performs all actions specified for the line and places the line back in memory to dump to the terminal with the requested changes made. After all actions have taken place to this one line, it reads the next line of the file and repeats the process until it is finished with the file. As mentioned, the default output is to display the contents of each line on the screen. Two important factors come into play here—first, the output can be redirected to another file to save the changes; second, the original file, by default, is left unchanged. The default is for sed to read the entire file and make changes to each line within it. It can, however, be restricted to specified lines as needed.

The syntax for the utility is:

sed [options] '{command}' [filename]



In this article, we'll walk through the most commonly used commands and options and illustrate how they work and where they would be appropriate for use.

### The Substitute Command

One of the most common uses of the sed utility, and any similar editor, is to substitute one value for another. To accomplish this, the syntax for the command portion of the operation is:

's/{old value}/{new value}/'



Thus, the following illustrates how "tiger" can be changed to "wolf" very simply:

$ echo The tiger cubs will meet on Tuesday after school | sed 
   's/tiger/wolf/'
The wolf cubs will meet on Tuesday after school
$



Notice that it is not necessary to specify a filename if input is being derived from the output of a preceding command the same as is true for awk, sort, and most other Linux\UNIX command-line utility programs.

Multiple Changes

If multiple changes need to be made to the same file or line, there are three methods by which this can be accomplished. The first is to use the "-e" option, which informs the program that more than one editing command is being used. For example:

$ echo The tiger cubs will meet on Tuesday after school | sed -e '
   s/tiger/wolf/' -e 's/after/before/'
The wolf cubs will meet on Tuesday before school
$



This is pretty much the long way of going about it, and the "-e" option is not commonly used to any great extent. A more preferable way is to separate command with semicolons:

$ echo The tiger cubs will meet on Tuesday after school | sed '
   s/tiger/wolf/; s/after/before/'
The wolf cubs will meet on Tuesday before school 
$



Notice that the semicolon must be the next character following the slash. If a space is between the two, the operation will not successfully complete and an error message will be returned. These two methods are well and good, but there is one more method that many administrators prefer. The key thing to note is that everything between the two apostrophes (' ') is interpreted as sed commands. The shell program reading in the commands will not assume you are finished entering until the second apostrophe is entered. This means that the command can be entered on multiple lines—with Linux changing the prompt from PS1 to a continuation prompt (usually ">")—until the second apostrophe is entered. As soon as it is entered, and Enter pressed, the processing will take place and the same results will be generated, as the following illustrates:

$ echo The tiger cubs will meet on Tuesday after school | sed '
> s/tiger/wolf/
> s/after/before/'
The wolf cubs will meet on Tuesday before school
$

Global Changes

Let's begin with a deceptively simple edit. Suppose the message that is to be changed contains more than one occurrence of the item to be changed. By default, the result can be different than what was expected, as the following illustrates:

$ echo The tiger cubs will meet this Tuesday at the same time
    as the meeting last Tuesday | sed 's/Tuesday/Thursday/'
The tiger cubs will meet this Thursday at the same time
    as the meeting last Tuesday 
$



Instead of changing every occurrence of "Tuesday" for "Thursday," the sed editor moves on after finding a change and making it, without reading the whole line. The majority of sed commands function like the substitute one, meaning they all work for the first occurrence of the chosen sequence in each line. In order for every occurrence to be substituted, in the event that more than one occurrence appears in the same line, you must specify for the action to take place globally:

$ echo The tiger cubs will meet this Tuesday at the same time
    as the meeting last Tuesday | sed 's/Tuesday/Thursday/g'
The tiger cubs will meet this Thursday at the same time
    as the meeting last Thursday
$



Bear in mind that this need for globalization is true whether the sequence you are looking for consists of only one character or a phrase.

sed can also be used to change record field delimiters from one to another. For example, the following will change all tabs to spaces:

sed 's/ / /g' 



where the entry between the first set of slashes is a tab, while the entry between the second set is a space. As a general rule, sed can be used to change any printable character to any other printable character. If you want to change unprintable characters to printable ones—for example, a bell to the word "bell"—sed is not the right tool for the job (but tr would be).

Sometimes, you don't want to change every occurrence that appears in a file. At times, you only want to make a change if certain conditions are met—for example, following a match of some other data. To illustrate, consider the following text file:

$ cat sample_one
one     1
two     1
three   1
one     1
two     1
two     1
three   1
$



Suppose that it would be desirable for "1" to be substituted with "2," but only after the word "two" and not throughout every line. This can be accomplished by specifying that a match is to be found before giving the substitute command:

$ sed '/two/ s/1/2/' sample_one
one     1
two     2
three   1
one     1
two     2
two     2
three   1
$



And now, to make it even more accurate:

$ sed '
> /two/ s/1/2/
> /three/ s/1/3/' sample_one
one     1
two     2
three   3
one     1
two     2
two     2
three   3
$



Bear in mind once again that the only thing changed is the display. If you look at the original file, it is the same as it always was. You must save the output to another file to create permanence. It is worth repeating that the fact that changes are not made to the original file is a true blessing in disguise—it lets you experiment with the file without causing any real harm, until you get the right commands working exactly the way you expect and want them to.

The following saves the changed output to a new file:

$ sed '
> /two/ s/1/2/
> /three/ s/1/3/' sample_one > sample_two



The output file has all the changes incorporated in it that would normally appear on the screen. It can now be viewed with head, cat, or any other similar utility.

Script Files

The sed tool allows you to create a script file containing commands that are processed from the file, rather than at the command line, and is referenced via the "-f" option. By creating a script file, you have the ability to run the same operations over and over again, and to specify far more detailed operations than what you would want to try to tackle from the command line each time.

Consider the following script file:

$ cat sedlist
/two/ s/1/2/
/three/ s/1/3/
$



It can now be used on the data file to obtain the same results we saw earlier:

$ sed -f sedlist sample_one
one     1
two     2
three   3
one     1
two     2
two     2
three   3
$



Notice that apostrophes are not used inside the source file, or from the command line when the "-f" option is invoked. Script files, also known as source files, are invaluable for operations that you intend to repeat more than once and for complicated commands where there is a possibility that you may make an error at the command line. It is far easier to edit the source file and change one character than to retype a multiple-line entry at the command line.

Restricting Lines

The default is for the editor to look at, and for editing to take place on, every line that is input to the stream editor. This can be changed by specifying restrictions preceding the command. For example, to substitute "1" with "2" only in the fifth and sixth lines of the sample file's output, the command would be:

$ sed '5,6 s/1/2/' sample_one
one     1
two     1
three   1
one     1
two     2
two     2
three   1
$



In this case, since the lines to changes were specifically specified, the substitute command was not needed. Thus you have the flexibility of choosing which lines to changes (essentially, restricting the changes) based upon matching criteria that can be either line numbers or a matched pattern.

Prohibiting the Display

The default is for sed to display on the screen (or to a file, if so redirected) every line from the original file, whether it is affected by an edit operation or not; the "-n" parameter overrides this action. "-n" overrides all printing and displays no lines whatsoever, whether they were changed by the edit or not. For example:

$ sed -n -f sedlist sample_one
$

$ sed -n -f sedlist sample_one > sample_two
$ cat sample_two
$



In the first example, nothing is displayed on the screen. In the second example, nothing is changed, and thus nothing is written to the new file—it ends up being empty. Doesn't this negate the whole purpose of the edit? Why is this useful? It is useful only because the "-n" option has the ability to be overridden by a print command (-p). To illustrate, suppose the script file were modified to now resemble the following:

$ cat sedlist
/two/ s/1/2/p
/three/ s/1/3/p
$



Then this would be the result of running it:

$ sed -n -f sedlist sample_one
two     2
three   3
two     2
two     2
three   3
$



Lines that stay the same as they were are not displayed at all. Only the lines affected by the edit are displayed. In this manner, it is possible to pull those lines only, make the changes, and place them in a separate file:

$ sed -n -f sedlist sample_one > sample_two
$

$ cat sample_two
two     2
three   3
two     2
two     2
three   3
$



Another method of utilizing this is to print only a set number of lines. For example, to print only lines two through six while making no other editing changes:

$ sed -n '2,6p' sample_one
two     1
three   1
one     1
two     1
two     1
$



All other lines are ignored, and only lines two through six are printed as output. This is something remarkable that you cannot do easily with any other utility. head will print the top of a file, and tail will print the bottom, but sed allows you to pull anything you want to from anywhere.

Deleting Lines

Substituting one value for another is far from the only function that can be performed with a stream editor. There are many more possibilities, and the second-most-used function in my opinion is delete. Delete works in the same manner as substitute, only it removes the specified lines (if you want to remove a word and not a line, don't think of deleting, but think of substituting it for nothing— s/cat// ).

The syntax for the command is:

'{what to find} d'



To remove all of the lines containing "two" from the sample_one file:

$ sed '/two/ d' sample_one
one     1
three   1
one     1
three   1
$



To remove the first three lines from the display, regardless of what they are:

$ sed '1,3 d' sample_one
one     1
two     1
two     1
three   1
$



Only the remaining lines are shown, and the first three cease to exist in the display. There are several things to keep in mind with the stream editor as they relate to global expressions in general, and as they apply to deletions in particular:

    The up carat (^) signifies the beginning of a line, thus

    sed '/^two/ d' sample_one



    would only delete the line if "two" were the first three characters of the line.
    The dollar sign ($) represents the end of the file, or the end of a line, thus

    sed '/two$/ d' sample_one



    would delete the line only if "two" were the last three characters of the line.



The result of putting these two together:

sed '/^$/ d' {filename}



deletes all blank lines from a file. For example, the following substitutes "1" for "2" as well as "1" for "3" and removes any trailing lines in the file:

$ sed '/two/ s/1/2/; /three/ s/1/3/; /^$/ d' sample_one
one     1
two     1
three   1
one     1
two     2
two     2
three   1
$



A common use for this is to delete a header. The following command will delete all lines in a file, from the first line through to the first blank line:

sed '1,/^$/ d' {filename}

Appending and Inserting Text

Text can be appended to the end of a file by using sed with the "a" option. This is done in the following manner:

$ sed '$a\
> This is where we stop\
> the test' sample_one
one     1
two     1
three   1
one     1
two     1
two     1
three   1
This is where we stop
the test
$



Within the command, the dollar sign ($) signifies that the text is to be appended to the end of the file. The backslashes (\) are necessary to signify that a carriage return is coming. If they are left out, an error will result proclaiming that the command is garbled; anywhere that a carriage return is to be entered, you must use the backslash.

To append the lines into the fourth and fifth positions instead of at the end, the command becomes:

$ sed '3a\
> This is where we stop\
> the test' sample_one
one     1
two     1
three   1
This is where we stop
the test
one     1
two     1
two     1
three   1
$



This appends the text after the third line. As with almost any editor, you can choose to insert rather than append if you so desire. The difference between the two is that append follows the line specified, and insert starts with the line specified. When using insert instead of append, just replace the "a" with an "i," as shown below:

$ sed '3i\
> This is where we stop\
> the test' sample_one
one     1
two     1
This is where we stop
the test
three   1
one     1
two     1
two     1
three   1
$



The new text appears in the middle of the output, and processing resumes normally after the specified operation is carried out.

Reading and Writing Files

The ability to redirect the output has already been illustrated, but it needs to be pointed out that files can be read in and written out to simultaneously during operation of the editing commands. For example, to perform the substitution and write the lines between one and three to a file called sample_three:

$ sed '
> /two/ s/1/2/
> /three/ s/1/3/
> 1,3 w sample_three' sample_one
one     1
two     2
three   3
one     1
two     2
two     2
three   3
$

$ cat sample_three
one     1
two     2
three   3
$



Only the lines specified are written to the new file, thanks to the "1,3" specification given to the w (write) command. Regardless of those written, all lines are displayed in the default output.

The Change Command

In addition to substituting entries, it is possible to change the lines from one value to another. The thing to keep in mind is that substitute works on a character-for-character basis, whereas change functions like delete in that it affects the entire line:

$ sed '/two/ c\
> We are no longer using two' sample_one
one     1
We are no longer using two
three   1
one     1
We are no longer using two
We are no longer using two
three   1
$



Working much like substitute, the change command is greater in scale—completely replacing the one entry for another, regardless of character content, or context. At the risk of overstating the obvious, when substitute was used, then only the character "1" was replaced with "2," while when using change, the entire original line was modified. In both situations, the match to look for was simply the "two."

Change All but...

With most sed commands, the functions are spelled out as to what changes are to take place. Using the exclamation mark, it is possible to have the changes take place everywhere but those specified—completely reversing the default operation.

For example, to delete all lines that contain the phrase "two," the operation is:

$ sed '/two/ d' sample_one
one     1
three   1
one     1
three   1
$



And to delete all lines except those that contain the phrase "two," the syntax becomes:

$ sed '/two/ !d' sample_one
two     1
two     1
two     1
$



If you have a file that contains a list of items and want to perform an operation on each of the items in the file, then it is important that you first do an intelligent scan of those entries and think about what you are doing. To make matters easier, you can do so by combining sed with any iteration routine (for, while, until).

As an example, assume you have a text file named "animals" with the following entries:

pig
horse
elephant
cow
dog
cat

And you want to run the following routine:

#mcd.ksh
for I in $*
do
echo Old McDonald had a $I
echo E-I, E-I-O
done



The result will be that each line is printed at the end of "Old McDonald has a." While this is correct for the majority of the entries, it is grammatically incorrect for the "elephant" entry, as the result should be "an elephant" rather than "a elephant." Using sed, you can scan the output from your shell file for such grammatical errors and correct them on the fly, by first creating a file of commands:

#sublist
/ a a/ s/ a / an /
/ a e/ s/ a / an /
/a i/ s / a / an /
/a o/ s/ a / an /
/a u/ s/ a / an /



and then executing the process as follows:

$ sh mcd.ksh 'cat animals' | sed -f sublist  



Now, after the mcd script has been run, sed will scan the output for anywhere that the single letter a (space, "a," space) is followed by a vowel. If such exists, it will change the sequence to space, "an," space. This corrects the problem before it ever prints on the screen and ensures that editors everywhere sleep easier at night. The result is:

Old McDonald had a pig
E-I, E-I-O
Old McDonald had a horse
E-I, E-I-O
Old McDonald had an elephant
E-I, E-I-O
Old McDonald had a cow
E-I, E-I-O
Old McDonald had a dog
E-I, E-I-O
Old McDonald had a cat
E-I, E-I-O

Quitting Early

The default is for sed to read through an entire file and stop only when the end is reached. You can stop processing early, however, by using the quit command. Only one quit command can be specified, and processing will continue until the condition calling the quit command is satisfied.

For example, to perform substitution only on the first five lines of a file and then quit:

$ sed '
> /two/ s/1/2/
> /three/ s/1/3/
> 5q' sample_one
one     1
two     2
three   3
one     1
two     2
$



The entry preceding the quit command can be a line number, as shown, or a find/matching command like the following:

$ sed '
> /two/ s/1/2/
> /three/ s/1/3/
> /three/q' sample_one
one     1
two     2
three   3
$



You can also use the quit command to view lines beyond a standard number and add functionality that exceeds those in head. For example, the head command allows you to specify how many of the first lines of a file you want to see—the default number is ten, but any number can be used from one to ninety-nine. If you want to see the first 110 lines of a file, you cannot do so with head, but you can with sed:

sed 110q filename

Handling Problems

The main thing to keep in mind when dealing with sed is how it works. It works by reading one line in, performing all the tasks it knows to perform on that one line, and then moving on to the next line. Each line is subjected to every editing command given.

This can be troublesome if the order of your operations is not thoroughly thought out. For example, suppose you need to change all "two" entries to "three" and all "three" to "four":

$ sed '
> /two/ s/two/three/
> /three/ s/three/four/' sample_one
one     1
four     1
four   1
one     1
four     1
four     1
four   1
$



The very first "two" read was changed to "three." It then meets the criteria established for the next edit and becomes "four." The end result is not what was wanted—there are now no entries but "four" where there should be "three" and "four."

When performing such an operation, you must pay diligent attention to the manner in which the operations are specified and arrange them in an order in which one will not clobber another. For example:

$ sed '
> /three/ s/three/four/
> /two/ s/two/three/' sample_one
one     1
three     1
four   1
one     1
three     1
three     1
four   1
$



This works perfectly, since the "three" value is changed prior to "two" becoming "three."

Labels and Comments


Labels can be placed inside sed script files to make it easier to explain what is transpiring, once the files begin to grow in size. There are a variety of commands that relate to these labels, and they include: 



    : The colon signifies a label name. For example:

             :HERE



    Labels beginning with the colon can be addressed by "b" and "t" commands.

    b {label} Works as a "goto" statement, sending processing to the label preceded by a colon. For example,

        b HERE



    sends processing to the line

        :HERE



    If no label is specified following the b, processing goes to the end of the script file.

    t {label} Branches to the label only if substitutions have been made since the last input line or execution of a "t" command. As with "b," if a label name is not given, processing moves to the end of the script file.

    # The pound sign as the first character of a line causes the entire line to be treated as a comment. Comment lines are different from labels and cannot be branched to with b or t commands.

Further Investigations

The sed utility is one of the most powerful and flexible tools that a Linux administrator has. While this article has covered a lot of ground, it has only scratched the surface of this versatile tool. For more information, one of the best sources is Dale Dougherty and Arnold Robbins' book sed & awk, now in its second edition from O'Reilly and Associates (see "Next Steps"). The same publisher also puts out a pocket reference that you can carry with you.

Emmett Dulaney ( edulaney@iquest.net ) has earned 18 vendor certifications. Emmett has written several books on Linux, UNIX, and certification study, has spoken at a number of conferences, and is a former partner in Mercury Technical Solutions.
    E-mail this page    Printer View Printer View
Hardware and Software, Engineered to Work Together

SSH

Table of Contents

sshfs name@server:/path/to/folder /path/to/mount/point
Mount folder/filesystem through SSH
Install SSHFS from http://fuse.sourceforge.net/sshfs.html
Will allow you to mount a folder security over a network.
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
Compare a remote file with a local file
Useful for checking if there are differences between local and remote files.

ssh -N -L2001:localhost:80 somemachine
Start a tunnel from some machine's port 80 to your local post 2001
Now you can acces the website by going to http://localhost:2001/

ssh-copy-id user@host
Copy ssh keys to user@host to enable password-less ssh logins.
To generate the keys use the command ssh-keygen

ssh -t reachable_host ssh unreachable_host
SSH connection through host in the middle.
Unreachable_host is unavailable from local network, but it's available from reachable_host's network.
This command creates a connection to unreachable_host through "hidden" connection to reachable_host.

ssh root@host1 'cd /somedir/tocopy/ && tar -cf – .' | ssh root@host2 'cd /samedir/tocopyto/ && tar -xf -'
Copy from host1 to host2, through your host.
Good if only you have access to host1 and host2, but they have no access to your host (so ncat won’t work) and they have no direct access to each other.

SSH

SSH is some kind of an abbreviation of Secure SHell. It is a protocol that allows secure connections between computers. In this tutorial, we'll be dealing with the ssh command on Linux, the OpenSSH version. Most Linux distributions feature the OpenSSH client today, but if you want to be sure, have a look at the SSH manpage on your system. You can do this by typing:

[rechosen@localhost ~]$ man ssh

Note: this should be done in a terminal. This tutorial assumes that you have some basic terminal knowledge, like knowing how to start a terminal session on your system and being familiar with the basic commands and syntaxes.

If it displays something like this

NAME

ssh - OpenSSH SSH client (remote login program)

then you can be quite sure you're running the OpenSSH version. For more background information about SSH, see http://en.wikipedia.org/wiki/SSH.

The most simple case

In the most simple case, you can connect to a server that supports ssh with a syntax as short as this:

[rechosen@localhost ~]$ ssh yourserver

Note: If you do not have any ssh server nearby that you can access, you can also try this command with your own computer as a server. To do this, replace "yourserver" with "localhost".

Of course, yourserver should be replaced by a hostname or an ip address of the server you want to connect to. As you can see in the terminal snippet, I am logged in as rechosen. If you do not specify a username (I'll explain how to do that later in this tutorial), SSH will assume that you want to login with the username you're currently logged in with. So, in this case, SSH will try the username rechosen.

Of course, you need to be sure that the server supports ssh connections. The ssh client tries to connect to port 22 defaultly. This means that, if you want to connect to a remote host with the default settings, you should make sure that, if applicable, port 22 is forwarded to the server you're trying to connect to. You will find more regarding the SSH port further in this tutorial.

Now, back to the command we ran. If the server supports SSH connections and you can reach it by port 22, you should be prompted for a password (if this is the first time you try to connect to the server, ssh will first ask the question if you want to continue connecting, which can generally just be answered with a 'yes'). If you type a password here, you won't see asterisks appearing. Don't panic, this is ssh's normal behaviour. It makes connecting using ssh even more safe, because any accidental spectators won't be able to see the length of the password. After entering the password, if the username and the password were correct, you should be running a shell on the server. If not, make sure you are connecting to a server of which you know that you should be able to login with your username and the specified password. You could try connecting to your own computer (see the note beneath the terminal quote) or read on to learn how to specify an other username.

Once you're done trying the ssh shell, you can exit it by pressing Ctrl + D.

Specifying a username

It's actually quite simple to specify a different username. You might even already be familiar with it. See the following example:

[rechosen@localhost ~]$ ssh yourusername@yourserver

The above will make ssh try to connect with the username "yourusername" instead of (in my case) rechosen. This syntax is also used by a lot of other protocols, so it'll always come in handy to know it. By the way, you will still be asked for a password. For security reasons, it is not even possible to directly specify the password in the syntax. You will always be asked interactively, unless you start configuring the server in an advanced way (which is exactly why that topic is out of this tutorials scope: this tutorial documents how to use the clients, not how to configure the server).

Specifying a port

There are many reasons to move the ssh service to an other port. One of them is avoiding brute-force login attempts. Certain hackers try to get access to ssh servers by trying a lot of common usernames with common passwords (think of a user "john" with password "doe"). Although it is very unlikely that these hackers will ever get access to the system, there is an other aspect of the brute-force attacks that you'll generally want to avoid: the system and connection load. The brute-force attacks usually are done with dozens or even thousands of tries a second, and this unnecessarily slows down the server and takes some bandwidth which could've been used a lot better. By changing the port to a non-default one, the scripts of the hackers will just be refused and most of the bandwidth will be saved.

As the ssh command can't just guess the port, we will have to specify it if it's not the default 22 one. You can do that this way:

[rechosen@localhost ~]$ ssh -p yourport yourusername@yourserver

Of course, you will have to replace "yourport" with the port number. These is an important difference between ssh and scp on this point. I'll explain it further on.

Running a command on the remote server

Sometimes, especially in scripts, you'll want to connect to the remote server, run a single command and then exit again. The ssh command has a nice feature for this. You can just specify the command after the options, username and hostname. Have a look at this:

[rechosen@localhost ~]$ ssh yourusername@yourserver updatedb

This will make the server update its searching database. Of course, this is a very simple command without arguments. What if you'd want to tell someone about the latest news you read on the web? You might think that the following will give him/her that message:

[rechosen@localhost ~]$ ssh yourusername@yourserver wall "Hey, I just found out something great! Have a look at www.examplenewslink.com!"

However, bash will give an error if you run this command:

bash: !": event not found

What happened? Bash (the program behind your shell) tried to interpret the command you wanted to give ssh. This fails because there are exclamation marks in the command, which bash will interpret as special characters that should initiate a bash function. But we don't want this, we just want bash to give the command to ssh! Well, there's a very simple way to tell bash not to worry about the contents of the command but just pass it on to ssh already: wrapping it in single quotes. Have a look at this:

[rechosen@localhost ~]$ ssh yourusername@yourserver 'wall "Hey, I just found out something great! Have a look at www.examplenewslink.com!"'

The single quotes prevent bash from trying to interpret the command, so ssh receives it unmodified and can send it to the server as it should. Don't forget that the single quotes should be around the whole command, not anywhere else.

SCP

The scp command allows you to copy files over ssh connections. This is pretty useful if you want to transport files between computers, for example to backup something. The scp command uses the ssh command and they are very much alike. However, there are some important differences.

The scp command can be used in three* ways: to copy from a (remote) server to your computer, to copy from your computer to a (remote) server, and to copy from a (remote) server to another (remote) server. In the third case, the data is transferred directly between the servers; your own computer will only tell the servers what to do. These options are very useful for a lot of things that require files to be transferred, so let's have a look at the syntax of this command:

[rechosen@localhost ~]$ scp examplefile yourusername@yourserver:/home/yourusername/

Looks quite familiar, right? But there are differences. The command above will transfer the file "examplefile" to the directory "/home/yourusername/" at the server "yourserver", trying to get ssh acces with the username "yourusername". That's quite a lot information, but scp really needs it all. Well, almost all of it. You could leave out the "yourusername@" in front of "yourserver", but only if you want to login on the server with your current username on your own computer. Let's have a closer look at the end of the command. There's a colon over there, with a directory after it. Just like Linux's normal cp command, scp will need to know both the source file(s) and the target directory (or file). For remote hosts, the file(s)/directory are given to the scp command is this way.

You can also copy a file (or multiple files) from the (remote) server to your own computer. Let's have a look at an example of that:

[rechosen@localhost ~]$ scp yourusername@yourserver:/home/yourusername/examplefile .

Note: The dot at the end means the current local directory. This is a handy trick that can be used about everywhere in Linux. Besides a single dot, you can also type a double dot ( .. ), which is the parent directory of the current directory.

This will copy the file "/home/yourusername/examplefile" to the current directory on your own computer, provided that the username and password are correct and that the file actually exists.

You probably already guessed that the following command copies a file from a (remote) server to another (remote) server:

[rechosen@localhost ~]$ scp yourusername@yourserver:/home/yourusername/examplefile yourusername2@yourserver2:/home/yourusername2/

Please note that, to make the above command work, the servers must be able to reach each other, as the data will be transferred directly between them. If the servers somehow can't reach each other (for example, if port 22 is not open on one of the sides) you won't be able to copy anything. In that case, copy the files to your own computer first, then to the other host. Or make the servers able to reach each other (for example by opening the port).

Well, those are the main uses of scp. We'll now go a bit more in-depth about the differences between ssh and scp.

*: Actually you can also use it just like the normal cp command, withhout any ssh connections in it, but that's quite useless. It requires you to type an extra 's' =).

Specifying a port with scp

The scp command acts a little different when it comes to ports. You'd expect that specifying a port should be done this way:

[rechosen@localhost ~]$ scp -p yourport yourusername@yourserver:/home/yourusername/examplefile .

However, that will not work. You will get an error message like this one:

cp: cannot stat `yourport': No such file or directory

This is caused by the different architecture of scp. It aims to resemble cp, and cp also features the -p option. However, in cp terms it means 'preserve', and it causes the cp command to preserve things like ownership, permissions and creation dates. The scp command can also preserve things like that, and the -p option enables this feature. The port specification should be done with the -P option. Therefore, the following command will work:

[rechosen@localhost ~]$ scp -P yourport yourusername@yourserver:/home/yourusername/examplefile .

Also note that the -P option must be in front of the (remote) server. The ssh command will still work if you put -p yourport behind the host syntax, but scp won't. Why? Because scp also supports copying between two servers and therefore needs to know which server the -P option applies to.

Another difference between scp and ssh

Unlike ssh, scp cannot be used to run a command on a (remote) server, as it already uses that feature of ssh to start the scp server on the host. The scp command does have an option that accepts a program (the -S option), but this program will then be used instead of ssh to establish the encrypted connection, and it will not be executed on the remote host.

Tips & Tricks with ssh and scp

Quite a handy thing about scp is that it supports asterisks. You can copy all files in a remote directory in a way like this:

[rechosen@localhost ~]$ scp yourusername@yourserver:/home/yourusername/* .

And you can also just copy a whole directory by specifying the -r (recursive) option:

[rechosen@localhost ~]$ scp -r yourusername@yourserver:/home/yourusername/ .

Both of these also work when copying to a (remote) server or copying between a (remote) server and another (remote) server.

The ssh command can come in handy if you don't know the exact location of the file you want to copy with scp. First, ssh to the (remote) server:

[rechosen@localhost ~]$ ssh yourusername@yourserver

Then browse to the right directory with cd. This is essential Linux terminal knowledge, so I won't explain it here. When you're in the right directory, you can get the full path with this command:

[rechosen@localhost ~]$ pwd

Note: pwd is an abbreviation of Print Working Directory, which is a useful way to remember the command.

You can then copy this output, leave the ssh shell by pressing Ctrl + D, and then paste the full directory path in your scp command. This saves a lot of remembering and typing!

You can also limit the bandwidth scp may use when copying. This is very useful if you're wanting to copy a huge amount of data without suffering from slow internet for a long time. Limiting bandwidth is done this way:

scp -l bandwidthlimit yourusername@yourserver:/home/yourusername/* .

The bandwidth is specified in Kbit/sec. What does this mean? Eight bits is one byte. If you want to copy no faster than 10 Kbyte/sec, set the limit to 80. If you want to copy no faster than 80 Kbyte/sec, set the limit to 640. Get it? You should set the limit to eight times the maximum Kbyte/sec you want it to be. I'd recommend to set the -l option with all scp'ing you do on a connection that other people need to use, too. A big amount of copying can virtually block a whole 10 Mbit network if you're using hubs.

scp

scp or secure copy is probably the easiest of all the methods, its is designed as a replacement for rcp, which was a quick copy of cp with network funcationability.

scp syntax

scp [-Cr] /some/file [ more ... ] host.name:/destination/file

-or-

scp [-Cr] [[user@]host1:]file1 [ more ... ] [[user@]host2:]file2
Before scp does any copying it first connects via ssh. Unless proper keys are in place, then you will be asked for usernames. You can test if this is working by using ssh -v hostname

The -r switch is used when you want to recursively go through directories. Please note you must specify the source file as a directory for this to work.

scp encrypts data over your network connection, but by using the -C switch you can compress the data before it goes over the network. This can significantly decrease the time it takes to copy large files.

Tip: By default scp uses 3DES encryption algorithm, all encryption algorithms are slow, but some are faster than others. Using -c blowfish can speed things up.

What scp shouldn't be used for:
1. When you are copying more than a few files, as scp spawns a new process for each file and can be quite slow and resource intensive when copying a large number of files.
2. When using the -r switch, scp does not know about symbolic links and will blindly follow them, even if it has already made a copy of the file. The can lead to scp copying an infinite amount of data and can easily fill up your hard disk, so be careful.

tar

tar is usually used for achiving applications, but what we are going to do in this case is tar it then pipe it over an ssh connection. tar handles large file trees quite well and preserves all file permissions, etc, including those UNIX systems which use ACLs, and works quite well with symlinks.

the syntax is slightly different as we are piping it to ssh:

tar -cf - /some/file | ssh host.name tar -xf - -C /destination
-or with compression-

tar -czf - /some/file | ssh host.name tar -xzf - -C /destination
Switch -c for tar creates an archive and -f which tells tar to send the new archive to stdout.

The second tar command uses the -C switch which changes directory on the target host. It takes the input from stdin. The -x switch extracts the archive.

The second way of doing the transfer over a network is with the -z option, which compresses the stream, decreasing time it will take to transfer over the network.

Some people may ask why tar is used, this is great for large file trees, as it is just streaming the data from one host to another and not having to do intense operations with file trees.

If using the -v (verbose) switch, be sure only to include it on the second tar command, otherwise you will see double output.

Using tar and piping can also be a great way to transfer files locally to be sure that file permissions are kept correctly:

tar cf - /some/file | (cd /some/file; tar xf -)

This may seem like a long command, but it is great for making sure all file permissions are kept in tact. What it is doing is streaming the files in a sub-shell and then untarring them in the target directory. Please note that the -z command should not be used for local files and no perfomance increase will be visible as overhead processing (CPU) will be evident, and will slow down the copy.
Why tar shouldn't be used:
1. The syntax can be hard to remember
2. It's not as quick as to type scp for a small number of files
3. rsync will beat it hands down for a tree of files that already exist in the destination.
There are several other ways of copying over a network, such as FTP, NAS, and NFS but these all requre specialised software installed on either the receiving or sending end, and hence are not as useful as the above commands.

TMSU

$ tmsu help

Tagging

  # Use the tag command to apply tags to files

  $ tmsu tag summer.mp3 music big-jazz mp3
  New tag 'music'
  New tag 'big-jazz'
  New tag 'mp3'

  # If you have a set of files and would like to apply the same tags to each, then
  # there is an alternative form of the command that lets you put the files last

  $ tmsu tag --tags "music mp3" *.mp3

  # The 'New tag' messages let you know that you have created new tags

  $ tmsu tag spring.mp3 music mp3 folk
  $ tmsu tag winter.mp3 umsic mp3
  New tag 'umsic'

  # We can fix this with the merge command, merging the accidentally created umsic
  # tag into the existing music tag

  tmsu merge umsic music

  # We can view the tags for our newly created tagged files with the tags command

  $ tmsu tags summer.mp3
  big-jazz
  mp3
  music

  $ tmsu tags *.mp3
  spring.mp3: folk mp3 music
  summer.mp3: big-jazz mp3 music
  winter.mp3: mp3 music

Listing Files

  # Putting more than one tag lists the files that have all of the tags.

  $ tmsu files mp3
  spring.mp3
  summer.mp3
  winter.mp3

  $ tmsu files mp3 big-jazz
  summer.mp3

  $ tmsu files "mp3 and (big-jazz or folk)"
  spring.mp3
  summer.mp3
  $ tmsu files not folk
  summer.mp3
  winter.mp3

  $ tmsu files mp3 and not music
  $ tsmu files mp3 not music # The 'and' operator is implied if you omit it

Virtual File-System

  # The entries contain an ID number which ensures the filename is unique within
  # the tag directory (even when multiple files with the same name are tagged
  # with the same tag.)

  $ mkdir mp
  $ tmsu mount mp
  $ ls mp
  queries
  tags
  $ ls mp/tags
  big-jazz mp3 music
  $ ls -l mp/tags/music
  drwxr-xr-x 0 paul paul 0 2012-04-13 20:00 big-jazz
  drwxr-xr-x 0 paul paul 0 2012-04-13 20:00 mp3
  drwxr-xr-x 0 paul paul 0 2012-04-13 20:00 spring.2.mp3 -> /home/paul/spring.mp3
  drwxr-xr-x 0 paul paul 0 2012-04-13 20:00 summer.1.mp3 -> /home/paul/summer.mp3
  drwxr-xr-x 0 paul paul 0 2012-04-13 20:00 winter.3.mp3 -> /home/paul/winter.mp3
                                                   ↑
                                                file id

  # In addition to the tags view, there is also a queries directory in which you
  # can create directories containing a file query:

  $ ls mp/queries
  README.md
  $ mkdir "mp/queries/mp3 and not folk"
  $ ls "mp/queries/mp3 and not folk"
  summer.1.mp3
  winter.3.mp3
  $ ls "mp/queries/mp3 and big-jazz"
  summer.1.mp3
  $ ls mp/queries
  mp3 and big-jazz

Databases Location

  The default database is in ~/.tmsu/default.db.

  $ tmsu --database=~/music.db tag song flac
  $ export TMSU_DB=/mnt/sdcard/tmsu.db
  $ tmsu tag /mnt/sdcard/DC-143.jpg photo location:spain mountain
  $ tmsu tag /mnt/sdcard/DC-144.jpg photo location:spain chicken

Manpage

TMSU

    Commandline tool, tmsu, for applying and managing tags.
    Virtual filesystem (FUSE) for a tag-based view of your files accessible from any program.
    TMSU does not modify your files: you can stop using it and be exactly back where you started (minus your time investment).
    TMSU does not store your files: they remain at their original locations.
    Tag information is stored in a regular Sqlite3 database.
    Query files from the command line, e.g. 'music and year < 2000'.
    Add similar queries to the virtual filesystem — even from within a program's file chooser.
    Free and open-source (GPL3).


$ tmsu tag mysong.mp3 music audio year=2010
$ tmsu files music
./mysong.mp3
$ mkdir mountpoint
$ tmsu mount mountpoint
$ ls mountpoint/tags/music
mysong.1.mp3


> tmsu tag myfile.txt text work-in-progress
> tmsu tag --tags "photo wedding family" DSC-*.jpg
> mkdir mp
> tmsu mount mp
> ls mp/tags/wedding


    The program is written in Go and is licensed under GPL3.
    I'm planning a Windows port and an eventual GUI.
    I've tested on Linux only but it may work on BSD &c. (It will not work on Windows at this time.)
    tmsu does not store your files: the VFS provides symbolic links to their real locations.
    There's Zsh completion available in the 'misc' directory.
I'm abusing the file size concept a little by using it to provide a count of number of matching files for that combination of tags.

paul@annie> ll mp/tags
total 0
drwxr-xr-x 0 paul paul 1 2012-02-06 03:00 square
drwxr-xr-x 0 paul paul 2 2012-02-06 03:00 red
drwxr-xr-x 0 paul paul 1 2012-02-06 03:00 hairy


What happens when you move a file?

The files are stored by path, so moving a file will disassociate it with its tags. BUT I also store a sha256 fingerprint for every file, so I have the groundwork to recognize a duplicate file such that it can be reassociated with its tags.

For example, with the current build, tmsu will notify you if you tag a duplicate file but will not offer any way of copying tags across automatically:

> echo hello > a.txt
> cp a.txt b.txt
> tmsu tag a.txt red square
New tag 'red'.
New tag 'square'.
> tmsu tag b.txt red
File is a duplicate of previously tagged files.
    /home/paul/a.txt

There's also a dupes command that can be used to 1. find duplicates in the database or 2. find out if a file is a duplicate before you bother to tag it.

I plan on expanding the 'dupes' command to allow tags to be copied between dupes. Either that or make it fully automatic, i.e. a duplicate file inherit tags for its fingerprint. I was even considering adding an 'add' command to add files without tagging and thought this command could apply any tags that match the file's fingerprint -- a move operation would simply be a case of adding the new file at its new location and clearing out the broken reference. (Originally I was going to associate tags to fingerprints but realized this would disassociate a file with its tags if you edit it!)

Also the status command reports the status of files when you move stuff about: missing files are show prefixed with an exclamation mark, tagged files with 'T' and untagged files with '?', much like a repository.


Hmm if the file contents change then the hash will be incorrect right? To me it feels like you could do something with a files inode instead of its path, but I don't know much about file systems :/ I really like the idea though!

Yes, if the contents change the hash will be incorrect but it gets updated automatically if you add a new tag. At the moment the dupes detection works a lot better for static content than dynamic. Inodes would not work as two files with the same contents would have two different inodes.

How about basing your database around the filename AND the inode - then using inotify or somesuch to automagically update the symbolic links and hash when a file is moved/renamed or its contents change?

    Inodes would not work as two files with the same contents would have two different inodes.

I'm not sure what you mean here - shouldn't two (separate) files - even though they have the same contents - be able to be tagged differently?

That could work, it would be an interesting experiment. My concerns are:

    tmsu would have to be running as as service in order to listen to these changes. If changes happened when tmsu was not running then a reconcilliation task would have to be run manually. I guess this is no worse than the current situation but I'd rather not have the magic unless I can guarantee it would work.
    The approach relies upon the existence of inodes. Some file systems, even on Linux (e.g. ReiserFS), do not have an inode table (although they may have something similar). It certainly wouldn't work cross-platform unless there is some parallel to the inode on other platforms. Can we be sure that a file's inode number does not change over time for all file system types?
    I assume inodes are only unique within a single file system so what I store will have to have to include an identifier for the target file system in question otherwise tmsu could get confused when the same inode number arises on two different file systems.

If I can find an inode substitute across file-systems and platforms then storing these would make it very easy to track the renaming/movement of files, but only within the same file system.

For the most part I would expect tagging to be applied to largely static documents, e.g. photograph libraries, music libraries, &c. so I don't want to affect simplicity too much for the sake of tracking modified files.

    shouldn't two separate files [...] be able to be tagged differently.

Yes, I think ultimately the decision about how to treat files with identical contents should be up to the user, but from my own experiences when I have two files with the same contents it's usually in error: I've backed up the same file multiple times to different locations or I've ripped the same CD multiple times, &c. In fact the only case I can think of where you would want to not treat the duplicate as erroneous is when one has just started work on a document and has a file with very little contents, e.g. if I were writing two different letters and had put 'Dear Sir/Madam' in both of them. So I want to make it very easy for a user to copy tags between files that have been identified as duplicates.

Can you tag a folder?

Yes, you can tag folders no prob. It will tag the folder itself though, not the files inside.

Duplicate detection is turned off for folders: I haven't thought about how to detect duplicate folders yet. I guess I'll provably make a fingerprint of the folder contents fingerprints.
TMSU does not interfere with your existing file system structure and neither does it alter your files in any way.

The taggings you choose to apply are stored separately in the TMSU database. You can then use the command line tooling to query this database, or mount a virtual file system which reflects the taggings you apply. This virtual file system provides symbolic links back to wherever you files actually live. Torrents are not going to be affected because the files are identical before and after tagging.

So TMSU is orthogonal to your existing file system: it's an alternative tag based view presented within the confines of the Unix tree file system. It's a compromise, no question: but I think it's the best we can do without reinventing the file system which we obviously can't easily do because it will break every application.

For a file DCIM1.jpg tagged 'year:2012' and 'good' and a file DCIM2.jpg tagged 'year:2012', the directory structure is laid out like this:

─O mountpoint
 └─O tags
   ├─Ⓣ year:2012
   │ ├─Ⓣ good
   │ │ └─Ⓕ DCIM1.4.jpg -> /user/home/bob/photos/DCIM1.jpg
   │ ├─Ⓕ DCIM1.4.jpg -> /user/home/bob/photos/DCIM1.jpg
   │ └─Ⓕ DCIM2.7.jpg -> /user/home/bob/photes/DCIM2.jpg
   └─Ⓣ good
     ├─Ⓣ year:2012
     │ └─Ⓕ DCIM1.4.jpg -> /user/home/bob/photos/DCIM1.jpg
     └─Ⓕ DCIM1.4.jpg -> /user/home/bob/photos/DCIM1.jpg
     Can you tag tags in TMSU? For example, if I have tags "mp3" and "music", I may want to tag "mp3" as "music", then it could be accessed as "music/mp3" in the vfs.

     Currently you can. TMSU will not notice that a path is a VFS path and so you could actually tag the VFS tag directory. However my plan is to change this at some point such that acting upon the VFS actually acts upon the target files instead.

Having said that I also have plans for tag implications. This feature would let you specify that certain tags imply others so you could say "when I tag 'mp3' I implicitly also mean 'music'.

Even in the current version, if you tag your files 'mp3' and 'music' you can get at just the MP3s via mountpoint/tags/mp3 and also mountpoint/tags/music/MP3 where the latter means 'music AND mp3', but the two will be synonymous if music is a superset

I have the exact same problem: organizing a huge number of papers I've collected in the course of my PhD.

I wrote a program specifically to manage them, which used tags and looks somewhat like TMSU (which I just learned about a few minutes ago). I never released the source, because it never really worked that well.

Specifically, I didn't have a good method for tagging things. There were too many tags that overlapped with too many other tags. So adding a new paper required adding the correct, say, 11 tags.

To help with this, I created a system to easily specify certain rules that would be enforced. For example, if tag X is added, then tag Y or Z (but not both) must also be present on the same item.

However, it was still too much of a pain.
TMSU

  config    Views or amends database settings
  copy      Create a copy of a tag
  delete    Delete one or more tags
  dupes     Identify duplicate files
  files     List files with particular tags
  help      List subcommands or show help for a particular subcommand
  imply     Creates a tag implication
  info      Show database information
  init      Initializes a new database
  merge     Merge tags
  rename    Rename a tag or value
  repair    Repair the database
  status    List the file tagging status
  tag       Apply tags to files
  tags      List tags
  untag     Remove tags from files
  untagged  List untagged files
  values    List values

Global options:

  -v --verbose   show verbose messages
  -h --help      show help and exit
  -V --version   show version information and exit
  -D --database  use the specified database
     --color     colorize the output (auto/always/never)

tmsu config
tmsu config NAME[=VALUE]...

  Lists or views the database settings for the current database.

  Without arguments the complete set of settings are shown, otherwise lists the settings for the specified setting NAMEs.

  If a VALUE is specified then the setting is updated.

tmsu copy TAG NEW...

  Creates a new tag NEW applied to the same set of files as TAG.

  Examples:

    $ tmsu copy cheese wine
    $ tmsu copy report document text

  Aliases: cp

tmsu delete TAG...

  Permanently deletes the TAGs specified.

  Examples:

    $ tmsu delete pineapple
    $ tmsu delete red green blue

  Aliases: del rm

  Options:

       --value  delete a value

tmsu dupes [FILE]...

  Identifies all files in the database that are exact duplicates of FILE. If no FILE is specified then identifies duplicates between files in the database.

  Examples:

    $ tmsu dupes
    Set of 2 duplicates:
      /tmp/song.mp3
      /tmp/copy of song.mp3a
    $ tmsu dupes /tmp/song.mp3
    /tmp/copy of song.mp3

  Options:

    -r --recursive  recursively check directory contents

tmsu files [OPTION]... [QUERY]

  Lists the files in the database that match the QUERY specified. If no query is specified, all files in the database are listed.

  QUERY may contain tag names to match, operators and parentheses. Operators are: and or not == != < > <= >= eq ne lt gt le ge.

  Queries are run against the database so the results may not reflect the current state of the filesystem. Only tagged files are matched: to identify untagged files use the untagged subcommand.

  Note: If your tag or value name contains whitespace, operators (e.g. <) or parentheses (( or )), these must be escaped with a backslash \, e.g. \<tag\> matches the tag name <tag>. Your shell, however, may use
  some punctuation for its own purposes: this can normally be avoided by enclosing the query in single quotation marks or by escaping the problem characters with a backslash.

  Examples:

    $ tmsu files music mp3 # files with both 'music' and 'mp3'
    $ tmsu files music and mp3 # same query but with explicit 'and'
    $ tmsu files music and not mp3
    $ tmsu files "music and (mp3 or flac)"
    $ tmsu files "year == 2016"
    $ tmsu files "year < 2016"
    $ tmsu files year lt 2016
    $ tmsu files year
    $ tmsu files --path=/home/bob music
    $ tmsu files 'contains\=equals'
    $ tmsu files '\<tag\>'

  Aliases: query

  Options:

    -d --directory    list only items that are directories
    -f --file         list only items that are files
    -0 --print0       delimit files with a NUL character rather than newline.
    -c --count        lists the number of files rather than their names
    -p --path         list only items under PATH
    -e --explicit     list only explicitly tagged files
    -s --sort         sort output: id, none, name, size, time
    -i --ignore-case  ignore the case of tag and value names

tmsu help [OPTION]... [SUBCOMMAND]

  Shows help summary or, where SUBCOMMAND is specified, help for SUBCOMMAND.

  Options:

    -l --list  list commands

tmsu imply [OPTION] TAG[=VALUE] IMPL[=VALUE]...
tmsu imply

  Creates a tag implication such that any file tagged TAG will be implicitly tagged IMPL.

  When run without arguments lists the set of tag implications.

  Tag implications are applied at time of file query (not at time of tag application) therefore any changes to the implication rules will affect all further queries.

  By default the tag subcommand will not explicitly apply tags that are already implied by the implication rules.

  The tags subcommand can be used to identify which tags applied to a file are implied.

  Examples:

    $ tmsu imply mp3 music
    $ tmsu imply
    mp3 -> music
    $ tmsu imply aubergine aka=eggplant
    $ tmsu imply --delete mp3 music

  Options:

    -d --delete  deletes the tag implication

tmsu info

  Shows the database information.

  Aliases: stats

  Options:

    -s --stats  show statistics
    -u --usage  show tag usage breakdown

tmsu init [PATH]

  Initializes a new local database.

  Creates a .tmsu directory under PATH and initialises a new empty database within it.

  If no PATH is specified then the current working directory is assumed.

  The new database is used automatically whenever TMSU is invoked from a directory under PATH (unless overriden by the global --database option or the TMSU_DB environment variable.

tmsu merge TAG... DEST

  Merges TAGs into tag DEST resulting in a single tag of name DEST.

  Examples:

    $ tmsu merge cehese cheese
    $ tmsu merge outdoors outdoor outside

  Options:

       --value  merge values

tmsu rename [OPTION]... OLD NEW

  Renames a tag or value from OLD to NEW.

  Attempting to rename a tag or value with a name that already exists will result in an error. To merge tags or values use the merge subcommand instead.

  Examples:

    $ tmsu rename montain mountain
    $ tmsu rename --value MMXV 2016

  Aliases: mv

  Options:

       --value  rename a value

tmsu repair [OPTION]... [PATH]...
tmsu repair [OPTION]... repair --manual OLD NEW

  Fixes broken paths and stale fingerprints in the database caused by file modifications and moves.

  Modified files are identified by a change to the file's modification time or file size. These files are repaired by updating the details in the database.

  An attempt is made to find missing files under PATHs specified. If a file with the same fingerprint is found then the database is updated with the new file's details. If no PATHs are specified, or no match can
  be found, then the file is instead reported as missing.

  Files that have been both moved and modified cannot be repaired and must be manually relocated.

  When run with the --manual option, any paths that begin with OLD are updated to begin with NEW. Any affected files' fingerprints are updated providing the file exists at the new location. No further repairs are
  attempted in this mode.

  Examples:

    $ tmsu repair
    $ tmsu repair /new/path # look for missing files here
    $ tmsu repair --path=/home/sally # repair subset of database
    $ tmsu repair --manual /home/bob /home/fred # manually repair paths

  Aliases: fix

  Options:

    -p --path         limit repair to files in database under path
    -P --pretend      do not make any changes
    -R --remove       remove missing files from the database
    -m --manual       manually relocate files
    -u --unmodified   recalculate fingerprints for unmodified files
       --rationalize  remove explicit taggings where an implicit tagging exist

tmsu status [PATH]...

  Shows the status of PATHs.

  Where PATHs are not specified the status of the database is shown.

    T - Tagged
    M - Modified
    ! - Missing
    U - Untagged

  Status codes of T, M and ! mean that the file has been tagged (and thus is in the TMSU database). Modified files are those with a different modification time or size to that in the database. Missing files are
  those in the database but that no longer exist in the file-system.

  Note: The repair subcommand can be used to fix problems caused by files that have been modified or moved on disk.

  Examples:

    $ tmsu status
    $ tmsu status .
    $ tmsu status --directory *

  Options:

    -d --directory       do not examine directory contents (non-recursive)
    -P --no-dereference  do not follow symbolic links

tmsu tag [OPTION]... FILE TAG[=VALUE]...
tmsu tag [OPTION]... --tags="TAG[=VALUE]..." FILE...
tmsu tag [OPTION]... --from=SOURCE FILE...
tmsu tag [OPTION]... --create {TAG|=VALUE}...
tmsu tag [OPTION[... -

  Tags the file FILE with the TAGs and VALUEs specified.

  Optionally tags applied to files may be attributed with a VALUE using the TAG=VALUE syntax.

  Tag and value names may consist of one or more letter, number, punctuation and symbol characters (from the corresponding Unicode categories). Tag names cannot contain the slash / or backslash \ characters.

  Tags will not be applied if they are already implied by tag implications. This behaviour can be overriden with the --explicit option. See the imply subcommand for more information.

  If a single argument of - is passed, TMSU will read lines from standard input in the format 'FILE TAG[=VALUE]...'.

  Note: The equals = and whitespace characters must be escaped with a backslash \ when used within a tag or value name. However, your shell may use the backslash for its own purposes: this can normally be avoided
  by enclosing the argument in single quotation marks or by escaping the backslash with an additional backslash \\.

  Examples:

    $ tmsu tag mountain1.jpg photo landscape holiday good country=france
    $ tmsu tag --from=mountain1.jpg mountain2.jpg
    $ tmsu tag --tags="landscape" field1.jpg field2.jpg
    $ tmsu tag --create bad rubbish awful =2016
    $ tmsu tag sheep.jpg 'contains\=equals'
    $ tmsu tag sheep.jpg '<tag>'

  Options:

    -t --tags            the set of tags to apply
    -r --recursive       recursively apply tags to directory contents
    -f --from            copy tags from the SOURCE file
    -c --create          create tags or values without tagging any files
    -e --explicit        explicitly apply tags even if they are already implied
    -F --force           apply tags to non-existant or non-permissioned paths
    -P --no-dereference  do not follow symbolic links (tag the link itself)

tmsu tags [OPTION]... [FILE]...

  Lists the tags applied to FILEs. If no FILE is specified then all tags in the database are listed.

  When color is turned on, tags are shown in the following colors:

    Normal An explicitly applied (regular) tag
    Cyan   Tag implied by other tags
    Yellow Tag is both explicitly applied and implied by other tags

  See the imply subcommand for more information on implied tags.

  Examples:

    $ tmsu tags
    mp3 music opera
    $ tmsu tags tralala.mp3
    mp3 music opera
    $ tmsu tags tralala.mp3 boom.mp3
    ./tralala.mp3: mp3 music opera
    ./boom.mp3: mp3 music drum-n-bass
    $ tmsu tags --count tralala.mp3

  Options:

    -c --count           lists the number of tags rather than their names
    -1                   list one tag per line
    -e --explicit        do not show implied tags
    -n --name            always print the file name
    -P --no-dereference  do not follow symlinks (show tags for symlink itself)

tmsu untag [OPTION]... FILE TAG[=VALUE]...
tmsu untag [OPTION]... --all FILE...
tmsu untag [OPTION]... --tags="TAG[=VALUE]..." FILE...

  Disassociates FILE with the TAGs specified.

  Examples:

    $ tmsu untag mountain.jpg hill county=germany
    $ tmsu untag --all mountain-copy.jpg
    $ tmsu untag --tags="river underwater year=2016" forest.jpg desert.jpg

  Options:

    -a --all             strip each file of all tags
    -t --tags            the set of tags to remove
    -r --recursive       recursively remove tags from directory contents
    -P --no-dereference  do not follow symbolic links (untag the link itself)

tmsu untagged [OPTION]... [PATH]...

  Identify untagged files in the filesystem.

  Where PATHs are not specified, untagged items under the current working directory are shown.

  Examples:

    $ tmsu untagged
    $ tmsu untagged /home/fred/drawings

  Options:

    -d --directory       do not examine directory contents (non-recursive)
    -c --count           list the number of files rather than their names
    -P --no-dereference  do not dereference symbolic links

tmsu values [OPTION]... [TAG]...

  Lists the values for TAGs. If no TAG is specified then all tags are listed.

  Examples:

    $ tmsu values year
    2000
    2001
    2016
    $ tmsu values
    2000
    2001
    2016
    cheese
    opera
    $ tmsu values --count year
    3

  Options:

    -c --count  lists the number of values rather than their names
    -1          list one value per line

TMUX

Table of Contents


printf '\033[2J\033[3J\033[1;1H';

MISC

  C-b C-z         Suspend the tmux client.
  C-b ~           Show previous messages from tmux, if any.
  C-b :           Enter the tmux command prompt.
  C-b ?           List all key bindings.
  C-b t           Show the time.

SESSION MANAGEMENT

  $ tmux          launch session
  $ tmux a        attach to session
  $ tmux ls       list sessions
  C-b $           Rename the current session.
  C-b D           Choose a client to detach.
  C-b d           Detach the current client.
  C-b r           Force redraw of the attached client.
  C-b s           Select a new session for the attached client interactively.
  C-b L           Switch the attached client back to the last session.

WINDOWS MANAGEMENT

  C-b c           Create a new window.
  C-b &           Kill the current window.
  C-b n           Change to the next window.
  C-b p           Change to the previous window.
  C-b l           Move to the previously selected window.
  C-b [0..9]      Select windows 0 to 9.
  C-b '           Prompt for a window index to select.
  C-b .           Prompt for an index to move the current window.
  C-b ,           Rename the current window.
  C-b w           Choose the current window interactively.
  C-b M-n         Move to the next window with a bell or activity marker.
  C-b M-p         Move to the previous window with a bell or activity marker.
  C-b f           Prompt to search for text in open windows.
  C-b i           Display some information about the current window.

PANE MANAGEMENT

  C-b x           Kill the current pane.
  C-b %           Split the current pane into two, left and right.
  C-b "           Split the current pane into two, top and bottom.
  C-b !           Break the current pane out of the window.
  C-b q           Briefly display pane indexes.
  C-b o           Select the next pane in the current window.
  C-b Up
  C-b Down
  C-b Left
  C-b Right       Change to the pane above, below, to the left, or to the right
                  of the current pane.
  C-b ;           Move to the previously active pane.

LAYOUT

  C-b : swap-window -s N -t M
                  Swap window N with M
  C-b {           Swap the current pane with the previous pane.
  C-b }           Swap the current pane with the next pane.
  C-b C-o         Rotate the panes in the current window forwards.
  C-b M-o         Rotate the panes in the current window backwards.
  C-b <space>     Switch to next layout
  C-b M-1 to M-5  Arrange panes in one of the five preset layouts:
                  even-horizontal, even-vertical, main-horizontal, main-vertical,
                  or tiled.
  C-b C-Up,
  C-b C-Down
  C-b C-Left,
  C-b C-Right     Resize the current pane in steps of one cell.
  C-b M-Up,
  C-b M-Down
  C-b M-Left,
  C-b M-Right     Resize the current pane in steps of five cells.

paste buffers

  C-b #           List all paste buffers.
  C-b -           Delete the most recently copied buffer of text.
  C-b =           Choose which buffer to paste interactively from a list.
  C-b [           Enter copy mode to copy text or view the history.
  C-b ]           Paste the most recently copied buffer of text.
  C-b Page Up     Enter copy mode and scroll one page up.

How do I use tmux?

The first step is to run tmux:

    $ tmux

This starts a new tmux with a single new session (called "0") and creates a
client displaying it on screen. Most of the screen will show a window containing
a shell prompt, and you will notice the last line is occupied by a status line.
This shows the name of the session in square brackets on the left, the window
title (normally empty for shells) and the time on the right, and a summary of
the current open windows in the middle. In your new session, the currently open
windows will contain one entry, for example:

    0:ksh*

Returning to the status line, the number "0" is the window index, "ksh" the name
of the window, and the "*" indicates this is the current window displayed above
the status line. Any typing is passed on to the shell and any output displayed.
For example, if you start "top":

    $ top

It will run as normal, occupying the part of the screen above the status line.
You may also notice that the window name in the status line has changed from
"ksh" to "top" - tmux renames windows to reflect the program currently running
in them.

Now, let's say you want to detach tmux from the screen and return to the
original shell from which you started it. A tmux session may be detached by
first pressing the Ctrl and b keys together, and then the d key. The Ctrl-b key
combination (shortened in tmux and its man page to "C-b") is known as the prefix
key and is used to tell tmux that the next key pressed is an instruction that it
should perform some action, rather than passing the key through to the program
in the window.

After pressing Ctrl-b d and returning to the shell prompt, reattach the tmux
session using the "attach" command:

    $ tmux attach

The tmux session will reappear, with the status line and "top" still happily
running. (If you instead run tmux again without arguments, a second session will
be created, named "1".)

Next, let's create a second window. This is done using the "c" key: press the
prefix key, Ctrl-b, then the "c" key. A new window will be created and again a
shell prompt displayed on screen. The status line will be updated to show the
new window:

    0:top- 1:ksh*

The "-" after "top" shows the previously current window (the last window).
Pressing Ctrl-b c again creates another new shell:

    0:top  1:ksh- 2:ksh*

There are several commands for moving between windows. From window 2, you can
move the previous window, number 1, by typing Ctrl-b p. Ctrl-b n moves to the
next window: in this case, there is no window 3 so the current window wraps to
window 0. You can also press Ctrl-b w to get an interactive menu of open
windows, Ctrl-b l to move to the last window (the one marked with "-"), or
Ctrl-b 0 to move to window 0, Ctrl-b 1 for window 1 and so on up to Ctrl-b 9 for
window 9. So, to get back to "top" in window 0, you can press Ctrl-b 0 to go
directly to window 0, Ctrl-b p twice to move via window 1, Ctrl-b n to wrap from
window 2 to window 0, or press Ctrl-b w and select window 0 from the list.

Sometimes you may want to create a window running a program directly, without
using a shell first. This can be done from the tmux command prompt. Pressing the
Ctrl-b : key sequence changes the status line to display a ":" prompt at which
commands may be entered. All the tmux commands are documented in the man page.
In this case the "new-window" command is needed. Each command has a shorthand
alias which may be used instead of typing the full name, for "new-window" this
is "neww". So, to create a new window running tetris(6), type:

    neww tetris

The new window will close when tetris exits, or may be forcibly killed using the
Ctrl-b & key binding. This will first prompt for confirmation and if given,
close the window and terminate the program running in it.

Another common requirement is renaming a window. This can be done with the
Ctrl-b , key binding. The status line will change to display a "(rename-window)"
prompt at which the new name may be entered. Renaming a window turns off
automatic renaming for that window, to reenable that feature, press Ctrl-b : to
get to the command prompt and enter the following (more on what this means is in
the next section):

    setw -u automatic-rename

One other important key is worth remembering: Ctrl-b ?. This will show a list of
all the tmux keys and the commands they execute. For example, Ctrl-b ? shows
that the c key is bound to the "new-window" command and the n key to the "next-
window" command.

## Configuring tmux

Many users want to customise the way tmux looks or behaves. This is done through
the configuration file, ~/.tmux.conf. This file is a list of tmux commands which
are executed when tmux is initially started, before the first session is
created. All tmux commands are documented in the man page, but a few common
examples you might want to put in your configuration file are discussed below.

The most common requirement is setting options. There are two types of option in
tmux: session options and window options. Session options control the behaviour
of a session and window options of an individual window. For both there is a set
of global options. When tmux comes to decide on an options value for a
particular session or window, it looks first at the options local to that
window; if the option has not been set, the global option value is used.

Session options are set with the "set-option" (alias "set") command and window
options with the "set-window-option" command (alias "setw"). To set a global
option, use the "-g" flag, if this is left out the option is set for the current
window or session. These commands also accept a few other flags, such as "-u" to
unset a local option and allow a window or session to inherit the global option
again.

In the configuration file, it is usual to set global options. Let's look at some
examples customising the status line:

    set -g status-bg blue
    set -g status-right '#(sysctl vm.loadavg)'
    setw -g window-status-current-attr underscore

Putting these three commands in .tmux.conf and restarting tmux changes the
status line background to blue, puts the current load average on the right side
and underlines the current window. The status line may be turned off entirely
with:

    set -g status off

There are a large number of other options; another handy one is changing to
vi(1)-style key bindings at the command prompt and in the window list and other
tmux interactive modes:

    set -g status-keys vi
    setw -g mode-keys vi

The current options and their values may be listed with the "show-options" and
"show-window-options" commands. Like the set commands these accept "-g" to show
the global options.

Another common task for the configuration file is adding or modifying tmux
command key bindings, that is the commands that are executed after you press
Ctrl-b with another key. These are added or changed with the "bind-key" command
(alias "bind") and removed with the "unbind-key" command (alias "unbind"). Two
examples of using "bind-key" are:

    bind C-d detach
    bind / neww 'exec top'

The first line creates a binding for Ctrl-b Ctrl-d to detach tmux, the same as
the default Ctrl-b d, and the second binds Ctrl-b / to create a new window
running top.

Many people like to use a different prefix key than Ctrl-b. This can be achieved
using both the "set-option" and key binding commands to alter the prefix key
option and change so that pressing the prefix twice continues to pass the same
key through to the window. To change the prefix key to Ctrl-a:

    set -g prefix C-a
    unbind C-b
    bind C-a send-prefix

The final useful thing to do in the configuration file is to create an initial
set of windows when tmux starts. This is slightly more complicated than the
previous examples. In tmux, a session cannot have no windows, and you cannot
create windows without a session. So, to have windows created by the
configuration file you must first create a session to contain them. For example
(note that "new" is the alias for the "new-session" command):

    new -d 'exec top'
    neww -d
    neww -d

These commands create a new session with "top" running in the first window, then
create two additional windows. The "-d" flags instruct tmux not to try to attach
the new session or to make the new windows the current window. Before putting
these lines into .tmux.conf, there is one other issue. When executed without
arguments, tmux runs the "new-session" command, so when starting tmux with
"tmux" from the shell, the configuration file tells tmux to create one session,
then the command from the shell tells it to create another, so you end up with
two sessions. To avoid this, tmux should be started with "tmux attach" when
creating a session from the configuration file - this means it will create the
session from .tmux.conf then immediately attach to it without creating a second
session.

## Advanced tmux usage

This section briefly covers some of the more advanced features available in
tmux. See the man page for more information.

In tmux, you can copy and paste text between windows. This is done by copying
the text in copy mode and then pasting it with the paste command. To enter copy
mode, press Ctrl-b [. In copy mode (with the "mode-keys" window option set to
emacs, for vi keys see the man page) the arrow keys may be used to position the
cursor, Ctrl-Space starts the selection and Ctrl-w copies. You can also use Page
Up, Page Down, Ctrl-a and Ctrl-e to move the cursor around. Press q or Escape to
exit copy mode. After that, Ctrl-b ] will paste the copied text into the current
window as if you had typed it directly.

tmux is quite scriptable, and most commands that may be entered from the command
prompt or bound to a key may be executed from the shell. Almost all tmux
commands accept an optional "-t" argument which specifies the session or window
on which to act. For example, this command:

    $ tmux kill-window -t0:1

will kill window 1 in session 0. And:

    $ tmux new-window -tmysession

creates a new window in the session named "mysession". Many commands accept
other arguments, for example the "new-window" command accepts a "-n" option to
give the name of the new window, and "new-session" accepts several arguments to
specify the attributes of the initial window created with the session. These
arguments may naturally be used when a command is bound to a key or executed
from the command prompt as well.

Another useful feature is the ability to split a single window into several
sections, called panes. You can split a window vertically (top to bottom) with
the Ctrl-b " key combination. A pane can be resized up or down with Ctrl-b Alt-
Up and Ctrl-b Alt-Down and the active pane changed with Ctrl-b o. In addition, a
window split in that way may be changed into one of a number of fixed layouts,
these are cycled through with Ctrl-b Space but panes in one of these layouts may
not be resized. In -current, splitting has been extended to support horizontal
splitting (Ctrl-b %) and the fixed layouts changed so they are applied once
(with the same Ctrl-b Space key strokes) but then may be freely resized and
modified both horizontally and vertically.

zsh

Configuration files

At login, Zsh sources the following files in this order:

~/.zshenv       This file should contain commands to set the command search path, 
				plus other important environment variables; it should not 
				contain commands that produce output or assume the shell is 
				attached to a tty.
/etc/profile    This file is sourced by all Bourne-compatible shells upon login: 
				it sets up an environment upon login and application-specific 
				(/etc/profile.d/*.sh) settings.
~/.zprofile     This file is generally used for automatic execution of user's scripts.
~/.zshrc        This is Zsh's main configuration file.
~/.zlogin       This file is generally used for automatic execution of user's scripts.
~/.zlogout      Sourced at logout which is used for automatic execution of user's scripts. 

Editors

Kakoune

Table of Contents


  • Operation
    • two modes: normal and insertion
    • kakoune's grammar is object followed by verb: <count> <selection> <change>

Insert Mode

KeyAction
<backspace> / <del>delete characters before / under cursors
<home> / <end>move cursors to line begin
c-n / c-pselect next/previous completion candidate
c-xexplicit insert completion query, followed by
fexplicit file completion
wexplicit word completion
lexplicit line completion
c-odisable automatic completion for this insert session
c-r <R>insert contents of the register R given by next key
c-vinsert next keystroke directly into the buffer,
without interpreting it.
c-ucommit changes up to now as a single undo group.
a-;escape to normal mode for a single command

Selections

  • Kak works on selections: oriented/directed, inclusive range of characters.
  • Selections have two ends: an anchor and a cursor character.
  • Most commands move both of them, except when extending selection where the anchor character stays fixed and the cursor one moves around.
  • There is always at least one selection, and a selection is always at least one character (in which case the anchor and cursor of the selections are on the same character).
  • Most selection commands also support counts, which are entered before the command itself.

Goto

  • Commands beginning with g are used to goto certain position and or buffer:
  gh       gl        go to line begin/end
  Gh       Gl        select to line begin/end
  <a-h>    <a-l>     select to line begin/end
  gi                 go to line begin (non blank)
  gg, gk / gj        go to the first/last line
  ge                 go to last char of last line
  gt / gc / gb       go to the first / middle / last displayed line
  ga                 go to the previous (alternate) buffer
  gf                 open the file whose name is selected
  g.                 go to last buffer modification position
  <N>g               go to line N

If a count is given prior to hitting g, g will jump to the given line. Using G will extend the selection rather than jump.

MOVEMENT


  A word is a sequence of alphanumeric characters or underscore,
  A WORD is a sequence of non whitespace characters.

  For most selection commands, using shift permits extending current selection
  instead of replacing it.

  h / j / k / l      select the character on the left/below/above/on the right of selection end
  w                  select [word + following whitespaces] [right] of selection end
  b                  select [preceding whitespaces + word] [left]  of selection end
  e                  select [preceding whitespaces + word] [right] of selection end
  <a-[wbe]>          same as [wbe] but select WORD instead of word
  f / t <C>          select to/until the next occurence of given character C
  <a-[ft]> <C>       same as [ft] but in the other direction
  m / M <C>          select / extend selection to matching character C
  x / X              select / extend selection to line on which selection end lies
                     (or next line when end lies on an end-of-line)
  <a-x>              expand selections to contain full lines (including end-of-lines)
  <a-X>              trim selections to only contain full lines (not including last end-of-line)
  %                  select whole buffer
  pageup   pagedown  scroll up / down
  '                  rotate selections (the main selection becomes the next one)
  <a-'>              rotate selections backwards
  ;                  reduce selections to their cursor
  <a-;>              flip the selections' direction
  <a-:>              ensure selections are in forward direction (cursor after anchor)
  <a-.>              repeat last object or f/t selection command.
     /     <a-/>     search (select next/previous match)
     ?     <a-?>     search (extend to next/previous match)
     n        N      [select / add a new selection to] next match
  <a-n>    <a-N>     [select / add a new selection to] previous match

MULTI SELECTION

  One way to get a multiselection is via the s key.

  A multiselection can also be obtained with S, which splits the current
  selection according to the regex entered.
  To split a comma separated list, use S then ', *'

  s and S share the search pattern with /, and hence entering an empty pattern
  uses the last one.

  As a convenience, <a-s> allows you to split the current selections on line
  boundaries.

  To clear multiple selections, use space.
  To keep only the nth selection use n followed by space, in order to remove a
  selection, use <a-space>.

  <a-k> allows you to enter a regex and keep only the selections that contains
  a match for this regex.
  Using <a-K> you can keep the selections not containing a match.

  C copies the current selection to the next line (or lines if a count is given)
  <a-C> does the same to previous lines.

  $ allows you to enter a shell command and pipe each selection to it.
  Selections whose shell command returns 0 will be kept, other will be dropped.

  s
  <a-s>         split current selection on line boundaries
  S<re>         split current selection according to regexp <re>
  S,<space>*    split a comma-separated list
  <space>       clear multiple selections
  <N><space>    keep only <N>th selection
  <N><a-space>  remove <N>th selection
  <a-k>         enter a regex and keep only the match
  <a-K>         enter a regex and keep selections not containing the match
  <C> <a-C>     copy the selection to the next/previos line
                (lines if count is given)
  $             enter shell command and pipe each selection to it
                selections whose command return 0 are kept

OBJECT SELECTION


  Some keys allow you to select a text object:

  <a-a>   selects the whole object
  <a-i>   selects the inner object, that is the object excluding its surrounder.
          For example, for a quoted string, this will not select the quote,
          and for a word this will not select trailing spaces.
  [       selects to object start
  ]       selects to object end
  {       extends selections to object start
  }       extends selections to object end

  After this key, you need to enter a second key in order to specify which
  object you want.

  b, ( or )   select the enclosing parenthesis
  B, { or }   select the enclosing {} block
  r, [ or ]   select the enclosing [] block
  a, < or >   select the enclosing <> block
  " or Q      select the enclosing double quoted string
  ' or q      select the enclosing single quoted string
  ` or g      select the enclosing grave quoted string
  w           select the whole word
  W           select the whole WORD
  s           select the sentence
  p           select the paragraph
  ␣           select the whitespaces
  i           select the current indentation block
  n           select the number
  u           select the argument
  :           select user defined object, will prompt for open and close text.

  For nestable objects, a count can be used in order to specify which
  surrounding level to select.

CHANGES

  i a       enter insert mode before/after current selection
  I A       enter insert mode at current selection begin line start/end
  o O       enter insert mode in one (or given count) new lines below/above
            current selection end/begin
  y         yank selections
  d         yank and delete current selection
  c         yank and delete current selection and enter insert mode
  .         repeat last insert mode change
            (i, a, or c, including the inserted text)
  p P       paste after/before current selection end/begin
  <a-p>     paste all after current selection end, and select each pasted string.
  <a-P>     paste all before current selection begin, and select each pasted
            string.
  R         replace current selection with yanked text
  r <C>     replace each character with the next entered one C
  <a-j>     join selected lines
  <a-J>     join selected lines and select spaces inserted in place of line breaks
  <a-m>     merge contiguous selections together (works across lines as well)

  <gt> (>)  indent selected lines
  <a-gt>    indent selected lines, including empty lines

  <lt> (<)  deindent selected lines
  <a-lt>    deindent selected lines, do not remove incomplete indent (3 leading
            spaces when indent is 4)

  |         pipe each selection through the given external filter program and
            replace the selection with it’s output.
  <a-|>     pipe each selection through the given external filter program and
            ignore its output

  !         insert command output before selection
  a-!       append command output after selection

  u         undo last change
  a-u       move backward in history
  U         redo last change
  a-U       move forward in history

  &         align selection, align the cursor of selections by inserting spaces
            before the first character of the selection
  <a-&>     copy indent, copy the indentation of the main selection (or the
            count one if a count is given) to all other ones

  `         to lower case
  ~         to upper case
  <a->`     swap case
  @         convert tabs to spaces in current selections, uses the buffer
            tabstop option or the count parameter for tabstop.
  <a-@>     convert spaces to tabs in current selections, uses the buffer
            tabstop option or the count parameter for tabstop.
  <a-">     rotate selections content, if specified, the count groups
            selections, so 3<a-"> rotate (1, 2, 3) and (3, 4, 6) independently.

VIEW


  Some commands, all beginning with v permit to manipulate the current view.

  vv or vc  center the main selection in the window
  vt  scroll to put the main selection on the top line of the window
  vb  scroll to put the main selection on the bottom line of the window
  vh  scroll the window count columns left
  vj  scroll the window count line downward
  vk  scroll the window count line upward
  vl  scroll the window count columns right

  Using V will lock view mode until <esc> is hit

MARKS


  Current selections position can be saved in a register and restored later on.
  By default, marks use the '^' register, but using the register can be set
  using "<reg> prefix.

  Z will save the current selections to the register. <a-Z> will append the
  current selections to the register. z will restore the selections from the
  register. <a-z> will add the selections from the register to the existing ones.

JUMP LIST

  Some commands, like the goto commands, buffer switch or search commands,
  push the previous selections to the client’s jump list. It is possible to
  forward or backward in the jump list using:

  <c-i>  Jump forward
  <c-o>  Jump backward
  <c-s>  save current selections

COMMANDS

  When pressing : in normal mode, Kakoune will open a prompt to enter a command.
  Commands are used for non editing tasks, such as opening a buffer, writing the
  current one, quitting, etc.

  A few keys are recognized by prompt mode to help edit a command:

  <ret>                 validate prompt
  <esc>                 abandon without
  <left> or <a-h>       move cursor to previous character
  <right> or <a-l>      move cursor to previous character
  <home>                move cursor to first character
  <end>                 move cursor past the last character
  <backspace> or <a-x>  erase character before cursor
  <del> or <a-d>        erase character under cursor
  <c-w>                 advance to next word begin
  <c-a-w>               advance to next WORD begin
  <c-b>                 go back to previous word begin
  <c-a-b>               go back to previous WORD begin
  <c-e>                 advance to next word end
  <c-a-e>               advance to next word end
  <up> or <c-p>         select previous entry in history
  <down> or <c-n>       select next entry in history
  <tab>                 select next completion candidate
  <backtab>             select previous completion candidate
  <c-r>                 insert then content of the register given by next key.
  <c-v>                 insert next keystroke without interpreting it
  <c-o>                 disable auto completion for this prompt

  Commands starting with horizontal whitespace (e.g. a space) will not be saved
  in the command history.

  Some commands take an exclamation mark (!), which can be used to force the
  execution of the command (i.e. to quit a modified buffer, the command q! has
  to be used).

  cd [<directory>]                          change the current directory to
                                            <directory>, or the home directory
                                            if unspecified
  doc <topic>                               display documentation about a topic.
                                            The completion list displays the
                                            available topics.
  e[dit][!] <filename> [<line> [<column>]]  open buffer on file, go to given
                                            line and column. If file is already
                                            opened, just switch to this file.
                                            Use edit! to force reloading.
  w[rite][!] [<filename>]                   write buffer to <filename> or use
                                            its name if filename is not given.
                                            If the file is write-protected, its
                                            permissions are temporarily changed
                                            to allow saving the buffer and
                                            restored afterwards when the write!
                                            command is used.
  w[rite]a[ll]                              write all buffers that are
                                            associated to a file.
  q[uit][!]                                 exit Kakoune, use quit! to force
                                            quitting even if there is some
                                            unsaved buffers remaining.
  kill[!]                                   terminate the current session, all
                                            the clients as well as the server,
                                            use kill! to ignore unsaved buffers
  w[a]q[!]                                  write the current buffer (or all
                                            buffers when waq is used) and quit
  b[uffer] <name>                           switch to buffer <name>
  b[uffer]n[ext]                            switch to the next buffer
  b[uffer]p[rev]                            switch to the previous buffer
  d[el]b[uf][!] [<name>]                    delete the buffer <name>
  source <filename>                         execute commands in <filename>
  colorscheme <name>                        load named colorscheme.
  rename-client <name>                      set current client name
  rename-buffer <name>                      set current buffer name
  rename-session <name>                     set current session name
  echo [options] <text>                     show <text> in status line, with the
                                            following options:
      -color <face>                         print the given text with <face>,
                                            most commonly Error or Information
      -markup                               expand the markup strings in <text>
      -debug                                print the given text to the
                                            *debug* buffer
  nop                                       does nothing, but as with every
                                            other commands, arguments may be
                                            evaluated. So nop can be used for
                                            example to execute a shell command
                                            while being sure that it’s output
                                            will not be interpreted by kak.
                                            :%sh{ echo echo tchou } will echo
                                            tchou in Kakoune, whereas
                                            :nop %sh{ echo echo tchou } will
                                            not, but both will execute the shell
                                            command.

  Multiple commands can be separated either by new lines or by semicolons, as
  such a semicolon must be escaped with \; to be considered as a literal
  semicolon argument.

STRINGS

  When entering a command, parameters are separated by whitespace (shell like),
  if you want to give parameters with spaces, you should quote them.

  'strings'   uninterpreted strings, you can use \' to escape the separator,
              every other char is itself.
  "strings"   expanded strings, % strings (see Expansions) contained are
              expended. Use \% to escape a % inside them, and \\ to escape a
              slash.
  %{strings}  these strings are very useful when entering commands

  the { and } delimiters are configurable: you can use any non alphanumeric
  character, e.g. %[string], %<string>, %(string), %~string~, %!string!.

  if the character following the % is one of {[(<,
  then the closing one is the matching }])> and the delimiters are not escapable
  but are nestable.

STRING EXPANSIONS

  A special kind of %{strings} can be used, with a type between % and the
  opening delimiter (which cannot be alphanumeric).
  These strings are expanded according to their type.

  For example %opt{autoinfo} is of type 'opt'.
  'opt' expansions are replaced by the value of the given option (here autoinfo).

  Supported types are:

    sh   shell expansion, similar to posix shell $(…​) construct
    reg  register expansion, will be replaced by the content of the given register
    opt  option expansion, will be replaced with the value of the given option
    val  value expansion, gives access to the environment variable available to
         the Shell expansion. The kak_ prefix is not used there
    arg  argument expansion, gives access to the arguments of the current
         command, the content can be a number, or @ for all arguments

SHELL EXPANSION

  The %sh{…​} expansion replaces its content with the output of the shell
  commands in it. It is similar to the shell $(…​) syntax and is evaluated only
  when needed.

  For example: %sh{ ls } is replaced with the output of the ls command.

  Some of Kakoune state is available through environment variables:

    kak_selection             content of the main selection
    kak_selections            content of the selection separated by colons,
                              colons and backslashes in the selection contents
                              are escaped with a backslash.
    kak_selection_desc        range of the main selection, represented as
                              anchor,cursor; anchor and cursor are in this
                              format: line.column
    kak_selections_desc       range of the selecations separated by colons
    kak_bufname               name of the current buffer
    kak_buffile               full path of the file or same as kak_bufname when
                              there’s no associated file
    kak_buflist               the current buffer list, each buffer separated by
                              a colon
    kak_timestamp             timestamp of the current buffer, the timestamp is
                              an integer value which is incremented each time
                              the buffer is modified.
    kak_runtime               directory containing the kak binary
    kak_count                 count parameter passed to the command
    kak_opt_<name>            value of option <name>
    kak_reg_<r>               value of register <r>
    kak_session               name of the current session
    kak_client                name of current client
    kak_source                path of the file currently getting executed
                              (through the source command)
    kak_cursor_line           line of the end of the main selection
    kak_cursor_column         column of the end of the main selection (in byte)
    kak_cursor_char_column    column of the end of the main selection (in character)
    kak_cursor_byte_offset    offset of the main selection from the beginning
                              of the buffer (in byte).
    kak_window_width          width of the current kakoune window
    kak_window_height         height of the current kakoune window
    kak_hook_param            filtering text passed to the currently executing hook
    kak_hook_param_capture_N  text captured by the hook filter regex capture N
    kak_client_env_<name>     value of the <name> variable in the client
                              environment.
                              Example: $kak_client_env_SHELL is the SHELL variable

  Note that in order to make only needed information available, Kakoune needs to
  find the environment variable reference in the shell script executed.
  Hence, %sh{ ./script.sh } with script.sh referencing an environment variable
  will not work.

MARKUP STRINGS

  In certain context, kakoune can take a markup string, which is a string
  containing formatting informations. In these strings, syntax {facename} will
  enable the face facename until another face gets activated (or the end of the
  string.
  Literal { shall be written \{, and literal \ that precede a { shall be written \\

REGISTERS

  Registers are named lists of text.
  They are used for various purposes, like storing the last yanked text, or
  the captured groups associated with the selections.

  Yanking and pasting uses the register ", however most commands using a
  register can have their default register overridden by using the " key
  followed by the register. For example "sy will yank (y command) in the s
  register. "sp will paste from the s register.

  While in insert mode or in a prompt, <c-r> followed by a register name
  (one character) inserts it.

  For example,
  <c-r> followed by " will insert the currently yanked text.
  <c-r> followed by 2 will insert the second capture group from the last regex selection.

  Registers are lists, instead of simply text in order to interact well with
  multiselection. Each selection has its own captures or yank buffer.

  Alternate names
    Non alphanumeric registers have an alternative name that can be used in
    contexts where only alphanumeric identifiers are possible.

  Special registers
    Some registers are not general purposes, they cannot be written to, but they
    contain some special data:

    % (percent)  current buffer name
    . (dot)  current selection contents
    # (hash)  selection indices (first selection has 1, second has 2, …​)
    _ (underscore)  null register, always empty

  Default registers

    Most commands using a register default to a specific one if not specified:

    " (dquote)   default yank register, used by yanking and pasting commands
                 like y, p and R
    / (slash)    default search register, used by regex based commands like
                 s, * or /
    @ (arobase)  default macro register, used by q and Q
    ^ (caret)    default mark register, used by z and Z
    | (pipe)     default shell command register, used by command that spawn a
                 subshell such as |, <a-|>, ! or <a-!>

MACROS

  Macros are recorded with the Q key, and are stored by default in the @
  register. Another register can be chosen by with hitting "<reg> before the Q
  key.

  To replay a macro, use the q key.

FEATURES

  Multiple selections as a central way of interacting
  Powerful selection manipulation primitives
  Select all regex matches in current selections
  Keep selections containing/not containing a match for a given regex
  Split current selections with a regex
  Text objects (paragraph, sentence, nestable blocks)
  Powerful text manipulation primitives
  Align selections
  Rotate selection contents
  Case manipulation
  Indentation
  Piping each selection to external filter
  Client-Server architecture
  Multiple clients on the same editing session
  Use tmux or your X11 window manager to manage windows
  Simple interaction with external programs
  Automatic contextual help
  Automatic as you type completion
  Macros
  Hooks
  Syntax Highlighting
  Supports multiple languages in the same buffer
  Highlight a buffer differently in different windows

RESOURCES

  • http://kakoune.org/
  • http://kakoune.org/why-kakoune/why-kakoune.html
  • https://github.com/danr/libkak
  • https://github.com/hiberno/kakrc/tree/master/.config/kak
  • https://github.com/mawww/config
  • https://github.com/mawww/golf
  • https://github.com/mawww/kak-ycmd
  • https://github.com/mawww/kakoune
  • https://github.com/mawww/kakoune#key-mapping
  • https://github.com/mawww/kakoune/blob/master/doc/design.asciidoc
  • https://github.com/mawww/kakoune/issues/249
  • https://github.com/mawww/kakoune/wiki
  • https://github.com/mawww/kakoune/wiki/Avoid-the-escape-key
  • https://github.com/mawww/kakoune/wiki/How-To
  • https://github.com/mawww/kakoune/wiki/Implementing-user-mode
  • https://github.com/mawww/kakoune/wiki/Migrating-from-Vim
  • https://github.com/mawww/kakoune/wiki/Migrating-from-Vim-popular-plugins
  • https://github.com/mawww/kakoune/wiki/Normal-mode-commands
  • https://github.com/search?q=kakrc&type=Code&utf8=%E2%9C%93
  • https://lobste.rs/s/gwdwjb/why_kakoune_quest_for_better_code_editor
  • https://www.reddit.com/r/kakoune/

EXAMPLES

  %sword<ret>creplacement<esc>    Global replace
                                  % selects the entire buffer,
                                  s opens a prompt for a regex
                                  <ret> validates the regex and replaces the
                                  selection with one per matches
                                  (hence, all occurences of word are selected)
                                  c deletes the selection contents and enters
                                  insert mode, replacement is typed and goes
                                  back to normal mode.

  replace in current curly braces block:

  <a-i>Bsword<ret>creplacement<esc>

  delete to line end
  alt-ld or Gld

CLI OPTIONS


  +line[:column]    open at line:column
  +:                open and send cursor to the last line
  -n                do not load resource
  -l                list existing sessions
  -d                run as a headless session
  -e <command>      execute command after initialization fase
  -f <keys>         enter filter mode and execute keys on the files passed as
                    argument
  -q                when in filter mode, don't print any errors
  -p <session_id>   send the commands written on the standard input to the session
  -c <session_id>   connect to the session
  -s <session_id>   set the current session name to session_id
  -ui <type>        select the user interface
                      ncurses: default terminal user interface
                      dummy:   empty user interface not displaying anything
                      json:    json-rpc based user interface that writes json on
                               stdout and read keystrokes as json on stdin.
  -clear            remove sessions that terminated in an incorrect state
  -ro               enter in readonly mode

CONFIGURATION

  two directories containing Kakoune’s scripts:
    runtime:  located in ../share/kak/ relative to the kak binary contains the
              system scripts
    userconf: located in $XDG_CONFIG_HOME/kak/, which defaults to
              $HOME/.config/kak/ on most systems, containing the user
              configuration

  1 ../share/kak/kakrc
  2 $XDG_CONFIG_HOME/kak/autoload/*.kak
  3 ../share/kak/autoload/*.kak
  4 $XDG_CONFIG_HOME/kak/kakrc

  1 Unless -n is specified, Kakoune will load its startup script located at
    ${runtime}/kakrc relative to the kak binary. This startup script is
    responsible for loading the user configuration.
  2 First, Kakoune will search recursively for .kak files in the autoload
    directory. It will first look for an autoload directory at
    ${userconf}/autoload and will fallback to ${runtime}/autoload if it does
    not exist.
  3 Once all those files are loaded, Kakoune will try to source
    ${runtime}/kakrc.local which is expected to contain distribution provided
    configuration.
  4 And finally, the user configuration will be loaded from ${userconf}/kakrc.

  If you create a user autoload directory in ${userconf}/autoload,
  the system one at ${runtime}/autoload will not be loaded anymore.
  You can add a symbolic link to it (or to individual scripts) inside
  ${userconf}/autoload to keep loading system scripts.

CONFIGURATION OPTIONS

  Options are typed, their type can be

    int                     an integer number
    bool                    a boolean value, yes/true or no/false
    str                     a string, some freeform text
    coord                   a line,column pair (separated by comma)
    regex                   as a string but the set commands will complain if
                            the entered text is not a valid regex.
    {int,str}-list          a list, elements are separated by a colon ( ) if an
                            element needs to contain a colon, it can be escaped
                            with a backslash.
    range-faces             a : separated list of a pair of a buffer range
                            (<begin line>.<begin column>,<end line>.<end column>
                            or <begin line>.<end line>+<length>) and a face
                            (separated by |), except for the first element which
                            is just the timestamp of the buffer.
    completions             a : separated list of <text>|<docstring>|<menu text>
                            candidates, except for the first element which
                            follows the <line>.<column>[+<length>]@<timestamp>
                            format to define where the completion apply in the
                            buffer.
    enum(value1|value2|…​)   an enum, taking on of the given values
    flags(value1|value2|…​)  a set of flags, taking a combination of the given
                            values joined by |.

  Options value can be changed using the set commands:

  :set [global,buffer,window] <option> <value> # buffer, window, or global scope

  Option values can be different by scope, an option can have a global value, a
  buffer value and a window value. The effective value of an option depends on
  the current context. If we have a window in the context (interactive edition
  for example), then the window value (if any) is used, if not we try the buffer
  value (if we have a buffer in the context), and if not we use the global
  value.

  That means that two windows on the same buffer can use different options (like
  different filetype, or different tabstop). However, some options might end up
  ignored if their scope is not in the command context

  Writing a file never uses the window options for example, so any options
  related to writing won’t be taken into account if set in the window scope (BOM
  or eolformat for example).

  New options can be declared using the :decl command

  :decl [-hidden] <type> <name> [<value>]

  The -hidden parameter makes the option invisible in completion, but still
  modifiable.

  Some options are built in Kakoune, and can be used to control its behaviour

  tabstop int                           width of a tab character.
  indentwidth int                       width (in spaces) used for indentation.
                                        0 means a tab character.
  scrolloff coord                       number of lines,columns to keep visible
                                        around the cursor when scrolling.
  eolformat enum(lf|crlf)               the format of end of lines when writing
                                        a buffer, this is autodetected on load;
                                        values of this option assigned to the
                                        window scope are ignored
  BOM enum(none|utf8)                   define if the file should be written
                                        with a unicode byte order mark.
                                        Values of this option assigned to the
                                        window scope are ignored
  readonly bool                         prevent modifications from being saved
                                        to disk, all buffers if set to true in
                                        the global scope, or current buffer if
                                        set in the buffer scope; values of this
                                        option assigned to the window scope are
                                        ignored
  incsearch bool                        execute search as it is typed
  aligntab bool                         use tabs for alignment command
  autoinfo flags(command|onkey|normal)  display automatic information box in the
                                        enabled contexts.
  autoshowcompl bool                    automatically display possible
                                        completions when editing a prompt.
  ignored_files regex                   filenames matching this regex won’t be
                                        considered as candidates on filename
                                        completion (except if the text being
                                        completed already matches it).
  disabled_hooks regex                  hooks whose group matches this regex
                                        won’t be executed.
                                        For example indentation hooks can be
                                        disabled with '.*-indent'.
  filetype str                          arbitrary string defining the type of
                                        the file filetype dependant actions
                                        should hook on this option changing for
                                        activation/deactivation.
  path str-list                         directories to search for gf command.
  completers str-list                   completion systems to use for insert
                                        mode completion. The given completers
                                        are tried in order until one generate
                                        some completion candidates.
                                        Existing completers are:
                                          word=all    complete using words in
                                                      all buffers
                                          word=buffer complete using words in
                                                      only the current one
                                          filename    tries to detect when a
                                                      filename is being entered
                                                      and provides completion
                                                      based on local filesystem.
                                          option=<opt-name>
                                                      where <opt-name> is a
                                                      completions option.
  static_words str-list                 list of words that are always added to
                                        completion candidates when completing
                                        words in insert mode.
  completions_extra_word_chars str      a string containing all additional
                                        character that should be considered as
                                        word character for the purpose of insert
                                        mode completion.
  autoreload enum(yes|no|ask)           auto reload the buffers when an external
                                        modification is detected.
  debug flags(hooks|shell|profile)      dump various debug information in the
                                        debug buffer.
  idle_timeout int                      timeout, in milliseconds, with no user
                                        input that will trigger the InsertIdle
                                        and NormalIdle hooks.
  fs_checkout_timeout int               timeout, in milliseconds, between checks
                                        in normal mode of modifications of the
                                        file associated with the current buffer
                                        on the filesystem.
  modelinefmt string                    A format string used to generate the
                                        mode line, that string is first expanded
                                        as a command line would be (expanding
                                        %…​{…​} strings), then markup tags are
                                        applied (see Markup strings). Two
                                        special atoms are available as markup:
                                        {{mode_info}} with information about the
                                        current mode (example insert 3 sel), and
                                        {{context_info}} with information such
                                        as if the file has been modified
                                        (with [+]), or if it is new
                                        (with [new file]).
  ui_options                            colon separated list of key=value pairs
                                        that are forwarded to the user interface
                                        implementation.
                                        The NCurses UI supports the following
                                        options:
    ncurses_set_title                     if yes or true, the terminal emulator
                                          title will be changed.
    ncurses_status_on_top                 if yes, or true the status line will
                                          be placed at the top of the terminal
                                          rather than at the bottom.
    ncurses_assistant                     specify the nice assistant you get in
                                          info boxes, can be 'clippy', 'cat',
                                          'dilbert' or 'none'
    ncurses_enable_mouse                  boolean option that enables mouse
    ncurses_change_colors                 boolean option that can disable color
                                          palette changing if the terminfo
                                          enables it but the terminal does not
                                          support it.
    ncurses_wheel_down_button             specify which button send for wheel
                                          down events.
    ncurses_wheel_up_button               specify which button send for wheel
                                          up events.

Notes

Auto-completion

    I use kak for writing emails, and I store all my email adress contacts in a file, on per line, like

    Joe Bla <joe.bla@gmail.com>
    G z <g.z@a.com>
    I'd like each line to appear as a possible auto-completion candidate. Is this possible?

    i use something like this:
    execute

    set window static_words "%sh{tr '\n' ':' < ~/.contacts | cut -b 1-}"
    set window completion_extra_word_char @
    for your desired filetype.

    starting with @ in insert mode will give you the complete list to cycle through.

Use kakoune as an IDE

    As a convention, many commands respect the toolsclient, docsclient and jumpclient options. These string options store the name of the client to use. toolsclient will be used for :make and :grep commands, when an entry is selected in them, they will try to open the file in the jumpclient client. The :man and :doc commands will display their content in the docsclient.

    If neither of those options are defined, it will fallback on the current client.

    Here’s a small snippet you can trigger to launch multiple clients and bind them to the right options:

    def ide %{
        rename-client main
        set global jumpclient main

        new rename-client tools
        set global toolsclient tools

        new rename-client docs
        set global docsclient docs
    }
    Then it’s up to tmux or your window manager to fit them correctly on your monitor.
    https://github.com/mawww/config/blob/bd58ee3f0314be8561846681d2e837d9545fdde6/ide.kak

How to make x select lines downward, and X - select lines upward.

    more here https://github.com/mawww/kakoune/issues/1285

    def -hidden -params 1 extend-line-down %{
      exec "<a-:>%arg{1}X"
    }
    def -hidden -params 1 extend-line-up %{
      exec "<a-:><a-;>%arg{1}K<a-x>"
    }
    map global normal x ":extend-line-down %val{count}<ret>"
    map global normal X ":extend-line-up %val{count}<ret>"

Vim command pattern:

  1. register name (optional)
  2. repeats (optional)
  3. operation (eg y, d, etc)
  4. movement (doubling the operation takes the current line).

Tips:

  • Move by context, not position.
  • Do not search and scroll, do not use your eyes to find text.
  • If you're not searching, at least jump.
  • Never park in insert mode, immediately escape after editing.
---
## INVOCATION
    vim -o filename1, ...   Open multiple files in horizontally tiled windows.
    vim -O filename1, ...   Open multiple files in vertically tiled windows.
    vim -p filename1, ...   Open multiple files in separate tabs.

---
## HELP
    :help command   Split screen help
    Ctrl-J          Follow link
    Ctrl-T          Go back

---
## MODES / EDITING
    .               Repeat previous command.
    <Esc>           Enter command mode.
    i a             Enter insert mode before / after the cursor.
    I A             Enter insert mode at the beginning / end of the current line.
    o O             Enter insert mode in a new line under/above the current line.
    r               Replace character under cursor and return to command mode.
    R               Enter overtype (replace) mode.
    C               Change the rest of the current line.
    c               Change (retype) command. Follow with a movement command.
    cc              Deletes the current line to register " and enters insert mode.
    cw              Deletes the current word to register " and enters insert mode.
    c$              Change the rest of the current line.
    s               Substitute the character under cursor and enter insert mode.
    S               Delete line at cursor and substitute text (same as cc)
    :               Enter ex mode.
    !               Enter shell filter mode.
    Ctrl-o command  Quick command in insert mode
    Ctrl-R "        Paste in insert mode
    J               Join line with following.

---
## VISUAL MARKING MODES
                    You can start in one visual mode and enter another,
                    and continue to mark.
                    The marked area becomes a context for other commands.
                    Use the r command and letter X to change every
                    character in the marked area to X.
                    Use the marked area for the ex commands.
    v               Start visual mode, mark lines, then do command (such as y-yank)
                    Enter visual mode, mark character-wise.
                    Use to select text.
                    Press v again to cancel out the visual marking.
    V               Start Linewise visual mode
                    Enter visual mode, mark line-wise.
    Ctrl+v          Start visual block mode
                    Press V again to cancel this mode.
    ^v              Enter visual mode, mark column-wise.
    gv              Re-mark the area last marked.
    ggVG            Mark the entire document.
    o               Move to other end of marked area
    O               Move to Other corner of block
    aw              Mark a word
    ab              A () block (with braces)
    aB              A {} block (with brackets)
    ib              Inner () block
    iB              Inner {} block
    Esc             Exit visual mode

---
## REGISTERS
    :registers      List of registers
    "+ "*           clipboard register / selection buffer
    "               The unnamed or default register.
    a-z,A-Z         The lowercase and uppercase letter registers.
    +               The system default register (the normal cut/paste one).
    _               The black hole, essentially /dev/null,
                    use to avoid wiping out the " register.
    (examples)
    dd              Delete the current line into the default " register.
    "add            Delete the current line into register a.
    "y$             Yank the current character to the end of the line into
                    register y.
    "byy            Yank the current line into register b.
    "c24dd          Literally: into register c, 24 times delete the current line.

---
## MOVEMENT
      k             Up one character.
    h   l           Left / Right one character.
      j             Down one character.

    b w             Move backward / forward to the start of the next word.
    B W             Move backward / forward to the start of the next
                    space-terminated word (ignore punctuation).
                    or backward / forward one word if already at start.
    e               Move to the end of word, or to next word if already at end.
    E               Move to the end of space-terminated word, ignoring punctuation.

    0 $             Move to the start /end of the line.

    %               Move to matching brace, paren, etc.
    { }             Move to start / end (first empty line) of paragraph.
    ( )             Move to start of sentence / of next sentence
                    (separator is both period and space).
    [[ ]]           Move to next / previous function (c/c++/java/python).

    H M L           Move to the first line / middle / last line of the screen.
    <n>H            Move to line n from start of the screen.
    <n>L            Move to line n from bottom of the screen.
    ^               Move to the first non-whitespace character on the line.

    ^f              Move forwards one page.
    ^b              Move backwards one page.

    gg G            Go to beginning /end of file.
    <n>gg           Go to line n.
    <n>G            Go to line n.
    :<n>            Go to line n.

    <n>%            Go to nth percentage of file.
    <n>|            Go to column n of current line.

    *               Move to the next instance of word under cursor,
                    and highlight all uses.
    #               Move to the previous instance of word under cursor.
    ''              Move to the location of your last edit in the current file.

---
## SCROLLING
    Ctrl-E Ctrl-Y   scroll window down / up
    zt zz zb        Scroll the cursor to top / middle / bottom of page.

---
## JUMPING WITH THE CURSOR
    :changes        changelist
    g;              older
    g,              newer position in the changelist
    :jumps          jumplist
    Ctrl-I Ctrl-O   forward / back in jumplist

---
## SEARCHING
    / ?             Search forward / backward, will prompt for a regex pattern.
                    Press enter to accept position.
    n               Repeat last search.
    N               Repeat last search but in the opposite direction.
    tx              Move to letter x, stopping just before x.
                    Useful for change/delete commands.
    fx              Find letter x, stopping on the letter x.
                    Useful for change/delete commands.
    [i [I           Show first / every line containing word under cursor.
    :g/pattern/     Show every line matching the regex pattern.

    :<r>s/foo/bar/<a>
                    Substitute foo with bar,
                    <r> determines the range, can be:
                        nothing (work on the current line only),
                        number (work on the line whose number you give),
                        % (the whole file).
                    <a> determines the arguments, can be:
                        g (replace all occurences in the line
                           without only replaces the first occurence in each line)
                        i (ignore case for the search pattern)
                        I (dont ignore case)
                        c (confirm each substitution, you can type
                            y to substitute the current match,
                            a to substitute this and all remaining matches, or
                            q to quit substitution).
    (examples)
    :452/foo/bar/   Replace the first occurence of foo with bar on line 452.
    :s/foo/bar/g    Replace every occurence of foo with bar on the current line.
    :%s/foo/bar/g   Replace every occurence of foo with bar in the whole file.
    :%s/foo/bar/gi  Same as above, but ignore case.
    :%s/foo/bar/gc  Confirm every substitution.
    :%s/foo/bar/c   For each line on the file, replace the first occurence of foo
                    with bar and confirm every substition.

---
## UNDO/REDO
    u               Undo last command.
    U               Undo all the latest changes made to the current line.
    CTRL-r          Redo.

---
## CUT (DELETE), COPY (YANK), PASTE
    x               Delete character under cursor.
    xp              Transpose two letter (delete and paste, technically)
    X               Delete character before the cursor (same as backspace).
    d               Delete selected text.
    dd              Delete line and put it into the default register.
    :d              Same as above.
    y               Yank selected text.
    yy              Yank line.
    :y              Same as above.
    Y               Same as above.
    p P             Paste contents of default register after / before cursor.
    ^r              In insert mode, reads data from a register and pastes
                    it, continuing in insert mode.

---
## COMPLETION
    ^n              In insert mode, complete a word (forward through choice list).
    ^p              In insert mode, complete a word (backward through choice list).
    ^x^l            In insert mode, complete a line.
    ^x^f            File name completion.
    ^x^k            Dictionary completion. Enable the dictioary by adding the line
                        set dictionary+=/usr/share/dict/words
    :ab ab1 ab2     Set abbreviation. After this, while in insert mode, ab1 will be
                    expanded into ab2 immediately after typing.
    :ab teh the     A common error is fixed automatically.

---
## INDENTING
    <               Left-shift  (requires a movement command, works on whole lines).
    >               Right-shift (requires a movement command, works on whole lines).
    <}              Move a paragraph to the left.
    3>>             Shift three lines right.
    5>>             Indent 5 lines from line where cursor stands
    ^T              In insert/overwrite mode, indent.
    ^D              In insert/overwrite mode, dedent.

---
## CODE REFORMATTING
    %!astyle        Restyle the entire file with astyle (a reformatting program).
    %!indent        Restyle the entire file with indent (a nice older program).
    gqq             Re-wrap the current line (a double-jump).
    gqj             Re-wrap the current line and the line following.
    gq}             Re-wrap lines from the current line to the end of the paragraph.
    :retab          Retabbing converts tab stops to spaces, and ensures correct
                    indentation for each.
                    Set the tabstop variable to the correct setting, set expandtab,
                    and issue :retab command.
                    Vim can wrap the text as you type, via the linebreak, textwidth,
                    and autoindent settings.
    ~               Change the case of the character under the cursor.
                    Works in visual mode.

---
## CTAGS
    !ctags -R *     Run ctags (better to do this in the makefile).
    ^]              Jump to the definition of the term under the cursor.
    ^t              Pop the browsing stack, return to the previous location.

---
## VISUAL BLOCKS
    Visual blocks are one of those features that you won't find in a GUI text
    editor.
    They let you mark blocks of text and do editing operations on them.
    To enter visual blocks mode, press Ctrl+v, then use HJKL or arrow keys to
    highlight a block of text.
    Now operate on the first highlighted line as if you were in normal mode,
    and operations will be reflected on other highlighted lines.
    For example, to indent a block of text with > characters (to make it look
    like a text being replied to), highlight the first column of characters in
    visual blocks mode, then press Shift+i to switch to insert mode at the
    beginning of the line.
    Insert a > in the first line and press Ctrl+c.
    A > will be prepended to all other highlighted lines.
    This feature is also useful for commenting blocks of code, by prepending
    lines with // or #.

---
## CODE FOLDING
    zf#j            creates a fold from the cursor down # lines.
    zf/string       creates a fold from the cursor to string.
    zj              moves the cursor to the next fold.
    zk              moves the cursor to the previous fold.
    zo              opens a fold at the cursor.
    zc              To close it back, press zc.
    zO              opens all folds at the cursor.
    zm              increases the foldlevel by one.
    zM              closes all open folds.
    zr              decreases the foldlevel by one.
    zR              decreases the foldlevel to zero -- all folds will be open.
    zd              deletes the fold at the cursor.
    zE              deletes all folds.
    [z              move to start of open fold.
    ]z              move to end of open fold.

    zf5j            Fold 5 lines.
    kvggzf          Fold everything from the beginning up to the current line.
    zfa}            To fold a code block marked by braces { },
                    move the cursor into the block and press zfa}.

    See :help z
        :help fdm

        set foldmethod=marker

        At the beginning of a function fragment, you can type ‘zfap’ to create a
        fold; this should add some {{{ }}} tags around your code in the comment of
        choice for the language you’re coding in.
        You can type ‘zo’ to open a fold, or I can just hit the right arrow key on
        the folded code marker.
        You can type ‘zc’ to close a fold.
        You can type ‘zr’ to open all folds.
        You can type ‘zm’ to close all folds.

---
## MACROS (complex-repeat)
    q               Enter macro recording mode by pressing the command q, followed
                    by a register into
                    which the macro will be stored.
                    Any of the alphabetic upper or lower case keys, and any of the
                    digits may be used.
                    Every keystroke will be recorded into the macro until you press
                    the q key again.
    @               To replay a macro, use the @ key followed by a register name.
                    Once a macro is replayed, the undo key will see that macro as a
                    single action.
    @@              Vim remembers the macro you just replayed, and can repeat it
                    with the double-jump.
                    The dot command will also see it as a single action.
                    The recorded macros are just text in a register.
                    They can be pasted into a document, edited, yanked back into
                    the register, etc.
    (examples)
    qa              Start recording the macro to register a.

---
## SPELL CHECKING
    Turn on spellchecking with :set spell and turn off with :set nospell.

    ]s [s           move to the next / previous mispelled word
    zg              add a word to the dictionary
    zug             undo the addition of a word to the dictionary
    z=              view spelling suggestions for a mispelled word
    :help spell

---
## BOOKMARKS
                    Vim allows you to set a bookmark con a line, and jump from one
                    bookmark to another.
                    You can use any letter for a bookmark.
                    Lower-case letters set a file-specific bookmark.
                    'a in one file will take you to a different place than in
                    another file.
                    Upper-case letter set global bookmarks.
                    'A will take you to the line you marked in the file you marked
                    it, it loads the
                    marked file in the current window.
    mx              Put bookmark x at the current line.
    'x              Jump to bookmark x.

---
## FILE MANAGEMENT
    :w              Save.
    :w filename     Save a copy of the file you are editing as filename.
    :wa             Save all windows.
    :q              Quit.
    :qa             Quit all windows.
    :q!             Quit without saving.
    :wq             Save and quit.
    :x              Save and quit. If no changes were made, Vim exits without
                    writing the file.
    ZZ              Save changes and quit current window.
    :o filename     Open file in current buffer.
    :e filename     Open file in new buffer. Tab will autocomplete filenames.
    :e!             Reload file from disk discarding changes.
    :e#             Return to the previous window.
    gf              Goto filename under cursor

---
## BUFFER MANAGEMENT
    :buffers        List buffers
    :bn :bp         Next / previous buffer.
    :bd             Delete a buffer (close a file).

---
## WINDOW MANAGEMENT
    :sp filename    Splits window horizontally and loads filename in the new window.
    :vs filename    Splits window vertically and loads filename in the new windows.

    ^Wh ^Wj ^Wl ^Wk Move to window above / below / left / right.
    ^Wc             Close current window.
    ^Wo             Close all windows except current window.
    ^Wf             Place the cursor on a filename, and issue this command while in
                    normal mode. The file will be loaded into a new window.
    ^W+             Increases the size of the current split by one line.
                    Try combining this with counts.
    ^W-             Decreases the size of the current split by one line.
    ^W_             Maximize the current split.
    :ls

---
## TABS
    :tabe           Open a file in a new tab.
    Ctrl-W T        Move current split window into its own tab.

    gt              Go to the next tab.
    :tabn
    :tabnext
    CTRL-PageDown

    gT              Go to the previous tab.
    :tabp
    :tabprev
    CTRL-PageUp

    Ngt             Go to tab N.
    :tabr           Go to the first tab.
    :tabl           Go to the last tab.

    :tabc           Close tab.
    :tabclose

    :tabo           Close all tabs except current one.
    :tabonly

    :tabm <n>       Move tab to position <n>.
    :tabmove <n>

---
## VIMRC
    :options
    :browse options
    :browse set

---
## SHELL FILTERING
    !!command  Pass current line only through filter.
    !}command  Pass area from current lint through end of paragraph through filter.
    !Gcommand  Pass are form current line through end of file through filter.
    :%!command Pass the entire file through filter.

---
## FILE EXPLORER
    Edit a directory.

    o               Open file in a horizontal split window.
    v               Open file in a vertical split window.
    i               Show more info.
    s               Sort by column under cursor.
    r               Sort in reverse order.
    D               Delete file.
    d               Make new directory.
    <Enter>         Open file in current window.

---
## MISCELANEOUS TRICKS
    :g/^#/d                 Delete all lines that begins with #
    :g/^$/d                 Delete all lines that are empty and contain no tabs
    :g/^\s*$/d              Delete all lines that are empty
    :%s/$/{ctrl-V}{CR}/g    Inserts blank line between lines
    :%s/{TAB}*$//           Strip tabs at end of line
    :g/<pattern>/t$         Copy every line which matches pattern to the end of the
                            file

---
## VIM MACROS
    :%!column -t

    :%!sort -k1

    Matsumoto  Yukihiro  Ruby   1965  Japan
    Moolenar   Bram      Vim    1961  Netherlands
    Ritchie    Dennis    C      1941  USA
    Stallman   Richard   GNU    1953  USA
    Thompson   Ken       Unix   1943  USA
    Tridgell   Andrew    Samba  1967  Australia
    Wall       Larry     Perl   1954  USA

    suppose we’ve got the task of replacing the fourth column of this table with
    the approximate age of the person, which we can get naturally enough by
    substracting their birth year from the current year.
    This is a little awkward to do in pure ex, so we’ll record a macro for doing
    it on one line.

    03wdei^R=2013-^R"^M^[0j

    0           — Move to the start of the line
    3w          — Skip three words, in this case to the fourth column
    de          — Delete to the end of the word
    i           — Enter insert mode
    ^R=         — Insert the contents of the special = register, which accepts
                  an expression to evaluate
    2012-^R"^M  — Enter the expression 2012-(birth year) and press Enter
                  (literal ^M), which completes the operation, and inserts the
                  result
    ^[          — Leave insert mode
    0           — Return to the start of the line
    j           — Move down a line

    The only thing that’s slightly voodoo (and certainly not vi-compatible) is
    the arithmetic done with the special = register. You can read about that in
    :help @=, if you’re curious.

### REPEATING MACROS
    As a first very simple hint, if you’re running a macro several times, don’t
    forget that you can prepend a count to it; in our case, 6@a would have fixed
    up all the remaining lines. To take advantage of this, it’s good practice to
    compose your macros so that they make sense when run multiple times; in the
    example above, note that the end of the macro is moving down onto the next
    line, ready to run the macro again if appropriate.

    Similarly, if you’ve already run a macro once, you can run the same one
    again by just tapping the @ key twice, @@. This repeats the last run macro.
    Again, you can prepend a count to this, @a5@@

### TRUE NATURE OF MACROS
    you needn’t restrict yourself to the single-keystroke vi commands for Vim
    when you compose macros. You can include ex commands as well, for example
    to run a substitution during a macro:

    qb:s/foo/bar/g^Mq
    @b

    all of the operations that you can apply to registers in general work with
    what we normally call macros, with the old standards, delete, yank, and
    paste You can test this with the example macro demonstrated above, by typing
    "ap,
    which will dump the raw text straight into the buffer.
    Also like other registers, it’ll show up in the output of the :registers
    command.

### EDITING VIM MACROS IN A BUFFER
    suppose I realise partway through writing it that I made a mistake in
    typing 2011 instead of 2012.
    I finish recording the rest of the macro anyway, and dump the broken
    keystrokes into a new scratch buffer:

    :enew
    "ap

    This gives me the contents of the macro in plain text in the buffer:

    qa03wdei^R=2011-^R"^M^[0jq

    So now all I have to do is change that bad year to 2012, and then yank the
    whole thing back into register a:

    ^"ay$

    Now I can test it directly with @a on the appropriate file, and if it’s
    still wrong, I just jump back to my scratch buffer and keep fixing it up
    until it works.

    One potential snag here is that you have to enter keystrokes like Ctrl+R as
    literal characters, but once you know you can enter any keystroke in Vim
    literally in insert or command mode by prefixing it with Ctrl+V, that isn’t
    really a problem. So to enter a literal Ctrl+R in insert mode, you type
    Ctrl+V, then Ctrl+R.

### RUNNING A VIM MACRO ON A SET OF LINES
    It’s occasionally handy to be able to run a macro that you’ve got ready on a
    specific subset of lines of the file, or perhaps just for every line.
    Fortunately, there’s a way to do this, too.

    Using the :normal command, you’re able to run macros from the ex command
    line:

    :normal @a
    All it takes is prefixing this with any sort of range definition to allow
    you to run a macro on any set of lines that you’re able to define.

    Run the macro on each line of the whole buffer:

    :% normal @a
    Between lines 10 and 20:

    :10,20 normal @a
    On the lines in the current visual selection:

    :'<,'> normal @a
    On the lines containing the pattern vim:

    :g/vim/ normal @a
    When you get confident using this, :norm is a nice abbreviation to use.

### MOVING A VIM MACRO INTO A FUNCTION
    For really useful macros of your own devising, it’s occasionally handy to
    put it into a function for use in scripts or keystroke mappings.
    Here again the :normal command comes in handy.

    Suppose I wanted to keep the age calculation macro defined above for later
    use on spreadsheets of this kind.
    I’d start by dumping it into a new buffer:

    :enew
    "ap
    The macro appears as raw text:

    03wdei^R=2012-^R"^M^[0j
    I prefix it with a :normal call, and wrap a function definition around it:

    function! CalculateAge()
        normal 03wdei^R=2012-^R"^M^[0j
    endfunction
    Then all I need to do is include that in a file that gets loaded during
    Vim’s startup, possibly just .vimrc. I can call it directly from ex:

    :call CalculateAge()
    But given that I wanted it to be a quick-access macro, maybe it’s better to
    bind it to \a, or whatever your chosen <leader> character is:

    nnoremap <leader>a :call CalculateAge()<CR>
    Saving a Vim macro

    If you want to have a macro always available to you, that is, always loaded
    into the appropriate register at startup, that can be done in your .vimrc
    file with a call to let to fill the register with the literal characters
    required:

    let @a='03wdei^R=2012-^R"^M^[0j'

### APPENDING EXTRA KEYSTROKES TO A VIM MACRO
    If you just want to tack extra keystrokes onto an existing macro and don’t
    care to edit it in a Vim buffer, you can do that by recording into it with
    its capital letter equivalent. So, if you wanted to add more keystrokes
    into the register b, start recording with qB, and finish with the usual q.

### RECURSIVE VIM MACROS
    If you’re crazy enough to need this, and I never have, there’s an excellent
    Vim Tip for it. But personally, I think if you need recursion in your text
    processing then it’s time to bust out a real programming language and not
    Vimscript to solve your problem.

    If the issue for which you think you need recursion is running a macro on
    every line of a buffer with an arbitrary number of lines, then you don’t
    need recursion; just record a one-line version of the macro and call it
    with :% normal @a to run it on every line.

### VIM MACRO GOTCHAS
    Here are a few gotchas which will save you some frustration if you know
    about them ahead of time:

    When you have a hammer, everything starts to look like a nail. Don’t try to
    solve problems with macros when there are better solutions in the ex
    command set, or available in external programs. See the Vim koans page for a
    couple of examples.
    You need to insert keystrokes like Enter as literal Ctrl+M, so that they
    look like ^M. The convenience abbreviations in mappings, like <CR>, simply
    don’t work. You’re likely to find yourself chording Ctrl+V a lot.
    Macros tend to stop, sometimes for apparently no reason and with no warning
    messages, as soon as they hit some sort of error. One particularly annoying
    instance of this is when you’re performing several substitutions in a macro,
    because if it doesn’t find any instances of a pattern it will throw an error
    and stop executing. You can prevent this by adding the e flag to the
    substitution call:

    :s/foo/bar/e

---
## PLUGINS
    ctags

    With the ":tag" command the cursor will be positioned on the tag.  With the
    CTRL-] command, the keyword on which the cursor is standing is used as the
    tag.  If the cursor is not on a keyword, the first keyword to the right of the
    cursor is used.

    The ":tag" command works very well for C programs.  If you see a call to a
    function and wonder what that function does, position the cursor inside of the
    function name and hit CTRL-].  This will bring you to the function definition.
    An easy way back is with the CTRL-T command.  Also read about the tag stack
    below.

    *:ta* *:tag* *E426* *E429*

    :[count]ta[g][!] {ident}
                Jump to the definition of {ident}, using the
                information in the tags file(s).  Put {ident} in the
                tag stack.  See |tag-!| for [!].
                {ident} can be a regexp pattern, see |tag-regexp|.
                When there are several matching tags for {ident}, jump
                to the [count] one.  When [count] is omitted the
                first one is jumped to. See |tag-matchlist| for
                jumping to other matching tags.

    <C-LeftMouse>
                *<C-LeftMouse>* *CTRL-]*

    CTRL-]      Jump to the definition of the keyword under the
                cursor.  Same as ":tag {ident}", where {ident} is the
                keyword under or after cursor.
                When there are several matching tags for {ident}, jump
                to the [count] one.  When no [count] is given the
                first one is jumped to. See |tag-matchlist| for
                jumping to other matching tags.
                {Vi: identifier after the cursor}
    CTRL+[      Navigate to tag under cursor.

    :tag <tag name>
    Navigate to named tag.
    :pop
    Tag jumps are saved on a stack; this command pops the top of the stack and
    returns to the previous cursor position.
    :tnext
    For tags that resolve to multiple source locations, jumps to the next such
    location.
    :tprev
    Idem, but jumps to previous such location.

    Now you need to configure taglist.vim, this can be done like this:

    let Tlist_Ctags_Cmd = "/usr/bin/ctags"
    let Tlist_WinWidth = 50
    map <F4> :TlistToggle<cr>

    map <F8> :!/usr/bin/ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>

    This builds tags libs for the current working directory (it's super fast).

    Once you have build tags, you can browse them using builtin functions.
    Here are some examples:

    :tag getUser => Jump to getUser method
    :tn (or tnext) => go to next search result
    :tp (or tprev) => to to previous search result
    :ts (or tselect) => List the current tags
    => Go back to last tag location
    +Left click => Go to definition of a method





    1. Navigate to function definition by specifying the function name using :ta
    2. Navigating to the function definition from ‘function call’ using Ctrl + ]
    3. Returning back again to function call from the definition using Ctrl + t
    4. Navigating through a list of function names which has the similar names
    :ta /^get

    Following vim commands can be used to navigate through relevant functions

    :ts – shows the list.
    :tn – goes to the next tag in that list.
    :tp - goes to the previous tag in that list.
    :tf – goes to the function which is in the first of the list.
    :tl – goes to the function which is in the last of the list.

    1. Open the Tag List Window in Vim using :TlistOpen

    # vim mycprogram.c
    :TlistOpen

    3. Jump to the function definition which is in another source file

    When you are going through a function in a source file and would want to go to
    the function definition which is in another file, you can do this in two
    different methods.

    Method 1:
    If you had the ctags generated for that file, when the cursor is in the function
    call pressing CTRL + ] will take you to the function definition.
    And automatically the tag list window will show the tags for that newly opened
    file.

    Method 2:
    Open another file also in the same vim session which will update the tag list
    window with the information about that file. Search for that function name in
    the tag list window, and by pressing <CR> on that function name in the tag list
    window you can go to the function definition..


    4. Viewing the prototype/signature of functions or variables.

    Press ‘space’ in the function name or in the variable name in the tag list
    window to show the prototype (function signature) of it in the VIM status bar
    as shown below. In the example below, click on selectDumpableTable function from
    the Tag-window and press space-bar, which displays the function signature for
    selectDumptableTable function in the bottom Vim Status bar.

    5. Viewing the total number of functions or variables in a source code file

    press ‘space’ in the tag type in the tag list window, which shows the count of
    it. In the example below, when the cursor is at ‘function’ press space, which
    will display the total number of functions in the current source code.

    C-] - go to definition
    C-T - Jump back from the definition.
    C-W C-] - Open the definition in a horizontal split

    Add these lines in vimrc
    map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>
    map <A-]> :vsp <CR>:exec("tag ".expand("<cword>"))<CR>

    C-\ - Open the definition in a new tab
    A-] - Open the definition in a vertical split

    After the tags are generated. You can use the following keys to tag into and
    tag out of functions:

    Ctrl-Left_MouseClick - Go to definition
    Ctrl-Right_MouseClick - Jump back from definition



    Another useful plugin for C development is cscope Just as Ctags lets you jump
    to definitions, Cscope jumps to the calling functions.

    If you have cscope in your ~/bin/ directory, add the following to your .vimrc
    and use g^] to go to the calling function (see :help cscope).

    if has("cscope")
        set csprg=~/bin/cscope
        set csto=0
        set cst
        set nocsverb
        " add any database in current directory
        if filereadable("cscope.out")
            cs add cscope.out
            " else add database pointed to by environment
        elseif $CSCOPE_DB != ""
            cs add $CSCOPE_DB
        endif
    endif

    Almost forgot... Just as ctags - you have to generate (and periodically update)
    the database. I use the following script

    select_files > cscope.files
    ctags -L cscope.files
    ctags -e -L cscope.files
    cscope -ub -i cscope.files

    Where 'select_files' is another script that extracts the list of C and header
    files from the Makefile. This way I index only the files actually used by the
    project.

---
## TIPS
    --------------------------------------------------------------------------------
    Join all paragraphs in a file,
    without deleting the blank lines separating paragraphs

        Make sure the file ends in a blank line.
        :g/^./ .,/^$/-1 join

    --------------------------------------------------------------------------------
    Character search is near-instant for moving within a line

    The f, F, t, T, ;, and , commands make up the suite of character search motions.
    When you press f{char}, Vim looks forward from the cursor position for the next
    occurrence of {char} on the current line. If it finds a match, the cursor moves
    directly there. If no match is found, nothing happens.

    If your cursor stopped on a match before the one you were aiming for, press ; to
    repeat the search. Keep pressing ; until you hit your mark. If you overshoot,
    press , to reverse the search.

    --------------------------------------------------------------------------------
    Commenting a block of Python code

    Alternative 1:
        C-v
        <move around selecting text>
        I
        #
        Esc

        j is cursor down, so he's just selecting down 3 lines while in visual block
        mode.
        Shift+i means insert before the first non-whitespace character on the line,
        but it has a sort of special-case use while in visual mode, in that it will
        insert before the block selection on all lines thereof. # is just inserting
        the # character. Esc ends the visual mode, and also finalizes the insertion
        from shift+i, which also inserts the # in the right place on the remaining
        lines before it finishes.

        To uncomment:
        ctrl+v over the top #
        <move around selecting text>
        x

    Alternative 2:
        Mark the block you want to comment, then type
        :s/^/#/
        That replaces the start of each line with a #.
        To uncomment, mark the block again, and do
        :s/.//
        This replaces the first character of each line with nothing.

    Alternative 3:
        I put this in my .vimrc

        map ^V^_ a^V^_^V^[
        map ,4 :s/^/\/\//g<CR>
        map ,3 :s/^/##/g<CR>
        map .4 :s/^\/\///g<CR>
        map .3 :s/^##//g<CR>
        " wrapping comments
        map ,* :s/^\(.*\)$/\/\* \1 \*\//<CR>
        map ,( :s/^\(.*\)$/\(\* \1 \*\)/<CR>
        map ,< :s/^\(.*\)$/<!-- \1 -->/<CR>
        map .< :s/^\(.*\)$/<!-- \1 -->/<CR>
        map ,d :s/^\([/(]\*\\|<!--\) \(.*\) \(\*[/)]\\|-->\)$/\2/<CR>

        So that if I want to comment one line, while in command mode I
        type ,3 for ## comments, then to uncomment I type .3
        If I'm on the top line of a bock of code, that is say 7 lines
        deep I type 7,3 which would comment out 7 lines of code.

    Alternative 4:
        I used comment.vim. It's very nice as you can select lines and
        toggle commenting on/off.
        Very easy to use. Type "co" in command mode.
        Works on single lines, visual blocks, etc.
        You can also add custom comment tags (see end of .vim file)

    --------------------------------------------------------------------------------
    Remove unwanted spaces

    Alternative 1: Simple commands to remove unwanted whitespace

        In a search,
        \s finds whitespace (a space or a tab),
        \+ finds one or more occurrences.

        :%s/\s\+$//     Delete all trailing whitespace (at the end of each line)
        :%s/^\s\+//     Delete whitespace at the beginning of each line.
        :%le            Same thing (:le = :left = left-align given range):

        With the following mapping you can press F5 to delete all
        trailing whitespace.
        The variable _s is used to save and restore the last search
        pattern register (so next time you press n you will continue your
        last search), and :nohl is used to switch off search highlighting
        (so trailing spaces won't be highlighted while you are typing).
        The e flag is used in the substitute command so no error is shown
        if trailing whitespace is not found.

        :nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR>

    Alternative 2: Display or remove unwanted whitespace with a script

        Here is a more elaborate procedure that can display or remove
        unwanted whitespace.
        Here, "unwanted" means any spaces before a tab character, or any
        space or tab at the end of a line.

            function ShowSpaces(...)
              let @/="\\v(\\s+$)|( +\\ze\\t)"
              let oldhlsearch=&hlsearch
              if !a:0
                let &hlsearch=!&hlsearch
              else
                let &hlsearch=a:1
              end
              return oldhlsearch
            endfunction

            function TrimSpaces() range
              let oldhlsearch=ShowSpaces(1)
              execute a:firstline.",".a:lastline."substitute ///gec"
              let &hlsearch=oldhlsearch
            endfunction

            command -bar -nargs=? ShowSpaces call ShowSpaces(<args>)
            command -bar -nargs=0 -range=% TrimSpaces <line1>,<line2>call TrimSpaces()
            nnoremap <F12>     :ShowSpaces 1<CR>
            nnoremap <S-F12>   m`:TrimSpaces<CR>``
            vnoremap <S-F12>   :TrimSpaces<CR>

    Alternative 3: An alternative function simulating manual steps:

        However, this has minor side-effects, such as influencing undo
        history and sometimes changing scroll position.

            function StripTrailingWhitespace()
              if !&binary && &filetype != 'diff'
                normal mz
                normal Hmy
                %s/\s\+$//e
                normal 'yz<CR>
                normal `z
              endif
            endfunction

    Alternative 4: Automatically removing all trailing whitespace

        Just put the following line in your vimrc file.
        Everytime you issue a :w command, Vim will automatically remove
        all trailing whitespace before saving.

        autocmd BufWritePre * :%s/\s\+$//e

        This is a very dangerous autocmd to have! This will *always*
        strip trailing whitespace from *every* file you save.
        Sometimes, trailing whitespace is desired, or even essential!
        For example, if in your .vimrc you have the following:

            set wrap
            set linebreak
            " note trailing space at end of next line
            set showbreak=>\ \ \

        then saving your .vimrc will make it use ">  \" instead of
        ">   " to prepend to wrapped lines!

        Remember you can also specify filetype

            autocmd BufWritePre *.pl :%s/\s\+$//e

        or how about having this operate when you enter the file:

            autocmd BufEnter *.php :%s/\s\+$//e

        And let's get rid of those pesky ^M at the same time

            autocmd BufEnter *.php :%s/[ \t\r]\+$//e

        With a ":call" instead of ":%s" (keep last used search/replace)
        and using FileType:

            autocmd FileType c,cpp,java,php autocmd BufWritePre <buffer> :call setline(1,map(getline(1,"$"),'substitute(v:val,"\\s\\+$","","")'))

    Comments

    ********************************************************************************
    Here's what I use in my .vimrc:

        " Removes trailing spaces
        function TrimWhiteSpace()
          %s/\s*$//
          ''
        :endfunction

        set list listchars=trail:.,extends:>
        autocmd FileWritePre * :call TrimWhiteSpace()
        autocmd FileAppendPre * :call TrimWhiteSpace()
        autocmd FilterWritePre * :call TrimWhiteSpace()
        autocmd BufWritePre * :call TrimWhiteSpace()

        map <F2> :call TrimWhiteSpace()<CR>
        map! <F2> :call TrimWhiteSpace()<CR>

    ********************************************************************************
    My preferred setting of list and listchars:

        set list listchars=tab:»·,trail:·

    Or try

        set list lcs=tab:·⁖,trail:¶

    ********************************************************************************

    There is one occasion where I want to keep my trailing space.
    But even in those documents, I want to keep it in only one place, and not every
    occurrence.

    Here is my substitution pattern:

        s/\(^--\)\@<!\s*$//

    This will eliminate all trailing whitespaces except for the one in an email
    signature marker (-- ).
    In the function in the tip, this expands to:

        execute a:firstline.",".a:lastline."substitute /\\(^--\\)\\@<!\\s*$//ge"

    Also, I've found the autocmds to work better like this:

        autocmd FileWritePre * :TrimSpaces
        autocmd FileAppendPre * :TrimSpaces
        autocmd FilterWritePre * :TrimSpaces
        autocmd BufWritePre * :TrimSpaces

    (taking advantage of the default range defined in Betram's command definition)

    I modified one of the above scripts to let the user know if whitespace was found

        " automatically remove trailing whitespace before write
        function! StripTrailingWhitespace()
          normal mZ
          %s/\s\+$//e
          if line("'Z") != line(".")
            echo "Stripped whitespace\n"
          endif
          normal `Z
        endfunction
        autocmd BufWritePre *.cpp,*.hpp,*.i :call StripTrailingWhitespace()

    --------------------------------------------------------------------------------
    Did you know... http://vim.wikia.com/wiki/Did_you_know

    May 2010

      @: will repeat a colon (Ex) command (and @@ will repeat again).
      You can use :g/^\s*$/;//-1sort to sort each block of lines in a file.
      It's useful to map . .`[ to repeat the last command and put the cursor at
      start of change.
      You can open a web browser with the URL in the current line.
      With --remote-send you can close a Vim you left open remotely.
      If you're used to Perl regex, you can use Perl compatible regular expressions.
      In insert mode, Ctrl-Y inserts the character above. You can make it insert the
      word above.
      A user-defined command can evaluate :Calc sin(pi/2).
      It's sometimes better to not use the slash delimiter for :s/old/new/.
      You can drag & drop one or more files into gvim.

    April 2010

      zz scrolls the current line to the middle of the screen; scrolloff can keep it
      there.
      Vim can do calculations using Python, Perl or bc.
      You can wrap long lines while moving the cursor by screen lines.
      A tricky search can find text that does not match.
      Pressing % jumps to a matching bracket, aof the number column.
      It's easy to change text between lowercase and UPPERCASE.
      The command history allows you to repeat several commands, possibly after
      editing them.

    March 2010

      Vim tutorials has videos illustrating simple and advanced topics.
      Use % to jump to the matching bracket, and more.
      Use :lcd %:p:h to change directory to the file in the current window.
      ga shows the ascii value of the current character.
      You can list changes to the current file, even old changsy to count the words
      in a file or block.
      You can even make a frequency table counting the occurrences of each word!

    February 2010

      Vim tutorials has videos illustrating simple and advanced topics.
      You can press * to search for the current word.
      Ctrl-A can increment numbers.
      After typing a couple of characters, you can complete a word with
      Ctrl-N or Ctrl-P.
      Vim's help use prefixes like v_ (visual mode) to show the context.ckspace and
      other delete keys work in insert mode.
      The 'number' and 'numberwidth' options control the display of line numbers.
      It's easy to change text between lowercase and UPPERCASE.

    January 2010

      Vim tutorials has videos illustrating simple and advanced topics.
      We have an explanation for how :g/^/m0 reverses all lines.
      In a search pattern, \_s matches a space or tab or newline character.
      A script can use a test like &buftype == "quickfix" to check if it is
      operating in the quickfix winduse :nnoremap Y y$.
      A plugin should set its "loaded" variable to show its version, for example
      let g:loaded_dbext = 503.
      We have a short FAQ for new users concerning common issues raised at #vim.
      You can use :cnoremap to map a key to <C-\>e(...)<CR> which will replace the
      command line with the (...) expression.</CR>

    * Save a file you edited in vim without the needed permissions
      :w !sudo tee %

    * Spellchecker
      ':set spell' activates vim spellchecker.
      Use ']s' and '[s' to move between mistakes,
      'zg' adds to the dictionary,
      'z=' suggests correctly spelled words

    * check my .vimrc http://tiny.cc/qxzktw and here http://tiny.cc/kzzktw for more

Vim Options

" Each "set" line shows the current value of an option (on the left).
" Hit <CR> on a "set" line to execute it.
"            A boolean option will be toggled.
"            For other options you can edit the value.
" Hit <CR> on a help line to open a help window on this option.
" Hit <CR> on an index line to jump there.
" Hit <Space> on a "set" line to refresh it.

 1 important
 2 moving around, searching and patterns
 3 tags
 4 displaying text
 5 syntax, highlighting and spelling
 6 multiple windows
 7 multiple tab pages
 8 terminal
 9 using the mouse
10 GUI
11 printing
12 messages and info
13 selecting text
14 editing text
15 tabs and indenting
16 folding
17 diff mode
18 mapping
19 reading and writing files
20 the swap file
21 command line editing
22 executing external commands
23 running make and jumping to errors
24 language specific
25 multi-byte characters
26 various


 1 important

compatible	behave very Vi compatible (not advisable)
 	set nocp	cp
cpoptions	list of flags to specify Vi compatibility
 	set cpo=aABceFs
insertmode	use Insert mode as the default mode
 	set noim	im
paste	paste mode, insert typed text literally
 	set nopaste	paste
pastetoggle	key sequence to toggle paste mode
 	set pt=�k2
runtimepath	list of directories used for runtime files and plugins
 	set rtp=/home/igaray/.vim,/home/igaray/.vim/bundle/Zenburn,/home/igaray/.vim/bundle/ir_black,/home/igaray/.vim/bundle/molokai,/home/igaray/.vim/bundle/nerdtree,/home/igaray/.vim/bundle/omnicppcomplete,/home/igaray/.vim/bundle/prolog,/home/igaray/.vim/bundle/snipmate.vim,/home/igaray/.vim/bundle/vim-colors-solarized,/home/igaray/.vim/bundle/vim-fugitive,/home/igaray/.vim/bundle/vim-markdown,/home/igaray/.vim/bundle/vim-surround,/home/igaray/.vim/bundle/vimerl,/home/igaray/.vim/bundle/xoria256,/usr/share/vim/vimfiles,/usr/share/vim/vim73,/usr/share/vim/vimfiles/after,/home/igaray/.vim/bundle/omnicppcomplete/after,/home/igaray/.vim/bundle/snipmate.vim/after,/home/igaray/.vim/after
helpfile	name of the main help file
 	set hf=/usr/share/vim/vim73/doc/help.txt

 2 moving around, searching and patterns

whichwrap	list of flags specifying which commands wrap to another line
	(local to window)
 	set ww=b,s
startofline	many jump commands move the cursor to the first non-blank
	character of a line
 	set sol	nosol
paragraphs	nroff macro names that separate paragraphs
 	set para=IPLPPPQPP\ TPHPLIPpLpItpplpipbp
sections	nroff macro names that separate sections
 	set sect=SHNHH\ HUnhsh
path	list of directory names used for file searching
	(global or local to buffer)
 	set pa=.,/usr/include,,
cdpath	list of directory names used for :cd
 	set cd=,,
autochdir	change to directory of file in buffer
 	set noacd	acd
wrapscan	search commands wrap around the end of the buffer
 	set ws	nows
incsearch	show match for partly typed search command
 	set is	nois
magic	change the way backslashes are used in search patterns
 	set magic	nomagic
ignorecase	ignore case when using a search pattern
 	set ic	noic
smartcase	override 'ignorecase' when pattern has upper case characters
 	set scs	noscs
casemap	what method to use for changing case of letters
 	set cmp=internal,keepascii
maxmempattern	maximum amount of memory in Kbyte used for pattern matching
 	set mmp=1000
define	pattern for a macro definition line
	(global or local to buffer)
 	set def=^\\s*#\\s*define
include	pattern for an include-file line
	(local to buffer)
 	set inc=^\\s*#\\s*include
includeexpr	expression used to transform an include line to a file name
	(local to buffer)
 	set inex=

 3 tags

tagbsearch	use binary searching in tags files
 	set tbs	notbs
taglength	number of significant characters in a tag name or zero
 	set tl=0
tags	list of file names to search for tags
	(global or local to buffer)
 	set tag=./tags,./TAGS,tags,TAGS
tagrelative	file names in a tags file are relative to the tags file
 	set tr	notr
tagstack	a :tag command will use the tagstack
 	set tgst	notgst
showfulltag	when completing tags in Insert mode show more info
 	set nosft	sft
cscopeprg	command for executing cscope
 	set csprg=cscope
cscopetag	use cscope for tag commands
 	set nocst	cst
cscopetagorder	0 or 1; the order in which ":cstag" performs a search
 	set csto=0
cscopeverbose	give messages when adding a cscope database
 	set nocsverb	csverb
cscopepathcomp	how many components of the path to show
 	set cspc=0
cscopequickfix	when to open a quickfix window for cscope
 	set csqf=
cscoperelative	file names in a cscope file are relative to that file
 	set nocsre	csre

 4 displaying text

scroll	number of lines to scroll for CTRL-U and CTRL-D
	(local to window)
 	set scr=13
scrolloff	number of screen lines to show around the cursor
 	set so=3
wrap	long lines wrap
 	set nowrap	wrap
linebreak	wrap long lines at a character in 'breakat'
	(local to window)
 	set nolbr	lbr
breakat	which characters might cause a line break
 	set brk=\ \	!@*-+;:,./?
showbreak	string to put before wrapped screen lines
 	set sbr=
sidescroll	minimal number of columns to scroll horizontally
 	set ss=0
sidescrolloff	minimal number of columns to keep left and right of the cursor
 	set siso=0
display	include "lastline" to show the last line even if it doesn't fit
	include "uhex" to show unprintable characters as a hex number
 	set dy=
fillchars	characters to use for the status line, folds and filler lines
 	set fcs=vert:\|,fold:-
cmdheight	number of lines used for the command-line
 	set ch=1
columns	width of the display
 	set co=159
lines	number of lines in the display
 	set lines=55
window	number of lines to scroll for CTRL-F and CTRL-B
 	set window=54
lazyredraw	don't redraw while executing macros
 	set lz	nolz
redrawtime	timeout for 'hlsearch' and :match highlighting in msec
 	set rdt=2000
writedelay	delay in msec for each char written to the display
	(for debugging)
 	set wd=0
list	show <Tab> as ^I and end-of-line as $
	(local to window)
 	set list	nolist
listchars	list of strings used for list mode
 	set lcs=tab:▸\ ,eol:¶
number	show the line number for each line
	(local to window)
 	set nu	nonu
relativenumber	show the relative line number for each line
	(local to window)
 	set nornu	rnu
numberwidth	number of columns to use for the line number
	(local to window)
 	set nuw=4
conceallevel	controls whether concealable text is hidden
	(local to window)
 	set cole=0
concealcursor	modes in which text in the cursor line can be concealed
	(local to window)
 	set cocu=

 5 syntax, highlighting and spelling

background	"dark" or "light"; the background color brightness
 	set bg=light
filetype	type of file; triggers the FileType event when set
	(local to buffer)
 	set ft=
syntax	name of syntax highlighting used
	(local to buffer)
 	set syn=
synmaxcol	maximum column to look for syntax items
	(local to buffer)
 	set smc=3000
highlight	which highlighting to use for various occasions
 	set hl=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn
hlsearch	highlight all matches for the last used search pattern
 	set hls	nohls
cursorcolumn	highlight the screen column of the cursor
	(local to window)
 	set nocuc	cuc
cursorline	highlight the screen line of the cursor
	(local to window)
 	set cul	nocul
colorcolumn	columns to highlight
	(local to window)
 	set cc=
spell	highlight spelling mistakes
	(local to window)
 	set nospell	spell
spelllang	list of accepted languages
	(local to buffer)
 	set spl=en
spellfile	file that "zg" adds good words to
	(local to buffer)
 	set spf=
spellcapcheck	pattern to locate the end of a sentence
	(local to buffer)
 	set spc=[.?!]\\_[\\])'\"\	\ ]\\+
spellsuggest	methods used to suggest corrections
 	set sps=best
mkspellmem	amount of memory used by :mkspell before compressing
 	set msm=460000,2000,500

 6 multiple windows

laststatus	0, 1 or 2; when to use a status line for the last window
 	set ls=2
statusline	alternate format to be used for a status line
 	set stl=%F%m%r%h%w\ FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=%03.3b]\ [HEX=%02.2B]\ [POS=%04l,%04v]\ [LEN=%L]\ [%p%%]
equalalways	make all windows the same size when adding/removing windows
 	set ea	noea
eadirection	in which direction 'equalalways' works: "ver", "hor" or "both"
 	set ead=both
winheight	minimal number of lines used for the current window
 	set wh=1
winminheight	minimal number of lines used for any window
 	set wmh=1
winfixheight	keep the height of the window
	(local to window)
 	set nowfh	wfh
winfixwidth	keep the width of the window
	(local to window)
 	set nowfw	wfw
winwidth	minimal number of columns used for the current window
 	set wiw=20
winminwidth	minimal number of columns used for any window
 	set wmw=1
helpheight	initial height of the help window
 	set hh=20
previewheight	default height for the preview window
 	set pvh=12
previewwindow	identifies the preview window
	(local to window)
 	set nopvw	pvw
hidden	don't unload a buffer when no longer shown in a window
 	set nohid	hid
switchbuf	"useopen" and/or "split"; which window to use when jumping
	to a buffer
 	set swb=
splitbelow	a new window is put below the current one
 	set nosb	sb
splitright	a new window is put right of the current one
 	set nospr	spr
scrollbind	this window scrolls together with other bound windows
	(local to window)
 	set noscb	scb
scrollopt	"ver", "hor" and/or "jump"; list of options for 'scrollbind'
 	set sbo=ver,jump
cursorbind	this window's cursor moves together with other bound windows
	(local to window)
 	set nocrb	crb

 7 multiple tab pages

showtabline	0, 1 or 2; when to use a tab pages line
 	set stal=1
tabpagemax	maximum number of tab pages to open for -p and "tab all"
 	set tpm=10
tabline	custom tab pages line
 	set tal=
guitablabel	custom tab page label for the GUI
 	set gtl=
guitabtooltip	custom tab page tooltip for the GUI
 	set gtt=

 8 terminal

term	name of the used terminal
 	set term=rxvt-256color
ttytype	alias for 'term'
 	set tty=rxvt-256color
ttybuiltin	check built-in termcaps first
 	set tbi	notbi
ttyfast	terminal connection is fast
 	set tf	notf
weirdinvert	terminal that requires extra redrawing
 	set nowiv	wiv
esckeys	recognize keys that start with <Esc> in Insert mode
 	set ek	noek
scrolljump	minimal number of lines to scroll at a time
 	set sj=1
ttyscroll	maximum number of lines to use scrolling instead of redrawing
 	set tsl=999
guicursor	specifies what the cursor looks like in different modes
 	set gcr=n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175
title	show info in the window title
 	set title	notitle
titlelen	percentage of 'columns' used for the window title
 	set titlelen=85
titlestring	when not empty, string to be used for the window title
 	set titlestring=
titleold	string to restore the title to when exiting Vim
 	set titleold=Thanks\ for\ flying\ Vim
icon	set the text of the icon for this window
 	set icon	noicon
iconstring	when not empty, text for the icon of this window
 	set iconstring=

 9 using the mouse

mouse	list of flags for using the mouse
 	set mouse=a
mousefocus	the window with the mouse pointer becomes the current one
 	set nomousef	mousef
mousehide	hide the mouse pointer while typing
 	set mh	nomh
mousemodel	"extend", "popup" or "popup_setpos"; what the right
	mouse button is used for
 	set mousem=extend
mousetime	maximum time in msec to recognize a double-click
 	set mouset=500
ttymouse	"xterm", "xterm2", "dec" or "netterm"; type of mouse
 	set ttym=xterm2
mouseshape	what the mouse pointer looks like in different modes
 	set mouses=i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow

10 GUI

guifont	list of font names to be used in the GUI
 	set gfn=
guifontwide	list of font names to be used for double-wide characters
 	set gfw=
guioptions	list of flags that specify how the GUI works
 	set go=aegimrLtT
toolbar	"icons", "text" and/or "tooltips"; how to show the toolbar
 	set tb=icons,tooltips
toolbariconsize	size of toolbar icons
 	set tbis=small
guiheadroom	room (in pixels) left above/below the window
 	set ghr=50
guipty	use a pseudo-tty for I/O to external commands
 	set guipty	noguipty
langmenu	language to be used for the menus
 	set langmenu=
menuitems	maximum number of items in one menu
 	set mis=25
winaltkeys	"no", "yes" or "menu"; how to use the ALT key
 	set wak=menu
linespace	number of pixel lines to use between characters
 	set lsp=0
balloondelay	delay in milliseconds before a balloon may pop up
 	set bdlay=600
ballooneval	whether the balloon evaluation is to be used
 	set nobeval	beval
balloonexpr	expression to show in balloon eval
 	set bexpr=

11 printing

printoptions	list of items that control the format of :hardcopy output
 	set popt=
printdevice	name of the printer to be used for :hardcopy
 	set pdev=
printexpr	expression used to print the PostScript file for :hardcopy
 	set pexpr=system('lpr'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -P'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
printfont	name of the font to be used for :hardcopy
 	set pfn=courier
printheader	format of the header used for :hardcopy
 	set pheader=%<%f%h%m%=Page\ %N
printencoding	encoding used to print the PostScript file for :hardcopy
 	set penc=
printmbcharset	the CJK character set to be used for CJK output from :hardcopy
 	set pmbcs=
printmbfont	list of font names to be used for CJK output from :hardcopy
 	set pmbfn=

12 messages and info

terse	add 's' flag in 'shortmess' (don't show search message)
 	set noterse	terse
shortmess	list of flags to make messages shorter
 	set shm=filnxtToO
showcmd	show (partial) command keys in the status line
 	set sc	nosc
showmode	display the current mode in the status line
 	set smd	nosmd
ruler	show cursor position below each window
 	set ru	noru
rulerformat	alternate format to be used for the ruler
 	set ruf=
report	threshold for reporting number of changed lines
 	set report=2
verbose	the higher the more messages are given
 	set vbs=0
verbosefile	file to write messages in
 	set vfile=
more	pause listings when the screen is full
 	set more	nomore
confirm	start a dialog when a command fails
 	set nocf	cf
errorbells	ring the bell for error messages
 	set noeb	eb
visualbell	use a visual bell instead of beeping
 	set vb	novb
helplang	list of preferred languages for finding help
 	set hlg=en

13 selecting text

selection	"old", "inclusive" or "exclusive"; how selecting text behaves
 	set sel=inclusive
selectmode	"mouse", "key" and/or "cmd"; when to start Select mode
	instead of Visual mode
 	set slm=
clipboard	"unnamed" to use the * register like unnamed register
	"autoselect" to always put selected text on the clipboard
 	set cb=autoselect,exclude:cons\\\|linux
keymodel	"startsel" and/or "stopsel"; what special keys can do
 	set km=

14 editing text

undolevels	maximum number of changes that can be undone
 	set ul=1000
undoreload	maximum number lines to save for undo on a buffer reload
 	set ur=10000
modified	changes have been made and not written to a file
	(local to buffer)
 	set nomod	mod
readonly	buffer is not to be written
	(local to buffer)
 	set noro	ro
modifiable	changes to the text are not possible
	(local to buffer)
 	set ma	noma
textwidth	line length above which to break a line
	(local to buffer)
 	set tw=80
wrapmargin	margin from the right in which to break a line
	(local to buffer)
 	set wm=0
backspace	specifies what <BS>, CTRL-W, etc. can do in Insert mode
 	set bs=indent,eol,start
comments	definition of what comment lines look like
	(local to buffer)
 	set com=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
formatoptions	list of flags that tell how automatic formatting works
	(local to buffer)
 	set fo=qrn1
formatlistpat	pattern to recognize a numbered list
	(local to buffer)
 	set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
formatexpr	expression used for "gq" to format lines
	(local to buffer)
 	set fex=
complete	specifies how Insert mode completion works for CTRL-N and CTRL-P
	(local to buffer)
 	set cpt=.,w,b,u,t,i
completeopt	whether to use a popup menu for Insert mode completion
 	set cot=menu,preview
pumheight	maximum height of the popup menu
 	set ph=0
completefunc	user defined function for Insert mode completion
	(local to buffer)
 	set cfu=
omnifunc	function for filetype-specific Insert mode completion
	(local to buffer)
 	set ofu=syntaxcomplete#Complete
dictionary	list of dictionary files for keyword completion
	(global or local to buffer)
 	set dict=
thesaurus	list of thesaurus files for keyword completion
	(global or local to buffer)
 	set tsr=
infercase	adjust case of a keyword completion match
	(local to buffer)
 	set noinf	inf
digraph	enable entering digraps with c1 <BS> c2
 	set nodg	dg
tildeop	the "~" command behaves like an operator
 	set notop	top
operatorfunc	function called for the"g@"  operator
 	set opfunc=
showmatch	when inserting a bracket, briefly jump to its match
 	set sm	nosm
matchtime	tenth of a second to show a match for 'showmatch'
 	set mat=5
matchpairs	list of pairs that match for the "%" command
	(local to buffer)
 	set mps=(:),{:},[:],<:>
joinspaces	use two spaces after '.' when joining a line
 	set js	nojs
nrformats	"alpha", "octal" and/or "hex"; number formats recognized for
	CTRL-A and CTRL-X commands
	(local to buffer)
 	set nf=octal,hex

15 tabs and indenting

tabstop	number of spaces a <Tab> in the text stands for
	(local to buffer)
 	set ts=4
shiftwidth	number of spaces used for each step of (auto)indent
	(local to buffer)
 	set sw=4
smarttab	a <Tab> in an indent inserts 'shiftwidth' spaces
 	set sta	nosta
softtabstop	if non-zero, number of spaces to insert for a <Tab>
	(local to buffer)
 	set sts=4
shiftround	round to 'shiftwidth' for "<<" and ">>"
 	set nosr	sr
expandtab	expand <Tab> to spaces in Insert mode
	(local to buffer)
 	set et	noet
autoindent	automatically set the indent of a new line
	(local to buffer)
 	set ai	noai
smartindent	do clever autoindenting
	(local to buffer)
 	set si	nosi
cindent	enable specific indenting for C code
	(local to buffer)
 	set nocin	cin
cinoptions	options for C-indenting
	(local to buffer)
 	set cino=
cinkeys	keys that trigger C-indenting in Insert mode
	(local to buffer)
 	set cink=0{,0},0),:,0#,!^F,o,O,e
cinwords	list of words that cause more C-indent
	(local to buffer)
 	set cinw=if,else,while,do,for,switch
indentexpr	expression used to obtain the indent of a line
	(local to buffer)
 	set inde=
indentkeys	keys that trigger indenting with 'indentexpr' in Insert mode
	(local to buffer)
 	set indk=0{,0},:,0#,!^F,o,O,e
copyindent	copy whitespace for indenting from previous line
	(local to buffer)
 	set noci	ci
preserveindent	preserve kind of whitespace when changing indent
	(local to buffer)
 	set nopi	pi
lisp	enable lisp mode
	(local to buffer)
 	set nolisp	lisp
lispwords	words that change how lisp indenting works
 	set lw=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object

16 folding

foldenable	set to display all folds open
	(local to window)
 	set fen	nofen
foldlevel	folds with a level higher than this number will be closed
	(local to window)
 	set fdl=0
foldlevelstart	value for 'foldlevel' when starting to edit a file
 	set fdls=-1
foldcolumn	width of the column used to indicate folds
	(local to window)
 	set fdc=0
foldtext	expression used to display the text of a closed fold
	(local to window)
 	set fdt=foldtext()
foldclose	set to "all" to close a fold when the cursor leaves it
 	set fcl=
foldopen	specifies for which commands a fold will be opened
 	set fdo=block,hor,mark,percent,quickfix,search,tag,undo
foldminlines	minimum number of screen lines for a fold to be closed
	(local to window)
 	set fml=1
commentstring	template for comments; used to put the marker in
 	set cms=/*%s*/
foldmethod	folding type: "manual", "indent", "expr", "marker" or "syntax"
	(local to window)
 	set fdm=marker
foldexpr	expression used when 'foldmethod' is "expr"
	(local to window)
 	set fde=0
foldignore	used to ignore lines when 'foldmethod' is "indent"
	(local to window)
 	set fdi=#
foldmarker	markers used when 'foldmethod' is "marker"
	(local to window)
 	set fmr={{{,}}}
foldnestmax	maximum fold depth for when 'foldmethod is "indent" or "syntax"
	(local to window)
 	set fdn=20

17 diff mode

diff	use diff mode for the current window
	(local to window)
 	set nodiff	diff
diffopt	options for using diff mode
 	set dip=filler
diffexpr	expression used to obtain a diff file
 	set dex=
patchexpr	expression used to patch a file
 	set pex=

18 mapping

maxmapdepth	maximum depth of mapping
 	set mmd=1000
remap	recognize mappings in mapped keys
 	set remap	noremap
timeout	allow timing out halfway into a mapping
 	set to	noto
ttimeout	allow timing out halfway into a key code
 	set nottimeout	ttimeout
timeoutlen	time in msec for 'timeout'
 	set tm=1000
ttimeoutlen	time in msec for 'ttimeout'
 	set ttm=-1

19 reading and writing files

modeline	enable using settings from modelines when reading a file
	(local to buffer)
 	set ml	noml
modelines	number of lines to check for modelines
 	set mls=0
binary	binary file editing
	(local to buffer)
 	set nobin	bin
endofline	last line in the file has an end-of-line
	(local to buffer)
 	set eol	noeol
bomb	prepend a Byte Order Mark to the file
	(local to buffer)
 	set nobomb	bomb
fileformat	end-of-line format: "dos", "unix" or "mac"
	(local to buffer)
 	set ff=unix
fileformats	list of file formats to look for when editing a file
 	set ffs=unix,dos
textmode	obsolete, use 'fileformat'
	(local to buffer)
 	set notx	tx
textauto	obsolete, use 'fileformats'
 	set ta	nota
write	writing files is allowed
 	set write	nowrite
writebackup	write a backup file before overwriting a file
 	set wb	nowb
backup	keep a backup after overwriting a file
 	set nobk	bk
backupskip	patterns that specify for which files a backup is not made
 	set bsk=/tmp/*
backupcopy	whether to make the backup as a copy or rename the existing file
 	set bkc=auto
backupdir	list of directories to put backup files in
 	set bdir=/home/igaray/.vim/backupdir
backupext	file name extension for the backup file
 	set bex=~
autowrite	automatically write a file when leaving a modified buffer
 	set noaw	aw
autowriteall	as 'autowrite', but works with more commands
 	set noawa	awa
writeany	always write without asking for confirmation
 	set nowa	wa
autoread	automatically read a file when it was modified outside of Vim
	(global or local to buffer)
 	set noar	ar
patchmode	keep oldest version of a file; specifies file name extension
 	set pm=
fsync	forcibly sync the file to disk after writing it
 	set fs	nofs
shortname	use 8.3 file names
	(local to buffer)
 	set nosn	sn
cryptmethod	encryption method for file writing: zip or blowfish
	(local to buffer)
 	set cm=zip

20 the swap file

directory	list of directories for the swap file
 	set dir=/home/igaray/.vim/recoverydir
swapfile	use a swap file for this buffer
	(local to buffer)
 	set swf	noswf
swapsync	"sync", "fsync" or empty; how to flush a swap file to disk
 	set sws=fsync
updatecount	number of characters typed to cause a swap file update
 	set uc=200
updatetime	time in msec after which the swap file will be updated
 	set ut=4000
maxmem	maximum amount of memory in Kbyte used for one buffer
 	set mm=1533792
maxmemtot	maximum amount of memory in Kbyte used for all buffers
 	set mmt=1533792

21 command line editing

history	how many command lines are remembered 
 	set hi=20
wildchar	key that triggers command-line expansion
 	set wc=9
wildcharm	like 'wildchar' but can also be used in a mapping
 	set wcm=0
wildmode	specifies how command line completion works
 	set wim=list:longest
suffixes	list of file name extensions that have a lower priority
 	set su=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
suffixesadd	list of file name extensions added when searching for a file
	(local to buffer)
 	set sua=
wildignore	list of patterns to ignore files for file name completion
 	set wig=
wildignorecase	ignore case when completing file names
 	set nowic	wic
wildmenu	command-line completion shows a list of matches
 	set wmnu	nowmnu
cedit	key used to open the command-line window
 	set cedit=
cmdwinheight	height of the command-line window
 	set cwh=7
undofile	automatically save and restore undo history
 	set udf	noudf
undodir	list of directories for undo files
 	set udir=/home/igaray/.vim/undodir

22 executing external commands

shell	name of the shell program used for external commands
 	set sh=/bin/zsh
shellquote	character(s) to enclose a shell command in
 	set shq=
shellxquote	like 'shellquote' but include the redirection
 	set sxq=
shellxescape	characters to escape when 'shellxquote' is (
 	set sxe=
shellcmdflag	argument for 'shell' to execute a command
 	set shcf=-c
shellredir	used to redirect command output to a file
 	set srr=>%s\ 2>&1
shelltemp	use a temp file for shell commands instead of using a pipe
 	set stmp	nostmp
equalprg	program used for "=" command
	(global or local to buffer)
 	set ep=
formatprg	program used to format lines with "gq" command
 	set fp=
keywordprg	program used for the "K" command
 	set kp=man\ -s
warn	warn when using a shell command and a buffer has changes
 	set warn	nowarn

23 running make and jumping to errors

errorfile	name of the file that contains error messages
 	set ef=errors.err
errorformat	list of formats for error messages
	(global or local to buffer)
 	set efm=%*[^\"]\"%f\"%*\\D%l:\ %m,\"%f\"%*\\D%l:\ %m,%-G%f:%l:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,%-G%f:%l:\ for\ each\ function\ it\ appears\ in.),%-GIn\ file\ included\ from\ %f:%l:%c:,%-GIn\ file\ included\ from\ %f:%l:%c\\,,%-GIn\ file\ included\ from\ %f:%l:%c,%-GIn\ file\ included\ from\ %f:%l,%-G%*[\ ]from\ %f:%l:%c,%-G%*[\ ]from\ %f:%l:,%-G%*[\ ]from\ %f:%l\\,,%-G%*[\ ]from\ %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',%D%*\\a:\ Entering\ directory\ `%f',%X%*\\a:\ Leaving\ directory\ `%f',%DMaking\ %*\\a\ in\ %f,%f\|%l\|\ %m
makeprg	program used for the ":make" command
	(global or local to buffer)
 	set mp=make
shellpipe	string used to put the output of ":make" in the error file
 	set sp=2>&1\|\ tee
makeef	name of the errorfile for the 'makeprg' command
 	set mef=
grepprg	program used for the ":grep" command
	(global or local to buffer)
 	set gp=grep\ -n\ $*\ /dev/null
grepformat	list of formats for output of 'grepprg'
 	set gfm=%f:%l:%m,%f:%l%m,%f\ \ %l%m

24 language specific

isfname	specifies the characters in a file name
 	set isf=@,48-57,/,.,-,_,+,,,#,$,%,~,=
isident	specifies the characters in an identifier
 	set isi=@,48-57,_,192-255
iskeyword	specifies the characters in a keyword
	(local to buffer)
 	set isk=@,48-57,_,192-255,_,$,@,%,#,-,?,%,&
isprint	specifies printable characters
 	set isp=@,161-255
quoteescape	specifies escape characters in a string
	(local to buffer)
 	set qe=\\
rightleft	display the buffer right-to-left
	(local to window)
 	set norl	rl
rightleftcmd	when to edit the command-line right-to-left
	(local to window)
 	set rlc=search
revins	insert characters backwards
 	set nori	ri
allowrevins	allow CTRL-_ in Insert and Command-line mode to toggle 'revins'
 	set noari	ari
aleph	the ASCII code for the first letter of the Hebrew alphabet
 	set al=224
hkmap	use Hebrew keyboard mapping
 	set nohk	hk
hkmapp	use phonetic Hebrew keyboard mapping
 	set nohkp	hkp
altkeymap	use Farsi as the second language when 'revins' is set
 	set noakm	akm
fkmap	use Farsi keyboard mapping
 	set nofk	fk
arabic	prepare for editing Arabic text
	(local to window)
 	set noarab	arab
arabicshape	perform shaping of Arabic characters
 	set arshape	noarshape
termbidi	terminal will perform bidi handling
 	set notbidi	tbidi
keymap	name of a keyboard mappping
 	set kmp=
langmap	translate characters for Normal mode
 	set lmap=
imdisable	when set never use IM; overrules following IM options
 	set noimd	imd
iminsert	in Insert mode: 1: use :lmap; 2: use IM; 0: neither
	(local to window)
 	set imi=2
imsearch	entering a search pattern: 1: use :lmap; 2: use IM; 0: neither
	(local to window)
 	set ims=2
imcmdline	when set always use IM when starting to edit a command line
 	set noimc	imc

25 multi-byte characters

encoding	character encoding used in Vim: "latin1", "utf-8"
	"euc-jp", "big5", etc.
 	set enc=utf-8
fileencoding	character encoding for the current file
	(local to buffer)
 	set fenc=
fileencodings	automatically detected character encodings
 	set fencs=ucs-bom,utf-8,default,latin1
termencoding	character encoding used by the terminal
 	set tenc=
charconvert	expression used for character encoding conversion
 	set ccv=
delcombine	delete combining (composing) characters on their own
 	set nodeco	deco
maxcombine	maximum number of combining (composing) characters displayed
 	set mco=2
imactivatekey	key that activates the X input method
 	set imak=
ambiwidth	width of ambiguous width characters
 	set ambw=single

26 various

virtualedit	when to use virtual editing: "block", "insert" and/or "all"
 	set ve=all
eventignore	list of autocommand events which are to be ignored
 	set ei=
loadplugins	load plugin scripts when starting up
 	set lpl	nolpl
exrc	enable reading .vimrc/.exrc/.gvimrc in the current directory
 	set noex	ex
secure	safer working with script files in the current directory
 	set nosecure	secure
gdefault	use the 'g' flag for ":substitute"
 	set gd	nogd
edcompatible	'g' and 'c' flags of ":substitute" toggle
 	set noed	ed
maxfuncdepth	maximum depth of function calls
 	set mfd=100
sessionoptions	list of words that specifies what to put in a session file
 	set ssop=blank,buffers,curdir,folds,help,options,tabpages,winsize
viewoptions	list of words that specifies what to save for :mkview
 	set vop=folds,options,cursor
viewdir	directory where to store files with :mkview
 	set vdir=/home/igaray/.vim/view
viminfo	list that specifies what to write in the viminfo file
 	set vi='100,<50,s10,h
bufhidden	what happens with a buffer when it's no longer in a window
	(local to buffer)
 	set bh=
buftype	"", "nofile", "nowrite" or "quickfix": type of buffer
	(local to buffer)
 	set bt=
buflisted	whether the buffer shows up in the buffer list
	(local to buffer)
 	set bl	nobl
debug	set to "msg" to see all error messages
 	set debug=

AsciiDoc

asciidoc -b html5 -a toc2 -n -o output.html input.txt

AsciiDoc Markup Syntax Summary
==============================

A summary of the most commonly used markup.
For a complete reference see the 'AsciiDoc User Guide'.

Text formatting
---------------
  *bold text*                 (boldface font)
  _emphasized text_           (normally italics)
  'emphasized text'
  +monospaced text+           (proportional font)
  `monospaced text`           (inline literal passthrough)

Document links
--------------
  [[id]]                      (define link target)
  <<id,caption>>              (link to target id)
  link:filename#id[caption]   (link to external HTML file)

URLs
----
  Use normal URL and email addess syntax or:

  http:address[caption]       (link to web page)
  mailto:address[caption]     (link to mail recipient)

Images
------
  image:filename[caption]     (inline image)
  image::filename[caption]    (block image)

Document header
---------------

  The Document Title
  ==================
  author <email>
  revision, date

author, email, revision and date are optional.

Section title underlines
------------------------
  Underlined:

  Level 0                     (document title)
  =======
  Level 1
  -------
  Level 2
  ~~~~~~~
  Level 3
  ^^^^^^^
  Level 4                     (bottom level)
  +++++++

  Single line:

  = Level 0 =                 (document title)
  == Level 1 ==
  === Level 2 ===
  ==== Level 3 ====
  ===== Level 4 =====         (bottom level)

Paragraphs
----------
A normal paragraph.           (styles: literal,verse,quote,listing,
                                       NOTE,TIP,WARNING,IMPORTANT,CAUTION)
  An indented literal
  paragraph.

Delimited blocks
----------------
Delimiters must begin at left margin.

  -------------------         (styles: source,music,graphviz)
  listing block
  -------------------

  ...................         (styles: listing,verse)
  literal block
  ...................

  *******************
  sidebar block
  *******************

  [style, author, cite]
  ___________________         (styles: quote,verse)
  quote block
  ___________________

  ===================         (styles: NOTE,TIP,WARNING,
  example block                        IMPORTANT,CAUTION)
  ===================

  ///////////////////
  comment block
  ///////////////////

  +++++++++++++++++++         (styles: pass)
  passthrough block
  +++++++++++++++++++

  [style]                     (styles: abstract, partintro)
  --
  open block
  --

More block elements
-------------------
  [attributes list]
  .Block title
  // Comment line
  include::filename[]

Tables
------
  .An example table
  [width="40%",cols="^,2m",frame="topbot",options="header,footer"]
  |======================
  |Column 1 |Column 2
  |1        |Item 1
  |2        |Item 2
  |3        |Item 3
  |6        |Three items
  |======================

  Common attributes:

  grid:    none,cols,rows,all
  frame:   topbot,none,sides,all
  options: header,footer
  format:  psv,csv,dsv
  valign:  top,bottom,middle
  width:   1%..100%
  cols:    colspec[,colspec,...]

  colspec:    [multiplier*][align][width][style]
  multiplier: 1...
  width:      1... or 1%...100%
  align:      [horiz][.vert]
               horiz: < (left), ^ (center), > (right)
               vert:  < (top),  ^ (middle), > (bottom)
  style:      d[efault], e[mphasis], m[onospaced], a[sciidoc],
              s[trong], l[iteral], v[erse]
  cell:       [cellspec]|data
  cellspec:   [span*|+][align][style]
  span:       [colspan][.rowspan]
               colspan: 1...
               rowspan: 1...

Bulleted lists
--------------
  - item text
  * item text
  ** item text
  *** item text
  **** item text
  ***** item text

  (styles: callout,bibliography)

Numbered lists
--------------
  1. arabic (decimal) numbering
  a. loweralpha numbering
  F. upperalpha numbering
  iii) lowerroman numbering
  IX) upperroman numbering

  . arabic (decimal) numbering
  .. loweralpha numbering
  ... lowerroman numbering
  .... upperalpha numbering
  ..... upperroman numbering

  (styles: arabic,loweralpha,upperalpha,lowerroman,upperroman)

Labeled lists
-------------
  label:: item text
  label;; item text
  label::: item text
  label:::: item text

  (styles: horizontal,vertical,glossary,qanda,bibliograpy)

More inline elements
--------------------
  footnote:[footnote text]    (document footnote)

Docker

Table of Contents


  • Official Documentation
  • Images
    • postgres
      • https://github.com/docker-library/postgres
      • https://docs.docker.com/engine/examples/postgresql_service/
      • https://docs.docker.com/samples/library/postgres/
      • https://hub.docker.com/_/postgres
    • luigi
      • https://hub.docker.com/r/pysysops/luigid
      • https://hub.docker.com/r/stockport/luigid
      • https://hub.docker.com/r/stockport/luigi-taskrunner
      • https://hub.docker.com/r/mada/luigid
      • https://hub.docker.com/r/spiside/luigi
    • redis
      • https://hub.docker.com/_/redis
    • memcached
      • https://hub.docker.com/_/memcached
    • cassandra
      • https://hub.docker.com/_/cassandra
    • neo4j
      • https://hub.docker.com/_/neo4j
    • arangodb
      • https://hub.docker.com/_/arangodb
    • rethinkdb
      • https://hub.docker.com/_/rethinkdb
    • orientdb
      • https://hub.docker.com/_/orientdb
    • cratedb
      • https://hub.docker.com/_/crate
    • rabbitmq
      • https://hub.docker.com/_/rabbitmq
    • kafka
      • https://hub.docker.com/r/spotify/kafka
    • elasticsearch
      • https://hub.docker.com/_/elasticsearch
    • logstash
      • https://hub.docker.com/_/logstash
    • kibana
      • https://hub.docker.com/_/kibana
    • prometheus
      • https://hub.docker.com/r/prom/prometheus
    • influxdb
      • https://hub.docker.com/_/influxdb
      • https://hub.docker.com/_/influxdata-influxdb
    • telegraf
      • https://hub.docker.com/_/telegraf
    • chronograf
      • https://hub.docker.com/_/chronograf
    • fluentd
      • https://hub.docker.com/_/fluentd
    • datadog agent
      • https://hub.docker.com/_/datadog-agent
    • haproxy
      • https://hub.docker.com/_/haproxy
    • jenkins
      • https://hub.docker.com/_/jenkins
    • sonarqube
      • https://hub.docker.com/_/sonarqube
    • erlang
      • https://hub.docker.com/_/erlang
    • rust
      • https://hub.docker.com/_/rust

Cleanup:

$ docker stop $(docker ps -a -q)
$ docker rm -f $(docker ps -a -q)
$ docker rmi -f $(docker images -q)

List running containers:

$ docker ps

Lists images

$ docker imagess

Docker Run

$ docker run -it --name <NAME> <IMAGE NAME> <ARGS>

    -i interactive
    -t terminal
    -v FULL_VOLUME_PATH

    -v ${PWD}/.:/home/test_directory

    copies everything in ./ on local to /home/test_directory in the container

    -p HOST_PORT:CONTAINER_PORT

    -p 1234:80
    maps port 1234 to port 80 inside the container

$ docker help run

Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Run a command in a new container

Options:
      --add-host list                  Add a custom host-to-IP mapping (host:ip)
  -a, --attach list                    Attach to STDIN, STDOUT or STDERR
  -d, --detach                         Run container in background and print container ID
      --detach-keys string             Override the key sequence for detaching a container
      --entrypoint string              Overwrite the default ENTRYPOINT of the image
  -e, --env list                       Set environment variables
      --env-file list                  Read in a file of environment variables
      --expose list                    Expose a port or a range of ports
      --help                           Print usage
  -h, --hostname string                Container host name
      --init                           Run an init inside the container that forwards signals and reaps processes
  -i, --interactive                    Keep STDIN open even if not attached
      --ip string                      IPv4 address (e.g., 172.30.100.104)
      --ip6 string                     IPv6 address (e.g., 2001:db8::33)
      --link list                      Add link to another container
      --link-local-ip list             Container IPv4/IPv6 link-local addresses
      --log-driver string              Logging driver for the container
      --log-opt list                   Log driver options
      --mount mount                    Attach a filesystem mount to the container
      --name string                    Assign a name to the container
      --network string                 Connect a container to a network (default "default")
      --network-alias list             Add network-scoped alias for the container
      --no-healthcheck                 Disable any container-specified HEALTHCHECK
      --oom-kill-disable               Disable OOM Killer
      --pid string                     PID namespace to use
  -p, --publish list                   Publish a container's port(s) to the host
  -P, --publish-all                    Publish all exposed ports to random ports
      --rm                             Automatically remove the container when it exits
      --runtime string                 Runtime to use for this container
      --stop-signal string             Signal to stop a container (default "SIGTERM")
      --tmpfs list                     Mount a tmpfs directory
  -t, --tty                            Allocate a pseudo-TTY
      --ulimit ulimit                  Ulimit options (default [])
  -u, --user string                    Username or UID (format: <name|uid>[:<group|gid>])
      --userns string                  User namespace to use
  -v, --volume list                    Bind mount a volume
  -w, --workdir string                 Working directory inside the container

EXITING

  • close terminal, process and container will still run
  • ctrl-p ctrl-q detaches the terminal from the container
  • stop the process

DOCKER ATTACH

$ docker attach <CONTAINER NAME>

DOCKER START

$ docker ps -a
lists all containers, including those not running

if a container is not running (stopped) it can be
started with

$ docker start <CONTAINER_NAME>

DOCKER EXEC

$ docker exec -it <CONTAINER NAME> <COMMAND>

runs another process inside a container

DOCKER STOP

$ docker stop <CONTAINER NAME>

DOCKER RM

$ docker rm <CONTAINER NAME>*

removes a container

DOCKER RMI

removes docker images

DOCKER INSPECT

$ docker inspect <CONTAINER NAME>

$ docker stats
$ docker system df
$ docker system events
$ docker system info
$ docker system prune

DOCKER-COMPOSE

Define and run multi-container applications with Docker.

Usage:
  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

Options:
  -f, --file FILE             Specify an alternate compose file
                              (default: docker-compose.yml)
  -p, --project-name NAME     Specify an alternate project name
                              (default: directory name)
  --verbose                   Show more output
  --log-level LEVEL           Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
  --no-ansi                   Do not print ANSI control characters
  -v, --version               Print version and exit
  -H, --host HOST             Daemon socket to connect to

  --tls                       Use TLS; implied by --tlsverify
  --tlscacert CA_PATH         Trust certs signed only by this CA
  --tlscert CLIENT_CERT_PATH  Path to TLS certificate file
  --tlskey TLS_KEY_PATH       Path to TLS key file
  --tlsverify                 Use TLS and verify the remote
  --skip-hostname-check       Don't check the daemon's hostname against the
                              name specified in the client certificate
  --project-directory PATH    Specify an alternate working directory
                              (default: the path of the Compose file)
  --compatibility             If set, Compose will attempt to convert deploy
                              keys in v3 files to their non-Swarm equivalent

Commands:
  build              Build or rebuild services
  bundle             Generate a Docker bundle from the Compose file
  config             Validate and view the Compose file
  create             Create services
  down               Stop and remove containers, networks, images, and volumes
  events             Receive real time events from containers
  exec               Execute a command in a running container
  help               Get help on a command
  images             List images
  kill               Kill containers
  logs               View output from containers
  pause              Pause services
  port               Print the public port for a port binding
  ps                 List containers
  pull               Pull service images
  push               Push service images
  restart            Restart services
  rm                 Remove stopped containers
  run                Run a one-off command
  scale              Set number of containers for a service
  start              Start services
  stop               Stop services
  top                Display the running processes
  unpause            Unpause services
  up                 Create and start containers
  version            Show the Docker-Compose version information

Elasticsearch

Table of Contents


  • concepts
    • documents
    • indexes
    • mappings
  • features
  • administration
  • scaling
  • optimizing
  • caveats

Commands

docker pull docker.elastic.co/elasticsearch/elasticsearch:5.5.0
docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.5.0
curl -u elastic http://127.0.0.1:9200/_cat/health
Enter host password for user 'elastic': changeme
curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/elastic/_password' -H "Content-Type: application/json" -d '{"password" : "elasticpassword"}'

Books

Elasticsearch Server

  • 1 Getting started with the elasticsearch cluster
    • Full-text searching
    • The basic of elasticsearch
    • Installing and configuring your cluster
    • Manipulating your data with the REST API
  • 2 Indexing your data
    • Elasticsearch indexing
    • Mappings configuration
    • Batch indexing to speed up your indexing process
    • Extending your index structure with additional internal information
  • 3 Searching your data
    • Querying elasticsearch
    • Understanding the query process
    • Basic queries
    • Compound queries
    • Filtering your results
    • Highlighting
    • Validating your queries
    • Sorting data
    • Query retwrite
  • 4 Extending your index structure
    • Indexing tree-like structures
    • Indexing data that is not flat
    • Using nested objects
    • Using the parent-child relationship
    • Modifying your index structure with the update api
  • 5 Make your search better
    • An introduction to Apache Lucene scoring
    • Scripting capabilities of Elasticsearch
    • Searching content in different languages
    • Influencing scores qith query boosts
    • When does index-time boosting make sense?
    • Words with the same meaning
    • Understanding the explain information
  • 6 Beyond full text searching
    • Aggregations
    • Faceting
    • Using suggesters
    • Percolator
    • Handling files
    • Geo
    • The scroll API
    • The terms filter
  • 7 Elasticsearch cluster in detail
    • Node discovery
    • The gateway and recovery modules
    • Preparing elasticsearch cluster for high query and indexing throughput
    • Templates and dynamic types
  • 8 Administrating your cluster
    • The elasticsearch time machine
    • Monitoring your cluster's state and health
    • Controlling cluster rebalancing
    • Controlling the shard and replica allocation
    • Warming up
    • Index aliasing and using it to simplify your everyday work
    • Elasticsearch plugins
    • The update setting API

Elasticsearch in Action

  • 1 Introducing Elasticsearch
    • Solving search problesm
    • Exploring typical Elasticsearch use cases
  • 2 Diving into functionality
    • Understanding the logical layout: documents, types and indices
    • Understanding the physical layoutL: nodes and shards
    • Indexing new data
    • Searching and retrieving data
    • Configuring elasticsearch
    • Adding nodes to the cluster
  • 3 Indexing, updating and deleting data
    • Using mappings to define kinds of documents
    • Core types for defining your own fields in documents
    • Arrays and multi-fields
    • Using predefined fields
    • Updating predefined fields
    • Updating existing documents
    • Deleting data
  • 4 Searching your data
    • Structure of a search request
    • Introducing the query and filter DSL
    • Combining queries or compound queries
    • Beyond match and queries
    • Querying for field existence with filters
  • 5 Analyzing your data
    • What is analysis
    • Using analyzers for your documents
    • Analyzing text with the analyze API
    • Analyzers, tokenizers, and token filters, oh my!
    • Ngrams, edge ngrams, and shingles
    • Stemming
  • 6 Searching with relevancy
    • How scoring works in Elasticsearch
    • Other scoring methods
    • Boosting
    • Understanding how a document was scored with explain
    • Reducing scoring impact with query rescoring
    • Custom scoring with function_score
    • Tying it back together
    • Sorting with scripts
    • Field data detour
  • 7 Exploring your data with aggregations
    • Understanding the anatomy of an aggregation
    • Metrics aggregations
    • Multi-bucket aggregations
    • Nesting aggregrations
  • 8 Relations among documents
    • Overview of options for defining relationships among documents
    • Having objects as field values
    • Nested type: connecting nested documents
    • Parent-child relationships: connecting separate documents
    • Denormalizing: using redundant data connections
    • Application-side joins
  • 9 Scaling out
    • Addind nodes to your elasticsearch cluster
    • Discovering other Elasticsearch nodes
    • Removing nodes from a cluster
    • Upgrading Elasticsearch nodes
    • Using the _cat API
    • Scaling strategies
    • Aliases
    • Routing
  • 10 Improving performance
    • Grouping requests
    • Optimizing the handling of Lucene segments
    • Making the best use of caches
    • Other performance tradeoffs
  • 11 Administrating your cluster
    • Improving defaults
    • Allocation awareness
    • Monitoring for bottlenecks
    • Backing up your date

Elasticsearch Cookbook

  • 1 Getting started
    • Introduction
    • Understanding nodes and clusters
    • Understanding node services
    • Managing your data
    • Understanding clusters, replication, sharding
    • Communication with Elasticsearch
    • Using the HTTP protocol
    • Using the native protocol
    • Using the thrift protocol
  • 2 Downloading and Setting Up
    • Introduction
    • Downloading and installing Elasticsearch
    • Setting up networking
    • Setting up a node
    • Setting up for linux systems
    • Setting up different node types
    • Installing plugins in Elasticsearch
    • Installing a plugin manually
    • Removing a plugin
    • Changing logging settings
  • 3 Managing mapping
    • Introduction
    • Using explicit mapping creation
    • Mapping base types
    • Mapping arrays
    • Mapping an object
    • Mapping a document
    • Using dynamic templates in document mapping
    • Managing nested objects
    • Managing a child document
    • Adding a field with multiple mappings
    • Mapping a geo point field
    • Mapping a geo shape field
    • Mapping an IP field
    • Mapping an attachment field
    • Adding metadata to a mapping
    • Specifying a different analyzer
    • Mapping a completion suggester
  • 4 Basic operations
    • Introduction
    • Creating an index
    • Deleting an index
    • Opening/closing an index
    • Putting a mapping in an index
    • Getting a mapping
    • Deleting a mapping
    • Refreshing an index
    • Flushing an index
    • Optimizing an index
    • Checking if an index or type exists
    • Managing index settings
    • Using index aliases
    • Indexing a document
    • Updating a document
    • Speeding up atomic operations
    • Speeding up GET operations
  • 5 Search, Queries, and Filters
    • Introduction
    • Executing a search
    • Sorting results
    • Highlighting results
    • Executing a scan query
    • Suggesting a correct query
    • Counting matched results
    • Deleting by query
    • Matching all the documents
    • Querying/filtering for a single term
    • Querying/filtering for multiple terms
    • Using a prefix query/filter
    • Using a boolean query/filter
    • Using a range query/filter
    • Using span queries
    • Using a match query
    • Using an ID query/filter
    • Using a has_child query/filter
    • Using a top_children query
    • Using a has_parent query/filter
    • Using a regexp query/filter
    • Using a function score query
    • Using exists and missing filters
    • Using and/or/not filters
    • Using a geo bounding box filter
    • Using a geo polygon filter
    • Using a geo distance filter
    • Using a querystring filter
    • Using a template query
  • 6 Aggregations
    • Introduction
    • Executing an aggregation
    • Executing a stats aggregation
    • Executing the terms aggregation
    • Executing the range aggregation
    • Executing the histogram aggregation
    • Execution the date histogram aggregation
    • Execution the filter aggregation

Mastering Elasticsearch

  • 1 Introduction to Elasticsearch
    • Introducing Apache Lucene
    • Introducing Elasticsearch
  • 2 Power User Query DSL
    • Default Apache Lucene scorings explained
    • Query rewrite explained
    • Rescore
    • Bulk operations
    • Sorting data
    • Update API
    • Using filters to optimize your queries
    • Filters and scopes in Elasticsearch faceting mechanism
  • 3 Low-level index control
    • Altering apache lucene scoring
    • Similarity model configuration
    • Using codecs
    • NRT, flush, refresh, and transaction log
    • Looking deeper into data handling
    • Segment merging under control
  • 4 Index Distribution Architecture
    • Choosing the right amount of shards and replicas
    • Routing explained
    • Altering the default shard allocation behaviour
    • Adjusting shard allocation
    • Query execution performance
    • Using our knowledge
  • 5 Elasticsearch Administration
    • Choosing the right directory implementation - the store module
    • Discovery configuration
    • Segments statistics
    • Understaning Elasticsearch caching
  • 6 Fighting with fire
    • Knowing the garbage collector
    • When it is too much for I/O - throttling explained
    • Speeding up queries using warmers
    • Very hot threads
    • Real-life scenarios
  • 7 Improving the user search experience
    • Correcting user spelling mistakes
    • Improving search relevance
  • 8 Elasticsearch Java APIs
    • Introducing the Elasticsearch Java API
    • The code
    • Connecting to your cluster
    • Anatomy of the API
    • CRUD operations
    • Querying Elasticsearch
    • Performance multiple actions
    • Percolator
    • The explain API
    • Building JSON queries and documents
    • The administration API
  • 9 Developing Elasticsearch Plugins
    • Creating the Apache Maven project structure
    • Creating a custom river plugin
    • Creating custom analysis plugin

Elasticsearch the Definitive Guide

  • 1 Getting started
    • You know, for search
    • Life inside a cluster
    • Data in, data out
    • Distributed document store
    • Searching - the basic tools
    • Mapping and analysis
    • Full-body search
    • Sorting and relevance
    • Distributed search execution
    • Index management
    • Inside a shard
  • 2 Search in depth
    • Structured search
    • Full-text search
    • Multifield search
    • Proximity matching
    • Partial matching
    • Controlling relevance
  • 3 Dealing with human language
    • Getting started with languages
    • Identifying words
    • Normalizing tokens
    • Reducing words to their root form
    • Stopwords: performance vs precision
    • Synonyms
    • Typoes and mispelings
  • 4 Aggregations
    • High-level concepts
    • Aggregation test drive
    • Building bar charts
    • Looking at time
    • Scoping aggregations
    • Filtering queries and aggregations
    • Sorting multivalue buckets
    • Approximate aggregations
    • Significant terms
    • Controlling memory use and latency
  • 5 Geolocation
    • Geo-points
    • Geohashes
    • Geo-aggregations
    • Geo-shapes
  • 6 Modeling your data
    • Handling relationships
    • Nested objects
    • Parent-child relationships
    • Designing for scale
  • 7 Administration, monitoring, deployment
    • Monitoring
    • Production deployment
    • Post-deployment

Elasticsearch Indexing

  • 1 Introduction to efficient searching
    • Getting started
    • Understanding the document storage strategy
    • Analysis
  • 2 What is an elasticsearch index
    • Nature of elasticsearch index
    • Document
  • 3 Basic concepts of mapping
    • Basic concepts and definitions
    • Types
    • The relationship between mapping and relevant results
    • Understanding the schema-less
  • 4 Analysis and analyzers
    • Introducing analysis
    • Process of analysis
    • Built-in analyzers
    • What's text normalization?
    • ICU analysis plugin
    • An analyzer plugin
    • Specifying the analyzer for a field in the mapping
  • 5 Anatomy of an elasticsearch cluster
    • Basic concepts
    • Node
    • Shards
    • Replicas
    • Explaining the architecture of distribution
    • Correctly configuring the cluster
    • Choosing the right amount of shards and replicas
  • 6 Improving indexing performance
    • Configuration
    • Optimization of mapping definition
    • Segments and merging policies
    • Store modules
    • Bulk API
    • Notes
  • 7 Snapshot and restore
    • Snapshot repository
    • Snapshot
    • Restore
    • How does the snapshot process work?
  • 8 Improving the user search experience

Elasticsearch Blueprints

  • 1 Google-like web search
  • 2 Building your own e-commerce solutions
  • 3 Relevancy and scoring
  • 4 Managing relational content
  • 5 Analytics using elasticsearch
  • 6 Improving the search experience
  • 7 Spicing up a search using geo
  • 8 Handling time-based data

Relevant Search. With applications for Solr and Elasticsearch

Learning ELK Stack

Latex


Online Resources


Books


LaTeX for authors

  • 1 Introduction
  • 2 Classes and packages
  • 3 Commands
  • 4 LaTeX 2.09 documents
  • 5 Local modifications
  • 6 Problems
  • 7 Enjoy!

The Not-so-short introduction to Latex 2e

  • Source
  • 1 Things you need to know
    • A bit of history
    • Basics
    • LaTeX input files
    • Input file structure
    • A typical command line session
    • The layout of the document
    • Files you may encounter
    • Big projects
  • 2 Typesetting text
    • The structure of text and language
    • Line breaking and page breaking
    • Ready-made strings
    • Special characters and symbols
    • International language support
    • The space between words
    • Titles, chapters, and sections
    • Cross references
    • Footnotes
    • Emphasized words
    • Environments
    • Including graphics and images
    • Floating bodies
  • 3 Typesetting mathematical formulae
    • The AMS-LaTeX bundle
    • Single equations
    • Building blocks of a mathematical formula
    • Single equations that are too long: multiline
    • Multiple equations
    • Arrays and matrices
    • Spacing in math mode
    • Fiddling with the math fonts
    • Theorems, lemmas, ...
    • List of mathematical symbols
  • 4 Specialties
    • Bibliography
    • Indexing
    • Fancy headers
    • The verbatim package
    • Installing extra packages
    • LaTeX and PDF
    • Working with XeLaTeX and PDF
    • Creating Presentations
  • 5 Producting mathematical graphics
    • Overview
    • The picture environment
    • The PGF and TikZ graphics packages
  • 6 Customising Latex
  • New commands, environments, and packages
  • Fonts and sizes
  • Spacing
  • Page layout
  • More fun with lengths
  • Boxes
  • Rules

Latex. A document preparation system (2nd Ed)

  • 1 Getting acquainted
  • 2 Getting started
    • Preparing an input file
    • The input
    • Running LaTeX
    • Helpful hints
  • 3 Carrying on
    • Changing the type style
    • Symbols from other languages
    • Mathematical formulas
    • Defining commands and environments
    • Figures and other floating bodies
    • Lining it up in columns
    • Simulating typed text
  • 4 Moving information around
    • The table of contents
    • Cross-references
    • Bibliography and citation
    • Splitting your input
    • Making an index or glossary
    • Keyboard input and screen output
    • Sending your document
  • 5 Other document classes
    • Books
    • Slides
    • Letters
  • 6 Designing it yourself
    • Document and page styles
    • Line and page breaking
    • Numbering
    • Length, spaces and boxes
    • Centering and flushing
    • List-making environments
    • Fonts
  • 7 Pictures and colors
    • Pictures
    • The graphics package
    • Color
  • 8 Errors
    • Finding the error
    • LaTeX's error messages
    • TeX's error messages
    • LaTeX warnings
    • TeX warnings
  • A Using MakeIndex
  • B The bibliography database
  • C Reference manual
  • D What's new
  • E Using plain Tex commands

LaTeX in 24 Hours

A practical guide for scientific writing

  • 1 Introduction
    • What is LaTeX?
    • Why LaTeX over other word processors?
    • How to prepare a LaTeX input file?
    • How to compile a LaTeX input file?
    • LaTeX syntax
    • Keyboard characters in LaTeX
    • How to read this book?
  • 2 Fonts Selection
    • Text-mode fonts
    • Math-mode fonts
    • Emphasized fonts
    • Colored fonts
  • 3 Formatting Texts I
    • Sectional units
    • Labeling and referring numbered items
    • Texts alignment
    • New lines and paragraphs
    • Creating and filling blank space
    • Producing dashes within texts
    • Preventing line break
    • Adjusting blank space after a period mark
    • Hyphenating a word
  • 4 Formatting Texts II
    • Increasing depth of sectional units
    • Changing titles and counters of sectional units
    • Multiple columns
    • Mini pages
    • Foot notes
    • Marginal notes
  • 5 Page Layout and Style
    • Page layout
    • Page style
    • Running header and footer
    • Page breaking and adjustment
    • Page numbering
  • 6 Listing and Tabbing Texts
    • Listing texts
    • Tabbing texts through the tabbing environment
  • 7 Table Preparation I
    • Table through the tabular environment
    • Table through the tabularx environment
    • Vertical positioning of tables
    • Sideways (rotated) texts in tables
    • Adjusting provisions for customizing columns of tables
    • Merging rows and columns of tables
    • Table wrapped by texts
    • Table with colored background
  • 8 Table Preparation II
    • Nested tables
    • Column alignment about decimal point
    • Side-by-side tables
    • Sideways (rotated) table
    • Long table on multiple pages
    • Tabels in multi-column documents
    • Foot notes in tables
    • Changing printing format of tables
    • Tables at the end of a document
  • 9 Figure Insertion
    • Commands and environment for inserting figures
    • Inserting a simple figure
    • Side-by-side figures
    • Figure wrapped by texts
    • Rotated figure
    • Mathematical notations in figures
    • Figures in tables
    • Figures in multi-column documents
    • Changing printing format of figures
    • Figures at the end of a document
    • Editing LaTeX input file involving many figures
  • 10 Figure Drawing
    • Circles and circular arcs
    • Straight lines and vectores
    • Curves
    • Oval boxes
    • Texts in figures
    • Compound figures
  • 11 Equation Writing I
    • Basic mathematical notations and delimiters
    • Mathematical operators
    • Mathematical expressions in text-mode
    • Simple equations
    • Array of equations
    • Left aligning an equation
    • Sub-numbering a set of equations
  • 12 Equation Writing II
    • Texts and blank space in math-mode
    • Conditional expression
    • Evaluation of functional values
    • Splitting an equation into multiple lines
    • Vector and matrix
    • Overlining and underlining
    • Stacking terms
    • Side-by-side equations
  • 13 User-defined Macros
    • Defining new commands
    • Redefining existing commands
    • Defining new environments
    • Redefining existing environments
  • 14 Bibliography with LaTeX
    • Preparation of bibliographic reference database
    • Citing bibliographic references
    • Compiling thebibliography based LaTeX input file
  • 15 Bibliography with BibTeX
    • Preparation of BibTeX compatible reference database
    • Standard bibliographic styles of LaTeX
    • Use of natbib package
    • Compiling BibTeX based LaTeX input files
    • Editing the .bbl file
    • Multiple bibliographies
  • 16 Lists of Contents and Index
    • Lists of contents
    • Making index
  • 17 Miscellaneous I
    • Boxed items
    • Rotated items
  • 18 Miscellaneous II
    • Horizontal rules and dots
    • Hyperlinking referred and cited items
    • Current date and format
    • Highlighted texts
    • Verbatim texts
    • Fragile commands
    • Watermarking on pages
    • Logo in header and footer
    • Paragraphs in different forms
  • 19 Letter and Articles
    • Letter writing
    • Article preparation
  • 20 Book and Report
    • Template of a book
    • Book preparation using a root file
    • Dividing a book into parts
    • Compilation of a book
  • 21 Slide Preparation I
    • Frames in presentation
    • Sectional units in presentation
    • Presentation structure
    • Appearance of a presentation (BEAMER themes)
    • Frame customization
  • 22 Slide Preparation II
    • Piece-wise presentation (BEAMER overlays)
    • Environments in BEAMER class
    • Table and figure in presentation
    • Dividing a frame column-wise
    • Jumping (hyperlink) to other slides
  • 23 Error and Warning Messages
  • Error message
  • Warning message
  • Error without any message
  • Tips for debugging

Latex Wikibook

  • Source
  • Getting started
    1. Introduction
    2. Installation
    3. Installing Extra Packages
    4. Basics
  • Common Elements
    1. Document Structure
    2. Text Formatting
    3. Paragraph Formatting
    4. Colors
    5. Fonts
    6. List Structures
    7. Special Characters
    8. Internationalization
    9. Rotations
    10. Tables
    11. Title Creation
    12. Page Layout
    13. Importing Graphics
    14. Floats, Figures and Captions
    15. Hyperlinks
    16. Labels and Cross-referencing
  • Mechanics
    1. Errors and Warnings
    2. Lengths
    3. Counters
    4. Boxes
    5. Rules and Struts
  • Technical Texts
    1. Mathematics
    2. Advanved Mathematics
    3. Theorems
    4. Chemical Graphics
    5. Algorithms
    6. Source Code Listings
    7. Linguistics
    8. References
    9. External Links
  • Special Pages
    1. Indexing
    2. More Bibliographies
  • Special Documents
    1. Letters
    2. Presentations
    3. Teacher's Corner
    4. Curriculum Vitae
  • Creating Graphics
    1. Introducing Procedural Graphics
    2. MetaPost
    3. Picture
    4. PGF/TikZ
    5. PSTricks
    6. Xy-Pic
    7. Creating 3D Graphics
  • Programming
    1. Macros
    2. Plain Tex
    3. Creating Packages
    4. Themes
  • Miscellaneous
    1. Modular Documents
    2. Collaborative Writing of Latex Documents
    3. Export to Other Formats
  • Help and Recommendations
    1. FAQ
    2. Tips and Tricks
  • Appendices
  1. Authors
  2. Links
  3. Sample Latex Documents
  4. Index

Math into Latex

  • I A short course
    • 1 Typing your first article
  • II Text and math
    • 2 Typing text
    • 3 Text environments
    • 4 Typing math
    • 5 Multiline math displays
  • III Document structure
    • 6 Latex documents
    • 7 Standard Latex document classes
    • 8 AMS-Latex documents
  • IV Customizing
    • 9 Customizing Latex
  • V Long bibligraphies and indexes
    • 10 BibTex
    • 11 MakeIndex
  • VI Appendices
  • A Math symbol tables
  • B Text symbol tables
  • C The AMS-Latex sample article
  • D Sample article with user-defined commands
  • E Background
  • F Postscript fonts
  • G Getting it
  • H Conversions
  • I Final word

More Math into LaTeX

  • I Mission Impossible
    • 1 Short course
    • 2 And a few more things...
  • II Text and Math
    • 3 Typing text
    • 4 Text environments
    • 5 Typing math
    • 6 More math
    • 7 Multiline math displays
  • III Document structure
    • 8 Documents
    • 9 The AMS article document class
    • 10 Legacy documents
  • IV PDF documents
    • 11 The PDF file format
    • 12 Presentations
    • 13 Illustrations
  • V Customization
    • 14 Commands and environments
  • VI Long documents
    • 15 BibTeX
    • 16 MakeIndex
    • 17 Books in LaTeX
  • A Math symbol tables
  • B Text symbol tables
  • C Some background
  • D LaTeX and the internet
  • E PostScript fonts
  • F LaTeX localized
  • G LaTeX on the iPad
  • H Final thoughts

Practical LaTeX

  • 1 Mission impossible
  • 2 Text
  • 3 Text environments
  • 4 Inline formulas
  • 5 Displayed formulas
  • 6 Documents
  • 7 Customizing LaTeX
  • 8 Presentations
  • 9 Illustrations

The Latex graphics companion

  • 1 Graphics with Latex
  • 2 The Latex 2e graphics bundle
  • 3 Working with METAFONT and METAPOST
  • 4 Harnessing PostScript inside Latex: the pstricks package
  • 5 The Xy-pic package
  • 6 Applications in chemistry, physics and engineering
  • 7 Preparing music schores
  • 8 Playing games
  • 9 The world of color
  • 10 Using postscript fonts
  • 11 PostScript drivers and tools

Using imported graphics in Latex

  • I Background information
    • 1 Introduction
    • 2 Latex terminology
    • 3 Encapsulated postscript
    • 4 How eps files are used by latex
    • 5 PDF graphics
    • 6 Graphics software
  • II The Latex graphics bundle
    • 7 Graphics inclusion
    • 8 Rotating and scaling objects
    • 9 Advanced graphics-inclusion commands
  • III Using graphics-inclusion commands
    • 10 Horizontal spacing and centering
    • 11 Rotation, scaling, alignment
    • 12 Overlaying two imported graphics
    • 13 Using subdirectories
    • 14 Compressed and non-EPS graphics files in dvips
    • 15 The psfrag package
    • 16 Including an eps file multiple times
  • IV The figure environment
    • 17 The figure environment
    • 18 Customizing float placement
    • 19 Customizing the figure environment
    • 20 Customizing captions with the caption package
    • 21 Non-floating figures
    • 22 Marginal figures
    • 23 Wide figures
    • 24 Landscape figures
    • 25 Captions beside figures
    • 26 Figures on odd or even pages
    • 27 Boxed figures
  • V Complex figures
  • 28 Side-by-side graphics
  • 29 Separate minipages for captions
  • 30 Placing a table beside a figure
  • 31 Stacked figures and subfigures
  • 32 The subfic package
  • 33 Continued figures and subfigures

TeX in a Nutshell

  • 1 Terminology
  • 2 Formats, engines
  • 3 Searching data
  • 4 Processing the input
  • 5 Vertical and horizontal modes
  • 6 Groups in TeX
  • 7 Box, kern, penalty glue
  • 8 Syntactic rules
  • 9 Principles of macros
  • 10 Math modes
  • 11 Registers
  • 12 Expandable primitive commands
  • 13 Primitive commands at the main processor level
  • 14 Summary of plain TeX macros

The TexBook

  • 1 The name of the game
  • 2 Book printing versus ordinary typing
  • 3 Controlling Tex
  • 4 Fonts of type
  • 5 Grouping
  • 6 Running Tex
  • 7 How Tex reads what you type
  • 8 The characters you type
  • 9 Tex's roman fonts
  • 10 Dimensions
  • 11 Boxes
  • 12 Glue
  • 13 Modes
  • 14 How Tex breaks paragraphs into lines
  • 15 How Tex makes lines into pages
  • 16 Typing math formulae
  • 17 More about math
  • 18 Fine points of mathematics typing
  • 19 Displayed equations
  • 20 Definitions (also called macros)
  • 21 Making boxes
  • 22 Alignment
  • 23 Output routines
  • 24 Summary of vertical mode
  • 25 Summary of horizontal mode
  • 26 Summary of math mode
  • 27 Recovery from errors

Introduction to METAPOST

  • 1 Introduction
  • 2 Overview of the Language
  • 3 Interesting Figures
  • 4 Macro Packages
  • 5 Conclusion

MetaPost for Beginners


Learning METAPOST by doing

  • 1 Introduction
  • 2 A simple example
  • 3 Basic graphical primitives
  • 4 Style directives
  • 5 Transformations
  • 6 Advanced graphics
  • 7 Control structures
  • 8 Macros
  • 9 More examples
  • 10 Solutions to exercises
  • 11 Appendix

The METAFONT book

  • 1 The Name of the Game
  • 2 Coordinates
  • 3 Curves
  • 4 Pens
  • 5 Running METAFONT
  • 6 How METAFONT Reads What You Type
  • 7 Variables
  • 8 Algebraic Expressions
  • 9 Equations
  • 10 Assignments
  • 11 Magnification and Resolution
  • 12 Boxes
  • 13 Drawing, Filling, Erasing
  • 14 Paths
  • 15 Transformations
  • 16 Calligraphic Effects
  • 17 Grouping
  • 18 Definitions (also called Macros)
  • 19 Conditions and Loops
  • 20 More about Macros
  • 21 Random Numbers
  • 22 Strings
  • 23 Online Displays
  • 24 Discreteness and Discretion
  • 25 Summary of Expressions
  • 26 Summary of the Language
  • 27 Recovering from Errors

A Few Notes on Book Design

  • 1 Historical background
    • Galloping through the millenia
    • Making type
    • Book types
    • Setting type
    • Today
    • Setting maths
  • 2 The parts of a book
    • Front matter
    • Main matter
    • Back matter
    • Signatures and casting off
    • Paper
  • 3 The page
    • The shape of a book
    • The spread
    • The typeblock
    • Folios
    • Headers and footers
    • Electronic books
  • 4 Styling the elements
    • Front matter
    • Main matter
    • Back matter
    • Type size
    • Poems and plays
    • Selecting a typeface
  • 5 Picky points
  • Word and line spacing
  • Letterspacing
  • Abbreviations and acronyms
  • Dashes and ellipses
  • Punctuation
  • Narrow measures
  • Emphasis
  • Captions and legends
  • Tables
  • Number formatting

The Memoir Class for Configurable Typesetting

  • 1 Starting off
  • 2 Laying out the page
  • 3 Texts and fonts
  • 4 Titles
  • 5 Abstracts
  • 6 Document divisions
  • 7 Pagination and headers
  • 8 Paragraphs and lists
  • 9 Contents lists
  • 10 Floats and captions
  • 11 Rows and columns
  • 12 Page notes
  • 13 Decorative text
  • 14 Poetry
  • 15 Boxes, verbatims and files
  • 16 Cross referencing
  • 17 Back matter
  • 18 Miscellaneous
  • 19 For package users
  • 20 An example book design
  • 21 An example thesis design
  • A Packages and macros
  • B Showcases
  • C Sniplets
  • D Pictures
  • E LaTeX and TeX
  • F The terrors of errors
  • G Comments

Courses

Curso Introductorio de Latex Falappa

  • TeX viene de tau-epsilon-chi
  • LaTeX fue desarrollado por Leslie Lamport a comienzos de los 80 y agrega ciertas herramientas de abstraccion a TeX.
  • LaTeX sirve para escribir reportes tecnicos, monografias, articulos y libros.

Primeros Pasos

  • Comandos y caracteres especiales
    • palabras reservadas: documentclass, begin, end, emph, etc
    • caracteres especiales: \ { } # \$ % ^ & _ ~
  • Estructura de un libro
  • Oraciones y parrafos
  • Puntos
  • Negrita, italica, subrayado
  • Encabezado de un documento
  • Tipos de documento
  • Paquetes
  • Division de un documento
  • Numeraciones
  • Texto indentado

Ejemplo 1

\documentclass{article}
\begin{document}
\title{Title}
\date{14 de Noviembre de 2020}
\author{Iñaki Garay}
\maketitle
Hello, world!
\end{document}

Ejemplo 2

\documentclass[12pt]{article}
\begin{document}
\title{Title}
\date{14 de Noviembre de 2020}
\author{Iñaki Garay}
\maketitle
\begin{abstract}
This is the abstract.
\end{abstract}
\section{Introduction}
This is the introduction.
\end{document}

Ejemplo 3

\documentclass{book}
\begin{document}
\title{Title}
\date{14 de Noviembre de 2020}
\author{Iñaki Garay}
\maketitle
\tableofcontents
\listoffigures
\listoftables

\chapter{The First Chapter}
\section{The first section of the first chapter}

\begin{thebibliography}
\end{thebibliography}

\end{document}
Homer J. Simpson vs Homer J.\ Simpson
Negrita, Italica, Subrayado
  • \textbf{}
  • \textit{}
  • \emph{}
  • \underline{}

To highlight text don’t use \textit but \emph, because the latter also provides the right logical markup (“emphasize”) and takes care of nesting.

\emph{This is some example text which is emphasized by using an italic font. A \emph{nested highlighted} will be recto (upright)}.
Encabezado
  • El texto que precede a \begin{document} se denomina preambulo.
  • Tiene dos partes;
    • La definicion del tipo de documento a utilizar, y las opciones correspondientes.
    • Los paquetes adicionales que utilizara el mismo.
  • Condiciona los comandos disponibles en el documento (e.g. book admite chapter y article no).
  • Tipos de documentos: report,
  • Paquetes
  • Division de un documento
  • Numeraciones
  • Texto indentado

Formulas, Listas, Enumeraciones, Alineaciones

  • Formulas
  • Listas
  • Enumeraciones
  • Descripciones
  • Anidamientos de items
  • Uso de subitems
  • Anidamiento de enumeraciones
  • Alinenacion de texto
  • Prevenir saltos de lineas

Estilos, Tamaños, Simbolos Especiales, Opciones de Pagina

  • Estilos de letras
  • Tamaños de letras
  • Combinaciones de tipos y tamaños
  • Simbolos especiales
  • Margenes de un documento
  • Ejemplo de ajust de margenes
  • Tipos de documentos
  • Tamaños de pagina
  • Opciones de pagina
  • Paquetes adicionales
  • Estilos de pagina
  • Titulo
  • Verbatim

Formulas Matematicas Avanzadas

  • Formulas
  • Letras griegas
  • Simbolos relacionales
  • Flechas
  • Simbolos miscelaneos
  • Simbolos de tamaño variable
  • Funciones
  • Diferencia entre \[ \] y \( \)
  • Entorno array
  • Alineacion vertical
  • Delimitadores
  • Formulas en varias lineas
  • Superposicion de formulas
  • Espacios en entornos matematicos
  • Estilos en entornos matematicos

Tablas, Separaciones Silabicas

  • Entorno tabular
  • Entorno tabbing
  • Espacios
  • Hyphenation
  • Referencias cruzadas

Bibliografias, Graficos, Entornos, Indices Tematicos

  • Bibliografia
  • Bibliografia sin BibTeX
  • Bibliografia con BibTeX
  • Tipos de fuentes
  • Formatos de bibliografia
  • Archivo bib
  • Formato plain
  • Formato alpha
  • Formato unsrt
  • Formato abbrv
  • Estilo elsevier
  • Estilo kluwer
  • Estilo ASL/JSL
  • Figuras y graficos
  • Figuras en LaTeX
  • Uso de comandos definidos
  • Separar un documento LaTeX
  • Indice tematico
  • Otros temas

Learn X in Y Minutes: Latex

% All comment lines start with %
% There are no multi-line comments

% LaTeX is NOT a "What You See Is What You Get" word processing software like
% MS Word, or OpenOffice Writer

% Every LaTeX command starts with a backslash (\)

% LaTeX documents start with a defining the type of document it's compiling
% Other document types include book, report, presentations, etc.
% The options for the document appear in the [] brackets. In this case
% it specifies we want to use 12pt font.
\documentclass[12pt]{article}

% Next we define the packages the document uses.
% If you want to include graphics, colored text, or
% source code from another language file into your document,
% you need to enhance the capabilities of LaTeX. This is done by adding packages.
% I'm going to include the float and caption packages for figures
% and hyperref package for hyperlinks
\usepackage{caption}
\usepackage{float}
\usepackage{hyperref}

% We can define some other document properties too!
\author{Chaitanya Krishna Ande, Colton Kohnke, Sricharan Chiruvolu \& \\
Svetlana Golubeva}
\date{\today}
\title{Learn \LaTeX{} in Y Minutes!}

% Now we're ready to begin the document
% Everything before this line is called "The Preamble"
\begin{document}
% if we set the author, date, title fields, we can have LaTeX
% create a title page for us.
\maketitle

% If we have sections, we can create table of contents. We have to compile our
% document twice to make it appear in right order.
% It is a good practice to separate the table of contents form the body of the
% document. To do so we use \newpage command
\newpage
\tableofcontents

\newpage

% Most research papers have abstract, you can use the predefined commands for this.
% This should appear in its logical order, therefore, after the top matter,
% but before the main sections of the body.
% This command is available in the document classes article and report.
\begin{abstract}
 \LaTeX{} documentation written as \LaTeX! How novel and totally not
 my idea!
\end{abstract}

% Section commands are intuitive.
% All the titles of the sections are added automatically to the table of contents.
\section{Introduction}
Hello, my name is Colton and together we're going to explore \LaTeX!

\section{Another section}
This is the text for another section. I think it needs a subsection.

\subsection{This is a subsection} % Subsections are also intuitive.
I think we need another one.

\subsubsection{Pythagoras}
Much better now.
\label{subsec:pythagoras}

% By using the asterisk we can suppress LaTeX's inbuilt numbering.
% This works for other LaTeX commands as well.
\section*{This is an unnumbered section}
However not all sections have to be numbered!

\section{Some Text notes}
%\section{Spacing} % Need to add more information about space intervals
\LaTeX{} is generally pretty good about placing text where it should
go. If
a line \\ needs \\ to \\ break \\ you add \textbackslash\textbackslash{}
to the source code.

Separate paragraphs by empty lines.

You need to add a backslash after abbreviations (if not followed by a comma), because otherwise the spacing after the dot is too large:
E.g., i.e., etc.\ are are such abbreviations.

\section{Lists}
Lists are one of the easiest things to create in \LaTeX! I need to go shopping
tomorrow, so let's make a grocery list.
\begin{enumerate} % This creates an "enumerate" environment.
  % \item tells the enumerate to increment
  \item Salad.
  \item 27 watermelon.
  \item A single jackrabbit.
  % we can even override the item number by using []
  \item[how many?] Medium sized squirt guns.

  Not a list item, but still part of the enumerate.

\end{enumerate} % All environments must have an end.

\section{Math}

One of the primary uses for \LaTeX{} is to produce academic articles
or technical papers. Usually in the realm of math and science. As such,
we need to be able to add special symbols to our paper!

Math has many symbols, far beyond what you can find on a keyboard;
Set and relation symbols, arrows, operators, and Greek letters to name a few.

Sets and relations play a vital role in many mathematical research papers.
Here's how you state all x that belong to X, $\forall$ x $\in$ X.
% Notice how I needed to add $ signs before and after the symbols. This is
% because when writing, we are in text-mode.
% However, the math symbols only exist in math-mode.
% We can enter math-mode from text mode with the $ signs.
% The opposite also holds true. Variable can also be rendered in math-mode.
% We can also enter math mode with \[\]

\[a^2 + b^2 = c^2 \]

My favorite Greek letter is $\xi$. I also like $\beta$, $\gamma$ and $\sigma$.
I haven't found a Greek letter yet that \LaTeX{} doesn't know
about!

Operators are essential parts of a mathematical document:
trigonometric functions ($\sin$, $\cos$, $\tan$),
logarithms and exponentials ($\log$, $\exp$),
limits ($\lim$), etc.\
have pre-defined LaTeX commands.
Let's write an equation to see how it's done:
$\cos(2\theta) = \cos^{2}(\theta) - \sin^{2}(\theta)$

Fractions (Numerator-denominators) can be written in these forms:

% 10 / 7
$$ ^{10}/_{7} $$

% Relatively complex fractions can be written as
% \frac{numerator}{denominator}
$$ \frac{n!}{k!(n - k)!} $$

We can also insert equations in an ``equation environment''.

% Display math with the equation 'environment'
\begin{equation} % enters math-mode
    c^2 = a^2 + b^2.
    \label{eq:pythagoras} % for referencing
\end{equation} % all \begin statements must have an end statement

We can then reference our new equation!
Eqn.~\ref{eq:pythagoras} is also known as the Pythagoras Theorem which is also
the subject of Sec.~\ref{subsec:pythagoras}. A lot of things can be labeled:
figures, equations, sections, etc.

Summations and Integrals are written with sum and int commands:

% Some LaTeX compilers will complain if there are blank lines
% In an equation environment.
\begin{equation}
  \sum_{i=0}^{5} f_{i}
\end{equation}
\begin{equation}
  \int_{0}^{\infty} \mathrm{e}^{-x} \mathrm{d}x
\end{equation}

\section{Figures}

Let's insert a figure. Figure placement can get a little tricky.
I definitely have to lookup the placement options each time.

\begin{figure}[H] % H here denoted the placement option.
    \centering % centers the figure on the page
    % Inserts a figure scaled to 0.8 the width of the page.
    %\includegraphics[width=0.8\linewidth]{right-triangle.png}
    % Commented out for compilation purposes. Please use your imagination.
    \caption{Right triangle with sides $a$, $b$, $c$}
    \label{fig:right-triangle}
\end{figure}

\subsection{Table}
We can also insert Tables in the same way as figures.

\begin{table}[H]
  \caption{Caption for the Table.}
  % the {} arguments below describe how each row of the table is drawn.
  % Again, I have to look these up. Each. And. Every. Time.
  \begin{tabular}{c|cc}
    Number &  Last Name & First Name \\ % Column rows are separated by &
    \hline % a horizontal line
    1 & Biggus & Dickus \\
    2 & Monty & Python
  \end{tabular}
\end{table}

\section{Getting \LaTeX{} to not compile something (i.e.\ Source Code)}
Let's say we want to include some code into our \LaTeX{} document,
we would then need \LaTeX{} to not try and interpret that text and
instead just print it to the document. We do this with a verbatim
environment.

% There are other packages that exist (i.e. minty, lstlisting, etc.)
% but verbatim is the bare-bones basic one.
\begin{verbatim}
  print("Hello World!")
  a%b; % look! We can use % signs in verbatim.
  random = 4; #decided by fair random dice roll
\end{verbatim}

\section{Compiling}

By now you're probably wondering how to compile this fabulous document
and look at the glorious glory that is a \LaTeX{} pdf.
(yes, this document actually does compile).

Getting to the final document using \LaTeX{} consists of the following
steps:
  \begin{enumerate}
    \item Write the document in plain text (the ``source code'').
    \item Compile source code to produce a pdf.
     The compilation step looks like this (in Linux): \\
     \begin{verbatim}
        > pdflatex learn-latex.tex
     \end{verbatim}
  \end{enumerate}

A number of \LaTeX{} editors combine both Step 1 and Step 2 in the
same piece of software. So, you get to see Step 1, but not Step 2 completely.
Step 2 is still happening behind the scenes\footnote{In cases, where you use
references (like Eqn.~\ref{eq:pythagoras}), you may need to run Step 2
multiple times, to generate an intermediary *.aux file.}.
% Also, this is how you add footnotes to your document!

You write all your formatting information in plain text in Step 1.
The compilation part in Step 2 takes care of producing the document in the
format you defined in Step 1.

\section{Hyperlinks}
We can also insert hyperlinks in our document. To do so we need to include the
package hyperref into preamble with the command:
\begin{verbatim}
    \usepackage{hyperref}
\end{verbatim}

There exists two main types of links: visible URL \\
\url{https://learnxinyminutes.com/docs/latex/}, or
\href{https://learnxinyminutes.com/docs/latex/}{shadowed by text}
% You can not add extra-spaces or special symbols into shadowing text since it
% will cause mistakes during the compilation

This package also produces list of thumbnails in the output pdf document and
active links in the table of contents.

\section{End}

That's all for now!

% Most often, you would want to have a references section in your document.
% The easiest way to set this up would be by using the bibliography section
\begin{thebibliography}{1}
  % similar to other lists, the \bibitem command can be used to list items
  % each entry can then be cited directly in the body of the text
  \bibitem{latexwiki} The amazing \LaTeX{} wikibook: \emph{https://en.wikibooks.org/wiki/LaTeX}
  \bibitem{latextutorial} An actual tutorial: \emph{http://www.latex-tutorial.com}
\end{thebibliography}

% end the document
\end{document}


Example

\documentclass[a4,12pt]{book}
% Document class can be: article, report, book, letter
% Two-column article: \documentclass[twocolumn]{article}
% A4 book with 11pt font: \documentclass[a4,11pt]{book}
% Presentation: \documentclass[25pt,landscape,headrule]{foils}

% Page options:
% final/draft
% oneside/twoside Default is oneside, except for book where it is twoside.
% openright/openany Openright; chapters begin on right side pages only. Only for report (default openany) and book (default openright).
% onecolumn/twocolumn
% notitlepage/titlepage Titlepage makes \maketitle use a separate page for title and abstract.
% leqno Makes equation numbers appear to the left.
% fleqn Makes mathematical forumalas align left.

\usepackage[spanish]{babel}
\selectlanguage{spanish}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{eucal}
\usepackage{latexsym} % for more symbols

% Margins

\pageheight
\pagewidth

\voffset % The distance between the top of the page and the beginning of the top margin.
\hoffset % The distance between the left side of the page and the odd side margin.

\topmargin % The height of the top margin.
\headheight % The height of the header.
\headsep % The separation between the header and the text.

\textheight
\textwidth

\oddsidemargin
\evensidemargin

\footskip

\marginparwidth
\marginparsep

\begin{document}

% Title

\title{}
\author{ Number One \and Number Two }
\date{}
\maketitle
\tableofcontents
\listoffigures
\listoftables

% Abstract is for article document class
\begin{abstract}
\end{abstract}

% Page styles

Pagestyles define the dimensions and page styles of the header and footer of a page.

\pagestyle{option}

option may be:
plain header is empty and footer has page number
empty both header and footer are empty
headings the header is determined by the document class, normally the section name and the page number
myheadings like headings, except the header content is specified by the user.

When myheadings is used, the header may be specified with:
\markright{}
\markboth{lefthead}{righthead}
\thispagestyle{options} % is like \pagestyle but applies only to the current page

The page numbering is determined with the command:
\pagenumbering{numstyle}

where numstyle may be:
arabic
roman
Roman
alph
Alph

% Document structure

% Chapter is for book or report document class
% Section and subsection are allowed in article document class
\part{}
\chapter{}
\section{}
\subsection{}
\subsubsection{}
\paragraph{}
\subparagraph{}

% Special characters

``Quote marks''

\'{A} Accent.

\~{N} N tilde.

% Text styles

\emph{Emphasized.}
{\em Also emphasized.}
\emph{Emphasized text \emph{within} Emphasized text.}
\begin{emph}
Also emphasized.
\end{emph}

\textbf{Bold face.}
{\bf Also bold face.}
\begin{bf}
Also boldface.
\end{bf}

\underline{Underlined.}

\textsf{Sans Serif}
\textsc{Uppercase}
\textsl{Inclinated}
\texttt{Terminal}
\verb"Verbatim"

\begin{verbatim}
\end{verbatim}

\begin{verbatim*}
In this mode whitespace characters are printed with a special character.
\end{verbatim*}

\begin{quote}
\end{quote}

\begin{itemize}
 \item[] Text
 \item[] Text
\end{itemize}

\begin{enumerate}
 \item[] Text
 \item[] Text
\end{enumerate}

{\tiny         Tiny}
{\scriptsize   Scriptsize}
{\footnotesize Footnotesize}
{\small        Small}
{\normalsize   Normalsize}
{\large        large}
{\Large        Large}
{\huge         huge}
{\Huge         Huge}

\noindent
Some text.

\textmd{Is the same as normalsize.}

\# \$ \% \& \_ \{ \}
\verb"^"
\verb"~"
\verb"\"

% Symbols
\LaTeX

% Greek letters
\alpha
\beta
\gamma
\delta
\epsilon
\varepsilon
\zeta
\eta
\theta
\vertheta
\iota
\kappa
\lambda
\mu
\nu
\xi
\pi
\varpi
\rho
\varrho
\sigma
\varsigma
\tau
\upsilon
\phi
\varphi
\chi
\psi
\omega

\Gamma
\Delta
\Theta
\Lambda
\Xi
\Pi
\Sigma
\Upsilon
\Phi
\Psi
\Omega

% Binary operators
\pm
\mp
\times
\div
\ast
\star
\circ
\bullet
\cdot
\cap
\cup
\uplus
\sqcap
\sqcup
\vee
\wedge
\setminus
\wr
\diamond
\bigtriangleup
\bigtriangledown
\triangleleft
\triangleright
\oplus
\odot
\bigcirc
\dagger
\ddagger
\amalg

% Relational symbols

% Arrows

% Miscellaneous

% Variable size symbols

% Functions

% Formulas

% Difference between \[ \] and \( \)

% Array environment

El entorno tiene un unico argumento que especifica el numero de columnas y la alineacion de los elementos dentro de la columna.
c el elemento va centrado
l el elemento va justificado a la izquierda
r el elemento va justificado a la derehca
Las filas adyacentes van separadas por \\
Los elementos dentro de una fila van separados por &
No debe haber un & despues del ultimo item en una fila ni un \\ despues de la ultima fila

\[
\begin{array}{clcr}
a+b+c & uv    & 27       \\
a+b   & u+v   & 134      \\
a     & 3u+vw & xyz & 65 \\
a^2   & u^{-1} & z  & 0
\end{array}
\]

% Alineacion vertical
Latex dibuja una linea horizontal central imaginaria a lo largo de cada formula, a la altura de un hipotetico signo menos.
Los items un una fila de un arreglo se posicionan verticalmente de modo que sus lineas centrales estan a la misma altura.
Se puede cambiar la posicion de un entorno array (por default esta centrado)
El argumento opcional t indica que se alineara con la primera linea del arreglo.
El argumento opcional b indica que se alineara con la ultima linea del arreglo.

\[
x -
\begin{array}{c}
a_1    \\
\vdots \\
a_n    \\
\end{array}
+
\begin{array}[t]{cl}
u - v & 13                                       \\
u + v & \begin{array}[b]{r}12 \\ 144 \end{array}
\end{array}
\]

% Delimitadores

% Tables
El entorno tabular es similar al entorno array pero se puede usar en modo texto y en modo matematico.
Dentro de los argumentos, pueden ir c, l, r igual que en array, y ademas | coloca una barra vertical simple.
Un comando \hline despues de un \\ o al comienzo del entorno dibuja una lina horizontal a lo largo de la tabla.
El comando \cline{i-j} dibuja una linea horizontal entre las columnas i y j inclusive.
Un item de una tabla puede expandirse en varias en varias columnas utilizando el comando:
\multicolumn{cols}{pos}{text}
cols es el numero de columnas a expandir
pos es su posicion
text es el texto del item

\begin{tabular}{||l|lr||} \hline \hline
\textbf{Equipo} & \textbf{Zone} & \textbf{Puntos} \\ \hline \hline
Licenciados     & Norte         & 25              \\ \hline
Ingenieros      & Sur           & 24              \\ \hline
Profesores      & Centro        & 22              \\ \hline \hline
\end{tabular}

\begin{tabular}{||l|lr||} \hline
Papas   & Horno   & \$ 2.00 \\ \cline{2-3}
        & Fritas  & \$ 3.00 \\ \hline
Asado   & Parilla & \$ 8.00 \\ \hline
Chorizo &         & \$ 4.00 \\ \hline
Vino    & Rosado  & \$ 9.00 \\ \hline
\end{tabular}


\begin{tabular}{||l|l|r||} \hline \hline
\textbf{Equipo} & \multicolumn{2}{c||}{\emph{Camiseta}} \\ \hline
River           & Blanco & Rojo     \\
Boca            & Azul   & Amarillo \\
San Lorenzo     & Rojo   & Azul     \\
Olimpo          & Negro  & Amarillo \\ \hline \hline
\end{tabular}

Tabbing environment

El entorno tabbing permite alinear texto como el entorno tabular, pero sin separar mediante lineas verticales y horizontales.
Permite alinear texto definiendo tabulaciones.
Las tabulaciones se definen con \= y el \> permite desplazarse hasta la proxima tabulacion.
Las lineas se separan con \\
Un comando \= puede resetear una antigua tabulacion
Un comando \kill en lugar de \\ al final de una linea define las tabulaciones pero no muestra a esa linea en la salida

\begin{tabbing}
Los hermanos sean \= unidos                          \\
                  \> porque esa es la ley primera    \\
                  \> tengan union verdader           \\
                  \> en cualquier tiempo que sea     \\
                  \> porque si entre ellos se pelean \\
                  \> los devoran los de afuera
\end{tabbing}

\begin{tabbing}
Si no se     \= definen bien las tabulaciones    \\
las          \> palabras pueden verse bien o ... \\
superponerse \> //// entre ellas
\end{tabbing}

\begin{tabbing}
Columna 1 \= Columna 2 \= Columna 3 \\
A \> B  \> C \\
a \> b  \> c \\
Nueva Columna 1 \= Nueva Columna 2 \= Nueva Columna 3 \\
A               \> B               \> C \\
a               \> b               \> c
\end{tabbing}

\begin{tabbing}
Carpinteria \= Anaranjado \= Hipertension \kill
Uno         \> Dos        \> Tres         \\
Cuatro      \> Cinco      \> Seis         \\
Siete       \> Ocho       \> Nueve
\end{tabbing}

% The bibliography is for book document class
\begin{thebbibliography}
\end{thebibliography}

\end{document}

Logica para Ciencias de la Computacion: TP3

%
% Lógica para Ciencias de la Computación,
% Primer Cuatrimestre de 2006
%
% Trabajo Práctico Número 3bis
%

\documentclass[12pt]{article}

\usepackage[spanish]{babel}
\selectlanguage{spanish}

\input{Defs}

\newcommand{\then}{\rightarrow}
\newcommand{\tab}{\hspace{1.5cm}}
\setlength{\tabcolsep}{0.5mm}

\begin{document}

\begin{center}

\begin{tabular}{lcl}
\hspace{.85in} & \large Departamento de Cs.\ e Ingenier\'{\i}a de
la Computaci\'on & \hspace{.85in} \\
& \large Universidad Nacional del Sur \\
\smash{\includegraphics[width=.70in,height=.75in]{DeptoLogo.eps}} &
& \hspace{.10in} \smash{\includegraphics[width=.78in,height=.78in]{UniLogo.eps}} \\
\end{tabular}

\vspace{4mm}

{\Large\sc L\'ogica para Ciencias de la Computaci\'on} \\[4pt]
{\bf Pruebas Sint\'acticas} \\[4pt]
Primer Cuatrimestre de 2006

\end{center}

\section*{Convenciones adoptadas}

\setlength{\tabcolsep}{1.5mm}
\begin{tabular}{cl}
\sf Def. Deducci\'on & Definici\'on de deducci\'on.\\
\sf MP ($x$,$y$) & Consecuencia directa, por Modus Ponens, de $x$ e $y$.\\
\sf TD ($x$) & Teorema de la Deducci\'on aplicado a $x$.\\
\sf Transitividad & Tercer propiedad de la deducci\'on (no confundir con Lema 2.3.4). \\
\sf Lema $n$ & Lema $n$, seg\'un ``Truth, Deduction and Computation'' (R. Davis). \\
\sf L1 & Instancia del axioma $A\then(B\then A)$.\\
\sf L2 & Instancia del axioma $(A\then(B\then C))\then((A\then B)\then(A\then C))$.\\
\sf L3 & Instancia del axioma $(\neg B\then\neg A)\then((\neg B\then A)\then B)$.\\
\end{tabular}

\section*{Soluciones}

\subsubsection*{(a) $\neg\neg A\then A$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & $\neg\neg A$ & $\vdash$ & $\neg\neg A$ & Def. Deducci\'on \\
2. & \ & $\vdash$ & $(\neg A\then\neg\neg A)\then((\neg A\then\neg A)\then A)$ & {\bf L3} \\
3. & \ & $\vdash$ & $\neg\neg A\then(\neg A\then\neg\neg A)$ & {\bf L1} \\
4. & $\neg\neg A$ & $\vdash$ & $\neg A\then\neg\neg A$ & MP (1,3) \\
5. & $\neg\neg A$ & $\vdash$ & $(\neg A\then\neg A)\then A$ & MP (4,2) \\
6. & \ & $\vdash$ & $\neg A\then\neg A$ & Lema 2.3.2 \\
7. & $\neg\neg A$ & $\vdash$ & $A$ & MP (5,2) \\
8. & \ & $\vdash$ & $\neg\neg A\then A$ & TD (7) \\
\end{tabular*}

\subsubsection*{(b) $A,B \vdash \neg(A\then\neg B)$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & $A$ & $\vdash$ & $A$ & Def. Deducci\'on \\
2. & $B$ & $\vdash$ & $B$ & Def. Deducci\'on \\
3. & \  & $\vdash$ & $(\neg\neg(A\then\neg B)\then\neg B)\then$ \\
\ & \ & \ & \tab $((\neg\neg(A\then\neg B)\then B)\then\neg(A\then\neg B))$ & {\bf L3} \\
4. & \ & $\vdash$ & $\neg\neg(A\then\neg B)\then(A\then\neg B)$ & Ejercicio (a) \\
5. & $A\then\neg B$ & $\vdash$ & $A\then\neg B$ & Def. Deducci\'on \\
6. & $A,A\then\neg B$ & $\vdash$ & $\neg B$ & MP (1,5) \\
7. & $A$ & $\vdash$ & $(A\then\neg B)\then\neg B$ & TD (6) \\
8. & $A$ & $\vdash$ & $\neg\neg(A\then\neg B)\then\neg B$ & Lema 2.3.4 (4,7) \\
9. & $A$ & $\vdash$ & $(\neg\neg(A\then\neg B)\then B)\then\neg(A\then\neg B)$ & MP (3,8) \\
10. & \ & $\vdash$ & $B\then(\neg\neg(A\then\neg B)\then B)$ & {\bf L1} \\
11. & $B$ & $\vdash$ & $\neg\neg(A\then\neg B)\then B$ & MP (2,10) \\
12. & $A,B$ & $\vdash$ & $\neg(A\then\neg B)$ & MP (11,9) \\
\end{tabular*}

\ \\
\noindent {\sc Observaci\'on:} Los pasos {\bf 5}, {\bf 6} y {\bf 7} prueban un
resultado intermedio necesario para la demostraci\'on. No constituye una
prueba auxiliar independiente pues se considera que el resultado es muy
espec\'{\i}fico.

\subsubsection*{(c) $\vdash A\equiv\neg\neg A$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & \ & $\vdash$ & $(\neg\neg\neg A\then\neg A)\then((\neg\neg\neg A\then A)\then\neg\neg A)$ & {\bf L3} \\
2. & \ & $\vdash$ & $\neg\neg\neg A\then\neg A$ & Ejercicio (a) \\
3. & \ & $\vdash$ & $(\neg\neg\neg A\then A)\then\neg\neg A$ & MP (2,1) \\
4. & \ & $\vdash$ & $A\then(\neg\neg\neg A\then A)$ & {\bf L1} \\
5. & \ & $\vdash$ & $A\then\neg\neg A$ & Lema 2.3.4 (4,3) \\
6. & \ & $\vdash$ & $\neg\neg A\then A$ & Ejercicio (a) \\
7. & \ & $\vdash$ & $A\equiv\neg\neg A$ & Ejercicio (b) (5,6) \\
\end{tabular*}

\subsubsection*{(d) $\vdash (A\then B)\then(\neg B\then\neg A)$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & \ & $\vdash$ & $(\neg\neg A\then\neg\neg B)\then((\neg\neg A\then \neg B)\then\neg A)$ & {\bf L3} \\
2. & \ & $\vdash$ & $\neg\neg A\then A$ & Ejercicio (a) \\
3. & $A\then B$ & $\vdash$ & $A\then B$ & Def. Deducci\'on \\
4. & $A\then B$ & $\vdash$ & $\neg\neg A\then B$ & Lema 2.3.4 (2,3) \\
5. & \ & $\vdash$ & $B\then\neg\neg B$ & Prueba Aux. (1) \\
6. & $A\then B$ & $\vdash$ & $\neg\neg A\then\neg\neg B$ & Lema 2.3.4 (4,5) \\
7. & $A\then B$ & $\vdash$ & $(\neg\neg A\then\neg B)\then\neg A$ & MP (6,1) \\
8. & \ & $\vdash$ & $\neg B\then(\neg\neg A\then\neg B)$ & {\bf L1} \\
9. & $A\then B$ & $\vdash$ & $\neg B\then\neg A$ & Lema 2.3.4 (8,7) \\
10. & \ & $\vdash$ & $(A\then B)\then(\neg B\then\neg A)$ & TD (9) \\
\end{tabular*}

\subsubsection*{(e) $\neg(A\then\neg B) \vdash B$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & \ & $\vdash$ & $(\neg B\then\neg(A\then\neg B))\then ((\neg B\then(A\then\neg B))\then B)$ & {\bf L3} \\
2. & \ & $\vdash$ & $\neg(A\then\neg B)\then(\neg B\then\neg(A\then\neg B))$ & {\bf L1} \\
3. & $\neg(A\then\neg B)$ & $\vdash$ & $\neg(A\then\neg B)$ & Def. Deducci\'on \\
4. & $\neg(A\then\neg B)$ & $\vdash$ & $\neg B\then\neg(A\then\neg B)$ & MP (3,2) \\
5. & $\neg(A\then\neg B)$ & $\vdash$ & $(\neg B\then(A\then\neg B))\then B$ & MP (1,4) \\
6. & \ & $\vdash$ & $\neg B\then(A\then\neg B)$ & {\bf L1} \\
7. & $\neg(A\then\neg B)$ & $\vdash$ & $B$ & MP (6,5) \\
\end{tabular*}

\subsubsection*{(f) Si $A,B \vdash C$, entonces $\neg(A\then\neg B) \vdash C$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & $\neg(A\then\neg B)$ & $\vdash$ & $A$ & Prueba Aux. (2) \\
2. & $\neg(A\then\neg B)$ & $\vdash$ & $B$ & Ejercicio (e) \\
3. & $A,B$ & $\vdash$ & $C$ & Hip\'otesis \\
4. & $\neg(A\then\neg B)$ & $\vdash$ & $C$ & Transitividad (1,2,3) \\
\end{tabular*}

\subsubsection*{(g) $A \vdash \neg\neg(A\then\neg B)\then\neg B$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & $\neg\neg(A\then\neg B)$ & $\vdash$ & $\neg\neg(A\then\neg B)$ & Def. Deducci\'on \\
2. & \ & $\vdash$ & $\neg\neg(A\then\neg B)\then(A\then\neg B)$ & Ejercicio (a) \\
3. & $\neg\neg(A\then\neg B)$ & $\vdash$ & $A\then\neg B$ & MP (1,2) \\
4. & $A$ & $\vdash$ & $A$ & Def. Deducci\'on \\
5. & $A,\neg\neg(A\then\neg B)$ & $\vdash$ & $\neg B$ & MP (4,3) \\
6. & $A$ & $\vdash$ & $\neg\neg(A\then\neg B)\then\neg B$ & TD (5) \\
\end{tabular*}

\subsubsection*{(h) Si $\vdash P\then A$ y $\vdash P\then B$, entonces $\vdash P\then \neg(A\then\neg B)$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & $P$ & $\vdash$ & $P$ & Def. Deducci\'on \\
2. & \ & $\vdash$ & $P\then A$ & Hip\'otesis \\
3. & $P$ & $\vdash$ & $A$ & MP (1,2) \\
4. & \ & $\vdash$ & $P\then B$ & Hip\'otesis \\
5. & $P$ & $\vdash$ & $B$ & MP (1,4) \\
6. & $A,B$ & $\vdash$ & $\neg(A\then\neg B)$ & Ejercicio (b) \\
7. & $P$ & $\vdash$ & $\neg(A\then\neg B)$ & Transitividad (3,5,6) \\
8. & \ & $\vdash$ & $P\then\neg(A\then\neg B)$ & TD (7) \\
\end{tabular*}

\subsubsection*{(i) $\vdash \neg A\then(A\then B)$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & \ & $\vdash$ & $\neg A\then(\neg B\then\neg A)$ & {\bf L1} \\
2. & \ & $\vdash$ & $(\neg B\then\neg A)\then(A\then B)$ & Lema 2.3.5 \\
3. & \ & $\vdash$ & $\neg A\then(A\then B)$ & Lema 2.3.4 (1,2) \\
\end{tabular*}

\section*{Pruebas Auxiliares}

\subsubsection*{(1) $\vdash A\equiv\neg\neg A$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & \ & $\vdash$ & $(\neg\neg\neg A\then\neg A)\then((\neg\neg\neg A\then A)\then\neg\neg A)$ & {\bf L3} \\
2. & \ & $\vdash$ & $\neg\neg\neg A\then\neg A$ & Ejercicio (a) \\
3. & \ & $\vdash$ & $(\neg\neg\neg A\then A)\then\neg\neg A$ & MP (2,1) \\
4. & \ & $\vdash$ & $A\then(\neg\neg\neg A\then A)$ & {\bf L1} \\
5. & \ & $\vdash$ & $A\then\neg\neg A$ & Lema 2.3.4 (4,3) \\
\end{tabular*}

\subsubsection*{(2) $\neg(A\then\neg B) \vdash A$}
\begin{tabular*}{170mm}{lrcl@{\extracolsep{\fill}}r}
1. & $\neg(A\then\neg B)$ & $\vdash$ & $\neg(A\then\neg B)$ & Def. Deducci\'on \\
2. & \ & $\vdash$ & $(\neg A\then\neg(A\then\neg B))\then((\neg A\then(A\then\neg B))\then A)$ & {\bf L3} \\
3. & \ & $\vdash$ & $\neg(A\then\neg B)\then(\neg A\then\neg(A\then\neg B))$ & {\bf L1} \\
4. & $\neg(A\then\neg B)$ & $\vdash$ & $\neg A\then\neg(A\then\neg B)$ & MP (1,3) \\
5. & $\neg(A\then\neg B)$ & $\vdash$ & $(\neg A\then(A\then\neg B))\then A$ & MP (4,2) \\
6. & \ & $\vdash$ & $\neg A\then(\neg\neg B\then\neg A)$ & {\bf L1} \\
7. & \ & $\vdash$ & $(\neg\neg B\then\neg A)\then(A\then\neg B)$ & Lema 2.3.5 \\
8. & \ & $\vdash$ & $\neg A\then(A\then\neg B)$ & Lema 2.3.4 (6,7) \\
9. & $\neg(A\then\neg B)$ & $\vdash$ & $A$ & MP (8,5) \\
\end{tabular*}

\end{document}

Networking commands

Configuracion de IP

ip address show                         muestra direccion ip y mac asociadas a distintas interfaces y si esta up
ip address add x.x.x.x/y dev ethz       asocia la ip x.x.x.x con mascara y a la interfaz ethz
ip address del x.x.x.x/y dev ethz       desasocia la ip x.x.x.x con mascara y a la interfaz ethz
ip address flush dev ethz               borra todas las direcciones asociadas a ethz y limpia su cache
ip link show                            muestra las direcciones mac asociadas a todas las interfaces y si estan up
ip link set ethx up                     levanta la interfaz asignada
arp                                     muestra el mapeo ip - mac en cache

Ruteo

ip route flush table main               flushea la tabla principal de ruteo
ip route add x.x.x.x/y via z.z.z.z      agrega la fila a la tabla de ruteo estandar
ip route show                           muestra la tabla de ruteo estandar
traceroute x.x.x.x                      nos informa la ruta tomada por los paquetes a traves de la red
ping x.x.x.x                            nos informa si el host x.x.x.x es alcanzable
ip neigh flush all                      borra todas las tablas arp
tcpdump -ennqti ethx arp                nos da el trafico arp de la interfaz ethx
ip route flush cache                    borra toda la cache de ruteo

Policy Routing

ip rule show                            muestra las reglas de ruteo por default:
                                        0: from all lookup local
                                        32766: from all lookup main
                                        32767: from all lookup default

1) editamos /etc/iproute2/rt_tables
    agregamos una tabla nueva: e.g. `252 isp2`
2) agregamos una ruta a la tabla isp2
    ip route add x.x.x.x/y via z.z.z.z table isp2
3) agregamos la regla que derive a la tabla isp2
    ip rule add from x.x.x.x/y table isp2 prio 10
    prio 10 es para que quede antes de main pero despues de local

Configuracion de ip y rutas con zebra

telnet localhost 2601
password: redes
router> enable                                  pasamos a modo privilegiado
router# configure terminal
router(config)# interface ethx                  entramos en la configuracion de la interface
router(config-if)# ip address x.x.x.x/y         le asignamos la direccion a la interfaz especificada
router(config-if)# no shutdown                  levanta la interfaz asignada
router(config)# ip route x.x.x.x/y z.z.z.z      hace lo mismo que ip route add

Configuracion de ruteo por RIP

telnet localhost 2602
password: redes
router> enable                                  pasamos a modo privilegiado
router# configure terminal
router(config)# router rip                      enciende el modo rip del router
router(config-router)# network x.x.x.x/y        reenvia los datos de ruteo a esa red por multicast
router(config-router)# neighbor x.x.x.x         reenvia los datos de ruteo a ese ip por mensajes simples
                                                (se usa uno u otro, no los dos)
router(config-router)# redistribute connected   redistribuye los datos de las redes conectadas
router(config-router)# redistribute static      redistribuye los datos de las redes configuradas
                                                estaticamente con zebra
router# default-information originate           se pone en el router rip mas cercano a internet,
                                                en el cual estaticamente configuramos la puerta de enlace
router# show ip rip                             muestra las tables de ruteo por rip
router# show run                                muestra la configuracion actual (running config)

DHCP (server side)

1) editamos /etc/default/dhcp-server
    agregamos las interfaces donde va a escuchar el dhcp separadas por un espacio, e.g.
        INTERFACES="eth0 eth1"

2) editamos /etc/dhcp3/dhcpconf
    para definir la subred entera a la cual le daremos servicio:

    subnet x.x.x.x netmask y.y.y.y {
    range x.x.x.x z.z.z.z                           rango del pool asignable
    option routers r.r.r.r                          da la direccion del router (en nuestro caso nuestro ip)
    option domain-name "ejemplo.dominio.com";
    option domain-name-servers x.x.x.x, z.z.z.z;    indica los servers de dns
    }
    host pc-ejemplo {
    hardware ethernet 08:00:07:26:c0:a5;            mac de pc-ejemplo
    fixed-address x.x.x.x;                          le asocia la ip x.x.x.x
                                                    fija una direccion con una mac para darle a una
                                                    maquina la misma ip siempre, debe estar fuera
                                                    del rango del pool
    }

3) levantamos el servicio
    ./etc/init.c/dhcp-server start                  (stop y restart tambien son validos)

4) miramos el log del archivo para comprobar el estado
    tail /var/log/daemon.log

DHCP (client side)

dhclient                                        le pide al servidor dhcp datos

DNS (server side)

1) agregar zonas a /etc/binc/named.conf.local

zone "ejemplo.com" {
type master;
file "/etc/bind/db.ejemplo.com";
};

zone "1.168.192.in-addr.arpa" {                 ip al reves de una red /24
type master;
file "/etc/bind/db.1.168.192.in-addr.arpa";
};

2) creamos los archivos de zonas

no olvidar los punto al final de las direcciones dns
usar tab y no espacio

primero el comun

@   IN  SOA     server.ejemplo.com. mail.ejemplo.com. (
      1  ; Serial
 604800  ; Refresh
  86400  ; Retry
2419200  ; Expire
  86400) ; Negative cache ttl

@   IN  NS      server.ejemplo.com.
server IN A 192.168.1.5     ; ip de la maquina server del dns
miami IN A 192.168.1.10     ; maquina windows

luego el inverso

@   IN  SOA     server.ejemplo.com. root.ejemplo. (
      1  ; Serial
 604800  ; Refresh
  86400  ; Retry
2419200  ; Expire
  86400) ; Negative cache ttl
)

@   IN  NS server.ejemplo.com.
5 IN PTR server         ; las direcciones se escriben de forma inversa y solo la parte que no cubre la mascara
10 IN PTR miami

3) modificar los forwarders
sirve cuando queremos que otro server nos resuelva las consultas que no conocemos directamente

/etc/bind/named.conf.options

forwarders {
172.31.0.253;
172.31.0.254;
}

4) ejecutar el servidor dns

./etc/init.d/bind9 start        (stop y restart tambien son validos)

5) mirar el archivo de log para verificar que esta andando

tail /var/log/daemon.log

## DNS (client side)

vi / etc/resolv.conf

agregar:

search ejemplo.com                      (va sin punto al final)
nameserver x.x.x.x                      (donde x.x.x.x es el server dns)

Prometheus

  • https://prometheus.io/docs/practices/instrumentation/
  • https://itnext.io/monitoring-with-prometheus-using-ansible-812bf710ef43
  • http://trustmeiamadeveloper.com/2016/07/03/bringing-the-light-of-monitoring-with-prometheus/
  • https://alex.dzyoba.com/blog/go-prometheus-service/
  • https://timber.io/blog/prometheus-the-good-the-bad-and-the-ugly/
  • https://improbable.io/games/blog/thanos-prometheus-at-scale
  • https://news.ycombinator.com/item?id=17101267
  • https://www.cncf.io/blog/2018/12/18/cortex-a-multi-tenant-horizontally-scalable-prometheus-as-a-service/
  • https://grafana.com/blog/2020/04/02/cortex-v1.0-released-the-highly-scalable-fast-prometheus-implementation-is-generally-available-for-production-use/
  • https://github.com/yolossn/Prometheus-Basics
  • https://www.blockloop.io/smoking-a-turkey-with-prometheus-home-assistant-and-grafana/

RedDragon DRACONIC Keyboard

Commands of key combinations with [FN1] key

[FN1]+[Win]Disable or enable the [Win] key.
[FN1]+[CAPSLK]Set the keyboard to default setting.
[FN1]+[ESC]’∼
[FN1]+[1!-0)]F1∼F10
[FN1]+[- JF11
[FN1]+[+=]F12
[FN1]±[A]
[FN1]-F[S]
[FN1]+[D]
[FN1]+[W]
[FN 1 ]+[P]PRTSC
[FN 1 ]+[[{)HOME
[FN1]+[]}]END
[FN1]+[;:]PGUP
[FN 1 ]+[.>]INSERT
[FN 1 ]+[/?]DELETE

Commands of key combinations with [FN2] key

[FN2]+[9]Change backlight mode. There are 18 backlight effects.
[FN2]+[8]Change backlight color.
[FN2] + [-1/[+]Brightness +/-, total 6 levels.
[FN2]-F[0]Turn ON/OFF the backlight.
[FN2]+[backspace]Lighting record function.

Press[FN2]+[Backspace] to get ready recording mode, Press[FN2]+[backspace] again to start the recording, then keep pressing the desired key for a favorite LED color, press[FN2]+[backspace] again to save the setting.

Miscellaneous

Climate Modeling

Table of Contents


Notes

With the focus of the world on climate change, researchers have been developing models with increasingly higher resolution and ever-greater integration of critical factors such as sea ice and clouds. Key to these modeling efforts has been the dramatic advance in computer power. This power has also enabled much longer simulations—from months to centuries. And over the next few decades, computers are expected to speed up by a factor of a million. One might well ask, as Dr. David Randall has, "What are we going to do with that next million?" His answer: "Run global cloud-resolving models," or GCRMs, that can be used for both numerical weather prediction and climate simulation. To this end, Dr. Randall and his team are developing a new global nonhydrostatic dynamical core based on a geodesic grid and suitable for use with grid spacings ranging from meters to hundreds of kilometers (figure 3). The geodesic grid has the advantage that all grid cells on the sphere are very nearly the same size, with the largest cells only about 5% larger in area than the smallest, thereby avoiding the problem of computational stability for advection. Moreover, contrary to popular belief, the geodesic grid does permit researchers to construct schemes of arbitrary higher- order accuracy; indeed, Dr. Randall's group has already used third-order- accurate finite-difference schemes. Components of the GCRM are being tested on the Cray XT4 at NERSC, and a high-resolution kernel of the model has exhibited good scaling performance on 10,000 processors.

Continued improvement of climate models also requires evaluation of their parameterizations, for instance for processes driven by subgrid features such as soil characteristics, vegetation, and land use. Dr. Rao Kotamarthi and his team of researchers at Argonne National Laboratory (ANL) and the University of Chicago are exploring the use of "data ensembles" generated through multiple runs to interpolate sparsely located surface measurements into a uniform spatial grid, thereby providing estimates of mean values over the entire domain containing the measurement sites. The method has been used successfully for interpolating surface sensible heat flux data from 14 sites within the DOE Atmospheric Radiation Measurement (ARM) program. The researchers next plan to address other measured parameters, many of which require at least a 10 year time series—some at one-minute intervals. The computational challenge is enormous: for example, at the 1 km resolution, there are approximately 100,000 interpolated locations and 99 simulations of the full time series at each location. To meet this challenge, Kotamarthi and his colleagues plan to use the Common Component Architecture—a component-based approach, supported by the DOE, in which units of software are encapsulated as components that interact with other components through well-defined interfaces.

Groundwater Modeling

One of the most challenging problems in environmental remediation involves hazardous materials that have leached into the subsurface and may be more widely dispersed by groundwater to sensitive water resource areas such as rivers and lakes. As part of the SciDAC groundwater science application area, researchers are developing new techniques to simulate radionuclide transport, in particular uranium, at the DOE Hanford 300 Area in the state of Washington. The task is complicated by the fact that the Hanford Unit is highly permeable and the groundwater has the potential of flowing rapidly with very small pressure gradients in the aquifer. This situation is further aggravated by the rapid fluctuations in the Columbia River, which produce changes, not only in magnitude but also in the flow direction. Uranium is leaching very slowly from the Hanford sediment governed by diffusive mass transfer, at levels that exceed the EPA maximum permissible concentration, prolonging its presence. Dr. Peter C. Lichtner is leading a multi-institutional SciDAC team whose members are developing a multiphase, multicomponent code called PFLOTRAN to simulate the variably saturated groundwater flow and reactive transport of uranium at the site. PFLOTRAN is based on a domain decomposition approach in which the computational problem is divided into subdomains, with one domain assigned to each processor. The Argonne-developed toolkit PETSc is used as a parallel framework for solvers and message passing within PFLOTRAN. According to Dr. Lichtner, "PETSc hides the communication from the user, thus allowing the application scientist to focus on the science (physics and chemistry in this case) rather than worry about the solvers and preconditioners needed." PFLOTRAN has already been run on a one-billion-node problem—an important proof of concept for petascale computing—and has been demonstrated to scale to 27,580 processor cores on the Jaguar XT3 Cray at Oak Ridge National Laboratory (ORNL).

Books

A Climate Modelling Primer

  • 1 Climate
    • 1.1 The components of climate
    • 1.2 Climate change assessment
    • 1.3 Climate forcings
    • 1.4 Climate feedbacks and sensitivity
    • 1.5 Range of questions for climate modelling
  • 2 A history of and introduction to climate models
    • 2.1 Introducing climate modelling
    • 2.2 Types of climate models
    • 2.3 History of climate modelling
    • 2.4 Sensitivity of climate models
    • 2.5 Parameterization climate processes
    • 2.6 Simulation of the full, interacting climate system: one goal of modelling
  • 3 Energy balance models
    • 3.1 Balancing the planetary radiation budget
    • 3.2 The structure of energy balance models
    • 3.3 Parameterizing the climate system for energy balance models
    • 3.4 A baic energy balance climate model
    • 3.5 Energy balance models and glacial cycles
    • 3.6 Box models - another form of energy balance models
    • 3.7 Energy balance models: deceptively simple models
  • 4 Computationally efficient models
    • 4.1 Why lower complexity?
    • 4.2 One-dimensional radiative-convective models
    • 4.3 Radiation: the driver of climate
    • 4.4 Convective adjustment
    • 4.5 Sensitivity experiments with radiative-convective models
    • 4.6 Development of radiative-convective models
    • 4.7 Two-dimensional statistical dynamical climate models
    • 4.8 Other types of copmutationally efficient models
    • 4.9 Why are some climate modellers flatlanders?
  • 5 General circulation climate models
    • 5.1 Three-dimensional models of the climate system
    • 5.2 Atmospheric general circulation models
    • 5.3 Modelling the ocean circulation
    • 5.4 Modelling the cryosphere
    • 5.5 Incorporating vegatation
    • 5.6 Coupling models: towards the AOBGCM
    • 5.7 Using GCMs
  • 6 Evaluation and exploitation of climate models
    • 6.1 Evaluation of climate models
    • 6.2 Exploitation of climate model predictions
    • 6.3 Integrated assessment models
    • 6.4 The future of climate modelling

Crypto

⚠️ WIP ⚠️

Table of Contents


Maps

  • https://www.publish0x.com/mapping-crypto/crypto-map-of-the-day-blockchain-technology-stack-xjjndgy
  • https://digitalmoneytimes.com/introducing-the-2018-map-of-the-blockchain-crypto-ecosystem/
  • https://irp-cdn.multiscreensite.com/f8715447/dms3rep/multi/1df476e7-4423-45d3-8753-e1373b86da8b-original-1300x899.png
  • https://twitter.com/evankirstel/status/907010844197888000
  • https://www.reddit.com/r/CryptoCurrencies/comments/7htra6/the_crypto_assets_map_november2017_update/
  • https://www.scribd.com/document/394881141/Crypto-Map-Version-1-0
  • https://www.publish0x.com/mapping-crypto/the-worlds-best-crypto-map-v02-xrylyxp

Cryptography

History

Elliptic Curves

Pseudo-Random Number Generators

Fully homomorphic Encryption

Verifiable Random Functions

Zero Knowledge Proofs

SNARKS

Circom

STARKS

Blockchains/Cryptocurrencies

Merkle Trees

Distributed Ledgers

Consensus

Proof of Work
Proof of History
Proof of Stake
Proof of Succinct Work

L2s

Roll-ups

Smart Contracts

Fungible Token

Fungible tokens are those tokens that are identical to each other and can be exchanged indistinctive from one another. Some examples are US Dollars, Bitcoins, ETH, etc.

  • ERC-20

Non-Fungible Token

NFT Stands for non-fungible token. NFTs are tokens which are unique and cannot be traded at equivalency. As an example, a game developer could implement an NFT for some inventory item to guarantee that it only has one owner that can use it in-game.

Oracles

Advertising

Blockchains & Platforms

Bitcoin

Lightning

Misc

Economics and Finances

Mining

Ethereum

EIPs

The Merge (Proof Of Stake)

MEV

Foundry

Monero

ZCash

Solana

Cardano

Starkware

Aleo

Criticism


Notes

  • Cryptographic Concepts
    • Symmetric Cryptography
    • Asymmetric Cryptography
    • Cryptographic Nonce A nonce word (also called an occasionalism) is a lexeme created for a single occasion to solve an immediate problem of communication. In cryptography, a nonce is an arbitrary number that can be used just once in a cryptographic communication. It is similar in spirit to a nonce word, hence the name. It is often a random or pseudo-random number issued in an authentication protocol to ensure that old communications cannot be reused in replay attacks. They can also be useful as initialization vectors and in cryptographic hash functions. Wikipedia.
  • Distributed Ledgers
  • Zero-Knowledge Proofs A Zero knowledge proof is a proof that we know a secret, without revealing anything about the secret.
    • Zero Knowledge Protocol A zero-knowledge protocol is a protocol to produce zero knowledge proofs. They must satisfy these three properties:
      • Completeness: if the statement is true, the honest verifier (that is, one following the protocol properly) will be convinced of this fact by an honest prover.
      • Soundness: if the statement is false, no cheating prover can convince the honest verifier that it is true, except with some small probability.
      • Zero-knowledge: if the statement is true, no verifier learns anything other than the fact that the statement is true. In other words, just knowing the statement (not the secret) is sufficient to imagine a scenario showing that the prover knows the secret. This is formalized by showing that every verifier has some simulator that, given only the statement to be proved (and no access to the prover), can produce a transcript that "looks like" an interaction between the honest prover and the verifier in question.
    • Intuitions
      • Colored Balls
      • Where's Waldo
      • Graph Coloring
    • Non-interactive Zero-Knowledge Proofs
    • Succint Non-interactive Zero-Knowledge Proofs

Books

Mastering Blockchain

  • Contents
    • 1 Blockchain 101
    • 2 Decentralization
    • 3 Symmetric Cryptography
    • 4 Public Key Cryptography
    • 5 Consensus Algorithms
    • 6 Introducing Bitcoin
    • 7 The Bitcoin Network and Payments
    • 8 Bitcoin Clients and APIs
    • 9 Alternative Coins
    • 10 Smart Contracts
    • 11 Ethereum 101
    • 12 Further Ethereum
    • 13 Ethereum Development Environment
    • 14 Development Tools and Frameworks
    • 15 Introducing Web3
    • 16 Serenity
    • 17 Hyperledger
    • 18 Tokenization
    • 19 Blockchain - Outside of Currencies
    • 20 Enterprise Blockchain
    • 21 Scalability and Other Challenges
    • 22 Current Landscape and What's Next

Mastering Bitcoin

Programming Bitcoin

  • Contents
    • 1 Finite Fields
    • 2 Elliptic Curves
    • 3 Elliptic Curve Cryptography
    • 4 Serialization
    • 5 Transactions
    • 6 Script
    • 7 Transaction Creation and Validation
    • 8 Pay-to-Script Hash
    • 9 Blocks
    • 10 Networking
    • 11 Simplified Payment Verification
    • 12 Bloom Filters
    • 13 Segwit
    • 14 Advanced Topics and Next Steps

Mastering Ethereum

  • Contents
    • Section I Blockchain - Ethereum Refresher
      • 1 Blockchain Architecture
        • Beyond Ethereum
        • The EEA
        • Understanding the Ethereum Blockchain
        • Workings of Smart Contracts
        • Essential smart contract programming
      • 2 Ethereum Ecosystems
        • Introducing the Ethereum Chain Specification
        • Blockchain Technology
        • Blockchain Consensus
        • Blockchain Economics
        • Blockchain Metrics
      • 3 Etherem Assets
        • Ethereum Protocol Implementations
        • INFURA Essentials
        • Decentralized Autonomous Organizations
        • Miscellanea and Concerns
        • Creating your own
      • 4 Mastering Smart Contracts
      • 5 Mastering dApps
      • 6 Tools, Frameworks, Components, and Services
      • 7 Deployment on Testnet
      • 8 Varios dApps Integrations
      • 9 Decentralized Exchanges Workflow
      • 10 Machine Learning on the Ethereum Blockchain
      • 11 Creating a Blockchain-based Social Media Platform
      • 12 Creating a Blockchain-based E-Commerce Marketplace

Do you believe in magic?

black art: n.

[common] A collection of arcane, unpublished, and (by implication) mostly ad-hoc techniques developed for a particular application or systems area (compare black magic). VLSI design and compiler code optimization were (in their beginnings) considered classic examples of black art; as theory developed they became deep magic, and once standard textbooks had been written, became merely heavy wizardry. The huge proliferation of formal and informal channels for spreading around new computer-related technologies during the last twenty years has made both the term black art and what it describes less common than formerly. See also voodoo programming.

black magic: n.

[common] A technique that works, though nobody really understands why. More obscure than voodoo programming, which may be done by cookbook. Compare also black art, deep magic, and magic number (sense 2).

voodoo programming: n.

[from George Bush Sr.'s “voodoo economics”]

  1. The use by guess or cookbook of an obscure or hairy system, feature, or algorithm that one does not truly understand. The implication is that the technique may not work, and if it doesn't, one will never know why. Almost synonymous with black magic, except that black magic typically isn't documented and nobody understands it. Compare magic, deep magic, heavy wizardry, rain dance, cargo cult programming, wave a dead chicken, SCSI voodoo.
  2. Things programmers do that they know shouldn't work but they try anyway, and which sometimes actually work, such as recompiling everything.
magic
  1. adj. As yet unexplained, or too complicated to explain; compare automagically and (Arthur C.) Clarke's Third Law: “Any sufficiently advanced technology is indistinguishable from magic.” “TTY echoing is controlled by a large number of magic bits.” “This routine magically computes the parity of an 8-bit byte in three instructions.”
  2. adj. Characteristic of something that works although no one really understands why (this is especially called black magic).
  3. n. [Stanford] A feature not generally publicized that allows something otherwise impossible, or a feature formerly in that category but now unveiled.
  4. n. The ultimate goal of all engineering & development, elegance in the extreme; from the first corollary to Clarke's Third Law: “Any technology distinguishable from magic is insufficiently advanced”.

Parodies playing on these senses of the term abound; some have made their way into serious documentation, as when a MAGIC directive was described in the Control Card Reference for GCOS c.1978. For more about hackish ‘magic’, see Appendix A. Compare black magic, wizardly, deep magic, heavy wizardry.

wave a dead chicken: v.

To perform a ritual in the direction of crashed software or hardware that one believes to be futile but is nevertheless necessary so that others are satisfied that an appropriate degree of effort has been expended. “I'll wave a dead chicken over the source code, but I really think we've run into an OS bug.” Compare voodoo programming, rain dance; see also casting the runes.

deep magic: n.

[poss. from C. S. Lewis's Narnia books] An awesomely arcane technique central to a program or system, esp. one neither generally published nor available to hackers at large (compare black art); one that could only have been composed by a true wizard. Compiler optimization techniques and many aspects of OS design used to be deep magic; many techniques in cryptography, signal processing, graphics, and AI still are. Compare heavy wizardry. Esp.: found in comments of the form “Deep magic begins here...”. Compare voodoo programming.

heavy wizardry: n.

Code or designs that trade on a particularly intimate knowledge or experience of a particular operating system or language or complex application interface. Distinguished from deep magic, which trades more on arcane theoretical knowledge. Writing device drivers is heavy wizardry; so is interfacing to X (sense 2) without a toolkit. Esp.: found in source-code comments of the form “Heavy wizardry begins here”. Compare voodoo programming.

rain dance: n.
  1. Any ceremonial action taken to correct a hardware problem, with the expectation that nothing will be accomplished. This especially applies to reseating printed circuit boards, reconnecting cables, etc. “I can't boot up the machine. We'll have to wait for Greg to do his rain dance.”
  2. Any arcane sequence of actions performed with computers or software in order to achieve some goal; the term is usually restricted to rituals that include both an incantation or two and physical activity or motion. Compare magic, voodoo programming, black art, cargo cult programming, wave a dead chicken; see also casting the runes.
incantation: n.

Any particularly arbitrary or obscure command that one must mutter at a system to attain a desired result. Not used of passwords or other explicit security features. Especially used of tricks that are so poorly documented that they must be learned from a wizard. “This compiler normally locates initialized data in the data segment, but if you mutter the right incantation they will be forced into text space.”

wizard: n.
  1. Transitively, a person who knows how a complex piece of software or hardware works (that is, who groks it); esp. someone who can find and fix bugs quickly in an emergency. Someone is a hacker if he or she has general hacking ability, but is a wizard with respect to something only if he or she has specific detailed knowledge of that thing. A good hacker could become a wizard for something given the time to study it.
  2. The term ‘wizard’ is also used intransitively of someone who has extremely high-level hacking or problem-solving ability.
  3. A person who is permitted to do things forbidden to ordinary people; one who has wheel privileges on a system.
  4. A Unix expert, esp. a Unix systems programmer. This usage is well enough established that ‘Unix Wizard’ is a recognized job title at some corporations and to most headhunters. See guru, lord high fixer. See also deep magic, heavy wizardry, incantation, magic, mutter, rain dance, voodoo programming, wave a dead chicken.
guru: n.

[Unix] An expert. Implies not only wizard skill but also a history of being a knowledge resource for others. Less often, used (with a qualifier) for other experts on other systems, as in VMS guru. See source of all good bits.

mutter: vt.

To quietly enter a command not meant for the ears, eyes, or fingers of ordinary mortals. Often used in “mutter an incantation”. See also wizard.

wheel: n.

[from slang ‘big wheel’ for a powerful person] A person who has an active wheel bit. “We need to find a wheel to unwedge the hung tape drives.” (See wedged, sense 1.) The traditional name of security group zero in BSD (to which the major system-internal users like root belong) is ‘wheel’. Some vendors have expanded on this usage, modifying Unix so that only members of group ‘wheel’ can go root.

cargo cult programming: n.

A style of (incompetent) programming dominated by ritual inclusion of code or program structures that serve no real purpose. A cargo cult programmer will usually explain the extra code as a way of working around some bug encountered in the past, but usually neither the bug nor the reason the code apparently avoided the bug was ever fully understood (compare shotgun debugging, voodoo programming). The term ‘cargo cult’ is a reference to aboriginal religions that grew up in the South Pacific after World War II. The practices of these cults center on building elaborate mockups of airplanes and military style landing strips in the hope of bringing the return of the god-like airplanes that brought such marvelous cargo during the war. Hackish usage probably derives from Richard Feynman's characterization of certain practices as “cargo cult science” in his book Surely You're Joking, Mr. Feynman! (W. W. Norton & Co, New York 1985, ISBN 0-393-01921-7).

obscure: adj.

Used in an exaggeration of its normal meaning, to imply total incomprehensibility. “The reason for that last crash is obscure.” “The find(1) command's syntax is obscure!” The phrase moderately obscure implies that something could be figured out but probably isn't worth the trouble. The construction obscure in the extreme is the preferred emphatic form.

Procedural Content Generation

Quotes

Walking on water and developing software from a specification are easy if both are frozen. -- Edward V Berard

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan

The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying. - John Carmack on software patents

"Some people, when confronted with a problem, think "I know, I’ll use regular expressions." Now they have two problems." -- Jamie Zawinski

"In order to understand recursion, one must first understand recursion."

On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. -- Charles Babbage

If debugging is the process of removing software bugs, then programming must be the process of putting them in. -- Edsger Dijkstra

Computer Science is no more about computers than astronomy is about telescopes. -- E. W. Dijkstra

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. -- Antoine de Saint Exupéry

Debuggers don't remove bugs. They only show them in slow motion.

"The trouble with programmers is that you can never tell what a programmer is doing until it's too late." -- Seymour Cray

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. -- C.A.R. Hoare

Beware of bugs in the above code; I have only proved it correct, not tried it. -- Donald Knuth

"Weeks of coding can save you hours of planning."

"My definition of an expert in any field is a person who knows enough about what's really going on to be scared." -- P. J. Plauger, Computer Language, March 1983

"An expert is a man who has made all the mistakes that can be made in a very narrow field" -- Niels Bohr

Programs must be written for people to read, and only incidentally for machines to execute. -- SICP

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why.

We better hurry up and start coding, there are going to be a lot of bugs to fix.

"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter." -- Eric Raymond

The generation of random numbers is too important to be left to chance. Robert R. Coveyou, Oak Ridge National Laboratory

The only "intuitive" interface is the nipple. After that it's all learned. --Bruce Ediger

"When art critics get together they talk about Form and Structure and Meaning. When artists get together they talk about where you can buy cheap turpentine."-- Pablo Picasso

A good programmer looks both ways before crossing a one-way street.

It is easier to optimize correct code than to correct optimized code.

From a bit to a few hundred megabytes, from a microsecond to a half an hour of computing confronts us with completely baffling ratio of 109! The programmer is in the unique position that his is the only discipline and profession in which such a gigantic ratio, which totally baffles our imagination, has to be bridged by a single technology. He has to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed to face before. — E.W. Dijkstra

One man's constant is another man's variable.

Functions delay binding: data structures induce binding. Moral: Structure data late in the programming process.

Syntactic sugar causes cancer of the semi-colons.

Every program is a part of some other program and rarely fits.

If a program manipulates a large amount of data, it does so in a small number of ways.

Symmetry is a complexity reducing concept (co-routines include sub-routines); seek it everywhere.

It is easier to write an incorrect program than understand a correct one.

A programming language is low level when its programs require attention to the irrelevant.

It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.

Get into a rut early: Do the same processes the same way. Accumulate idioms. Standardize. The only difference (!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary.

If you have a procedure with 10 parameters, you probably missed some.

Recursion is the root of computation since it trades description for time.

If two people write exactly the same program, each should be put in micro-code and then they certainly won't be the same.

In the long run every program becomes rococo - then rubble.

Everything should be built top-down, except the first time.

Every program has (at least) two purposes: the one for which it was written and another for which it wasn't.

If a listener nods his head when you're explaining your program, wake him up.

A program without a loop and a structured variable isn't worth writing.

A language that doesn't affect the way you think about programming, is not worth knowing.

Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication.

Optimization hinders evolution.

A good system can't have a weak command language.

To understand a program you must become both the machine and the program.

Perhaps if we wrote programs from childhood on, as adults we'd be able to read them.

One can only display complex information in the mind. Like seeing, movement or flow or alteration of view is more important than the static picture, no matter how lovely.

There will always be things we wish to say in our programs that in all known languages can only be said poorly.

Once you understand how to write a program get someone else to write it.

Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long?

For systems, the analogue of a face-lift is to add to the control graph an edge that creates a cycle, not just an additional node.

In programming, everything we do is a special case of something more general - and often we know it too quickly.

Simplicity does not precede complexity, but follows it.

Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis.

The 11th commandment was "Thou Shalt Compute" or "Thou Shalt Not Compute" - I forget which.

The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information.

Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers.

The use of a program to prove the 4-color theorem will not change mathematics - it merely demonstrates that the theorem, a challenge for a century, is probably not important to mathematics.

The most important computer is the one that rages in our skulls and ever seeks that satisfactory external emulator. The standardization of real computers would be a disaster - and so it probably won't happen.

Structured Programming supports the law of the excluded muddle.

Re graphics: A picture is worth 10K words - but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures.

There are two ways to write error-free programs; only the third one works.

Some programming languages manage to absorb change, but withstand progress.

You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN.

In software systems it is often the early bird that makes the worm.

Sometimes I think the only universal in the computing field is the fetch-execute-cycle.

The goal of computation is the emulation of our synthetic abilities, not the understanding of our analytic ones.

Like punning, programming is a play on words.

As Will Rogers would have said, "There is no such thing as a free variable."

The best book on programming for the layman is "Alice in Wonderland"; but that's because it's the best book on anything for the layman.

Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf.

Bringing computers into the home won't change either one, but may revitalize the corner saloon.

Systems have sub-systems and sub-systems have sub-systems and so on ad infinitum - which is why we're always starting over.

So many good ideas are never heard from again once they embark in a voyage on the semantic gulf.

Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.

A LISP programmer knows the value of everything, but the cost of nothing.

Software is under a constant tension. Being symbolic it is arbitrarily perfectible; but also it is arbitrarily changeable.

It is easier to change the specification to fit the program than vice versa.

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.

In English every word can be verbed. Would that it were so in our programming languages.

Dana Scott is the Church of the Lattice-Way Saints.

In programming, as in everything else, to be in error is to be reborn.

In computing, invariants are ephemeral.

When we write programs that "learn", it turns out we do and they don't.

Often it is means that justify ends: Goals advance technique and technique survives even when

goal structures crumble.

Make no mistake about it: Computers process numbers - not symbols. We measure our understanding (and control) by the extent to which we can arithmetize an activity.

Making something variable is easy. Controlling duration of constancy is the trick.

Think of all the psychic energy expended in seeking a fundamental distinction between "algorithm" and "program".

If we believe in data structures, we must believe in independent (hence simultaneous) processing. For why else would we collect items within a structure? Why do we tolerate languages that give us the one without the other?

In a 5 year period we get one superb programming language. Only we can't control when the

5 year period will begin.

Over the centuries the Indians developed sign language for communicating phenomena of interest. Programmers from different tribes (FORTRAN, LISP, ALGOL, SNOBOL, etc.) could use one that doesn't require them to carry a blackboard on their ponies.

Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits.

An adequate bootstrap is a contradiction in terms.

It is not a language's weaknesses but its strengths that control the gradient of its change: Alas, a language never escapes its embryonic sac.

It is possible that software is not like anything else, that it is meant to be discarded: that the whole point is to always see it as soap bubble?

Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves.

It is the user who should parameterize procedures, not their creators.

The cybernetic exchange between man, computer and algorithm is like a game of musical chairs: The frantic search for balance always leaves one of the three standing ill at ease.

If your computer speaks English it was probably made in Japan.

A year spent in artificial intelligence is enough to make one believe in God.

Prolonged contact with the computer turns mathematicians into clerks and vice versa.

In computing, turning the obvious into the useful is a living definition of the word "frustration".

We are on the verge: Today our program proved Fermat's next-to-last theorem!

What is the difference between a Turing machine and the modern computer? It's the same as that between Hillary's ascent of Everest and the establishment of a Hilton hotel on its peak.

Motto for a research laboratory: What we work on today, others will first think of tomorrow.

Though the Chinese should adore APL, it's FORTRAN they put their money on.

We kid ourselves if we think that the ratio of procedure to data in an active data-base system can be made arbitrarily small or even kept small.

We have the mini and the micro computer. In what semantic niche would the pico computer fall?

It is not the computer's fault that Maxwell's equations are not adequate to design the electric motor.

One does not learn computing by using a hand calculator, but one can forget arithmetic.

Computation has made the tree flower.

The computer reminds one of Lon Chaney - it is the machine of a thousand faces.

The computer is the ultimate polluter. Its feces are indistinguishable from the food it produces.

When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.

Interfaces keep things tidy, but don't accelerate growth: Functions do.

Don't have good ideas if you aren't willing to be responsible for them.

Computers don't introduce order anywhere as much as they expose opportunities.

When a professor insists computer science is X but not Y, have compassion for his graduate students.

In computing, the mean time to failure keeps getting shorter.

In man-machine symbiosis, it is man who must adjust: The machines can't.

We will never run out of things to program as long as there is a single program around.

Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve.

One can't proceed from the informal to the formal by formal means.

Purely applicative languages are poorly applicable.

The proof of a system's value is its existence.

You can't communicate complexity, only an awareness of it.

It's difficult to extract sense from strings, but they're the only communication coin we can count on.

The debate rages on: Is PL/I Bactrian or Dromedary?

Whenever two programmers meet to criticize their programs, both are silent.

Think of it! With VLSI we can pack 100 ENIACs in 1 sq.cm.

Editing is a rewording activity.

Why did the Roman Empire collapse? What is the Latin for office automation?

Computer Science is embarrassed by the computer.

The only constructive theory connecting neuroscience and psychology will arise from the study of software.

Within a computer natural language is unnatural.

Most people find the concept of programming obvious, but the doing impossible.

You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program.

It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical?

If you can imagine a society in which the computer-robot is the only menial, you can imagine anything.

Programming is an unnatural act.

Adapting old programs to fit new machines usually means adapting new machines to behave like old ones.

In seeking the unattainable, simplicity only gets in the way. by Alan J. Perlis, Yale University.

This text has been published in SIGPLAN Notices Vol. 17, No. 9, September 1982, pages 7 - 13.

The Philosophy of UNIX

  • Rule of Simplicity: Developers should design for simplicity by looking for ways to break up program systems into small, straightforward cooperating pieces. This rule aims to discourage developers’ affection for writing “intricate and beautiful complexities” that are in reality bug prone programs.
  • Rule of Parsimony: Developers should avoid writing big programs. This rule aims to prevent overinvestment of development time in failed or suboptimal approaches caused by the owners of the program’s reluctance to throw away visibly large pieces of work. Smaller programs are not only easier to optimize and maintain; they are easier to delete when deprecated.
  • Rule of Transparency: Developers should design for visibility and discoverability by writing in a way that their thought process can lucidly be seen by future developers working on the project and using input and output formats that make it easy to identify valid input and correct output. This rule aims to reduce debugging time and extend the lifespan of programs.
  • Rule of Robustness: Developers should design robust programs by designing for transparency and discoverability, because code that is easy to understand is easier stress test for unexpected conditions that may not be foreseeable in complex programs. This rule aims to help developers build robust, reliable products.
  • Rule of Representation: Developers should choose to make data more complicated rather than the procedural logic of the program when faced with the choice, because it is easier for humans to understand complex data compared with complex logic. This rule aims to make programs more readable for any developer working on the project, which allows the program to be maintained.
  • Rule of Least Surprise: Developers should design programs that build on top of the potentials users' expected knowledge; for example, ‘+’ should always mean addition in a calculator program. This rule aims to encourage developers to build intuitive products that are easy to use.
  • Rule of Silence: Developers should design programs so that they do not print unnecessary output. This rule aims to allows other programs and developers to pick out the information they need from a program's output without having to parse verbosity.
  • Rule of Repair: Developers should design programs that fail in a manner that is easy to localize and diagnose or in other words “fail noisily”. This rule aims to prevent incorrect output from a program from becoming an input and corrupting the output of other code undetected.
  • Rule of Economy: Developers should value developer time over machine time, because machine cycles as of the year 2013 are relatively inexpensive compared to prices in the 1970s. This rule aims to reduce development costs of projects.
  • Rule of Generation: Developers should avoid writing code by hand and instead write abstract high-level programs that generate code. This rule aims to reduce humans errors and save time.
  • Rule of Optimization: Developers should prototype software before polishing it. This rule aims to prevent developers from spending too much time for marginal gains.
  • Rule of Diversity: Developers should design their programs to be flexible and open. This rule aims to make programs flexible, allowing them to be used in other ways than their developers intended.
  • Rule of Extensibility: Developers should design for the future by making their protocols extensible, allowing for easy plugins without modification to the program's architecture by other developers, noting the version of the program, and more. This rule aims to extend the lifespan and enhance the utility of the code the developer writes.

Mike Gancarz: The UNIX Philosophy

  • Small is beautiful.
  • Make each program do one thing well.
  • Build a prototype as soon as possible.
  • Choose portability over efficiency.
  • Store data in flat text files.
  • Use software leverage to your advantage.
  • Use shell scripts to increase leverage and portability.
  • Avoid captive user interfaces.
  • Make every program a filter.

The Scientific Method

Table of Contents


A Summary of Scientific Method - Peter Kosso

Preface

  • There must be something shared by all the sciences that makes them scientific, and it would be this somethign that is missing from the unscientific or trhe pseudoscientific.
  • What is common to the sciences is the basic structure of how they study, and the standards they use to judge acceptable results.
  • This is the scientific method.
  • We will presume that there is a shared shared method for all the sciences, and that it is the method that makes them scientific.
  • Objectivity Furthermore, we will presume that the criteria for being scientific are objective criteria. That is, it is not a matter of personal judgement as to what the scientific method is or what qualifies as scientific. These are impersonal, objective standards for that it is to be scientific, and there is an objectively accurate description of the scientific method.

Introduction

  • What is philosophy?
  • It is the forum in which fundamental concepts and claims that are taken for granted in other disciplines and life on the street are questioned and clarified.
    • It may be about relations between people, where we rely on concepts like justice, morality, rights, and even what it is to be a person.
    • Or it could be about relations between people and nature, as in the concepts of knowledge, truth, observation, and evidence.
    • Or it could involve relations within nature itself, such as cause and effect, space and time, and the laws of nature.
  • The business of philosophy is to make sure we understand these important concepts and that the things we assume about them are true.
  • In some cases we find that we don't really understand or that there is no basis for our assumptions.
  • Philosophy of science does this with fundamental concepts of science.
    • What is "science"? What do all those things we call science have in common? What makes science scientific?
    • Usually the answer to this invokes a reference to the scientific method, and that requires some manner of empirical testing.
    • The details about testing, and making sure it leads to good reason to believe the results, must be examined.
    • More basic ideas emerge, like evidence, experiment, prediction, hypothesis, theory, law, and so on.
  • Science and philosophy have some important things in common.
    • Different sciences, like chemistry, geology, and biology, share a basic method.
    • They differ in what sort of thing, what aspect of nature, they study.
    • And then, details in applying the method will differ according to the demands of the topic.
    • Different aspects of philosophy have a basic method in common, a shared form of analysis. They differ in what they study.
  • Our focus will be on just one of the many topics addressed by philosophy of science. It is worth explicitly mentioning one of the topics to be skipoped, scientici realism.
    • The question of realism asks whether the best scientific results show theories to be true or, no less respectably, simply the most practical guides for dealing with nature.
    • The difference between the methodological work to be done here and the challenging issue of realism is a difference between describing and evaluating science.

Science and Common Sense

  • Abstract Scientific method is not very different than what everyone does on a daily basis in coming to know about the world. Respect for evidence and reason are basic common sense and basic scientific method. Disregarding scientific standards and results in selected aspects of life amounts to disregarding common sense.
  • What distinguishes science from the other things people do or study?
  • It's not about what science studies, it's about how it studies things.
  • The basic ingredients of the scientific method are familiar to most of us: some mix of observation, evidence, testing, and logic is required.
  • Characteristics
    • In everyday life as in science, there there is neither supporting evidence, nor logical-mathematical proof, there is no knowledge.
    • And where there is inconsistency in the evidence, or inconsistency between evidence and theory, the responsible thing to do is withhold judgement either way.
  • Difference between science and common sense
    • The key difference between science and life on the streets is that the scientific process is more deliberate and explicit in following the steps and standards of the method.
    • In science the procedures must be articulated and described.
    • The scientific process is purposefully slowed down in the interest of control and transparency.
    • Science is thus more deliberate and dedicated thatn non-science in following the method.
  • Visibility
    • It is also more public and open to independent review.
    • In science, one is routinely expected to not just have good reasons in support of one's claims but to actually produce those reasons.
    • Science is a communal activity in which ideas, procedures, and standards are sharted and compared among people.
    • All of thee features of science, the slow, deliberate, explicit, public application of reasong from evidence, make the process clear and plainly visible.
  • What you learn about the scientific method will clarify the details of what we expect of common sense. Reciprocally, an intuitive appreciation of common sense will be helpful in understanding scientific method. There should be no reason to suspend the standards of one in the context of the other.
  • Refusing the authority og evidence and logic, either in the form of believing without evidence of believing in spite of contratry evidence, is not just turning away from science; it is turning away from good sense.
  • Naturalistic fallacy
    • It is important to restrict this view of scientific method to matters of fact.
    • It does not apply to matters of value.
    • Science, and the empirical side of common sense, can help us figure out the way the world is, not the way it ought to be.
    • Scientific method works for description, not evaluation.
    • Sometimes people ignore this distinction between fact adn value, and conclude that things really ought to be a certain way, simply because in fact they are that way. This is a logical fallacy.
    • This reasoning from the facts to an evaluation happens frequently enough that the philosophers and logicians give it a special name, the naturalistic fallacy.
    • Remember this law when discussing about laws in science, laws of nature.
    • Laws, like the law of gravity or the laws of thermodynamics, are more than simply generalizations of what does happen in nature; they are about what must happen in nature.
    • There is a kind of necessity associated with laws of nature.
    • If we can't imply "ought" from "is", can we imply "must" from "is"?
  • Inverse naturalistic fallacy
    • There is also a kind of reversed version of the naturalistic fallacy that should be recognized and avoided.
    • This would be drawing conclusions about the way things are, based on the way you think they should be, inferring "is" from "ought".
    • Wishful thinking commits this fallacy.
  • Uncertainty and degrees of certainty
    • There is another important limitation on scientific method and its companion common sense; neither results in perfect, indubitable certainty.
    • The available evidence and our own abilities to reason are limited.
    • This means there will always be things about nature that we just don't know, and maybe even can't know.
    • Sometimes, the responsible thing is to withhold judgement.
    • Limited evidence and fallible human reason also result in lingering uncertainty even in what we do know.
    • We deal with uncertainty like this all the time in life, and we are sensitive to degrees of uncertainty. So too in science.
    • Usually science deals in entities or processes that cannot be directly observed, so evidence is indirect and theoretical conclusions are never 100% certain.
    • But this does not mean that theories are pure guesswork. There is an important spectrum of good reason between guesswork and certainty.
    • The challenge of the scientific method is to locate a particular theory on that spectrum, and assign our beliefs about nature accordingly.
    • As evidence is collected, a theory can change position on the spectrum.
    • Another fallacy
      • Another fallacy is considering whatever is not 100% certain is pure guesswork fallacy.
      • It's true, we can't know for sure that x, but we have overwhelming evidence in support of x, so the responsible thing to do in almost all cases is to believe x.
      • If there are degrees of proof and a spectrum between guesswork and certainty, then there must be important details and nuances of scientific method that influence the degrees and locate theories on the spectrum.
      • Understanding these degrees of proof is the most important and challenging aspet of understanding scientific method, so it is to the relevant details that we turn next.

Empirical Foundations

  • Abstract All scientific knowledge must be based on observation. This is the basis of scientific method, but there is some ambiguity in how close a link is required between observation and theory. The method cannot be simply a process of generalizing knowledge from observations, since some, at least tentative, knowledge is prerequisite for making scientific observations.
  • Theory is not truth or mean (un)believable
    • The term "theory" does alot of work in most descriptions and evaluations of science, yet equivocation and ambiguity are common.
    • Sometimes "theory" is used in a pejorative way, as ain invitation to doubt or even believe the opposite, as in "that's just a theory".
    • But other times "theory" is an honor, implying a coherent network of ideas that succesfully explain some otherwise mysterious aspect of nature.
    • A clear, unambiguous meaning of the term "theory" emerges from a survey of examples of cientific theories and seeing what it is they all have in common, what it is that makes them theoretical.
    • It is not going to have anything to do with how well-tested or well-confirmed an idea is, or how likely it is to be true.
    • Theories occupy all positions on the spectrum from near-certainty to pretty-speculative, so the term "theoretical" cannot distinguis an didea as being believable or not.
  • Theory definition
    • What do theories have in common?
    • They all describe objects or events that are not directly observable.
    • This is the core of the concept of theory.
  • Theory != Unreal
    • A theory describes aspects of nature that are beyond (or beneath) what we can observe, aspects that can be used to explain what we observe.
    • A theory is trye if it desribes unobservable things that really exist, and describes them accurately.
    • Otherwise it is false.
    • This shows the mistake in contrasting "theory" and "fact".
  • Fact
    • A fact is an actual state of affairs in nature, and a theory, or any statement for that matter, is true if it matches a fact.
    • Some theories are true, some are false, and the scientific method is what directs us in deciding which are which.
    • To say of some idea "that's a theory not a fact" is a confusion of categories.
    • Facts are, theories describe.
    • And a theory can describe facts.
  • Hypothesis
    • Unlike "theory", this term does refer to the amount of good reason to believe, that is, to the location on the spectrum between certainty and speculation.
    • A hypothesis is a theory that has little testing and is consequently located near the speculation-end of the spectrum.
    • It's a theory for which the connection to fact is unknown or unclear, but usually there is some tentative reason to believe this link will be made.
    • There is reason to think that evidence and support from other theories will allow the hypothesis to move up the spectrum to the well-supported side.
    • Being hypothetical is a matter of degree, and the term "hypothetical" wears off gradually.
    • It is the work of scientific method to determine the appropriate degree of being hypothetical.
  • Law
    • Theories differ in terms of their generality.
    • The most general theories, including the theory of gravity, are laws.
    • In other words, laws are theories of a particular kind, the ones that identify whole categories of things and describe their relations in the most general terms.
    • Being a law has nothing to do with being well-tested or generally accepted by the community of scientists.
    • A theory is a law because of what it describes, not because of any circumstances of confirmation.
    • And a theory is or is not a law from the beginning, even when it is first proposed, when it is a hypothesis.
    • The status of law is not earned, it is inherent to the content of the claim.
  • So neither "theoretical" nor "law" is about being true or false, or about being well-tested or speculative.
  • To describe a statement as a theory, or just a theory, does not imply any implausability or weakness.
  • All scientific knowledge must be based on observation. It must have empirical foundations.
  • Convervative extreme
    • Most conservative is the view that one should endorse claims only when one can directly observe what they are about and observe that ther correspond to the facts.
    • In other words, "based on" means explicitly linked to.
    • On this interpretation, theories, since they are about things that cannot be directly checked by observations, can only be regarded as useful models, but never as true descriptions.
    • This is not to say they are false, only that we cannot know which are true and which are false, because in this interpretation knowledge requires direct observation.
    • But this is just one extreme in the possible interpretations of "based on observations".
    • In our everyday lives, and on most accounts of science, we allow some manner of careful inference that goes beyond the observations.
    • The key is in specifying what kind of inference is reliable for making this extension.
  • Induction
    • Induction is a prime candidate, and making it the cornerstone of scientific method is the next most conservative account beyond allowing only claims about direct observations.
    • Staying close to the empirical roots would suggest allowing inference that starts with observation and results in theory, not the other way around.
    • It would require a one-way flow of information, from nature to us, from outside-in.
    • The process should be no more than a generalization of what is observed.
    • This is the essence of induction.
  • Limits of Induction
    • Some people, Isaac Newton among them, have claimed that inductive generalization from observation to theory is all there is to scientific method.
    • Anything else, such as speculative hypothesis, would be an irresponsible dirst step on a slippery slope to make-believe and mysticism.
    • But inductive generalization can't be the whole story about scientific method, and it is instructive to see the specific reasons why.
    • Pure induction, with only observations as premises, could never imply a statement about something unobserved or unobservable.
      • How did concepts such as atoms, germs, or curved space-time occur?
      • It could not have been simply by generalizing on what has been observed, since none of these things has been observed.
      • If the goal of science was simply to catalog empirical generalizations liek all metals conduct electricity, the pure induction might suffice.
      • Science routinely does more than that.
      • If offers explanations for how and why metals conduct electricity.
      • This is the value of science, getting beyond the merely observable, and pure induction does not suffice as the way to do this.
    • There is a second, more fundamental, reason why induction cannot be the whole story, or even the most important part of the story, about the scientific method.
    • Pure induction pressuposes pure observation, an uncontaminated flow of information from outside-in.
    • This is simply impossible.
    • In life as in science, perception is influence by ideas.
    • Scientific observations are influenced by scientific theories, so the order of events cannot be strictly observation then theory.
    • It is an important insight into scientific method to show not only that theory influences ibservation, but exactly how this influence comes about.
    • Here are four reasons why there canbe no theory-neutral observations in science.
    • 1 Observation selection
      • It is impossible to observe everything.
      • Selecting what to observe and what to ignore cannot be haphazard.
      • Science isn't simply a catalog of observations; it's inferences fro relevant observations.
      • Some basic idea of what is relevant to what is needed in selecting what observations to make and record.
    • 2 Detail selection
      • It is impossible to note and describe every detail of the observations that are made.
      • Selections have to be made, this time regarding the relevant aspects of the observations.
      • And again, the selections are not random or haphazard, but informed by some existing understanding of the situation.
      • Only some background knowledge allow scientists to safely ignore some details and attand to others.
    • 3 Scientific observation
      • A third reson for some theoretical imprint on the information from the observation is the requirement that scientific observations be careful and reliable.
      • Observing conditions must be proper.
      • Relevant conditions must be controlled.
      • If machines are used, they must be working properly, etc.
      • Accounting for reliability will call on a theoretical understanding of how the machines work, which conditions are relevant, and what amounts to proper conditions.
      • Scientific observation, unlike casual observation out on the street, is accountable, it is always open to challenges to its accuracy.
      • Meeting the challenge calls on background knowledge.
    • 4 Theoretical language
      • Scientific observations must eventually be rendered in theoretical language, and this certainly presupposed a theory in place.
    • Evidence
      • To summarize the ways in which theory influences scientific observation we can say that in science one needs evidence and not merely sensations.
      • Evidence must be meaningful and reliable.
      • It must be a credible indication of something.
      • Of course the theories used to make the best and the most of the evidence are themselves subject to revision.
      • But at least some tentative theories must be invoked in the course of scientific observation.
    • This means that the inductive route from observation to theory cannot be all there is to science.
    • There will have to be a flow of information back-and-forth, from theories to observations and from observations to theories.
    • Induction plays an important role in the discovery of a new idea, a hypothesis, but there is work still bo the done in testing the hupothesis.
    • Sometimes it is suggested that it is the testing stage that is the essence of scientific method.
    • It doesn't really matter how a hypothesis is discovered or how someone got the idea.
    • The important role of empirical evidence may come after the idea is proposed rather than before.

Empirical Testing

  • Empirical testing of a scientific hypothesis is always indirect.
  • A hypothesis is tested by making predictions and seeing if the predictions come true.
  • A look at the logic of this shows that a true prediction cannot prove a hypothesis.
  • Nor can a false prediuction disprove a hypothesis.
  • So empirical testing is always indecisive, and scientific method must involve more than just evidence and logic.
  • If a statement is about something that is itself observable, then the empirical testing can be direct.
  • But science is most interesting and mose useful to us when it is describing unobservable things.
  • This is where we will find explanations, and not mere summaries, of what happens in nature.
  • Theories, i.e. claims about unobservable things, are not amenable to direct empirical testing.
  • These claims are nonetheless accountable to empirical testing that is indirect.
  • The nature of this indirect evidence, and the logical relation between evidence and theory, are the crux of scientific method.
  • Statements about unobservable things can be tested by their observable implications.
    • To test the truth of a statement X, we reason that "if X is true, then we will observe Y".
    • Y is an observable implication from X, and it is by observing Y that X is indirectly confirmed.
    • If we look for Y but don't see it, then X is indirectly disconfirmed (falsified).
    • Y is the eviden for (or against) X.
  • Example: Theory of Evolution
    • When the theory of evolution was first proposed, it had to be empirically tested.
    • In this context, the theory of evolution was the hypothesis.
    • Since the theory describes events that cannot be observed, since they happened long ago in the past, the testing had to be indirect.
    • If the theory is true, then the fossils we observe today should fall into a pattern with older fossils.
    • We test the hypothesis by looking at fossils.
  • Example: General Theory of Relativity
    • When Einstein proposed the theory it had to be empirically tested.
    • The theory says that gravity is caused by the curvature of space and time, and since neither space nor time can be observed, Einstein had to figure out some observable consequences of their being curved.
    • He predicted that if space and time are curved, then light rays passing by a massive object will actually bend.
    • This bending should be observable, and we can test the hypothesis by this implication.
  • Since we are looking for a general pattern in the logic of indirect empirical testing, it will help to symbolize Einstein's argument.
  • Let H stand for the hypothesis in this, or any other, case of empirical testing.
  • Let p stand for the implication, i.e. the prediction.
  • In the particular case of testing the general theory of relativity:
    • H = Space and time are curved
    • p = Light rays will bend when they pass near the sun
    • Then Einstein's reasoning is in the form of an if-then statement:
    • If H is true, then p will be true.
    • or "if H then p"
  • Deduction
    • This kind of statement, "if H then p", is the central premise of indirect empirical testing.
    • Since it is a case of deducing the preduction p from the hypothesis H, any test that involves an if-then statement like this is called hypothetical-deductive testing.
    • The complete test requires observing whether the prediction p is true or not.
  • Hypothetico-Deductive (H-D) testing
    • In Einstein's case, it is a case of H-D confirmation.
    • The argument can be put in an abbreviated form:
      • if H then p (this premise is from Einstein's reasoning)
      • p (this premise is empirical, from observing stars)
      • -----
      • H
    • But look closely at the form os this argument.
    • It is not a valid argument.
    • It commits the fallacy of affirming the consequent.
    • The conclusion that the hypothesis is true does not follow from the observation that the prediction is true.
    • (Malaria example: if malaria then fever, but fever does not imply malaria)
    • So the succesful prediction of the bending of starlight did not prove that the hypothesis is true, any more than having a fever proves you have malaria.
    • The hypothesis could be false, as a false hypothesis can make a true prediction.
    • Furthermore, there is sirely some other hypothesis that makes the same prediction.
    • The moral of the story is this: a single true prediction does not confirm a hypothesis.
  • Disconfirmation
    • Suppose the prediction had come out to be false.
    • Suppose we had empirically discovered that p is false, that is, not p
    • This would be a case of hypothetico-deductive disconfirmation.
    • The argument still has the H-D premise.
    • The difference is the empirical premise.
      • if H then p (the H-D premise)
      • not p (the empirical premise)
      • -----
      • not H
    • Now the conclusion is that the hypothesis is false.
    • This argument is valid.
    • There is no way that the premises coud be true and the conclusion false.
    • The conclusion in this form of argument follows with absolute certainty.
  • Falsification
    • It seems as if disconfirmation of a hypothesis can be done with a single test, if the prediction is false.
    • Disproof of a hypothesis, falsification, appears to be decisive in a way that proof is not.
    • This apparent disparity between falsification and confirmation has led many people to claim that the essence of scientific method is falsification.
    • But this is wrong.
    • Disconfirmation seems so easy and so definitive only because we have ignored many of the important details in the example.
    • In particular, we have ifnored the theoretical details of how the prediction was deduced in the first place, and the practical details of how the experiment was done.
    • Filling these in shows that disconfirmation of a hypothesis is no more decisive than confirmation.
  • Example: Nuclear Fusion
    • Stars output enormous amounts of energy.
    • Where does this energy come from?
    • One theory is nuclear fusion.
    • The theory states that nuclei of hydrogen are being fused together to form nuclei of helium at the core of the sun where the pressure and temperature are high enough to squeeze the nuclei together.
    • This process is unobservable, because it occurs deep in the star and it invoves subatomic particles.
    • So the theory must be tested indirectly.
    • We need experts to predict what observable implications to look for.
    • One prediction involves an elementary particle called a neutrino.
    • Neutrinos are created by nuclear fusion, and neutrinos are so light and electrically neutral what they will escape from the center of the sun and fly to earth.
    • The prediction then is that we will detect neutrinos here on earth.
    • The prediction is very precise as to exactly how many neutrinos we will detect, given the amount of energy generated in the sun.
    • H = nuclear fusion is taking place at the core of the sun
    • p = a specified number of neutrinos will be detected on the earth
    • For decades no neutrinos were found in the right amounts.
    • The mismatch between the presumed correct theory and the reliable but disconfirming, evidence was vecing.
    • The missing neutrinos were recently found, but the problem had a life of several decades.
    • During this time were scientists unreasonable?
    • Should the not-p observation have forced them to conclude not-H? No.
    • When we add more of the scientific details, the logic of the H-D argument becomes much more complicated and the conclusion less certain.
    • We will find that in all cases of indirect empirical testing, a false prediction does not necessarily falsify the hypothesis.
  • Experimental conditions & repeatability
    • There are two kinds of detail we need to consider, theoretical details of how the prediction was made, and practical details of how the experiment was done.
    • p = if we put a huge tank of cleaning fluid deep under ground and use the appropriate radioactivity detector, then we will get a specified number of clicks on the detector.
    • The if-part of this statement is a list of experimental conditions.
      • C1 = do the experiment deep underground
      • C2 = use a sufficient amount of cleaning fluid
      • C3 = use the appropriate radioactivity detector
      • C4 = have the detector warmed up
    • These specify how the experiment is to be set up.
    • The then-part is the final expectation, the predicted outcome.
    • The experimental conditions are effectively the recipe for doing the experiment.
    • It is the precision and explicit presentation of experimental conditions that are the key to repeatability in scientific conditions.
    • We need a detailed record of what was done, in case we want to do it again, for ourselves.
    • This is also an essential component in judging the credibility of the data.
    • It specifies just what it takes to do the experiment properly.
  • Expectation
    • The then-part of the prediction is what to expect when the experimental conditions have been properly done.
    • The predicted result of the experiment is the expectation.
    • E = there will be a specified number of clicks on the radioactivity detector
    • p = if C1 and C2 and C3 and ... then E
    • In other words, if all the conditions are done right, then we will get the expected results.
    • All scientific experiments are like this, where the final result is carefully controlled by the epxerimental conditions.
    • From now one, whenever we use the symbol p to stand for the prediction, we are it as an abbreviation for the if-then statement involving the experimental conditions and the expectation.
    • Theoretical considerations
      • It takes an expert to come up with good predictions.
      • All that background knowledge is theoretical, in the sense that it is about things that cannot be observed.
      • The individual statements that are drawn from background knowledge and used in deducing the prediction are often called auxiliary theories.
    • Experimental considerations
      • Now we need to see how the experimental conditions and the expectation affect the logic of H-D testing.

The Network of Knowledge

Scientific Change

Scientific Understanding

Summary

The Zen of Python

  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Flat is better than nested.
  • Sparse is better than dense.
  • Readability counts.
  • Special cases aren't special enough to break the rules.
  • Although practicality beats purity.
  • Errors should never pass silently.
  • Unless explicitly silenced.
  • In the face of ambiguity, refuse the temptation to guess.
  • There should be one-- and preferably only one --obvious way to do it.
  • Although that way may not be obvious at first unless you're Dutch.
  • Now is better than never.
  • Although never is often better than right now.
  • If the implementation is hard to explain, it's a bad idea.
  • If the implementation is easy to explain, it may be a good idea.
  • Namespaces are one honking great idea -- let's do more of those!

The Ten Rules of a Zen Programmer

By Christian Grobmeier

Source

Focus

If you have decided to work on a task, do it as well as you can. Don’t start multiple things at the same time. Do only one thing at one time. You won’t become faster or better, you’ll just spread yourself too thin. If you work too much you’ll become exhausted, make more errors and lose time jumping from one task to another. This is not only about programming; this is a general tip.

Kôdô Sawaki says: if you need to sleep, sleep. Don’t plan your software when you are trying to sleep. Just sleep. If you code, code. Don’t daydream—code. If you are so tired that you cannot program, sleep. Even known multitaskers like Stephan Uhrenbacher have decided to work singlethreaded. I had a similar experience to Stephan, when I finally wrote Time & Bill, a time tracking tool. My goal was to track my time so easily that I could do it even for small tasks like a phone call. Now I can create a few stopwatches at the beginning of the day and track my time with only one click. In the beginning it was a disaster: sometimes I just worked a few minutes on a task until I moved on to the next one. Now I am better. Similar to the Pomodoro technique I plan a few time slots and concentrate on them. No chatting, no sleeping, no checking out a great new game in the Appstore.

Keep Your Mind Clear

Before you work on your software, you need to clean up your mind. Throw away everything in your mind for the time being. If you have trouble with something, don’t let it influence you. In most cases that trouble will go away. If the trouble is so much that you can’t let it go, don’t work. Try to clean things up. But when you start working, let the outer world melt away.

Something exciting on the mailing list? Leave it there. You can follow the exciting stuff later. Shutdown what fills your mind with shit: close Twitter, Facebook, your emails. You should even mute your phone and leave it in your pocket. You could say it is similar to item 1, focus. But there is one more restriction: don’t use these tools before work or at lunch. They connect you with the outer world and bring up some new trouble or things which require you attention.

Think like this: at most times your mind is pretty clear when you wake up at the morning. If it is not, doing some sports helps (I do long-distance running). If you feel clean and refreshed, go to work and work as well as you can. When you leave your work then you can fill up your mind with clutter. You’ll see it is not so much fun if you have a full working day behind you. Twitter and Co. are consuming much of your energy. Don’t think it just takes a minute. It doesn’t.

You know it’s true.

Beginner’s Mind

Remember the days when you were a beginner or if you are still a beginner, hold on to that feeling. You have never learned enough. If you are already an expert, think of yourself as though you were a beginner every day. Always try to see technologies from a beginner’s mind. You can accept corrections to your software better and leave the standard path if you need to more easily. There are some good ideas even from people who don’t have your experience. Was there ever a software built twice the same way? Even if you copy software it is somehow different.

No Ego

Some programmers have a huge problem: their own ego. But there is no time for developing an ego. There is no time for being a rockstar.

Who is it who decides your quality as programmer? You? No. Others? Probably. But can you really compare apples and bananas? No. You are an individual. You cannot compare your whole self with another human being. You can only compare a few facets.

A skill is nothing you can be proud of. You are good at Java? Cool. Someone else is not as good as you, but better at bowling. Is Java more important than bowling? It depends on the situation. You probably earn more money with Java, but the other guy might have more fun in life because of his bowling friends.

Can you really be proud that you are a geek? Programmers with ego don’t learn. Learn from everybody, from the experienced and from the noobs at the same time.

Kôdô Sawaki once said: “You are not important.”

Think about it.

There Is No Career Goal

If you want to gain something and don’t care about your life “now”, you have already lost the game. Just act as well as you can, without looking at the goal you might reach after a long time.

Working for twenty years to become the partner of a company? Why aren’t you working as hard as possible just because it is fun? Hard work can be fun. “A day without work is a day without food” is a Zen saying.

There is no need to start being happy after twenty years. You can be happy right now, even if you aren’t a partner or don’t drive a Porsche. Things change too easily. You can get sick. You can get fired. You can burn out (if you follow all these items I guess the likeliness is low).

Unless these bad things happen, just work as well as you can and have fun doing it. No reason to look at the gains of your colleagues. No reason to think about the cool new position which you didn’t get.

After all, you will achieve something. You’ll end up with nice memories, maybe a good position—and twenty excellent years. Every day is a good day.

If you ever come to the point where you think that working at your company is no fun at all you must leave immediately. NEVER stay at a company which takes away the happiness in your life. Of course, this is only possible in rich countries, where people have the choice to go away. But if you are living in such an good environment, do it. Go away without regret. You have no time to waste, you could be dead tomorrow.

When you have no career goal, going away is easy.

Shut Up

If you don’t have anything to say, don’t waste the time of your colleagues. This doesn’t make you look wimpy. Every day you work you need to try not to get on someone else’s nerves. Imagine if everybody would try this—what a great working place would that be? Sometimes it is not possible. Try hard, you will like it.

If you don’t develop an ego it is pretty easy to shut up and care only for the things you can talk about. Don’t mix up your ego with your “experience” and always remember: you are a beginner. If somebody has a good idea, support the idea.

Mindfulness. Care. Awareness.

Yes, you are working. But at the same time you are living and breathing. Even when you have some hard times at work you need to listen to the signs of your body. You need to learn about the things which are good for you. This includes everything, including basic things like food. You need to care for yourself and for everything in your environment—because after all, the water you drink is the water which runs in the river. You are living only for yourself. You live alone and you’ll die alone. The world goes on even without you.

Avoid working in situations you don’t like. Avoid working for free if it means you will have no fun and keeps you away from your bed. Let go what doesn’t make you happy. Do you think people only work for free in theory? Consider the people doing Open Source in their free time. If you have subscribed to some project’s mailing list you probably know what conflict there is (sometimes). If you don’t have fun with it, stop doing it. I know a bunch of people who work in an Open Source environment they don’t like. Again with Time & Bill I tracked the time I spent in Open Source projects and was surprised how much time I lost there—especially on projects I didn’t like so much.

Keeping this in mind, some people think they are only happy when they have free time and can spend the evening with an Xbox and some beer. While this is a good idea from time to time, it is not necessary that every moment in your life is “fun”. If you can avoid situations you don’t like, avoid them. But sometimes there is need to do something really shitty. For example, manually copy/pasting stuff from your manager’s Excel spreadsheet into phpmyadmin. This can take you days, and it is really boring. It is no fun, but sometimes you need to do such stuff. You cannot always quit your job when you get a boring task. Zen Monks do not shy from their work either. They get up at 3am (sometimes earlier, sometimes later, depends on the convent) and start meditation and work (they even consider work meditation practice). They have stuff to do like cleaning the toilets. Or working in the garden. Or as a Tenzo, they cook. They do it with all the care they can muster. Whatever they do, they do it without suffering and they are (or should be) happy, because every second, even the moments where they are cleaning toilets, is a second of their life.

That being said: stop whining if you need to copy/paste Excel. Just do it. Don’t waste your energy with such things; they will pass. Become the best Excel copy/paster out there instead.

If you suffer a heart attack, people will probably say: “Uh yes, he really was a hard worker—he even worked for me for free at night”. Nobody can guide you to the other world. This last step is taken by us alone. You cannot exchange anything in this world. Not even a fart. So it is up to you to take care, every second. If you die, you die. But when you live, you live. There is no time to waste.

“Care” is a huge word in Zen Buddhism (and I think in every form of Buddhism). I cannot express everything which needs to be said. it is difficult to understand the different meanings of “care”. You are probably better off with the word “awareness”. You must be aware of what you do, in every second of your life. You must be mindful in your life. Otherwise you waste it. But, of course, it is up to you to do so, if you like.

There Is No Boss

Yes, there is somebody who pays you. There is somebody who tells you what needs to be done. And he can fire you. But this is no reason to give up your own life or to become sick of your work. Finally, your boss has no control over you. It can even be doubted that you have control over you—but don’t go down this path.

Back to your boss: he can make your life worse if you allow him to do so. But there is a way out. Say “No” if you need to do something which makes you sick or is against your ethics. What will happen? Worst case scenario he will fire you. So what? If you live in Western nations and if you are a coder (which is very likely if you are reading this) you’ll get another job.

I don’t mean say “No” to tasks like copying CSV Data to HTML. I am speaking of eighty-hour weeks and feeling your body break down. Or feeling that your kids need some attention too. Or if you are forced to fire people just because your boss doesn’t like them. Or if you are a consultant and get the job to develop software for nuclear plants (some might say it is perfectly fine to work for nuclear power companies— it is against my ethics and serves as an example) or for tanks. You can say “No”.

Do Something Else

A programmer is more than a programmer. You should do something which has nothing to do with computers. In your free time, go sailing, fishing, diving. Do meditation, martial arts. Play Shakuhachi. Whatever you do, do it with all the power you have left. Like you do in your work time. Do it seriously. A hobby is not just a hobby, it’s an expression of who you are. Don’t let anybody fool you, when they say hobbies are not important. Nowadays we can afford having hobbies. I have recorded several CDs and wrote fantasy books (the latter one unpublished, I must practice more). These things have made me the person I am now, and finally they have led me to Zen and this book. These days I practice Zen Shakuhachi. It is a very important aspect of my daily life.

There Is Nothing Special

A flower is beauty. But it’s just a beautiful flower—nothing more. There is nothing special about it. You are a human who can program. Maybe you are good. There is nothing special about you. You are of the same stuff as I am and all the others on this planet.

You need to go to the toilet and you need to eat. Of course you need to sleep. After (hopefully) a long time you will die and everything you have created will be lost. Even pyramids get lost, after a long time. Do you know the names of the people who built them? If you do, is it important that you know? It’s not. Pyramids are there, or they aren’t. Nothing special.

Same goes for your software. The bank is earning money with your software. After you leave, nobody remembers you. There is nothing wrong about that. It is the flow of time. Nothing you should be worried about it. If you are following the first nine rules, you’ll see that this last project was a good and fun project. Now it’s simply time to go on and concentrate on something else.

If your company closes because of financial problems, no problem. Life will go on. There is no real need for an Xbox, a car, or something else. Most people on this planet live in deepest poverty. They don’t care for an Xbox because they would be glad to get some food or even water.

So… why exactly are you special? Because you had the luck to be born in a Western country? Because you can code? No, there is nothing special about it. You can let go of your ego and live freely. Enjoy the colors and the smell of flowers. Don’t be too sad when the winter arrives and don’t be too happy when spring comes back. It is just a flow. Keep it in mind when somebody denies your application. Because no company is so special that you need to be worried about the job.

WebAssembly

Table of Contents


Wasmer

Technical and Scientific Writing

  • Why document?
  • Audience
  • Goals
  • Types of documents; readmes, tutorials, guides, manuals, walkthroughs, checklists, api docs, code comments
  • What to document

Resources

Online

Google Technical Writing Course

General Writing

Technical Writing

Technical Writing / Environment

Technical Writing / Documentation

Technical Writing / Articles

Technical Writing / Books

Technical Writing / Specifications

Scientific Writing

Books

General Writing

On Writing Well

Bookdepository

Technical Writing

Technical Writing for Dummies

Bookdepository

Technical writing 101

Bookdepository

  • 1 So, what's a technical writer?
  • 2 The technical writing process
  • 3 Very necessary evils: doc plans and outlines
  • 4 The tech writer's toolbox
  • 5 Getting information
  • 6 Finally: it's time to start writing
  • 7 Writing task-oriented information
  • 8 Visual communication
  • 9 The importance of being edited
  • 10 Indexing
  • 11 Final preparation: production editing
  • 12 Avoiding international irritation
  • 13 Structured authoring with XML
  • 14 Web 2.0 and technical communication
  • Appendix A: getting your first job as a technical writer
  • Appendix B: Resources
  • Appendix C: sample doc plan

Technical writing for success

Bookdepository

  • 1 What is technical writing?
  • 2 Audience and purpose
  • 3 Technical research
  • 4 Writing process
  • 5 Brief correspondence
  • 6 Document design and graphics
  • 7 Writing for the web
  • 8 Informative reports
  • 9 Investigative reports
  • 10 Instructions
  • 11 Employment communication
  • 12 Presentations
  • 13 Recommnedation reports
  • 14 Proposal
  • 15 Ethics in the workplace
  • 16 Technical reading

The Engineer's guide to technical writing

  • 1 What is technical writing
  • 2 Reasons for writing
  • 3 Performing technical studies
  • 4 Writing strategies
  • 5 Document options
  • 6 Criteria for good technical writing
  • 7 Writing style
  • 8 Using illustration
  • 9 Formal reports: the outline and introduction
  • 10 Formal reports: writing the body
  • 11 Formal reports: closure
  • 12 Informal reports
  • 13 Review and editing
  • 14 Oral presentations
  • 15 Getting it done

User's Guides, Manuals, and Technical Writing

Bookdepository

  • Part I Structure and Content of a Manual
    • 1 Title, table of contents, about, introduction, product overview
    • 2 Key features
    • 3 Installation, getting started
    • 4 Using your ..., instructions, procedures
    • 5 Troubleshooting
    • 6 Warning and recommendations
    • 7 Updates, warranty, contact details
  • Part II Writing clearly, concisely and unambiguosly
    • 8 Writing from a reader perspective
    • 9 Avoiding redundancy and long sentences
    • 10 Word order
    • 11 Terminology
    • 12 Avoiding ambiguity
    • 13 Automatic translation
  • Part III Layout and order of information
    • 14 Layout
    • 15 Heading
    • 16 Punctuation
    • 17 Capitalization
    • 18 Abbreviations and acronyms
    • 19 Bullets
    • 20 Figures
    • 21 Dates and numbers
    • 22 Giving examples
    • 23 Referencing
    • 24 Spelling
  • Part IV Typical mistakes
    • 25 Comparisons
    • 26 Deginite article, indefinite article, one
    • 27 Genitive
    • 28 Infinitive vs gerund
    • 29 Negations
    • 30 Passive vs active
    • 31 Pronouns
    • 32 Vocabulary

Technical Communication Today

  • Part I Elements of Technical Communication
    • 1 Communicating in the technical workplace
    • 2 Communicating in a reader-focused way
    • 3 Working in teams
    • 4 Managing ethical challenges
  • Part II Genres of Technical Communication
    • 5 Letters, memos, and email
    • 6 Technical descriptions and specifications
    • 7 Instructions and documentation
    • 8 Proposals
    • 9 Activity reports
    • 10 Analytical reports
    • 11 Starting your carreer
  • Part III Planning and Doing Research
    • 12 Strategic planning, being creative
    • 13 Persuading others
    • 14 Researching in technical workplaces
  • Part IV Drafting, Desiging, and Revising
    • 15 Organizing and drafting
    • 16 Using plain and persuasive style
    • 17 Designing documents and interfaces
    • 18 Creating and using graphics
    • 19 Revising and editing for usability
  • Part V Connecting with Clients
    • 20 Preparing and giving presentations
    • 21 Writing for the web
  • Appendix A Grammar and punctuation guide
  • Appendix B English as a second language guide
  • Appendix C Documentation guide

Handbook for technical writing

  • 1 The style of technical writing
  • 2 The process of technical writing
  • 3 The elements of technical writing
  • 4 Forms of technical writing I: memoir reports and formal reports
  • 5 Forms of technical writing II: proposals, manuals, and journal articles
  • 6 Appendix: The mechanics of technical writing

Handbook of technical writing

Bookdepository

  • Preface
  • Five Steps to Succesful Writing
  • Checklist of the Writing Process
  • Alphabetical Entries
  • Index
  • Commonly Misused Words and Phrases

Living Documentation: Continuous Knowledge Sharing by Design

Scientific Writing

Persist and Publish

  • 1 I wanted to be a teacher, not a writer
  • 2 Publish or perish is the name of the game
  • 3 The basics of getting started
  • 4 Writing can be fun, but seldom is it easy
  • 5 In the beginning there was the local copy
  • 6 Creating foothills from mole hills: writing journal articles
  • 7 Expanding the horizons: monographs and technical reports
  • 8 Scaling the summits: your first book
  • 9 Seeking new challenges in the publishing game
  • 10 What happens when the stargazers see you

Effective writing. Improving scientific, technical and business communication

Bookdepository

  • 1 Writing is communicating. Revising basic assumptions.
  • 2 Writing about aim and audience.
  • 3 Starting to write. A practical approach.
  • 4 Organization and layout of information.
  • 5 The use of headings and numbering.
  • 6 Algorithms for complex possibilities and procedures.
  • 7 Style for readability.
  • 8 Writing with a computer.
  • 9 Informative summaries.
  • 10 Choosing and using tables, illustrations and graphics presentation techniques.
  • 11 Writing instructions.
  • 12 Writing descriptions and explanations.
  • 13 Writing letters and memoranda.
  • 14 Writing minutes and reports of proceedings.
  • 15 Writing in examinations.

English for writing research papers

Bookdepository

  • Part I Writing skills
    • 1 Planning and perception
    • 2 Structuring a sentence: word order
    • 3 Structuring paragraphs
    • 4 Breaking up long sentences
    • 5 Being concise and removing redundancy
    • 6 Avoiding ambiguity, repetition and vague language
    • 7 Clarifying who did what
    • 8 Highlighting your findings
    • 9 Discussing your limitations
    • 10 Hedging and criticizing
    • 11 Plagiarism and paraphrasing
  • Part II Sections of a paper
    • 12 Titles
    • 13 Abstracts
    • 14 Introductions
    • 15 Review of the literature
    • 16 Methods
    • 17 Results
    • 18 Discussion
    • 19 Conclusions
    • 20 The final check

Academic Writing. An Introduction

Bookdepository

  • 1 Introducing genre
  • 2 Readers reading I
  • 3 Citation and summary
  • 4 Summary
  • 5 Challenging situations for summarizers
  • 6 Orchestrating voices
  • 7 Definition
  • 8 Readers reading II
  • 9 Scholarly styles I
  • 10 Scholarly styles II
  • 11 Making and maintaining knowledge I
  • 12 Making and maintaining knowledge II
  • 13 Introductions
  • 14 Conclusions and the moral compass of the disciplines

Science and technical writing. A manual of style

Bookdepository

  • 1 Audience analysis and document planning
  • 2 Writing for non-native audiences
  • 3 Grammar, usage and revising for publication
  • 4 Puncuating and scientific and technical prose
  • 5 Using acceptable spelling
  • 6 Incorporating specialized terminology
  • 7 Using numbers and symbols
  • 8 Using quotations, citations and references
  • 9 Creating indexes
  • 10 Creating nontextual information
  • 11 Creating usable data displays
  • 12 Designing useful documents

Scientific writing. Easy when you know how

Bookdepository

  • 1 Scientific writing
  • 2 Getting started
  • 3 Writing your paper
  • 4 Finishing your paper
  • 5 Review and editorial process
  • 6 Publishing
  • 7 Other types of documents
  • 8 Writing style

Writing Science: How to Write Papers That Get Cited and Proposals That Get Funded

A guide to writing mathematics

History

Historia Argentina

PERIODOSPRESIDENTES
1516-1806 Conquista y época colonial
1806-1852 Surgimiento del Estado naciónProvincias Unidas de la Plata
1826-1827 Rivadavia
1827-1827 Vicente Lopez y Planes
1853-1880 La Organización NacionalConfederacion Argentina
1854-1860 Urquiza
1860-1861 Derqui
1861-1861 Pedernera
1880-1916 La República ConservadoraRepublica Conservadora
1861-1868 Mitre
1868-1874 Sarmiento
1874-1880 Avellaneda
1880-1886 Roca
1886-1890 Celman
1890-1892 Pellegrini
1892-1895 Luis Saenz Peña
1895-1898 Uriburu
1898-1904 Roca
1904-1906 Quintana
1906-1910 Figueroa Alcorta
1910-1914 Roque Saenz Peña
1914-1916 Victorino de la Plaza
1916-1930 El radicalismo en el poderRadicales
1916-1922 Yrigoyen
1922-1928 de Alvear
1928-1930 Yrigoyen
1930-1943 La Década InfameDecada Infame (1er golpe de estado moderno)
1930-1932 Uriburu
1932-1938 Justo
1938-1942 Ortiz
1942-1943 Castillo
Revolucion 1943 (golpe de estado)
1943-1944 Ramirez
1944-1946 Farrell
1945-1955 El peronismoPeronismo
1946-1955 Peron
1955-1958 La «Revolución Libertadora»Revolucion Libertadora (golpe de estado antiperonista)
1955-1955 Lonardi
1955-1958 Aramburu
1958-1962 Presidencia de FrondiziRadicalismo (elegidos bajo control militar)
1958-1962 Frondizi
1962-1963 Golpe militar: gobierno de Guido1962-1963 Guido
1963-1966 La presidencia de Illia1963-1966 Illia
1966-1973 La «Revolución Argentina»Revolucion Argentina (dictadura permanente por junta militar)
1966-1970 Ongania
1966 ministro de economia Salimei
1967 ministro de economia Krieger Vasena
1970-1971 Levingston
1971-1973 Lanusse
1973-1976 Cámpora, Perón e Isabel MartínezPeronismo
1973-1973 Campora
1973-1973 Lastiri
1973-1974 Peron
1974-1976 Martinez de Peron
1976-1983 El «Proceso de Reorganización Nacional»Reorganizacion Nacional
1976-1981 Videla
1981-1981 Viola
1981-1982 Galtieri
1982-1983 Bignone
1982 Guerra de Malvinas
1983 La recuperacion de la democraciaActualidad
1983 Alfonsin
1989 Menem
1999 De la Rua
Puerta - Saa - Camaño - Duhalde
2003 Nestor Kirchner
2007 Cristina Kirchner
2015 Macri
2019 Alberto Fernandez

Antigüedad

Edad Media

Edad Moderna

Siglo XIX

La Guerra de la Independencia

Las guerras carlistas

El País Vasco tras la abolición del sistema foral

La industrialización en el País Vasco

Las familias de Neguri

La vertiente social

El Nacionalismo Vasco

La fundación del Partido Nacionalista Vasco

Siglo XX

La República

La Guerra Civil

Exilio y Segunda Guerra Mundial

El Franquismo

La Posguerra

Los años 1950

Los años 1960

El Tardofranquismo

La Transición a la Democracia

El Nacimiento de Euskadi

El Desmantelamiento de la Dictadura
La Búsqueda de la Normalización Política
El Proceso Constitucional y el Consejo General Vasco
La Consecución de la Autonomía
Reacción política ante la violencia de ETA
El cambio en la sociedad navarra en los años setenta
Transformación Económica
Cambios Sociales
El Cambio Político
El Contencioso Navarra-Euskadi
La democratización de las instituciones forales

La democracia

1973

  • El atentado indiscriminado de ETA en la calle Correo produce, durante la celebración de la VI Asamblea en 1973, discrepancias entre los sectores que abogan por la prioridad absoluta de la actividad terrorista y quienes desean su supeditación a las luchas políticas.
  • ETA sufre su escisión más importante y se divide en ETA(pm) y ETA(m).

1981

  • ETA(pm) abandonaría el terrorismo en 1981, seis días después del golpe de Estado del 23F, ante el riesgo de involución política que ponía en peligro lo conseguido desde 1975 hasta entonces.
  • El partido próximo a sus postulados políticos, Euskadiko Ezkerra, evolucionó desde posiciones marxistas a posiciones más próximas al eurocomunismo para acabar convirtiéndose en un partido socialdemócrata con acento vasquista.
  • Tras sucesivas crisis internas pasaría a formar parte del Partido Socialista de Euskadi, filial vasca del Partido Socialista Obrero Español, mientras que su corriente crítica más importante acabó integrada en Eusko Alkartasuna.
  • La otra rama, ETA (m), se conformaría como vanguardia del llamado Movimiento de Liberación Nacional Vasco que agrupa a la estructura socio política de la denominada izquierda abertzale.
  • Esta consideró que los adelantos democráticos habían sido inadecuados o insuficientes por lo que continuó la lucha armada, cometiendo multitud de actos terroristas que han costado la vida a más de 800 ciudadanos.
  • Su partido hermano, la coalición Herri Batasuna, tomó como proyecto político la Alternativa KAS sin aceptar posibilidades reformistas o intermedias y logró algunos éxitos electorales notables.
  • Mantuvo una postura antisistema, ausentándose de las diversas instituciones a las que se presentaba, y posturas hostiles con otros movimientos políticos hasta su reconversión en Batasuna en 2001 y su ilegalización en 2003.
  • El PNV presidió el Gobierno vasco desde 1980 hasta 2009 (cuando, a pesar de ser la primera fuerza política en número de votos, perdió la presidencia ante el pacto de investidura entre el PSE-E y el PP), habiendo afrontado una dramática recorversión industrial.
  • La escisión interna de este partido, de donde nació EA, llevó a gobiernos de coalición con los socialistas bajo la presidencia de José Antonio Ardanza por un período de 12 años.
  • La ruptura de la colisión PNV-PSE, en el marco de una oposición creciente al nacionalismo impulsada por el gobierno central dominado por el PP, conformó un contexto de enfrentamiento político entre nacionalistas vascos y nacionalistas españoles, en el que los dirigentes del Partido Popular buscaban ganar la presidencia del Gobierno vasco, cosa que no consiguieron.
  • Los gobiernos surgidos de la nueva situación política fueron de una debilidad extrema a no tener el apoyo suficiente en el Parlamento Vasco.
  • Estos gobiernos, bajo la presidencia de Juan José Ibarretxe, se conformaron como tripartitos con la participación de PNV, EA y Ezker Batua, filial vasca de Izquierda Unida.
  • Aun así han precisado, para sacar algunas leyes adelante, el apoyo puntual de otras organizaciones, incluida la que representa a la izquierda abertzale.

Siglo XXI

Actualidad

2001

  • El Gobierno vasco impulsó, tras la estrecha victoria del PNV en las elecciones autonómicas de 2001, la modificación del Estatuto de Guernica mediante un proyecto de reforma llamado «Plan Ibarretxe», que propugnaba para el País Vasco un estatus de libre asociación.

2004

  • En 2004, el Plan Ibarretxe fue aprobado en el Parlamento autonómico vasco con mayoría absoluta con el apoyo de los partidos nacionalistas vascos (Partido Nacionalista Vasco, Eusko Alkartasuna y Aralar) y de Ezker Batua (partido que también formaba parte del gobierno en coalición con EA y el PNV).
  • Tres de los siete escaños del grupo Ezker Abertzalea (elegidos por Euskal Herritarrok) también dieron su apoyo al proyecto.
  • Los partidos del PSE-PSOE y el Partido Popular del País Vasco se opusieron al texto del Plan, que fue llevado al Parlamento nacional en 2005 donde se discutió en un único pleno, no planteándose negociaciación alguna sobre el mismo.
  • El lendakari Ibarretxe expuso ante los diputados presentes en el Parlamento su Plan, que fue rechazado por el 90 por ciento de los 350 diputados presentes.
  • Los partidos políticos nacionalistas vascos e Izquierda Unida apuestan por defender el derecho de autodeterminación de los ciudadanos vascos frente a PP y PSE-PSOE que están en contra del mismo, amparados en la Constitución española de 1978.
  • Por diversas causas como pudieran ser entre otras la ilegalización de los partidos políticos de la izquierda independentista radical, también denominada «Izquierda Abertzale» (Herri Batasuna, Batasuna, ...), por su negativa a condenar la violencia de ETA, su exclusión de las convocatorias electorales contando únicamente con representación mediante marcas electorales interpuestas como el Partido Comunista de las Tierras Vascas en el Parlamento Vasco, la declaración como terroristas de diversas organizaciones de su entorno (Jarrai, Haika, Segi), la ejecución de órdenes judiciales que afectan a su entramado económico y político, la presión ejercida por los sectores afines a los partidos que desarrollan su actividad en conformidad con la legalidad surgida de la constitución española de 1978, junto con el rechazo explícito creciente a la violencia y a los asesinatos por parte de la ciudadanía, llevaron a la izquierda abertzale a una estrategia de intento de diálogo con las fuerzas no nacionalistas y normalización política plasmada en la "Propuesta de Anoeta".

2006

  • Tras una serie de conversaciones en secreto entre representantes del PSE-PSOE y la izquierda abertzale, ETA declaró en 2006 un «alto el fuego permanente» y entabló conversaciones con el Gobierno español, autorizado con anterioridad por el Congreso de los Diputados para tal fin.
  • Las conversaciones no dieron fruto y, a finales de ese año, ETA asesinó a dos personas mediante una bomba en el aparcamiento del aeropuerto de Barajas, lo que redujo las expectativas de acuerdo.
  • Aunque las reuniones siguieron los meses siguientes, ETA rompió definitivamente la tregua en junio de 2007 mediante un comunicado.
  • Las relaciones entre la izquierda abertzale y el Gobierno central se deterioraron tras la ruptura oficial por parte de ETA del alto el fuego y los atentados que siguieron.
  • Se decreta la vuelta a prisión de De Juana Chaos, miembro de ETA anteriormente excarcelado por cumplimiento de la pena impuesta, con una nueva condena por unos artículos en la prensa en que se consideró que realizó amenazas.
  • El sistema judicial siguió aplicando la Ley de Partidos Políticos e instruyendo antiguas causas, por las que se detiene y encarcela a Arnaldo Otegi, máximo representante en esa fecha de la Izquierda Abertzale, aumentando la presión al entorno del MLNV.

2009

  • Tras un proceso de debate interno entre finales de 2009 y 2010 en el que se adoptó la resolución Zutik Euskal Herria, en la cual se rechazaban el uso de la violencia y se apostaba por la alianza entre fuerzas soberanistas, ETA declaró un alto el fuego unilateral, permenente, verificable y de carácter general.
  • La alianza entre fuerzas soberanistas vascas se materializó como Bildu, coalición que agrupó a la izquierda abertzale, Eusko Alkartasuna y Alternatiba, a la que posteriormente se añadiría Aralar para las coaliciones Amaiur y Euskal Herria Bildu.

2011

  • En 2011, ETA abandonó las armadas decretando el "cese definitivo de la actividad armada" y en 2012 se produjo la legalización de la izquierda abertzale con el partido Sortu.
  • El partido había intentado registrar un año atrás siendo prohibida su inscripción y obtuvo su legalización tras ganar el recurso de amparo en los tribunales.
  • Este escenario ha dibujado cuatro principales fuerzas en el País Vasco: el PNV (centroderecha nacionalista vasca), Bildu (coalición de izquierda soberanista vasca), PSE-EE (centroizquierda españolista) y PP (derecha españolista).
  • En Navarra los Gobiernos del PSN, federación navarra del PSOE, inmersos en diversos episodios de corrupción, por los que los dos últimos presidentes socialistas de Navarra ingresaron en la cárcel, fueron sustituidos por los de UPN, representantes navarros del PP, que han venido realizando una política de afirmación de la identidad navarro-españolista frente a la identidad navarro-vasquista vinculada al nacionalismo vasco que recientemente se han ido organizando en frentes comunes que han dado como resultado las coaliciones Nafarroa Bai, Bildu, Geroa Bai y Amaiur.
  • Las posturas representadas por CDN, escisión extinta de UPN, fueron poco a poco reincorporándose al partido matriz y a su concepción política.
  • En la actualidad tanto el País Vasco como Navarra, se encuentran estadísticamente entre las comunidades con los índices más elevados de progreso de España, a niveles incluso superiores a la media europea.
  • El estatus político de los territorios franceses se ha mantenido invariable desde el siglo XIX.
  • Hay movimientos que ante la reforma territorial de descentralización francesa promueven instituciones propias para el País Vasco, sin que hayan podido tener suficiente eco en el Gobierno de París.

Literature

Jorge Luis Borges

2015-07-24 The Library of Babel as Seen from Within

src

Quotes:

The story describes a universal library containing, in 410-page volumes, every possible permutation of twenty-two letters, spaces, commas, and periods—every book that’s ever been written and every book that ever could be, drowned out by endless pages of gibberish. Its librarians are addicted to the search for certain master texts, the complete catalog of the library, or the future history of one’s own life, but their quest inevitably ends in failure, despair, even suicide.

Though the story’s librarian-narrator believes in the possible triumph of reason, the principle force underlying the library is irrationality. Any expression, even the most elegant or undeniably true, is nonetheless possible without sincerity, or even any intention towards signification. The library makes this hidden power explicit: anything that can be referenced in language or accessible to experience must be separable from itself—a thought, a perception, a word can be made of it. This may undermine our sense of the simple presence of things, but it allows for everything interesting in the world: fantasy, lies, illusions, imagination, and fiction.

Borges’s story isn’t simply one among others, but the story of all fiction, and with it all reality.

Though its underlying theory of language is powerful and undeniable, there are strange inaccuracies elsewhere in the library, [...] The librarians in the story, for instance, encounter far more rational text than would ever be possible in a truly random universal library. Merely in the hexagons under his administration, our narrator recounts volumes with the titles Combed Thunder and The Plaster Cramp.

Even some of the incoherent texts in the story, such as one where the letters “MCV” repeat “perversely” for 410 pages, are statistically impossible for mere mortals to encounter.

The most important of the librarians’ discoveries is another impossibility, a work with two pages in a “Samoyed-Lithuanian dialect of Guaraní with inflections from classical Arabic” containing the rudiments of combinatory analysis. Borges notes, with his usual strange humor, that it’s “illustrated with examples of endlessly repeating variations.” One could understand every volume in the library as such an illustration—an appendix to this manual on permutation and combination. The entire library fits inside a single one of its books, like the master catalog the librarians seek or the algorithm that produces the online version of the library, a few lines of code that can also be found inside its volumes.

The librarians’ entire universe-as-library theory grows from this discovery. The library contains all possible text, and thus offers the promise of revelation that motivates their search through its volumes. I doubt Borges was being naive when he placed these impossibly rare texts in his story. Rather, he played the role of a trickster god, seeding his creation with just enough meaningful and poetic text to entice both his story’s librarians and its readers. That its only possible result is disappointment and despair is part of his dark humor, and a fate he laments along with us.

His narrator, on the other hand, seduced by Borges’s trickery, has no sense of the true scale of the library, a barrier I continually encountered when trying to re-create it. Whether the library contains all possible permutations of letters, contains not a single repetition, or cycles through every possibility before repeating are unknowable. No one will ever encounter any duplicate books in a universal library. The entirety of human endeavor is insufficient to make it statistically possible.

There is another improbable text the librarian-narrator has come across in his travels, one written by Borges himself, from an essay titled “The Total Library.” It was Borges’s first reflection on the theme of the universal library, published two years before his short story. The excerpt, well known to the librarians, claims that confusion and irrationality overwhelm the possibility of rationality in the library. Our narrator condemns these words as impious, tasteless, and ignorant. His counterargument is quite beautiful, and equally relevant when considering the “ascetic rage” of the Purifiers:

"There is no combination of characters one can make—dhcmrlchtdj, for example—that the divine Library has not foreseen and that in one or more of its secret tongues does not hide a terrible significance. There is no syllable one can speak that is not filled with tenderness and terror, that is not, in one of those languages, the mighty name of a god."

There is no such thing as meaninglessness, in other words, and not a single volume or even a single line of text worthy of condemnation in the near-infinite library. According to the theory of language with which we began, a speaker’s intentions can never secure a univocal meaning for his utterance: the possibility for those same signs to appear in new contexts, animated by different intentions or none at all, is as limitless as the library itself. The result is not that language loses all meaning but that it constantly gains more, as even the unprecedented combinations of its atoms, the letters, wait patiently for the discovery or invention of the language in which they will be the names of new gods.

Dune

2015-07-06 Dune, 50 years on

src

Quotes:

Herbert was a quintessential product of the libertarian culture of the Pacific coast, self-reliant and distrustful of centralised authority, yet with a mile-wide streak of utopian futurism and a concomitant willingness to experiment.

This setup owes something to the Mars stories of Edgar Rice Burroughs and Isaac Asimov’s Foundation books, as well as the tales written by Idaho-born food chemist Elmer Edward “Doc” Smith, creator of the popular Lensman space operas of the 1940s and 50s, in which eugenically bred heroes are initiated into a “galactic patrol” of psychically enhanced supercops. For Smith, altered states of consciousness were mainly tools for the whiteous and righteous to vaporise whole solar systems of subversives, aliens and others with undesirable traits. Herbert, by contrast, was no friend of big government. He had also taken peyote and read Jung. In 1960, a sailing buddy introduced him to the Zen thinker Alan Watts, who was living on a houseboat in Sausalito. Long conversations with Watts, the main conduit by which Zen was permeating the west-coast counterculture, helped turn Herbert’s pacy adventure story into an exploration of temporality, the limits of personal identity and the mind’s relationship to the body.

Every fantasy reflects the place and time that produced it. If The Lord of the Rings is about the rise of fascism and the trauma of the second world war, and Game of Thrones, with its cynical realpolitik and cast of precarious, entrepreneurial characters is a fairytale of neoliberalism, then Dune is the paradigmatic fantasy of the Age of Aquarius. Its concerns – environmental stress, human potential, altered states of consciousness and the developing countries’ revolution against imperialism – are blended together into an era-defining vision of personal and cosmic transformation.

Books read differently as the world reforms itself around them, and the Dune of 2015 has geopolitical echoes that it didn’t in 1965, before the oil crisis and 9/11. Paul Atreides is a young white man who fulfils a persistent colonial fantasy, that of becoming a God-king to a tribal people. Herbert’s portrayal of the “Fremen” [...] owes much to TE Lawrence and Wilfred Thesiger’s enthusiastic portrayals of the Bedouin of Arabia’s Empty Quarter. Fremen culture is described in words liberally cribbed from Arabic. [...] They are tough, proud and relatively egalitarian. The harshness of their environment has given them an ethic of fellowship and mutual aid. They are what Kipling would have termed “one of the martial races”: absolutely to be admired, possessing none of the negative “oriental” traits – deviousness, laziness and the like. They are, however, not carbon-copy Bedouin: Herbert freely mixes elements of Zen into their belief system, and also, intriguingly, suggests that their messianic eschatology – the sense in which they were “waiting” for Paul – may have been seeded in previous millennia by the Bene Gesserit order as part of its murky eugenic plans. Herbert, whose female characters are consistently strong and active, has also ditched the strict sexual divisions of actually existing Bedouin culture. Thus Fremen women do their share of fighting and fearlessly contradict their menfolk, though there is still a fair amount of child-bearing and housework to be done while the men are off riding worms.

What makes Dune more palatable [...] Game of Thrones, is the sincerity of Herbert’s identification with the Fremen. They are the moral centre of the book, not an ignorant mass to be civilised. Paul does not transform them in his image, but participates in their culture and is himself transformed into the prophet Muad’Dib.

By rights, Dune ought to have become a big movie. An attempt by the visionary Chilean film maker Alejandro Jodorowsky to bring it to the screen became one of the great “what if” stories of SF cinema. Jodorowsky had extraordinary collaborators: visuals by Moebius and HR Giger, spaceships designed by the English illustrator Chris Foss. Orson Welles was to play Baron Harkonnen, Salvador Dali the Emperor. Pink Floyd and Magma were on board to do the soundtrack. But Jodorowsky’s prog-tastic project was strangled in the crib by risk-averse Hollywood producers.

Actually, the great Dune film did get made. Its name is Star Wars. In early drafts, this story of a desert planet, an evil emperor, and a boy with a galactic destiny also included warring noble houses and a princess guarding a shipment of something called “aura spice”. All manner of borrowings from Dune litter the Star Wars universe, from the Bene Gesserit-like mental powers of the Jedi to the mining and “moisture farming” on Tattooine. Herbert knew he’d been ripped off, and thought he saw the ideas of other SF writers in Lucas’s money-spinning franchise. He and a number of colleagues formed a joke organisation called the We’re Too Big to Sue George Lucas Society.

In Dune, he has Kynes, the “First Planetologist of Arrakis” (and hero of the novel’s first draft) muse that “beyond a critical point within a finite space, freedom diminishes as numbers increase. This is as true of humans in the finite space of a planetary ecosystem as it is of gas molecules in a sealed flask. The human question is not how many can possibly survive within the system, but what kind of existence is possible for those who do survive.” Gloomy Malthusianism was much in vogue in the 1960s and 70s. In 1968 Paul Ehrlich’s The Population Bomb became a runaway bestseller, predicting mass starvation unless population growth was restricted. The flip side of the green movement’s valorisation of small scale and self-reliance is an uneasy relationship with the masses, and with the idea of economic growth more generally. Herbert’s libertarian politics reinforced this worry. In Dune, Paul knows that if the desert planet is made to bloom, it will support a larger population, and the ethic of individualism will be eroded. He himself, as he is transformed from aristocrat to messiah, loses his individuality and begins to dissolve into myth, becoming part of a Jungian collective unconscious.

Mind

Buddhism

The Mind Illuminated

Table of Contents


Introduction


An Overview of the Ten Stages


1st Interlude: Conscious Experience & the Objectives of Meditation


Stage 1: Establishing a Practice


2nd Interlude: The Hindrances & Problems


Stage 2: Interrupted Attentions & Overcoming Mind-Wandering


Stage 3: Extended Continuity of Attention & Overcoming Forgetting


3rd Interlude: How Mindfulness Works


Stage 4: Continuous Attention & Overcoming Gross Distraction and Strong Dullness


4th Interlude: The Moments of Consciousness Model


Stage 5: Overcoming Subtle Dullness & Increasing Mindfulness


5th Interlude: The Mind-System


Stage 6: Subduing Subtle Distractions


6th Interlude: The Stages of an Adept


Stage 7: Exclusive Attention & Unifying the Mind


7th Interlude: The Nature of Mind and Consciousness


Stage 8: Mental Pliancy and Pacifying the Senses


Stage 9: Mental and Physical Pliancy and Calming the Intensity of Meditative Joy


Stage 10: Tranquility and Equanimity


Final Thoughts


Appendix A: Walking Meditation


Appendix B: Analytical Meditation


Appendix C: Loving-Kindness Meditation


Appendix D: The Jhanas


Appendix E: Mindful Review


Appendix F: Insight and the "Dark Night"

Philosophy of Mind and Buddhism

For a contemporary understanding of the soul/mind and the problem concerning its connection to the brain/body, consider the rejection of Descartes' mind/body dualism by Gilbert Ryle's ghost-in-the-machine argument, the tenuous unassailability of Richard Swinburne's argument for the soul, and the advances, which have been made in neuroscience and which are steadily uncovering the truth/falsity of the concept of an independent soul/mind.

The philosophies mind and of personal identity also contribute to a contemporary understanding of the mind.

The contemporary approach does not so much attack the existence of an independent soul as render the concept less relevant.

The advances in neuroscience mainly serve to support the mind/brain identity hypothesis, showing the extent of the correlation between mental states and physical-brain states.

The notion of soul has less explanatory power in a western world-view which prefers the empirical explanations involving observable and locatable elements of the brain.

Even so, there remain considerable objections to simple-identity theory.

Notably, philosophers such as Thomas Nagel and David Chalmers have argued that the correlation between physical-brain states and mental states is not strong enough to support identity theory.

Nagel (1974) argues that no amount of physical data is sufficient to provide the "what it is like" of first-person experience, and Chalmers (1996) argues for an "explanatory gap" between functions of the brain and phenomenal experience.

On the whole, brain/mind identity theory does poorly in accounting for mental phenomena of qualia and intentionality.

While neuroscience has done much to illuminate the functioning of the brain, much of subjective experience remains mysterious.

Buddhism

Buddhism teaches that all things are in a constant state of flux: all is changing, and no permanent state exists by itself. This applies to human beings as much as to anything else in the cosmos. Thus, a human being has no permanent self. According to this doctrine of anatta (Pāli; Sanskrit: anātman) – "no-self" or "no soul" – the words "I" or "me" do not refer to any fixed thing. They are simply convenient terms that allow us to refer to an ever-changing entity.

The anatta doctrine is not a kind of materialism. Buddhism does not deny the existence of "immaterial" entities, and it (at least traditionally) distinguishes bodily states from mental states. Thus, the conventional translation of anatta as "no-soul" can be confusing. If the word "soul" simply refers to an incorporeal component in living things that can continue after death, then Buddhism does not deny the existence of the soul. Instead, Buddhism denies the existence of a permanent entity that remains constant behind the changing corporeal and incorporeal components of a living being. Just as the body changes from moment to moment, so thoughts come and go. And there is no permanent, underlying mind that experiences these thoughts, as in Cartesianism; rather, conscious mental states simply arise and perish with no "thinker" behind them. When the body dies, the incorporeal mental processes continue and are reborn in a new body. Because the mental processes are constantly changing, the being that is reborn is neither entirely different than, nor exactly the same as, the being that died. However, the new being is continuous with the being that died – in the same way that the "you" of this moment is continuous with the "you" of a moment before, despite the fact that you are constantly changing.

Buddhist teaching holds that a notion of a permanent, abiding self is a delusion that is one of the causes of human conflict on the emotional, social, and political levels. They add that an understanding of anatta provides an accurate description of the human condition, and that this understanding allows us to pacify our mundane desires.

Various schools of Buddhism have differing ideas about what continues after death. The Yogacara school in Mahayana Buddhism said there are Store consciousness which continue to exist after death. In some schools, particularly Tibetan Buddhism, the view is that there are three minds: very subtle mind, which does not disintegrate in death; subtle mind, which disintegrates in death and which is "dreaming mind" or "unconscious mind"; and gross mind, which does not exist when one is sleeping. Therefore, gross mind less permanent than subtle mind, which does not exist in death. Very subtle mind, however, does continue, and when it "catches on", or coincides with phenomena, again, a new subtle mind emerges, with its own personality/assumptions/habits, and that entity experiences karma in the current continuum.

Plants were said to be non-sentient (無情), but Buddhist monks should avoid cutting or burning trees, because some sentient beings rely on them. Some Mahayana monks said non-sentient beings such as plants and stones have buddha-nature. Some buddhists said about plants or divisible consciousnesses.

Certain modern Buddhists, particularly in Western countries, reject—or at least take an agnostic stance toward—the concept of rebirth or reincarnation, which they view as incompatible with the concept of anatta. Stephen Batchelor discusses this issue in his book, Buddhism Without Beliefs. Others point to research that has been conducted at the University of Virginia as proof that some people are reborn.

Anapanasanti: the power of mindfulness

  • Four sources of power in bare attention
    1. the functions of "tidying" and "naming"
      • tidying up the mental household
      • naming
    2. the non-coercive procedure
      • obstacles to meditation
      • three countermeasures
    3. stopping and slowing down
      • keeping still
      • spontaneity
      • slowing down
      • subliminal influences
    4. directness of vision
      • the force of habit
      • associative thought
      • the sense of urgency
      • the road to insight

Anapanasanti

  • "mindfulness of breathing"
  • form of buddhist meditation
  • to feel the sensations caused by the movements of the breath in the body, as is practiced in the context of mindfulness
  • origins in buddhism
    • core meditation practice in theravada, tiantai, chan, zen
    • The Anapanasati Sutta specifically concerns mindfulness of inhalation and exhalation, as a part of paying attention to one's body in quietude, and recommends the practice of ānāpānasati meditation as a means of cultivating the seven factors of awakening: sati (mindfulness), dhamma vicaya (analysis), viriya (persistence), which leads to pīti (rapture), then to passaddhi (serenity), which in turn leads to samadhi (concentration) and then to upekkhā (equanimity).
    • anapanasati has been used as a basis for developing meditative concentration (samadhi) until reaching the state and practice of full absorption (jhana). It is the same state reached by the Buddha during his quest for Enlightenment.

The standard assertion of Buddhism is that by wiping away the cobwebs of ignorance typified by the three poisons of greed, anger, and delusion what remains is the Buddha nature which answers the question of appolonios above but my question is somewhat more philosophical.

The Dalai Lama has been carrying on an open discussion with the scientific community with the mind and life institute being a prime example. He has stated that the nature of reality is open to story telling and that the framework of material existence has some merit as a partial frame for a discussion of how pragmatic empiricism might tease out the connections between the physical world and the vital and mental worlds.

Thannissaro Bikkhu sounds like many people I hear in the Buddhist community who may be engaged in a skillful means exercise but do an injustice to those of us who see the mind as an instrument of perception that is disciplined by the rigors of philosophical debate like what is happening at the mind and life institute.

B. Alan Wallace has just published a book "Meditations of a Buddhist Skeptic" which I heartily recommend to those with the scientific background to appreciate the subtleties involved in the East/West encounter that is part of the beginnings of a new science.

Another book by the 1998 Nobel laureate in physics, Robert B. Laughlin "A Different Universe: Reinventing Physics from the Bottom Down" has a new take on theorizing that sounds very much like dependent origination.

Within Hinduism the is a yoga called jnana yoga that is not for everyone. It is a yoga of the mind that delves deeply into epistemological issues that might be too difficult for most people. I think Buddhism's encounter with western science is fomenting a revolution in Buddhist epistemology and is shaking the foundations of Western science. It is something every educated Buddhist should have at a passing awareness of.

                                 500 BC
                            BUDDHA, THE WORD
                          (The Eightfold Path)

                     THE FOUR NOBLE TRUTHS

THUS has it been said by the Buddha, the Enlightened One: It is through not understanding, not realizing four things, that I, Disciples, as well as you, had to wander so long through this round of rebirths. And what are these four things? They are the Noble Truth of Suffering, the Noble Truth of the Origin of Suffering, the Noble Truth of the Extinction of Suffering, the Noble Truth of the Path that leads to the Extinction of Suffering. As long as the absolutely true knowledge and insight as regards these Four Noble Truths was not quite clear in me, so long was I not sure, whether I had won that supreme Enlightenment which is unsurpassed in all the world with its heavenly beings, evil spirits and gods, amongst all the hosts of ascetics and priests, heavenly beings and men. But as soon as the absolutely true knowledge and insight as regards these Four Noble Truths had become perfectly clear in me, there arose in me the assurance that I had won that supreme Enlightenment unsurpassed. And I discovered that-profound truth, so difficult to perceive, difficult to understand, tranquilizing and sublime, which is not to be gained by mere reasoning, and is visible only to the wise. The world, however, is given to pleasure, delighted with pleasure, enchanted with pleasure. Verily, such beings will hardly understand the law of conditionality, the Dependent Origination of every thing; incomprehensible to them will also be the end of all formations, the forsaking of every substratum of rebirth, the fading away of craving; detachment, extinction, Nirvana. Yet there are beings whose eyes are only a little covered with dust: they will understand the truth. FIRST TRUTH THE NOBLE TRUTH OF SUFFERING

WHAT, now, is the Noble Truth of Suffering? Birth is suffering; Decay is suffering; Death is suffering; Sorrow, Lamentation, Pain, Grief, and Despair, are suffering; not to get what one desires, is suffering; in short: the Five Groups of Existence are suffering. What, now, is Birth? The birth of beings belonging to this or that order of beings, their being born, their conception and springing into existence, the manifestation of the groups of existence, the arising of sense activity-this is called Birth. And what is Decay? The decay of beings belonging to this or that order of beings; their getting aged, frail, grey, and wrinkled; the failing of their vital force, the wearing out of the senses-this is called Decay. And what is Death? The parting and vanishing of beings out of this or that order of beings, their destruction, disappearance, death, the completion of their life-period, dissolution of the groups of existence, the discarding of the body-this is called Death. And what is Sorrow? The sorrow arising through this or that loss or misfortune which one encounters, the worrying oneself, the state of being alarmed, inward sorrow, inward woe-this is called Sorrow. And what is Lamentation? Whatsoever, through this or that loss or misfortune which befalls one, is wail and lament, wailing and lamenting, the state of woe and lamentation this is called Lamentation. And what is Pain? The bodily pain and unpleasantness, the painful and unpleasant feeling produced by bodily contact-this is called Pain. And what is Grief? The mental pain and unpleasantness, the painful and unpleasant feeling produced by mental contact-this is called Grief. And what is Despair? Distress and despair arising through this or that loss or misfortune which one encounters, distressfulness, and desperation-this is called Despair. And what is the "suffering of not getting what one desires?" To beings subject to birth there comes the desire: "O that we were not subject to birth! O that no new birth was before us!" Subject to decay, disease, death, sorrow, lamentation, pain, grief, and despair, the desire comes to them: "O that we were not subject to these things! O that these things were not before us!" But this cannot be got by mere desiring; and not to get what one desires, is suffering.

                 THE FIVE GROUPS OF EXISTENCE

And what, in brief, are the Five Groups of Existence? They are Corporeality, Feeling, Perception, [mental] Formations, and Consciousness. Any corporeal phenomenon, whether one's own or external, gross or subtle, lofty or low, far or near, belongs to the Group of Corporeality; any feeling belongs to the Group of Feeling; any perception belongs to the Group of Perception; any mental formation belongs to the Group of Formations; all consciousness belongs to the Group of Consciousness. [Our so-called individual existence is in reality nothing but a mere process of these "bodily and mental" phenomena, which since immemorial times was going on before one's apparent birth, and which also after death will continue for immemorial periods of time. In the following, we shall see that these five Groups, or Khandhas-either taken separately, or combined-in no way constitute any real "Ego-entity," and that no Ego-entity exists apart from them, and hence that the belief in an Ego-entity is merely an illusion. Just as that which we designate by the name of "chariot," has no existence apart from axle, wheels, shaft, and so forth: or as the word "house" is merely a convenient designation for various materials put together after a certain fashion so as to enclose a portion of space, and there is no separate house-entity in existence:-in exactly the same way, that which we call a "being," or an "individual," or a "person," or by the name is nothing but a changing combination of physical and psychical phenomena, and has no real existence in itself.]

          THE "CORPOREALITY GROUP" OF FOUR ELEMENTS

What, now, is the Group of Corporeality? It is the four primary elements, and Corporeality derived from them. And what are the four primary elements? They are the Solid Element, the Fluid Element, the Heating Element, the Vibrating Element. [The four elements, or-to speak more correctly-the four elementary qualities of matter, may be rendered in English as: Inertia, Cohesion, Radiation, and Vibration. The twenty-four corporeal phenomena which depend upon them are, according to the Abhidharma: eye, ear, nose, tongue, body, visible form, sound, odor, taste, masculinity, femininity, vitality, organ of thinking, gesture, speech, space (cavities of ear, nose, etc.), agility, elasticity, adaptability, growth, duration, decay, variability, change of substance.]

  1. What, now, is the Solid Element? The solid element may be one's own, or it may be external. And what is one's own solid element? The dependent properties, which on one's own person and body are hard and solid, as the hairs of head and body, nails, teeth, skin, flesh, sinews, bones, marrow, kidneys, heart, liver, diaphragm, spleen, lungs, stomach, bowels, mesentery, excrement, or whatever other dependent properties which on one's own person and body are hard and solid-this is called one's own solid element. Now, whether it be one's own solid element, or whether it be the external solid element, they are both only the solid element. And one should understand, according to reality, and true wisdom: "This does not belong to me; this am I not; this is not my Ego."

  2. What, now, is the Fluid Element? The fluid element may be one's own, or it may be external. And what is one own fluid element? The dependent properties, which on one's own person and body are watery or cohesive, as bile, phlegm, pus, blood, sweat, lymph, tears, semen, spit, nasal mucus, oil of the joints, urine or whatever other dependent properties which on one own person and body are watery or cohesive-this is called one's own fluid element. Now, whether it be one's own fluid element, or whether it be the external fluid element, they are both only the fluid element. And one should understand, according to reality, and true wisdom: "This does not belong to me; this am I not; this is not my Ego."

  3. What, now, is the Heating Element? The heating element may be one own, or it may be external. And what is one's own heating element? The dependent properties, which on one's own person and body are heating and radiating, as that whereby one is heated, consumed, scorched, whereby that which has been eaten, drunk, chewed, or tasted, is fully digested; or whatever other dependent properties, which on one's own person and body are heating and radiating this is called one's own heating element. Now, whether it be one's own heating element, or whether it be the external heating element, they are both only the heating element. And one should understand, according to reality, and true wisdom: "This does not belong to me; this am I not; this is not my Ego."

  4. What, now, is the Vibrating Element? The vibrating element may be one's own, or it may be external. And what is one's own vibrating element? The dependent properties, which on one's own person and body are mobile and gaseous, as the upward-going and downward-going winds; the winds of stomach and intestines; in-breathing and out-breathing; or whatever other dependent properties, which on one's own person and body are mobile and gaseous-this is called one's own vibrating element. Now, whether it be one's own vibrating element, or whether it be the external vibrating element, they are both only the vibrating element. And one should understand, according to reality, and true wisdom: "This does not belong to me; this am I not; this is not my Ego." Just as one calls "hut" the circumscribed space which comes to be by means of wood and rushes, reeds, and clay, even so we call "body" the circumscribed space that comes to be by means of bones and sinews, flesh and skin.

           DEPENDENT ORIGINATION OF CONSCIOUSNESS
    

Now, though one's eye be intact, yet if the external forms do not fall within the field of vision, and no corresponding conjunction takes place, in that case there occurs no formation of the corresponding aspect of consciousness. Or, though one eye be intact, and the external forms fall within the field of vision, yet if no corresponding conjunction takes place, in that case also there occurs no formation of the corresponding aspect of consciousness. If, however, one's eye is intact, and the external forms fall within the field of vision, and the corresponding conjunction takes place, in that case there arises the corresponding aspect of consciousness. Hence, I say: the arising of consciousness is dependent upon conditions; and without these conditions, no consciousness arises. And upon whatsoever conditions the arising of consciousness is dependent, after these it is called. Consciousness whose arising depends on the eye and forms, is called "eye-consciousness." Consciousness whose arising depends on the ear and sound, is called "ear-consciousness." Consciousness whose arising depends on the olfactory organ and odors, is called "nose-consciousness." Consciousness whose arising depends on the tongue and taste, is called "tongue-consciousness." Consciousness whose arising depends on the body and bodily contacts, is called "body-consciousness." Consciousness whose arising depends on the mind and ideas, is called "mind-consciousness." Whatsoever there is of "corporeality" in the consciousness thus arisen, that belongs to the Group of Corporeality. there is of "feeling"-bodily ease, pain, joy, sadness, or indifferent feeling-belongs to the Group of Feeling. Whatsoever there is of "perception"-visual objects, sounds, odors, tastes, bodily impressions, or mind objects-belongs to the Group of Perception. Whatsoever there are of mental "formations" impression, volition, etc.-belong to the Group of mental Formations. Whatsoever there is of "consciousness" therein, belongs to the Group of Consciousness. And it is impossible that any one can explain the passing out of one existence, and the entering into a new existence, or the growth, increase, and development of consciousness, independent of corporeality, feeling, perception, and mental formations.

            THE THREE CHARACTERISTICS OF EXISTENCE

All formations are "transient"; all formations are "subject to suffering"; all things are "without an Ego-entity." Corporeality is transient, feeling is transient, perception is transient, mental formations are transient, consciousness is transient. And that which is transient, is subject to suffering; and of that which is transient, and subject to suffering and change, one cannot rightly say: "This belongs to me; this am I; this is my Ego." Therefore, whatever there be of corporeality, of feeling, perception, mental formations, or consciousness, whether one's own or external, whether gross or subtle, lofty or low, far or near, one should understand, according to reality, and true wisdom: "This does not belong to me; this am I not; this is not my Ego." Suppose, a man who is not blind, were to behold the many bubbles on the Ganges as they are driving along; and he should watch them, and carefully examine them. After carefully examining them, they will appear to him empty, unreal, and unsubstantial. In exactly the same way, does the monk behold all the corporeal phenomena, feelings, perceptions, mental formations, and states of consciousness-whether they be of the past, or the present, or the future, far, or near. And he watches them, and examines them carefully; and, after carefully examining them, they appear to him empty, void, and without an Ego Whoso delights in corporeality, or feeling, or perception, or mental formations, or consciousness, he delights in suffering; and whoso delights in suffering, will not be freed from suffering. Thus I say

      How can you find delight and mirth,
      Where there is burning without end?
      In deepest darkness you are wrapped!
      Why do you not seek for the light?

      Look at this puppet here, well rigged,
      A heap of many sores, piled up,
      Diseased, and full of greediness,
      Unstable, and impermanent!

      Devoured by old age is this frame,
      A prey of sickness, weak and frail;
      To pieces breaks this putrid body,
      All life must truly end in death.

                      THE THREE WARNINGS

Did you never see in the world a man, or a woman, eighty, ninety, or a hundred years old, frail, crooked as a gable roof, bent down, resting on crutches, with tottering steps, infirm, youth long since fled, with broken teeth, grey and scanty hair, or bald-headed, wrinkled, with blotched limbs? And did the thought never come to you that also you are subject to decay, that also you cannot escape it? Did you never see in the world a man, or a woman, who being sick, afflicted, and grievously ill, and wallowing in his own filth, was lifted up by some people, and put to bed by others? And did the thought never come to you that also you are subject to disease, that also you cannot escape it? Did you never see in the world the corpse of a man, or a woman, one, or two, or three days after death, swollen up, blue-black in color, and full of corruption? And did the thought never come to you that also you are subject to death, that also you cannot escape it?

               SAMSARA, THE WHEEL OF EXISTENCE

Inconceivable is the beginning of this Samsara; not to be discovered is any first beginning of beings, who, obstructed by ignorance, and ensnared by craving, are hurrying and hastening through this round of rebirths. [Samsara-the Wheel of Existence, lit., the "Perpetual Wandering"-is the name by which is designated the sea of life ever restlessly heaving up and down, the symbol of this continuous process of ever again and again being born, growing old, suffering, and dying. More precisely Put: Samsara is the unbroken chain of the fivefold Khandha-combinations, which, constantly changing from moment to moment, follow continuously one upon the other through inconceivable periods of time. Of this Samsara, a single lifetime constitutes only a vanishingly tiny fraction; hence, to be able to comprehend the first noble truth, one must let one's gaze rest upon the Samsara, upon this frightful chain of rebirths, and not merely upon one single lifetime, which, of course, may be sometimes not very painful.] Which do you think is the more: the flood of tears, which weeping and wailing you have shed upon this long way-hurrying and hastening through this round of rebirths, united with the undesired, separated from the desired this, or the waters of the four oceans? Long time have you suffered the death of father and mother, of sons, daughters, brothers, and sisters. And whilst you were thus suffering, you have, verily, shed more tears upon this long way than there is water in the four oceans. Which do you think is the more: the streams of blood that, through your being beheaded, have flowed upon this long way, or the waters in the four oceans? Long time have you been caught as dacoits, or highwaymen, or adulterers; and, through your being beheaded, verily, more blood has flowed upon this long way than there is water in the four oceans. But how is this possible? Inconceivable is the beginning of this Samsara; not to be discovered is any first beginning of beings, who, obstructed by ignorance, and ensnared by craving, are hurrying and hastening through this round of rebirths. And thus have you long time undergone suffering, undergone torment, undergone misfortune, and filled the graveyards full; verily, long enough to be dissatisfied with all the forms of existence, long enough to turn away, and free yourselves from them all.

                         SECOND TRUTH
          THE NOBLE TRUTH OF THE ORIGIN OF SUFFERING

WHAT, now, is the Noble Truth of the Origin of Suffering? It is that craving which gives rise to fresh rebirth, and, bound up with pleasure and lust, now here, now there, finds ever fresh delight. [In the absolute sense, it is no real being, no self-determined, unchangeable, Ego-entity that is reborn. Moreover, there is nothing that remains the same even for two consecutive moments; for the Five Khandhas, or Groups of Existence, are in a state of perpetual change, of continual dissolution and renewal. They die every moment, and every moment new ones are born. Hence it follows that there is no such thing as a real existence, or "being" (Latin esse), but only as it were an endless process, a continuous change, a "becoming," consisting in a "producing," and in a "being produced"; in a "process of action," and in a "process of reaction," or "rebirth." This process of perpetual "producing" and "being produced" may best be compared with an ocean wave. In the case of a wave, there is not the slightest quantity of water traveling over the surface of the sea. But the wave structure, that hastens over the surface of the water, creating the appearance of one and the same mass of water, is, in reality, nothing but the continuous rising and falling of continuous, but quite different, masses of water, produced by the transmission of force generated by the wind. Even so, the Buddha did not teach that Ego-entities hasten through the ocean of rebirth, but merely life-waves, which, according to their nature and activities (good, or evil), manifest themselves here as men, there as animals, and elsewhere as invisible beings.]

                    THE THREEFOLD CRAVING

There is the "Sensual Craving," the "Craving for Eternal-Annihilation." Existence," the "Craving for Self-Annihilation." [The "Craving for Eternal Existence," according to the Visuddhi-Magga, is intimately connected with the so-called Eternity-Belief," i.e., the belief in an absolute, eternal, Ego-entity persisting independently of our body. The Craving for Self-Annihilation is the outcome of the so-called "Annihilation-Belief," the delusive materialistic notion of an Ego which is annihilated at death, and which does not stand in any causal relation with the time before birth or after death.] But, where does this craving arise and take root? Wherever in the world there are delightful and pleasurable things, there this craving arises and takes root. Eye, ear, nose, tongue, body, and mind, are delightful and pleasurable: there this craving arises and takes root. Visual objects, sounds, smells, tastes, bodily impressions, and mind-objects, are delightful and pleasurable: there this craving arises and takes root. Consciousness, sense impression, feeling born of sense impression, perception, will, craving, thinking, and reflecting, are delightful and pleasurable: there this craving arises and takes root. If, namely, when perceiving a visual object, a sound, odor, taste, bodily impression, or a mind object, the object is pleasant, one is attracted; and if unpleasant, one is repelled. Thus, whatever kind of "Feeling" one experiences, pleasant, unpleasant, or indifferent-one approves of, and cherishes the feeling, and clings to it; and while doing so, lust springs up; but lust for feelings, means Clinging; and on Clinging, depends the "Process of Becoming"; on the Process of Becoming (Karma-process), depends (future) "Birth"; and dependent on Birth, are Decay and Death, Sorrow, Lamentation, Pain, Grief, and Despair. Thus arises this whole mass of suffering. This is called the Noble Truth of the Origin of Suffering.

               HEAPING UP OF PRESENT SUFFERING

Verily, due to sensuous craving, conditioned through sensuous craving, impelled by sensuous craving, entirely moved by sensuous craving, kings fight with kings, princes with princes, priests with priests, citizens with citizens; the mother quarrels with the son, the son with the mother, the father with the son, the son with the father; brother quarrels with brother, brother with sister, sister with brother, friend with friend. Thus, given to dissension, quarreling and fighting, they fall upon one another with fists, sticks, or weapons. And thereby they suffer death or deadly pain. And further, due to sensuous craving, conditioned through sensuous craving, impelled by sensuous craving, entirely moved by sensuous craving, people break into houses, rob, plunder, pillage whole houses, commit highway robbery, seduce the wives of others. Then, the rulers have such people caught, and inflict on them various forms of punishment. And thereby they incur death or deadly pain. Now, this is the misery of sensuous craving, the heaping up of suffering in this present life, due to sensuous craving, conditioned through sensuous craving, caused by sensuous craving, entirely dependent on sensuous craving.

                HEAPING UP OF FUTURE SUFFERING

And further, people take the evil way in deeds, the evil way in words, the evil way in thoughts; and by taking the evil way in deeds, words, and thoughts, at the dissolution of the body, after death, they fall into a downward state of existence, a state of suffering, into perdition, and the abyss of hell. But, this is the misery of sensuous craving, the heaping up of suffering in the future life, due to sensuous craving, conditioned through sensuous craving, caused by sensuous craving, entirely dependent on sensuous craving.

      Not in the air, nor ocean-midst,
      Nor hidden in the mountain clefts,
      Nowhere is found a place on earth,
      Where man is freed from evil deeds.

                INHERITANCE OF DEEDS  (KARMA)

For, owners of their deeds (karma) are the beings, heirs of their deeds; their deeds are the womb from which they sprang; with their deeds they are bound up; their deeds are their refuge. Whatever deeds they do-good or evil-of such they will be the heirs. And wherever the beings spring into existence, there their deeds will ripen; and wherever their deeds ripen, there they will earn the fruits of those deeds, be it in this life, or be it in the next life, or be it in any other future life. There will come a time, when the mighty ocean will dry up, vanish, and be no more. There will come a time, when the mighty earth will be devoured by fire, perish, and be no more. But, yet there will be no end to the suffering of beings, who, obstructed by ignorance, and ensnared by craving, are hurrying and hastening through this round of rebirths.

                         THIRD TRUTH
        THE NOBLE TRUTH OF THE EXTINCTION OF SUFFERING

WHAT, now, is the Noble Truth of the Extinction of Suffering? It is the complete fading away and extinction of this craving, its forsaking and giving up, the liberation and detachment from it. But where may this craving vanish, where may it be extinguished? Wherever in the world there are delightful and pleasurable things, there this craving may vanish, there it may be extinguished. Be it in the past, present, or future, whosoever of the monks or priests regards the delightful and pleasurable things in the world as "impermanent," "miserable," and "without an Ego," as a disease and cancer; it is he who overcomes the craving. And released from Sensual Craving, released from the Craving for Existence, he does not return, does not enter again into existence.

            DEPENDENT EXTINCTION OF ALL PHENOMENA

For, through the total fading away and extinction of Craving, Clinging is extinguished; through the extinction of clinging, the Process of Becoming is extinguished; through the extinction of the (karmic) process of becoming, Rebirth is extinguished; and through the extinction of rebirth, Decay and Death, Sorrow, Lamentation, Suffering, Grief, and Despair, are extinguished. Thus comes about the extinction of this whole mass of suffering. Hence, the annihilation, cessation, and overcoming of corporeality, feeling, perception, mental formations, and consciousness, this is the extinction of suffering, the end of disease, the overcoming of old age and death. [The undulatory motion, which we call wave-which in the spectator creates the illusion of a single mass of water moving over the surface of the lake-is produced and fed by the wind, and maintained by the stored-up energies. After the wind has ceased, and no fresh wind again whips up the water, the stored-up energies will gradually be consumed, and the whole undulatory motion come to an end. Similarly, if fire does not get new fuel, it will become extinct. just so, this Five-Khandha-process-which, in the ignorant worldling, creates the illusion of an Ego-entity-is produced and fed by the life-affirming craving, and maintained for some time by means of the stored-up life-energies. Now, after the fuel, i.e., the craving and clinging to life, has ceased, and no new craving impels again this Five-Khandha-process, life will continue as long as there are still life-energies stored up, but at their destruction at death, the Five-Khandha-process will reach final extinction. Thus, nirvana or "Extinction" (Sanskrit: to cease blowing, to become extinct), may be considered under two aspects:

  1. "Extinction of Impurities," reached at the attainment of Arahatship, or Holiness, which takes place during the life-time.

  2. "Extinction of the Five-Khandha-process," which takes place at the death of the Arahat.]

                          NIRVANA
    

This, truly, is the Peace, this is the Highest, namely the end of all formations, the forsaking of every substratum of rebirth, the fading away of craving: detachment, extinction-Nirvana. Enraptured with lust, enraged with anger, blinded by delusion, overwhelmed, with mind ensnared, man aims at his own ruin, at others' ruin, at the ruin of both parties, and he experiences mental pain and grief. But, if lust, anger, and delusion are given up, man aims neither at his own ruin, nor at others' ruin, nor at the ruin of both parties, and he experiences no mental pain and grief. Thus is Nirvana immediate, visible in this life, inviting, attractive, and comprehensible to the wise. The extinction of greed, the extinction of anger, the extinction of delusion: this, indeed, is called Nirvana.

                   THE ARAHAT, OR HOLY ONE

And for a disciple thus freed, in whose heart dwells peace, there is nothing to be added to what has been done, and naught more remains for him to do. Just as a rock of one solid mass remains unshaken by the wind, even so, neither forms, nor sounds, nor odors, nor tastes, nor contacts of any kind, neither the desired, nor the undesired, can cause such an one to waver. Steadfast is his mind, gained is deliverance. And he who has considered all the contrasts on this earth, and is no more disturbed by anything whatever in the world, the Peaceful One, freed from rage, from sorrow, and from longing, he has passed beyond birth and decay.

                        THE IMMUTABLE

There is a realm, where there is neither the solid, nor the fluid, neither heat, nor motion, neither this world, nor any other world, neither sun, nor moon. This I call neither arising, nor passing away, neither standing still nor being born, nor dying. There is neither foothold, nor development, nor any basis. This is the end of suffering. There is an Unborn, Unoriginated, Uncreated, Unformed. If there were not this Unborn, this Unoriginated, this Uncreated, this Unformed, escape from the world of the born, the originated, the created, the formed, would not be possible. But since there is an Unborn, Unoriginated, Uncreated, Unformed, therefore is escape possible from the world of the born, the originated, the created, the formed.

                         FOURTH TRUTH
                  THE NOBLE TRUTH OF THE PATH
           THAT LEADS TO THE EXTINCTION OF SUFFERING

             THE TWO EXTREMES AND THE MIDDLE PATH

TO GIVE oneself up to indulgence in sensual pleasure, the base, common, vulgar, unholy, unprofitable; and also to give oneself up to self-mortification, the painful, unholy, unprofitable: both these two extremes the Perfect One has avoided, and found out the Middle Path, which makes one both to see and to know, which leads to peace, to discernment, to enlightenment, to Nirvana.

                      THE EIGHTFOLD PATH

It is the Noble Eightfold Path, the way that leads to the extinction of suffering, namely:

  1. Right Understanding, 2. Right Mindedness, which together are Wisdom.

  2. Right Speech, 4. Right Action, 5. Right Living, which together are Morality.

  3. Right Effort, 7. Right Attentiveness, 8. Right Concentration, which together are Concentration. This is the Middle Path which the Perfect One has found out, which makes one both to see and to know, which leads to peace, to discernment, to enlightenment, to Nirvana. Free from pain and torture is this path, free from groaning and suffering; it is the perfect path. Truly, like this path there is no other path to the purity of insight. If you follow this path, you will put an end to suffering. But each one has to struggle for himself, the Perfect Ones have only pointed out the way. Give ear then, for the Immortal is found. I reveal, I set forth the Truth. As I reveal it to you, so act! And that supreme goal of the holy life, for the sake of which, sons of good families rightly go forth from home to the homeless state: this you will, in no long time, in this very life, make known to yourself, realize, and make your own.

                     THE EIGHTFOLD PATH
                         FIRST STEP
                     RIGHT UNDERSTANDING
    

WHAT, now, is Right Understanding? It is understanding the Four Truths. To understand suffering; to understand the origin of suffering; to understand the extinction of suffering; to understand the path that leads to the extinction of suffering: This is called Right Understanding Or, when the noble disciple understands what is karmically wholesome, and the root of wholesome karma; what is karmically unwholesome, and the root of unwholesome karma, then he has Right Understanding. ["Karmically unwholesome" is every volitional act of body, speech, or mind which is rooted in greed, hatred, or delusion, and produces evil and painful results in this or any future form of existence.] What, now, is "karmically unwholesome?" In Bodily Action it is destruction of living beings; stealing; and unlawful sexual intercourse. In Verbal Action it is lying; tale-bearing; harsh language; and frivolous talk. In Mental Action it is covetousness; ill-will; and wrong views. And what is the root of unwholesome karma? Greed is a root of unwholesome karma; Anger is a root of unwholesome karma; Delusion is a root of unwholesome karma. [The state of greed, as well as that of anger, is always accompanied by delusion; and delusion, ignorance, is the primary root of all evil.] Therefore, I say, these demeritorious actions are of three kinds: either due to greed, or due to anger, or due to delusion. What, now, is "karmically wholesome?" In Bodily Action it is to abstain from killing; to abstain from stealing; and to abstain from unlawful sexual intercourse. In Verbal Action it is to abstain from lying; to abstain from tale-bearing; to abstain from harsh language; and to abstain from frivolous talk. In Mental Action it is absence of covetousness; absence of ill-will; and right understanding. And what is the root of wholesome karma? Absence of greed (unselfishness) is a root of wholesome karma; absence of anger (benevolence) is a root of wholesome karma; absence of delusion (wisdom) is a root of wholesome karma. Or, when one understands that corporeality, feeling, perception, mental formation, and consciousness, are transient [subject to suffering, and without an Ego], also in that case one possesses Right Understanding.

                    UNPROFITABLE QUESTIONS

Should anyone say that he does not wish to lead the holy life under the Blessed One, unless the Blessed One first tells him, whether the world is eternal or temporal, finite or infinite; whether the life principle is identical with the body, or something different; whether the Perfect One continues after death, and so on such a man would die, ere the Perfect One could tell him all this. It is as if a man were pierced by a poisoned arrow, and his friends, companions, or near relations, should send for a surgeon; but that man should say: "I will not have this arrow pulled out, until I know who the man is that has wounded me: whether he is a noble, a priest, a citizen, or a servant"; or: "what his name is, and to what family he belongs"; or: "whether he is tall, or short, or of medium height." Verily, such a man would die, ere he could adequately learn all this. Therefore, the man who seeks his own welfare, should pull out this arrow-this arrow of lamentation, pain, and sorrow. For, whether the theory exists, or whether it does not exist, that the world is eternal, or temporal, or finite, or infinite-certainly, there is birth, there is decay, there is death, sorrow, lamentation, pain, grief, and despair, the extinction of which, attainable even in this present life, I make known unto you. There is, for instance, an unlearned worldling, void of regard for holy men, ignorant of the teaching of holy men, untrained in the noble doctrine. And his heart is possessed and overcome by Self-Illusion, by Skepticism, by attachment to mere Rule and Ritual, by Sensual Lust, and by will; and how to free himself from these things, he does not really know. [Self-Illusion may reveal itself as "Eternalism" or Eternity-belief" i.e., the belief that one's Ego is existing independently of the material body, and continuing even after the dissolution of the latter; or as "Annihilationism," or "Annihilation-belief" i.e., the materialistic belief that this present life constitutes the Ego, and hence that it is annihilated at the death of the material body.] Not knowing what is worthy of consideration, and what is unworthy of consideration, he considers the unworthy, and not the worthy. And unwisely he considers thus: "Have I been in the past? Or. have I not been in the past? What have I been in the past? How have I been in the past? From what state into what state did I change in the past?-Shall I be in the future? Or, shall I not be in the future? What shall I be in the future? How shall I be in the future? From what state into what state shall I change in the future?" And the present also fills him with doubt: "Am I? Or, am I not? What am I? How am I? This being, whence has it come? Whither will it go?" And with such unwise considerations, he falls into one or other of the six views, and it becomes his conviction and firm belief: "I have an Ego"; or: "I have no Ego"; or: "With the Ego I perceive the Ego"; or: "With that which is no Ego, I perceive the Ego"; or: "With the Ego I perceive that which is no Ego. Or, he falls into the following view: "This my Ego, which can think and feel, and which, now here, now there, experiences the fruit of good and evil deeds; this my Ego is permanent, stable, eternal, not subject to change, and will thus eternally remain the same." If there really existed the Ego, there would be also something which belonged to the Ego. As, however, in truth and reality, neither the Ego, nor anything belonging to the Ego, can be found, is it not therefore really an utter fool's doctrine to say: "This is the world, this am I; after death, I shall be permanent, persisting, and eternal?" These are called mere views, a thicket of views, a puppet show of views, a toil of views, a snare of views; and ensnared in the fetter of views, the ignorant worldling will not be freed from rebirth, from decay, and from death, from sorrow, pain, grief, and despair; he will not be freed, I say, from suffering.

               THE SOTAPAN, OR "STREAM-ENTERER"

The learned and noble disciple, however, who has regard for holy men, knows the teaching of holy men, is well trained in the noble doctrine, he understands what is worthy of consideration, and what is unworthy. And knowing this, he considers the worthy, and not the unworthy. What suffering is, he wisely considers. What the origin of suffering is, he wisely considers; what the extinction of suffering is, he wisely considers; what the path is that leads to the extinction of suffering, he wisely considers. And by thus considering, three fetters vanish, namely: Self-illusion, Skepticism, and Attachment to mere Rule and Ritual. But those disciples in whom these three fetters have vanished have "entered the Stream," have forever escaped the states of woe, and are assured of final enlightenment.

      More than any earthly power,
      More than all the joys of heaven,
      More than rule o'er all the world,
      Is the Entrance to the Stream.

And, verily, those who are filled with unshaken faith in me, all those have entered the stream. There are ten "Fetters" by which beings are bound to the wheel of existence. They are: Self-Illusion, Skepticism, Attachment to mere Rule and Ritual, Sensual Lust, Ill-will, Craving for the World of pure Form, Craving for the Formless World, Conceit, Restlessness, Ignorance. A Sotapan, or "Stream-Enterer" i.e. "one who has entered the stream leading to Nirvana," is free from the first three fetters. A Sakadagamin, or "Once-Returned"-namely to this sensuous sphere-has overcome the 4th and 5th fetters in their grosser form. An Anagamin, or "Non-Returner," is wholly freed from the first five fetters, which bind to rebirth in the sensuous sphere; after death, whilst living in the sphere of pure form, he will reach the goal. An Arahat, or perfectly "Holy One," is freed from all fetters.]

                    THE TWO UNDERSTANDINGS

Therefore, I say, Right Understanding is of two kinds:

  1. The view that alms and offerings are not useless; that there is fruit and result, both of good and bad actions; that there are such things as this life, and the next life; that father and mother as spontaneously born beings (in the heavenly worlds) are no mere words; that there are monks and priests who are spotless and perfect, who can explain this life and the next life, which they themselves have understood: this is called the "Mundane Right Understanding," which yields worldly fruits, and brings good results.

  2. But whatsoever there is of wisdom, of penetration, of right understanding, conjoined with the Path-the mind being turned away from the world, and conjoined with the path, the holy path being turned away from the world, and conjoined with the path, the holy path being pursued;-this is called the "Ultramundane Right Understanding," which is not of the world, but is ultramundane, and conjoined with the Path. [Thus, there are two kinds of the Eightfold Path: the "mundane," practiced by the "worldling"; and the "ultra-mundane," practiced by the "Noble Ones."] Now, in understanding wrong understanding as wrong, and right understanding as right, one practices Right Understanding [1st step]; and in making efforts to overcome wrong understanding, and to arouse right understanding, one practices. Right Effort [6th step]; and in overcoming wrong understanding with attentive mind, and dwelling with attentive mind in the possession of right understanding, one practices Right-Attentiveness [7th step]. Hence, there are three things that accompany and follow upon right understanding, namely: right understanding, right effort, and right attentiveness.

                    COMPLETE DELIVERANCE
    

Now, if any one should put the question, whether I admit any view at all, he should be answered thus: The Perfect One is free from any theory, for the Perfect One has understood what corporeality is, and how it arises, and passes away. He has understood what feeling is, and how it arises, and passes away. He has understood what perception is, and how it arises, and passes away. He has understood what the mental formations are, and how they arise, and pass away. He has understood what consciousness is, and how it arises, and passes away. Therefore, I say, the Perfect One has won complete deliverance through the extinction, fading-away, disappearance, rejection, and getting rid of all opinions and conjectures, of all inclination to the vainglory of "I" and "mine." Whether Perfect Ones [Buddhas] appear in the world or whether Perfect Ones do not appear in the world, it still remains a firm condition, an immutable fact and fixed law: that all formations are impermanent" that all formations are "subject to suffering"; that everything is "without an Ego." [The word sankhara (formations) comprises all things which have a beginning and an end, the so-called created, or "formed" things, i.e., all possible physical and mental constituents of existence.] A corporeal phenomenon, a feeling, a perception, a mental formation, a consciousness, that is permanent and persistent, eternal and not subject to change: such a thing the wise men in this world do not recognize; and I also say, there is no such thing. And it is impossible that a being possessed of Right Understanding should regard anything as the Ego. Now, if someone should say that Feeling is his Ego, he should be answered thus: "There are three kinds of feeling: pleasurable, painful, and indifferent feeling. Which of these three feelings, now, do you consider your Ego?" At the moment namely of experiencing one of these feelings one does not experience the other two. These three kinds of feelings are impermanent, of dependent origin, are subject to decay and dissolution, to fading-away and extinction. Whosoever, in experiencing one of these feelings, thinks that this is his Ego, will, after the extinction of that feeling, admit that his Ego has become dissolved. And thus he will consider his Ego already in this present life as impermanent, mixed up with pleasure and pain, subject to rising and passing away. If any one should say that Feeling is not his Ego, and that his Ego is inaccessible to feeling, he should be asked thus: "Now, where there is no feeling, is it there possible to say: 'This am I?'" Or, someone might say: "Feeling, indeed, is not my Ego, but it also is untrue that my Ego is inaccessible to feeling; for it is my Ego that feels, for my Ego has the faculty of feeling." Such a one should be answered thus: "Suppose, feeling should become altogether totally extinguished; now, if there, after the extinction of feeling, no feeling whatever exists, it is then possible to say: 'This am I?'" To say that the mind, or the mind-objects, or the mind-consciousness, constitute the Ego; such an assertion is unfounded. For an arising and a passing away is seen there; and seeing this, one should come to the conclusion that one's Ego arises and passes away. It would be better for the unlearned worldling to regard this body, built up of the four elements, as his Ego, rather than the mind. For it is evident that this body may last for a year, for two years, for three years, four, five, or ten years, or even a hundred years and more; but that which is called thought, or mind, or consciousness, is continuously, during day and night, arising as one thing, and passing away as another thing. Therefore, whatsoever there is of corporeality, of feeling, of perception, of mental formations, of consciousness, whether one's own or external, gross or subtle, lofty or low, far or near; there one should understand according to reality and true wisdom: "This does not belong to me; this am I not; this is not my Ego." [To show the Egolessness, utter emptiness of existence, Visuddhi-Magga XVI quotes the following verse:

      Mere suffering exists, no sufferer is found;
      The deed is, but no doer of the deed is there;
      Nirvana is, but not the man that enters it;
      The Path is, but no traveler on it is seen.]

                  PAST, PRESENT, AND FUTURE

If, now, any one should ask: "Have you been in the past, and is it untrue that you have not been? Will you be in the future, and is it untrue that you will not be? Are you, and is it untrue that you are not?"-you may say that you have been in the past, and it is untrue that you have not been; that you will be in the future, and it is untrue that you will not be; that you are, and it is untrue that you are not. In the past only the past existence was real, but unreal the future and present existence. In the future only the future existence will be real, but unreal the past and present existence. Now only the present existence is real, but unreal the past and future existence. Verily, he who perceives the Dependent Origination, perceives the truth and he who perceives the truth, perceives the dependent origination. For, just as from the cow comes milk, from milk curds, from curds butter, from butter ghee, from ghee the scum of ghee; and when it is milk, it is not counted as curds, or butter, or ghee, or scum of ghee, but only as milk; and when it is curds, it is only counted as curds-just so was my past existence at that time real, but unreal the future and present existence; and my future existence will be at one time real, but unreal the past and present existence; and my present existence is now real, but unreal the past and future existence. All these are merely popular designations and expressions, mere conventional terms of speaking, mere popular notions. The Perfect One, indeed, makes use of these, without, however, clinging to them. Thus, he who does not understand corporeality, feeling, perception, mental formations and consciousness according to reality [i.e., as void of a personality, or Ego], and not their arising, their extinction, and the way to their extinction, he is liable to believe, either that the Perfect One continues after death, or that he does not continue after death, and so forth. Verily, if one holds the view that the vital principle [Ego] is identical with this body, in that case a holy life is not possible; or, if one holds the view that the vital principle is something quite different from the body, in that case also a holy life is not possible. Both these two Extremes the Perfect One has avoided, and shown the Middle Doctrine, saying:

                    DEPENDENT ORIGINATION

On Delusion depend the Karma-Formations. On the karma-formations depends Consciousness [starting with rebirth-consciousness in the womb of the mother].- On consciousness depends the Mental and Physical Existence.-On the mental and physical existence depend the Six Sense-Organs.-On the six sense-organs depends the Sensory Impression.-On the sensory impression depends Feeling.-On feeling depends; Craving.-On craving depends Clinging. On clinging depends the Process of Becoming.-On the process of becoming [here: karmaprocess] depends Rebirth.-On rebirth depend Decay and Death, sorrow, lamentation, pain, grief and despair. Thus arises this whole mass of suffering. This is called the noble truth of the origin of suffering. In whom, however, Delusion has disappeared and wisdom arisen, such a disciple heaps up neither meritorious, nor demeritorious, nor imperturbable Karma-formations. Thus, through the entire fading away and extinction of this Delusion, the Karma-Formations are extinguished. Through the extinction of the Karma-formations, Consciousness [rebirth] is extinguished. Through the extinction of consciousness, the Mental and Physical Existence is extinguished. Through the extinction of the mental and physical existence, the six Sense-Organs are extinguished. Through the extinction of the six sense-organs, the Sensory Impression is extinguished. Through the extinction of the sensory impression, Feeling is extinguished. Through the extinction of feeling, Craving is extinguished. Through the extinction of craving, Clinging is extinguished. Through the extinction of clinging, the Process of Becoming is extinguished. Through the extinction of the process of becoming, Rebirth is extinguished. Through the extinction of rebirth, Decay and Death, sorrow, lamentation, pain, grief and despair are extinguished. Thus takes place the extinction of this whole mass of suffering. This is called the Noble Truth of the Extinction of Suffering.

            KARMA:  REBIRTH - PRODUCING AND BARREN

Verily, because beings, obstructed by Delusion, and ensnared by Craving, now here now there seek ever fresh delight, therefore such action comes to ever fresh Rebirth. And the action that is done out of greed, anger and delusion, that springs from them, has its source and origin there: this action ripens wherever one is reborn; and wherever this action ripens, there one experiences the fruits of this action, be it in this life, or the next life, or in some future life. However, through the fading away of delusion through the arising of wisdom, through the extinction of craving, no future rebirth takes place again For the actions, which are not done out of greed, anger and delusion, which have not sprung from them, which have not their source and origin there-such actions are, through the absence of greed, anger and delusion, abandoned, rooted out, like a palm-tree torn out of the soil, destroyed, and not liable to spring up again. In this respect one may rightly say of me: that I teach annihilation, that I propound my doctrine for the purpose of annihilation, and that I herein train my disciples; for, certainly, I do teach annihilation-the annihilation, namely, of greed, anger and delusion, as well as of the manifold evil and unwholesome things. ["Dependent Origination" is the teaching of the strict conformity to law of everything that happens, whether in the realm of the physical, or the psychical. It shows how the totality of phenomena, physical and mental, the entire phenomenal world that depends wholly upon the six senses, together with all its suffering-and this is the vital point of the teaching is not the mere play of blind chance, but has an existence that is dependent upon conditions; and that, precisely with the removal of these conditions, those things that have arisen in dependence upon them-thus also all suffering-must perforce disappear and cease to be.]

                         SECOND STEP
                       RIGHT MINDEDNESS

WHAT, now, is Right Mindedness? It is thoughts free from lust; thoughts free from ill-will; thoughts free from cruelty. This is called right mindedness. Now, Right Mindedness, let me tell you, is of two kinds: 1. Thoughts free from lust, from ill-will, and from cruelty:-this is called the "Mundane Right Mindedness," which yields worldly fruits and brings good results. 2. But, whatsoever there is of thinking, considering, reasoning, thought, ratiocination, application-the mind being holy, being turned away from the world, and conjoined with the path, the holy path being pursued-: these "Verbal Operations" of the mind are called the "Ultramundane Right Mindedness which is not of the world, but is ultra mundane, and conjoined with the paths. Now, in understanding wrong-mindedness as wrong, and right-mindedness as right, one practices Right Understanding [1st step]; and in making efforts to overcome evil-mindedness, and to arouse right-mindedness, one practices Right Effort [6th step]; and in overcoming evil-mindedness with attentive mind, and dwelling with attentive mind in possession of right-mindedness, one practices Right Attentiveness [7th step]. Hence, there are three things that accompany and follow upon right-mindedness, namely: right understanding, right effort, and right attentiveness.

THIRD STEP THIRD STEP RIGHT SPEECH

WHAT, now, is Right Speech? It is abstaining from lying; abstaining from tale-bearing; abstaining from harsh language; abstaining from vain talk. There, someone avoids lying, and abstains from it. He speaks the truth, is devoted to the truth, reliable, worthy of confidence, is not a deceiver of men. Being at a meeting, or amongst people, or in the midst of his relatives, or in a society, or in the king's court, and called upon and asked as witness, to tell what he knows, he answers, if he knows nothing: "I know nothing"; and if he knows, he answers: "I know"; if he has seen nothing, he answers: "I have seen nothing," and if he has seen, he answers: "I have seen." Thus, he never knowingly speaks a lie, neither for the sake of his own advantage, nor for the sake of another person's advantage, nor for the sake of any advantage whatsoever. He avoids tale-bearing, and abstains from it. What he has heard here, he does not repeat there, so as to cause dissension there; and what he heard there, he does not repeat here, so as to cause dissension here. Thus he unites those that are divided; and those that are united, he encourages. Concord gladdens him, he delights and rejoices in concord, and it is concord that he spreads by his words. He avoids harsh language, and abstains from it. He speaks such words as are gentle, soothing to the ear, loving, going to the heart, courteous and dear, and agreeable to many. [In Majjhima-Nikaya, No. 21, the Buddha says: "Even, O monks, should robbers and murderers saw through your limbs and joints, whoso gave way to anger thereat, would not be following my advice. For thus ought you to train yourselves: "'Undisturbed shall our mind remain, no evil words shall escape our lips; friendly and full of sympathy shall we remain, with heart full of love, and free from any hidden malice; and that person shall we penetrate with loving thoughts, wide, deep, boundless, freed from anger and hatred.'"] He avoids vain talk, and abstains from it. He speaks at the right time, in accordance with facts, speaks what is useful, speaks about the law and the discipline; his speech is like a treasure, at the right moment accompanied by arguments, moderate and full of sense. This is called right speech. Now, right speech, let me tell you, is of two kinds: 1. Abstaining from lying, from tale-bearing, from harsh language, and from vain talk; this is called the "Mundane Right Speech, which yields worldly fruits and brings good results. 2. But the abhorrence of the practice of this four-fold wrong speech, the abstaining, withholding, refraining therefrom-the mind being holy, being turned away from the world, and conjoined with the path, the holy path being pursued-: this is called the "Ultramundane Right Speech, which is not of the world, but is ultramundane, and conjoined with the paths. Now, in understanding wrong speech as wrong, and right speech as right, one practices Right Understanding [1st step); and in making efforts to overcome evil speech and to arouse right speech, one practices Right Effort [6th step]; and in overcoming wrong speech with attentive mind, and dwelling with attentive mind in possession of right speech, one practices Right Attentiveness [7th step]. Hence, there are three things that accompany and follow upon right attentiveness.

                         FOURTH STEP
                        RIGHT  ACTION

WHAT, now, is Right Action? It is abstaining from killing; abstaining from stealing; abstaining from unlawful sexual intercourse. There, someone avoids the killing of living beings, and abstains from it. Without stick or sword, conscientious, full of sympathy, he is anxious for the welfare of all living beings. He avoids stealing, and abstains from it; what another person possesses of goods and chattels in the village or in the wood, that he does not take away with thievish intent. He avoids unlawful sexual intercourse, and abstains from it. He has no intercourse with such persons as are still under the protection of father, mother, brother, sister or relatives, nor with married women, nor female convicts, nor, lastly, with betrothed girls. This is called Right Action. Now, Right Action, let me tell you, is of two kinds: 1. Abstaining from killing, from stealing, and from unlawful sexual intercourse-this is called the "Mundane Right Action, which yields worldly fruits and brings good results. But the abhorrence of the practice of this three-fold wrong action, the abstaining, withholding, refraining therefrom-the mind being holy, being turned away from the world, and conjoined with the path, the holy path being pursued-: this is called the "Ultramundane Right Action," which is not of the world, but is ultramundane, and conjoined with the paths. Now, in understanding wrong action as wrong, and right action as right, one practices Right Understanding [1st step]; and in making efforts to overcome wrong action, and to arouse right action, one practices Right Effort [6th step]; and in overcoming wrong action with attentive mind, and dwelling with attentive mind in possession of right action, one practices Right Attentiveness [7th step]. Hence, there are three things that accompany and follow upon right action, namely: right understanding, right effort, and right attentiveness.

                          FIFTH STEP
                         RIGHT LIVING

WHAT, now, is Right Living? When the noble disciple, avoiding a wrong way of living, gets his livelihood by a right way of living, this is called Right Living. Now, right living, let me tell you, is of two kinds: 1. When the noble disciple, avoiding wrong living, gets his livelihood by a right way of living-this is called the "Mundane Right Living," which yields worldly fruits and brings good results. 2. But the abhorrence of wrong living, the abstaining, withholding, refraining therefrom-the mind being holy, being turned away from the world, and conjoined with the path, the holy path being pursued-: this is called the "Ultramundane Right Living," which is not of the world, but is ultramundane, and conjoined with the paths. Now, in understanding wrong living as wrong, and right living as right, one practices Right Understanding [1st step]; and in making efforts to overcome wrong living, to arouse right living, one practices Right Effort [6th step]; and in overcoming wrong living with attentive mind, and dwelling with attentive mind in possession of right living, one practices Right Attentiveness [7th step]. Hence, there are three things that accompany and follow upon right living, namely: right understanding, right effort, and right attentiveness.

                          SIXTH STEP
                         RIGHT EFFORT

WHAT, now, is Right Effort? There are Four Great Efforts: the effort to avoid, the effort to overcome, the effort to develop, and the effort to maintain. What, now, is the effort to avoid? There, the disciple incites his mind to avoid the arising of evil, demeritorious things that have not yet arisen; and he strives, puts forth his energy, strains his mind and struggles. Thus, when he perceives a form with the eye, a sound with the ear, an odor with the nose, a taste with the tongue, a contact with the body, or an object with the mind, he neither adheres to the whole, nor to its parts. And he strives to ward off that through which evil and demeritorious things, greed and sorrow, would arise, if he remained with unguarded senses; and he watches over his senses, restrains his senses. Possessed of this noble "Control over the Senses," he experiences inwardly a feeling of joy, into which no evil thing can enter. This is called the effort to avoid. What, now, is the effort to Overcome? There, the disciple incites his mind to overcome the evil, demeritorious things that have already arisen; and he strives, puts forth his energy, strains his mind and struggles. He does not retain any thought of sensual lust, ill-will, or grief, or any other evil and demeritorious states that may have arisen; he abandons them, dispels them, destroys them, causes them to disappear.

           FIVE METHODS OF EXPELLING EVIL THOUGHTS

If, whilst regarding a certain object, there arise in the disciple, on account of it, evil and demeritorious thoughts connected with greed, anger and delusion, then the disciple should, by means of this object, gain another and wholesome object. Or, he should reflect on the misery of these thoughts: "Unwholesome, truly, are these thoughts! Blameable are these thoughts! Of painful result are these thoughts!" Or, he should pay no attention to these thoughts. Or, he should consider the compound nature of these thoughts. Or, with teeth clenched and tongue pressed against the gums, he should, with his mind, restrain, suppress and root out these thoughts; and in doing so, these evil and demeritorious thoughts of greed, anger and delusion will dissolve and disappear; and the mind will inwardly become settled and calm, composed and concentrated. This is called the effort to overcome. What, now, is the effort to Develop? There the disciple incites his will to arouse meritorious conditions that have not yet arisen; and he strives, puts forth his energy, strains his mind and struggles. Thus he develops the "Elements of Enlightenment," bent on solitude, on detachment, on extinction, and ending in deliverance, namely: Attentiveness, Investigation of the Law, Energy, Rapture, Tranquility, Concentration, and Equanimity. This is called the effort to develop. What, now, is the effort to Maintain? There, the disciple incites his will to maintain the meritorious conditions that have already arisen, and not to let them disappear, but to bring them to growth, to maturity and to the full perfection of development; and he strives, puts forth his energy, strains his mind and struggles. Thus, for example, he keeps firmly in his mind a favorable object of concentration that has arisen, as the mental image of a skeleton, of a corpse infested by worms, of a corpse blue-black in color, of a festering corpse, of a corpse riddled with holes, of a corpse swollen up. This is called the effort to maintain. Truly, the disciple who is possessed of faith and has penetrated the Teaching of the Master, he is filled with the thought: "May rather skin, sinews and bones wither away, may the flesh and blood of my body dry up: I shall not give up my efforts so long as I have not attained whatever is attainable by manly perseverance, energy and endeavor!" This is called right effort.

      The effort of Avoiding, Overcoming,
      Of Developing and Maintaining:
      These four great efforts have been shown
      By him, the scion of the sun.
      And he who firmly clings to them,
      May put an end to all the pain.

                         SEVENTH STEP
                      RIGHT ATTENTIVENESS

WHAT, now, is Right Attentiveness? The only way that leads to the attainment of purity, to the overcoming of sorrow and lamentation, to the end of pain and grief, to the entering upon the right path and the realization of Nirvana, is the "Four Fundamentals of Attentiveness." And which are these four? In them, the disciple dwells in contemplation of the Body, in contemplation of Feeling, in contemplation of the Mind, in contemplation of the Mind-objects, ardent, clearly conscious and attentive, after putting away worldly greed and grief.

                  CONTEMPLATION OF THE BODY

But, how does the disciple dwell in contemplation of the body? There, the disciple retires to the forest, to the foot of a tree, or to a solitary place, sits himself down, with legs crossed, body erect, and with attentiveness fixed before him. With attentive mind he breathes in, with attentive mind he breathes out. When making a long inhalation, he knows: "I make a long inhalation"; when making a long exhalation, he knows: "I make a long exhalation." when making a short inhalation, he knows: "I make a short inhalation"; when making a short exhalation, he knows: "I make a short exhalation." "Clearly perceiving the entire [breath]-body, I will breathe in": thus he trains himself; "clearly perceiving the entire [breath]-body, I will breathe out": thus he trains himself. "Calming this bodily function, I will breathe n": thus he trains himself; "calming this bodily function, I will breathe out": thus he trains himself. Thus he dwells in contemplation of the body, either with regard to his own person, or to other persons, or to both. He beholds how the body arises; beholds how it passes away; beholds the arising and passing away of the body. "A body is there-

"A body is there, but no living being, no individual, no woman,
no man, no self, and nothing that belongs to a self; neither a
person, nor anything belonging to a person"-

this clear consciousness is present in him, because of his knowledge and mindfulness, and he lives independent, unattached to anything in the world. Thus does the disciple dwell in contemplation of the body. And further, whilst going, standing, sitting, or lying down, the disciple understands the expressions: "I go"; "I stand"; "I sit"; "I lie down"; he understands any position of the body. [The disciple understands that it is not a being, a real Ego, that goes, stands, etc., but that it is by a mere figure of speech that one says: "I go," "I stand," and so forth.] And further, the disciple is clearly conscious in his going and coming; clearly conscious in looking forward and backward; clearly conscious in bending and stretching; clearly conscious in eating, drinking, chewing, and tasting; clearly conscious in discharging excrement and urine; clearly conscious in walking, standing, sitting, falling asleep and awakening; clearly conscious in speaking and in keeping silent. "In all the disciple is doing, he is clearly conscious: of his intention, of his advantage, of his duty, of the reality." And further, the disciple contemplates this body from the sole of the foot upward, and from the top of the hair downward, with a skin stretched over it, and filled with manifold impurities: "This body consists of hairs, nails, teeth, skin, flesh, sinews, bones, marrow, kidneys, heart, liver, diaphragm, spleen, lungs, intestines, bowels, stomach, and excrement; of bile, phlegm, pus, blood, sweat, lymph, tears, semen, spittle, nasal mucus, oil of the joints, and urine." Just as if there were a sack, with openings at both ends, filled with all kinds of grain-with paddy, beans, sesamum and husked rice-and a man not blind opened it and examined its contents, thus: "That is paddy, these are beans, this is sesamum, this is husked rice": just so does the disciple investigate this body. And further, the disciple contemplates this body with regard to the elements: "This body consists of the solid element, the liquid element, the heating element and the vibrating element." Just as a skilled butcher or butcher's apprentice, who has slaughtered a cow and divided it into separate portions, should sit down at the junction of four highroads: just so does the disciple contemplate this body with regard to the elements. And further, just as if the disciple should see a corpse thrown into the burial-ground, one, two, or three days dead, swollen-up, blue-black in color, full of corruption he draws the conclusion as to his own body: "This my body also has this nature, has this destiny, and cannot escape it." And further, just as if the disciple should see a corpse thrown into the burial-ground, eaten by crows, hawks or vultures, by dogs or jackals, or gnawed by all kinds of worms-he draws the conclusion as to his own body: "This my body also has this nature, has this destiny, and cannot escape it." And further, just as if the disciple should see a corpse thrown into the burial-ground, a framework of bones, flesh hanging from it, bespattered with blood, held together by the sinews; a framework of bones, stripped of flesh, bespattered with blood, held together by the sinews; a framework of bones, without flesh and blood, but still held together by the sinews; bones, disconnected and scattered in all directions, here a bone of the hand, there a bone of the foot, there a shin bone, there a thigh bone, there the pelvis, there the spine, there the skull-he draws the conclusion as to his own body: "This my body also has this nature, has this destiny, and cannot escape it." And further, just as if the disciple should see bones lying in the burial ground, bleached and resembling shells; bones heaped together, after the lapse of years; bones weathered and crumbled to dust;-he draws the conclusion as to his own body: "This my body also has this nature, has this destiny, and cannot escape it " Thus he dwells in contemplation of the body, either with regard to his own person, or to other persons, or to both. He beholds how the body arises; beholds how it passes away; beholds the arising and passing of the body. "A body is there" this clear consciousness is present in him, because of his knowledge and mindfulness; and he lives independent, unattached to anything in the world. Thus does the disciple dwell in contemplation of the body.

                      THE TEN BLESSINGS

Once the contemplation of the body is practiced, developed, often repeated, has become one's habit, one's foundation, is firmly established, strengthened and well perfected, one may expect ten blessings: Over Delight and Discontent one has mastery; one does not allow himself to be overcome by discontent; one subdues it, as soon as it arises. One conquers Fear and Anxiety; one does not allow himself to be overcome by fear and anxiety; one subdues them, as soon as they arise. One endures cold and heat, hunger and thirst, wind and sun, attacks by gadflies, mosquitoes and reptiles; patiently one endures wicked and malicious speech, as well as bodily pains, that befall one, though they be piercing, sharp, bitter, unpleasant, disagreeable and dangerous to life. The four "Trances," the mind bestowing happiness even here: these one may enjoy at will, without difficulty, without effort. One may enjoy the different "Magical Powers." With the "Heavenly Ear," the purified, the super-human, one may hear both kinds of sounds, the heavenly and the earthly, the distant and the near. With the mind one may obtain "Insight into the Hearts of Other Beings of other persons. One may obtain "Remembrance of many Previous Births." With the "Heavenly Eye," the purified, the super-human, one may see beings vanish and reappear, the base and the noble, the beautiful and the ugly, the happy and the unfortunate; one may perceive how beings are reborn according to their deeds. One may, through the "Cessation of Passions," come to know for oneself, even in this life, the stainless deliverance of mind, the deliverance through wisdom.

                CONTEMPLATION OF THE FEELINGS

But how does the disciple dwell in contemplation of the feelings? In experiencing feelings, the disciple knows: "I have an indifferent agreeable feeling," or "I have a disagreeable feeling," or "I have an indifferent feeling," or "I have a worldly agreeable feeling," or "I have an unworldly agreeable feeling," or "I have a worldly disagreeable feeling," or "I have an unworldly disagreeable feeling," or "I have a worldly indifferent feeling," or have an unworldly indifferent feeling. Thus he dwells in contemplation of the feelings, either with regard to his own person, or to other persons, or to both. He beholds how the feelings arise; beholds how they pass away; beholds the arising and passing away of the feelings. "Feelings are there": this clear consciousness is present in him, because of his knowledge and mindfulness; and he lives independent, unattached to anything in the world. Thus does the disciple dwell in contemplation of the feelings. [The disciple understands that the expression "I feel" has no validity except as an expression of common speech; he understands that, in the absolute sense, there are only feelings, and that there is no Ego, no person, no experience of the feelings.]

                  CONTEMPLATION OF THE MIND

But how does the disciple dwell in contemplation of the mind? The disciple knows the greedy mind as greedy, and the not greedy mind as not greedy; knows the angry mind as angry, and the not angry mind as not angry; knows the deluded mind as deluded, and the undeluded mind as undeluded. He knows the cramped mind as cramped, and the scattered mind as scattered; knows the developed mind as developed, and the undeveloped mind as undeveloped; knows the surpassable mind as surpassable, and the unsurpassable mind as unsurpassable; knows the concentrated mind as concentrated, and the unconcentrated mind as unconcentrated; knows the freed mind as freed, and the unfreed mind as unfreed. ["Mind" is here used as a collective for the moments of consciousness. Being identical with consciousness, it should not be translated by "thought." "Thought" and "thinking" correspond rather to the so-called "verbal operations of the mind"; they are not, like consciousness, of primary, but of secondary nature, and are entirely absent in all sensuous consciousness, as well as in the second, third and fourth Trances. (See eighth step).] Thus he dwells in contemplation of the mind, either with regard to his own person, or to other persons, or to both. He beholds how consciousness arises; beholds how it passes away; beholds the arising and passing away of consciousness. "Mind is there"; this clear consciousness is present in him, because of his knowledge and mindfulness; and he lives independent, unattached to anything in the world. Thus does the disciple dwell in contemplation of the mind.

          CONTEMPLATION OF PHENOMENA  (Mind-objects)

But how does the disciple dwell in contemplation of the phenomena? First, the disciple dwells in contemplation of the phenomen, of the "Five Hindrances." He knows when there is "Lust" in him: "In me is lust"; knows when there is "Anger" in him: "In me is anger"; knows when there is "Torpor and Drowsiness" in him: "In me is torpor and drowsiness"; knows when there is "Restlessness and Mental Worry" in him: "In me is restlessness and mental worry"; knows when there are "Doubts" in him: "In me are doubts." He knows when these hindrances are not in him: "In me these hindrances are not." He knows how they come to arise; knows how, once arisen, they are overcome; knows how, once overcome, they do not rise again in the future. [For example, Lust arises through unwise thinking on the agreeable and delightful. it may be suppressed by the following six methods: fixing the mind upon an idea that arouses disgust; contemplation of the loathsomeness of the body; controlling one's six senses; moderation in eating; friendship with wise and good men; right instruction. Lust is forever extinguished upon entrance into Anagamiship; Restlessness is extinguished by reaching Arahatship; Mental Worry, by reaching Sotapanship.] And further: the disciple dwells in contemplation of the phenomena, of the five Groups of Existence. He knows what Corporeality is, how it arises, how it passes away; knows what Feeling is, how it arises, how it away; knows what Perception is, how it arises, how it passes away; knows what the Mental Formations are, how they arise, how they pass away; knows what Consciousness is, how it arises, how it passes away. And further: the disciple dwells in contemplation of the phenomena of the six Subjective-Objective Sense-Bases. He knows eye and visual objects, ear and sounds, nose and odors, tongue and tastes, body and touches, mind and mind objects; and the fetter that arises in dependence on them, he also knows. He knows how the fetter comes to arise, knows how the fetter is overcome, and how the abandoned fetter does not rise again in future. And further: the disciple dwells in contemplation of the phenomena of the seven Elements of Enlightenment. The disciple knows when there is Attentiveness in him; when there is Investigation of the Law in him; when there is Energy in him; when there is Enthusiasm in him; when there is Tranquility in him; when there is Concentration in him; when there is Equanimity in him. He knows when it is not in him, knows how it comes to arise, and how it is fully developed. And further: the disciple dwells in contemplation of the phenomena of the Four Noble Truths. He knows according to reality, what Suffering is; knows according to reality, what the Origin of Suffering is; knows according to reality, what the Extinction of Suffering is; knows according to reality, what the Path is that leads to the Extinction of Suffering. Thus he dwells in contemplation of the phenomena, either with regard to his own person, or to other persons, or to both. He beholds how the phenomena arise; beholds how they pass away; beholds the arising and passing away of the phenomena. "Phenomena are there this consciousness is present in him because of his knowledge and mindfulness; and he lives independent, unattached to anything in the world. Thus does the disciple dwell in contemplation of the phenomena. The only way that leads to the attainment of purity, to the overcoming of sorrow and lamentation, to the end of pain and grief, to the entering upon the right path, and the realization of Nirvana, is these four fundamentals of attentiveness.

           NIRVANA THROUGH WATCHING OVER BREATHING

"Watching over In-and Out-breathing" practiced and developed, brings the four Fundamentals of Attentiveness to perfection; the four fundamentals of attentiveness, practiced and developed bring the seven Elements of Enlightenment to perfection; the seven elements of enlightenment, practiced and developed, bring Wisdom and Deliverance to perfection. But how does Watching over In-and Out-breathing, practiced and developed, bring the four Fundamentals of Attentiveness to perfection? I. Whenever the disciple is conscious in making a long inhalation or exhalation, or in making a short inhalation or exhalation, or is training himself to inhale or exhale whilst feeling the whole [breath]-body, or whilst calming down this bodily function-at such a time the disciple is dwelling in "contemplation of the body," of energy, clearly conscious, attentive, after subduing worldly greed and grief. For, inhalation and exhalation I call one amongst the corporeal phenomena. II. Whenever the disciple is training himself to inhale or exhale whilst feeling rapture, or joy, or the mental functions, or whilst calming down the mental functions-at such a time he is dwelling in "contemplation of the feelings," full of energy, clearly conscious, attentive, after subduing worldly greed and grief. For, the full awareness of in-and outbreathing I call one amongst the feelings. III. Whenever the disciple is training himself to inhale or exhale whilst feeling the mind, or whilst gladdening the mind or whilst concentrating the mind, or whilst setting the mind free-at such a time he is dwelling in "contemplation of the mind," full of energy, clearly conscious, attentive, after subduing worldly greed and grief. For, without attentiveness and clear consciousness, I say, there is no Watching over in-and Out-breathing. IV. Whenever the disciple is training himself to inhale or exhale whilst contemplating impermanence, or the fading away of passion, or extinction, or detachment at such a time he is dwelling in "contemplation of the phenomena," full of energy, clearly conscious, attentive, after subduing worldly greed and grief. Watching over In-and Out-breathing, thus practiced and developed, brings the four Fundamentals of Attentiveness to perfection. But how do the four Fundamentals of Attentiveness, practiced and developed, bring the seven Elements of Enlightenment to full perfection? Whenever the disciple is dwelling in contemplation of body, feeling, mind and phenomena, strenuous, clearly conscious, attentive, after subduing worldly greed and grief-at such a time his attentiveness is undisturbed; and whenever his attentiveness is present and undisturbed, at such a time he has gained and is developing the Element of Enlightenment "Attentiveness"; and thus this element of enlightenment reaches fullest perfection. And whenever, whilst dwelling with attentive mind, he wisely investigates, examines and thinks over the Law-at such a time he has gained and is developing the Element of Enlightenment "Investigation of the Law"; and thus this element of enlightenment reaches fullest perfection. And whenever, whilst wisely investigating, examining and thinking over the law, his energy is firm and unshaken-at such a time he has gained and is developing the Element of Enlightenment "Energy"; and thus this element of enlightenment reaches fullest perfection. And whenever in him, whilst firm in energy, arises supersensuous rapture-at such a time he has gained and is developing the Element of Enlightenment "Rapture"; and thus this element of enlightenment reaches fullest perfection. And whenever, whilst enraptured in mind, his spiritual frame and his mind become tranquil-at such a time he has gained and is developing the Element of Enlightenment "Tranquility"; and thus this element of enlightenment reaches fullest perfection. And whenever, whilst being tranquilized in his spiritual frame and happy, his mind becomes concentrated-at such a time he has gained and is developing the Element of Enlightenment "Concentration; and thus this element of enlightenment reaches fullest perfection. And whenever he thoroughly looks with indifference on his mind thus concentrated-at such a time he has gained and is developing the Element of Enlightenment "Equanimity." The four fundamentals of attentiveness, thus practiced and developed, bring the seven elements of enlightenment to full perfection. But how do the seven elements of enlightenment, practiced and developed, bring Wisdom and Deliverance to full perfection? There, the disciple is developing the elements of enlightenment: Attentiveness, Investigation of the Law, Energy, Rapture, Tranquility, Concentration and Equanimity, bent on detachment, on absence of desire, on extinction and renunciation. Thus practiced and developed, do the seven elements of enlightenment bring wisdom and deliverance to full perfection. Just as the elephant hunter drives a huge stake into the ground and chains the wild elephant to it by the neck, in order to drive out of him his wonted forest ways and wishes, his forest unruliness, obstinacy and violence, and to accustom him to the environment of the village, and to teach him such good behavior as is required amongst men: in like manner also has the noble disciple to fix his mind firmly to these four fundamentals of attentiveness, so that he may drive out of himself his wonted worldly ways and wishes, his wonted worldly unruliness, obstinacy and violence, and win to the True, and realize Nirvana. EIGHTH STEP RIGHT CONCENTRATION

WHAT, now, is Right Concentration? Fixing the mind to a single object ("One-pointedness of mind"): this is concentration. The four Fundamentals of Attentiveness (seventh step): these are the objects of concentration. The four Great Efforts (sixth step): these are the requisites for concentration. The practicing, developing and cultivating of these things: this is the "Development" of concentration. [Right Concentration has two degrees of development: 1. "Neighborhood-Concentration," which approaches the first trance, without however attaining it; 2. "Attainment Concentration," which is the concentration present in the four trances. The attainment of the trances, however, is not a requisite for the realization of the Four Ultramundane Paths of Holiness; and neither Neighborhood-Concentration nor Attainment-Concentration, as such, in any way possesses the power of conferring entry into the Four Ultramundane Paths; hence, in them is really no power to free oneself permanently from evil things. The realization of the Four Ultramundane Paths is possible only at the moment of insight into the impermanency, miserable nature, and impersonality of phenomenal process of existence. This insight is attainable only during Neighborhood-Concentration, not during Attainment-Concentration. He who has realized one or other of the Four Ultramundane Paths without ever having attained the Trances, is called a "Dry-visioned One," or one whose passions are "dried up by Insight." He, however, who after cultivating the Trances has reached one of the Ultramundane Paths, is called "one who has taken tranquility as his vehicle."]

                       THE FOUR TRANCES

Detached from sensual objects, detached from unwholesome things, the disciple enters into the first trance, which is accompanied by "Verbal Though," and "Rumination," is born of "Detachment," and filled with "Rapture," and "Happiness." This first trance is free from five things, and five things are present. When the disciple enters the first trance, there have vanished [the 5 Hindrances]: Lust, Ill-will, Torpor and Dullness, Restlessness and Mental Worry, Doubts; and there are present: Verbal Thought, Rumination, Rapture, Happiness, and Concentration. And further: after the subsiding of verbal thought and rumination, and by the gaining of inward tranquility and oneness of mind, he enters into a state free from verbal thought and rumination, the second trance, which is born of Concentration, and filled with Rapture and Happiness. And further: after the fading away of rapture, he dwells in equanimity, attentive, clearly conscious; and he experiences in his person that feeling, of which the Noble Ones say: "Happy lives the man of equanimity and attentive mind"-thus he enters the third trance. And further: after the giving up of pleasure and pain, and through the disappearance of previous joy and grief, he enters into a state beyond pleasure and pain, into the fourth trance, which is purified by equanimity and attentiveness. [The four Trances may be obtained by means of Watching over In-and Out-breathing, as well as through the fourth sublime meditation, the "Meditation of Equanimity," and others. The three other Sublime Meditations of "Loving Kindness," "Compassion", and "Sympathetic Joy" may lead to the attainment of the first three Trances. The "Cemetery Meditations," as well as the meditation "On Loathsomeness," will produce only the First Trance. The "Analysis of the Body," and the Contemplation on the Buddha, the Law, the Holy Brotherhood, Morality, etc., will only produce Neighborhood-Concentration.] Develop your concentration: for he who has concentration understands things according to their reality. And what are these things? The arising and passing away of corporeality, of feeling, perception, mental formations and consciousness. Thus, these five Groups of Existence must be wisely penetrated; Delusion and Craving must be wisely abandoned; Tranquility and Insight must be wisely developed. This is the Middle Path which the Perfect One has discovered, which makes one both to see and to know, and which leads to peace, to discernment, to enlightenment, to Nirvana. And following upon this path, you will put an end to suffering.

      DEVELOPMENT OF THE EIGHTFOLD PATH IN THE DISCIPLE

         CONFIDENCE AND RIGHT-MINDEDNESS  (2nd Step)

SUPPOSE a householder, or his son, or someone reborn in any family, hears the law; and after hearing the law he is filled with confidence in the Perfect One. And filled with this confidence, he thinks: "Full of hindrances is household life, a refuse heap; but pilgrim life is like the open air. Not easy is it, when one lives at home, to fulfill in all points the rules of the holy life. How, if now I were to cut off hair and beard, put on the yellow robe and go forth from home to the homeless life?" And in a short time, having given up his more or less extensive possessions, having forsaken a smaller or larger circle of relations, he cuts off hair and beard, puts on the yellow robe, and goes forth from home to the homeless life.

                MORALITY  (3rd, 4th, 5th Step)

Having thus left the world, he fulfills the rules of the monks. He avoids the killing of living beings and abstains from it. Without stick or sword, conscientious, full of sympathy, he is anxious for the welfare of all living beings.-He avoids stealing, and abstains from taking what is not given to him. Only what is given to him he takes, waiting till it is given; and he lives with a heart honest and pure.-He avoids unchastity, living chaste, resigned, and keeping aloof from sexual intercourse, the vulgar way.-He avoids lying and abstains from it. He speaks the truth, is devoted to the truth, reliable, worthy of confidence, is not a deceiver of men.-He avoids tale-bearing and abstains from it. What he has heard here, he does not repeat there, so as to cause dissension there; and what he has heard there, he does not repeat here, so as to cause dissension here. Thus he unites those that are divided, and those that are united he encourages; concord gladdens him, he delights and rejoices in concord, and it is concord that he spreads by his words.-He avoids harsh language and abstains from it. He speaks such words as are gentle, soothing to the ear, loving, going to the heart, courteous and dear, and agreeable to many.- He avoids vain talk and abstains from it. He speaks at the right time, in accordance with facts, speaks what is useful, speaks about the law and the disciple; his speech is like a treasure, at the right moment accompanied by arguments, moderate, and full of sense. He keeps aloof from dance, song, music and the visiting of shows; rejects flowers, perfumes, ointments, as well as every kind of adornment and embellishment. High and gorgeous beds he does not use. Gold and silver he does not accept. Raw corn and meat he does not accept. Women and girls he does not accept. He owns no male and female slaves, owns no goats, sheep, fowls, pigs, elephants, cows or horses, no land and goods. He does not go on errands and do the duties of a messenger. He keeps aloof from buying and selling things. He has nothing to do with false measures, metals and weights. He avoids the crooked ways of bribery, deception and fraud. He keeps aloof from stabbing, beating, chaining, attacking, plundering and oppressing. He contents himself with the robe that protects his body, and with the alms with which he keeps himself alive. Wherever he goes, he is provided with these two things; just as a winged bird, in flying, carries his wings along with him. By fulfilling this noble Domain of Morality he feels in his heart an irreproachable happiness.

              CONTROL OF THE SENSES  (6th Step)

Now, in perceiving a form with the eye- a sound with the ear- an odor with the nose- a taste with the tongue- a touch with the body- an object with his mind, he sticks neither to the whole, nor to its details. And he tries to ward off that which, by being unguarded in his senses, might give rise to evil and unwholesome states, to greed and sorrow; he watches over his senses, keep his senses under control. By practicing this noble "Control of the Senses" he feels in his heart an unblemished happiness.

      ATTENTIVENESS AND CLEAR CONSCIOUSNESS  (7th Step)

Clearly conscious is he in his going and coming; clearly conscious in looking forward and backward; clearly conscious in bending and stretching his body; clearly conscious in eating, drinking, chewing and tasting; dearly conscious in discharging excrement and urine; clearly conscious in walking, standing, sitting, falling asleep and awakening; clearly conscious in speaking and keeping silent. Now, being equipped with this lofty Morality, equipped with this noble Control of the Senses, and filled with this noble "Attentiveness and Clear Consciousness, he chooses a secluded dwelling in the forest, at the foot of a tree, on a mountain, in a cleft, in a rock cave, on a burial ground, on a woody table-land, in the open air, or on a heap of straw. Having returned from his alms-round, after the meal, he sits himself down with legs crossed, body erect, with attentiveness fixed before him.

                ABSENCE OF THE FIVE HINDRANCES

He has cast away Lust; he dwells with a heart free from lust; from lust he cleanses his heart. He has cast away Ill-will; he dwells with a heart free from ill-will; cherishing love and compassion toward all living beings, he cleanses his heart from ill-will. He has cast away Torpor and Dullness; he dwells free from torpor and dullness; loving the light, with watchful mind, with clear consciousness, he cleanses his mind from torpor and dullness. He has cast away Restlessness and Mental Worry; dwelling with mind undisturbed, with heart full of peace, he cleanses his mind from restlessness and mental worry. He has cast away Doubt; dwelling free from doubt, full of confidence in the good, he cleanses his heart from doubt.

                   THE TRANCES  (8th Step)

He has put aside these five Hindrances and come to know the paralyzing corruptions of the mind. And far from sensual impressions, far from unwholesome things, he enters into the Four Trances.

                     INSIGHT  (1st Step)

But whatsoever there is of feeling, perception, mental formation, or consciousness-all these phenomena he regards as "impermanent," "subject to pain," as infirm, as an ulcer, a thorn, a misery, a burden, an enemy, a disturbance, as empty and "void of an Ego"; and turning away from these things, he directs his mind towards the abiding, thus: "This, verily, is the Peace, this is the Highest, namely the end of all formations, the forsaking of every substratum of rebirth, the fading away of craving; detachment, extinction: Nirvana." And in this state he reaches the "Cessation of Passions."

                           NIRVANA

And his heart becomes free from sensual passion, free from the passion for existence, free from the passion of ignorance. "Freed am I!": this knowledge arises in the liberated one; and he knows: "Exhausted is rebirth, fulfilled the Holy Life; what was to be done, has been done; naught remains more for this world to do."

             Forever am I liberated,
             This is the last time that I'm born,
             No new existence waits for me.

This, verily, is the highest, holiest wisdom: to know that all suffering has passed away. This, verily, is the highest, holiest peace: appeasement of greed, hatred and delusion.

                      THE SILENT THINKER

"I am" is a vain thought; "I am not" a vain thought; "I shall be" is a vain thought; "I shall not be" is a vain thought. Vain thoughts are a sickness, an ulcer, a thorn. But after overcoming all vain thoughts, one is called silent thinker." And the thinker, the Silent One, does no more arise, no more pass away, no more tremble, no more desire. For there is nothing in him that he should arise again. And as he arises no more, how should he grow old again? And as he grows no more old, how should he die again? And as he dies no more, how should he tremble? And as he trembles no more, how should he have desire?

                        THE TRUE GOAL

Hence, the purpose of the Holy Life does not consist in acquiring alms, honor, or fame, nor in gaining morality, concentration, or the eye of knowledge. That unshakable deliverance of the heart: that, verily, is the object of the Holy Life, that is its essence, that is its goal. And those, who formerly, in the past, were Holy and Enlightened Ones, those Blessed Ones also have pointed out to their disciples this self-same goal, as has been pointed out by me to my disciples. And those, who afterwards, in the future, will be Holy and Enlightened Ones, those Blessed Ones also will point out to their disciples this self-same goal, as has been pointed out by me to my disciples. However, Disciples, it may be that (after my passing away) you might think: "Gone is the doctrine of our Master. We have no Master more." But you should not think; for the Law and the Discipline, which I have taught you, Will, after my death, be your master.

              The Law be your light,
              The Law be your refuge!
              Do not look for any other refuge!

Disciples, the doctrines, which I advised you to penetrate, you should well preserve, well guard, so that this Holy Life may take its course and continue for ages, for the weal and welfare of the many, as a consolation to the world, for the happiness, weal and welfare of heavenly beings and men. THE END

BuddhaNetBBS (02) 660-3518 Buddha dhamma Meditation Assoc Inc PO Box K1020 Haymarket, NSW 2000

[This document can be acquired from a sub-directory coombspapers via anonymous FTP or COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU or ANU Soc.Sci.WWW Server at http://coombs.anu.edu.au/CoombsHome.html]

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX files]

[Last updated: 28 March 1994]

"THE BUDDHA'S WAY AND ABORTION - LOSS, GRIEF AND RESOLUTION" a lecture by Yvonne Rand, Sensei.

Originally published in: Mind Moon Circle, Autumn 1994, pp.5-8.

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

All copyrights to this document belong to Yvonne Rand, California, USA.

Enquiries: The Editor, "Mind Moon Circle", Sydney Zen Centre, 251 Young St., Annandale, Sydney, NSW 2038, Australia. Tel: + 61 2 660 2993

The Buddha's Way and Abortion: Loss, Grief and Resolution

by

Yvonne Rand

(Yvonne is a Zen Buddhist priest and meditation teacher in the San Francisco Bay area.)

Attitudes about abortion have given birth to heartbreaking polarization and violence. The need for a safe and respectful meeting ground for everyone concerned now overrides the issues themselves. My own view on the issues may appear inconsistent on the surface, for I am anti-abortion and pro-choice, but what concerns me these days is the intolerance and intemperance which prevent any harmony between the contending camps. I see remarkable grief in people as an aftermath to abortions and miscarriages and no container in which to heal that grief.

The perspective on abortion I present here has developed through my experiences as a practicing Buddhist and as a Zen priest. In conducting memorial ceremonies under the benevolent auspices of Jizo Bodhisattva, I have come to appreciate the capacity the Buddha Dharma gives us to accept what is painful and difficult. In Japan, Jizo is the much loved form of the Bodhisattva of the underworld; he is the emanation of compassion which guides and protects transmigrators into and out of life.

My first encounter with Jizo happened in 1969 after a dear friend of mine died in a train accident in Japan. Several years earlier, my friend had gone on a search for himself which ended at a Zen monastery. His sudden death was a blow and I grieved his passing deeply. Later that year I found myself driving Suzuki Roshi to Tassajara Zen Mountain Centre from San Francisco. When I told him that I had been taking care of a footlocker holding my friend's precious belongings (music, a flute, essays, books drawings), Suzuki Roshi suggested that we burn the belongings in the stone garden near his cabin at Tassajara. After a proper funeral and fire ceremony, we buried the ashes in the rock garden, and marked the spot with a small stone figure of Jizo.

This, my first meeting with Jizo, affected me deeply. For some years afterwards, I could not explain my pull to the figure of this sweet-faced monk with hands in the mudra of prayer and greeting.

Several years after this funeral ceremony, I terminated an unexpected pregnancy by having an abortion. I suffered after the abortion, but it was not until some years had passed that I came to fully understand my grieving and/or the resolution to which I eventually came.

Subsequently, I began spending time in Japan and became reacquainted with Jizo. Figures of Jizo are everywhere there. I saw firsthand that Jizo ritual and ceremony involved not just graveyards and death in general, but particularly the deaths of infants and foetuses through abortion, miscarriage or stillbirth. Back home, during the 1970's and 1980's, women had begun coming to me and asking if I could help them with their difficulties in the aftermath of an abortion or a miscarriage. In consequence I began doing a simple memorial service for groups of people who had experienced the deaths of foetuses and babies. After many years of counselling both men and women I decided, three years ago, to spend several months in Japan doing a focused study of the Jizo practices.

Initially, I did the ceremony only with women. But now I include men and children as well. The participants are neither all pro-choice nor all pro-life in their politics; a full spectrum of opinion and belief is represented in the circle we make. Many of the people who come are not Buddhists. Yet somehow this old Buddhist way seems to absorb whoever does come.

What the ceremony accomplishes is to provide a means for people to be with what is so, no matter how painful that may be. Being fundamentally awake to what is so is a great path, open to us all. The path means awakening to what is truly and specifically so, rather than remaining narcotized or habitually preoccupied by our fears and desires, our loves and hates. Ignorance and unconciousness make us lose our way and cause great suffering to ourselves and others. Sex, as we know, can lead to pregnancy. Failure to consider the gestative potential of sexuality can result in suffering for the lifetime of many lives over multiple generations. Women who have had abortions are sometimes haunted for decades afterwards.

Each of those who attend our ceremonies has suffered the death of one or more small beings. Strangers assemble with their grief and unresolved dismay. Over time I have been struck by how successfully the ceremony has provided a container for the process of acknowledging what is so, for encompassing what is difficult, and for bringing about resolution and healing. When I initially performed the Buddhist Memorial Ceremony, I followed a quite traditional form. Slowly I have modified and added to it in a way that seems to work better for Americans.

The ceremony is as follows: we sit in silence, sewing a bib or hat for one of the compassion figures on the altar. The figures are from different cultures: Jizo, Mary with Jesus, "Spirit entering and leaving" from the Eskimo people, or a mother and child. Our commitment is to listen to those who wish to talk without attempting to give advice or comfort. Some of know from twelve-step meetings of the important practice of simply listening.

The principle of "no crosstalk'' provides safety from uninvited comforting and solicitude, and many find it to be the most healing of possible attentions. After this, we walk to the garden, form a circle, and go through a simple ceremony of acknowledging a particular life and death. One by one, each person says whatever is in his or her heart while offering incense, placing the sewn garments on one of the altar figures and bowing. We then chant the Heart Sutra, give the unborn beings Dharma names and say goodbye to them. Prayer sticks are made and inscribed with prayers for forgiveness and for the wellbeing of those who have died. No names are signed. The prayers are hung from the bushes and trees in the meditation garden, thus committing our messages to the wind and the rains. Afterwards we have a cup of tea, walk in the garden, and go home with a quieter heart.

Over the years, I continue to learn from the people who participate. About seven or eight years ago, at a conference for Women in Buddhism, I led the Jizo ceremony for a large group of conference participants. At the end of the ceremony a woman spoke about her own experience. She described herself as a nurse midwife who did a lot of abortion counselling. After undergoing an abortion herself, she had begun to ask women who came to her for help to first go home and talk to the foetus they were carrying. She encouraged each woman to tell the baby all the reasons for her inner conflict about the pregnancy. She reported that the number of spontaneous miscarriages that occured was remarkable.

After hearing this woman's story, I began to hear about a similar practice of speaking to the foetus in other cultures: in Cambodia, in the Netherlands, and among native peoples in America, to name a few. I find great sense in this practice. Speaking to the foetal baby is a way to recognise and acknowledge that the being in utero also is a presence, also has a voice, also has some concern for the outcome. I continue to be struck by the deep rightness of such an attitude in the midst of the suffering that comes with conflict over a pregnancy.

I have added modern touches to the ceremony. Yet the wisdom it embraces comes from traditional Buddhist teachings which, although steeped in history, nevertheless offer profound guidance for the current conflict over abortion. For me, the Buddha's first grave precept - not to kill intentionally - cannot be denied, much less minimized. Since I am convinced that the teaching embodied in the precept is correct, both conventionally and ultimately; and since adherence to it is a necessary step on the path that leads away from suffering, I feel compelled to take a stand against abortion.

At the same time, I can readily and willingly keep someone company when abortion is the choice she has arrived at. I am strongly in favour of the freedom of each individual to chose what to do for herself regarding a conflicted pregnancy. I could not and would not advocate a return to the years when the government controlled the woman's decision. In 1955 when abortion was illegal, almost one out of four American women had an abortion by the age of forty-five, and some perished in the process.

What, then, is the solution? My experiences as a Buddhist priest continues to teach me that looking into a situation in detail, without glossing over what is unpleasant or difficult, is what helps us to stay present and clear and break through ignorance. This is certainly true in the potent realms of sexuality, fertility and gestation. The premise of restraint, which underlies all the Buddha's precepts and is fundamental in the practice of compassion, is also of critical importance in how we lead our sexual lives. Through the precepts and through the practice of awareness of what is so, we can understand our previous actions and make wise decisions about future actions. By contrast, action which is based on unexamined and habitual thought patterns - implanted in childhood and reinforced by the generalities, platitudes and superficialities of the common culture perpetuates ignorance and sentences us to ever-renewing suffering.

end of file

Comment on the Kesa Sutra.

Teaching by Roland Yuno Rech

People who have been ordained bodhisattva, nun or monk, recite the kesa sutra before putting on their kesa or their rakusu ( miniature kesa). In four short sentences this sutra completely expresses the meaning of our practice, the spiritual dimension of the practice of zazen. So when Master Dogen was young and practising in China with Master Nyojo, he cried with emotion when he heard the kesa sutra being sung for the first time, because it impressed him so much. Here in the dojo and also during sesshin, we chant it together every morning.

Here are these four sentences :

Dai sai geda pu ku - Oh robe of great liberation Muso fukuden e – A limitless robe, field of happiness Hi bu nyorai kyo - Now we receive the Buddha's teaching Ko do sho shujo - To help all beings, shujo : all sentient beings

The kesa is the symbol of the great liberation realized during the practice of zazen, but of course, zazen with right posture and breathing, as well as right mind. This is a mind concentrating on the posture and breathing, in unity with the body, simply observing what is happening, internally and externally, with regard to sensations, perceptions, thoughts,desires, without becoming attached to phenomena, without rejecting them either, but deeply observing their impermanence and their lack of fixed substance, in other words their vacuity. Practising this way we realize this dai sai gedatsu, this great liberation, this letting go with regard to what we call our bonnos, our attachments, the causes of our suffering, such as for example greed, this constant need to grab, obtain something else, as if to fill a lack of something in ourselves, a dissatisfaction which never really goes away.

Greed shifts constantly from one object to another. Sometimes it remains simply in a state of desire. We imagine that desire is a cause of satisfaction whereas, on the contrary, it's often the cause of frustration because deep down in us, there is a desire that we don't often experience, the desire for deep realization, spiritual realization. If this desire is not realized, if this need for awakening is not accomplished, all the other objects of desire function like substitutes, compensations. And the constant pursuit of them becomes a cause of exhaustion, suffering, disappointment.

Practising zazen with the kesa is practising zazen with the deep faith that we are already Buddha nature. In other words, if we stop obscuring our hearts and minds by pursuing futile objects, if on the contrary we turn our gaze inward and let this Buddha nature manifest itself - this life in unity with the whole universe, without separation – then we really feel free.

Freedom, or liberty, has many meanings : the freedom to do, to think, to act, to move, to speak, to express yourself, but there is a much deeper freedom which is realized when we really become one with what we are deep down, because we find ourselves in harmony with our true nature. At this moment we are really liberated because we no longer need to beg for something else. That doesn't mean that we don't find satisfaction here and there, but we don't depend on this permanent exhausting quest for objects.

Practising zazen with the kesa, having received ordination, means that we practise with this deep faith which leads to realization, which allows us to practise with what we call mushotoku mind, without object, without looking for profit, because what we are looking for is already there. In zen, faith is not a belief in something transcendent, but the realization of unity with reality which is at the same time within us and penetrates the whole universe. If this faith conducts our life, we can feel truly free because we can realize it, practise it everywhere. And this doesn't depend on having this or that, this doesn't depend on circumstances.

Having taken the vows of bodhisattva, monk or nun, the practice of zazen with the kesa brings us back to this profound dimension of practice, so the kesa becomes what it really is, the robe of unlimited happiness, or the unlimited robe which is also the field of happiness. Muso, translated by unlimited, also means without form : mu, without, and so, form or aspect. Whereas the kesa has a precise form, transmitted traditionally for centuries in the way it is sewn and worn, in reality it's without form, because when we concentrate on sewing it, when we put it on with deep faith, in this concentration and in this faith in practice, the mind which creates limitations is abandonned.

The mind in zazen is muso, without form. It's how it really is. Non-identified with thoughts, perceptions and sensations. It's like a vast mirror which reflects everything without adhering to anything. It's without its own form but reflects them all. Concentrating on the practice of the posture and breathing, the mind reflects all the phenomena which come up as they appear and it doesn't identify with these phenomena, so remains beyond all thoughts, beyond all forms. If we practise zazen dressed in the kesa, faith in the profound dimension of practice deepens.

Master Deshimaru often said : « If we do zazen without the kesa, without ordination, without having pronounced the vows, the risk is that zazen remains just as a technique for well-being, for concentration, relaxation. » For zazen to be a real practice of awakening, it has to be practised in its real, profound dimension which is a religious dimension, connecting us to the real nature of existence - without substance. Dai sai gedatsu, the first verse of the kesa sutra, speaks of this great liberation which occurs when we realize this.

In the past, the kesa was made up of scraps of material of different origins, dyed the same colour. Usually it was a mixed dark colour which was relatively undefinable. It is said that Buddha's kesa, handed down until Eno, was black mixed with dark blue/green. Blue is the colour of the depths of the ocean, a colour which unifies all colours and which at the same time cannot really be defined, grasped, which is muso, beyond all perceptible aspects. It's like the mind in zazen which, as it identifies with nothing, has no fixed form. We can try to reduce it to concepts, ideas, definitions, including saying that it's infinite, ungraspable, but it's still beyond all of that : muso. It's the mind of Buddha, which exists without being confined within any sort of notion.

The kesa symbolizes this great liberation which is realized when we are in harmony with this ungraspable dimension, beyond all notions of our existence, and not only of our existence but all forms of existence. This is what Buddha realized on the morning of his awakening under the Bodhi tree when he exclaimed that he had realized awakening with all beings. It has become the essence of the transmission of the Dharma, which is itself symbolized by the transmission of the kesa.

In zazen, through concentration, not only do we not identify with bonnos, with attachmentswhich come up, (which allows us to let them pass) not only do we not consider ourselves the author (which allows us to abandon this attachment to an idea of ourselves, the ego) but this letting go is made even easier by the realization that all of this is really without fixed substance. As fluid as water which, depending on the temperature, turns into ice, flows in torrents, rivers to the ocean, evaporates, turns into clouds, rain, hail, snow, ice again then water. Finding this fluidity of the body and mind again in the practice of zazen and in our daily lives, is the practice of unsui, « the clouds and water ». It's the practice of monks and nuns of the school of zen who are, for this reason, called unsui. Through this practice, the mind resides on nothing, is always fluid, available, present and therefore creative, able to respond to each new situation in our lives.

During zazen, we continue to concentrate on the posture of the body. Whatever happens, we remain still. We don't repress thoughts or emotions which come up but we don't become attached to them either. We place all our attention on our breathing. In this way, even if the greatest attachments, the biggest preoccupations, worries about daily life reappear in our minds in zazen, we are not obsessed by them, our consciousness is not troubled by them.

Not repressing or eliminating the phenomena of daily life changes our attitude toward them. We can consider them from a higher, deeper point of view as being relative phenomena, temporary, lacking in substance of their own. In this way, these phenomena of daily life lose their power to disturb us. No longer being deeply attached, we can once more find the capacity to face up to them in a creative way, with wisdom and compassion.

The mind liberated in zazen is spoken of in the kesa sutra through dai sai gedatsu, the great liberation. It's not a mind which has escaped from daily reality, but one which looks at it in another way, from a point of view of Buddha, from a point of view of the hishiryo consciousness of zazen. Consciousness which identifies with nothing because we perceive the vacuity of all the phenomena that preoccupy us. Not identifying with phenomena doesn't require effort because we are at that moment in contact with a deeper dimension of life, a dimension beyond our little ego, a truly religious dimension, and thus these phenomena lose their power to attach us. In this dimension, our egocentric preoccupations diminish because they lose their importance. We remain simply preoccupied by the way in which we can help others to overcome their difficulties, their suffering.

It's the conclusion of the kesa sutra:

Ko do shoshu jo To help all sentient beings

It's the meaning of practising a zazen which is truly liberating, gedatsu, not only for ourselves but also for others, zazen which is really the incarnation of the teaching of Buddha, nyorai kyo.

This is realized when we practise zazen with profound faith in the fact that zazen itself is awakening and liberation. In other words there is nothing to expect beyond zazen but that zazen is itself the realization of the absolute dimension of existence, the dimension which is not limited by our mental constructions. In this dimension the deepest help is realized, which doesn't make a distinction between oneself and others.

Even though we chant the four vows of the bodhisattva in which we make the vow to help all beings, even though the kesa sutra finishes with Ko do shoshu jo, to help all sentient beings, when we practise this zazen with this kesa, we don't need to think about helping anyone. Because it's not us with our personal will, with our own ego, which help, but it's the practice of zazen with the kesa, the zazen of Buddha which helps ourselves and others, beyond the separation between ourselves and others. And precisely, in the abolition of this separation resides the greatest help. This occurs unconsciously, naturally, automatically, without the intervention of the will but through the power of this faith which is non- dual. The true zazen of Buddha is to practise zazen with an undivided mind.

[This document can be acquired from a sub-directory coombspapers via anonymous FTP or COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU or ANU Soc.Sci.WWW Server at http://coombs.anu.edu.au/CoombsHome.html]

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX files]

[Last updated: 2 May 1994]


"DEATH IS A SACRAMENT".

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

The text was originally published in MMC Summer 1993 pp 1-6. All copyrights to this document belong to Subhana Barzaghi Sensei, Kuan-Yin Zen Center, NSW, Australia

Enquiries: The Editor, "Mind Moon Circle", Sydney Zen Centre, 251 Young St., Annandale, Sydney, NSW 2038, Australia. Tel: + 61 2 6602993


Death is a Sacrament SUBHANA Barzaghi Sensei

Subhana's talk, dedicated to the memory of Father Bede Griffiths, was given at Spring Sesshin 1993, Gorrick's Run Zendo.

Immediately we start to speak about death in our culture, it conjures up all kinds of images of something morbid or depressing or tragic or painful, Our Western culture is particularly good at hiding death and making it something alien. We immediately cover up a corpse and lock it behind closed doors, cover it over with a sterile sheet, in some ways denying death's relevance to life. There is such a great fear of extinction that we treat death as something taboo. We live with this anxiety about death, as if it is a denial of our rights to continual and perpetual self-determination.

My first early experience around death was certainly not a pleasant one. I was working as a nurse at the Lorna Hodgkinson Sunshine Home in Sydney. I normally looked after children � a ward of twenty-eight unruly mentally retarded boys � but on one occasion I was transferred to the geriatric ward and I was rostered to a mentally retarded patient there who was dying. I think I was rostered because nobody else wanted to take care of him. When I went in there he could barely speak and state his needs. The smell was repulsive: everything came out in the bed; there was excretion everywhere. I did not know how to relate to this situation at all: I was twenty-one. As the days went on he became worse and he died. I felt that this was a very tragic and repulsive way to die because I had no way of meeting this person's needs or even communicating with him. I felt totally inadequate. I went straight to the matron's office and said, 'If you don't transfer me back to the children's ward, you're going to have one less nurse on Monday morning.' In those days, I don't think we were prepared for death or how to deal with it � I certainly wasn't prepared, in any way.

Many years later I had another experience, completely different from that. When I was a midwife for seven years, delivering babies at home, on one occasion I was assisting some dear friends. The labour was not progressing well and was showing obvious signs that the woman and the labour needed attention. So we transferred her to the hospital. During the pushing stage one could tell that there was something not quite right. The pushing stage was very, very difficult for her, unlike other situations that I had been in, so we picked up on something on an energetic level. When they tried to find the baby's heartbeat on the monitor, there was no heartbeat. That is not uncommon at that stage of labour: when the baby is so far down in the birth canal, one cannot always pick up the heartbeat. Nevertheless the doctor also somehow felt that he must get this baby out. When the baby was born, it was dead.

The father, who had done a lot of work on himself, was a very interesting person, very spontaneous. He just let out an almighty scream that went right through the hospital. The nurse burst into tears and ran out of the room. The doctor cleaned up and didn't know what to say. So there we were. I was with this couple and this dead baby. What we decided to do was just walk right out of the hospital. We took the baby with us. Nobody was going to stop us � they didn't know how to respond anyway. We got into their van and drove off someplace in the middle of the night and we all sat there in the van and passed round the dead baby and started singing to the baby and speaking to the baby. Of course there was a huge amount of tears and enormous grief, but I was also amazed, in looking at this baby's face, at how exquisitely peaceful it was. So I had the most extreme emotions of incredible peace and at the same time extraordinary grief. I could not sleep for three days; it was a very strange experience, a very beautiful experience as well.

These early experiences led me to question, what is death? When the body dies, what remains? This is an important question, and we take it up more fully in our miscellaneous koans. The koan is, "When you separate into earth, water, fire, and air, where do you go?" Zen training and any truly deep religious experience should answer these questions of life and death, or at least put to rest some of our fear. There are some parallels between deep sleep and death. Each night when we lie down to sleep we enter into our dream world, our consciousness and our senses begin to fade, and the world disappears; all the dramas and pleasures and successes and failures dissolve into the silence. Our attitude to sleep is to welcome deep sleep: it is a relief, it alleviates some of the stresses of the day. Yet we view death with such fear and anxiety.

The apparent division between birth and death is not so total as we imagine. The question is, who dies? What dies? In our practice there is the small death of the body, and we may die a hundred deaths without touching the great death of the mind. This great death of the mind is very important. The death of the mind gives birth to wisdom, and this wisdom is timeless, boundless state, right here and now, where there is no self to take refuge in. When we ask the question, who am I? or what am I? it is the I that is not known. What you are you must find out. In some ways, we can only describe what you are not. You are not the world; you are not even in the world. It is more like the world is in you. In Zen we call this experience, 'I alone and sacred in the whole universe.' Another way of saying that is, 'Buddha-nature pervades the whole universe.' There is no separation there, and when we say, 'I alone and sacred in the whole universe,' we do not mean this self-important, self-conscious little 'I.'

So death serves the deepest interests of a religious life, by reminding us of the emptiness of desires and plans and achievements and self-interest. It keeps us in check in some way. All of our competitiveness seems madness when we cannot take anything with us. Our spiritual maturity and freedom lies in our readiness to let go of our self-importance.

When I was in Los Angeles, maybe six years ago, I was given tickets to a really interesting play. It was called 'AIDS Us.' It was a play like no other play that I have ever been to. There was a very small auditorium and there was no barrier between the actors and the people in the audience, no separation. All the people on stage had AIDS and they just got up and talked about their lives, how extraordinarily different their lives had been since they got AIDS. And instead of 'dying with AIDS' they reframed it and thought of themselves as 'living with AIDS.' It was quite an extraordinarily empowering experience for these people and the people in the audience. There wasn't a dry eye in the house. And this was in the early days, when there was a lot of paranoia and misunderstanding about AIDS. At the end of the play everybody from the audience just walked right down and everybody hugged and greeted everybody else. There was a total breakdown of fear; there was no sense of alienation; everybody was hugging everybody else. And that was a fairly straight audience, and back in those days that was quite an amazing experience for me. It was certainly my first contact with anyone who had AIDS, and particularly a whole stageful of people. They later took that play to the White House to raise money for people who had AIDS.

There is interesting research now available about people's near-death experiences. The chair of the Department of Parapsychology at Bristol University has done interviews with people who had near-death experiences. She explored them from a range of approaches, from the medical to the religious. The biological-medical argument is that the reason people consistently see a great light at the end of a tunnel is because the brain is being starved of oxygen, and therefore everything goes dark; people thus experience something like going through a tunnel and coming out to the light on the other side. This argument can explain why there is a tunnel, but it cannot explain why there is a light at the other end. They haven't got an answer for that one! The researcher � and she was taking a straight scientific approach � said that maybe Buddhism had some answers there, the best answers. Because Buddhism says that the self is merely a construct and that we re-create the self over and over and over again, moment by moment. And at the time of death the physical construct of the self starts to fall away: body and mind falling away, that moment. And we can witness the great light, we can witness the emptiness. And this also accounts for people's consistent experiences of the interconnected oneness with all things in those near-death experiences.

There is a range of beliefs about death that we may have subscribed to at some point. The scientific view is that we live once; we die once; death is total extinction. This of course is very rational, and there is no proof to support any other view, nothing else is available. The Christian view is that there is life after death; for those who find God, the kingdom of heaven is open for eternity; for those who reject God, there is hell for eternity; the earth is but a brief home, a testing ground for our love of God.

A Buddhist view of death is that we are all waves on the ocean; each wave is born and dies repeatedly, according to our underlying forces; there is rebirth until enlightenment, until we get off the wheel of samsara. A variation of that is that there is reincarnation, until the dissolution of the ego, when the soul becomes one with the absolute. I am still not sure about any of those beliefs.

Years ago, when I was at Kopan monastery, at the age of nineteen, I did my very first meditation retreat. I was naive enough to sign up for a thirty-day retreat. Kopan monastery is just outside Kathmandu in Nepal, and the lamas there, Lama Zopa and Lama Yeshe, were wonderful teachers. For all beginning students they used to make us meditate on death for two weeks. Then, if that was not enough, we would have to meditate on the hell realms for two weeks. We started out on that retreat with 150 people and about thirty of us finished. They were always saying, 'The reason we get people to meditate on death is because it motivates people to practise.' I'm not sure about that! But, twenty years later, I have come around to thinking that the lamas had something that was important there: they weren't so eccentric and crazy as I originally thought.

Tibetan Buddhism focuses a lot on understanding the process of death and dying. The lamas used to say that the moment of death is potent with opportunity, because it is then that we have access to the fundamental nature of mind. This luminous clear light will manifest; it will naturally manifest. This is a crucial point, because it is also at that point that we can attain liberation. However, we usually do not recognise it, because we are not acquainted with it, here and now in our practice, in our daily lives. So they emphasise that it is right now in our practice, in this lifetime, that we must encounter that unmanifested great mind, establish that essential recognition here and now.

Just after that thirty-day retreat, I was getting on a plane to leave Kathmandu to go back to India. I had always had a childhood fear that I was going to die young: I carried that fear with me almost every day. I know some of you here also have that fear. That morning I woke up and I thought, 'Well, I'm going to die.' Instead of saying to myself, as I would usually say, 'Oh Subhana, don't be so paranoid, so depressive,' after meditating on death for two weeks up in Kopan monastery, I thought, 'Well, OK, I'll just go with it.' So I decided that every single thing I did that day should be complete in itself. Every movement � lifting the arm, bringing it back � was complete; there was death in that moment. Drinking my tea: that was the last moment I was going to drink a cup of tea. Eating my toast: that was the last time. So there was an incredible preciousness about each and every thing. And it took an incredibly long time to pack my bag � I thought maybe I was stalling too, about getting on that plane.

Eventually in the afternoon I got on the plane: it took me all day to get there. We were in a light aircraft, going through a turbulent cloud formation out of Kathmandu; the little plane was bouncing all over the place. I thought, 'This is just like my life: being in one endless turbulent cloud formation, bouncing up and down all over the place.' Then in the next moment the plane came through into an open blue sky, very clear; you could see the patchwork fields of India below. And although it was not an awakening experience, it gave me hope and inspiration. It gave me a glimpse that maybe there is something that does not die, that cannot be destroyed, and every now and then we get a glimpse of it. That there is something greater that contains all this.

Another reason the Tibetan lamas would say why it was so important to meditate on death and the hell realms was because it gave a story, an explanation, about the six realms of existence. These are the Tushita heaven or heavenly realms; the demigods; the human realms; the animal realms; the hungry ghosts, or demons and spirits, or Preta realms; and the hell realms. The lamas would say that it was so precious to be born in the human realm. If you are in the hell realms there is so much pain and suffering that one can only survive; all one can do is cope with the pain. So in the hell realms there is no spirit of inquiry for realisation, to attain the Way. The same with the other extreme of the heavenly, blissful realm. It is so blissful, so pleasant, we are having such a good time being blissed out, that there is no inquiry in that realm either. The human realm was always considered the middle path, the middle realm, where there is a balance of pleasure and pain. It enables us to explore more deeply into the meaning of life. You can think of 'realms'; sometimes I find it more helpful to think of them as states of mind rather than realms. We can go through those states of mind even in one day, here in sesshin. If we translate the realms to the now, this middle realm is a balance of pleasure and pain: don't get stuck in heaven! That is not the Way. Some equanimity is the middle ground, is the perfect ripe place for awakening the mind.

When we think of birth and death we encounter the concept of karma. I was recently reading 'The Tibetan Book of Living and Dying', by Sogyal Rinpoche. He gives a lovely metaphor about karma and rebirth that I thought I would like to share with you. I always stayed right away from the concept of karma. Somehow I could never get my head around it, how to put it all together. Sogyal illustrates it in the following example.

The successive existences in a series of rebirths are not like the pearls of a pearl necklace, where they are held together on a thread all the way through, like a permanent soul. It is not like that, he says: it is more like a series of dice or blocks, all piled one on top of the other, one supporting the other. There is no identity between each block, but they are functionally connected. One functionally supports the other. It is more like that than it is like a permanent self or permanent soul running through all existences. There is only conditionality between the blocks.

If we apply that understanding right now, to this very moment, right now, we have a whole series of mind-moments, a whole series of consciousnesses. There is seeing, there is hearing, there is thinking, there is feeling. There are just these moments of consciousness, functionally connected. We just sit with that awareness, that empty awareness. There is no permanent self that threads itself through all that. We just hear it arising and passing away, each moment, right here. When we stay with that series of mind-moments � and they happen so fast; the mind is happening at an incredible pace, seeing, hearing, thinking, feeling - we notice the impermanence. We are very aware of the constant flux and change. Impermanence has many gifts, but its greatest gift lies buried deep inside. The fear of impermanence that awakens in us, the fear that nothing is real, that nothing lasts, is in fact a great friend. Because it drives us to ask the question, If everything dies and changes, what is truth? Is there something beyond the impermanent appearances of life? Is there something that survives all the deaths of the world, all the many changes? There are vast implications in this fundamental fact of impermanence. When we truly see into impermanence, we can see into the empty nature of things and we can also see that it is not-self. These three faces of the truth � impermanence, emptiness, and not-self � are right there in each moment.

Many times a friend dying can also give us a glimpse of this timeless, boundless reality. There is such an energy around birth; there is also a wonderful energy around death, around someone dying. It can awaken something in us. When someone is dying, everyone around that person has an opportunity to be touched by that life-death-life nature. It is a very precious opportunity. Life and death are not opposing enemies, but are complementary within the totality. When we are in touch with that we are touching this death-less, this change-less, that brings deep peace. But most of the time we do not bother to be conscious of our mortality and the cessation of all that we have known or lived for or loved or worked for. None of us can say how we will relate to our impending death. But if we live more conscious of death, right now, in each moment, we might greet the dawn and the bird and the stars at night with a lot more presence and immediacy. Life is nothing but a perpetual fluctuation of birth, death, rebirth. Death exposes itself each moment. Even in a single thought there is a beginning, middle, and end of the thought. There is a beginning, middle, and end of a breath. There is the sound of the bird that returns to the silence. So this moment is birth, this moment is death. This moment is rebirth, this moment is deathless. Can we embrace it like that?

A book that everybody seems to be reading at the moment, 'Women who Run with the Wolves', by Clarissa Pincola Estes, has a description of Skeleton Woman. She says that if we embody the old wise woman she welcomes death to her heart, death to her fire. She knows death as life-giver, as death-dealer. And women unconsciously practise these cycles of birth, death, and renewal every month, through the constant cycles of the filling and emptying of our life blood: every moon cycle. The cycles o Skeleton Woman flow deep through our bodies, throughout our entire life. This is indeed a series of births and deaths. But if we hold on to life with fear of death, o losing our car, our house, our friends, our children, this fear creates something like dead fingernails in the mind. The essential life and love can never leave you because you are that.. And when we awake we hold to nothing. It is neither conscious nor unconscious. It is that pure heart of awareness. It is that true nakedness beyond all appearance. Everything exists in its light. The essence of awareness neither dies nor is reborn. It is this changeless reality. And life and death then are married in the emptiness. In the Hekiganroku, Case 3, 'Great Master Baso is unwell,' this master is dying and the head monk asks him, 'How is your reverence feeling these days?' And the great master says, 'Sun-faced Buddha, moon-faced Buddha.' What did he mean? 'Sun-faced Buddha, moon-faced Buddha.' This man is dying. Whether he is sick or well, the master is at peace. In other words, he sees all experience as Buddha-nature.

When I was in San Francisco a couple of years ago I had a wonderful opportunity. I was visiting John Tarrant Roshi and staying with Governor Jerry Brown, an ex-Jesuit. One night he said, 'There is a remarkable man over at Berkeley: why don't we go and meet him?' The man's name was Father Bede Griffith: some of you may have met him or know of him. He was a Christian priest who lived in India for something like thirty years, and who seemed to be able to assimilate all kinds of practices in his ashram. When they were chanting, one minute it was Buddhist chanting, the next minute Hindu, the next minute Christian. He would include all of these things. We went to the No Gate Zen Centre in Berkeley. There was a small Zen sesshin happening downstairs, with a Zen teacher giving a talk. We trudged upstairs to meet Father Bede Griffith. When we walked in, he was sitting on his bed. He was quite old and not very well and could not walk easily. He was dressed in his orange loincloth, which he wears all the time. He was a wonderful little old man, with silvery hair and a long white beard. Jerry happened to ask him a really interesting question. He said, 'What is death?' And Father Bede Griffith all of a sudden became excited and brighteyed and filled with joy and enthusiasm, and said, 'Death is a sacrament. I am completely looking forward to my death.' I was sitting right next to him on the bed and I was stunned. I never met anyone with such an enthusiasm for death, and such joy and love for death. 'I am completely looking forward to my death.' His attitude about death meant that he was living life to its fullest. His gift of no fear is the greatest gift we can give to ourselves or to others. When we give this gift then life is a sacrament, we meet life to its fullest.

May all beings receive the gift of no fear.


end of file

Detachment

Developing Detachment

All human relationships can be happier from a position of detachment This means loving people enough to allow them to make their own choices without any flak from you, even though those choices may not be consistent with what you think they ought to be doing. It means having enough confidence in yourself not to be threatened when others fail to live up to your expectations. In lover/spouse relationships it means loving the other so much that you forget about your own needs and simply accept and love the other for what he or she is, which is, after all, what you fell in love with in the first place. In family relationships it means being detached enough to allow your relatives to be what they choose to be, and feeling secure enough within yourself not to judge yourself based upon what others decide to do in their own lives. It means forgetting about any evaluation that you might make and instead listening and loving the other family members for what they are, offering advice when asked, and otherwise sending them unconditional love. In. your parenting relationships it means constantly reminding yourself that your children are on their own paths and they are not going to live their lives the way you decide they should. It means guiding them, helping them to become self-reliant, and always letting them know that you uncon­ditionally love them, even when they behave in ways that, are self-defeating.

Detachment in human relationships does not mean an absence of caring. It means caring so much that you sus­pend your own value judgments about others and relate to them from a position of love rather than attempting to con­trol or judge them. The person who is detached in this sense is one who will avoid all the unnecessary suffering that most people experience in their relationships. You send love, decline a victim role, and exhibit an infinite supply of caring for yourself and your loved ones. And you are detached metaphysically. Your detachment allows you to have the “un” in unconditional love.

Attachment carries with it a subtle implication that somehow you must please me in order to be loved by me. When you learn to let your loved ones be and love them for who they choose to be regardless of your opinion about what they choose, you are detached. Once you reach this state of detachment, you will not want or need to own or control another human being, especially those who are in close relationship with you. Paradoxically, the less you attempt to own and control someone, the closer you become.

Detachment actually encourages you to grow closer in your relationships and to intensify your love. You reduce the likelihood of suffering in your relationships because you have so much unconditional love for others that your love is going to show even if they choose to leave you. In learning to become less attached you also learn a fundamental truth about loving relationships. Love is for giving, not for taking!

This is the true essence of detachment in all human relationships.

Developing Detachment

What is detachment?

Detachment is the:

  • Ability to allow people, places or things the freedom to be themselves.
  • Holding back from the need to rescue, save or fix another person from being sick, dysfunctional or irrational.
  • Giving another person "the space" to be herself.
  • Disengaging from an over-enmeshed or dependent relationship with people.
  • Willingness to accept that you cannot change or control a person, place or thing.
  • Developing and maintaining of a safe, emotional distance from someone whom you have previously given a lot of power to affect your emotional outlook on life.
  • Establishing of emotional boundaries between you and those people you have become overly enmeshed or dependent with in order that all of you might be able to develop your own sense of autonomy and independence.
  • Process by which you are free to feel your own feelings when you see another person falter and fail and not be led by guilt to feel responsible for their failure or faltering.
  • Ability to maintain an emotional bond of love, concern and caring without the negative results of rescuing, enabling, fixing or controlling.
  • Placing of all things in life into a healthy, rational perspective and recognizing that there is a need to back away from the uncontrollable and unchangeable realities of life.
  • Ability to exercise emotional self-protection and prevention so as not to experience greater emotional devastation from having hung on beyond a reasonable and rational point.
  • Ability to let people you love and care for accept personal responsibility for their own actions and to practice tough love and not give in when they come to you to bail them out when their actions lead to failure or trouble for them.
  • Ability to allow people to be who they "really are" rather than who you "want them to be."
  • Ability to avoid being hurt, abused, taken advantage of by people who in the past have been overly dependent or enmeshed with you.

What are the negative effects not detaching?

If you are unable to detach from people, places or things, then you:

  • Will have people, places or things which become over-dependent on you.
  • Run the risk of being manipulated to do things for people, at places or with things which you do not really want to do.
  • Can become an obsessive "fix it" who needs to fix everything you perceive to be imperfect.
  • Run the risk of performing tasks because of the intimidation you experience from people, places or things.
  • Will most probably become powerless in the face of the demands of the people, places or things whom you have given the power to control you.
  • Will be blind to the reality that the people, places or things which control you are the uncontrollables and unchangeables you need to let go of if you are to become a fully healthy, coping individual.
  • Will be easily influenced by the perception of helplessness which these people, places or things project.
  • Might become caught up with your idealistic need to make everything perfect for people, places or things important to you even if it means your own life becomes unhealthy.
  • Run the risk of becoming out of control of yourself and experience greater low self-esteem as a result.
  • Will most probably put off making a decision and following through on it, if you rationally recognize your relationship with a person, place or thing is unhealthy and the only recourse left is to get out of the relationship.
  • Will be so driven by guilt and emotional dependence that the sickness in the relationship will worsen.
  • Run the risk of losing your autonomy and independence and derive your value or worth solely from the unhealthy relationship you continue in with the unhealthy person, place or thing.

How is detachment a control issue?

Detachment is a control issue because:

  • It is a way of de-powering the external "locus of control" issues in your life and a way to strengthen your internal "locus of control."
  • If you are not able to detach emotionally or physically from a person, place or thing, then you are either profoundly under its control or it is under your control.
  • The ability to "keep distance" emotionally or physically requires self-control and the inability to do so is a sign that you are "out of control."
  • If you are not able to detach from another person, place or thing, you might be powerless over this behavior which is beyond your personal control.
  • You might be mesmerized, brainwashed or psychically in a trance when you are in the presence of someone from whom you cannot detach.
  • You might feel intimidated or coerced to stay deeply attached with someone for fear of great harm to yourself or that person if you don't remain so deeply involved.
  • You might be an addicted caretaker, fixer or rescuer who cannot let go of a person, place or thing you believe cannot care for itself.
  • You might be so manipulated by another's con, "helplessness," overdependency or "hooks" that you cannot leave them to solve their own problems.
  • If you do not detach from people, places or things, you could be so busy trying to "control" them that you completely divert your attention from yourself and your own needs.
  • By being "selfless" and "centered" on other people, you are really a controller trying to fix them to meet the image of your ideal for them.
  • Although you will still have feelings for those persons, places and things from which you have become detached, you will have given them the freedom to become what they will be on their own merit, power, control and responsibility.
  • It allows every person, place or thing with which you become involved to feel the sense of personal responsibility to become a unique, independent and autonomous being with no fear of retribution or rebuke if they don't please you by what they become.

What irrational thinking leads to an inability to detach?

  • If you should stop being involved, what will they do without you?
  • They need you and that is enough to justify your continued involvement.
  • What if they commit suicide because of your detachment? You must stay involved to avoid this.
  • You would feel so guilty if anything bad should happen to them after you reduced your involvement with them.
  • They are absolutely dependent on you at this point and to back off now would be a crime.
  • You need them as much as they need you.
  • You can't control yourself because everyday you promise yourself "today is the day" you will detach your feelings but you feel driven to them and their needs.
  • They have so many problems, they need you.
  • Being detached seems so cold and aloof. You can't be that way when you love and care for a person. It's either 100 percent all the way or no way at all.
  • If you should let go of this relationship too soon, the other might change to be like the fantasy or dream you want them to be.
  • How can being detached from them help them? It seems like you should do more to help them.
  • Detachment sounds so final. It sounds so distant and non-reachable. You could never allow yourself to have a relationship where there is so much emotional distance between you and others. It seems so unnatural.
  • You never want anybody in a relationship to be emotionally detached from you so why would you think it a good thing to do for others?
  • The family that plays together stays together. It's all for one and one for all. Never do anything without including the significant others in your life.
  • If one hurts in the system, we all hurt. You do not have a good relationship with others unless you share in their pain, hurt, suffering, problems and troubles.
  • When they are in "trouble," how can you ignore their "pleas" for help? It seems cruel and inhuman.
  • When you see people in trouble, confused and hurting, you must always get involved and try to help them solve the problems.
  • When you meet people who are "helpless," you must step in to give them assistance, advice, support and direction.
  • You should never question the costs, be they material, emotional or physical, when another is in dire need of help.
  • You would rather forgo all the pleasures of this world in order to assist others to be happy and successful.
  • You can never "give too much" when it comes to providing emotional support, comforting and care of those whom you love and cherish.
  • No matter how badly your loved ones hurt and abuse you, you must always be forgiving and continue to extend your hand in help and support.
  • Tough love is a cruel, inhuman and anti-loving philosophy of dealing with the troubled people in our lives and you should instead love them more when they are in trouble since "love" is the answer to all problems.

How to Develop Detachment

In order to become detached from a person, place or thing, you need to:

First: Establish emotional boundaries between you and the person, place or thing with whom you have become overly enmeshed or dependent on.

Second: Take back power over your feelings from persons, places or things which in the past you have given power to affect your emotional well-being.

Third: "Hand over" to your Higher Power the persons, places and things which you would like to see changed but which you cannot change on your own.

Fourth: Make a commitment to your personal recovery and self-health by admitting to yourself and your Higher Power that there is only one person you can change and that is yourself and that for your serenity you need to let go of the "need" to fix, change, rescue or heal other persons, places and things.

Fifth: Recognize that it is "sick" and "unhealthy" to believe that you have the power or control enough to fix, correct, change, heal or rescue another person, place or thing if they do not want to get better nor see a need to change.

Sixth: Recognize that you need to be healthy yourself and be "squeaky clean" and a "role model" of health in order for another to recognize that there is something "wrong" with them that needs changing.

Seventh: Continue to own your feelings as your responsibility and not blame others for the way you feel.

Eighth: Accept personal responsibility for your own unhealthy actions, feelings and thinking and cease looking for the persons, places or things you can blame for your unhealthiness.

Ninth: Accept that addicted fixing, rescuing, enabling are "sick" behaviors and strive to extinguish these behaviors in your relationship to persons, places and things.

Tenth: Accept that many people, places and things in your past and current life are "irrational," "unhealthy" and "toxic" influences in your life, label them honestly for what they truly are, and stop minimizing their negative impact in your life.

Eleventh: Reduce the impact of guilt and other irrational beliefs which impede your ability to develop detachment in your life.

Twelfth: Practice "letting go" of the need to correct, fix or make better the persons, places and things in life over which you have no control or power to change.

Steps in Developing Detachment

Step 1: It is important to first identify those people, places and things in your life from which you would be best to develop emotional detachment in order to retain your personal, physical, emotional and spiritual health. To do this you need to review the following types of toxic relationships and identify in your journal if any of the people, places or things in your life fit any of the following 20 categories.

Types of Toxic Relationships

  • You find it hard to let go of because it is addictive.
  • The other is emotionally unavailable to you.
  • Coercive, threatening, intimidating to you.
  • Punitive or abusive to you.
  • Non-productive and non-reinforcing for you.
  • Smothering you.
  • Other is overly dependent on you.
  • You are overly dependent on the other.
  • Other has the power to impact your feelings about yourself.
  • Relationship in which you are a chronic fixer, rescuer or enabler.
  • Relationship in which your obligation and loyalty won't allow you to let go.
  • Other appears helpless, lost and out of control.
  • Other is self-destructive or suicidal.
  • Other has an addictive disease.
  • Relationship in which you are being manipulated and conned.
  • When guilt is a major motivating factor preventing your letting go and detaching.
  • Relationship in which you have a fantasy or dream that the other will come around and change to be what you want.
  • Relationship in which you and the other are competitive for control.
  • Relationship in which there is no forgiveness or forgetting and all past hurts are still brought up to hurt one another.
  • Relationship in which your needs and wants are ignored.

Step 2: Once you have identified the persons, places and things you have a toxic relationship with, then you need to take each one individually and work through the following steps.

Step 3: Identify the irrational beliefs in the toxic relationship which prevent you from becoming detached. Address these beliefs and replace them with healthy, more rational ones.

Step 4: Identify all of the reasons why you are being hurt and your physical, emotional and spiritual health is being threatened by the relationship.

Step 5: Accept and admit to yourself that the other person, place or thing is "sick," dysfunctional or irrational, and that no matter what you say, do or demand you will not be able to control or change this reality. Accept that there is only one thing you can change in life and that is you. All others are the unchangeables in your life. Change your expectations that things will be better than what they really are. Hand these people, places or things over to your Higher Power and let go of the need to change them.

Step 6: Work out reasons why there is no need to feel guilt over letting go and being emotionally detached from this relationship and free yourself from guilt as you let go of the emotional "hooks" in the relationship.

Step 7: Affirm yourself as being a person who "deserves" healthy, wholesome, health-engendering relationships in your life. You are a good person and deserve healthy relationships, at home, work and in the community.

Step 8: Gain support for yourself as you begin to let go of your emotional enmeshment with these relationships.

Step 9: Continue to call upon your Higher Power for the strength to continue to let go and detach.

Step 10: Continue to give no person, place or thing the power to affect or impact your feelings about yourself.

Step 11: Continue to detach and let go and work at self-recovery and self- healing as this poem implies.

"Letting Go"

  • To "let go" does not mean to stop caring; it means I can't do it for someone else.
  • To "let go" is not to cut myself off; it's the realization I can't control another.
  • To "let go" is not to enable, but to allow learning from natural consequences.
  • To "let go" is to admit powerlessness, which means the outcome is not in my hands.
  • To "let go" is not to try to change or blame another; it's to make the most of myself.
  • To "let go" is not to care for, but to care about.
  • To "let go" is not to fix, but to be supportive.
  • To "let go" is not to judge, but to allow another to be a human being.
  • To "let go" is not to be in the middle arranging all the outcomes, but to allow others to affect their own destinies.
  • To "let go" is not to be protective; it's to permit another to face reality.
  • To "let go" is not to deny, but to accept.
  • To "let go" is not to nag, scold or argue, but instead to search out my own shortcomings and correct them.
  • To "let go" is not to criticize and regulate anybody, but to try to become what I dream I can be.
  • To "let go" is not to adjust everything to my desires, but to take each day as it comes and cherish myself in it.
  • To "let go" is to not regret the past, but to grow and live for the future.
  • To "let go" is to fear less and love myself more.

Step 12: If you still have problems detaching, then return to Step 1 and begin all over again.

Dokkodo

  • Accept everything just the way it is.
  • Do not seek pleasure for its own sake.
  • Do not, under any circumstances, depend on a partial feeling.
  • Think lightly of yourself and deeply of the world.
  • Be detached from desire your whole life long.
  • Do not regret what you have done.
  • Never be jealous.
  • Never let yourself be saddened by a separation.
  • Resentment and complaint are appropriate neither for oneself nor others.
  • Do not let yourself be guided by the feeling of lust or love.
  • In all things have no preferences.
  • Be indifferent to where you live.
  • Do not pursue the taste of good food.
  • Do not hold on to possessions you no longer need.
  • Do not act following customary beliefs.
  • Do not collect weapons or practice with weapons beyond what is useful.
  • Do not fear death.
  • Do not seek to possess either goods or fiefs for your old age.
  • Respect Buddha and the gods without counting on their help.
  • You may abandon your own body but you must preserve your honour.
  • Never stray from the way.

One of the most important philosophical insights in Buddhism comes from what is known as the theory of emptiness. At its heart is the deep recognition that there is a fundamental disparity between the way we perceive the world, including our own experience in it, and the way things actually are.

In our day-to-day experience, we tend to relate to the world and to ourselves as if these entities possessed self-enclosed, definable, discrete and enduring reality. For instance, if we examine our own conception of selfhood, we will find that we tend to believe in the presence of an essential core to our being, which characterises our individuality and identity as a discrete ego, independent of the physical and mental elements that constitute our existence.

The philosophy of emptiness reveals that this is not only a fundamental error but also the basis for attachment, clinging and the development of our numerous prejudices. According to the theory of emptiness, any belief in an objective reality grounded in the assumption of intrinsic, independent existence is simply untenable. All things and events, whether ‘material’, mental or even abstract concepts like time, are devoid of objective, independent existence.

To intrinsically possess such independent existence would imply that all things and events are somehow complete unto themselves and are therefore entirely self-contained. This would mean that nothing has the capacity to interact with or exert influence on any other phenomena. But we know that there is cause and effect – turn a key in a car, the starter motor turns the engine over, spark plugs ignite and fuel begins to burn… Yet in a universe of self-contained, inherently existing things, these events could never occur!

So effectively, the notion of intrinsic existence is incompatible with causation; this is because causation implies contingency and dependence, while anything that inherently existed would be immutable and self-enclosed. In the theory of emptiness, everything is argued as merely being composed of dependently related events; of continuously interacting phenomena with no fixed, immutable essence, which are themselves in dynamic and constantly changing relations. Thus, things and events are 'empty' in that they can never possess any immutable essence, intrinsic reality or absolute ‘being’ that affords independence.

  • Dalai Lama

Interview on Emptiness

By Kyabje Lama Zopa Rinpoche at USA 2005 (Archive # 1489 1511, Last Updated Sep 2, 2012)

This material comes from Ven. Thubten Chödron’s interview with Lama Zopa Rinpoche at Sravasti Abbey January 29, 2005, and also incorporates clarification of a few points during an interview with Rinpoche in Wisconsin, July, 2005. This document has not yet been checked by Rinpoche.

Thubten Chödron: I have a question about emptiness that comes from Geshe Sopa-la’s teaching last summer. A couple of things are confusing to me. One is: In the four point analysis we are supposed to search for the inherently existent I. However, in the syllogism—the I, for example, is not inherently existent because it’s a dependent arising—the I that is the subject of the syllogism is the conventional I, not the inherently existent one. So which I are we searching for? How are we to meditate on this?1

Lama Zopa Rinpoche: We ordinary beings who haven’t realized emptiness don’t see things as similar to illusions. We don’t realize that things are merely labeled by mind and exist by mere name. Generally speaking, we don’t see the mere appearance of the I2 until we become enlightened, because whenever our mind merely imputes something, the next second the negative imprint left on the mental continuum by previous ignorance projects true existence. In the first moment, the I is imputed; in the next it appears back to us as real, as truly existent, as not merely labeled by mind.

Until we achieve enlightenment we have this appearance of true existence. Except for the meditative equipoise on emptiness of an arya, all other consciousnesses of sentient beings have the appearance of true existence. During an arya’s meditative equipoise on emptiness things don’t appear truly existent. It is without the dualistic view (in two senses, first) not only is there no appearance of true existence, but there is no appearance of subject and object. This wisdom mind and its object are inseparable, like water put in water. The arya’s meditative equipoise on emptiness hasn’t completely eliminated the dualistic view from the person’s mindstream forever, but it has absorbed it temporarily. That is how the wisdom meditates on emptiness. It realizes emptiness directly, becoming inseparable from emptiness.

After arising from meditative equipoise on emptiness, everything appears truly existent again, even though the meditator no longer believes that this appearance is true. In this way, the meditator sees things as like an illusion in that they appear one way (truly existent) but exist in another (dependent, merely labeled). These post-meditation times are called subsequent attainment, or rjes-thob in Tibetan. So the appearance of true existence is there until we attain enlightenment. That’s why it is said that every consciousness of sentient beings except an arya’s meditative equipoise on emptiness is a hallucinating mind—everything that appears to it appears truly existent.

So whatever appears and whenever there is the thought “I,” aryas have the appearance of a truly existent I during the time of subsequent attainment. If this is the case for aryas, there is no question that ordinary bodhisattvas on the path of accumulation and the path of preparation, who have not realized emptiness directly3, have a hallucinating mind. Everything that appears to them appears truly existent. Needless to say, whenever we common people, who haven’t realized emptiness, think “I,” we don’t think of a merely labeled I. Generally speaking, when we common people talk about I, it’s the real I, the I existing from its own side. During our conversations every day, we don’t talk about some other I; we’re always thinking and speaking about a truly existent I. That is how we see and think of things. Ordinarily people do not question that appearance. Nor are they aware that they assent to that appearance, grasping it as real and true.

So when we think “I” or point to I, naturally we think it’s truly existent. We don’t have any appearance other than that of true existence. Then we believe that appearance to be the way things actually exist. So when we say “I,” we’re automatically pointing to and thinking about a truly existent I because the merely labeled I is not appearing any more. But the I that appears to us is false; it doesn’t truly exist. When we meditate on emptiness, we drop an atom bomb on this truly existent I. The atom bomb is the reason of dependent arising—the I is not truly existent because it is a dependent arising. It’s not true. What appears true, what appears to exist from its own side, isn’t true. Thus it is empty of true existence.

But its being empty doesn’t mean the I doesn’t exist. The real I, the truly existent I, the I that exists by its own nature, the I that exists from its own side, is not true. It doesn’t exist. However, the conventional I, the I that exists by being merely labeled, the I that is a dependent arising, that I exists.

In the Heart Sutra, Avalokiteshvara says no form, no feeling, and so on. This is like throwing an atom bomb on the appearance of truly existent things. That appearance is not true. Those truly existent things that appear to us do not exist. Then what comes in our heart is that they’re empty. It’s not that they don’t exist. They exist, but they’re empty. Why? Because they’re dependent arisings. Because they are dependent arisings, they are empty of true existence; because they are dependent arisings, they exist (conventionally). Use the reason “It’s not true because it’s a dependent arising.” Do analytical meditation to search for the I, then do stabilizing meditation when you see its emptiness.

For us ordinary beings, whatever we contact, talk about, or think about—everything—appears truly existent and we believe in that appearance. We grasp things as truly existent. However, when you realize the emptiness of the I or any other phenomenon and train your mind in that realization, you see that this phenomenon is merely labeled by mind. Even though true existence still appears to you, you don’t assent to that appearance; you don’t believe that phenomena truly exist. You know they exist by being merely labeled by mind, even though they appear truly existent. You have discovered that they’re not true, that they exist in mere name.

Someone whose mind has realized emptiness in the meditation session sees things as like an illusion in the subsequent attainment time. He knows they exist by being merely labeled by mind. So even though that meditator has the realization that everything is a dependent arising and is merely labeled by mind dependent on the base, he still has the appearance of true existence. But now he points at that and say to himself, “This appearance isn’t true because it’s a dependent arising.” There is nothing contradictory in this—things are both empty and arise dependently.

Because this meditator has realized the emptiness of I, he has also realized that the I exists by mere name and is merely imputed by mind in dependence on the aggregates—this is the Prasangika view. The I is there. It exists, but you don’t grasp it as truly existent, even though it still appears to be. For example, let’s say you see a mirage and have the vision that water is there. But since you just came from that place, you know that only sand is there, so you don’t believe that it’s water. You think, “That water is not true. It doesn’t exist as it appears because there’s no water there. There’s the appearance of water—that appearance of water exists. But there is no water.” Many things are like that. Once when I was in Italy I saw a lady in a store but she turned out to be a mannequin. Then there was another figure that I thought was a mannequin but it was a lady. So this is similar: the appearance is false, it appears one way but exists in another.

TC: In the texts, it says that we don’t realize that things are merely labeled by mind until after we realize emptiness. So how can we use the reason that things are merely labeled by mind as a proof that things are empty if we can’t realize that they’re merely labeled by mind until after we’ve realized emptiness?

LZR: It’s like this. There’s no contradiction. Being merely labeled by mind indicates how things come into existence. At this moment, this is not something you know through analytical meditation, not something you know by realizing emptiness.

Usually in the philosophical teachings, it says that whatever appears appears truly existent. That’s what normally happens due to the hallucinating mind. The only time true existence doesn’t appear to sentient beings is during the meditative equipoise on emptiness of an arya.

But in Pabongka’s text it says there is mere appearance of the object for a brief moment. Through analysis you can get the idea. For example, when you see a drum, analyze it at the same time. Be aware that your mind is labeling “drum” by seeing that base. Be aware at the same time as you’re labeling. Analyze: to be able to label drum you have to see a specific phenomenon. Even though the table is round like a drum, you won’t label “drum” on the base you label “table.” It has to be a specific base that performs the function of making sound and that has material to produce sound when hit. You have to see that base first. Then because of the function it performs—what it’s used for—the mind merely labels drum. Seeing that base—its shape, color, etc.—and knowing it has that function become the reason to label “drum.”

When you are aware and analyze at the same time as the labeling process is occurring—that is, you’re analyzing while you’re labeling drum—then, at that time, at the beginning there is a mere appearance.

If you’re aware of the brief instant the mind initially sees that base, the instant you’re starting to label drum, there is a mere appearance. When you’re aware the instant you begin to label drum, you’ll be aware that there’s no real drum existing from its own side. You’ll be aware that drum is merely imputed by seeing that base—that which performs the function of making sound when struck. At that moment, there’s just the mere appearance of a drum.

That awareness of the mere appearance of a drum lasts a very short second. It doesn’t last because you don’t continue that awareness or mindfulness and because you don’t yet have the realization that it exists in mere name, merely labeled by mind. And because the negative imprint left by the past ignorance is there, it projects a truly existent appearance on the drum and you see a real drum that exists from its own side. That’s the gag-cha, the object of negation.

I told Chöden Rinpoche that I agree with what Pabongka said. Why? For example, let’s say you have a child and you want to give it a name. While you’re thinking of the name—the minute you decide “George” or “Chödron,” for example—you don’t see George or Chödron right in that second while you’re labeling. If you’re aware that you’re labeling, at that instant you don’t immediately see George or Chödron as totally existent from their own side. So I agree with what Pabongka said—that this mere appearance is very short, just a brief moment. Here we’re talking about actual reality; that’s actually how things come into existence, merely labeled by mind.

However, since you don’t continue that awareness or you lack realization, in the next moment you see the object of negation that was projected by the imprint of ignorance. George or Chödron appear as if existing from their own side.

Except for the arya in meditative equipoise on emptiness, everything that appears to us sentient beings appears to be truly existent. At this time, the appearance of true existence is temporarily absorbed. Only emptiness appears; it doesn’t appear truly existent to this direct perceiver. This is what is usually said in the texts.

Also, it is normally said that as soon as you label something, it appears back to you as truly existent and you believe it exists in the way it appears to you. For example, suppose you are a parent with a new child and it’s time to give it a name. The thought “Döndrub” comes in your mind and you label “Döndrub.” Of course, the correct way would be for Döndrub to appear merely labeled by mind. However, due to the negative imprint or predisposition [Skt: vasana; Tib: bag-chag] left by past ignorance on your mind, the moment after you label the child “Döndrub,” Döndrub appears back to you as not merely labeled by mind but as existing from its own side.

But Pabongka says—and I think I agree with him—that doesn’t need to happen all the time. I think that sometimes if you’re analyzing and watching closely, there is a brief moment when the mere object appears without the appearance of true existence. Sometimes in the moment after the mind labels “Döndrub” there’s not the appearance of a real (i.e., inherently existent) Döndrub. Instead there is Döndrub but not real in the sense of existing from its own side. There’s the appearance of mere Döndrub, for a very short time. Then, due to the imprint of the ignorance that grasps at inherent existence, the mind goes into hallucination, believing that Döndrub exists from his own side, not merely labeled by mind.

This is a unique explanation. It’s not common and comes due to personal experience. I think I agree with what Pabongka said about this. I showed the text to Chöden Rinpoche and consulted him about it. I said I didn’t think that it would immediately appear truly existent. You need to watch your perception when you’re labeling. You usually don’t notice because the mind is not aware. Probably mere Döndrub appears for a split second and then real Döndrub appears. There is an evolutionary process: mere Döndrub; then Döndrub existing from its own side—a real Döndrub appearing more and more, that appearance becoming stronger and stronger.

Check with your own experience, especially when you’re labeling something for the very first time. I think you will understand this if you examine your mind when it’s happening.

For something to exist there must not only be the mind conceiving it and the label but also a valid base. You can’t just make up a label and think that therefore the object exists and functions according to the label you gave it. For example, let’s say before they have a baby a couple decides to name it “Tashi.” At that time, there are no aggregates—no body and mind. Remember the lam-rim story about the man who got excited and labeled a child he dreamed of having in the future “Dawa Dragpa”? It’s similar here, where the couple thinks of the name “Tashi.” At that time Tashi doesn’t exist. Why? Because there’s no base. Whether Tashi exists or not mainly depends on the existence of the aggregates, the existence of the base of the label. It depends on whether there is a valid base4. In this case, since a valid base which could be labeled “Tashi” doesn’t yet exist, Tashi doesn’t exist at that time.

In another scenario, let’s say a baby is born—so the mental and physical aggregates are present—but the name “Tashi” hasn’t been given yet. So at that time, Tashi also doesn’t exist because the parents haven’t labeled “Tashi.” They could label “Peter.” They could label anything. So even though the aggregates are there at that time, Tashi doesn’t exist because the parents haven’t named the child. When does Tashi come into existence? It’s only when there is a valid base. When a valid base is present, then the mind sees that base and makes up the name “Tashi.” After making up the name and labeling it in dependence on the aggregates, then we believe Tashi is there.

Therefore, what Tashi is is nothing. Nothing. Tashi is nothing other than what is merely imputed by mind. That’s all. There’s not the slightest Tashi that exists other than what is merely labeled by mind.

The Tashi or the I appearing to you that you believe is something even slightly more than what is merely labeled by mind is a hallucination. That is the object of negation. Anything that is slightly more than what is merely labeled by mind doesn’t exist at all. It is the object of negation. Therefore what Tashi is in reality is extremely subtle. What Tashi really is is not what you’ve believed up to now. The Tashi you believed existed for so many years is a total hallucination. There’s no such thing. It doesn’t exist. The Tashi that does exist is what is merely labeled by mind. Nothing other than that. So what Tashi is is extremely fine, unbelievably subtle. The borderline of Tashi existing or not existing is extremely subtle. It’s not that Tashi doesn’t exist. Tashi exists but it’s like Tashi doesn’t exist. When you examine, you discover that it’s not that things don’t exist. They exist. There are the aggregates. Then the mind sees those aggregates and makes up the label “Tashi.” Tashi exists by being merely imputed. This is how all phenomena exist and function, including the hells, karma, all the sufferings of samsara, the path, and enlightenment—everything. All phenomena exist by being merely labeled, as in the example of Tashi.

The I is similar. What the I is is extremely subtle. The borderline between its existing and not existing is extremely subtle. Compared to how you previously believed things exist, it’s like it doesn’t exist. But it’s not totally non-existent. The I exists but how it exists is unbelievably subtle.

Because the conventional I is subtle, gaining the correct view is difficult. Thus before Lama Tsongkhapa there were many great meditators in Tibet who fell into the extreme of nihilism, thinking that nothing existed at all. It’s difficult to realize the view of the Middle View devoid of eternalism—grasping at true existence—and nihilism—believing that the I doesn’t exist at all. The Middle Way view is free from holding things to exist from their own side and holding that they don’t exist at all. As with the example of Tashi, things are empty of true existence—they do not exist without being merely labeled in dependence on a valid base—but they are not non-existent. They exist ever so subtly, almost as if they didn’t exist. But you can’t say they don’t exist. There’s a big difference between the I that exists by being merely labeled in dependence on a base and a rabbit’s horn. Similarly, there’s a big difference between this nominally, or conventionally, existent I and an inherently existent I.

While the I and all phenomena are empty of existing from their own side, at the same time the I and all phenomena exist. They exist in mere name, merely imputed by mind. The I is the unification of emptiness and dependent arising. It is empty of inherent existence and arises dependently. This point is unique to the Prasangika Madhyamikas. Svatantrika Madhyamikas can’t put these two together. When they think that something is merely labeled by mind they think it doesn’t exist and thus fall into nihilism. Although Svatantrikas don’t accept true existence (den-par drub-pa), they do believe that things exist inherently (rang-zhin gyi drub-pa), by their own characteristics (rang-gi tshän-nyi kyi drub-pa), from their own side (rang-ngös-nä drub-pa). It means there’s something on the aggregates, something on the base that can be found under analysis.

The term “true existence” has different meanings for the Svatantrikas and the Prasangikas. If you don’t understand that, then studying their tenets becomes very confusing. Although tenet systems may use the same word, they often give it different meanings, so being aware of this is very important in order to gain the correct understanding. For Svatantrika Madhyamikas, “true existence” means existing without being labeled by the force of appearing to a non-defective awareness. If something exists without being labeled by the force of appearing to a non-defective awareness, then according to the Svatantrikas it is truly, or ultimately, existent. For them, it has to appear to a valid mind and that valid mind has to label it for it to exist.

So for Svatantrikas something exists from the side of the object. While they say that things are labeled by mind, they don’t accept that they are merely labeled by mind. They don’t accept that things are merely labeled because they believe that the I, for example, is there on the aggregates. In other words, they believe you can find the I on the aggregates. If you believe that the I is on the aggregates, then it means the I is findable on the aggregates. For example, if there is a cow on the mountain you’ll be able to find a cow on the mountain. Since there is something in the aggregates that is the I, it should be findable under analysis. This is their philosophy. You can find the I on the aggregates, so while they think the I doesn’t exist truly, it does exist inherently; it exists from its own side.

This is the big difference between Prasangikas and Svatantrikas. Svatantrikas believe the correct view is that you can find the I on the aggregates. Therefore they say it exists from its own side; that it exists by its own nature. According to Prasangika philosophy this is totally wrong; what the Svatantrikas believe exists is in fact a total hallucination. Prasangikas believe this not just because their philosophy says so but because if you actually meditate and search for an inherently existent I, you can’t find it. In other words, this is not intellectual wrangling but what you actually discover when you analyze and investigate how things exist. Therefore, the Prasangika view is the ultimate view.

Not only can’t you find a truly existent I on the aggregates; you can’t find a merely labeled I on the aggregates either. Many people seem to say that the merely labeled I is on the aggregates but that there is no truly existent I. This is an interesting point. If the merely labeled I is on the aggregates, then where is it? This becomes a huge question. Where is it? For example, if we say there is a merely labeled table on this base—four legs and a flat top—then where is it? Is the merely labeled table on top or on the right side or on the left side? If we say a merely labeled table is on this base we should be able to find it. Where is it? It becomes very difficult to say exactly where.

Do you remember last summer when Geshe Sopa Rinpoche was teaching I asked where on the base the merely labeled table is? I think it would have to cover the whole base. The merely labeled table would have to cover the entire base, every atom of it, or it would have to exist on one side or the other. We can’t find it on one side or the other, in one part or another, so the merely labeled table must cover the entire base, every atom of it. Then it becomes very interesting. Then if you cut it in half you should have two merely labeled tables. But if we break a table into pieces we see only pieces, and there should be a merely labeled table on every piece. Take a little piece and it would be a merely labeled table because table exists on the whole object. So that is totally absurd! Many faults arise.

I find it much clearer to say that there’s not even a merely labeled table on the base. Geshe Sopa Rinpoche debated with me. At that time I think we were talking about the person, so I said a merely labeled person is in this room, on this seat, but it’s not on the aggregates. It’s much simpler, much easier, to say this. I don’t see any confusion in it. The person is on the bed but not on the aggregates. Why is the person on the bed? Because the aggregates are there. But the person is not on the aggregates, because if it were, it should be findable when we search for it.

If you don’t debate and just say, “The merely labeled aggregates are on the aggregates,” it seems OK. But if you analyze and debate, it becomes difficult to believe that5.

True, or inherent, existence is the gag-cha, the object of negation. It appears and we grasp it as true. That is, we believe the label exists on the base. Because of our deep habit of believing this, when phenomena appear to us, they appear to exist from the side of their base—from there on the base, appearing from there. But in fact, when you come in the room, you see this phenomenon with legs and a seat that you can sit on. Before seeing it, you don’t label “chair.” Why not? Because there’s no reason for your mind to label “chair.” There’s no reason at all. The label “chair” doesn’t come first. First you have to see the base. Your mind sees that and immediately brings up the label. Initially we learned the label from others; when we were children they introduced us to it, saying, “This is a chair.” So much of what we call education in childhood involves learning labels. Whether we study Dharma at a monastery or another subject at secular school, we’re learning labels. Whenever we have a conversation we’re talking about labels. Studying science or any other topic is the study of labels, learning labels that we weren’t previously aware of. This is the same when we learn Dharma and everything else.

First you see the base; the next moment your mind gives it a label. The same mind sees this base and then generates the label. The mind merely imputes the label “chair.” It makes up the label “chair” and then believes in that. In fact, nothing is going onto the object; there’s nothing concrete going there and sticking on the object. Rather, the mind imputes and then believes the object is that label. The difficulty and the wrong view begin just when the label has been imputed; we look and the object appears from there. There seems to be the object there, existing from its own side, not something that was merely labeled by mind, but something that is the object there on the base.

That is the object of negation. It appears as a real chair or person or table, not one that exists by being merely labeled. The reality is that your mind merely imputed “chair” just now by seeing the base. It’s the same with the table: in the next moment, it appears as a real table from the side of the base, not as something that became a table dependent upon your mind making up the label “table.”

Before seeing the base, you didn’t label “table” and no table was there. First you see the base—something with legs that you can put things on—then, upon seeing it, your mind imputes table. In less than a finger snap, your mind imputes table, generates the label “table” because as a child you were taught that name, “This is a table.” You know the label, so by seeing the base, your mind imputes the label table. Then you believe that. But the next moment, when you’re not aware, because of the imprint of past ignorance, the mind projects the hallucination of a real table.

For example, bile disease can make you see a white snow mountain as yellow; wind disease can make you see it as blue. If you look through colored glasses, a white snow mountain will appear to be the color of the glass. It’s a little bit like that. The imprint of ignorance makes us see the label on the base. What we see, in fact, is a labeled object as existing from the side of the base, as coming from the base. Precisely this is the object of negation; this is what doesn’t exist at all.

Anything appearing from there, from the side of the base (i.e., from its own side), anything coming from there is the object of negation. It’s a hallucination. Actually, the table is coming from your mind—your mind makes it up and believes it, but because you’re not aware of that, in the very next moment the table appears to exist from the side of the base. That’s the object of negation.

All objects of the senses—visual, auditory, olfactory, gustatory, and tangible—as well as the objects of the mental sense power—in sum, all phenomena that appear to the six senses, are the object of negation. They’re all hallucinations. The entire world, even the Dharma path, hell, god realm, positive and negative karma, and enlightenment, were made up by your own mind. Your mind projected the hallucination of things existing from their own side.

This hallucination of inherent existence is the foundation. Then, on top of that, you pay attention to certain attributes and label “wonderful,” “horrible,” or “nothing much.” When you think, “He’s awful” and get angry, you label the person an enemy. Not aware that you created the enemy, you believe there is a truly existent one out there and project all sorts of other notions on him. You justify your actions, thinking they are positive, when in fact you created the enemy. In fact, there’s no real enemy there. There’s not the slightest atom of an enemy existing; not even a tiny particle of true existence. Simply by hallucinating that an action is harmful or bad, anger arises and you label the person who did it “enemy.” You label “harmful” or “bad,” anger arises, and you’re your mind projects “enemy.” Even though that enemy appears real, there’s no enemy there.

It’s the same with an object of attachment. By reasoning that a person is intelligent or by projecting beauty on the body, then attachment arises and you project “friend,” but friend doesn’t exist because it’s built on the foundation of seeing a truly existent person, which does not exist. The special insight section of the Lam-rim Chen-mo describes this process. I think this is extremely important psychology. Through such analysis, we can see that anger and attachment are very gross superstitions. We understand the process by which ignorance causes us suffering.

First there is ignorance. From it, attachment and anger arise. Understanding this is very important; it is the best psychology. When we realize that what anger and attachment believe does not exist, our mind can be at peace.

The hallucinated appearance (nang-ba), the appearance of true existence, exists. But the truly existent table doesn’t exist. We have to identify the appearance of a truly existent table; it exists. If the appearance of true existence didn’t exist, then there wouldn’t be an object of negation. The object of negation is the object of that appearance.

For example, when you take drugs, you may have the appearance of many colors in the sky. That appearance is there. But are there many colors in the sky? No, there aren’t. What you want to realize is that there are no colors in the sky, because when you do, you will stop arguing with your friend about what shade they are, in which direction they are moving, and so forth. If there were no false appearances, then whatever appeared to our mind would be correct and true, which would mean that we would already be Buddha. [Is this what Rinpoche meant?]

One way to meditate is to start with your head. That’s one name that the mind made up. But when we search this object we can’t find a head on it. We see eyes, ears, hair, and so forth, but not a head. Head is merely imputed by mind in dependence on the base and then we believe in that. Then search for the eye and the ear. You can’t find them either. You cannot find ear in any part of the ear. By depending on this base, mind just made up this label merely imputed ear and believed in that. What appears as ear from the side of the base is the object of negation; it’s a hallucination.

Then if you mentally break the ear into pieces—lobe and so forth—these parts are also merely labeled. Then mentally break the parts of the ear into cells. These, too, are merely labeled. Then look at the atoms. They too don’t exist from their own side but are merely labeled. As we look at smaller and smaller parts of a thing all we see are more labels. Even atoms: why are there atoms? There’s no other reason other than because there are the parts of the atom. By depending on them as the base, your mind labels “atom.” These parts are merely imputed in dependence on other smaller parts. From the body, to the limbs, to the cells, to the atoms, there is just another label, another label, another label.

So the reality is that all these phenomena exist in mere name (tags-yöd-tsam); they exist by being merely labeled; they exist nominally; they exist in mere name. Everything is merely labeled by mind, everything exists in mere name. The I exists by merely being labeled. Consciousness also exists dependent upon its parts. We search this life’s consciousness, today’s consciousness, this hour’s consciousness, this minute’s consciousness, this second’s consciousness, this split-second’s consciousness—each one has so many parts. There’s another label, another label, another label. So every thing, even the mind, exists in mere name. All phenomena, starting from the I and going down to the atoms, parts of atoms, split-seconds—none of them exist from its own side. Therefore everything is totally empty. Totally empty.

That doesn’t mean they don’t exist. They exist, but they exist in mere name, merely labeled by mind. So the way they exist is the unity of emptiness and dependent arising.

It’s good to do this meditation when you’re walking, talking, or engaged in other activities. There so many piles of labels to investigate. All these exist in mere name, merely imputed by mind. The feet doing the function moving forward one after another is merely labeled “walking.” The mouth moving making communicable sounds is merely labeled as “talking.” Writing, teaching, working are similar. This is excellent mindfulness meditation to do when you’re walking, eating, writing, and so forth. While you write, be aware that writing exists in mere name; it’s merely imputed by mind. Therefore the action of writing is empty. When you’re conversing with someone, teaching, working, playing—these are good opportunities to do this mindfulness meditation.

Until now we believed that things exist in the way they appear to us—out there on the base, real from the side of the base. Our mind is habituated with seeing this as true and believing it is true. When you start to analyze, you find and discover that how things exist is actually unbelievably subtle. What the I or any other phenomenon is is unbelievably subtle. It’s not that they don’t exist, but they’re so subtle that it’s almost as if they didn’t exist.

When we get an inkling of this unbelievably subtle way that things exist, fear may arise in our mind because it has been habituated to believe that what appears real is real, that it exists from its own side. Our mind has been living with that concept our whole life, and not only this life but from beginningless rebirths. Our mind believes that if it exists, it has to be truly existent; it has to exist from its own side. That which exists in mere name, that which exists merely labeled by mind and is empty of existing from its own side—these phenomena we think don’t exist. What in fact exists is for the deluded mind what doesn’t exist. So what doesn’t exist—a real table, real chair, real me—we believe all these exist. On the basis of believing this, other delusions arise. In this way samsara comes about. Our whole life and from beginningless lives we have believed that everything inherently exists. So when we discover that everything we believe in is totally false, it is terrifying. Discovering that everything in which we have believed is a hallucination is shocking6.

TC: You spoke about labeling on a valid base. To me, that seems to be a Svatantrika viewpoint. It sounds as if “valid base” means there is something from the side of the object that merits its being given that particular label. Gen Lam-rimpa brought that up in his book, Realizing Emptiness, and said that especially the first time we give a name to an object, if we say it’s labeled in dependence on a valid base, it sounds as if there is something inherently existent from the object that makes it worthy of that label. In that case, it would be inherently existent.

LZR: What is labeled exists. It has a valid base. Otherwise, if a valid base weren’t required, then when you dreamed about getting a billion dollars or dreamed about getting married, having ten children, all the children growing up and some of them dying, all those things would exist. But when you wake up you see that none of this happened. It doesn’t exist. Why? The mere labeling was there, but those objects don’t exist because there were no valid bases for those labels.

You have to distinguish the two kinds of merely labeled: 1) the merely labeled where there’s no valid base, such as things in dream, and 2) the merely labeled that relates to a valid base, such as this table. Both are merely labeled, but one does not exist. The one that exists is the one that has a valid base.

The valid base is, of course, also merely imputed by mind. What’s called “valid base” is also merely imputed by mind. It also comes from the mind.

For example, the I is merely labeled by mind. The base in dependence upon which we label “I” is the aggregates, and each of the aggregates is, in turn, merely labeled by mind dependent upon the collection of its parts—the body is labeled in dependence on the collection of physical parts; the mind is labeled in dependence on different parts, such as the collection of moments of consciousness. It goes on and on, each part being merely labeled in dependence upon its parts. Even atoms and split seconds of consciousness exist by being merely labeled.

Everything that appears truly existent—even atoms that appear real from their own side—is totally non-existent. All of these are totally non-existent—from the I to the aggregates down to the atoms. All of these are totally empty. But while they are totally empty, they exist in mere name. They are the union of dependent arising and emptiness.

This meditation is very good: starting from the I, to the body, to the organs, the limbs and other parts of the body down to the atoms—everything that appears truly existent is a hallucination, is totally non-existent. From the I to the mind to the various types of consciousness to the split seconds of consciousness—everything that appears to be real from its own side is a hallucination and is thus totally non-existent. All of these are empty. Concentrate for as long as possible on the fact that everything is empty. This is an excellent meditation to do.

While they are empty, all of them exist in mere name; you don’t need to worry about that. They are empty and exist in mere name—this is the union of emptiness and dependent arising. While it’s empty, it exists; while it exists, it’s empty. Whether you are sitting or walking, do this meditation that everything is empty, from the I down to the atoms. Investigate one by one; they are all empty. While they are empty, they exist in mere name; they exist by being merely labeled. Contemplating in this way even while you’re walking is very good. You can do this meditation while sitting, walking, or whatever.

The following might depend on the individual person’s level of realization of emptiness, but normally when you think, for example, “The I is merely imputed in dependence on a valid base, the collection of the five aggregates,” at that time you don’t see the aggregates as merely imputed. Even when you say “I is merely imputed in relation to the aggregates, even without using the word “valid base,” the aggregates appear existing from their own side. But when you analyze the aggregates you see they are empty. Before, when you think, “The I is merely labeled dependent upon the aggregates” you may see the I is empty while the aggregates still appear to exist from their own side. But when you think, “The aggregates are merely labeled in relation to their parts,” then how the aggregates appear to you is different. They don’t appear truly existent; they don’t appear truly existent. When we meditate that something is empty or merely labeled, at that time its base appears truly existent. Until we achieve enlightenment, the base will appear truly existent in post-meditation time. But when you take what was the base and analyze it you see that it exists by being merely imputed in dependence on its base and thus is empty. On and on, nowhere do you find anything that is truly existent.

If you have realized emptiness of the aggregates, for example, when you come out of meditative equipoise on emptiness, in the time of subsequent attainment, there will still be the appearance of the aggregates existing form their own side. This doesn’t mean you hold them as true. Instead, you recognize that they are empty, that that appearance is false. You look at them as you would the water of a mirage. There is the appearance of water but you know there is no water there. Similarly, if you recognize you are dreaming, you have the appearance of many things but you know they are not real. It’s similar here; there’s the appearance of the aggregates existing from their own side but you realize that appearance is not true. It’s empty. But without realization that the aggregates are empty, the feeling of the aggregates existing from their own side is stronger. But the valid base of the I—the aggregates—also exists by name, by being merely imputed by mind.

TC: So something is not an inherently valid base. Its being a valid base is merely labeled.

LZR: When you’re focusing on “I is merely labeled on the aggregates,” there appear to be truly existent aggregates but the next minute, when you see the aggregates are merely imputed on their bases, the aggregates don’t appear truly existent, though their bases may. There’s no problem with that. That’s an expression of our mind at the moment. It’s a hallucination; it doesn’t mean that things exist from their own side. The base isn’t truly existent.

TC: Regarding functioning things, if we meditate that they are dependent on causes and conditions—just that level of dependent arising—is that sufficient to realize emptiness? Or is it only one step and a deeper understanding of dependent arising is necessary?

LZR: Meditating that things depend on causes and conditions helps to realize emptiness, but it’s not the most subtle dependent arising. It is gross dependent arising. You will understand that things are empty of being independent of causes and conditions and that helps to realize emptiness, but it is not subtle dependent arising.

The extremely subtle one is this: because there is a valid base, when the mind sees that valid base, it merely imputes, simply makes up the label this and that. What exists is just simply that, nothing else. There’s nothing more real there, nothing extra than what is merely imputed by mind by seeing that valid base. Whether a phenomenon exists depends upon whether there is a valid base for that or not. The reason it exists is because a valid base exists and the mind merely imputes this or that in dependence upon that base. This is subtle dependent arising according to the Prasangika system.

TC: So in order to realize emptiness, we have to realize a deeper level of dependent arising than things being dependent on causes and conditions. But I’ve heard it said that we can’t realize subtle dependent arising—that things depend on concept and label—until after we’ve realized emptiness. So meditating on which form of dependent arising gets us to understand emptiness? For example, we should meditate that the I is empty of inherent existence because it’s a dependent arising. But if we can’t realize that the I is a dependent arising in terms of its being dependent on name and concept until after realizing emptiness, how can we realize emptiness?

LZR: It’s like this example. We talk about generation stage and completion stage. You can meditate and get the idea but it doesn’t mean you have the actual experience. So it’s similar. You may not have the actual realization of the Prasangika view of dependent arising but you get some idea. For example, you don’t have the actual experience of completion stage but by going through the words you have some idea of how to practice. That idea helps. By developing it, later on you actually have the experience. It’s similar.

TC: But if it’s only an idea and not the realization of subtle dependent arising, then how is that sufficient as a reason to enable you to realize emptiness?

LZR: That is because dependent arising and true existence are totally opposite to each other. They are contradictory. So when you think about dependent arising even intellectually, it helps. Even though it’s just an intellectual understanding now, it helps you to see that phenomena are not true, that they are not truly existent.

In the Three Principal Aspects of the Path, Je Rinpoche said,

Without the wisdom realizing emptiness,
You cannot cut the root of existence.
Therefore, strive to realize dependent arising.

It’s important to realize emptiness; without that you can’t be free from samsara. In order to realize emptiness, you must put effort into realizing dependent arising.

Different lamas have different views about what “realize dependent arising” means in this context. Kyabje Denma Lochö Rinpoche emphasized that the meaning of “realize dependent arising” is to realize emptiness. In order to do this you must realize dependent arising according to the Prasangika view. This is subtle dependent arising—dependent on concept and label. Geshe Lam-rimpa, who gave so many teachings in Tibet and passed away there, also said that “dependent arising” means emptiness, and that means subtle dependent arising.

But when I received the oral transmission of the text from Chöden Rinpoche in Mongolia, he said that here “dependent arising” meant dependent on causes and conditions, the gross dependent arising. Kyabje Trijang Rinpoche said that Pabongka explained it similarly. So that makes it easier: understanding gross dependent arising helps to realize emptiness. If you analyze in this way, even if you don’t realize it, having a correct intellectual understanding helps you to understand that it’s not independent. This, in turn, will lead you to realize the subtle view of Prasangika, how the sprout exists—that it is empty of inherent existence but exists by being merely labeled, dependent on name and concept.

First gain a correct intellectual understanding by listening. Then familiarize your mind in that; meditate on it until you actually experience it, until you have the realization and actually see things that way. Intellectual understanding is like a map. Somebody tells you, “Do this, you’ll see this.” But you have to actually go there to have the experience. You can have an intellectual idea of what Lhasa looks like, but when you actually go there, that’s experience. It’s similar here.

I think your question —the sprout is not truly existent because it is dependent arising—is connected with this. What level of dependent arising is meant in the syllogism? The sprout is the subject. You haven’t yet understood that it is not truly existent, so that is what is to be proven or understood. “Because it is dependent arising” is the reason to prove that it’s not truly existent. For the person hearing this, understanding the sprout is a dependent arising helps her realize that the sprout is not truly existent. This reasoning here and what is said in the Three Principal Aspects of the Path is the same. There is no means to realize emptiness other than by developing the view of the Prasangika school.

You can have an intellectual understanding of emptiness by using the reason of dependent arising, when dependent arising means relying on causes and conditions. This is the preliminary to the actual realization of subtle dependent arising. With the support of the collection of merit, strong guru devotion, imprints of the correct view put on your mind stream from hearing teachings and thinking about them in the past, this intellectual understanding will act as a cause to realize the extremely subtle dependent arising of the Prasangika view school. This is something to think about. This may be a way of harmonizing the two views above. Words and belief can create hell; they can lead to nirvana.

Thank you for your question.

Notes

  1. This question is related to, but not the same as, the issue of identifying the object of negation presented in Dreyfus, Georges. The Sound of Two Hands Clapping. Berkeley; University of California Press, 2003, pp. 284–6.[return to text]

  2. This is the conventional I, the I that exists.[return to text]

  3. This is referring to the bodhisattvas on these first two paths who initially entered the bodhisattva vehicle.[return to text]

  4. See Lam-rimpa, Gen. Realizing Emptiness. Ithaca NY; Snow Lion, 1999, pp. 91–2.[return to text]

  5. Notice that “the I is merely labeled in dependence on the aggregates” has a different meaning from “the I is merely labeled on the aggregates.” “In dependence on the aggregates” means there is a dependent relationship between the I and the aggregates; in relationship to the aggregates, the I was labeled. It doesn’t imply that the I is findable among the aggregates. However, saying “on the aggregates” implies that the person is there, somewhere on or in the aggregates; that the person is findable under analysis.

Here Rinpoche is also showing the difference between ultimate existence (the object of negation) and conventional existence (how things exist). While a conventionally existent person is on the seat or in the room, an ultimately existent person is not on the aggregates.[return to text]

  1. This is why refuge, devotion to our spiritual mentor, and the accumulation of positive potential (merit) are so essential. They enrich the mind and enable it to sustain this realization and transcend any fear that may arise.[return to text]

Emptiness

by Thanissaro Bhikkhu © 1997–2012

Emptiness is a mode of perception, a way of looking at experience. It adds nothing to and takes nothing away from the raw data of physical and mental events. You look at events in the mind and the senses with no thought of whether there's anything lying behind them.

This mode is called emptiness because it's empty of the presuppositions we usually add to experience to make sense of it: the stories and world-views we fashion to explain who we are and the world we live in. Although these stories and views have their uses, the Buddha found that some of the more abstract questions they raise — of our true identity and the reality of the world outside — pull attention away from a direct experience of how events influence one another in the immediate present. Thus they get in the way when we try to understand and solve the problem of suffering.

Say for instance, that you're meditating, and a feeling of anger toward your mother appears. Immediately, the mind's reaction is to identify the anger as "my" anger, or to say that "I'm" angry. It then elaborates on the feeling, either working it into the story of your relationship to your mother, or to your general views about when and where anger toward one's mother can be justified. The problem with all this, from the Buddha's perspective, is that these stories and views entail a lot of suffering. The more you get involved in them, the more you get distracted from seeing the actual cause of the suffering: the labels of "I" and "mine" that set the whole process in motion. As a result, you can't find the way to unravel that cause and bring the suffering to an end.

If, however, you can adopt the emptiness mode — by not acting on or reacting to the anger, but simply watching it as a series of events, in and of themselves — you can see that the anger is empty of anything worth identifying with or possessing. As you master the emptiness mode more consistently, you see that this truth holds not only for such gross emotions as anger, but also for even the most subtle events in the realm of experience. This is the sense in which all things are empty. When you see this, you realize that labels of "I" and "mine" are inappropriate, unnecessary, and cause nothing but stress and pain. You can then drop them. When you drop them totally, you discover a mode of experience that lies deeper still, one that's totally free.

To master the emptiness mode of perception requires training in firm virtue, concentration, and discernment. Without this training, the mind tends to stay in the mode that keeps creating stories and world views. And from the perspective of that mode, the teaching of emptiness sounds simply like another story or world view with new ground rules. In terms of the story of your relationship with your mother, it seems to be saying that there's really no mother, no you. In terms of your views about the world, it seems to be saying either that the world doesn't really exist, or else that emptiness is the great undifferentiated ground of being from which we all came to which someday we'll all return.

These interpretations not only miss the meaning of emptiness but also keep the mind from getting into the proper mode. If the world and the people in the story of your life don't really exist, then all the actions and reactions in that story seem like a mathematics of zeros, and you wonder why there's any point in practicing virtue at all. If, on the other hand, you see emptiness as the ground of being to which we're all going to return, then what need is there to train the mind in concentration and discernment, since we're all going to get there anyway? And even if we need training to get back to our ground of being, what's to keep us from coming out of it and suffering all over again? So in all these scenarios, the whole idea of training the mind seems futile and pointless. By focusing on the question of whether or not there really is something behind experience, they entangle the mind in issues that keep it from getting into the present mode.

Now, stories and world views do serve a purpose. The Buddha employed them when teaching people, but he never used the word emptiness when speaking in these modes. He recounted the stories of people's lives to show how suffering comes from the unskillful perceptions behind their actions, and how freedom from suffering can come from being more perceptive. And he described the basic principles that underlie the round of rebirth to show how bad intentional actions lead to pain within that round, good ones lead to pleasure, while really skillful actions can take you beyond the round altogether. In all these cases, these teachings were aimed at getting people to focus on the quality of the perceptions and intentions in their minds in the present — in other words, to get them into the emptiness mode. Once there, they can use the teachings on emptiness for their intended purpose: to loosen all attachments to views, stories, and assumptions, leaving the mind empty of all greed, anger, and delusion, and thus empty of suffering and stress. And when you come right down to it, that's the emptiness that really counts.

This document can be acquired from a sub-directory coombspapers via anonymous FTP and COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX file.

Date of the document's last update/modification 03/09/93

HISTORICAL ROOTS OF ZEN original filename: zenisnot.txt

This file is the work of Stan Rosenthal. It has been placed here, with his kind permission, by Bill Fear. The author has asked that no hard copies, ie. paper copies, are made.

Stan Rosenthal may be contacted at 44 High street, St. Davids, Pembrokeshire, Dyfed, Wales, UK. Bill Fear may be contacted at 29 Blackweir Terrace, Cathays, Cardiff, South Glamorgan, Wales, UK. Tel (0222) 228858 email fear@thor.cf.ac.uk. Please use email as first method of contact, if possible. Messages can be sent to Stan Rosenthal via the above email address - they will be forwarded on in person by myself - B.F.

NOTE: You may find and odd sentence or missing information every now and again in the files. Hopefully not to frequently. This is because the files were originally written on a machine using CP/M and had to be converted to dos format. Many of the 5.25 disks were very old and had bad sectors - thus missing info. ...............................Beginning of file...............................

Much has already been written of Zen from within a Buddhist context, but Zen itself is not the prerogative of any specific religious group, even though in its modern form, a large proportion of its practitioners are drawn from followers of the Buddha, Guatarma Siddhartha. Historically of course, Zen probably owes its major debt to its Buddhist practitioners for their systemization of its concepts, and even more than this, it must be remembered that the founder, or first codefier of Zen, The Boddhidharma, was also the twenty-eighth Buddhist patriarch in direct teaching descent from the Buddha himself.

However, in any serious discussion of Zen, we must also recall that something relating to the development of Zen did occur during the four hundred years prior to 526 CE, when the Boddhidharma arrived in the Shao-lin Temple in the Hohan Province of Northern China, to codefy Zen practice during his prolonged meditation, now know as 'the nine years before the wall'. What occurred during the four hundred year period preceding the arrival of the Boddhidharma in China was that following the establishment of Shao-lin as a major, and possibly the first, Buddhist Temple in China in 100 CE, there was a considerable dialogue between the Buddhist monks who inhabited the temple, and many of the people who were indiginous to the area, and who called themselves Taoists; a fact which is hardly surprising considering that the temple was previously a Taoist retreat.

At this point, it will probably help to clarify a number of issues if we understand that even by 100 CE there has developed two forms of Taoism, the earliest Tao-chia, being philosophical Taoism based upon Yin Yang theory as explained in the esoteric theory of 'changes' ('I Ching') and in the later work, 'the Way of Virtue' ('Tao Te Ching') by the philosopher Lao Tzu who lived towards the end of the Period of the Warring States (c 600 BCE). The later form of Taoism known as Tao-chiao, although based upon its philosophical precedessor, was practiced as a religion rather than a philosophy, and made considerable use of both shamanistic and mystical religious practices, bordering on the occult, and by 100 CE the followers of religious Taoism far outnumbered the philosophical Taoists.

It is probable that by the beginning of the Christian era in the West, the philosophical Taoists had lost their influence, and continued their work only in remote regions, far from the large cities and seats of government. We know with certainty that by this time religious Taoism held considerable influence in what was, by now, the Chinese kingdom or empire. It was to the remote provinces that the remaining followers of philosophical Taoism had travelled, and so it probably was that it was in such areas as these that the dislohur between Mahayana Buddhism and Taoist Philospphy began. It was the Buddhist monks, practising the compassion for which many Buddhist sects are stil reknowned, who gave succour to the 'exiled' Taoist philosphers, who in turn shared their knowledge with their Buddhist benefactors.

So it is that it is now believed that on his arrival at Shao-lin, the Boddhidharma found something quite foreign to the Indian practice of Buddhism, strange but not alien. It was to prove to be the Boddhidharma's undertaking to codify the synergized practices he discovered, but even scant knowledge of the life of the Buddha himself provides a clue as to why the philosophy of Taoism would not have been completely foreign to the Boddhidharma, and would certainly not have been unknown to the Buddha himself.

It is well documented that the Prince, Guattama Siddhartha, spent many years as a peripatetic seeker prior to his enlightenment, and many of his conversations with 'wise men' are described in detail. Since trade had taken place between China and India for many hundreds of years before the birth of the Buddha, trade routes were of course well established, and it is more than likely that young seeker would have used such routes, not only as a means of travel, but also in order to meet with strangers to his own land. As it the case even today, much can be learned about foreign ideas, philosophies and customs through trading in artifacts, and many goods are decorated with the symbols indiginous to their place of origin. With such a brilliant intellect as we know Guttama Siddhartha possessed, it is indeed unlikely that he would not have learned of 'Yin Yang' theory, upon which Taoist philosophy is based. Zen Buddhist scholars themselves acknowledge many instances in which Buddhist ideas are concommitant with those of Taoist philosophy, but there will probably always be an element of disagreement regarding which school of thought borrowed most from the other.

All this is not to deny the Buddhist element in any form of Zen, but only to illustrate that Zen is not wholly Buddhist, nor wholly Taoist. For many Zen practitioners there is indeed no dichotomy, nor any need for distinction. But it is only fair to all concerned to point out that to many non-Zen Buddhists even Zen Buddhism is a heresy and to state that many Buddhists belonging to non Zen sects, time and energy spent in Zen practice is considered to be of little or no significance. For their own part, many Zen practitioners consider their orthodox Buddhist bretheren to be 'brothers in spirit', but are disapproving towards the hierarchical rigor with which their more orthodox brothers consider the Buddhist deities, and with which the orthodox Buddhist institutions are organized.

I am fully aware that I have not described what Zen is, but have hopefully illustrated that whatever it is, it is not orthodox, not essentially a religion, and not specifically Indian. It is possibly necessary to provide one more negation, and this is that contrary to much public opinion in the Europe and the USA, Zen is most certainly not Japanese in origin.

.................................End of file...................................

Buddhism

Lecture on Zen

[This document can be acquired from a sub-directory coombspapers via anonymous
FTP on the node COOMBS.ANU.EDU.AU

The document's ftp filename and the full directory path are given in the
coombspapers top level INDEX file]

[Last updated: 25 March 1993]
-----------------------------------------------------------------------------
Original file name: ON_ZEN 1-1 Alan Watts: Lecture on Zen
Source: anonymous ftp host at 128.206.2.2
Subdirectory: ccphil.193 
Data owner: Phil Leith <CCPHIL@MIZZOU1.missouri.edu> 

COPYRIGHT ISSUES
Date:   Wed, 24 Mar 1993 12:30:29 CST
Reply-To: Forum on Indian and Buddhist Studies
<BUDDHIST%JPNTUVM0.BITNET@pucc.Princeton.EDU>
From: Phil Leith <CCPHIL%MIZZOU1.BITNET@pucc.Princeton.EDU>
Subject:    Re: Wattage: Self and Other part 3 of 3 -Repl

Well, it's like this here. These tapes are about 25 years old. The only
information about getting copies of the tapes was on the tapes: it says to
contact the National Endowment for the Arts.

I did. They hadn't the sligthest idea what I was talking about, and the tone of
their letter was very much like a flame, I might add.

My qualms about posting them settled down very quickly.

Besides that, due to the interest these tapes sparked in me, I have gone out and
bought 5 of the man's books -- and so has Mr. Seaver.

[Alan Seaver: seaverw@columbia.dsu.edu -  coombspapers' comment]

For those of you interested, Mr. Watts passed away about 20 years ago. He died
of lung Cancer.

For what it's worth -

P
-----------------------------------------------------------------------------
this originally aired on KSAN radio, San Francisco, many years ago. All 
typos are of course mine. I'm also no expert on Japanese and all their 
names, so the ones I didn't recognize, I sounded out & put a * by. Perhaps 
someone out there who can figure out what they're supposed to be can 
correct me. A couple words were undistinguishable (these tapes are pretty 
bad quality), & I've just marked them like so: __-__.
                                                     Alan Seaver

 

ALAN WATTS: LECTURE ON ZEN
 
Once upon a time, there was a Zen student who quoted an old Buddhist 
poem to his teacher, which says
 
The voices of torrents are from one great tongue,
the lions of the hills are the pure body of Buddha.
"Isn't that right?" he said to the teacher.
"It is," said the teacher, "but it's a pity to say so."
 
It would be, of course, much better, if this occasion were 
celebrated with no talk at all, and if I addressed you in the manner 
of the ancient teachers of Zen, I should hit the microphone with my 
fan and leave. But I somehow have the feeling that since you have 
contributed to the support of the Zen Center, in expectation of 
learning something, a few words should be said, even though I warn 
you, that by explaining these things to you, I shall subject you to 
a very serious hoax. Because if I allow you to leave here this 
evening, under the impression that you understand something about 
Zen, you will have missed the point entirely. Because Zen is a way 
of life, a state of being, that is not possible to embrace in any 
concept whatsoever, so that any concepts, any ideas, any words that 
I shall put across to you this evening will have as their object, 
showing you the limitations of words and of thinking.
 
Now then, if one must try to say something about what Zen is, and I 
want to do this by way of introduction, I must make it emphatic that 
Zen, in its essence, is not a doctrine. There's nothing you're 
supposed to believe in. It's not a philosophy in our sense, that is 
to say a set of ideas, an intellectual net in which one tries to 
catch the fish of reality. Actually, the fish of reality is more 
like water--it always slips through the net. And in water you know 
when you get into it there's nothing to hang on to. All this 
universe is like water; it is fluid, it is transient, it is 
changing. And when you're thrown into the water after being 
accustomed to living on the dry land, you're not used to the idea of 
swimming. You try to stand on the water, you try to catch hold of 
it, and as a result you drown. The only way to survive in the water, 
and this refers particularly to the waters of modern philosophical 
confusion, where God is dead, metaphysical propositions are 
meaningless, and there's really nothing to hang on to, because we're 
all just falling apart. And the only thing to do under those 
circumstances is to learn how to swim. And to swim, you relax, you 
let go, you give yourself to the water, and you have to know how to 
breathe in the right way. And then you find that the water holds you 
up; indeed, in a certain way you become the water. And so in the 
same way, one might say if one attempted to--again I say 
misleadingly--to put Zen into any sort of concept, it simply comes 
down to this:
 
That in this universe, there is one great energy, and we have no 
name for it. People have tried various names for it, like God, like 
*Brahmin, like Tao, but in the West, the word God has got so many 
funny associations attached to it that most of us are bored with it. 
When people say "God, the father almighty," most people feel funny 
inside. So we like to hear new words, we like to hear about Tao, 
about Brahmin, about Shinto, and __-__-__, and such strange names 
from the far East because they don't carry the same associations of 
mawkish sanctimony and funny meanings from the past. And actually, 
some of these words that the Buddhists use for the basic energy of 
the world really don't mean anything at all. The word _tathata_, 
which is translated from the Sanskrit as "suchness" or "thusness" or 
something like that, really means something more like "dadada," 
based on the word _tat_, which in Sanskrit means "that," and so in 
Sanskrit it is said _tat lum asi_, "that thou art," or in modern 
America, "you're it." But "da, da"--that's the first sound a baby 
makes when it comes into the world, because the baby looks around 
and says "da, da, da, da" and fathers flatter themselves and think 
it's saying "DaDa," which means "Daddy," but according to Buddhist 
philosophy, all this universe is one "dadada." That means "ten 
thousand functions, ten thousand things, one suchness," and we're 
all one suchness. And that means that suchess comes and goes like 
anything else because this whole world is an on-and-off system. As 
the Chinese say, it's the _yang_ and the _yin_, and therefore it 
consists of "now you see it, now you don't, here you are, here you 
aren't, here you are," because that the nature of energy, to be like 
waves, and waves have crests and troughs, only we, being under a 
kind of sleepiness or illusion, imagine that the trough is going to 
overcome the wave or the crest, the _yin_, or the dark principle, is 
going to overcome the _yang_, or the light principle, and that "off" 
is going to finally triumph over "on." And we, shall I say, bug 
ourselves by indulging in that illusion. "Hey, supposing darkness 
did win out, wouldn't that be terrible!" And so we're constantly 
trembling and thinking that it may, because after all, isn't it odd 
that anything exists? It's most peculiar, it requires effort, it 
requires energy, and it would have been so much easier for there to 
have been nothing at all. Therefore, we think "well, since being, 
since the 'is' side of things is so much effort" you always give up 
after a while and you sink back into death. But death is just the 
other face of energy, and it's the rest, the not being anything 
around, that produces something around, just in the same way that 
you can't have "solid" without "space," or "space" without "solid."
When you wake up to this, and realize that the more it changes the 
more it's the same thing, as the French say, that you are really a 
train of this one energy, and there is nothing else but that that is 
you, but that for you to be always you would be an insufferable 
bore, and therefore it is arranged that you stop being you after a 
while and then come back as someone else altogether, and so when you 
find that out, you become full energy and delight. As Blake said, 
"Energy is eternal delight." And you suddenly see through the whole 
sham thing. You realize you're That--we won't put a name on it-- 
you're That, and you can't be anything else. So you are relieved of 
fundamental terror. That doesn't mean tht you're always going to be 
a great hero, that you won't jump when you hear a bang, that you 
won't worry occasionally, that you won't lose your temper. It means, 
though, that fundamentally deep, deep, deep down within you, you 
will be able to be human, not a stone Buddha--you know in Zen there 
is a difference made between a living Buddha and a stone Buddha. If 
you go up to a stone Buddha and you hit him hard on the head, 
nothing happens. You break your fist or your stick. But if you hit a 
living Buddha, he may say "ouch," and he may feel pain, because if 
he didn't feel something, he wouldn't be a human being. Buddhas are 
human, they are not devas, they are not gods. They are enlightened 
men and women. But the point is that they are not afraid to be 
human, they are not afraid to let themselves participate in the 
pains, difficulties and struggles that naturally go with human 
existence. The only difference is--and it's almost an undetectable 
difference--it takes one to know one. As a Zen poem says, "when two 
Zen masters meet each other on the street, they need no 
introduction. When fiends meet, they recognize one another 
instantly." So a person who is a real cool Zen understands that, 
does not go around "Oh, I understand Zen, I have satori, I have 
this attainment, I have that attainment, I have the other 
attainment," because if he said that, he wouldn't understand the 
first thing about it.

 
So it is Zen that, if I may put it metaphorically, *Jon-Jo said "the 
perfect man employs his mind as a mirror. It grasps nothing, it 
refuses nothing. It receives but does not keep." And another poem 
says of wild geese flying over a lake, "The wild geese do not intend 
to cast their reflection, and the water has no mind to retain their 
image." In other words this is to be--to put it very strictly into 
our modern idiom--this is to live without hang-ups, the word "hang- 
up" being an almost exact translation of the Japanese _bono_ and the 
Sanskrit _klesa_, ordinarily translated "worldly attachment," though 
that sounds a little bit--you know what I mean--it sounds pious, and 
in Zen, things that sound pious are said to stink of Zen, but to 
have no hang-ups, that is to say, to be able to drift like a cloud 
and flow like water, seeing that all life is a magnificent illusion, 
a plane of energy, and that there is absolutely nothing to be afraid 
of. Fundamentally. You will be afraid on the surface. You will be 
afraid of putting your hand in the fire. You will be afraid of 
getting sick, etc. But you will not be afraid of fear. Fear will 
pass over your mind like a black cloud will be reflected in the 
mirror. But of course, the mirror isn't quite the right 
illustration; space would be better. Like a black cloud flows 
through space without leaving any track. Like the stars don't leave 
trails behind them. And so that fundamental--it is called "the void" 
in Buddhism; it doesn't mean "void" in the sense that it's void in 
the ordinary sense of emptiness. It means void in that is the most 
real thing there is, but nobody can conceive it. It's rather the 
same situation that you get between the speaker, in a radio and all 
the various sounds which it produces. On the speaker you hear human 
voices, you hear every kind of musical instrument, honking of horns, 
the sounds of traffic, the explosions of guns, and yet all that 
tremendous variety of sounds are the vibrations of one diaphragm, 
but it never says so. The announcer doens't come on first thing in 
the morning and say "Ladies and gentlemen, all the sounds that you 
will hear subsequentally during the day will be the vibration of 
this diaphragm; don't take them for real." And the radio never 
mentions its own construction, you see? And in exactly the same way, 
you are never able, really, to examine, to make an object of your 
own mind, just as you can't look directly into your own eyes or bite 
your own teeth, because you ARE that, and if you try to find it, and 
make it something to possess, why that's a great lack of confidence. 
That shows that you don't really know your "it". And if you're "it," 
you don't need to make anything of it. There's nothing to look for. 
But the test is, are you still looking? Do you know that? I mean, 
not as kind of knowledge you possess, not something you've learned 
in school like you've got a degree, and "you know, I've mastered the 
contents of these books and remembered it." In this knowledge, 
there's nothing to be remembered; nothing to be formulated. You know 
it best when you say "I don't know it." Because that means, "I'm not 
holding on to it, I'm not trying to cling to it" in the form of a 
concept, because there's absolutely no necessity to do so. That 
would be, in Zen language, putting legs on a snake or a beard on a 
eunuch, or as we would say, gilding the lily.
 
Now you say, "Well, that sounds pretty easy. You mean to say all we 
have to do is relax? We don't have to go around chasing anything 
anymore? We abandon religion, we abandon meditations, we abandon 
this, that, and the other, and just live it up anyhow? Just go on." 
You know, like a father says to his child who keeps asking "Why? 
Why, Why, Why, Why, Why? Why did God make the universe? Who made 
God? Why are the trees green?" and so on and so forth, and father 
says finally, "Oh, shut up and eat your bun." It isn't quite like 
that, because, you see, the thing is this:
 
All those people who try to realize Zen by doing nothing about it 
are still trying desperately to find it, and they're on the wrong 
track. There is another Zen poem which says, "You cannot attain it 
by thinking, you cannot grasp it by not thinking." Or you could say, 
you cannot catch hold of the meaning of Zen by doing something about 
it, but equally, you cannot see into its meaning by doing nothing 
about it, because both are, in their different ways, attempts to 
move from where you are now, here, to somewhere else, and the point 
is that we come to an understanding of this, what I call suchness, 
only through being completely here. And no means are necessary to be 
completely here. Neither active means on the one hand, nor passive 
means on the other. Because in both ways, you are trying to move 
away from the immediate now. But you see, it's difficult to 
understand language like that. And to understand what all that is 
about, there is really one absolutely necessary prerequisite, and 
this is to stop thinking. Now, I am not saying this in the spirit of 
being an anti-intellectual, because I think a lot, talk a lot, write 
a lot of books, and am sort of a half-baked scholar. But you know, 
if you talk all the time, you will never hear what anybody else has 
to say, and therefore, all you'll have to talk about is your own 
conversation. The same is true for people who think all the time. 
That means, when I use the word "think," talking to yourself, 
subvocal conversation, the constant chit-chat of symbols and images 
and talk and words inside your skull. Now, if you do that all the 
time, you'll find that you've nothing to think about except 
thinking, and just as you have to stop talking to hear what I have 
to say, you have to stop thinking to find out what life is about. 
And the moment you stop thinking, you come into immediate contact 
with what Korzybski called, so delightfully, "the unspeakable 
world," that is to say, the nonverbal world. Some people would call 
it the physical world, but these words "physical," "nonverbal," 
"material" are all conceptual, and bangs stick on the floor is not 
a concept. It's not a noise, either. It's Bangs stick again. Get 
that? So when you are awake to that world, you suddenly find that 
all the so-called differences between self and other, life and 
death, pleasure and pain, are all conceptual, and they're not there. 
They don't exist at all in that world which is bangs stick. In 
other words, if I hit you hard enough, "ouch" doesn't hurt, if 
you're in a state of what is called no-thought. There is a certain 
experience, you see, but you don't call it "hurt." It's like when 
you were small children, they banged you about, and you cried, and 
they said "Don't cry" because they wanted to make you hurt and not 
cry at the same time. People are rather curious about the things the 
do like that. But you see, they really wanted you to cry, the same 
way if you threw up one day. It's very good to throw up if you've 
eaten soemthing that isn't good for you, but your mother said 
"Eugh!" and made you repress it and feel that throwing up wasn't a 
good thing to do. Because then when you saw people die, and 
everybody around you started weeping and making a fuss, and then you 
learned from that that dying was terrible. When somebody got sick, 
everybody else got anxious, and you learned that getting sick was 
something awful. You learned it from a concept.
 
So the reason why there is in the practice of Zen, what we did 
before this lecture began, to practice Za-zen, sitting Zen. 
Incidentally, there are three other kinds of Zen besides Za-zen. 
Standing Zen, walking Zen, and lying Zen. In Buddhism, they speak of 
hte three dignities of man. Walking, standing, sitting, and lying. 
And they say when you sit, just sit. When you walk, just walk. But 
whatever you do, don't wobble. In fact, of course, you can wobble, 
if you really wobble well. When the old master *Hiakajo was asked 
"What is Zen?" he said "When hungry, eat, when tired, sleep," and 
they said, "Well isn't that what everybody does? Aren't you just 
like ordinary people?" "Oh no," he said, "they don't do anything of 
the kind. When they're hungry, they don't just eat, they think of 
all sorts of things. When they're tired, they don't just sleep, but 
dream all sorts of dreams." I know the Yun-Mens won't like that, but 
there comes a time when you just dream yourself out, and no more 
dreams. You sleep deeply and breathe from your heels. Now, 
therefore, Za-zen, or sitting Zen, is a very, very good thing in the 
Western world. We have been running around far too much. It's all 
right; we've been active, and our action has achieved a lot of good 
things. But as Aristotle pointed out long ago--and this is one of 
the good things about Aristotle. He said "the goal of action is 
contemplation." In other words, busy, busy, busy, busy, busy, but 
what's it all about? Especially when people are busy because they 
think they're GOING somewhere, that they're going to get something 
and attain something. There's quite a good deal of point to action 
if you know you're not going anywhere. If you act like you dance, or 
like you sing or play music, then you're really not going anywhere, 
you're just doing pure action, but if you act with a thought in mind 
that as a result of action you are eventually going to arrive at 
someplace where everything will be alright. Then you are on a 
squirrel cage, hopelessly condemned to what the Buddhists call 
_samsara_, the round, or rat-race of birth and death, because you 
think you're going to go somewhere. You're already there. And it is 
only a person who has discovered that he is already there who is 
capable of action, because he doesn't act frantically with the 
thought that he's going to get somewhere. He acts like he can go 
into walking meditation at that point, you see, where we walk not 
because we are in a great, great hurry to get to a destination, but 
because the walking itself is great. The walking itself is the 
meditation. And when you watch Zen monks walk, it's very 
fascinating. They have a different kind of walk from everybody else 
in Japan. Most Japanese shuffle along, or if they wear Western 
clothes, they race and hurry like we do. Zen monks have a peculiar 
swing when they walk, and you have the feeling they walk rather the 
same way as a cat. There's something about it that isn't hesitant; 
they're going along all right, they're not sort of vagueing around, 
but they're walking just to walk. And that's walking meditation. But 
the point is that one cannot act creatively, except on the basiss of 
stillness. Of having a mind that is capable from time to time of 
stopping thinking. And so this practice of sitting may seem very 
difficult at first, because if you sit in the Buddhist way, it makes 
your legs ache. Most Westerners start to fidget; they find it very 
boring to sit for a long time, but the reason they find it boring is 
that they're still thinking. If you weren't thinking, you wouldn't 
notice the passage of time, and as a matter of fact, far from being 
boring, the world when looked at without chatter becomes amazingly 
interesting. The most ordinary sights and sounds and smells, the 
texture of shadows on the floor in front of you. All these things, 
without being named, and saying "that's a shadow, that's red, that's 
brown, that's somebody's foot." When you don't name things anymore, 
you start seeing them. Because say when a person says "I see a 
leaf," immediately, one thinks of a spearhead-shaped thing outlined 
in black and filled in with flat green. No leaf looks like that. No 
leaves--leaves are not green. That's why Lao-Tzu said "the five 
colors make a man blind, the five tones make a man deaf," because if 
you can only see five colors, you're blind, and if you can only hear 
five tones in music, you're deaf. You see, if you force sound into 
five tones, you force color into five colors, you're blind and deaf. 
The world of color is infinite, as is the world of sound. And it is 
only by stopping fixing conceptions on the world of color and the 
world of sound that you really begin to hear it and see it.
 
So this, should I be so bold as to use the word "discipline," of 
meditation or Za-zen lies behind the extraordinary capacity of Zen 
people to develop such great arts as the gardens, the tea ceremony, 
the caligraphy, and the grand painting of the Sum Dynasty, and of 
the Japanese Sumi tradition. And it was because, especially in tea 
ceremony, which means literally "cha-no-yu" in Japanese, meaning 
"hot water of tea," they found in the very center of things in 
everyday life, magic. In the words of the poet *Hokoji, "marvelous 
power and supernatural activity, drawing water, carrying wood." And 
you know how it is sometimes when you say a word and make the word 
meaningless, you take the word "yes"--yes, yes, yes, yes, yes, yes, 
yes, yes. It becomes funny. That's why they use the word "mu" in Zen 
training, which means "no." Mu. And you get this going for a long 
time, and the word ceases to mean anything, and it becomes magical.
Now, what you have to realize in the further continuence of Za-zen, 
that as you-- Well, let me say first in a preliminary way, the 
easiest way to stop thinking is first of all to think about 
something that doesn't have any meaning. That's my point in talking 
about "mu" or "yes," or counting your breath, or listening to a 
sound that has no meaning, because that stops you thinking, and you 
become fascinated in the sound. Then as you get on and you just--the 
sound only--there comes a point when the sound is taken away, and 
you're wide open. Now at that point, there will be a kind of 
preliminary so-called subtlety, and you will think "wowee, that's 
it!" You'll be so happy, you'll be walking on air. When Suzuki 
Daisetz was asked what was it like to have satori, he said "well, 
it's like ordinary, everyday experience, except about two inches off 
the ground." But there's another saying that the student who has 
obtained satori goes to hell as straight as an arrow. No satori 
around here, because anybody who has a spiritual experience, whether 
you get it through Za-zen, or through LSD, or anything, you know, 
that gives you that experience. If you hold on to it, say "now I've 
got it," it's gone out of the window, because the minute you grab 
the living thing, it's like catching a handful of water, the harder 
you clutch, the faster it squirts through your fingers. There's 
nothing to get hold of, because you don't NEED to get hold of 
anything. You had it from the beginning. Because you can see that, 
by various methods of meditation, but the trouble is that people 
come out of that an brag about it, say "I've seen it." Equally 
intolerable are the people who study Zen and come out and brag to 
their friends about how much their legs hurt, and how long they sat, 
and what an awful thing it was. They're sickening. Because the 
discipline side of this thing is not meant to be something awful. 
It's not done in a masochistic spirit, or a sadistic spirit: 
suffering builds character, therefore suffering is good for you. 
When I went to school in England, the basic premise of education was 
that suffering builds character, and therefore all senior boys were 
at liberty to bang about the junior ones with a perfectly clear 
conscience, because they were doing them a favor. It was good for 
them, it was building their character, and as a result of this 
attitude, the word "discipline" has begun to stink. It's been 
stinking for a long time. But we need a kind of entirely new 
attitude towards this, because without that quiet, and that non- 
striving, a life becomes messy. When you let go, finally, because 
there's nothing to hold onto, you have to be awfully careful not to 
turn into loose yogurt. Let me give two opposite illustrations. When 
you ask most people to lie flat on the floor and relax, you find 
that they are at full attention, because they don't really believe 
that the floor will hold them up, and therefore they're holding 
themselves together; they're uptight. They're afraid that if they 
don't do this, even though the floor is supporting them, they'll 
suddenly turn into a gelatinous mass and trickle away in all 
directions. Then there are other people who when you tell them to 
relax, they go like a limp rag. But you see, the human organism is a 
subtle combination of hardness and softness. Of flesh and bones. And 
the side of Zen which has to do with neither doing nor not doing, 
but knowing that you are It anyway, and you don't have to seek it, 
that's Zen-flesh. But the side in which you can come back into the 
world, with this attitude of not seeking, and knowing you're It, and 
not fall apart--that requires bones. And one of the most difficult 
things--this belongs to of course a generation we all know about 
that was running about some time ago--where they caught on to Zen, 
and they started anything-goes painting, they started anything-goes 
sculpture, they started anything-goes way of life. Now I think we're 
recovering from that today. At any rate, our painters are beginning 
once again to return to glory, to marvelous articulateness and vivid 
color. Nothing like it has been seen since the stained glass of ?. 
That's a good sign. But it requires that there be in our daily use 
of freedom, and I'm not just talking about political freedom. I'm 
talking about the freedom which comes when you know that you're It, 
forever and ever and ever. And it'll be so nice when you die, 
because that'll be a change, but it'll come back some other way. 
When you know that, and you've seen through the whole mirage, then 
watch out, because there may still be in you some seeds of 
hostility, some seeds of pride, some seeds of wanting to put down 
other people, or wanting to just defy the normal arrangements of 
life.
 
So that is why, in the order of a Zen monastary, various duties are 
assigned. The novices have the light duties, and the more senior you 
get, the heavy duties. For example, the Roshi very often is the one 
who cleans out the _benjo_, the toilet. And everything is kept in 
order. There is a kind of beautiful, almost princely aestheticism, 
because by reason of that order being kept all of the time, the vast 
free energy which is contained in the system doesn't run amok. The 
understanding of Zen, the understanding of awakening, the 
understanding of-- Well, we'll call it mystical experiences, one of 
the most dangerous things in the world. And for a person who cannot 
contain it, it's like putting a million volts through your electric 
shaver. You blow your mind and it stays blown. Now, if you go off in 
that way, that is what would be called in Buddhism a pratyeka- 
buddha--"private buddha". He is one who goes off into the 
transcendental world and is never seen again. And he's made a 
mistake from the standpoint of Buddhism, because from the standpoint 
of Buddhism, there is no fundamental difference between the 
transcendental world and this everyday world. The _bodhisattva_, you 
see, who doesn't go off into a nirvana and stay there forever and 
ever, but comes back and lives ordinary everyday life to help other 
beings to see through it, too, he doesn't come back because he feels 
he has some solemn duty to help mankind and all that kind of pious 
cant. He comes back because he sees the two worlds are the same. He 
sees all other beings as buddhas. He sees them, to use a phrase of 
G.K. Chesterton's, "but now a great thing in the street, seems any 
human nod, where move in strange democracies a million masks of 
god." And it's fantastic to look at people and see that they really, 
deep down, are enlightened. They're It. They're faces of the divine. 
And they look at you, and they say "oh no, but I'm not divine. I'm 
just ordinary little me." You look at them in a funny way, and here 
you see the buddha nature looking out of their eyes, straight at 
you, and saying it's not, and saying it quite sincerely. And that's 
why, when you get up against a great guru, the Zen master, or 
whatever, he has a funny look in his eyes. When you say "I have a 
problem, guru. I'm really mixed up, I don't understand," he looks at 
you in this queer way, and you think "oh dear me, he's reading my 
most secret thoughts. He's seeing all the awful things I am, all my 
cowardice, all my shortcomings." He isn't doing anything of the 
kind; he isn't even interested in such things. He's looking at, if I 
may use Hindu terminology, he's looking at Shiva, in you, saying "my 
god, Shiva, won't you come off it?"
 
So then, you see, the _bodhisattva_, who is--I'm assuming quite a 
knowledge of Buddhism in this assembly--but the _bodhisattva_ as 
distinct from the pratyeka-buddha, bodhisattva doesn't go off into 
nirvana, he doesn't go off into permanant withdrawn ecstasy, he 
doesn't go off into a kind of catatonic _samadhi_. That's all right. 
There are people who can do that; that's their vocation. That's 
their specialty, just as a long thing is the long body of buddha, 
and a short thing is the short body of buddha. But if you really 
understand that Zen, that buddhist idea of enlightenment is not 
comprehended in the idea of the transcendental, neither is it 
comprehended in the idea of the ordinary. Not in terms with the 
infinite, not in terms with the finite. Not in terms of the eternal, 
not in terms of the temporal, because they're all concepts. So, let 
me say again, I am not talking about the ordering of ordinary 
everyday life in a reasonable and methodical way as being 
schoolteacherish, and saying "if you were NICE people, that's what 
you would do." For heaven's sake, don't be nice people. But the 
thing is, that unless you do have that basic framework of a certain 
kind of order, and a certain kind of discipline, the force of 
liberation will blow the world to pieces. It's too strong a current 
for the wire. So then, it's terribly important to see beyond 
ecstasy. Ecstasy here is the soft and lovable flesh, huggable and 
kissable, and that's very good. But beyond ecstasy are bones, what 
we call hard facts. Hard facts of everyday life, and incidentally, 
we shouldn't forget to mention the soft facts; there are many of 
them. But then the hard fact, it is what we mean, the world in an 
ordinary, everyday state of consciousness. To find out that that is 
really no different from the world of supreme ecstasy, well, it's 
rather like this:
 
Let's suppose, as so often happens, you think of ecstasy as insight, 
as seeing light. There's a Zen poem which says
 
A sudden crash of thunder. The mind doors burst open,
and there sits the ordinary old man.
 
See? There's a sudden vision. Satori! Breaking! Wowee! And the doors 
of the mind are blown apart, and there sits the ordinary old man. 
It's just little you, you know? Lightning flashes, sparks shower. In 
one blink of your eyes, you've missed seeing it. Why? Because here 
is the light. The light, the light, the light, every mystic in the 
world has "seen the light." That brilliant, blazing energy, brighter 
than a thousand suns, it is locked up in everything. Now imagine 
this. Imagine you're seeing it. Like you see aureoles around 
buddhas. Like you see the beatific vision at the end of Dante's 
"Paradiso." Vivid, vivid light, so bright that it is like the clear 
light of the void in the Tibetan Book of the Dead. It's beyond 
light, it's so bright. And you watch it receeding from you. And on 
the edges, like a great star, there becomes a rim of red. And beyond 
that, a rim of orange, yellow, green, blue, indigo, violet. You see 
this great mandela appearing with great suns, and beyond the violet, 
there's black. Black, like obsidian, not flat black, but transparent 
black, like lacquer. And again, blazing out of the black, as the 
_yang_ comes from the _yin_, more light. Going, going, going. And 
along with this light, there comes sound. There is a sound so 
tremendous with the white light that you can't hear it, so piercing 
that it seems to annihilate the ears. But then along with the 
colors, the sound goes down the scale in harmonic intervals, down, 
down, down, until it gets to a deep thundering base which is so 
vibrant that it turn it turns into something solid, and you begin to 
get the similar spectrum of textures. Now all this time, you've been 
watching a kind of thing radiating out. "But," it says, "you know, 
this isn't all I can do," and the rays start dancing like this, and 
the sound starts waving, too, as it comes out, and the textures 
start varying themselves, and they say, well, you've been looking at 
this this as I've been describing it so far in a flat dimension. 
Let's add a third dimension; it's going to come right at you now. 
And meanwhile, it says, we're not going to just do like this, we're 
going to do little curlicues. And it says, "well, that's just the 
beginning!" Making squares and turns, and then suddenly you see in 
all the little details that become so intense, that all sorts of 
subfigures are contained in what you originally thought were the 
main figures, and the sound starts going all different, amazing 
complexities if sound all over the place, and this thing's going, 
going, going, and you think you're going to go out of your mind, 
when suddenly it turns into... Why, us, sitting around here.
 
Thank you very much.
----
Scribbled down by
Alan Seaver: seaverw@columbia.dsu.edu
-----------------------------------------------------------------------------
end of file

[This document can be acquired from a sub-directory coombspapers via anonymous FTP on the node COOMBS.ANU.EDU.AU

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX file]

[Last updated: 9 August 1993]

"MOUNTAINS AND WATERS".

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

All copyrights to this document belong to Subhana Barzaghi Sensei, Kuan-Yin Zen Center, NSW, Australia Enquiries: The Editor, "Mind Moon Circle", Sydney Zen Centre, 251 Young St., Annandale, Sydney, NSW 2038, Australia. Tel: + 61 2 660 2993

MOUNTAINS AND WATERS SUBHANA BARZAGHI, SENSEI

Dogen is revered as the founder of the Soto Zen School. He came from a very wealthy background and received such a rigorous education that by the age of seven he was reading ancient Chinese classics. When he was eight his mother died, and it is said that he awakened at that time to the impermanence of life. Dogen revealed later that while his mother was dying she had encouraged him to become a monk. So he studied for some time in the court, and then he sought the help of his uncle to run away and become ordained as a monk, at the age of fourteen. It is said he read the whole of the Buddhist canon, twice, while he was still in his teens. At the age of twenty-one he received transmission in one of the lineages.

Dogen had a number of teachers from different lineages. He spent time in China with his last teacher, Nyojo, and so intensive was it that it is said he did not sleep for two years. Nyojo came into the dojo one day and scolded a dozing monk. "Zen study requires the shedding of body and mind! Why do you sleep?" At that moment, Dogen was completely enlightened.

Dogen left a great body of writing, and one of his classic pieces is the Mountain and Waters Sutra. Here is an excerpt:

The mountains and waters of the immediate present are the
manifestation of the path of the ancient Buddhas.  Because
they are the self before the emergence of signs, they are the
penetrating liberation of immediate actuality.  By the height
and breadth of the qualities of the mountains, the virtue of
riding the clouds is always mastered from the mountains and
the subtle work of following the wind as a rule penetrates
through to liberation from the mountains.  The green mountains
are forever walking.  A stone woman bears a child by night.
If one doubts the walking of the mountains, one doesn't even
yet know one's own walking.

So this is his exquisite sutra, which I love because it has such symbolic language. The mountains here mean the phenomenal world, existence. The waters means emptiness and these beautiful Taoist expressions like riding the clouds and following the wind simply mean transcendence or liberation. So we can read it as; form and emptiness of the immediate present are the manifestation of the path of the ancient Buddhas. The mountains and waters are the way of enlightenment. In essence, both are beyond conception. And when he talks about before the emergence of signs, he means before the emergence of conceptualisation, conceptual mind. He goes on to say that the way of transcendance and liberation is none other than of the mountains, of this very world, of this very existence. Ordinary mind is the Tao. So the very heart of the teaching is that emptiness is form, form is emptiness. This sutra is symbolic of the interpenetration of emptiness and form, mountains and waters. So, form is exactly emptiness. Emptiness is not some thing out there, that exists.

It is none other than this rock, this blue tarpaulin, the tree and the wind. "Emptiness is form" means that Buddha nature pervades the whole universe. We wake up to this great vast body. And that fullness of the field of perception comes from the non-dualistic mind. So there are the twin aspects of the realisation of mind, the experience of waking up to this vast body.

Many years ago, I was a very intense yogi and doing a number of Vipassana retreats. In those days in Vipassana practice, you took one-hour vows for sitting without moving. You were not allowed to move for one hour. So I did that. And then I thought, well I've managed to do that, now two hours! And I was interested in just pushing it to the limit. I had heard somebody say that they became enlightened because they sat for three hours, and I accepted this naive idea that this was all I had to do. It was a twenty day retreat and about two-thirds of the way through I was up to three hours, but nothing happened, of course. I was terribly disappointed. So I sat for four hours, five hours, and eventually I sat six hours without moving or opening my eyes. There was great pain of course, my whole body was on fire and it was like being in the hell-realms for an hour, then there would be an hour of bliss, then another hour of pain, of course, and I became completely absorbed in the body, it became this intense journey and the body became a vast universe. Somehow bells rang, people came and went, I just sat there, completely forgetting at one stage that there was even a world outside. And then in the evening a bell rang and I did open my eyes, and when I opened my eyes it was to my great body. "Oh, this is an interesting part of my body, it's so green!" It took me some years to understand that experience. But that is the truth too. We do wake up to this great vast body.

A stone woman bears a child by night. Again, this is symbolic language. Stone woman also means barren woman, which is a metaphor for emptiness. Bears a child

  • everything is inconceivably empty yet it exists. Emptiness gives birth to form. The child here means the universe. This stone woman/barren woman bearing a child by night made me reflect too on the Christian image of the virgin birth and I suddenly realised that there were parallels there. The virgin woman is another image of emptiness and she gives birth to the child Jesus, to form.

We were having a women's discussion recently during Easter and we decided to talk about how our Christian roots have conditioned our values and how we felt about that now. I was very involved in the Christian church when I was young, but one of the things that I had a problem with was the notion of original sin, that we were all so sinful in the eyes of God.

Later on, after leaving all of that, one of the things that attracted me about Buddhism was that we are all, at the essence, Buddha-nature. All beings by nature are Buddha. And I thought, "that feels better". But I heard recently of a German Christian philosopher who had explored the Latin roots of the word sin, and he said it meant separation, and then I understood - original sin is about the separation from totality, from God.

I've also been fascinated by this process of birth and death. I was a midwife for seven years, delivering babies in the bush and it was always a great privilege and honour to be invited to a birth. I had many wonderful experiences there. One thing I remember about these births is the energy and excitement, the focus and attention at the moment the baby comes out. At that moment, the baby is often blue and it does not breathe for that few moments. Everybody in the room solemnly looks at this tiny creature and waits for it to breathe and all the adults in the room are holding their breath. I would then say to everyone, "Breathe! How is this poor little creature going to learn how to breathe if we are all holding our breath?" That precious moment seems like an eternity, when we are waiting for the baby to breathe and we need to bring that same attention and precious quality right here to our own breathing to give birth to ourselves, to our own child by night.

Another thing I found about birthing which was quite addictive was this special quality of presence around birth, and usually when you really get into labour and are there for a while, all the things that don't matter just fall away and it becomes a moment-to-moment experience. There's a timeless quality about that energy. I went from delivering babies to spending time with people who are dying, and that same energy, that quality of presence is also true for people who are dying. That same energy is generated in sesshin. And it wasn't just by luck or chance, all those Zen stories where the ancient teachers just said one word and the student was enlightened. It's the same as when you're with a labouring woman, you stay with her through the night, you breathe with her, you can tell when the baby's going to be born, you can tell the stages of labour easily when you're a midwife. And it's the same with those great Zen teachers. They know when the student is ripe. That one word can awaken the mind.

There's another beautiful analogy about form and emptiness that is very simple. It is like the wave and the ocean. The wave has a beginning and an end, a birth and a death, and the Prajna Paramita Heart Sutra says that the wave is full of emptiness but is empty of a separate self. Now the wave is a form created by the wind and the water, but if the wave only sees its form, its beginning and end, it will be afraid of birth and death. But if the wave identifies with the water, with the essence, it will not be afraid of birth and death. The water is free from birth and death.

Through the process of practice, we see there is an exclusive identification with our own body and mind, and this attachment to this body is our greatest limitation. I feel, I think, I am this, I hear, I, I, I. And Dogen said, if you are attached to your body and cannot detach from it, you will not find the way of Buddhas, not even in ten thousand aeons. I did my own contemplation of the impermanence of the body some years ago while sitting with the Tibetan lamas. They had us meditating on death for two weeks, then two weeks on the hell realms. Then I spent time in Benares, arose every morning at four am, went down to the Ganges, found my own special boatman and gave him some rupees to take me up the river to the burning ghat. The river at five am is an intense experience.

A million people descend to bathe in it and chant by it just as the sun rises over the plains of India. Every twenty minutes a body is brought to the burning ghat, carried on a stretcher with four pall bearers, chanting as they come, through the winding back streets down to the river. And the chant was, Rama nama satya hai and it translates as "the only truth is the name of god". And I was fascinated by this chant, because it didn't matter what caste you were, every body got the same chant. Contemplation at the burning ghat was not something ugly, it was an embracing of life and death, that whole process. It's quite sane actually.

So when we sit, we can experience the moment to moment impermanent nature of all the elements. We have the heat, the air, the water, thoughts and feelings. So what elements can you truly consider to be your own body if you truly look at it just as elements arising and passing away on a moment to moment level? Try and grasp hold of any one of those elements, try and hang onto one, just even one sensation in the body and say, "that is me". It is impermanent. When we contemplate the body we can experience that microscopic level of that constant change and flux., bubbles, atoms. And we can experience this directly. There is no permanent, separate entity called "self" there in all those elements. And that constant changing, that state of flux is what Dogen meant when he says, "The green mountains are forever walking". There is no separation between yourself and the green mountains. Green mountains come forth as self. Turning the light around and looking back is the path of the ancient ones, the mountains and waters of the immediate present.

However there is more to the Buddha's teaching than the realisation of emptiness. We must not stagnate in that realisation of emptiness. That must be replaced by a more comprehensive realisation of integration, and that integration is merging with the world in compassion. Dogen had an analogy here, "It's like stepping back and stepping forward" - stepping back - introspection, and stepping forth - merging with the world. This is like the dance we do - we come to sesshin - introspection - we merge with the world - we come out. We do this dance in many ways continually, back and forth. There's a beautiful rhythm there. Keep up that rhythm, and please do not doubt the walking of the green mountains.

end of file

Philosophy of Mind and Buddhism

For a contemporary understanding of the soul/mind and the problem concerning its connection to the brain/body, consider the rejection of Descartes' mind/body dualism by Gilbert Ryle's ghost-in-the-machine argument, the tenuous unassailability of Richard Swinburne's argument for the soul, and the advances, which have been made in neuroscience and which are steadily uncovering the truth/falsity of the concept of an independent soul/mind.

The philosophies mind and of personal identity also contribute to a contemporary understanding of the mind.

The contemporary approach does not so much attack the existence of an independent soul as render the concept less relevant.

The advances in neuroscience mainly serve to support the mind/brain identity hypothesis, showing the extent of the correlation between mental states and physical-brain states.

The notion of soul has less explanatory power in a western world-view which prefers the empirical explanations involving observable and locatable elements of the brain.

Even so, there remain considerable objections to simple-identity theory.

Notably, philosophers such as Thomas Nagel and David Chalmers have argued that the correlation between physical-brain states and mental states is not strong enough to support identity theory.

Nagel (1974) argues that no amount of physical data is sufficient to provide the "what it is like" of first-person experience, and Chalmers (1996) argues for an "explanatory gap" between functions of the brain and phenomenal experience.

On the whole, brain/mind identity theory does poorly in accounting for mental phenomena of qualia and intentionality.

While neuroscience has done much to illuminate the functioning of the brain, much of subjective experience remains mysterious.

Buddhism

Buddhism teaches that all things are in a constant state of flux: all is changing, and no permanent state exists by itself. This applies to human beings as much as to anything else in the cosmos. Thus, a human being has no permanent self. According to this doctrine of anatta (Pāli; Sanskrit: anātman) – "no-self" or "no soul" – the words "I" or "me" do not refer to any fixed thing. They are simply convenient terms that allow us to refer to an ever-changing entity.

The anatta doctrine is not a kind of materialism. Buddhism does not deny the existence of "immaterial" entities, and it (at least traditionally) distinguishes bodily states from mental states. Thus, the conventional translation of anatta as "no-soul" can be confusing. If the word "soul" simply refers to an incorporeal component in living things that can continue after death, then Buddhism does not deny the existence of the soul. Instead, Buddhism denies the existence of a permanent entity that remains constant behind the changing corporeal and incorporeal components of a living being. Just as the body changes from moment to moment, so thoughts come and go. And there is no permanent, underlying mind that experiences these thoughts, as in Cartesianism; rather, conscious mental states simply arise and perish with no "thinker" behind them. When the body dies, the incorporeal mental processes continue and are reborn in a new body. Because the mental processes are constantly changing, the being that is reborn is neither entirely different than, nor exactly the same as, the being that died. However, the new being is continuous with the being that died – in the same way that the "you" of this moment is continuous with the "you" of a moment before, despite the fact that you are constantly changing.

Buddhist teaching holds that a notion of a permanent, abiding self is a delusion that is one of the causes of human conflict on the emotional, social, and political levels. They add that an understanding of anatta provides an accurate description of the human condition, and that this understanding allows us to pacify our mundane desires.

Various schools of Buddhism have differing ideas about what continues after death. The Yogacara school in Mahayana Buddhism said there are Store consciousness which continue to exist after death. In some schools, particularly Tibetan Buddhism, the view is that there are three minds: very subtle mind, which does not disintegrate in death; subtle mind, which disintegrates in death and which is "dreaming mind" or "unconscious mind"; and gross mind, which does not exist when one is sleeping. Therefore, gross mind less permanent than subtle mind, which does not exist in death. Very subtle mind, however, does continue, and when it "catches on", or coincides with phenomena, again, a new subtle mind emerges, with its own personality/assumptions/habits, and that entity experiences karma in the current continuum.

Plants were said to be non-sentient (無情), but Buddhist monks should avoid cutting or burning trees, because some sentient beings rely on them. Some Mahayana monks said non-sentient beings such as plants and stones have buddha-nature. Some buddhists said about plants or divisible consciousnesses.

Certain modern Buddhists, particularly in Western countries, reject—or at least take an agnostic stance toward—the concept of rebirth or reincarnation, which they view as incompatible with the concept of anatta. Stephen Batchelor discusses this issue in his book, Buddhism Without Beliefs. Others point to research that has been conducted at the University of Virginia as proof that some people are reborn.

[This document can be acquired from a sub-directory coombspapers via anonymous FTP or COOMBSQUEST gopher at the Australian National University, Canberra on the node COOMBS.ANU.EDU.AU or from the ANU Soc.Sci.WWW Server at http://coombs.anu.edu.au/CoombsHome.html]

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX files]

[This version: 14 July 1994]

'RED THREAD ZEN - THE TAO OF LOVE, PASSION, AND SEX'

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

All copyrights to this document belong to Subhana Barzaghi Sensei, Kuan-Yin Zen Center, NSW, Australia

Enquiries: The Editor, "Mind Moon Circle", Sydney Zen Centre, 251 Young St., Annandale, Sydney, NSW 2038, Australia. Tel: + 61 2 660 2993

Red Thread Zen The Tao of Love, Passion, and Sex

by Subhana Barzaghi

Day 4, Spring Sesshin 1993, Gorricks Run Zendo, NSW, Australia

Most of us have arrived at this particular point in our spiritual journey with a little extra baggage about passion, love, and sex, and I have noticed that many people on the spiritual path have a tendency in the mind to create a polarisation or a separation between the spiritual path and the sexual life. There a number of ways in which this polarisation and confusion is reinforced. One of those ways is that we continue to subscribe to a collective cultural belief and myth perpetuated through Christianity, which is the predominant source of myth in our culture, about the fall of Eve. As you know, in the story, Eve touched and ate of the forbidden fruit in the Garden of Eden and gave it to Adam, a symbolic gesture. Eve was portrayed as a temptress, a seducer, and she has been held responsible for the fall from heavenly grace; her sacred flesh has been falsely blamed for the evils of mankind for generations.

This belief system is entrenched and deep-seated and runs through our whole society, even today. It is reflected in our present myths around sexual abuse and assault. In my work as a therapist in that field I noticed about ninety per cent of victimsprimarily women would often come away from an assault feeling that they were to blame. Its the only crime in our society where the victim walks away feeling like somehow they did something wrong, that they are to blame. They would often say things like, If only I hadnt stayed back at that party, If only I hadnt walked down that street, If only I hadnt worn that particular dress, If only I hadnt got in the car and taken a lift home with that person, then maybe it wouldnt have happened. We also hear offenders saying, She deserved it, She led me on, She asked for it, She encouraged me. In some ways women are still carrying the collective blame for abuse and sexual assault in our society. All of us are still redeeming the body of Eve, even today: I see an enormous amount of that in therapy.

Another factor that contributes to the disconnectedness of spirituality and sexuality is the notion of a body/mind/spirit split. It is as if this kind of thinking, this compartmentalising of life, in some way perpetuates the notion that the body and the passions of the flesh belong to the lower realms, and the flesh needs to be transcended to realise the spirit. This kind of thinking is very dualistic and hierarchical in nature. The orthodox religious mind has separated the physical from the spiritual, the sensual from the soul. Rejection of the body became a common article of faith among the worlds religions, and orthodox religion has never managed to enjoy the innocence and delight of physical beauty and sensuality. Even in our own Zen history there is the story of a nun who was a very beautiful woman, stunningly beautiful, and who went to the monastery to become a nun, and who was rejected. She went three times and she was rejected each time, because, they told her, she was too beautiful, she would corrupt the monks. The tragic story is that she was so intent on being a nun that she took a hot iron and put it to her face, scarred her face, just so that she could enter the nunnery.

This repressed rejection of physical beauty and attraction by orthodox religious authorities has contributed to religions obsession with celibacy and its condemnation of enjoying and beautifying the body. Not so long ago, Christian monks would have to make confession to the priest about masturbation. It was considered a sinful act to experience the normality of sexual arousal in the body. The flesh had to be subdued and conquered. We can laugh about that now, but its not so long ago in our history.

At the other end of the spectrum from the religious orthodox attitude is our Western consumer cultures attitude to the flesh and the body, which has made a devotional practice of adorning the body. On the market we have endless products available for every single region of the body, from the hair, to the skin, to the lips, to the breasts, to the genitals, to the toenails. The human body from head to toe has become an instrument of profit, a multibillion dollar industry.

From these two extremes we are not modelled very healthy ways of relating to the physical, sensual nature of the body. On one side, the religious view of transcending the flesh and treating it as sinful, and on the other side the endless adoring of the body, fussing over its appearances in order to prolong life, which denies the natural ageing process. One of my teachers, Christopher Titmuss, who is of the Red Thread school, said, Religion has been unwilling to see the sensual forces and the spirit as interconnected. Those who are obsessed with preserving their looks and sexual attraction cannot see past their breasts and genitals, while others cannot see the relationship between their genitals and spirituality. Both miss a marriage of the flesh and spirit.

Many years agomaybe not that many years agoI certainly engaged in wild and promiscuous sexual behaviour myself, that caused havoc with my relationships and caused immense suffering to me and to others. I suffer deep remorse and regret for what was clearly a breaking of the third precept, concerning sexual misconduct. In reaction, in a way, to that part of the wild woman in me and in an attempt to make sure that conduct never happened again, I decided to install a kind of policewoman in my psyche. A bit like Hannya: in Japanese temples they have wonderful little demons in the corner, with a sword, little fierce demons called Hannya. So I decided to adopt one of those in my psyche, and my policewoman was available at any moment to cut down that sexual desire or fantasy the moment it arose. No, you are not going to think about that! Phoom! This went on for some time; while, as I said, I suffered deep guilt and remorse.

This path eventually culminated in my taking of the robes in Sri Lanka, and ordaining as a Buddhist nun. I had really long hair then, longer than it is now, and I went from long hair to no hair at all. A Swiss nun had the wonderful opportunity of shaving my head. I thought in some way shaving my head was maybe shaving off some of my vanity. But after I shaved my head it was the most exhilarating experience. I dont know if some of you have had that experience, but the head is so sensitive when it hasnt got any hair on it, that it was like standing under a shower where you could feel every little drop, every little drop. So I was walking around with a smile, a grin, from ear to ear for days and days. This was a very joyous time and an incredibly sensual experiencelike being born again. So I couldnt even escape that way. I thought I was going to be a nun; I thought I was going to escape having to deal with all that sensuality stuff; and shaving my head ended up being one of the most sensual experiences.

My policewoman served me well for about ten years. But that too had devastating effects. In some way it was like cutting off a deep part of myself. The shadow comes back in the form of erotic fantasies, attractions, romantic projections, that haunt us until we understand that there is something very deep there that needs our attention. For many of us our sexual vitality is a mysterious life-force which seems to operate under its own laws. Vows of celibacy do not subdue our sexual energies, nor are they contained in the holy vows of matrimony. Sexual feelings have a way of asserting themselves even in the most pious minds, even in the most unlikely circumstances or situationseven here in sesshin people have wonderful fantasies. If we do not integrate the mind, body, flesh, and spirit, the spiritual will always struggle with the physical, one attempting to claim sovereignty over the other, and life becomes a struggle and effort to conquer the passions in the name of the sacred. We do agree to be celibate here in sesshin, but the purpose of that is not to suppress sexual feelings or desires but simply to provide an opportunity for us to be completely alone, and experience other expressions of deep intimacy with this undivided nature.

Our own lay practice has its roots in the monastic tradition and lineage of monks and nuns who take vows of celibacy, which does not really speak to us or help us deal with the intensity of love, passion, and desire. But the intensity is there, and it rises up. It does not help us deal with that energy in our daily lives. In the 17 000 koans in our curriculumsome of you are looking a little amazed at that!there are three of four koans relating to sexuality. It barely gets a mention. Yet love and sex and passion are so potent energies that really have a huge impact on our lives. I know that I have spent many years at retreats and I dont think I have ever met a teacher, up until recently, who would open their mouth about sex and love and passion, particularly in a retreat.

So what is the Tao of love, passion, and sex? A few koans or stories at least give us some direction or insight into the sensual nature of the Tao. Unfortunately these three koans get repeated every time someone gives a talk about this. . . . Anyway, one of the miscellaneous koans is, Why are perfectly enlightened bodhisattvas attached to the vermilion thread? The vermilion thread is the red thread, and the red thread is symbolic: I have recently learned that it is not the line of tears , as I used to think, but it comes from early China, where the geisha girls and courtesans would wear a red garter on their thigh, as the line of passions. So: Why are perfectly enlightened bodhisattvas attached to the vermilion thread? One of the characters I want to introduce you to is a wonderful character in the Zen tradition, called Ikkyu, who is one of my longstanding and favourite Zen masters and who appeals, I guess, to the wild woman in me. He was born in 1394 and was an illegitimate son of the emperor Go-komatsu. He was known by some as the emperor of renegades, a wild wandering monk and teacher, sometimes called Crazy Cloud. He was a lover, a poet, and he could write very tenderly about the beauty of women. He relentlessly attacked the hypocrisy of the then corrupt Zen establishment, and even had women as his students. I think he was one of the first Zen masters to have women as students; that was considered quite radical. It was in the brothels and geisha houses that he developed the Red Thread Zen, a notion he borrowed from the old Chinese master Kido and extended to deep and subtle levels of realisation. This very body is the lotus of the true law. This very body is the lotus of the true law, linking human beings to birth and death by the red thread of passion. This approach was closely related to Tantric Buddhism, that used sexual union as a religious ritual. Ikkyus Red Thread form of Zen practice was a radical approach, a non-dualistic interpretation of the sexual act, realising this very body is the Buddha-dharma. Ikkyu wrote a poem after his first realisation experience:

From the world of passions returning to the world of passions: There is a moments pause. If it rains, let it rain; if the wind blows, let it blow.

Ikkyus Red Thread Zen and wild, poetic, passionate nature was also tempered, though, by his extensive training in the Rinzai school, very intense training. Rinzai was a very strict master, and Ikkyu was very strict and demanding with his own students.

At the age of 77, Ikkyu had a passionate relationship with a mistress named Lady Shin. She was a blind singer and composer and a very skilled musician, and she was in her late thirties. He wrote lots of beautiful graphic poetry celebrating their love, and it was in Lady Shin that Ikkyu finally located his own missing female self. As Manfred Steger commented in his book Crazy Clouds, Ikkyu incorporated bold elements of the physical relationship into his teaching of Zen, playing on koans in an erotic context, and bound the manifest and essential worlds in a love-knot. His radical methods and practices honoured women and the red thread that binds even the most enlightened Zen masters to passion, birth, and death. Ikkyu celebrated the joy in human love, and within sexuality there lies a profound sacred practice, similar to Tantric Buddhism. He infused Zen for the first time with a feminine element that had long been missing. When Ikkyu was about 80 years old that he was asked to be the abbot of Daitokoji, which is one the great temples in Japan. At that time it was completely in ruin from a civil war, so it was an extraordinary thing to do at 80 years old, to rebuild Daitokoji: which he did. He had an extraordinary enlightened mind.

Another great character and master is Chao-chou, and he has some comments about the passions. After master Chao-chou visited Mount Wu-tai, his teaching spread widely in north China. He was invited to stay at the Kuan Yin monastery in his own native town of Chao-chou. He came to the assembly and said, It is as if a transparent crystal were held in ones hand. When a foreigner approaches it, it mirrors him as such; when a native Chinese approaches it, it mirrors him as such. I take a stalk of grass and let it act as a golden-bodied one, sixteen feet high, and I take a golden-bodied one, sixteen feet high and let it act as a stalk of grass. Buddhahood is passion, and passion is Buddhahood.

During his sermon a monk asked him, In whom does Buddha cause passion? Chao-chou said, Buddha causes passion in all of us.

The monk asked, How do we get rid of it?

Chao-chou said, Why should we get rid of it?

Its not some great enlightenment verse, but it seems at least to point some of the way in our daily lives.

Another story that Aitken Roshi has told a number of times, a more classical story, also points at and disapproves of puritanical religious attitudes to sex. In ancient days an old woman made offering to a hermit over a period of twenty years, and one day she sent her sixteen-year-old niece to take food to the hermit, telling her to make advances to him and to see what he would do. So the girl lay her head on the hermits lap and said, How is this?

The hermit said, The withered tree is rooted in an ancient rock in bitter cold during winter months; there is no warmth, no life.

The girl reported this to her aunt, and the old woman said, That vulgarian! How outrageous! To think that I have made offerings to him for twenty years!

So she drove the hermit away and burnt down his cottage. As Aitken Roshi said in his commentary on the third precept, of sexual misconduct, While we may question the use of the niece as bait to test the monks realisation, it is clear that the aunt fundamentally disapproves. The monk was not responding to the human being who lay down there on his lap. He was using her to express his own ascetic position. The fire is a dream symbol of sex: You dont belong here! Sex belongs here!or at least some acknowledgment of it. So: what would your response be?

I wish to emphasise that not cutting off the passions is not a suggestion to violate the third precept. It is not a matter of sexual misconduct. There is a translation of the third precept by Thich Naht Hanh which I think is particularly beautiful. Aware of the suffering caused by sexual misconduct, I vow to cultivate responsibility and learn ways to protect the safety and integrity of individuals, couples, family, and society. I am determined not to engage in sexual relations without love and long-term commitment. To preserve the happiness of myself and others, I am determined to respect my commitments and the commitments of others. I will do everything in my power to protect children from sexual abuse and to protect couples and families from being broken by sexual misconduct.

Not cutting off the passions, for me now, after having gone from one extreme to the other, is more like walking a fine line of integrity. When we deepen in our spiritual practice, our hearts become more and more open. We have such rich and deep connections with people, with one another, truly deep loving intimacy. So how to keep that door open, how to keep that heartfelt life there, but not be seduced by the power and attraction of that intimacy?Because it is in that deep intimacy, of course, that sexual attraction and energy can arise and emerge. So how to maintain an integrity in that intimacy, and be true to our feelings of love for one another, and not fall into that well of sexual misconduct? My own job as a therapist and teacher, of course, is to create deep connections of intimacy, and that does happen with many people, and it is certainly wonderful and rich. Wonderful connections with people are possible in that situation. But I have many boundaries and ethics that I apply in those situations, particularly through my psychotherapy training. There are very strict ethics around that relationship. You never engage in sexual relationships with any client; even six months after you terminate with a client, this is not OK. But while I can keep those strict boundaries and ethics there, when I am in those roles, outside of those roles it is more difficult for me. Then the heart is wide open; where then are the boundaries? I know my shadow is that I fall in love all the time, with lots of people.

Whatever emerges from our lives has its roots in Buddha-nature. So let us gassh and be grateful for our sexuality, the creative energies that it releases to our receptive heart and mind. We do not need to block our sexual energies, nor do we need to be a slave to them. Sexual energy in a loving committed relationship with its fusion of love, play, magic, ecstasy, is life celebrating life. This respectful communion of the sexual act may reveal the divine mystery rather than just simply be pleasurable, entertaining sensations. What makes the difference is our intentions, our love, our faith, and the attitudes that we bring to this experience. If we hold a reverence for life, an awareness of our interconnectedness and oneness, and we experience the other as none other than our very selves, the shared joy of lovemaking is a spiritual meeting of the flesh and spirit. The boundaries of a separate self can fall away and life is making love with life. The Buddha-tao is to be discovered in our daily lives, the sacred is to be found in the ordinary, and the ordinary in the sacred. Christopher Titmuss was great on one-liners, and he said, The bedroom becomes a temple of joy, and the sacred truth can be found equally between the bedsheets as in the holy books. (I told you he was from the Red Thread school.)

There is a koan that I would like to finish with by Rainer Maria Rilke, just a short line out of a long poem, quoted in the book called The Enlightened Heart:

Isnt the secret intent of this great Earth, when it forces lovers together, that inside their boundless emotion all things may shudder with joy?

May all beings venerate life as a state of deep spiritual intimacy. Here in the fields: just those young green fronds making their way out of the earth. This is so sensual and beautiful; this is the great sensual nature all around us. Please enjoy it!

(A Teisho given at the Spring Sesshin 1993, Gorricks Run Zendo)


end of file

This document was originally distributed on Internet as a part of the Electronic Buddhist Archives, available via anonymous FTP on the node COOMBS.ANU.EDU.AU

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX file.

This version of the document has been reformatted by Barry Kapke and is being distributed, with permission, via the DharmaNet Buddhist File Distribution Network.

[Last updated: 29 September 1993]

                "SEIJO AND HER SOUL SEPARATED".

[this text was first published in the MIND MOON CIRCLE, Summer 1991 pp 2-4]

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

All copyrights to this document belong to Subhana Barzaghi Sensei, Kuan- Yin Zen Center, NSW, Australia Enquiries: The Editor, "Mind Moon Circle", Sydney Zen Centre, 251 Young St., Annandale, Sydney, NSW 2038, Australia. Tel: + 61 2 660 2993

                  SEIJO AND HER SOUL SEPARATED
                    SUBHANA BARZAGHI, SENSEI
                          Spring 1991

The story: During the T'ang dynasty, there lived a man called Chokan. He had two daughters. When the elder girl died, he devoted himself to the younger, Seijo. As she grew up he turned his attention to the question of a suitable husband for her and eventually selected a good and strong young man. But Seijo had already taken her cousin Ochu as her lover. She had grown up with him in a union blessed since childhood, and she considered herself betrothed to him. When Chokan announced that his choice of a suitor was to arrive in the village, Seijo became cast down and sad. Ochu, unable to bear the prospect of witnessing the betrayal, left the village without saying farewell. He took his boat and rowed into the night. As he rowed he noticed the outline of a figure running along the bank. He put into the shore to see who it was; and there was Seijo, tear stained and adamant. Together they travelled to a distant land where they lived as man and wife. Five years went by. Seijo gave birth to two girls. But though she loved Ochu and the children, she was weighed down by the dishonour she'd done to her father. All this she told to Ochu. And he admitted that he too longed for his homeland. "Let us go back and beg forgiveness," he said.

And so they returned. At the port, Ochu left Seijo and the girls while he walked to the village. He went directly to Chokan's house, confessed the whole story and bowed his head at their ungrateful behaviour. Chokan received him kindly. "Which girl do you mean?" he asked. "Your daughter Seijo," Ochu replied. "That is not possible," Chokan said. "Seijo is here in the house with me. Since you left the village without bidding her farewell she has lain here; she lies here now."

Mystified, Chokan refused Ochu's invitation to go with him to the port. Instead he sent a servant to check the boat. When the servant returned, reporting that it was indeed Seijo who waited there, Chokan took Ochu into the house. "She has not spoken since you left," he said. "It is as if she has been absent in mind, or drugged. Now I see that her soul left to follow you." So saying, he showed Ochu into Seijo's room. Hearing the story, Seijo rose from her bed, still without speaking, and walked out into the village just as Seijo and her children stepped from the cart that had brought them from the port. The silent Seijo moved forward to greet her, and as she did, the two were united.

Chokan spoke to Seijo. "Ever since Ochu left this village, you have not uttered a word, and you have always been absent in mind as if you were drugged. Now I see that your soul left your body and has been with Ochu." To this Seijo replied, "I did not know that I was sick in bed at home. When I learned that Ochu had left this village in distress, I followed his boat that night, feeling as if it were a dream. I myself am not sure which was the real me - the one with you, sick in bed, or the one with Ochu as his wife."

This story is a useful metaphor for each of our lives and also highlights a process of realisation. How I would like to approach it is to go beyond the content of the story and focus on the process. The first part of the process being separation, the illusion of duality, the second part the sense of longing, being the turning point; and the third part, reunion and transformation. Our koan study here requires us to take up the point, which is the real Seijo? It's not enough to say they were one from the beginning. We must seek the true Seijo here and now.

The first aspect that I want to address is Seijo's spirit separated. If we take this story as our own story, how often do we separate ourselves, live our lives in a fragmented way, disconnected from the environment and unresponsive the the people around us? If we start the day with a shower we are no sooner under the shower before we are thinking about what we want for breakfast. We start eating our breakfast and after the first two mouthfuls we are then off planning the day. So we tend to live in this unmindful and disconnected way. We see in this dramatised analogy that Seijo was like a ghost, living with her parents at home and not knowing she was at home. We often split off from this present moment, wanting to be somewhere else, dreaming of the ideal mate, or wanting to be something more than we are. We are ghosts to our children when we are preoccupied by our careers, mortgages, or even preoccupied saving the planet.

This is obvious when we try to engage in this simple act of sitting on our cushions, and being aware of our breath, when something from the past, some fantasy, some soap opera, will pop up and take over and suddenly we are up off our cushion and spend the next twenty minutes wandering around in our head.

If we look at our lives, how many roles do we divide ourselves into? Parent, partner, career/job, member of a sangha/community, peace activist, student - no Hollywood movie director would cast any actor in so many roles, yet we taken on these roles daily. Seijo was a wife and mother of two children in a far city. Seijo was a sick daughter at home. When we split off or divide ourselves from the present moment we drain our vital energy and are basically ineffective. In this story Seijo was completely laid low.

If our attention is not focused we are no longer congruent. We may be thinking one thing, feeling another, saying something else, and doing something entirely different. If we look into our own emotional and psychological split, what emotions do we encounter that are difficult for us to be with? We often avoid or suppress unpleasant feelings and sensations. To be with them and include them in our zazen is our growing edge. In the very midst of our pain and difficulties lies a great freedom.

So our practice of mindfulness is to bring us home to this moment, moment after moment, to heal the splits in our psyche and to let go of that psychological conflict. The dawning of the heart and the steady light of insight will emerge by gently and faithfully returning to the practice of being with the way of things just as they are.

If we are worried about the future or preoccupied by anger or fear, although our child may be standing in front of us, the child will not really exist for us. She or he is like a ghost and we may be living like ghosts too. If I want to be with my son, I need to return to the present moment, hold him in my arms and connect with our breathing, then I naturally awaken that precious playfulness and dance of the love of life.

If we look deeper we find (as Yasutani Roshi said), "The fundamental delusion of humanity is to suppose that "I" am here and "you" are out there." This fundamental delusion of a separate permanent self is the root cause of much of our suffering. We get caught by the dualistic concepts of subject/object, self/other, oneness/emptiness, true/false, body/soul. Seijo is not simply limited to this body and soul and we are also not limited, we are this great life that is neither one nor two.

If we see from the Bodhisattva's point of view that the actuality of our daily lives and the essential world are intrinsically one and the same, one indivisible whole, then our daily actions, driving the car, feeding the kids, cleaning the house are all manifestations of the Tao. The clouds, colours, sounds, smells, feelings and thoughts are the interconnected net of Indra and the very texture and body of the Buddha.

Another major way in which we hold onto our separation is by attachment to our fixed opinions, views and beliefs. There is no mistake as to why Thich Nhat Hanh made the first precept in the "Order of Interbeing" (which means to continue to realise or to be in touch with): Do not be idolatrous about or bound to any doctrine, theory or ideology - this includes Buddhist ones. This encourage us to experience directly for ourselves the truth. What often gets in the way is our own self-centred preoccupations. It's when we get out of our own way, let go, that the great universe opens up. If we return to the story, there is something very beautiful in this process, Seijo's longing to return home. Essentially we all have this deep longing to return to our true home, however often it is masked by the veils of our desires and ignorance. It is often pain and discontent that leads us in search of the truth, and our longing for inner peace and harmony that turns us around. Our suffering and our joy returns us to our practice over and over.

When the Buddha said the first noble truth is ~Life is suffering", what did he mean? The statement was not made from a morbid depressing view of life. Yet if we are intimate with the moment to moment impermanent nature of all things, we recognise that there is an underlying dissatisfaction. The question arises: is there something more? What emerges is the longing to understand. I know in my own life there welled up inside of me a great passion to want to know what I am, what I am. In fact, it was that passion and determination that led me to meet Aitken Roshi and it's the same passion and determination that the Buddha had when he sat down under the Bodhi tree. Our search for peace is, in
truth, the longing for the empty infinite self, the heart longing to discover its own original face. It is this very longing which is the manifestation of the Bodhisattva vow to save all beings.

So we do our zazen and we patiently refuse the domination of our fantasies, judgmental opinions about ourselves and others and we turn around as Seijo did to this moment. We turn the dharma wheel when we encounter this moment this is our focus and our samadhi will gradually deepen us, the process has its own natural momentum and unfolding .

The story has a beautiful and inspiring ending, symbolic of the process of realisation. The Seijo sick at home in bed and the Seijo with the two children from the distant city rejoined and became one. Seijo is here with us now, she is inviting us to discover our affinity with the stones and clouds, not to change from one form into another but rather to enable us to experience this ancient truth of no-self.

Another aspect that is reflected in this story, probably relevant more to women, is that we have traditionally experienced our lives and defined ourselves by who we are with. For example, Seijo was a daughter in relationship to her parents, Seijo was a wife in relationship to her husband. The person we are partner to can very often define who we think we are. We are constantly in relationship, each moment is relationship and in truth there is only one relationship. All things are no other than one's very self, so we are constantly in relationship with the self, with our infinite true self. The split Seijo became one, our maturity is not to just define ourselves by the person in our lives but to stop and be in communion with our original face without definition. The true self knows no separation.

The moon and the clouds are the same Mountains and valleys are different. All are blessed, all are blessed. Is this one? Is this two?

Yes, indeed the blessed outcome. The Bodhisattva way is to nurture our longing to return home, to find our unity with all beings. The moon and the clouds are the same, essentially all beings by nature are the Buddha Tao. If we cannot see into the essential world, and only recognise our uniqueness and our differences, (mountains and valleys are different) this thinking directly leads to chaos. Such chaos is evident in our society and reflected in the way we treat our environment. Dharma/Gaia calls us to wake up the light of dawn and remember that the moon and clouds are the same, even in our darkest valleys and most difficult moments. The garden is watered, Dharma/Gaia is nurtured, all are
blessed, all are blessed.

end of file

[This document can be acquired from a sub-directory coombspapers via anonymous FTP or COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU or ANU Soc.Sci.WWW Server at http://coombs.anu.edu.au/CoombsHome.html]

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX files]

[This version: 23 March 1994]

KI Taizan Maezumi Roshi

An un-dated teisho, most likely delivered in the mid- or late 1970s, made available to Sydney Zen Center in a xeroxed form.

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

All copyrights to this document belong to Taizan Maezumi Roshi, Los Angeles Zen Center, 905 South Normandie Ave., Los Angeles, California USA 94707

KI

Teisho by Taizan Maezumi Roshi

Generally, when we talk about sitting zazen, we divide it into three parts: disposition of the body, breathing, and controlling the mind.

And, regarding the disposition of the body, most of our postures could be improved. One way to do this is for you to sit in front of a mirror and check how you sit. Then try to sit better.

What I want to emphasize today is the breathing, and also what we call 'ki', a sort of spirit or energy which is very important. I want you to contemplate on this aspect and raise ki.

We say 'kikai', lower abdomen, ocean of 'ki'. Somehow, in the Orient, this ki, this flow of energy, was found a long time ago. Lao Tzu talked about it long before Buddhism went to China. In Taoism they talk about this ki. And they talk about 'Shi', aspiration. Mo Tzu, one of the earliest Taoists said, "Aspiration is the boss of the body. And the 'ki', or energy, is the thing to fill up the body." Your body should be filled with this ki.

Those who are working on the koan Muji can especially utilize this 'ki'. Work on Muji as if Mu itself were 'ki'. First, concentrate in the lower abdomen, then let that 'ki', Muji, permeate all your body gradually. Then let that 'ki' flow nicely throughout your body.

Harada Roshi (Yasutani Roshi's teacher) explained about sitting posture. Sit with this spirit, and even during severe cold in winter, after sitting a while your body will start getting warm. You can do that when you start letting 'ki' flow smoothly throughout your body and especially through the lower abdomen. Very soon you start feeling that warmth. And sit with such energy and strength that if anybody casually touches you, sparks fly. It is that kind of intensity...Yet it's not physical tension...Just let the body really sit well. With 'ki', you can have that strength. And in order to do so, we should have proper breathing. We can almost say breathing is the key.

It fascinates me that the etymological implication of spirit is 'to breathe'. Nowadays we have a different implication about spirit. But the original implication is 'to breathe.' There is an energy, or spirit, which flows along with the breathing. Even in China, over 2000 years ago, this was practiced.

And 'ki' is not only that which flows within ourselves, but also that which flows in the entire universe. Then, we match our 'ki' with that 'ki' of the universe, and we become as strong as the whole world.

Now Chang Tzu says an interesting thing about this 'ki'. He says that when 'ki' is disturbed and upset and scatters, it becomes scarce within the body. Literally he says 'kinan tatsu'. Tatsu means stand up, the opposite of sitting. So, let 'ki' sit, and don't let it scatter outside yourself.

This reminds me of the very primary aspects of sitting. I often talk of the analogy of spinning the top. When the top is really well spun, it stands straight. But even standing in one place, it wobbles if it's not well spun. It's not quite stable even though it's standing. When it spins well, it stands spinning. And when it really spins well, it becomes almost as if the top here just standing still; we can see the shape of the top as if it here motionless. And such a condition is called 'to sit.' It's kind of an interesting analogy.

In our sitting the same thing happens. When we sit, when we make ourselves sit, in a way it's sitting. But in most of our cases, it's almost as if... even though the top is standing... it's wobbling. Even though sitting, it's not really sitting. Mind is running around; sensations; emotions; feelings.....wobbling.

But when we really sit, even the inner organs are well settled down, and yet, very active.

(Nowadays, both in Japan and this country, this effect of sitting is being re-examined by scientists, especially the psychologists and biologists. And they're finding out all kinds of interesting results of sitting. So, just for the purpose of making ourselves healthy, sitting is highly recommended).

Chang Tzu says more about this. He says that when 'ki' is standing and exposed externally, then internally the 'ki' becomes scarce. And when 'ki' rises to the head, you become easily upset. It's an interesting observation. This was said over 2000 years ago by Chang Tzu and it's also true today: When we have tension most of the energy is up in the head. Then we become more sensitive and we're more easily upset. And when the 'ki' is down and stays there you become forgetful. In other words, the ki's not quite well circulated.

Now, when 'ki' gets stuck somewhere in the middle, not up and not down, then you get sick. And that fascinates me: We say sickness. And in Japanese we say 'byoki'. I think that word is derived from the original Chinese: byoki. 'Byo' means illness or sickness. So byoki means sickness of ki'. And I read someplace that over one third of our illness is caused by sickness of ki. Maybe it's more than that. That's very interesting. In this country, for instance, culture is so complex and so high pressure that 'ki' can't flow, and most of the time our 'ki' really stays up in the head. Then we get very easily frustrated and become upset. And being in that condition for a long time, we can easily see what happens: it becomes neurotic. Even further: it becomes psychotic. Then we lose the balance. So let that 'ki' flow.

Then how to let that 'ki' flow? Breathing is a very effective way to do it. There is a Taoist saying, that the true man, the most healthy man, breathes with heels, and that the common people breathe with the throat. In other words, ordinary breathing tends to be very shallow, but the most healthy people breathe with the heels. By breathing in that way, that 'ki', the spirit, the breath, circulates all over the body. As a matter of fact, they have two kinds of breathing. One way is to let the breath circulate from the top of your head to the bottom of your feet. You can do it even while standing, or while lying down. And how to do it is simple: Breathe in from the heels; then let that breath, that inhalation, go up along the back of your legs and spine, and then let it come up to the top of your head. Then when you exhale, let that breath go down along the front part of your body, into the toes. Then breathe into the heels again. Another method is to move the circulation in smaller circles. That is to say, go through the lower abdomen to the head and from the head to the lower abdomen. Actually, this is the kind of breathing that we do in sitting. But since, in sitting, the heels are very close to the lower abdomen, if you want, you can breathe through the heels.

We speak of 'joriki', the power of stability. This kind of energy is raised by 'ki'. So I want you to pay extra attention to how you can raise this 'ki' and make your sitting stronger.

From time to time I hear those who are in charge of the zendo encouraging you to sit strong. But that doesn't necessarily mean physically to tense up. Sitting in a tense way, you can't really let the 'ki' flow in your body. Then it gets stuck someplace because you're straining yourself, even if you're concentrating. It's nice to let the 'ki' flow with the breath. But if you ignore it, the 'ki' tends to get stuck: in the head, in the chest, in the stomach, and so forth. That's not good. Then you physically get sick. I notice a number of people complain of pain around the stomach... definitely from strain...The 'ki' can't flow. Or, like a headache: Definitely if you concentrate just up in the head, blood circulation gets poor and you start getting headaches. So have good disposition of the body and let it balance by itself. Then breathe nicely, to circulate. Short breath is OK. Long breath is OK. Try to let it circulate nicely, and when you concentrate well you can lengthen your breathing. And then let it really settle down. Actually, when you really do that, mind, the conscious mind, is also very well controlled. That's why counting the breath is very highly recommended: It is effective. But it should be practiced properly, otherwise the result is less than it could be.

So, sit well, breathe well, and raise this 'ki'. It will make your sitting stronger, and make your practice better.


end of file

[This document can be acquired from a sub-directory coombspapers via anonymous FTP or COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU or ANU Soc.Sci.WWW Server at http://coombs.anu.edu.au/CoombsHome.html]

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX files]

[This version: 1 November 1995]

THE PATH OF THE BODHISATTVA [Hekigan Roku: Case 89] Subhana Barzaghi Sesshin Teisho

[this text was first published in the MIND MOON CIRCLE, Winter 1995 pp. 13-16]

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

All copyrights to this document belong to Subhana Barzaghi Sensei, Kuan-Yin Zen Center, NSW, Australia Enquiries: The Editor, "Mind Moon Circle", Sydney Zen Centre, 251 Young St., Annandale, Sydney, NSW 2038, Australia. Tel: + 61 2 660 2993

THE PATH OF THE BODHISATTVA Subhana Barzaghi

Ungan asked Dojo, "How does the Bodhisattva Kanzeon use all those many hands and eyes?" Dogo answered, "It is like a man in the middle of the night reaching behind his head for his pillow." Ungan said, "I understand." Dogo said, "How do you understand it?" Ungan said, "The whole body is hand and eye." Dogo said, "That is very well expressed, but it is only eight-tenths of the answer." Ungan said, "How would you say it, Elder Brother?" Dogo said, "Throughout the body, the hand and eye." Hekigan Roku: Case 89

The Bodhisattva ideal is particular to the Mahayana Path. Bodhi means awakened one, sattva means being. Together they mean a person who is awake and who is committed to the liberation and well-being of every human being and creature.

One of the grand archetypal images of the Bodhisattva of Compassion is portrayed with 1,000 arms and eyes. In this imagery, the eyes of the Bodhisattva symbolise wisdom, while the hands symbolise compassion. The compassion and wisdom of the 1,000 arms and eyes are symbols of active help to those who are suffering and the readiness to take on the suffering of all other beings.

The question is, "How does the Bodhisattva of great compassion use those many hands and eyes?" Or, in other words, what is the Bodhisattva way of being in the world? What are some of the ways we can bring wisdom and compassion into the world?

Dogo said, "It's like a person in the middle of the night reaching behind their head for their pillow."

This is a very interesting answer. There is a lovely image of naturalness in this response. It suggests a person who is half conscious and half asleep, like in a dream, instinctively groping around in the dark and reaching back for the pillow. This is a metaphor for true compassion which comes from a truly natural response. Our deepest natural response arises from the act of forgetting the self.

A commonly held but erroneous view is that the Bodhisattva seeks Buddhahood through the systematic practice of perfect virtues but renounces complete entry into nirvana until all beings cross over to the other shore, and are liberated.

In our Bodhisattva vows we chant, "The many beings are numberless, I vow to save them." But how do we save the many beings? The correct Mahayana perspective is that realisation is the act of "forgetting the self". In the moment of "forgetting the self", we are united with all beings in the universe and in doing so we liberate them, because in truth we are not separate from all beings. This is what is meant by saving all beings.

To follow the trail of a true human being is to hear the call of suffering and use every circumstance to express compassion and understanding. As our practice widens we gather a greater capacity to bear witness and embrace the suffering in the world. One of the pitfalls is that we can hold some inflated or idealistic image of ourselves as the saviour, the rescuer, the do-gooder, none of which reflects who we actually are. The Bodhisattva way is the way of true simplicity, it is the art of being very attentive, listening with an open spacious heart and returning the freedom and wonder to every encounter, to every situation.

The Bodhisattva within each of you knows that love is irresistible and perhaps irreversible. There is no going back. Once we encounter awareness and love we see through our narrow old ways of contraction, stubbornness, fear, defensiveness, anger and greed. Although we may revisit our old patterns, we tend to no longer be buried by them. We come to abide and trust that love and wisdom are irresistible and transform whatever they touch.

Within each of you is this spirit, this light, this generosity and peace of our Buddha nature which are in many ways the greatest gifts we can bring to the earth. It's just that sometimes this light gets a little buried as we scratch out a meagre existence in our own little backyards, preoccupied with trying to keep the grass down.

I remember one of my earliest practices in the Tibetan tradition which was to sit and contemplate the thought that every being I ever have or will encounter has been at some time my mother, father, brother, uncle, aunt, sister, son or daughter. It seems bizarre to contemplate that this ant was once my father in some previous life. Yet, strange as it is, it brings with it a respect, reverence and tenderness for all life and greater responsiveness to all creatures. Whether it is literally true or not is irrelevant, we can open our hearts to this reverence and experience this ant and bird as our brothers, that we are interconnected and interdependent in the seamless fabric of totality.

One of the great qualities of the Bodhisattva way of being in the world is to practice with a listening heart. Fran Peavey, a social and peace activist, shared this story about the Compassionate Listening Project. Fran and her friends travelled to various "hot spots" in the world, places of conflict, war or racial violence. They simply walked into these troubled places, sat down and listened. They practised listening with respect and attention to all sides of the conflict. When people felt heard, then the tension eased and a new space and possibility opened up for negotiation.

Right here in my own backyard in Lismore, in the very midst of the local political domain, there is a wonderful story. Councillor Lyn Carson was running as one of the Community Independents for the City Council elections. During their innovative campaign, she and her running mates went to the busy street corners of Lismore and sat down with a sign saying, "Community Independent, willing to listen." One by one people would come up and talk about their concerns.

A truly great story of compassionate listening came out of the Boodan Land Gift Movement in India. One of my earlier teachers, Vimala Thaker, was very involved in this movement and I was reminded of this inspiring story by our recent journey to India. After Ghandi's death, Vinoba Bhave, a senior elder in the Ghandian movement, took a six-month walk on foot half-way across India to a Conference., Vinoba would walk into rural villages along the way and invite everyone to gather around and tell their stories of hardship.

One of the main issues which continually emerged was the plight of the Untouchables, the people Gandhi renamed Harijans or "the children of God". They suffered severe poverty and had no land to grow their own food. Upon hearing their story, Vinoba offered to take their concerns to the Prime Minister, to try and have land reallocated to the landless poor. However, Vinoba knew in his heart that the Indian bureaucracy was so ponderous that it would take forever to bring about even minor changes. He also knew that by the time each petty bureaucrat in each government department took their slice of the land "pie" there would be virtually nothing left for the poor.

Vinoba did not want to create false hope, so the next day he once again gathered together the villagers, this time to apologise and confess his doubt that such action would gain them the land they so desperately needed.

A wealthy landowner in the gathering was deeply moved by Vinoba's integrity and honesty and immediately offered to give some of his land to the Untouchables. In the next village, Vinoba recounted this story of futility and generosity to another gathering and again a wealthy landowner offered some of his land.

By the time Vinoba had reached the conference, two thousand acres had been given back to the poorest villagers. Inspired by Vinoba's work, Vimala also walked across India from east to west and north to south and eventually ten million acres of land was given back to the landless poor without a single hand from the bureaucracy. All of this began with the simple act and spirit of listening.

Our quality of listening does expand. At first we are preoccupied by our own individual song. Meditation helps us to step outside this song and tune into the great song that moves through all of us. The great song allows us to hear without judgement, without picking and choosing between the ten thousand different voices in the orchestral choir of life from the children's cries and laughter to the complaining, whining voice, the silent voice of oppression, the weeping voice, the critical voice, the joyful, playful voice, the piercing voice of the currawong and the deafening voice of the crickets at sunset. All are intertwined in the song, all are part of ourselves, and yet we are none of these.

In Tung-shan's Five Degrees of Honour and Virtue, the first degree of virtue is when we listen to the ancient song that rests in the heart before time began, the song that is beyond all stories, beyond all goals. This is the virtue of ascending to the world of emptiness where we don't even see the trace of a cloud. Yamada Roshi described it as "the world of no difference, no variations, no phenomena, no concepts." We still wish to save all beings, but there are no beings visible in the whole world.

The second degree of virtue is descending again into the world of differences, this time however seeing each thing as a unique expression of essential nature. Again, the Bodhisattva vow has arisen strongly from our bosom. We now come to honour, and find ourselves bowing to the dawn, bowing to our sangha, bowing to the difficult ex-spouse, bowing to the sick child, bowing to the garbage, bowing with gratitude for our daily bread and cheese, bowing to every kind of person. Whether rich or poor, high or low, we respond accordingly.

Yasutani Roshi added some comments here. "Before the degree of virtue we are not free because of delusion. Upon the degree of virtue we are not free, because of satori, because of attainment and proud realisations. When we attain to the degree of combined virtue for the first time, we are completely free."

To walk the trail of a true human being, one's action must be in harmony with the ancient law of conscious conduct. Our ethical conduct of living and refining the Five Precepts are gifts of non-harming we offer to the world. The positive power of virtue is fathomless. The Five Precepts become our natural abiding place of engaged expression in the world.

It is said there are two great forces in the world; one is the force of hatred, those who are unafraid to kill others; and the other great force arises from those who are unafraid to die and use only weapons of love, insight and compassion.

The following story of Maha Gosananda was told to me first by a peace activist in Thailand. Maha Gosananda is one of those people who uses only weapons of love, who is unafraid to take a stand for truth and practice metta, loving-kindness, even in the face of great adversity and fear of death. He is an inspiring and extraordinary Buddhist monk, one of the last remaining elders in Cambodia. He was invited to open a Buddhist temple on the Thai border, at a refugee camp. As many as 50,000 villagers had been forced to become communists either by threat or at gunpoint and had fled to the refugee camp. These villagers had endured enormous suffering.

Parents and children had been killed, families torn apart, their temples, schools and villages destroyed and burnt. Many had been threatened with death if they attended the opening of the temple, but despite this, 20,000 villagers turned up for the opening ceremony.

What could Maha Gosananda say to those people whose lives had been totally ripped apart? Maha Gosananda started the ceremony with ancient and traditional Buddhist chants, then he chanted one of the central verses of the Buddha, first in Pali (the traditional language of the Buddha) and then in Cambodian.

		Hatred never ceases by hatred
		   but by love alone is healed.
		This is an ancient and eternal law.

He chanted these verses over and over and thousands of people chanted with him and wept. Despite their pain, grief, anger and suffering, the truth they chanted was even grater than their suffering. Truth has the virtue to hold and transform our sorrows.

To act in the world most effectively, our actions cannot come from the small sense of self, our limited identity, our personal hopes and fears. Rather we must listen to a greater possibility, a greater dream for humanity, and cultivate actions connected to our highest intentions. If we listen to the Tao, the deep current of truth and act in accordance with this truth, then no matter what happens, our actions will be OK. Reverence for the dark and the light enables us to move freely in the world, responding with compassion to the suffering and being free in the midst of it all, resting with the Dharma rather than the drama.

If we return to the Case, remember Ungan said, "The whole body is hand and eye." The wisdom of the Bodhisattva is to not be caught and bound by the concepts of time, sage, ordinary, self and other. The distinction between ordinary being and saint are wiped away. Avalokiteshvara's arms raised to save sentient beings become our own, which are now engaged in sipping and drinking a cup of tea, preparing a meal for the family, opening the window to let the light in, inviting a friend over for a chat. These present hands and eyes reveal the whole of it, the whole mystery is revealed right here in your hand, if you look deep enough. The light at work that shines within you, this non-discriminating light that does not waver, with no fixed abode, is unhindered like the moon traversing the sky.

Responding to suffering is only one face of life. Another eye of the Bodhisattva is to live imbued with the face of wonder. In the simple acts of mindfulness, our hearts are unfettered and we see the face of wonder, even in the complexities of our lives. Wonder may be ecstatic, joyous breathtaking, an exhilarating experience of connection with a loved one, a reunion of old dear friends, the joy of the full moon rising over the cliffs, or standing out under the Milky Way. Wonder is joining with this miraculous moment, whatever it may be. Wonder is a state which can only ever be found in the present moment, where we are stripped bare to the pure experience of tree, leaf, walking, touching and seeing.

As we walk further and further into our old growth forests, deeper into our practice, so too our sense of wonder increases, right in amongst the daily rituals of cleaning, breathing, sweeping, sorting and carrying, It's a mystery to stand here in the mist of eternity and not know our own true face. There is wonder in that. It's also a wonder to stand here and see into the vastness and know your roots. But knowing and not-knowing are momentary experiences, states of mind, changes in consciousness, movements on the surface of the sea. Our original face of wonder is beyond knowing and not-knowing. It's just adjusting the pillow in the middle of the night.

So, Bodhisattvas, what will you do with your many hands and eyes?


end of file

[This document can be acquired from a sub-directory coombspapers via anonymous FTP and/or COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU]

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX file]

[This version: 28 July 1993]

THE POOLS teisho by Charlotte Joko Beck, Sensei

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

Copyrights (c) by Charlotte Joko Beck and Zen Center of San Diego, USA

[The text of "The Pools" has been reprinted from February & March 1989 issues of the Newsletter of the Zen Center of San Diego.

      Beck Joko Charlotte, Zen teacher, head of the San Diego  Zen Center. In the

1960s she trained under Hakuun Yasutani Roshi and Soen Nakagawa Roshi. In 1978 she became the 3rd Dharma heir of Taizen Maezumi Roshi of the Zen Center of Los Angeles. Currently she teaches in San Diego, USA and Australia (mainly at the Brisbane Zen Group). She is an author of a book Everyday Zen: Love and Work. 1989. Harper and Row. A chapter discussing her work can be found in the L. Friedman's book Meetings with Remarkable Women: Buddhist Teachers in America. 1987. Boston & London: Shambhala.]

THE POOLS

Let's picture if we can two landscapes. The first has a deep clear quiet pool, and the second also has a deep clear quiet pool. The first one is surrounded by garbage. The second one, also surrounded by garbage, has an odd characteristic - everyone who jumps into the pool takes a little pile of garbage in with him -- and there is something in the pool that eats it up, so it remains quiet and clear.

Which kind of practice are you doing ? Most of us long for deep, blissful sitting and, even if our pool of peace is ringed around with garbage, we attempt not notice it; if the garbage can disturb us, we want to ignore it. We don't like difficulties; we prefer to sit in our peace and not be intruded upon. That's one type of sitting.

The other kind of pool eats up the garbage; as fast as it appears, it is consumed as the person entering the pool carries it in with him. Still in a short time the pool is clear and undisturbed. It may churn more at first. The major difference is that the first pool ends up with more and more garbage around it; the second has none or very little.

As has been said, most of us long for the first kind of practice (life). But the second, facing life as it is, is more genuine; we keep churning up our drama -- seeing it, experiencing it, swallowing it -- throwing the garbage into ourselves, the deep pool that we are.

A practice exclusively devoted to concentration (shutting out all but the object of concentration) is the first pool. Very peaceful, very seductive. But when you climb out of the pool, the garbage of life remains -- our dualistic dealings with our work and relationships. You haven't handled them. Or you may resort to the well-intentioned but inaccurate devices of positive thinking or affirmations; the gas in the garbage increases and in time explodes.

The secodn pool (being each moment of life, pleasant or unpleasant) is at times a slow and frustrating practice, but in the long run, fruitful and satisfying.

With all that as a background, let's look at what can be called the turning point in our life and practice. From what are we turning? Let's look at some sentences: "I feel irritated. I feel annoyed. I feel happy." What we omit is: "I feel I am hurt by you. I feel I have been made happy by you."

Actually, the fact is not that you irritate me, it's that i have a desire to be irritated. You may loudly protest, "oh, never, I certainly don't want to feel irritated or hurt..." Well, just for a few years (intelligently, in the second pool). The first and uncomfortable years of sitting make it clearer and clearer that my desire is to be irritated or angry (separate). That's almost all I have known as a means to preserve and protect what I think is my identity. With continued avareness, it dawns that there is only one person who can irritate me or make me feel lonely and depressed, and it is myself -- myself as a false identity.

We begin to see a strange and lethal truth: contrary to our beliefs, our basic drive and all our life fore goes into a struggle to perpetuate our separateness, our touchiness, or self-rightoeousness.

Lao Tzu said, "He who feels punctured, must be a balloon.", the balloon of irritability, anger, self-centered opinions. If we can be punctured (hurt), we can be sure we are still a balloon. We want to be a balloon; otherwise we could not be punctured. But our greatest desire is to keep the balloon inflated. After all, it's me!

So whar would turning be? What is the turning point? It begins when we observe and feel our anger, our manipulation, our anxiety - and know in our hearts a deep determination to be in another mode.

Than the real transformation can begin. Instead of ignoring garbage, pushing it away, or wallowing in it, we take our garbage into ourselves and let it digest. We take ourselves with us into the pool of life. This begins the turning. After it, life is never the same.

The turning is at first feeble and intermittent. Over time, it becomes stronger and more insistent (in Christian terms, the 'hound of haven' chases us). As it strengthens, more and more we know who our Master is. Of course, the Master is not a thing or a person but our awakening knowledge of Who We Are. The difficult years of practice (and life) come before the turning. The patience and skill of both teacher and student are called on to the utmost. Some but not all will make it through the difficulties.

Gurdjieff said: man is a machine. We know how machines work: when the blender's button is pushed, it goes WHOOSSSH; when we turn our car's ignition key, the motor roars. Man is a machine. Why? As long as a man's primary drive is to keep his balloon unpunctured, to avoid having his buttons pushed, he is an automatic machine which has no choice.

Even moving from passive dependence to an active and angry independence -- "Don't tell me what to do!" -- is still the activity of a machine with buttons. I feel ruled and compelled by 'someting else'; I have no choice. Like the blender, if pushed, I turn on.

Suppose you do someting to me that I view as punishing (it's mean, it's unfair, I don't deserve it). How do I react when this button is pushed? With anger? (And I may not reveal my anger, or I mya turn it against myself). Then I am a machine. In this instance, what would the tuning point be?

The turning point is my ability, developed slowly by practice, to be aware of the thoughts and bodily sensations which comprise anger. In the observing of thoughts and sensations, anger will swallow itself and its energy can open life instead of destroying it. Then I (the angry one) can act out of this clarity in a manner that benefits me and you. This is the way of the second pool, the one that takes the garbage, digests it, letting it feed and renew life as compost does a garden.

Let us not have some naive notion that this ability is won overnight. A lifetime is more like it. Nevertheless, faithful and determined practice makes a difference and fairly soon at that.

We come to view the unpleasant aspects of life as learning opportunities. If my balloon is deflated a little -- great!. As an opportunity to be welcomed, not avoided or dramatized. each round of such practice renders us a little less machine-like, gives us more appreciation of ourselves and others.

Let's live in the second pool.

end of file

[This document can be acquired from a sub-directory coombspapers viaanonymous FTP or COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU orANU Soc.Sci.WWW Server at http://coombs.anu.edu.au/CoombsHome.html]

The document's ftp filename and the full directory path are given inthe coombspapers top level INDEX file]

[This version: 30 March 1994]


This material is republished from the March 1994 issue of GASSHO, a Buddhist electronic newsletter, published by DharmaNet International, P.O. Box 4951, Berkeley, CA 94704-4951, a not-for-profit organization.This text addresses some of the most fundamental and delicatereligious issues. Therefore, it should be read, quoted and analysed in a mindful way.


THE SECOND PRECEPT: GENEROSITY

by Thich Nhat Hanh

Aware of the suffering caused by exploitation, social injustice, stealing, and oppression, I vow to cultivate loving kindness and learn ways to work for the well-being of people, animals, plants, and minerals. I vow to practice generosity by sharing my time, energy, and material resources with those who are in real need. I am determined not to steal and not to possess anything that should belong to others. I will respect the property of others, but I will prevent others from profiting from human suffering or the suffering of other species on Earth.

Exploitation, social injustice, and stealing come in many forms. Oppression is one form of stealing that causes much suffering both here and in the Third World. The moment we vow to cultivate loving kindness, loving kindness is born in us, and we make every effort to stop exploitation, social injustice, stealing, and oppression. In the First Precept, we found the word "compassion." Here, we find the words "loving kindness." Compassion and loving kindness are the two aspects of love taught by the Buddha. Compassion, karuna in Sanskrit and Pali, is the intention and capacity to relieve the suffering of another person or living being. Loving kindness, maitri in Sanskrit, metta in Pali, is the intention and capacity to bring joy and happiness to another person or living being. It was predicted by Shakyamuni Buddha that the next Buddha will bear the name Maitreya, the Buddha of Love.

"Aware of the suffering caused by exploitation, social injustice, stealing, and oppression, I vow to cultivate loving kindness and learn ways to work for the well-being of people, animals, plants and minerals."

Even with maitri as a source of energy in ourselves, we still need to learn to look deeply in order to find ways to express it. We do it as individuals, and we learn ways to do it as a nation. To promote the well-being of people, animals, plants, and minerals, we have to come together as a community and examine our situation, exercising our intelligence and our ability to look deeply so that we can discover appropriate ways to express our maitri in the midst of real problems. Suppose you want to help those who are suffering under a dictatorship. In the past you may have tried sending in troops to overthrow their government, but you have learned that when doing that, you cause the deaths of many innocent people, and even then, you might not overthrow the dictator. If you practice looking more deeply, with loving kindness, to find a better way to help these people without causing suffering, you may realize that the best time to help is before the country falls into the hands of a dictator. If you offer the young people of that country the opportunity to learn your democratic ways of governing by giving them scholarships to come to your country, that would be a good investment for peace in the future. If you had done that thirty years ago, the other country might be democratic now, and you would not have to bomb them or send in troops to "liberate" them. This is just one example of how looking deeply and learning can help us find ways to do things that are more in line with loving kindness. If we wait until the situation gets bad, it may be too late. If we practice the precepts together with politicians, soldiers, businessmen, lawyers, legislators, artists, writers, and teachers, we can find the best ways to practice compassion, loving kindness, and understanding. It requires time to practice generosity. We may want to help those who are hungry, but we are caught in the problems of our own daily lives. Sometimes, one pill or a little rice could save the life of a child, but we do not take the time to help, because we think we do not have the time. In Ho Chi Minh City, for example, there are street children who call themselves "the dust of life." They are homeless, and they wander the streets by day and sleep under trees at night. They scavenge in garbage heaps to find things like plastic bags they can sell for one or two cents per pound. The nuns and monks in Ho Chi Minh City have opened their temples to these children, and if the children agree to stay four hours in the morning -- learning to read and write and playing with the monks and nuns -- they are offered a vegetarian lunch. Then they can go to the Buddha hall for a nap. (In Vietnam, we always take naps after lunch; it is so hot. When the Americans came, they brought their practice of working eight hours, from nine to five. Many of us tried, but we could not do it. We desperately need our naps after lunch.) Then at two o'clock, there is more teaching and playing with the children, and the children who stay for the afternoon receive dinner. The temple does not have a place for them to sleep overnight. In our community in France, we have been supporting these nuns and monks. It costs only twenty cents for a child to have both lunch and dinner, and it will keep him from being out on the streets, where he might steal cigarettes, smoke, use delinquent language, and learn the worst behavior. By encouraging the children to go to the temple, we help prevent them from becoming delinquent and entering prison later on. It takes time to help these children, not much money. There are so many simple things like this we can do to help people, but because we cannot free ourselves from our situation and our lifestyle, we do nothing at all. We need to come together as a community, and, looking deeply, find ways to free ourselves so we can practice the Second Precept.

"I vow to practice generosity by sharing my time, energy, and material resources with those who are in real need."

This sentence is clear. The feeling of generosity and the capacity for being generous are not enough. We also need to express our generosity. We may feel that we don't have the time to make people happy - we say, "Time is money," but time is more than money. Life is for more than using time to make money. Time is for being alive, for sharing joy and happiness with others. The wealthy are often the least able to make others happy. Only those with time can do so. I know a man named Bac Sieu in Thua Thien Province in Vietnam, who has been practicing generosity for fifty years; he is a living bodhisattva. With only a bicycle, he visits villages of thirteen provinces, bringing something for this family and something for that family. When I met him in 1965, I was a little too proud of our School of Youth for Social Service. We had begun to train three hundred workers, including monks and nuns, to go out to rural villages to help people rebuild homes and modernize local economies, health-care systems, and education. Eventually we had ten thousand workers throughout the country. As I was telling Bac Sieu about our projects, I was looking at his bicycle and thinking that with a bicycle he could help only a few people. But when the communists took over and closed our School, Bac Sieu continued, because his way of working was formless. Our orphanages, dispensaries, schools, and resettlement centers were all shut down or taken by the government. Thousands of our workers had to stop their work and hide. But Bac Sieu had nothing to take. He was a truly a bodhisattva, working for the well-being of others. I feel more humble now concerning the ways of practicing generosity. The war created many thousands of orphans. Instead of raising money to build orphanages, we sought people in the West to sponsor a child. We found families in the villages to each take care of one orphan, then we sent 6, the child was fed and sent to school, and the rest of the children in the family were also helped. Children benefit from growing up in a family. Being in an orphanage can be like being in the army -- children do not grow up naturally. If we look for and learn ways to practice generosity, we will improve all the time.

"I am determined not to steal and not to possess anything that should belong to others. I will respect the property of others, but I will prevent others from profiting from human suffering or the suffering of other species on Earth."

When you practice one precept deeply, you will discover that you are practicing all five. The First Precept is about taking life, which is a form of stealing -- stealing the most precious thing someone has, his or her life. When we meditate on the Second Precept, we see that stealing, in the forms of exploitation, social injustice, and oppression, are acts of killing -- killing slowly by exploitation, by maintaining social injustice, and by political and economic oppression. Therefore, the Second Precept has much to do with the precept of not killing. We see the "interbeing" nature of the first two precepts. This is true of all Five Precepts. Some people formally receive just one or two precepts. I didn't mind, because if you practice one or two precepts deeply, all Five Precepts will be observed. The Second Precept is not to steal. Instead of stealing, exploiting, or oppressing, we practice generosity. In Buddhism, we say there are three kinds of gifts. The first is the gift of material resources. The second is to help people rely on themselves, to offer them the technology and know-how to stand on their own feet. Helping people with the Dharma so they can transform their fear, anger, and depression belongs to the second kind of gift. The third is the gift of non-fear. We are afraid of many things. We feel insecure, afraid of being alone, afraid of sickness and dying. To help people not be destroyed by their fears, we practice the third kind of gift-giving. The Bodhisattva Avalokitesvara is someone who practices this extremely well. In the Heart Sutra, he teaches us the way to transform and transcend fear and ride on the waves of birth and death, smiling. He says that there is no production, no destruction, no being, no nonbeing, no increasing, and no decreasing. Hearing this helps us look deeply into the nature of reality to see that birth and death, being and nonbeing, coming and going, increasing and decreasing are all just ideas that we ascribe to reality, while reality transcends all concepts. When we realize the interbeing nature of all things -- that even birth and death are just concepts -- we transcend fear. In 1991, I visited a friend in New York who was dying, Alfred Hassler. We had worked together in the peace movement for almost thirty years. Alfred looked as though he had been waiting for me to come before dying, and he died only a few hours after our visit. I went with my closest colleague, Sister Chan Khong (True Emptiness). Alfred was not awake when we arrived. His daughter Laura tried to wake him up, but she couldn't. So I asked Sister Chan Khong to sing Alfred the Song of No Coming and No Going: "These eyes are not me, I am not caught by these eyes. This body is not me, I am not caught by this body. I am life without boundaries. I have never been born, I will never die." The idea is taken from the Samyutta Nikaya. She sang so beautifully, and I saw streams of tears running down the faces of Alfred's wife and children. They were tears of understanding, and they were very healing. Suddenly, Alfred came back to himself. Sister Chan Khong began to practice what she had learned from studying the sutra The Teaching Given to the Sick. She said, "Alfred, do you remember the times we worked together?" She evoked many happy memories we had shared together, and Alfred was able to remember each of them. Although he was obviously in pain, he smiled. This practice brought results right away. When a person is suffering from so much physical pain, we sometimes can alleviate his suffering by watering the seeds of happiness that are in him. A kind of balance is restored, and he will feel less pain. All the while, I was practicing massage on his feet, and I asked him whether he felt my hand on his body. When you are dying, areas of your body become numb, and you feel as if you have lost those parts of your body. Doing massage in mindfulness, gently, gives the dying person the feeling that he is alive and being cared for. He knows that love is there. Alfred nodded, and his eyes seemed to say, "Yes, I feel your hands. I know my foot is there." Sister Chan Khong asked, "Do you know we learned a lot from you when we lived and worked together? The work you began, many of us are continuing to do. Please don't worry about anything." She told him many things like that, and he seemed to suffer less. At one point, he opened his mouth and said, "Wonderful, wonderful." Then, he sank back to sleep. Before we left, we encouraged the family to continue these practices. The next day I learned that Alfred passed away just five hours after our visit. This was a kind of gift that belongs to the third category. If you can help people feel safe, less afraid of life, people, and death, you are practicing the third kind of gift. During my meditation, I had a wonderful image -- the shape of a wave, its beginning and its end. When conditions are sufficient, we perceive the wave, and when conditions are no longer sufficient, we do not perceive the wave. Waves are only made of water. We cannot label the wave as existing or nonexisting. After what we call the death of the wave, nothing is gone, nothing is lost. The wave has been absorbed into other waves, and somehow, time will bring the wave back again. There is no increasing, decreasing, birth, or death. When we are dying, if we think that everyone else is alive and we are the only person dying, our feeling of loneliness may be unbearable. But if we are able to visualize hundreds of thousands of people dying with us, our dying may become serene and even joyful. "I am dying in community. Millions of living beings are also dying in this very moment. I see myself together with millions of other living beings; we die in the Sangha. At the same time, millions of beings are coming to life. All of us are doing this together. I have been born, I am dying. We participate in the whole event as a Sangha." That is what I saw in my meditation. In the Heart Sutra, Avalokitesvara shares this kind of insight and helps us transcend fear, sorrow, and pain. The gift of non-fear brings about a transformation in us. The Second Precept is a deep practice. We speak of time, energy, and material resources, but time is not only for energy and material resources. Time is for being with others -- being with a dying person or with someone who is suffering. Being really present for even five minutes can be a very important gift. Time is not just to make money. It is to produce the gift of Dharma and the gift of non-fear.


THICH NHAT HANH is a Zen Buddhist monk, peace activist, scholar, and poet. He is the founder of the Van Hanh Buddhist University in Saigon, has taught at Columbia University and the Sorbonne, and now lives in southern France, where he gardens, works to help those in need, and travels internationally teaching "the art of mindful living." Martin Luther King, Jr., nominated him for the Nobel Peace Prize in 1967, saying, "I do not personally know of anyone more worthy of the Nobel Peace Prize than this gentle monk from Vietnam."

This document can be acquired from a sub-directory coombspapers via anonymous FTP and COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX file.

Date of the document's last update/modification 03/09/93

THE VOW OF THE 'TEN FOOTSTEPS' original filename: zenvow.txt

This file is the work of Stan Rosenthal. It has been placed here, with his kind permission, by Bill Fear. The author has asked that no hard copies, ie. paper copies, are made.

Stan Rosenthal may be contacted at 44 High street, St. Davids, Pembrokeshire, Dyfed, Wales, UK. Bill Fear may be contacted at 29 Blackweir Terrace, Cathays, Cardiff, South Glamorgan, Wales, UK. Tel (0222) 228858 email fear@thor.cf.ac.uk. Please use email as first method of contact, if possible. Messages can be sent to Stan Rosenthal via the above email address - they will be forwarded on in person by myself - B.F.

NOTE: You may find and odd sentence or missing information every now and again in the files. Hopefully not to frequently. This is because the files were originally written on a machine using CP/M and had to be converted to dos format. Many of the 5.25 disks were very old and had bad sectors - thus missing info. ...............................Beginning of file...............................

THE VOW OF THE 'TEN FOOTSTEPS' USED BY 'TRUE FOLLOWERS' OF CH'AN TAO CHIA

I will have compassion for all sentient beings; and will not cause needless hurt or unnecessary harm.

Through my training, I will seek enlightenment, the distinction between right and wrong, liberation from delusion and the malevolent influences of greed, jealousy and rage.

I will seek to transcend unnecessary dichotomy, and learn to accept that differences are often an attitude of mind.

I accept that of greater value than the accumulation of goods, are justice and creativity, right motive and action, and essentiality, love and peace, and the freedom to grow.

I will act with honour, without contriving for self-advantage or egotistical effort, false pride or humility. I will try to live my life so as not to give cause for later regrets.

I will help those who are suffering, or disadvantaged, and those who seek liberation or enlightenment.

.................................End of file...................................

[This document can be acquired from a sub-directory coombspapers via anonymous FTP and/or COOMBSQUEST gopher on the node COOMBS.ANU.EDU.AU]

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX file]

[This version: 22 July 1993]

YASUTANI HAKUUN ROSHI - A BIOGRAPHICAL NOTE

[This document constitutes a verbatim fragment (pages 2-13) of the June 1979 MA Thesis in Asian Studies, University of California, Santa Barbara, USA by Paul David JAFFE entitled:

"The Shobogenzo Genjokoan by Eihei Dogen, and Penetrating Inquiries into the Shobogenzo Genjokoan, a commentary by Yasutani Hakuun"

All copyrights to this document (C) 1979 belong to Paul David Jaffe.

This electronic material by the Coombspapers SSRDB is intended to draw attention to the existence of P.Jaffe's largely unknown pioneering work and to facilitate it's eventual printing. It also hopes to aid scholarship concerning the history of Zen Buddhism in the West.]

[...]

Yasutani Hakuun Roshi (1885-1973) was a fiery and controversial figure in 20th century Zen Buddhism. He was highly respected for his deep realization and compassionate teaching, but was also criticized for his polemical stand against "one sided" teachings and his severe manner of expressing himself. We can see within a few pages of his writings what seems a strange mixture of harsh criticisms of certain teachers as having degraded the Buddha way and a sincere gratitude for their efforts in guiding him.

It seems that both his early life and his training under Harada Sogaku Roshi (1870-1961) contributed to his synthesis of the practices and insights emphasized in the Soto and Rinzai sects respectively. He was especially vocal concerning the point of kensho, seeing one's true nature. He spoke more openly about it then anyone of his times, going so far as to have a public acknowledgement of those who had experienced kensho in a post-sesshin [4] ceremony of bowing in gratitude to the three treasures.[5] He was sometimes criticized for his overemphasis, but according to Robert Aitken Roshi, a successor in Yasutani's lineage, "I think that Yasutani Roshi's hope was that people could get a start, and with that start they could deepen and clarify it through koan study. I think that actually Yasutani Roshi placed less emphasis on kensho than the people who are criticizing him, because the people who are criticizing him are regarding kensho as some sort of be-all and end-all, and he didn't look at it in that way at all." [6]

Yasutani was so outspoken because he felt that the Soto sect in which he trained emphasized the intrinsic, or original aspect of enlightenment--that everything is nothing but Buddha-nature itself--to the exclusion of the experiential aspect of actually awakening tothis original enlightenment. His dharma successor, Yamada Koun Roshi, has written, "His main purpose was to propagate the indispensable place of kensho, Realization of the Way, in Zen." [7] On the other hand, he criticized the tendency in the Rinzai sect to become attached to levels and rankings,- and of absolutizing the efficacy of koans without adequate regard to the realization of emptiness, to which many of the koans point.

In 1954, some ten years after his dharma transmission, and after certain post-war restrictions were lifted, Yasutani established his organization as an independent school of Zen. The group, Sambokyodan (Fellowship of the Three Treasures), broke with the Soto school in which he was ordained, asserting a position of direct connection with Dogen and no longer recognizing the authority of the sect's ecclesiastical leaders. Such an action had been strongly advocated by his teacher Harada Sogaku. [8]

Yasutani Hakuun Roshi's early background sheds some interesting light on his subsequent development. There is a miraculous story about his birth: His mother had already decided that her next son would be a priest when she was given a bead off a rosary by a nun who instructed her to swallow it for a safe childbirth. When he was born his left hand was tightly clasped around that same bead. By his own reckoning, "your life . . . flows out of time much earlier than what begins at your own conception. Your life seeks your parents." [9] "It is as if I jumped right into this situation since while I was still in her womb my mother was contemplating my priesthood." [10] When he studied biology in school this story seemed ridiculous, but later he wrote, "Now, practicing the Buddha Way more and more, understanding many more channels of the Buddha Way, I realize that it is not so strange but quite natural. My mother wanted me to become a priest, and because I was conceived in that wish and because I too desired the priesthood, the juzu [rosary bead] expressed that karmic relation. There is, indeed, a powerful connecting force between events. We may not understand it scientifically, but spiritually we know it is so." [11] So, in time he came to fully accept this story and treat it as a concrete symbol of "his deep Dharma affinity." [12]

The family he was born into was quite poor; he was adopted by another family when he was very young. At the age of five he was sent to a country temple named Fukuji-in near Numazu city. His head was shaved, and he was educated by the abbot, Tsuyama Genpo. His training at this time was very strict and meticulous, but also very loving, and left a deep impression on him throughout his life. At the age of eleven he moved to a nearby temple, Daichuji, which like Fukuju-in belonged to the Rinzai sect. After a fight with an older student, however, he was forced to leave. When later he was placed in another temple, this time it was one of the Soto sect, Teishinji, and it was here that he became a monk of the Soto sect under the priest Yasutani Ryogi, from whom he took his name. At the age of sixteen he went to study under Nishiari Bokusan Zenji (1821-1910) at Denshinji in Shimada, Shizuoka prefecture and served as his attendent. Nishiari was well-known both for having served as the leader of the Soto sect, and for his Shobogenzo keiteki (The Opening Way of the Shobogenzo). [13] The Keiteki is a record of his lectures on twenty-nine chapters of the Shobogenzo and is generally considered an important and authoritative work. In the preface of the work here partially translated (Shobogenzo sankyu: Genjokoan) Yasutani says of this Keiteki:

However, beginning with Nishirari Zenji's Keiteki, I have examined closely the commentaries on the Shobogenzo of many modern people, and though it is rude to say it, they have failed badly in their efforts to grasp its main points. . . . It goes without saying that Nishiari Zenji was a priest of great learning and virtue, but even a green priest like me will not affirm his eye of satori. . . . . . . the resulting evil of his theoretical Zen became a significant source of later events. . . . So it is my earnest wish, in place of Nishiari Zenji, to correct to some degree the evil which he left, in order to requite his benevolence, and that of his disciples, which they have extended over many years.[14]

Further, he tells us that during this period of his life, when he was sixteen or seventeen, he had two questions. The first was why neither Nishiari Zenji nor his disciples gave clear guidance concerning kensho when it was obvious from the ancient writings that all the patriarchs experienced it. The second concerned what happens after death. He was unable to receive clear answers or come to an understanding.

Through his twenties and thirties Yasutani Roshi continued his training with several other Buddhist priests. He also furthered his education, going to a teacher training school and then beginning a ten year career as an elementary school teacher and principal. At thirty he married and started raising a family which was to produce five children.

In 1925, at the age of forty, he returned to his vocation as a Buddhist priest. Soon after, he was appointed as a Specially Dispatched Priest for the Propagation of the Soto sect, travelling around giving lectures. "However," he wrote in 1952 in the epilogue to Shushogi Sanka (Song-in Praise of the Shushogi), [15] "I was altogether a blind fellow, and my mind was not yet at rest. I was at a peak of mental anguish. When I felt I could not endure deceiving myself and others by untrue teaching and irresponsible sermons any longer, my karma opened up and I was able to meet my master Daiun Shitsu, Harada Sogaku Roshi. The light of a lantern was brought to the dark night, to my profound joy." [16]

Harada Roshi was a Soto priest, educated at the Soto sect's Komazawa University. His sincere searching brought him to study with Toyota Dokutan Roshi (1841-1919), abbot of Nanzenji, the head temple of the branch of Rinzai Zen known by the same name. After completing koan study and becoming a dharma successor, Harada became abbot of Hosshinji, a Soto temple, transforming it into a rigorous and lively training center. [17]

Yasutani Roshi sat his first sesshin with Harada Roshi in 1925 and two years later at the age of forty-two was recognized as having attained kensho. Some ten years later he finished his koan study and then, at the age of fifty-eight, received dharma transmission from Harada Roshi on April 8, 1943. [18] Yasutani Roshi's career as a Zen teacher was devoted and single-minded. He was head of a training hall for monks for a short while, but gave it up and applied his efforts primarily toward the training of lay practitioners. His years leading a family life and working as an educator no doubt both influenced him in this direction and prepared him for the task. During the next thirty years he held over three hundred sesshins, led numerous regular zazen meetings, and lectured widely. In addition, he left almost one hundred volumes of writings. [19]

Already in his late seventies, Yasutani Roshi first travelled to the United States in 1962, at the instigation of some of his American students. He held sesshins in over half a dozen cities, and due to an enthusiastic response made six more visits continuing through 1969. He has exerted a profound influence on the budding American Zen tradition through direct contact with many students and through his relationships with several of the leading Zen teachers in America today. Yasutani has also become widely known and indirectly influenced many people through the book Three Pillars of Zen, compiled by Phillip Kapleau and published in 1965. It contains a short biographical section on Yasutani Roshi and also his "Introductory Lectures on Zen Training," "Commentary on the Koan Mu," and the somewhat unorthodox printing of his dokusan interviews with ten western students.[20]

Kapleau was the first westerner to study with Yasutani Roshi. This was in 1956 after Kapleau had studied for three years at Hosshinji under the guidance of Harada Roshi. After some twenty sesshin with Yasutani, the Roshi confirmed Kapleau's kensho experience which is one of the cases set down in Three Pillars. It was Kapleau who first suggested to Yasutani Roshi that he visit America. In 1966 Kapleau founded the Rochester Zen Center, which now has several hundred students in Rochester as well as several affiliated sitting groups in Canada, the United States and Europe. [21]

Another of Yasutani's early American students was Robert Aitken, who first sat with him in 1957. Aitken's steadily deepening interest in and practice of Zen started when he was picked up off Guam by the Japanese during the Second World War, and found himself in the same internment camp as R. H. Blyth, the author of Zen in English Literature and Oriental Classics. Aitken, along with Kapleau, was instrumental in arranging Yasutani's original journey to the U.S. and on that and subsequent trips through 1969 hosted him for sesshins at Koko-an, his small Zen center in Honolulu, and in 1969 at the newly established Maui Zendo. Aitken says of Yasutani, his only teacher during this period, "He devoted himself fully to us. We felt from him the importance of intensive study, of dedication and also something of lightness." Aitken further characterizes- him as "like a feather but still full of passion," and having "a ready laugh."[22] Aitken studied further with Yasutani Roshi and his successor Yamada Koun and received transmission from Yamada in 1974, making him the first westerner to become a dharma successor in the Yasutani/Harada lineage. Aitken Roshi's Diamond Sangha now includes two practice centers in Hawaii and about 100 students, and he periodically conducts sesshin in Tacoma, Washington; Nevada City, California; and Australia.

Eido Tai Shinamo (1932- ) first met Yasutani Roshi in 1962 when he was a young monk who had spent about two years in Hawaii. [23] His own teacher Nakagawa Soen Roshi took him to meet Yasutani one day. Soen Roshi was planning a trip to the U.S. and invited Yasutani to join him, which he agreed to do. Then he invited Eido to go along also. Shortly before the trip Soen Roshi cancelled his plans due to the illness of his mother. Eido was left to accompany Yasutani as his attendant and translator. The following year Eido again accompanied Yasutani to America and they continued on around the world together. On Soen's request Yasutani guided Eido in his koan study. Later Eido wrote, "During his seven times teaching pilgrimage, from the very beginning to the end, I was fortunate enough to serve him as an attendant monk and as an interpreter. I received great teaching from him in many ways."[24] "He was a brilliant master."[25] Eido Roshi, who received dharma transmission from Soen Roshi in 1972, is now the leader of the New York Zendo in Manhattan and the Dai Bosatsu Zendo in the Catskill mountains of New York state, and has affiliate groups in Washington D.C., Boston and Philadelphia. Altogether some 300 students are guided by Eido Roshi.

Maezumi Taizan Roshi, who came to America in 1956, has become a dharma successor of Yasutani. Originally having come to the United States to serve in the Soto Zen Mission in Los Angeles, it was here in 1962 that Maezumi first met Yasutani Roshi. Maezumi, a young priest at the time, had, perhaps, a particular affinity with Yasutani. In addition to having been born into, raised, educated and trained in the Sotc tradition, he had also done koan study with Osaka Koryu Roshi, a lay master in the Rinzai school. When Yasutani Roshi came to Los Angeles, Maezumi started to do koan study with him. Between Yasutani's several trips to America and Maezumi's trips to Japan to continue his study, the two developed their relationship further. On December 7, 1970, Maezumi received the seal of dharma succession. Since he is also a dharma successor of Kuroda Hakujun Roshi in the Soto tradition, and Osaka Koryu Roshi in the Rinzai tradition, Maezumi Roshi holds a unique position.

At the Zen Center of Los Angeles which was founded by Maezumi in 1966, Yasutani Roshi's approach of integrating the emphasis of the Soto and Rinzai schools seems to be taking root in America. The fact that this community of about 100 people affords the possibility of a family-based practice also reflects, in part, Yasutani Roshi's emphasis on lay practice. The community includes several families with children; there is even a cooperatiye child care program. The Zen Center of Los Angeles has over 200 members who practice under the guidance of Maezumi Roshi.

This background of Yasutani Roshi's role in Zen Buddhism shows him to be an important figure in transplanting it to a new continent.

[....]

NOTES

[... Notes 1-3 have been omitted from this document... - the Coombspapers]

4 Sesshin ideographs is a fixed period of intensive practice of zazen. In Japan five days or a week is the most common length of time.

5 Three treasures (Skt.: triratna; J.: sambo): Buddha, dharma and sangha. In Zen the three terms are also taken respectively as symbols of oneness, multiplicity and the harmony between the two.

6 Rick Fields, Buddhist America, unpublished manuscript in progress.

7 Koun Yamada, "The Stature of Yasutani Hakuun Roshi," in Eastern Buddhist, n.s., 7.2 (1974): 119.

8 Ibid., 120.

9 Hakuun Yasutani "My Childhood," trans. by Taizan Maezumi from Zen and Life (Fukuoka: Shukosha, 1969). in ZCLA Journal, 3.3 & 4 (1973): 34.

10 Ibid., 32.

11 Ibid., 32-34.

12 Yamada, "Stature," 118.

13 Nishiari Bokusan ideographs, Shobogenzo keiteki ideographs ed. by Kurebayashi Kodo ideographs, 3 vols. (Tokyo: Daihorinkaku, 1965).

14 Yamada, "Stature," 116-117.

15 Shushogi ideographs is an anthology of selections from Dogen's writings compiled in 1890 for use by followers of the Sot8 school.

16 Yamada, "Stature," 109.

17 Hakuyu Taizan Maezumi and Bernard Tetsugen Glassman, The Hazy Moon of Enlightenment (Los Angeles: Center Publications, 1978), p. 194.

18 Japanese Buddhists celebrate the Buddha's birthday on April 8.

19 Tetsugyu Ban, "Dharma Words," in ZCLA Journal, 3.3 & 4 (1973): 26.

20 Dokusan ideographs is a formal, private interview between the master and the student, usually conducted during periods of zazen.

21 Figures for students in this section are necessarily rough. I have gathered information primarily from conversation with members of these various centers.

22 Personal interview, May 8, 1979.

23 The relationship between Eido and Yasutani is described in Nyogen Senzaki, Soen Nakagawa and Eido Shimano, Namu Dai Bosa (New York: Theatre Arts Books, 1976), pp. 182-188.

24 Mui Shitsu Eido,"White Cloud," in ZCLA Journal, 3.3 & 4 (1973): 50.

25 Ibid., 51. "

end of file

This document was originally distributed on Internet as a part of the Electronic Buddhist Archives, available via anonymous FTP on the node COOMBS.ANU.EDU.AU

The document's ftp filename and the full directory path are given in the coombspapers top level INDEX file.

This version of the document has been reformatted by Barry Kapke and is being distributed, with permission, via the DharmaNet Buddhist File Distribution Network.

[Last updated: 29 September 1993]

                    "YUNMEN'S BRIGHT LIGHT".

[this text was first published in the MIND MOON CIRCLE, Summer 1991 pp 6-10]

This text addresses some of the most fundamental and delicate religious issues. Therefore, it should be read, quoted and analysed in a mindful way.

All copyrights to this document belong to Ross Bolleter Sensei, Zen Center of Western Australia, Perth, WA, Australia Enquiries: The Editor, "Mind Moon Circle", Sydney Zen Centre, 251 Young St., Annandale, Sydney, NSW 2038, Australia. Tel: + 61 2 660 2993

                     YUNMEN'S BRIGHT LIGHT
                     ROSS BOLLETER, Sensei
                          Spring 1991

Yunmen gave instruction saying, "Everyone has their own light. If you want to see it you can't. The darkness is dark, dark. Now what is your light?"

He himself answered, "The storeroom. The gate." Again he said, "It would be better to have nothing that to have something good."

Although Yunmen was a student of Hsueh Feng he was in fact enlightened by the ancient and eccentric teacher Mu-Chou (Chen Tsun-Su). It is said that Mu-Chou lived alone in a hut near the high road travelled by monks when they were going on pilgrimage from monastery to monastery. Mu-Chou would make grass sandals and leave them on the side of the road so that monks could replace their old worn out footwear. Mu-Chou was most secretive about this and it took years to find out who was responsible for the generous actions.

Mu-Chou's teaching methods were extremely rough, utterly abrupt. It is said that he would listen to the sound of the footsteps of approaching monks and if they didn't indicate the Way he would refuse to open his door. Yunmen came to him twice and Mu- Chou refused to open the door; the third time, Yunmen succeeded in getting his foot in. Mu-Chou grabbed him and urged him, "Speak! Speak!" As Yun-men was about to say something, Mu-Chou threw him out, slammed the door on him, breaking one of his legs. The intense pain awakened Yunmen instantly.

Yunmen went on to become a great teacher with over sixty enlightened disciples, unwittingly becoming the founder of the Yunmen School which lasted into the thirteenth century in China until it was absorbed into the Linchi (Rinzai) School. The Yunmen school was responsible for the creation and preservation of some of the great masterpieces of Ch'an literature in this period, including the book of one hundred koans entitled The Blue Cliff Record. from which this case is taken Apart from Yunmen's Bright Light, there are thirteen other koans which have Yunmen as their protagonist in The Blue Cliff Record.

Yunmen's style is splendidly incisive and he became celebrated for his one word responses, which became known as "The One Word Barrier".

 A monk asked, "What is the straight path to Yunmen Mountain?"
 Yunmen replied, "Chi'in!" (intimacy)      (1)

 A monk asked Yunmen, "What are the words that transcend the Buddha
 and the Patriarchs?"
 Yunmen said, "Kobyo!" (sesame rice cake) (2)

 A monk asked Yunmen, "What is Buddha?"
 Yunmen said, "Kanshiketsu!" (dried shitstick) (3)

With "Ch'in!", "Kobyo!", "Kanshiketsu", Yunmen vividly reveals the Great Way. He uses words in a way utterly unclouded with notions and concepts of meaning or no-meaning. The One Word Barrier, while powerful and penetrating, is never merely rough, and the spirit of his way is lofty yet accomodating; uncompromising, yet utterly generous.

Yunmen said to the assembly, "Within heaven and earth, in the midst of the cosmos, there is one treasure hidden in the body. Holding a lantern it goes towards the Buddha hall. It brings the great triple gate and puts it on the lantern." (4)

A monk asked, "What is the roar of the earthen ox on top of the snow ridge?" Yunmen replied, "Heaven and earth darkened red." (5)

There is weird splendour in these koans which show the unclouded depths of Yunmen's vision as poet and Zen teacher. Yuan Wu in his comment on "Yunmen's One Treasure" in The Blue Cliff Record says if Yunmen,"by means of unconditional compassion he acts unasked as an excellent friend!" (6)

Yunmen said that if we want to see our light, we can't. When we turn inward to see the source of our being, to discover the light of self- nature, everything is dark and there is nothing to be seen. Searching inwardly for our true self is like the eye trying to look at itself, like the sun trying to shine on the sun.

In this condition the darkness is dark, dark. If we look at this from one angle, this seems to be the darkness of a dead end where our whole enterprise seems to have foundered in despair and delusion. Yet this condition, no less than opening fresh eyes to the Morning Star, or sighting distant peach blossoms, is the Way itself, conveying our essential nature. When the practice feels dry and fruitless and we seem to scoop from the same empty waterhole, when "the tree withers and the leaves fall", (7) we find everything right there.

If we continue to practise and to carry the koan in the place where "the darkness is dark, dark," then inside and outside become one; there is no gap between self and other and there is nowhere to search. This is a familiar place in practice and is referred to over and over again in Zen literature. Here is Bassui Zenji, a 14th century Japanese Rinzai teacher, whose natural koan was "Who is (the Master of) hearing that sound?", showing how to work with this condition:

At last every vestige of self-awareness will disappear and you will feel like a cloudless sky. Within yourself you will find no "I", nor will you discover anyone who hears. This Mind is like the void, yet it hasn't a single spot that can be called empty. Do not mistake this state for self-realisation, but continue to ask yourself even more intensely, "Now who is it that hears?" If you bore and bore into this question, oblivious to anything else, even this feeling of voidness will vanish and you won't be aware of anything - total darkness will prevail. (Don't stop here, but ) keep asking with all your strength, "What is it that hears?" Only when you have completely exhausted the questioning will the question burst; now you will feel like a person that has come back from the dead. This is true realisation. You will see the Buddhas of all the Universes face to face and the Patriarchs past and present. (8)

Even when our resources are utterly depleted we don't give up but steadily return to the koan using all the energy we have at that time, but not straining, not forcing. For Bassui it was "Who is it who hears?", for us it is most likely to be Mu, but the procedure is the same, the same light, steady, unfaltering vigilance.

The vigil of working with the koan and the koan working with us prepares the ground, and in the most fundamental sense, is the ground of realisation. In that deepened condition, unknowingly we ready ourselves and any spark can light up the cave. For Yunmen it was the pain of his leg being broken by the door as Mu-Chou slammed it; for Wu-men it was the sound of the drum announcing the noonday meal; for Ling-Yun, after thirty years of practice, it was the sight of the pink blossoms of distant peach trees; for Kyogen it was the sound of the stone striking the bamboo - "duk".

"The storeroom. The gate." For Yunmen these are our lights and when we are ready and utterly open they shine with our true nature. Not only the storehouse, the gate, but the star and the wattle, the drunk enveloping us with his beery breath at the party, the shit in the toilet; all these are our own lights. And not only the sharp and crystalline calls of the world, but also the boring, the infuriating and the painful voices that arise in our zazen; all the states and conditions which generate and compose our emotional weather; all the homeless and rejected parts of the self that cry out and long to take us in and be taken in, to give and receive refuge. These too, with the store house, the gate, our own own lights.

However, if we search for our true nature in the world of colour and form we can't find it. Searching for the flower, the star, the storeroom, the gate that will be the agent of our enlightenment is as futile as the inward introspective search for our own light. If we try to turn towards it, we deviate. Seen one way, our trying cannot discover or confirm our own bright light; from the other side the searching and striving is itself the whole matter. This is conveyed in a telling and lovely way in the first of Tosotsu's Three Barriers:

The purpose of going to abandoned, grassy places and doing zazen is to search for my self-nature. Now, at such a time, where is my self nature?" (9)

The lonely figure that searches in the undergrowth provides its light no less than the storeroom, the gate.

"It would be better to have nothing than to have something good. In saying this, Yunmen warns us against clinging to enlightenment and getting caught up with attainment; better, he says, to live without a trace of have and have not, then the planes roar through, the birdsong penetrates everywhere, we laugh and cry, get up, forget to get up, make love, put on clothes, go to the beach, get born, die; all this without the impediments of ownership. However, unfortunately, there is no trouble in recognising whose telephone bill it is when it lands on the hall table!

Again, in saying, "It would be better to have nothing than to have something good", Yunmen warns us not to go on clinging to his words. There are grave dangers in utilising "The storeroom, the gate" or "dried shitstick, or "sesame rice cake" as mechanical koan responses that neither illuminate the Way or succeed in propping up the gate. Better to show the whole empty universe in our silence than to formally reiterate his words. One moment their flash illuminates the whole world, the next we drag them around like carcases. Even worse, they get handed onto others. Once is enough. Enough is enough.

Yunmen refused to allow his listeners to take notes during his talks. "What is the use of recording my words and tying up your tongues?" he is said to have cried as he chased away those who wanted to memorise his sayings. It is thanks to Hsian-lin Ch'eng-Yuan who dressed himself in a paper robe and wrote down Yunmen's sayings and dialogues on it, that we have the substantial collection of koans and stories that nourish Zen practice in our times. (10)

In the flickering, unsteady darkness of the practice we come up to the gate a thousand times and judder at the final step. Likewise the Universe itself presents the whole matter over and over again till ordinary things gleam with the allure of our self-nature.

As practice deepens we just accept the fear and hesitation as we come up to the gate but don't go through; on each occasion we just resume our vigil with the koan. In time, the "inner" world of yearning and striving and the "outer" world of 'the storeroom and the gate" fall into deeper and deeper affinity. Unaided, the Way is seeking the Way.

Yunmen speaks of us wanting to see our own light: Rilke, the great German poet of the early twentieth century whose later work (especially the Ninth Duino Elegy) inhabits a realm which has a considerable overlap with Zen, leans on the other side when he writes of the yearning of things for us to notice and include them:

Yes, the springtimes needed you. Often a star was waiting for you to notice it. A wave rolled towards you out of the distant past, or as you walked under an open window, a violin yielded itself to your hearing .....(11).

This is the fleeting world that needs us and in some strange way keeps calling to us, as Rilke puts it, the most fleeting of all. (12) As we yearn and search, so too do the star, the wave, the violin. The fleeting world shines out moment by moment as the fallen jacaranda blossoms staring up from the back lawn, the cark cark of the crows, the son or daughter arguing back, challenging our authority - each calls out to be included.

We find this calling, this beckoning in our tradition when in the first Oxherding picture, the herdsman is fruitlessly searching for the Ox (which in the series of ten pictures depicting particular stages on the Way, stands for the Mind of Realisation). It is evening and the herdsman is exhausted and unable to find any trace of the Ox, hearing only the cicadas in the trees.

The cicadas chirp chirp with all their might; the Ox is right there, but the herdsman is not ready for this and the journey and the search for refuge continue. Yet the cicadas continue to call and, moment after moment, each thing longs to be included; the cat comes up to the back door for its evening meal, someone turns on a radio next door. Events scuffle, jostle to be taken in. "Here I am!" they shout.

Dogen saw this clearly when he wrote: "The Dharma wheel turns from the beginning. There is neither surplus nor lack. The whole universe is moistened with nectar, and the truth is ready to harvest." (13)

When we accept the invitation, the self and the Universe find refuge when there is no self, no other. In this realm, all beings are saved, as they have been from the beginning. When Shakyamuni having sat all night under the Bodhi tree looked up and saw the Morning Star with fresh eyes, the Morning Star, no less than Shakyamuni, found its true home: each was the other's own bright light.

Yunmen put it this way: "Medicine and sickness mutually correspond to each other. The whole universe is medicine. What is the self?" In asking what is the self, Yunmen is asking a similar question to "What is our own light?"

The night is full of cicadas; the fan hums loudly, shivering stars cover the sky at midnight; we sit nodding off, turning back over and over again to the koan. Depth calls to depth. Each person, each being, each thing longs to be included.

At such a time, what is our own light?

References

  1. Chang Chung-Yuan, Original Teachings of Ch'an Buddhism (Vintage Books, Random House, New York, 1971, p. 268.

  2. Yamada and Aitken (transl) Ihe Blue Cliff Record. Case 77, (unpublished ms).

  3. Yamada and Aitken (transl) Mumonkan, Case 21 (unpublished ms).

  4. Yamada and Aitken, The Blue Cliff Record, Case 62 (unpublished ms).

  5. Chang Chung-Yuan, ibid, p 293.

  6. Cleary, Thomas and J.C. (transl) The Blue Cliff Record (Shambhala, Boulder and London, 1977) Case 62, p. 400.

  7. Yamada and Aitken (transl) The Blue Cliff Record, Case 27, "Unmon's Manifestation" .

  8. Bassui Zenji, "The Talk on One Mind" from Kapleau, Philip (ed), The Three Pillars of Zen (Anchor Books, Doubleday, Garden City, New York,

  1. p. 272.
  1. Yamada and Aitken (transl), Mumonkan, Case 37.

  2. Chang Chung-Yuan, ibid, p. 267.

  3. Rilke, R.M., "The First Duino Elegy" from Mitchell, Stephen (trans), The Selected Poetry of Rainer Maria Rilke, Vintage Books, Random House, New York, 1984), p. 151.

  4. Mitchell, Stephen (transl) ibid, p 199 (from the Ninth Duino Elegy).

  5. Aitken Roshi, Robert, The Mind of Clover (North Point Press, San Francisco, 1984).


end of file

Zen Buddhism

The sutras most read in Zen are:

  • the shingyo (prajnaparamitahridaya) [the shortest, read on most occasions]
  • the kwannongyo (samantamulha-praivarta)
  • the kongokyo (vajracchedika) [the diamond sutra]
  • the ryogo (lankavatara) [historically significant, but difficult to understand]
  • the ryogon (suramgama) [full of deep thoughts]
  • the kongosammaikyo (vajrasamadhi)
  • the yengakukyo (sutra of perfect elightenment)
  • the yuimakyo (vimalakirti-sutra)
  • the hannyakyo (prajnaparamita)

One afternoon a student said "Roshi, I don't really understand what's going on. I mean, we sit in zazen and we gassho to each other and everything, and Felicia got enlightened when the bottom fell out of her water-bucket, and Todd got enlightened when you popped him one with your staff, and people work on koans and get enlightened, but I've been doing this for two years now, and the koans don't make any sense, and I don't feel enlightened at all! Can you just tell me what's going on?"

"Well you see," Roshi replied, "for most people, and especially for most educated people like you and I, what we perceive and experience is heavily mediated, through language and concepts that are deeply ingrained in our ways of thinking and feeling. Our objective here is to induce in ourselves and in each other a psychological state that involves the unmediated experience of the world, because we believe that that state has certain desirable properties. It's impossible in general to reach that state through any particular form or method, since forms and methods are themselves examples of the mediators that we are trying to avoid. So we employ a variety of ad hoc means, some linguistic like koans and some non-linguistic like zazen, in hopes that for any given student one or more of our methods will, in whatever way, engender the condition of non-mediated experience that is our goal. And since even thinking in terms of mediators and goals tends to reinforce our undesirable dependency on concepts, we actively discourage exactly this kind of analytical discourse." And the student was enlightened.

The Zen Teachings of Bodhidarma

Translated by Red Pine 1987

Outline of Practice

MANY roads lead to the Path, but basically there are only two: reason and practice. To enter by reason means to realize the essence through instruction and to believe that all living things share the same true nature, which isn’t apparent because it’s shrouded by sensation and delusion. Those who turn from delusion back to reality, who meditate on walls,’ the absence of self and other, the oneness of mortal and sage, and who remain unmoved even by scriptures are in complete and unspoken agreement with reason. Without moving, without effort, they enter, we say, by reason.

To enter by practice refers to four all-inclusive practices: Suffering injustice, adapting to conditions, seeking nothing, and practicing the Dharma. First, suffering injustice. When those who search for the Path encounter adversity, they should think to themselves, "In Countless ages gone by, I’ve turned from the essential to the trivial and wandered through all manner of existence, often angry without cause and guilty of numberless transgressions.

Now, though I do no wrong, I’m punished by my past. Neither gods nor men can foresee when an evil deed will bear its fruit. I accept it with an open heart and without complaint of injustice. The sutras say " when you meet with adversity don’t be upset because it makes sense." With such understanding you’re in harmony with reason. And by suffering injustice you enter the Path. Second, adapting to conditions. As mortals, we’re ruled by conditions, not by ourselves. All the suffering and joy we experience depend on conditions. If we should be blessed by some great reward, such as fame or fortune, it’s the fruit of a seed planted by us in the past. When conditions change, it ends. Why delight In Its existence? But while success and failure depend on conditions, the mind neither waxes nor wanes. Those who remain unmoved by the wind of joy silently follow the Path.

Third, seeking nothing. People of this world are deluded. They’re always longing for something-always, in a word, seeking. But the wise wake up. They choose reason over custom. They fix their minds on the sublime and let their bodies change with the seasons. All phenomena are empty. They contain nothing worth desiring. Calamity forever alternates with Prosperity! To dwell in the three realms is to dwell in a burning house. To have a body is to suffer. Does anyone with a body know peace? Those who understand this detach themselves from all that exists and stop Imagining or seeking anything. The sutras say, "To seek is to suffer.

To seek nothing is bliss." When you seek nothing, you’re on the Path. Fourth, practicing the Dharma.’ The Dharma is the truth that all natures are pure. By this truth, all appearances are empty. Defilement and attachment, subject and object don’t exist. The sutras say, "The Dharma includes no being because it’s free from the impurity of being, and the Dharma includes no self because it’s free from the impurity of self." Those wise enough to believe and understand these truths are bound to practice according to the Dharma. And since that which is real includes nothing worth begrudging, they give their body, life, and property in charity, without regret, without the vanity of giver, gift, or recipient, and without bias or attachment. And to eliminate impurity they teach others, but without becoming attached to form. Thus, through their own practice they’re able to help others and glorify the Way of Enlightenment. And as with charity, they also practice the other virtues. But while practicing the six virtues to eliminate delusion, they practice nothing at all. This is what’s meant by practicing the Dharma.

Bloodstream Sermon

Everything that appears in the three realms comes from the mind. Hence Buddhas of the past and future teach mind to mind without bothering about definitions. But if they don’t define it, what do they mean by mind? You ask. That’s your mind. I answer. That’s my mind. If I had no mind how could I answer? If you had no mind, how could you ask? That which asks is your mind. Through endless kalpas" without beginning, whatever you do, wherever you are, that’s your real mind, that’s your real buddha. This mind is the buddha" says the same thing. Beyond this mind you’ll never find another Buddha. To search for enlightenment or nirvana beyond this mind is impossible. The reality of your own self-nature the absence of cause and effect, is what’s meant by mind. Your mind is nirvana. You might think you can find a Buddha or enlightenment somewhere beyond the mind’, but such a place doesn’t exist.

Trying to find a Buddha or enlightenment is like trying to grab space. Space has a name but no form. It’s not something you can pick up or put down. And you certainly can’t grab if. Beyond mind you’ll never see a Buddha. The Buddha is a product of the mind. Why look for a Buddha beyond this mind?

Buddhas of the past and future only talk about this mind. The mind is the Buddha, and the Buddha is the mind. Beyond the mind there’s no Buddha and beyond the Buddha there’s no mind. If you think there is a Buddha beyond the mind’, where is he? There’s no Buddha beyond the mind, so why envision one? You can’t know your real mind as long as you deceive yourself. As long as you’re enthralled by a lifeless form, you’re not free. If you don’t believe me, deceiving yourself won’t help. It’s not the Buddha’s fault. People, though, are deluded. They’re unaware that their own mind is the Buddha. Otherwise they wouldn’t look for a Buddha outside the mind.

Buddhas don’t save Buddhas. If you use your mind to look for a Buddha, you won’t see the Buddha. As long as you look for a Buddha somewhere else, you’ll never see that your own mind is the Buddha. Don’t use a Buddha to worship a Buddha. And don’t use the mind to invoke a Buddha." Buddhas don’t recite sutras." Buddhas don’t keep precepts." And Buddhas don’t break precepts. Buddhas don’t keep or break anything. Buddhas don’t do good or evil.

To find a Buddha, you have to see your nature." Whoever sees his nature is a Buddha. If you don’t see your nature, invoking Buddhas, reciting sutras, making offerings, and keeping precepts are all useless. Invoking Buddhas results in good karma, reciting sutras results in a good memory; keeping precepts results in a good rebirth, and making offerings results in future blessings-but no buddha. If you don’t understand by yourself, you’ll have to find a teacher to get to the bottom of life and death. But unless he sees his nature, such a person isn’t a tea6er. Even if he can recite the Twelvefold Canon he can’t escape the Wheel of Birth and Death. He suffers in the three realms without hope of release. Long ago, the monk Good Star 21 was able to recite the entire Canon. But he didn’t escape the Wheel, because he didn’t see his nature. If this was the case with Good Star, then people nowadays who recite a few sutras or shastras and think it’s the Dharma are fools. Unless you see your mind, reciting so much prose is useless.

To find a Buddha all you have to do is see your nature. Your nature is the Buddha. And the Buddha is the person who’s free: free of plans, free of cares. If you don’t see your nature and run around all day looking somewhere else, you’ll never find a buddha. The truth is there’s nothing to find. But to reach such an understanding you need a teacher and you need to struggle to make yourself understand. Life and death are important. Don’t suffer them in vain.

There’s no advantage in deceiving yourself. Even if you have mountains of jewels and as many servants as there are grains of sand along the Ganges, you see them when your eyes are open. But what about when your eyes are shut? You should realize then that everything you see is like a dream or illusion.

If you don’t find a teacher soon, you’ll live this life in vain. It’s true, you have the buddha-nature. But the help of a teacher you’ll never know it. Only one person in a million becomes enlightened without a teacher’s help. If, though, by the conjunction of conditions, someone understands what the Buddha meant, that person doesn’t need a teacher. Such a person has a natural awareness superior to anything taught. But unless you’re so blessed, study hard, and by means of instruction you’ll understand.

People who don’t understand and think they can do so without study are no different from those deluded souls who can’t tell white from black." Falsely proclaiming the Buddha-Dharma, such persons in fact blaspheme the Buddha and subvert the Dharma. They preach as if they were bringing rain. But theirs is the preaching of devils not of Buddhas. Their teacher is the King of Devils and their disciples are the Devil’s minions. Deluded people who follow such instruction unwittingly sink deeper in the Sea of Birth and Death. Unless they see their nature, how can people call themselves Buddhas they’re liars who deceive others into entering the realm of devils. Unless they see their nature, their preaching of the Twelvefold Canon is nothing but the preaching of devils. Their allegiance is to Mara, not to the Buddha. Unable to distinguish white from black, how can they escape birth and death?

Whoever sees his nature is a Buddha; whoever doesn’t is a mortal. But if you can find your buddha-nature apart from your mortal nature, where is it? Our mortal nature is our Buddha nature. Beyond this nature there’s no Buddha. The Buddha is our nature. There’s no Buddha besides this nature. And there’s no nature besides the Buddha. But suppose I don’t see my nature, cant I still attain enlightenment by invoking Buddhas, reciting sutras, making offerings, observing precepts, Practicing devotions, or doing good works?

No, you can’t. Why not?

If you attain anything at all, it’s conditional, it’s karmic. It results in retribution. It turns the Wheel. And as long as you’re subject to birth and death, you’ll never attain enlightenment. To attain enlightenment you have to see your nature. Unless you see your nature, all this talk about cause and effect is nonsense. Buddhas don’t practice nonsense. A Buddha free of karma free of cause and effect. To say he attains anything at all is to slander a Buddha. What could he possibly attain? Even focusing on a mind, a power, an understanding, or a view is impossible for a Buddha. A Buddha isn’t one sided. The nature of his mind is basically empty, neither pure nor impure. He’s free of practice and realization. He’s free of cause and effect.

A Buddha doesn’t observe precepts. A Buddha doesn’t do good or evil. A Buddha isn’t energetic or lazy. A Buddha is someone who does nothing, someone who can’t even focus his mind on a Buddha. A Buddha isn’t a Buddha. Don’t think about Buddhas. If you dont see what I’m talking about, you’ll ever know your own mind. People who don’t see their nature and imagine they can practice thoughtlessness all the time are lairs and fools. They fall into endless space. They’re like drunks. They can’t tell good from evil. If you intend to cultivate such a practice, you have to see your nature before you can put an end to rational thought. To attain enlightenment without seeing your nature is impossible. Still others commit all sorts of evil deeds, claiming karma doesn’t exist. They erroneously maintain that since everything is empty committing evil isn’t wrong. Such persons fall into a hell of endless darkness with no hope of release. Those who are wise hold no such conception.

But if our every movement or state, whenever it occurs, is the mind, why don’t we see this mind when a person’s body dies?

The mind is always present. You just don’t see it.

But if the mind is present, why don’t I see it?

Do you ever dream?

Of course.

When you dream, is that you?

Yes, it’s me.

And is what you’re doing and saying different from you?

No, it isn’t.

But if it isn’t, then this body is your real body. And this real body is your mind. And this mind, through endless kalpas without beginning, has never varied. It has never lived or died, appeared or disappeared, increased or decreased. Its not pure or impure, good or evil, past or future. It’s not true or false. It’s not mate or female. It doesn’t appear as a monk or a layman, an elder or a novice, a sage or a fool, a Buddha or a mortal. It strives ‘for no realization and suffers no karma. It has no strength or form. It’s like space. You can’t possess it and you can’t lose it. Its movements can’t be blocked by mountains, rivers, or rock walls. Its unstoppable powers penetrate the Mountain of Five Skandhas and cross the River of Samsara." No karma can restrain this real body. But this mind is subtle and hard to see. It’s not the same as the sensual mind. Every I one wants to see this mind, and those who move their hands and feet by its light are as many as the grains of sand along the Ganges, but when you ask them, they can’t explain it. They’re like puppets. It’s theirs to use. Why don’t they see it?

The Buddha said people are deluded. This Is why when they act they fall into the river of endless rebirth. And when they try to get out they only sink deeper. And all because they don’t see their nature. If people weren’t deluded why would they ask about something right in front of them? Not one of they understands the movement of his own hands and feet. The Buddha wasn’t mistaken. Deluded people don’t know who they are. A Buddha and no one else know something so hard to fathom. Only the wise knows mind, this mind call nature, this mind called liberation. Neither life nor death can restrain this mind. Nothing can. It’s also called the Unstoppable Tathagata," the Incomprehensible, the Sacred Self, the Immortal, the Great Sage. Its names vary but not its essence. Buddhas vary too, but none leaves his own mind. The mind’s capacity is limitless, and its manifestations are inexhaustible. Seeing forms with your eyes, hearing sounds with your ears, smelling odors with your nose, tasting flavors with your tongue, every movement or state is your entire mind. At every moment, where language can’t go, that’s your mind.

The sutras say, "A Tathagata’s forms are endless. And so is his awareness." The endless variety of forms is due to the mind. Its ability to distinguish things, whatever their movement or state, is the mind’s awareness. But the mind has no form and its awareness no limit. Hence it’s said, "A Tathagata’s forms are endless. And so is his awareness." A material body of the four elements" is trouble. A material body is subject to birth and death. But the real body exists without existing, because a Tathagata’s real body never changes. The sutras say, "People should realize that the buddha-nature is something they have always had." Kashyapa only realized his own nature.

Our nature is the mind. And the mind is our nature. This nature is the same as the mind of all Buddhas. Buddhas of the past and future only transmit this mind. Beyond this mind there’s no Buddha anywhere. But deluded people don’t realize that their own mind is the Buddha. They keep searching outside. They never stop invoking Buddhas or worshipping Buddhas and wondering Where is the buddha? Don’t indulge in such illusions. Just know your mind. Beyond your mind there’s no other Buddha. The sutras say, "Everything that has form is an illusion." They also say, "Wherever you are, there’s a Buddha." Your mind is the Buddha. Don’t use a Buddha to worship a Buddha.

Even if a Buddha or bodhisattva" should suddenly appear before you, there’s no need for reverence. This mind of ours is empty and contains no such form. Those who hold onto appearances are devils. They fall from the Path. Why worship illusions born of the mind? Those who worship don’t know, and those who know don’t worship. By worshipping you come under the spell of devils. I point this out because 1 afraid you’re unaware of it. The basic nature of a Buddha has no such form. Keep this in mind, even if something unusual should appear. Don’t embrace it, and don’t fear it, and don’t doubt that your Mind is basically pure. Where could there be room for any such form? Also, at the appearance of spirits, demons, or divine conceive neither respect nor fear. Your mind is basically empty. All appearances are illusions. Don’t hold on to appearances. If you envision a Buddha, a Dharma, or a bodhisattva" and conceive respect for them, you relegate yourself to the realm of mortals. If you seek direct understanding, don’t hold on to any appearance whatsoever, and you’ll succeed. I have no other advice. The sutras say, "All appearances are illusions." They have no fixed existence, o constant form. They’re impermanent. Don’t cling to appearances and you’ll be of one mind with the Buddha. The sutras say, "’That which is free of all form is the Buddha."

But why shouldn’t we worship Buddhas and bodhisattvas?

Devils and demons possess the power of manifestation. They can create the appearance of bodhisattvas in all sorts of guises. But they’re false. None of them are Buddhas. The Buddha is your own mind. Don’t misdirect your worship.

Buddha is Sanskrit for what you call aware, miraculously aware. Responding, arching your brows blinking your eyes, moving your hands and feet, its all your miraculously aware nature. And this nature is the mind. And the mind is the Buddha. And the Buddha is the path. And the path is Zen. But the word Zen is one that remains a puzzle to both mortals and sages. Seeing your nature is Zen. Unless you see your nature, it’s not Zen.

Even if you can explain thousands of sutras and shastras, unless you see your own nature yours is the teaching of a mortal, not a Buddha. The true Way is sublime. It can’t be expressed in language. Of what use are scriptures? But someone who sees his own nature finds the Way, even if he can’t read a word. Someone who sees his nature is a Buddha. And since a Buddha’s body is intrinsically pure and unsullied, and everything he says is an expression of his mind, being basically empty, a buddha can’t be found in words or anywhere in the Twelvefold Canon.

The Way is basically perfect. It doesn’t require perfecting. The Way has no form or sound. It’s subtle and hard to perceive. It’s like when you drink water: you know how hot or cold it is, but you can’t tell others. Of that which only a

Tathagata knows men and gods remain unaware. The awareness of mortals falls short. As long as ,they’re attached to appearances, they’re unaware that their minds are empty.

And by mistakenly clinging to the appearance of things they lose the Way. If you know that everything comes from the mind, don’t become attached. Once attached, you’re unaware. But once you see your own nature, the entire Canon becomes so much prose. Its thousands of sutras and shastras only amount to a clear mind. Understanding comes in midsentence. What good are doctrines? The ultimate Truth is beyond words. Doctrines are words.

They’re not the Way. The Way is wordless. Words are illusions. They’re no different from things that appear in your dreams at night, be they palaces or carriages, forested parks or lakeside ‘lions. Don’t conceive any delight for such things. They’re all cradles of rebirth. Keep this in mind when you approach death. Don’t cling to appearances, and you’ll break through all barriers. A moment’s hesitation and you’ll be under the spell of devils. Your real body is pure and impervious. But because of delusions you’re unaware of it. And because of this you suffer karma in vain. Wherever you find delight, you find bondage. But once you awaken to your original body and mind," you’re no longer bound by attachments.

Anyone, who gives up the transcendent for the mundane, ill any of its myriad forms, is a mortal. A Buddha is someone who finds freedom in good fortune and bad. Such is his power that karma can’t hold him. No matter what kind of karma Buddha transforms it. Heaven and hell are nothing to him. But the awareness of a mortal is dim compared to that of a Buddha who penetrates everything inside and out. If you’re not sure don’t act. Once you act, you wander through birth and death and regret having no refuge. Poverty and hardship are created by false thinking. To understand this mind you have to act without acting. Only then will you see things from a Tathagata’s perspective.

But when you first embark on the Path, your awareness won’t focused. But you shouldn’t doubt that all such scenes come from your own mind and nowhere else.

If, as in a dream, you see a light brighter than the sun, your remaining attachments will suddenly come to an end and the nature of reality will be revealed. Such an occurrence serves as the basis for enlightenment. But this is something only you know. You can’t explain it to others. Or if, while you’re walking, standing, sitting, or lying in a quiet grove, you see a light, regardless of whether it’s bright or dim, don’t tell others and don’t focus on it. It’s the light of your own nature.

Or if, while you’re walking, standing, sitting, or lying in the stillness and darkness of night, everything appears as though in daylight, don’t be startled. It’s your own mind about to reveal itself.

Or if, while you’re dreaming at night, you see the moon and stars in all their clarity, it means the workings of your mind are about to end. But don’t tell others. And if your dreams aren’t clear, as if you were walking in the dark, it’s because your mind is masked by cares. This too is something of" you know. if you so your nature,, you don’t need to read sutras or invoke buddhas. Erudition and Knowledge are not only useless but also cloud your awareness. Doctrines are only for pointing to the mind. Once you see your mind, why pay attention to doctrines?

To go from mortal to Buddha, you have to put an end to karma, nurture your awareness, and accept what life brings. If you’re always getting angry, you’ll turn your nature against the Way. There’s no advantage in deceiving yourself. Buddhas move freely through birth and death, appearing and disappearing at will. They can’t be restrained by karma or overcome by devils. Once mortals see their nature, all attachments end. Awareness isn’t hidden. But you can only find it right now. It’s only now. If you really want to find the Way, don’t hold on to anything. Once you put an end to karma and nurture your awareness, any attachments that remain will come to an end. Understanding comes naturally. You don’t have to make any effort. But fanatics don’t understand what the Buddha meant. And the harder they try, the farther they get from the Sage’s meaning. All day long they invoke Buddhas and read sutras. But they remain blind to their own divine nature, and they don’t escape the Wheel.

A Buddha is an idle person. He doesn’t run around after fortune and fame. What good are such things in the end? People who don’t see their nature and think reading sutras, invoking Buddhas’, studying long and hard, practicing morning and night, never lying down, or acquiring knowledge is the Dharma, blaspheme the Dharma. Buddhas of the past and future only talk about seeing your nature. All practices are impermanent. Unless they see their nature people who claim to have attained unexcelled, complete enlightenment" are liars. Among Shakyamuni’s ten greatest disciples, Ananda was foremost in learning. But he didn’t know the Buddha. All he did was study and memorize. Arhats don’t know the Buddha. All they know are so many practices for realization, and they become trapped by cause and effect. Such is a mortal’s karma: no escape from birth and death. By doing the opposite of what lie intended, Such people blaspheme the Buddha. Killing them would not be wrong. The sutras say, "Since icchantikas are incapable of belief, killing them would be blameless, whereas people who believe reach the state of Buddhahood."

Unless you see your nature, You shouldn’t go around criticizing the goodness of others. There’s no advantage in deceiving yourself. Good and bad are distinct. Cause and effect are clear. Heaven and hell are right before your eves. But fools don’t believe and fall straight into a hell of endless darkness without even knowing it. What keeps them from believing is the heaviness of their karma. They’re like blind people who don’t believe there’s such a thing as light. Even if you explain it to them, they still don t believe, because they’re blind. How can they possibly distinguish light?

The same holds true for fools who end up among the lower orders of existence or among the poor and despised. They can’t live and they can’t die. And despite their sufferings, if you ask them, they say they’re as happy as gods. All mortals even those who think themselves wellborn, are likewise unaware. Because of the heaviness of their karma, such fools can’t believe and can’t get free.

People who see that their mind is the Buddha don’t need to shave their head" Laymen are Buddhas too. Unless they see their nature, people who shave their head are simply fanatics.

But since married laymen don’t give up sex, bow can they become Buddhas? I only talk about seeing your nature. I don’t talk about sex simply because you don’t see your nature. Once you see your nature, sex is basically immaterial. It ends along with your delight in it. Even if some habits remain’, they can’t harm you, because your nature is essentially pure. Despite dwelling in a material body of four elements, your nature is basically pure. It can’t be corrupted.

Your real body is basically pure. It can’t be corrupted. Your real body has no sensation, no hunger or thirst’, no warmth or cold, no sickness, no love or attachment, no pleasure or pain, no good or bad, no shortness or length, no weakness or strength. Actually, there’s nothing here. It’s only because you cling to this material body that things like hunger and thirst, warmth and cold, sickness appear Once you stop clinging and let things be, you’ll- be free, even of birth and death. You’ll transform everything. You’ll possess Spiritual powers " that cant be obstructed. And you’ll be at peace wherever you are. If you doubt this, you’ll never see through anything. You’re better off doing nothing. Once you act, you can’t avoid the cycle of birth and death. But once you see your nature, you’re a Buddha even if you work as a butcher.

But butchers create karma by slaughtering animals. How can they be Buddhas?

I only talk about seeing your nature. I don’t talk about creating karma. Regardless of what we do, our karma has no hold on us. Through endless kalpas without beginning, its only because people don’t see their nature that they end up in hell. As long as a person creates karma, he keeps passing through birth and death. But once a person realizes his original nature, he stops creating karma. If he doesn’t see his nature, invoking Buddhas won’t release him from his karma, regardless of whether or not he’s a butcher. But once he sees his nature, all doubts vanish. Even a butcher’s karma has no effect on such a person. In India the twenty-seven patriarchs only transmitted the imprint of the mind.

And the only reason I’ve come to China is to transmit the instantaneous teaching of the Mahayana This mind is the Buddha. I don’t talk about precepts, devotions or ascetic practices such immersing yourself in water and fire, treading a wheel of knives, eating one meal a day, or never lying down. These are fanatical, provisional teachings. Once you recognize your moving, miraculously aware nature.

Yours is the mind of all Buddhas. Buddhas of the past and future only talk about transmitting the mind.

They teach nothing else if someone understands this teaching, even if he’s illiterate he’s a Buddha. If You don’t see your own miraculously aware nature, you’ll never find a Buddha even if you break your body into atoms.

The Buddha is your real body, your original mind. This mind has no form or characteristics, no cause or effect, no tendons or bones. It’s like space. You can’t hold it. Its not the mind or materialists or nihilists. Except for a Tathagata, no one else- no mortal, no deluded being-can fathom it.

But this mind isn’t somewhere outside the material body of four elements.Without this mind we can’t move. The body has no awareness. Like a plant or stone, the body has no nature. So how does it move? It’s the mind that moves. Language and behavior, perception and conception are all functions of the moving mind. All motion is the mind’s motion. Motion is its function. Apart from motion there’s no mind, and apart from the mind there’s no motion. But motion isn’t the mind. And the mind isn’t motion. Motion is basically mindless. And the mind is basically motionless. But motion doesn’t exist without the mind. And the mind doesn’t exist without motion. Theres no mind for motion to exist apart from, and no motion for mind to exist apart from. Motion is the mind’s function, and its function is its motion. Even so, the mind neither moves nor functions, the essence of its functioning is emptiness and emptiness is essentially motionless. Motion is the same as the mind. And the mind is essentially motionless. Hence the Sutras tell us to move without moving, to travel without traveling, to see without seeing, to laugh without laughing, to hear without hearing, to know without knowing, to be happy, without being happy, to walk without walking, to stand without standing. And the sutras say, "Go beyond language. Go beyond thought." Basically, seeing, hearing, and knowing are completely empty. Your anger, Joy, or pain is like that of puppet. You search but you won’t find a thing.

According to the Sutras, evil deeds result in hardships and good deeds result in blessings. Angry people go to hell and happy people go to heaven. But once you know that the nature of anger and joy is empty and you let them go, you free yourself from karma. If you don’t see your nature, quoting sutras is no help, I could go on, but this brief sermon will have to do.

Wake-up Sermon

The essence of the Way is detachment. And the goal of those who practice is freedom from appearances. The sutras say, Detachment is enlightenment because it negates appearances. Buddhahood means awareness Mortals whose minds are aware reach the Way of Enlightenment and are therefore called Buddhas. The sutras say, "Those who free themselves from all appearances are called Buddhas." The appearance of appearance as no appearance can’t be seen visually but can only be known by means of wisdom. Whoever hears and believes this teaching embarks on the Great Vehicle" and leaves the three realms. The three realms are greed, anger, and delusion. To leave the three realms means to go from greed, anger, and delusion back to morality, meditation, and wisdom. Greed, anger, and delusion have no nature of their own. They depend on mortals. And anyone capable of reflection is bound to see that the nature of greed, anger, and delusion is the buddha-nature. Beyond greed, anger, and delusion there is no other buddha- nature. The sutras say, "Bu as have only become buddhas while living with the three poisons and nourishing themselves on the pure Dharma." The three poisons are greed, anger, and delusion.

The Great Vehicle is the greatest of all vehicles. It’s the conveyance of bodhisattvas, who use everything wit out using anything and who travel all day without traveling. Such is the vehicle of Buddhas.

The sutras say, "No vehicle is the vehicle of Buddhas."

Whoever realizes that the six senses aren’t real, that the five aggregates are fictions, that no such things can be located anywhere in the body, understands the language of Buddhas. The sutras say, "The cave of five aggregates is the hall of Zen. The opening of the inner eye is the door of the Great Vehicle." What could be clearer?

Not thinking about anything is Zen. Once you know this, walking, standing, sitting, or lying down, everything you do is Zen. To know that the mind is empty is to see the Buddha. The Buddhas of the ten directions" have no mind. To see no mind is to see the Buddha.

To give up yourself without regret is the greatest charity. To transcend motion and stillness is the highest meditation. Mortals keep moving, and Arhats stay still." But the highest meditation surpasses both that of mortals and that of Arhats. People who reach such understanding free themselves from all appearances without effort and cure all illnesses without treatment. Such is the power of great Zen.

Using the mind to look for reality is delusion. Not using the mind to took for reality is awareness. Freeing oneself from words is liberation. Remaining unblemished by the dust of sensation is guarding the Dharma. Transcending life and death is leaving home."

Not suffering another existence is reaching the Way. Not creating delusions is enlightenment. Not engaging in ignorance is wisdom. No affliction is nirvana. And no appearance of the mind is the other shore.

When you’re deluded, this shore exists. When you wake tip, it doesn’t exist. Mortals stay on this shore. But those who discover the greatest of all vehicles stay on neither this shore nor the other shore. They’re able to leave both shores. Those who see the other shore as different from this shore don’t understand Zen.

Delusion means mortality. And awareness means Buddhahood. They’re not the same. And they’re not different. It’s ‘List that people distinguish delusion from awareness. When we’re deluded there’s a world to escape. When we’re aware, there’s nothing to escape.

In the light of the impartial Dharma, mortals look no different from sages. The sutras say that the impartial Dharma is something that mortals can’t penetrate and sages can’t practice. The impartial Dharma is only practiced by great bodhisattvas and Buddhas. To look on life as different from death or on motion as different from stillness is to be partial. To be impartial means to look on suffering as no different from nirvana,, because the nature of both is emptiness. By imagining they’re putting an end to Suffering and entering nirvana Arhats end up trapped by nirvana. But bodhisattvas know that suffering is essentially empty. And by remaining in emptiness they remain in nirvana. Nirvana means no birth and no death. It’s beyond birth and death and beyond nirvana. When the mind stops moving, it enters nirvana. Nirvana is an empty mind. When delusions dont exist, Buddhas reach nirvana. Where afflictions don’t exist, bodhisattvas enter the place of enlightenment An uninhabited place is one without greed, anger, or delusion. Greed is the realm of desire, anger the realm of form, and delusion the formless realm. When a thought begins, you enter the three realms. When a thought ends, you leave the three realms. The beginning or end of the three realms, the existence or nonexistence of anything, depends on the mind. This applies to everything, even to such inanimate objects as rocks and sticks.

Whoever knows that the mind is a fiction and devoid of anything real knows that his own mind neither exists nor doesn’t exist. Mortals keep creating the mind, claiming it exists. And Arhats keep negating the mind, claiming it doesn’t exist. But bodhisattvas and Buddhas neither create nor negate the mind. This is what’s meant by the mind that neither exists nor doesn’t exist. The mind that neither exists nor doesn’t exist is called the Middle Way.

If you use your mind to study reality, you won’t understand either your mind or reality. If you study reality without using your mind, you’ll understand both. Those who don’t understand don’t understand understanding. And those who understand, understand not understanding. People capable of true vision know that the mind is empty. They transcend both understanding and not understanding. The absence of both understanding and not understanding is true understanding Seen with true vision, form isn’t simply form, because form depends on mind. And mind isn’t simply mind, because mind depends on form. Mind and form create and negate each other. That which exists exists in relation to that which doesn’t exist. And that which doesn’t exist doesn’t exist in relation to that which exists. This is true vision. By means of such vision nothing is seen and nothing is not seen. Such vision reaches throughout the ten directions without seeing: because nothing is seen; because not seeing is seen; because seeing isn’t seeing. What mortals see are delusions. True vision is detached from seeing. The mind and the world are opposites, and vision arises where they meet. When your mind doesn’t stir inside, the world doesn’t arise outside. When the world and the mind are both transparent, this is true vision. And such understanding is true understanding.

To see nothing is to perceive the Way, and to understand nothing is to know the Dharma, because seeing is neither seeing nor not seeing and because understanding is neither understanding nor not understanding. Seeing without seeing is true vision. Understanding without understanding is true understanding.

True vision isn’t just seeing seeing. It’s also seeing not seeing. And true understanding isn’t just understanding understanding. It’s also understanding not understanding. If you understand anything, you don’t understand. Only when you understand nothing is it true understanding. Understanding is neither understanding nor not understanding.

The sutras say, "Not to let go of wisdom is stupidity." When the mind doesn’t exist, understanding and not understanding are both true. When the mind exists, understanding and not understanding are both false. When you understand, reality depends on you. When you don’t understand, you depend on reality. When reality depends on you, that which isn’t real becomes real. When you depend on reality, that which is real becomes false. When you depend on reality, everything is false. When reality depends on you, everything is true. Thus, the sage doesn’t use his mind to look for reality, or reality to look for his mind, or his mind to look for his mind, or reality to look for reality. His mind doesn’t give rise to reality. And reality doesn’t give rise to his mind. And because both his mind and reality are still, he’s always in samadhi.

When the mortal mind appears, buddhahood disappears. When the mortal mind disappears, buddhahood appears. When the mind appears, reality disappears. When the mind disappears, reality appears. Whoever knows that nothing depends on anything has found the Way. And whoever knows that the mind depends on nothing is always at the place of enlightenment.

When you don’t understand, your wrong. When you understand, you re not wrong. This is because the nature of wrong is empty. When you don’t understand right seems wrong. When you understand, wrong isn’t wrong, because wrong doesn’t exist. The sutras say, "Nothing has a nature of its own." Act. Don’t question. When you question, you’re wrong. Wrong is the result of questioning. When you reach such an understanding, the wrong deeds of your past lives are wiped away. When you’re deluded, the six senses and five shades are constructs of suffering and mortality When you wake up, the six senses and five shades are constructs of nirvana and immortality.

Someone who seeks the Way doesn’t look beyond himself. He knows that the mind is the Way. But when he finds the mind, he finds nothing. And when he finds the Way, he finds nothing. If you think you can use the mind to find the Way, you’re deluded. When you, re deluded, buddhahood exists. When you’re aware, it doesn’t exist. This is because awareness is buddhahood.

If you’re looking for the Way, the Way won’t appear until your body’ disappears. It’s like stripping bark from a tree. This karmic body undergoes constant change. It has no fixed reality. Practice according to your thoughts. Don’t hate life and death or love life and death. Keep your every thought free of delusion, and in life you’ll witness the beg- inning of nirvana and in death you’ll experience the assurance of no rebirth.

To see form but not be corrupted by form or to hear sound but not to be corrupted by sound is liberation. Eyes that aren’t attached to form are the gates of Zen. In short, those who perceive the existence and nature of phenomena and remain unattached are liberated. Those who perceive the external appearance of phenomena are at their mercy. Not to be subject to afflictions is what’s meant by liberation. There’s no other liberation. When you know how to look at form, form doesn’t give rise to mind and mind doesn’t give rise to form. Form and mind are both pure.

When delusions are absent, the mind is the land of Buddhas. When delusions are present, the mind is hell. Mortals create delusions. And by using the mind to give birth to mind they always find themselves in hell. Bodhisattvas see through delusions. And by not using the mind to give birth to mind they always find themselves in the land of Buddhas. If you don’t use your mind to create mind, every state of mind is empty and every thought is still. You go from one buddhaland to another. If you use your mind to create mind, every state of mind is disturbed and every thought is in motion. You go from one hell to the next. When a thought arises, there’s good karma and bad karma, heaven and hell. When no thought arises, there’s no good karma or bad karma, no heaven or hell.

The body neither exists nor doesn’t exist. Hence existence as a mortal and nonexistence as a sage are conceptions with which a sage has nothing to do. His heart is empty and spacious as the sky. That which follows is witnessed on the Way. It’s beyond the ken of Arhats and mortals.

When the mind reaches nirvana, you don’t see nirvana, because the mind is nirvana. If you see nirvana somewhere outside the mind, you’re deluding yourself.

Every suffering is a buddha-seed, because suffering impels mortals to seek wisdom. But you can only say that suffering gives rise to Buddhahood. You can’t say that suffering is Buddhahood. Your body and mind are the field. Suffering is the seed, wisdom the sprout, and Buddhahood the grain. The Buddha in the mind is like a fragrance in a tree. The Buddha comes from a mind free of suffering, just as a fragrance comes from a tree free of decay. There’s no fragrance without the tree and no Buddha without the mind. If there’s a fragrance without a tree, it’s a different fragrance. If there’s a Buddha without your mind, it’s a different Buddha.

When the three poisons are present in your mind, you live in a land of filth.

When the three poisons are absent from your mind, you live in a land of purity.

The sutras say, "if you fill a land with impurity and filth, no Buddha will ever appear." Impurity and filth refer to on and the other poisons. A Buddha refers to a pure and awakened mind. There’s no language that, isn’t the Dharma. To talk all day without saying anything is the Way. To be silent all day and still say something isn’t the Way. Hence neither does a Tathagata speech depend on silence, nor does his silence depend on speech, nor does his speech exist apart from his silence. Those who understand both speech and silence are in samadhi. If you speak when you know, Your speech is free. If you’re silent when you don’t know, your silence is tied. If speech isn’t attached to appearances its free. If silence is attached to appearances, it’s tied. Language is essentially free. It has nothing to do with attachment. And attachment has nothing to do with language. Reality has no high or low. If you see high or low, It isn’t real. A raft isn’t real. But a passenger raft is. A person who rides such a raft can cross that which isn’t real. That’s why it’s real.

According to the world there’s male and female, rich and poor. According to the Way there’s no male or female, no rich or poor. When the goddess realized the Way, she didn’t change her sex. When the stable boy" awakened to the Truth, he didn’t change his status. Free of sex and status, they shared the same basic appearance. The goddess searched twelve years for her womanhood without success. To search twelve years for ones manhood would likewise be fruitless. The twelve years refer to the twelve entrances. Without the mind there s no Buddha. Without the Buddha there is no mind.

Likewise, without water there’s no ice, and without ice there is no water. Whoever talks about leaving the mind doesn’t get very far. Don’t become attached to appearances of the mind. The sutras say, "When you see no appearance, you see the Buddha." This is what’s meant by being free from appearances of the mind. Without the mind there’s no Buddha means that the-buddha comes from the mind. The mind gives birth to the Buddha. But although the Buddha comes from the mind, the mind doesn’t come from the Buddha, just as fish come from water, but water doesn’t come from fish. Whoever wants to see a fish sees the water before lie sees the fish. And whoever wants to see a Buddha sees the mind before he sees the Buddha. Once you’ve seen the fish, You forget about the water. And once you’ve seen the Buddha, you forget about the mind. If you don’t forget about the mind, the mind will confuse you, just as the water will confuse you if you don’t forget about it.

Mortality and Buddhahood are like water and ice. To be afflicted by the three poisons is mortality. To be purified by the three releases" is Buddhahood. That which freezes into ice in the winter melts into water in summer. Eliminate ice and there’s no more water. Get rid of mortality and there’s no more Buddhahood. Clearly, the nature of ice is the nature of water. And the nature of water is the nature of ice. And the nature of mortality is the nature of Buddhahood. Mortality and Buddhahood share the same nature, just as Wutou and Futzu share the same root but not the same season. It’s only because of the delusion of differences that we have the words mortality and buddhahood. When a snake becomes a dragon, it doesn’t change its scales. And when a mortal becomes a sage, he doesn’t change his face. He knows his mind through internal wisdom and takes care of his body through external discipline.

Mortals liberate Buddhas and Buddhas liberate mortals. This is what’s meant by impartiality. Mortals liberate Buddhas because affliction creates awareness. And Buddhas liberate mortals because awareness negates affliction. There can’t help but be affliction. And there can’t help but be awareness. If it weren’t for affliction, there would be nothing to create awareness. And if it weren’t for awareness, there would be nothing to negate affliction. When you’re deluded, Buddhas liberate mortals. When you’re aware, mortals liberate Buddhas. Buddhas don’t become Buddhas on their own. They’re liberated by mortals. Buddhas regard delusion as their father and greed as their mother. Delusion and greed are different names for mortality. Delusion and mortality are like the left hand and the right hand. There’s no other difference.

When you’re deluded, you’re on this shore. When you’re aware, you’re on the other shore. But once you know your mind is empty and you see no appearances, you’re beyond delusion and awareness. And once you’re beyond delusion and awareness, the other shore doesn’t exist. The tathagata isn’t on this shore or the other shore. And he isn’t in midstream. Arhats are in midstream and mortals are on this shore. On the other shore is Buddhahood. Buddhas have three bodies: a transformation body a reward body, and a real body. The transformation body is also called the incarnation body. The transformation body appears when mortals do good deeds, the reward body when they cultivate wisdom, and the real body when they become aware of the sublime. The transformation body is the one you see flying in all directions rescuing others wherever it can. The reward body puts an end to doubts. The Great Enlightenment occurred in the Himalayas suddenly becomes true. The real body doesn’t do or say anything. It remains perfectly still. But actually, there’s not even one buddha-body, much less three. This talk of three bodies is simply based on human understanding, which can be shallow, moderate, or deep. People of shallow understanding imagine they’re piling up blessings and mistake the transformation body for the Buddha. People of moderate understanding imagine they’re putting an end to Suffering and mistake the reward body for the Buddha.

And people of deep understanding imagine they’re experiencing Buddhahood and mistake the real body for the Buddha. But people of the deepest understanding took within, distracted by nothing. Since a clear mind is the Buddha they attain the understanding of a Buddha without using the mind. The three bodies, like all other things, are unattainable and indescribable. The unimpeded mind reaches the Way. The sutras say, " Buddhas don’t preach the Dharma. They don’t liberate mortals. And they don’t experience Buddhahood." This is what I mean. Individuals create karma; karma doesn’t create individuals. They create karma in this life and receive their reward in the next. They never escape. Only someone who’s perfect creates no karma in this life and receives no reward. The sutras say, "Who creates no karma obtains the Dharma." This isn’t an empty saying. You can create karma but you can’t create a person. When you create karma, you’re reborn along with your karma. When you don’t create karma, you vanish along with your karma. Hence, wit karma dependent on the individual and the individual dependent on karma, if an individual doesn’t create karma, karma has no hold on him. In the same manner, "A person can enlarge the Way. The Way can’t enlarge a person."

Mortals keep creating karma and mistakenly insist that there’s no retribution. But can they deny suffering? Can they deny that what the present state of mind sows the next state of mind reaps? How can they escape? But if the present state of mind sows nothing, the next state of mind reaps nothing. Don’t misconceive karma.

The sutras say, "Despite believing in Buddhas, people who imagine that Buddhas practice austerities aren’t Buddhists. The same holds for those who imagine that Buddhas are subject to rewards of wealth or poverty. They’re icchantikas. They’re incapable of belief." Someone who understands the teaching of sages is a sage. Someone who understands the teaching of mortals is a mortal. A mortal who can give up the teaching of mortals and follow the teaching of sages becomes a sage. But the fools of this world prefer to look for sage a away. They don’t believe that the wisdom of their own mind is the sage. The sutras say, "Among men of no understanding, don’t preach this sutra. And the sutras say, "Mind is the teaching." But people of no understanding don’t believe their own mind or that by understanding this teaching they can become a sage. They prefer to look for distant knowledge and long for things in space, buddha-images, light, incense, and colors. They fall prey to falsehood and lose their minds to Insanity.

The sutras say, "When you see that all appearances are not appearances, you see the tathagata." The myriad doors to the truth all come from the mind. When appearances of the mind are as transparent as space, they’re gone. Our endless sufferings are the roots of illness. When mortals are alive, they worry about death. When they’re full, they worry about hunger. Theirs is the Great Uncertainty. But sages don’t consider the past. And they don’t worry about the future. Nor do they cling to the present. And from moment to moment they follow the Way. If you haven’t awakened to this great truth, you’d better look for a teacher on earth or in the heavens. Don’t compound your own deficiency.

Breakthrough Sermon

If someone is determined to reach enlightenment, what is the most essential method he can practice?

‘The most essential method, which includes all other methods, is beholding the mind.

But how can one method include all others?

The mind is the root from which all things grow if you can understand the mind, everything else is included. It’s like the root of a tree. All a tree’s fruit and flowers, branches and leaves depend on its root. If you nourish its root, a tree multiplies. If you cut its root, it dies. Those who understand the mind reach enlightenment with minimal effort. Those who don’t understand the mind practice in vain. Everything good and bad comes from your own mind. To find something beyond the mind is impossible.

But bow can beholding the mind be called understanding?

When a great bodhisattva delves deeply into perfect wisdom, he realizes that the four elements and five shades are devoid of a personal self. And he realizes that the activity of his mind has two aspects: pure and impure. By their very nature, these two mental states are always present. They alternate as cause or effect depending on conditions, the pure mind delighting in good deeds, the impure mind thinking of evil. Those who aren’t affected by impurity are sages. They transcend suffering and experience the bliss of nirvana. All others, trapped by the impure mind and entangled by their own karma, are mortals. They drift through the three realms and suffer countless afflictions and all because their impure mind obscures their real self.

The Sutra of Ten Stages says, "in the body of mortals is the indestructible buddha-nature. Like the sun, its light fills endless space, But once veiled by the dark clouds of the five shades, it’s like a light ‘inside a ‘at, hidden from view." And the Nirvana Sutra says, "All mortals have the buddha-nature. But it’s covered by darkness from which they can’t escape. Our buddha-nature is awareness: to be aware and to make others aware. To realize awareness is liberation," Everything good has awareness for its root. And from this root of awareness grow the tree of all virtues and the fruit of nirvana. Beholding the mind like this is understanding.

You say that our true Buddha-nature and all virtues have awareness for their root. But what is the root of ignorance?

The ignorant mind, with its infinite afflictions, passions, and evils, is rooted in the three poisons. Greed, anger, and delusion. These three poisoned states of mind themselves include countless evils, like trees that have a single trunk but countless branches and leaves. Yet each poison produces so many more millions of evils that the example of a tree is hardly a fitting comparison. The three poisons are present in our six sense organs’ as six kinds of consciousness’ or thieves. They’re called thieves because they pass in and out of the gates of the senses, covet limitless possessions, and mask their true identity. And because mortals are misled in body and mind by these poisons or thieves, they become lost in life and death, wander through the six states of existence, and suffer countless afflictions. These afflictions are like rivers that surge for a thousand miles because of the constant flow of small springs.

But if someone cuts off their source, rivers dry up. And if someone who seeks liberation can turn the three poisons into the three sets of precepts and the six thieves into the six paramitas, he rids himself of affliction once and for all. But the three realms and six states -of existence are infinitely vast. How can we escape their endless afflictions if all we do is behold the mind? The karma of the three realms comes from the mind alone. If your mind isn’t within the three realms, it’s beyond them. The three realms correspond to the three poisons- greed corresponds to the realm of desire, anger to the realm of form, and delusion to the formless realm. And because karma created by the poisons can be gentle or heavy, these three realms are further divided into six places known as the six states of existence.

And bow does the karma of these six differ?

Mortals who don’t understand true practice and blindly perform good deeds are born into the three higher states of existence within the three realms. And what are these three higher states? Those who blindly perform the ten good deeds and foolishly seek happiness are born as gods in the realm of desire. Those who blindly observe the five precepts and foolishly indulge in love and hate are born as men in the realm of anger, And those who blindly cling to the phenomenal world, believe in false doctrines, and pray for blessings are born as demons in the realm of delusion. These are the three higher states of existence.

And what are the three lower states? They’re where those who persist in poisoned thoughts and evil deeds are born. Those whose karma from greed is greatest become hungry ghosts. Those whose karma from anger is greatest become sufferers in hell. And those whose karma from delusion is greatest become beasts. These three lower states together with the previous three higher states form the six states of existence. From this you should realize that all karma, painful or otherwise, comes from your own mind. If you can just concentrate your mind and transcend its falsehood and evil, the suffering of the three realms and six states of existence will automatically disappear. And once free from suffering, you’re truly free. But the Buddha said, "Only after undergoing innumerable hardships for three asankhya kalpas did I achieve enlightenment," Why do you now say that simply beholding the mind and over-coming the three poisons is liberation?

The words of the Buddha are true. But the three-asankhya kalpas refer to the three poisoned states of mind. What we call asankhya in Sanskrit you call countless. Within these three poisoned states of mind are countless evil thoughts, And every thought lasts a kalpa. Such an infinity is what the Buddha meant by the three asankhya kalpas, Once the three poisons obscure your real self, how can you be called liberated until you overcome their countless evil thoughts? People who can transform the three poisons of greed, anger, and delusion into the three releases are said to pass through the three-sankhya kalpas. But people of this final age are the densest of fools. They don’t understand what the Tathagata really meant by the three-asankhya kalpas. They say enlightenment is only achieved after endless kalpas and thereby mislead disciples to retreat on the path to Buddhahood. But the great bodbisattvas have achieved enlightenment only by observing the three sets of precepts"’ and practicing the six Paramitas, Now you tell disciples merely to behold the mind. How can anyone reach enlightenment without cultivating the rules of discipline?

The three sets of precepts are for overcoming the three poisoned states of mind, When you overcome these poisons, you create three sets of limitless virtue, A set gathers things together-in this case, countless good thoughts throughout your mind. And the six paramitas are for purifying the six senses. What we call paramitas you call means to the other shore. By purifying your six senses of the dust of sensation, the paramitas ferry you across the River of Affliction to the Shore of Enlightenment.

According to the sutras, the three sets of precepts are, "I vow, to put an end to all evils. I vow to cultivate all virtues. And I vow to liberate all beings." But now you say they’re only for controlling the three poisoned states of mind.

Isn’t this contrary to the meaning of the scriptures?

The sutras of the Buddha are true. But long ago, when that great bodhisattva was cultivating the seed of enlightenment, it was to counter the three poisons that he made his three vows. Practicing moral prohibitions to counter the poison of greed, he vowed to put an end to all evils. Practicing meditation to Counter the poison of anger, he vowed to cultivate all virtues. And practicing wisdom to counter the poison of delusion, he vowed to liberate all beings. Because he persevered in these three pure practices of morality, meditation, and wisdom, he was able to overcome the three poisons and reach enlightenment. By overcoming the three poisons he wiped out everything sinful and thus put an end to evil. By observing the three sets of precepts he did nothing but good and thus cultivated virtue. And by putting an end to evil and cultivating virtue lie consummate all practices, benefited himself as well as others, and rescued mortals everywhere. Thus he liberated beings.

You should realize that the practice you cultivate doesn’t exist apart from your mind. If your mind is pure, all buddha-lands are pure. The sutras say, "if their minds are impure, beings are impure. If their minds are pure, beings are pure," And "To reach a buddha-land, purify your mind. As your mind becomes pure, buddha-lands become pure." Thus by overcoming the three poisoned states of mind the three sets of precepts are automatically fulfilled.

But the sutras say the six Paramitas are charity, morality, patience, devotion, meditation, and wisdom. Now you say the paramitas refer to the purification of the senses. What do you mean by this? And why are they called ferries?

Cultivating the paramitas means purifying the six senses by overcoming the six thieves. Casting out the thief of the eye by abandoning the visual world is charity. Keeping out the thief of the ear by not listening to sound is morality. Humbling the thief of the nose by equating smells as neutral is patience. Controlling the thief of the mouth by conquering desires to taste, praise, and explain is devotion. Quelling the thief of the body by remaining unmoved by sensations of touch is meditation. And taming the thief of the mind by not yielding to delusions but practicing wakefulness is wisdom, These six paramitas are transports. Like boats or rafts, they transport beings to the other shore.

Hence they’re called ferries.

But when Sbakyamuni was a bodhisattva, he consumed three bowls of milk and six ladles of gruel prior to attaining enlightenment. If he bad to drink milk before be could taste the fruit of buddhahood, how can merely beholding the mind result in liberation?

What you say is true. That is how he attained enlightenment. He had to drink milk before he could become a Buddha. But there are two kinds of milk. That which Shakyamuni drank wasn’t ordinary impure milk but Pure Dharma-talk. The three bowls were the three sets of precepts. And the six ladies were the six paramitas. When Sbakyamuni attained enlightenment, it was because he drank this pure dharma-rnilk that he tasted the fruit of Buddhahood. To say that the Tathagata drank the worldly concoction of impure, rank-smelling cow’s milk is the height of slander. That which is truly so, the indestructible, passionless Dharma-self, remains forever free of the world’s afflictions. Why would it need impure milk to satisfy its hunger or thirst?

The sutras say, "This ox doesn’t live in the highlands or the lowlands. It doesn’t eat grain or chaff. And it doesn’t graze with cows. The body of this ox is the color of burnished gold." The ox refers to Vairocana. Owing to his great compassion for all beings, he produces from within his pure Dharma-body the sublime Dharma-milk of the three sets of precepts and six paramitas to nourish all those who seek liberation. The pure milk of such a truly pure ox not only enabled the ‘tathagata to achieve buddhahood but also enables any being who drinks it to attain unexcelled, complete enlightenment.

Throughout the sutras the Buddha tells mortals they can achieve enlightenment by performing such meritorious works as building monasteries, casting statues, burning incense, scattering flowers, lighting eternal lamps, practicing all six periods" of the day and night, walking around stupas, observing fasts, and worshipping. But if beholding the mind includes all other practices, then such works as these would appear redundant.

The sutras of the Buddha contain countless metaphors. Because mortals have shallow minds and don’t understand anything deep, the Buddha used the tangible to represent the sublime. People who seek blessings by concentrating on external works instead of internal cultivation are attempting the impossible, What you call a monastery we call a sangbarama, a place of purity. But whoever denies entry to the three poisons and keeps the gates of his senses pure, his body and mind still, inside and outside clean, builds a monastery.

Casting statues refers to all practices cultivated by those who seek enlightenment. The Tathagata’s sublime form can’t be represented by metal. Those who seek enlightenment regard their bodies as the furnace, the Dharma as the fire, wisdom as the craftsmanship, and the three sets of precepts and six paramitas as the mold. They smelt and refine the true buddha-nature within themselves and pour it into the mold formed by the rules of discipline. Acting in perfect accordance with the -Buddha’s teaching, they naturally create a perfect likeness. ‘Me eternal, sublime body isn’t subject to conditions or decay. If you seek the Truth but dont learn how to make a true likeness, what will you use in its place?

And burning incense doesn’t mean ordinary material incense but the incense of the intangible Dharma, which drives away filth, ignorance, and evil deeds with its perfume. There are five kinds of such Dharma-incense. First is the incense of morality, which means renouncing evil and cultivating virtue. Second is the incense of meditation, which means deeply believing in the Mahayana with unwavering resolve. Third is the incense of wisdom, which means contemplating the body and mind, inside and out. Fourth is the incense of liberation, which means severing the bonds of ignorance. And fifth is the incense of perfect knowledge, which means being always aware and nowhere obstructed. These five are the most precious kinds of incense and far superior to anything the world has to offer.

When the Buddha was in the world, he told his disciples to light such precious incense with the fire of awareness as an offering to the Buddhas of the ten directions. But people today don’t understand the Tathagata’s real meaning. They use an ordinary flame to light material incense of sandalwood or frankincense and pray for some future blessing that never comes.

For scattering flowers the same holds true. This refers to speaking the Dharma, scattering flowers of virtue, in order to benefit others and glorify the real sell. These flowers of virtue are those praised by the Buddha. They last forever and never fade. And whoever scatters such flowers reaps infinite blessings. If you think the Tathagata meant for people to harm plants by cutting off their flowers, you’re wrong. Those who observe the precepts don’t injure any of the myriad life forms of heaven and earth. If you hurt something by mistake, you suffer for it. But those who intentionally break the precepts by injuring the living for the sake of future blessings suffer even more, How could they let would-be blessings turn into sorrows?

The eternal lamp represents perfect awareness. Likening the illumination of awareness to that of a lamp, those who seek liberation see their body as the lamp, their mind as its wick, the addition of discipline as its oil, and the power of wisdom as its flame. By lighting this lamp of perfect awareness they dispel all darkness and delusion. And by passing this Dharma on to others they’re able to use one lamp to light thousands of lamps. And because these lamps likewise light countless other lamps, their light lasts forever.

Long ago, there was a Buddha named Dipamkara, or lamplighter. This was the meaning of his name. But fools don’t understand the metaphors of the Tathagata. Persisting in delusions and clinging to the tangible, they light lamps of everyday vegetable oil and think that by illuminating the interiors of buildings they’re following the Buddha’s teaching. How foolish! The light released by a Buddha from one curl between his brows can illuminate countless worlds. An oil lamp is no help. Or do you think otherwise?

Practicing all six periods of the day and night means constantly cultivating enlightenment among the six senses and persevering in every form of awareness. Never relaxing control over the six senses is what’s meant by all six periods. As for walking around stupas, the stupa is your body and mind. When your awareness circles your body and mind without stopping, this is called walking around a stupa. The sages of long ago followed this path to nirvana. But people today don’t understand what this means. Instead of looking inside they insist on looking outside. They use their material bodies to walk around material stupas. And they keep at it day and night, wearing themselves out in vain and coming no closer to their real self.

The same holds true for observing a fast. It’s useless unless you understand what this really means. To fast means to regulate, to regulate your body and mind so that they’re not distracted or disturbed. And to observe means to uphold, to uphold the rules of discipline according to the Dharma. Fasting means guarding against the six attractions on the outside and the three poisons on the inside and striving through contemplation to purify your body and mind.

Fasting also includes five kinds of food. First there’s delight in the Dharma. This is the delight that comes from acting in accordance with the Dharma. Second is harmony in meditation. This is the harmony of body and mind that comes from seeing through subject and object. Third is invocation, the invocation of Buddhas with both your month and your mind. Fourth is resolution, the resolution to pursue virtue whether walking, standing, sitting, or lying down. And fifth is liberation, the liberation of your mind from worldly contamination. These five are the foods of fasting. Unless a person eats these five pure foods, he’s wrong to think he’s fasting.

Also, once you stop eating the food of delusion, if you touch it again you break your fast. And once you break it, you reap no blessing from it. The world is full of deluded people who don’t see this. They indulge their body and mind in all manner of evil. They give free rein to their passions and have no shame. And when they stop eating ordinary food, they call it fasting. How absurd!

It’s the same with worshipping. You have to understand the meaning and adapt to conditions. Meaning includes action and nonaction. Whoever understands this follows the Dharma.

Worship means reverence and humility it means revering your real self and humbling delusions. If you can wipe out evil desires and harbor good thoughts, even if nothing shows its worship. Such form is its real form. The Lord wanted worldly people to think of worship as expressing humility and subduing the mind. So he told them to prostrate their bodies to show their reverence, to let the external express the internal, to harmonize essence and form. Those who fail to cultivate the inner meaning and concentrate instead on the outward expression never stop indulging in ignorance, hatred, and evil while exhausting themselves to no avail. They can deceive others with postures, remain shameless before sages and vain before mortals, but they’ll never escape the Wheel, much less achieve any merit.

But the Bathhouse Sutra says, "By contributing to the bathing of monks, people receive limitless blessings." This would appear to be an instance of external practice achieving merit. How does this relate to beholding the mind? Here, the bathing of monks doesn’t refer to the washing of anything tangible.

When the Lord preached the Bathhouse Sutra, he wanted his disciples to remember the Dharma of washing. So he used an everyday concern to convey his real meaning, which he couched in his explanation of merit from seven offerings. Of these seven, the first is clear water, the second fire, the third soap, the fourth willow catkins, the fifth pure ashes, the sixth ointment, and the seventh the inner garment He used these seven to represent seven other things that cleanse and enhance a person by eliminating the delusion and filth of a poisoned mind. The first of these seven is morality, which washes away excess just as r water washes away dirt. Second is wisdom, which penetrates subject and object, just as fire warms water. Third is discrimination, w1udi gets rid Of evil practices, just as soap gets rid of grime. Fourth is honesty, which purges delusions, just as chewing willow catkins purifies the breath. Fifth is true faith, which resolves all doubts, just as rubbing pure ashes on the body prevents illnesses. Sixth is patience, which overcomes resistance and disgrace, just as ointment softens the skin. And seventh is shame, which redresses evil deeds, just as the inner garment covers up an ugly body. These seven represent the real meaning of the sutra. When he spoke this sutra, the Tathagata was talking to farsighted followers of the Mahayana, not to narrow-minded people of dim vision. It’s not surprising that people nowadays don’t understand.

The bathhouse is the body. When you light the fire of wisdom, you warm the pure water of the precepts and bathe the true Buddha nature within you. By upholding these seven practices you add to your virtue. The monks of that age were perceptive. They understood the Buddha’s meaning. They followed his reaching, perfected their virtue, and tasted the fruit of Buddhahood. But people nowadays can’t fathom these things. They use ordinary water to wash a physical body and think they’re following the sutra. But they’re mistaken. Our true buddha-nature has no shape. And the dust of affliction has no form. How can people use ordinary water to wash an intangible body? It won’t work. When will they wake up? To clean such a body you have to behold it. Once impurities and filth arise from desire, they multiply until they cover you inside and out. But if you try to wash this body of yours, you have to scrub until it’s nearly gone before it’s clean. From this you should realize that washing something external isn’t What the Buddha meant.

The sutras say that someone who wholeheartedly invokes the Buddha is sure to be reborn in the Western Paradise. Since is door leads to Buddhahood, why seek liberation in beholding the mind?

If you’re going to invoke the Buddha, you have to do it right. Unless you understand what invoking means, you’ll do it wrong. And if you do it wrong, you’ll never go anywhere.

Buddha means awareness, the awareness of body and mind that prevents evil from arising in either. And to invoke means to call to mind, to call constantly to mind the rules of discipline and to follow them with all your might. This is what’s meant by invoking. Invoking has to do with thought and not with language. If you use a trap to catch fish, once you succeed you can forget the trap. And if you use language to find meaning, once you find it you can forget language. To invoke the Buddha’s name you have to understand the Dharma of invoking. If it’s not present in your mind, your mouth chants an empty name. As long as you’re troubled by the three poisons or by thoughts of yourself, your deluded mind will keep you from seeing the Buddha and you’ll only waste your effort. Chanting and invoking are worlds apart, Chanting is done with the mouth. Invoking is done with the mind. And because invoking comes from the mind, it’s called the door to awareness. Chanting is centered in the mouth and appears as sound. If you cling to appearances while searching for meaning, you won’t find a thing. Thus, sages of the past cultivated introspection and not speech. This mind is the source of all virtues. And this mind is the chief of all powers, The eternal bliss of nirvana comes from the mind at rest. Rebirth in the three realms also comes from the mind. The mind is the door to every world and the mind is the ford to the other shore. Those who know where the door is don’t worry about reaching it. Those who know where the ford is don’t worry about crossing it.

The people I meet nowadays are superficial. They think of merit as something that has form. They squander their wealth and butcher creatures of land and sea. They foolishly concern themselves with erecting statues and stupas, telling people to pile up lumber and bricks, to paint this blue and that green. They strain body and mind, injure themselves and mislead others. And they don’t know enough to be ashamed. How will they ever become enlightened?

They see something tangible and instantly become attached. If you talk to them about formlessness, they sit there dumb and confused. Greedy for the small mercies of this world, they remain blind to the great suffering to come. Such disciples wear themselves out in vain. Turning from the true to the false, they talk about nothing but future blessings.

If you can simply concentrate your mind’s Inner Light and behold its outer illumination, you’ll dispel the three poisons and drive away the six thieves once and for all. And without effort gain possession of an infinite number of virtues, perfections, and doors to the truth, Seeing through the mundane and witnessing the sublime is less than an eye-blink away, Realization is now. Why worry about gray hair? But the true door is hidden and can’t be revealed. I have only touched upon beholding the mind.

Non-Violent Communication

Table of Contents


Nonviolent Communication (abbreviated NVC, also called Compassionate Communication or Collaborative Communication) is an approach to nonviolent living developed by Marshall Rosenberg beginning in the 1960s.

At its heart it is a belief that all human beings have capacity for compassion and empathy and that we only resort to violence or behavior harmful to others when we do not recognize more effective strategies for meeting needs.

Habits of thinking and speaking leading to use of violence (social, psychological and physical) are learned through culture.

NVC theory supposes all human behavior stems from attempts to meet universal human needs.

The needs are never in conflict.

Rather, conflict arises when strategies for meeting needs clash.

NVC proposes people identify shared needs, revealed by the thoughts and feelings surrounding these needs, and collaborate to develop strategies and make requests of each other to meet each other's needs.

The result is interpersonal harmony and learning for future cooperation.

NVC supports change on three interconnected levels: within self, between others, and within groups and social systems.

NVC greatest impact has been in personal development, relationships, and social change.

NVC is ostensibly taught as a process of interpersonal communication designed to improve compassionate connection to others.

Bullet Summary

  • Leverage compassion both in interpersonal and internal communication
  • Express how you feel with “I” statements instead of “you”
  • Voice your needs and requests both non-offensively but clearly
  • Look for win-win and full satisfaction instead of compromise

Full Summary

Communication is a major part of everyday life and of our relationship. If we want to function well with people, we need to learn to communicate effectively.

Avoid These Violent Communication:

  • Moral judgement (insult, criticism, labels)
  • Judgmental words
  • Demands (you must)
  • Comparisons (violent)
  • Accusatory words

The words we use impact the way we behave. O.J. Harvey studies the world literature looking for how often word depicting people as “good” or “bad” would come up. He found out that countries with a larger usage of bad words also had more incidents.

My Note: This doesn’t say much however. Correlation is not causation and it might as well be that more violence leads to more negative words and not the opposite.

Labels for example impair our observation skills because they imply a judgment (ie.: “liberal” or “conservative”).

Nonviolent Communication

The goal of nonviolent communication, or NVC, is to help us communicate our feelings clearly by observing objectively, identify feelings and communicate with compassion.

  • Observations
  • Feelings
  • Need
  • Request

Imagine as an example that you son left his toys all across the floor. You would not start yelling at him right away. Instead, first you observe the situation; then you ask yourself how it makes you feel (angry, frustrated, worried for the family’s safety?); next you identify what need you have (clean house, safe environment?); finally you ponder for a second what’s the best way to voice your request in a way that influence them without hurting them.

For example:

Son, when I see your toys spread across the kitchen’s floor I feel frustrated because I need our house to be clean and safe.
Do you think you can pick up your toys and take them to your room when you are done playing?

Starting with “I” instead of “you” is a staple of communication manuals.

Observation Without Evaluation

Observing without evaluating is one of the keys of nonviolent communication and one of the most difficult steps to master.

For example the phrase: “Mark always comes late at work” already implies an evaluation. Rephrasing it in a way that is object would say: “Mark does not arrive before 9am”.

Another example even more relevant for relationships would be:

You never to listen when I speak to you

Instead it’s better to be specific:

The last two times I tried to talk to you about it you left the room

What to You Want

The author talks about creators and victims, which is basically the internal vs external locus of control.

You go from victim to creator by asking what do you want

Take Responsibility

Taking responsibility means that you don’t blame anyone else for your own feelings.

What someone does is a stimulus but it’s never the cause of our response. Our response is up to us, and our overall emotional well being is up to us.

Also read:

  • Meditations by Marcus Aurelius
  • The Obstacle is The Way

Example

Imagine that someone tells you:

You are the most selfish person I met

Sounds harsh, right?

There are a few ways people normally react to strong accusations:

Change self-narrative, blame themselves and feel depressed
Get angry or defensive, lash out and blames back

A better reaction though would be to walk through you own feelings and verbalize them. For example:

I feel offended and dejected when you say that because I have really been trying to take your needs into account

This response will clarify your own feelings and get you more easily down the road of resolution.

The last and best option of them all would be to put your ego aside and ask for clarification:

OK. What makes you say that. Do you think I’m selfish for something specific that I have done?

And later you can add:

How do you think I could show more consideration for you and your needs

When you use this type of communication you will often find out that people will self-soothe and calm down because they feel heard and understood.

Communicating Needs

Marshall Rosenberg says that many of us are not skilled at communicating our own emotions and needs.

That leads people to passive aggression and grow anger and resentment.

The best you can do, both for yourself and the people around you, is to communicate as directly as possible. Voicing the Request

Similar to communicating our needs, voicing our request should be done as directly as possible.

The author says that a great way to be cause less defensiveness as possible in the listener is to communicate what you want them to do instead of what you want to stop doing.

Positive language also helps to make your needs clearer. For example if a wife tells his husband not to spend too much time at work, he might not be sure what she means. Does it means he is stressing himself too much or that she wants him to spend more time at home with her? Positive language avoids misunderstandings. Nonviolent Communication For Self Talk

Marshall Rosenberg says that can use nonviolent communication to talk to ourselves as well.

Way too often indeed we label ourselves negatively and we are way too harsh. Instead, the next time you are being judgmental towards yourself, focus on your unmet needs. Listening Well

To listen well Nonviolent Communication recommends the following:

  • Listen empathically (try to feel what they feel)
  • Don’t try to cheer them up
  • Don’t offer immediate solutions or advice
  • Ask question
  • Repeat their last words (it will lead them to expand and clarify)
  • Paraphrase what they said to make sure you understand

What is Nonviolent Communication™?

"Nonviolent Communication shows us a way of being very honest, without any criticism, insults, or put-downs, and without any intellectual diagnosis implying wrongness.”

Nonviolent Communication — also known as NVC and often called “compassionate communication” — helps you create the high quality of connection out of which people naturally enjoy contributing to one another’s well-being.

Dr. Marshall B. Rosenberg, Ph.D., travelled the world over for nearly 50 years teaching what Nonviolent Communication is by training people and mediating conflicts. He said that all over the world, in every culture, people are playing one of two games. One of those games was called "who is right and who is wrong?" The other game is called, "How can I make life more wonderful?"

When people experience a high quality of connection, they naturally want to play the latter of the two, and spontaneously feel motivated to create mutually beneficial outcomes.

When we feel connected we can enter into relationships of "power-with" rather than "power-over" — and we can use our Nonviolent Communication skills to facilitate the mutual understanding that can take us to win-win outcomes. Sometimes, the easiest way to understand what Nonviolent Communication is, is to take a look at what it isn’t….

What is Violent Communication?

Violent communication is what Dr. Rosenberg referred to as "life-disconnected, life-alienated thinking and language." It is precisely this way of thinking and speaking that takes us away from the quality of connection for which we are looking.

Violent communication can be seen as the opposite of what Nonviolent Communication is, because it is based on judgment, criticism, labeling and pigeon-holing others, avoiding responsibility and blaming, placing demands, threatening, and having rigid concepts of rightness and wrongness.

Violent communication uses static language — in other words, the verb "to be" — in order to know who is what and especially who is right and who is wrong, so that then we know who deserves to be rewarded and punished! Nonviolent Communication, on the other hand, is a process language which teaches you to be in the moment and connect with the deeper values and needs driving people's words and behavior rather than any intellectual diagnosis of "wrongness."

NVC teaches you how to speak your truth or share your perspective in a way that is most likely to lead to harmony than conflict. And it teaches you how to be in the face of uncomfortable statements — like blame, judgment, criticism, or a verbal attack — and listen for the values and needs behind the statement. As a result you are less defensive, are able to stand in a more compassionate place, and are much more likely to defuse any potential conflict.

Keep reading if you want to learn more about Nonviolent Communication (NVC), and how you can apply it in the important relationships in your life.

The Nonviolent Communication Model

The Nonviolent Communication model is the symbiotic integration of four main components:

  • Consciousness - A set of principles and perspectives that support living a life of compassion, collaboration, courage, and authenticity both within ourselves and in our interactions with family, friends, coworkers, or anyone else with whom we might interact;
  • Language - Understanding how our words, as well as the words of others contribute to either connection or distance, helping or hurting, compromise or conquest in an interaction or situation;
  • Communication - Knowing how to ask for what we want without threatening, demanding or coercing, how to hear others (even in the course of a disagreement) without absorbing self-criticism or blame, and how to move toward mutually beneficial and positive outcomes for all parties involved in an interaction or situation;
  • Means of Influence - Learning how to share our power with others instead of using our power over others, in order to facilitate an environment where all parties feel equally honored, valued, respected, and safe.

The Nonviolent Communication model can be effectively employed to enrich and nurture parenting & familial relations, friendships & relationships, workplace interactions, the educational process, and any other situation in which we interact with others. Using the Nonviolent Communication model in our everyday lives can help facilitate an empathic and supportive emotional environment for ourselves and those we value.

Nonviolent Communication: A Language of Life by Marshall Rosenberg Ph.D.

"Human beings have enormous power to enrich life. We can use words to contribute to people’s enjoyment, their wisdom. We can use words that can make life miserable for people. So our words are very powerful. We can touch people in ways that give great pleasure, great nurturing, support. We are powerhouses, and there’s nothing we enjoy doing more than to use that power we have to enrich lives. So isn’t it wonderful that we have this power and the joy it brings when we use it? That’s to be celebrated. Wow! And the more we celebrate that, the less we will be willing to do anything else."

  • Marshall B. Rosenberg, Ph.D.

Nonviolent Communication: A Language of Life by Marshall Rosenberg Ph.D. is the final literary offering from the visionary peacemaker who ushered in the compassionate communication movement worldwide. This bestselling book has sold over one million copies and has been translated into over 30 languages to date. Nonviolent Communication: A Language of Life, is chock-full of engaging stories, tangible examples, and anecdotal information about the core components of the compassionate communication process and its effect on human consciousness. You can purchase a copy of Nonviolent Communication: A Language of Life, by Marshall Rosenberg Ph.D., in our webstore as well as other works of literature that can help you construct the framework for healthy, happy, and safe communication in your life and the lives of others.

The Nonviolent Communication Process

Any communication model has at least two parts: speaking and listening, also known as giving and receiving. In NVC we call these "honesty" and "empathy."

The Nonviolent Communication process consists of four components. Each of these four falls under empathy (how I listen) as well as under honesty (authentic and genuine self-expression). Because communication involves your own as well as the other person's perception, worldview, and interpretations, we use honesty and empathy to create a "dance of connection" — in which we use our Nonviolent Communication skills to exchange the information necessary to both feel more connected and bring about outcomes that are mutually beneficial.

The four components of the Nonviolent Communication process are:

  • Observations - How your perceptual observations and the observations of others — the neutral facts — provide a foundation to know what are we talking about — and eliminate confusion about the particular stimulus in any given situation or interaction;
  • Feelings - The information our body and mind give us regarding whether our values and needs are fulfilled in a given interaction. They provide a powerful point of connection to help us understand another's experience, or communicate our own;
  • Needs - Universal Human Needs also known as core human motivators; when you distill any conflict to the level of Universal Human Needs, now people can see each others' humanity which begins the healing and reconciliation process and provides a solid foundation for win-win solutions;
  • Requests - Taking responsibility for what we actually want by expressing a request rather than a demand. Hearing another's request as such, and knowing that we still have choice.

The Simple Truth

Source

"I remember this paper I wrote on existentialism. My teacher gave it back with an F. She’d underlined true and truth wherever it appeared in the essay, probably about twenty times, with a question mark beside each. She wanted to know what I meant by truth." — Danielle Egan (journalist)

Author’s Foreword:

This essay is meant to restore a naive view of truth.

Someone says to you: “My miracle snake oil can rid you of lung cancer in just three weeks.” You reply: “Didn’t a clinical study show this claim to be untrue?” The one returns: “This notion of ‘truth’ is quite naive; what do you mean by ‘true’?”

Many people, so questioned, don’t know how to answer in exquisitely rigorous detail. Nonetheless they would not be wise to abandon the concept of ‘truth’. There was a time when no one knew the equations of gravity in exquisitely rigorous detail, yet if you walked off a cliff, you would fall.

Often I have seen – especially on Internet mailing lists – that amidst other conversation, someone says “X is true”, and then an argument breaks out over the use of the word ‘true’. This essay is not meant as an encyclopedic reference for that argument. Rather, I hope the arguers will read this essay, and then go back to whatever they were discussing before someone questioned the nature of truth.

In this essay I pose questions. If you see what seems like a really obvious answer, it’s probably the answer I intend. The obvious choice isn’t always the best choice, but sometimes, by golly, it is. I don’t stop looking as soon I find an obvious answer, but if I go on looking, and the obvious-seeming answer still seems obvious, I don’t feel guilty about keeping it. Oh, sure, everyone thinks two plus two is four, everyone says two plus two is four, and in the mere mundane drudgery of everyday life everyone behaves as if two plus two is four, but what does two plus two really, ultimately equal? As near as I can figure, four. It’s still four even if I intone the question in a solemn, portentous tone of voice. Too simple, you say? Maybe, on this occasion, life doesn’t need to be complicated. Wouldn’t that be refreshing?

If you are one of those fortunate folk to whom the question seems trivial at the outset, I hope it still seems trivial at the finish. If you find yourself stumped by deep and meaningful questions, remember that if you know exactly how a system works, and could build one yourself out of buckets and pebbles, it should not be a mystery to you.

If confusion threatens when you interpret a metaphor as a metaphor, try taking everything completely literally.

Imagine that in an era before recorded history or formal mathematics, I am a shepherd and I have trouble tracking my sheep. My sheep sleep in an enclosure, a fold; and the enclosure is high enough to guard my sheep from wolves that roam by night. Each day I must release my sheep from the fold to pasture and graze; each night I must find my sheep and return them to the fold. If a sheep is left outside, I will find its body the next morning, killed and half-eaten by wolves. But it is so discouraging, to scour the fields for hours, looking for one last sheep, when I know that probably all the sheep are in the fold. Sometimes I give up early, and usually I get away with it; but around a tenth of the time there is a dead sheep the next morning.

If only there were some way to divine whether sheep are still grazing, without the inconvenience of looking! I try several methods: I toss the divination sticks of my tribe; I train my psychic powers to locate sheep through clairvoyance; I search carefully for reasons to believe all the sheep are in the fold. It makes no difference. Around a tenth of the times I turn in early, I find a dead sheep the next morning. Perhaps I realize that my methods aren’t working, and perhaps I carefully excuse each failure; but my dilemma is still the same. I can spend an hour searching every possible nook and cranny, when most of the time there are no remaining sheep; or I can go to sleep early and lose, on the average, one-tenth of a sheep.

Late one afternoon I feel especially tired. I toss the divination sticks and the divination sticks say that all the sheep have returned. I visualize each nook and cranny, and I don’t imagine scrying any sheep. I’m still not confident enough, so I look inside the fold and it seems like there are a lot of sheep, and I review my earlier efforts and decide that I was especially diligent. This dissipates my anxiety, and I go to sleep. The next morning I discover two dead sheep. Something inside me snaps, and I begin thinking creatively.

That day, loud hammering noises come from the gate of the sheepfold’s enclosure.

The next morning, I open the gate of the enclosure only a little way, and as each sheep passes out of the enclosure, I drop a pebble into a bucket nailed up next to the door. In the afternoon, as each returning sheep passes by, I take one pebble out of the bucket. When there are no pebbles left in the bucket, I can stop searching and turn in for the night. It is a brilliant notion. It will revolutionize shepherding.

That was the theory. In practice, it took considerable refinement before the method worked reliably. Several times I searched for hours and didn’t find any sheep, and the next morning there were no stragglers. On each of these occasions it required deep thought to figure out where my bucket system had failed. On returning from one fruitless search, I thought back and realized that the bucket already contained pebbles when I started; this, it turned out, was a bad idea. Another time I randomly tossed pebbles into the bucket, to amuse myself, between the morning and the afternoon; this too was a bad idea, as I realized after searching for a few hours. But I practiced my pebblecraft, and became a reasonably proficient pebblecrafter.

One afternoon, a man richly attired in white robes, leafy laurels, sandals, and business suit trudges in along the sandy trail that leads to my pastures.

“Can I help you?” I inquire.

The man takes a badge from his coat and flips it open, proving beyond the shadow of a doubt that he is Markos Sophisticus Maximus, a delegate from the Senate of Rum. (One might wonder whether another could steal the badge; but so great is the power of these badges that if any other were to use them, they would in that instant be transformed into Markos.)

“Call me Mark,” he says. “I’m here to confiscate the magic pebbles, in the name of the Senate; artifacts of such great power must not fall into ignorant hands.”

“That bleedin’ apprentice,” I grouse under my breath, “he’s been yakkin’ to the villagers again.” Then I look at Mark’s stern face, and sigh. “They aren’t magic pebbles,” I say aloud. “Just ordinary stones I picked up from the ground.”

A flicker of confusion crosses Mark’s face, then he brightens again. “I’m here for the magic bucket!” he declares.

“It’s not a magic bucket,” I say wearily. “I used to keep dirty socks in it.”

Mark’s face is puzzled. “Then where is the magic?” he demands.

An interesting question. “It’s hard to explain,” I say.

My current apprentice, Autrey, attracted by the commotion, wanders over and volunteers his explanation: “It’s the level of pebbles in the bucket,” Autrey says. “There’s a magic level of pebbles, and you have to get the level just right, or it doesn’t work. If you throw in more pebbles, or take some out, the bucket won’t be at the magic level anymore. Right now, the magic level is,” Autrey peers into the bucket, “about one-third full.”

“I see!” Mark says excitedly. From his back pocket Mark takes out his own bucket, and a heap of pebbles. Then he grabs a few handfuls of pebbles, and stuffs them into the bucket. Then Mark looks into the bucket, noting how many pebbles are there. “There we go,” Mark says, “the magic level of this bucket is half full. Like that?”

“No!” Autrey says sharply. “Half full is not the magic level. The magic level is about one-third. Half full is definitely unmagic. Furthermore, you’re using the wrong bucket.”

Mark turns to me, puzzled. “I thought you said the bucket wasn’t magic?”

“It’s not,” I say. A sheep passes out through the gate, and I toss another pebble into the bucket. “Besides, I’m watching the sheep. Talk to Autrey.”

Mark dubiously eyes the pebble I tossed in, but decides to temporarily shelve the question. Mark turns to Autrey and draws himself up haughtily. “It’s a free country,” Mark says, “under the benevolent dictatorship of the Senate, of course. I can drop whichever pebbles I like into whatever bucket I like.”

Autrey considers this. “No you can’t,” he says finally, “there won’t be any magic.”

“Look,” says Mark patiently, “I watched you carefully. You looked in your bucket, checked the level of pebbles, and called that the magic level. I did exactly the same thing.”

“That’s not how it works,” says Autrey.

“Oh, I see,” says Mark, “It’s not the level of pebbles in my bucket that’s magic, it’s the level of pebbles in your bucket. Is that what you claim? What makes your bucket so much better than mine, huh?”

“Well,” says Autrey, “if we were to empty your bucket, and then pour all the pebbles from my bucket into your bucket, then your bucket would have the magic level. There’s also a procedure we can use to check if your bucket has the magic level, if we know that my bucket has the magic level; we call that a bucket compare operation.”

Another sheep passes, and I toss in another pebble.

“He just tossed in another pebble!” Mark says. “And I suppose you claim the new level is also magic? I could toss pebbles into your bucket until the level was the same as mine, and then our buckets would agree. You’re just comparing my bucket to your bucket to determine whether you think the level is ‘magic’ or not. Well, I think your bucket isn’t magic, because it doesn’t have the same level of pebbles as mine. So there!”

“Wait,” says Autrey, “you don’t understand -”

“By ‘magic level’, you mean simply the level of pebbles in your own bucket. And when I say ‘magic level’, I mean the level of pebbles in my bucket. Thus you look at my bucket and say it ’isn’t magic’, but the word ‘magic’ means different things to different people. You need to specify whose magic it is. You should say that my bucket doesn’t have ’Autrey’s magic level’, and I say that your bucket doesn’t have ’Mark’s magic level’. That way, the apparent contradiction goes away.”

“But -” says Autrey helplessly.

“Different people can have different buckets with different levels of pebbles, which proves this business about ‘magic’ is completely arbitrary and subjective.”

“Mark,” I say, “did anyone tell you what these pebbles do?”

“Do?” says Mark. “I thought they were just magic.”

“If the pebbles didn’t do anything,” says Autrey, “our ISO 9000 process efficiency auditor would eliminate the procedure from our daily work.”

“What’s your auditor’s name?”

“Darwin,” says Autrey.

“Hm,” says Mark. “Charles does have a reputation as a strict auditor. So do the pebbles bless the flocks, and cause the increase of sheep?”

“No,” I say. “The virtue of the pebbles is this; if we look into the bucket and see the bucket is empty of pebbles, we know the pastures are likewise empty of sheep. If we do not use the bucket, we must search and search until dark, lest one last sheep remain. Or if we stop our work early, then sometimes the next morning we find a dead sheep, for the wolves savage any sheep left outside. If we look in the bucket, we know when all the sheep are home, and we can retire without fear.”

Mark considers this. “That sounds rather implausible,” he says eventually. “Did you consider using divination sticks? Divination sticks are infallible, or at least, anyone who says they are fallible is burned at the stake. This is an extremely painful way to die; it follows that divination sticks are infallible.”

“You’re welcome to use divination sticks if you like,” I say.

“Oh, good heavens, of course not,” says Mark. “They work infallibly, with absolute perfection on every occasion, as befits such blessed instruments; but what if there were a dead sheep the next morning? I only use the divination sticks when there is no possibility of their being proven wrong. Otherwise I might be burned alive. So how does your magic bucket work?”

How does the bucket work…? I’d better start with the simplest possible case. “Well,” I say, “suppose the pastures are empty, and the bucket isn’t empty. Then we’ll waste hours looking for a sheep that isn’t there. And if there are sheep in the pastures, but the bucket is empty, then Autrey and I will turn in too early, and we’ll find dead sheep the next morning. So an empty bucket is magical if and only if the pastures are empty -”

“Hold on,” says Autrey. “That sounds like a vacuous tautology to me. Aren’t an empty bucket and empty pastures obviously the same thing?”

“It’s not vacuous,” I say. “Here’s an analogy: The logician Alfred Tarski once said that the assertion ‘Snow is white’ is true if and only if snow is white. If you can understand that, you should be able to see why an empty bucket is magical if and only if the pastures are empty of sheep.”

“Hold on,” says Mark. “These are buckets. They don’t have anything to do with sheep. Buckets and sheep are obviously completely different. There’s no way the sheep can ever interact with the bucket.”

“Then where do you think the magic comes from?” inquires Autrey.

Mark considers. “You said you could compare two buckets to check if they had the same level… I can see how buckets can interact with buckets. Maybe when you get a large collection of buckets, and they all have the same level, that’s what generates the magic. I’ll call that the coherentist theory of magic buckets.”

“Interesting,” says Autrey. “I know that my master is working on a system with multiple buckets – he says it might work better because of ‘redundancy’ and ‘error correction’. That sounds like coherentism to me.”

“They’re not quite the same -” I start to say.

“Let’s test the coherentism theory of magic,” says Autrey. “I can see you’ve got five more buckets in your back pocket. I’ll hand you the bucket we’re using, and then you can fill up your other buckets to the same level -”

Mark recoils in horror. “Stop! These buckets have been passed down in my family for generations, and they’ve always had the same level! If I accept your bucket, my bucket collection will become less coherent, and the magic will go away!”

“But your current buckets don’t have anything to do with the sheep!” protests Autrey.

Mark looks exasperated. “Look, I’ve explained before, there’s obviously no way that sheep can interact with buckets. Buckets can only interact with other buckets.”

“I toss in a pebble whenever a sheep passes,” I point out.

“When a sheep passes, you toss in a pebble?” Mark says. “What does that have to do with anything?”

“It’s an interaction between the sheep and the pebbles,” I reply.

“No, it’s an interaction between the pebbles and you,” Mark says. “The magic doesn’t come from the sheep, it comes from you. Mere sheep are obviously nonmagical. The magic has to come from somewhere, on the way to the bucket.”

I point at a wooden mechanism perched on the gate. “Do you see that flap of cloth hanging down from that wooden contraption? We’re still fiddling with that – it doesn’t work reliably – but when sheep pass through, they disturb the cloth. When the cloth moves aside, a pebble drops out of a reservoir and falls into the bucket. That way, Autrey and I won’t have to toss in the pebbles ourselves.”

Mark furrows his brow. “I don’t quite follow you… is the cloth magical?”

I shrug. “I ordered it online from a company called Natural Selections. The fabric is called Sensory Modality.” I pause, seeing the incredulous expressions of Mark and Autrey. “I admit the names are a bit New Agey. The point is that a passing sheep triggers a chain of cause and effect that ends with a pebble in the bucket. Afterward you can compare the bucket to other buckets, and so on.”

“I still don’t get it,” Mark says. “You can’t fit a sheep into a bucket. Only pebbles go in buckets, and it’s obvious that pebbles only interact with other pebbles.”

“The sheep interact with things that interact with pebbles…” I search for an analogy. “Suppose you look down at your shoelaces. A photon leaves the Sun; then travels down through Earth’s atmosphere; then bounces off your shoelaces; then passes through the pupil of your eye; then strikes the retina; then is absorbed by a rod or a cone. The photon’s energy makes the attached neuron fire, which causes other neurons to fire. A neural activation pattern in your visual cortex can interact with your beliefs about your shoelaces, since beliefs about shoelaces also exist in neural substrate. If you can understand that, you should be able to see how a passing sheep causes a pebble to enter the bucket.”

“At exactly which point in the process does the pebble become magic?” says Mark.

“It… um…” Now I’m starting to get confused. I shake my head to clear away cobwebs. This all seemed simple enough when I woke up this morning, and the pebble-and-bucket system hasn’t gotten any more complicated since then. “This is a lot easier to understand if you remember that the point of the system is to keep track of sheep.”

Mark sighs sadly. “Never mind… it’s obvious you don’t know. Maybe all pebbles are magical to start with, even before they enter the bucket. We could call that position panpebblism.”

“Ha!” Autrey says, scorn rich in his voice. “Mere wishful thinking! Not all pebbles are created equal. The pebbles in your bucket are not magical. They’re only lumps of stone!”

Mark’s face turns stern. “Now,” he cries, “now you see the danger of the road you walk! Once you say that some people’s pebbles are magical and some are not, your pride will consume you! You will think yourself superior to all others, and so fall! Many throughout history have tortured and murdered because they thought their own pebbles supreme!” A tinge of condescension enters Mark’s voice. “Worshipping a level of pebbles as ‘magical’ implies that there’s an absolute pebble level in a Supreme Bucket. Nobody believes in a Supreme Bucket these days.”

“One,” I say. “Sheep are not absolute pebbles. Two, I don’t think my bucket actually contains the sheep. Three, I don’t worship my bucket level as perfect – I adjust it sometimes – and I do that because I care about the sheep.”

“Besides,” says Autrey, “someone who believes that possessing absolute pebbles would license torture and murder, is making a mistake that has nothing to do with buckets. You’re solving the wrong problem.”

Mark calms himself down. “I suppose I can’t expect any better from mere shepherds. You probably believe that snow is white, don’t you.”

“Um… yes?” says Autrey.

“It doesn’t bother you that Joseph Stalin believed that snow is white?”

“Um… no?” says Autrey.

Mark gazes incredulously at Autrey, and finally shrugs. “Let’s suppose, purely for the sake of argument, that your pebbles are magical and mine aren’t. Can you tell me what the difference is?”

“My pebbles represent the sheep!” Autrey says triumphantly. “Your pebbles don’t have the representativeness property, so they won’t work. They are empty of meaning. Just look at them. There’s no aura of semantic content; they are merely pebbles. You need a bucket with special causal powers.”

“Ah!” Mark says. “Special causal powers, instead of magic.”

“Exactly,” says Autrey. “I’m not superstitious. Postulating magic, in this day and age, would be unacceptable to the international shepherding community. We have found that postulating magic simply doesn’t work as an explanation for shepherding phenomena. So when I see something I don’t understand, and I want to explain it using a model with no internal detail that makes no predictions even in retrospect, I postulate special causal powers. If that doesn’t work, I’ll move on to calling it an emergent phenomenon.”

“What kind of special powers does the bucket have?” asks Mark.

“Hm,” says Autrey. “Maybe this bucket is imbued with an about-ness relation to the pastures. That would explain why it worked – when the bucket is empty, it means the pastures are empty.”

“Where did you find this bucket?” says Mark. “And how did you realize it had an about-ness relation to the pastures?”

“It’s an ordinary bucket,” I say. “I used to climb trees with it… I don’t think this question needs to be difficult.”

“I’m talking to Autrey,” says Mark.

“You have to bind the bucket to the pastures, and the pebbles to the sheep, using a magical ritual – pardon me, an emergent process with special causal powers – that my master discovered,” Autrey explains.

Autrey then attempts to describe the ritual, with Mark nodding along in sage comprehension.

“You have to throw in a pebble every time a sheep leaves through the gate?” says Mark. “Take out a pebble every time a sheep returns?”

Autrey nods. “Yeah.”

“That must be really hard,” Mark says sympathetically.

Autrey brightens, soaking up Mark’s sympathy like rain. “Exactly!” says Autrey. “It’s extremely hard on your emotions. When the bucket has held its level for a while, you… tend to get attached to that level.”

A sheep passes then, leaving through the gate. Autrey sees; he stoops, picks up a pebble, holds it aloft in the air. “Behold!” Autrey proclaims. "A sheep has passed! I must now toss a pebble into this bucket, my dear bucket, and destroy that fond level which has held for so long – " Another sheep passes. Autrey, caught up in his drama, misses it; so I plunk a pebble into the bucket. Autrey is still speaking: " – for that is the supreme test of the shepherd, to throw in the pebble, be it ever so agonizing, be the old level ever so precious. Indeed, only the best of shepherds can meet a requirement so stern -"

“Autrey,” I say, “if you want to be a great shepherd someday, learn to shut up and throw in the pebble. No fuss. No drama. Just do it.”

“And this ritual,” says Mark, “it binds the pebbles to the sheep by the magical laws of Sympathy and Contagion, like a voodoo doll.”

Autrey winces and looks around. “Please! Don’t call it Sympathy and Contagion. We shepherds are an anti-superstitious folk. Use the word ‘intentionality’, or something like that.”

“Can I look at a pebble?” says Mark.

“Sure,” I say. I take one of the pebbles out of the bucket, and toss it to Mark. Then I reach to the ground, pick up another pebble, and drop it into the bucket.

Autrey looks at me, puzzled. “Didn’t you just mess it up?”

I shrug. “I don’t think so. We’ll know I messed it up if there’s a dead sheep next morning, or if we search for a few hours and don’t find any sheep.”

“But -” Autrey says.

“I taught you everything you know, but I haven’t taught you everything I know,” I say.

Mark is examining the pebble, staring at it intently. He holds his hand over the pebble and mutters a few words, then shakes his head. “I don’t sense any magical power,” he says. “Pardon me. I don’t sense any intentionality.”

“A pebble only has intentionality if it’s inside a ma- an emergent bucket,” says Autrey. “Otherwise it’s just a mere pebble.”

“Not a problem,” I say. I take a pebble out of the bucket, and toss it away. Then I walk over to where Mark stands, tap his hand holding a pebble, and say: “I declare this hand to be part of the magic bucket!” Then I resume my post at the gates.

Autrey laughs. “Now you’re just being gratuitously evil.”

I nod, for this is indeed the case.

“Is that really going to work, though?” says Autrey.

I nod again, hoping that I’m right. I’ve done this before with two buckets, and in principle, there should be no difference between Mark’s hand and a bucket. Even if Mark’s hand is imbued with the elan vital that distinguishes live matter from dead matter, the trick should work as well as if Mark were a marble statue.

Mark is looking at his hand, a bit unnerved. “So… the pebble has intentionality again, now?”

“Yep,” I say. “Don’t add any more pebbles to your hand, or throw away the one you have, or you’ll break the ritual.”

Mark nods solemnly. Then he resumes inspecting the pebble. “I understand now how your flocks grew so great,” Mark says. “With the power of this bucket, you could keep in tossing pebbles, and the sheep would keep returning from the fields. You could start with just a few sheep, let them leave, then fill the bucket to the brim before they returned. And if tending so many sheep grew tedious, you could let them all leave, then empty almost all the pebbles from the bucket, so that only a few returned… increasing the flocks again when it came time for shearing… dear heavens, man! Do you realize the sheer power of this ritual you’ve discovered? I can only imagine the implications; humankind might leap ahead a decade – no, a century!”

“It doesn’t work that way,” I say. “If you add a pebble when a sheep hasn’t left, or remove a pebble when a sheep hasn’t come in, that breaks the ritual. The power does not linger in the pebbles, but vanishes all at once, like a soap bubble popping.”

Mark’s face is terribly disappointed. “Are you sure?”

I nod. “I tried that and it didn’t work.”

Mark sighs heavily. “And this… math… seemed so powerful and useful until then… Oh, well. So much for human progress.”

“Mark, it was a brilliant idea,” Autrey says encouragingly. “The notion didn’t occur to me, and yet it’s so obvious… it would save an enormous amount of effort… there must be a way to salvage your plan! We could try different buckets, looking for one that would keep the magical pow- the intentionality in the pebbles, even without the ritual. Or try other pebbles. Maybe our pebbles just have the wrong properties to have inherent intentionality. What if we tried it using stones carved to resemble tiny sheep? Or just write ‘sheep’ on the pebbles; that might be enough.”

“Not going to work,” I predict dryly.

Autrey continues. “Maybe we need organic pebbles, instead of silicon pebbles… or maybe we need to use expensive gemstones. The price of gemstones doubles every eighteen months, so you could buy a handful of cheap gemstones now, and wait, and in twenty years they’d be really expensive.”

“You tried adding pebbles to create more sheep, and it didn’t work?” Mark asks me. “What exactly did you do?”

“I took a handful of dollar bills. Then I hid the dollar bills under a fold of my blanket, one by one; each time I hid another bill, I took another paperclip from a box, making a small heap. I was careful not to keep track in my head, so that all I knew was that there were ‘many’ dollar bills, and ‘many’ paperclips. Then when all the bills were hidden under my blanket, I added a single additional paperclip to the heap, the equivalent of tossing an extra pebble into the bucket. Then I started taking dollar bills from under the fold, and putting the paperclips back into the box. When I finished, a single paperclip was left over.”

“What does that result mean?” asks Autrey.

“It means the trick didn’t work. Once I broke ritual by that single misstep, the power did not linger, but vanished instantly; the heap of paperclips and the pile of dollar bills no longer went empty at the same time.”

“You actually tried this?” asks Mark.

“Yes,” I say, “I actually performed the experiment, to verify that the outcome matched my theoretical prediction. I have a sentimental fondness for the scientific method, even when it seems absurd. Besides, what if I’d been wrong?”

“If it had worked,” says Mark, “you would have been guilty of counterfeiting! Imagine if everyone did that; the economy would collapse! Everyone would have billions of dollars of currency, yet there would be nothing for money to buy!”

“Not at all,” I reply. “By that same logic whereby adding another paperclip to the heap creates another dollar bill, creating another dollar bill would create an additional dollar’s worth of goods and services.”

Mark shakes his head. “Counterfeiting is still a crime… You should not have tried.”

“I was reasonably confident I would fail.”

“Aha!” says Mark. “You expected to fail! You didn’t believe you could do it!”

“Indeed,” I admit. “You have guessed my expectations with stunning accuracy.”

“Well, that’s the problem,” Mark says briskly. “Magic is fueled by belief and willpower. If you don’t believe you can do it, you can’t. You need to change your belief about the experimental result; that will change the result itself.”

“Funny,” I say nostalgically, “that’s what Autrey said when I told him about the pebble-and-bucket method. That it was too ridiculous for him to believe, so it wouldn’t work for him.”

“How did you persuade him?” inquires Mark.

“I told him to shut up and follow instructions,” I say, “and when the method worked, Autrey started believing in it.”

Mark frowns, puzzled. “That makes no sense. It doesn’t resolve the essential chicken-and-egg dilemma.”

“Sure it does. The bucket method works whether or not you believe in it.”

“That’s absurd!” sputters Mark. “I don’t believe in magic that works whether or not you believe in it!”

“I said that too,” chimes in Autrey. “Apparently I was wrong.”

Mark screws up his face in concentration. “But… if you didn’t believe in magic that works whether or not you believe in it, then why did the bucket method work when you didn’t believe in it? Did you believe in magic that works whether or not you believe in it?”

“I don’t… think so…” says Autrey doubtfully.

“Then if you didn’t believe in magic that works whether or not you… hold on a second, I need to work this out on paper and pencil -” Mark scribbles frantically, looks skeptically at the result, turns the piece of paper upside down, then gives up. “Never mind,” says Mark. “Magic is difficult enough for me to comprehend; metamagic is out of my depth.”

“Mark, I don’t think you understand the art of bucketcraft,” I say. “It’s not about using pebbles to control sheep. It’s about making sheep control pebbles. In this art, it is not necessary to begin by believing the art will work. Rather, first the art works, then one comes to believe that it works.”

“Or so you believe,” says Mark.

“So I believe,” I reply, “because it happens to be a fact. The correspondence between reality and my beliefs comes from reality controlling my beliefs, not the other way around.”

Another sheep passes, causing me to toss in another pebble.

“Ah! Now we come to the root of the problem,” says Mark. “What’s this so-called ‘reality’ business? I understand what it means for a hypothesis to be elegant, or falsifiable, or compatible with the evidence. It sounds to me like calling a belief ‘true’ or ‘real’ or ‘actual’ is merely the difference between saying you believe something, and saying you really really believe something.”

I pause. “Well…” I say slowly. “Frankly, I’m not entirely sure myself where this ‘reality’ business comes from. I can’t create my own reality in the lab, so I must not understand it yet. But occasionally I believe strongly that something is going to happen, and then something else happens instead. I need a name for whatever-it-is that determines my experimental results, so I call it ‘reality’. This ‘reality’ is somehow separate from even my very best hypotheses. Even when I have a simple hypothesis, strongly supported by all the evidence I know, sometimes I’m still surprised. So I need different names for the thingies that determine my predictions and the thingy that determines my experimental results. I call the former thingies ‘belief’, and the latter thingy ‘reality’.”

Mark snorts. “I don’t even know why I bother listening to this obvious nonsense. Whatever you say about this so-called ‘reality’, it is merely another belief. Even your belief that reality precedes your beliefs is a belief. It follows, as a logical inevitability, that reality does not exist; only beliefs exist.”

“Hold on,” says Autrey, “could you repeat that last part? You lost me with that sharp swerve there in the middle.”

“No matter what you say about reality, it’s just another belief,” explains Mark. “It follows with crushing necessity that there is no reality, only beliefs.”

“I see,” I say. “The same way that no matter what you eat, you need to eat it with your mouth. It follows that there is no food, only mouths.”

“Precisely,” says Mark. “Everything that you eat has to be in your mouth. How can there be food that exists outside your mouth? The thought is nonsense, proving that ‘food’ is an incoherent notion. That’s why we’re all starving to death; there’s no food.”

Autrey looks down at his stomach. “But I’m not starving to death.”

“Aha!” shouts Mark triumphantly. “And how did you utter that very objection? With your mouth, my friend! With your mouth! What better demonstration could you ask that there is no food?”

“What’s this about starvation?” demands a harsh, rasping voice from directly behind us. Autrey and I stay calm, having gone through this before. Mark leaps a foot in the air, startled almost out of his wits.

Inspector Darwin smiles tightly, pleased at achieving surprise, and makes a small tick on his clipboard.

“Just a metaphor!” Mark says quickly. “You don’t need to take away my mouth, or anything like that -”

“Why do you need a mouth if there is no food?” demands Darwin angrily. “Never mind. I have no time for this foolishness. I am here to inspect the sheep.”

“Flocks thriving, sir,” I say. “No dead sheep since January.”

“Excellent. I award you 0.12 units of fitness. Now what is this person doing here? Is he a necessary part of the operations?”

“As far as I can see, he would be of more use to the human species if hung off a hot-air balloon as ballast,” I say.

“Ouch,” says Autrey mildly.

“I do not care about the human species. Let him speak for himself.”

Mark draws himself up haughtily. “This mere shepherd,” he says, gesturing at me, “has claimed that there is such a thing as reality. This offends me, for I know with deep and abiding certainty that there is no truth. The concept of ‘truth’ is merely a stratagem for people to impose their own beliefs on others. Every culture has a different ‘truth’, and no culture’s ‘truth’ is superior to any other. This that I have said holds at all times in all places, and I insist that you agree.”

“Hold on a second,” says Autrey. “If nothing is true, why should I believe you when you say that nothing is true?”

“I didn’t say that nothing is true -” says Mark.

“Yes, you did,” interjects Autrey, “I heard you.”

“- I said that ‘truth’ is an excuse used by some cultures to enforce their beliefs on others. So when you say something is ‘true’, you mean only that it would be advantageous to your own social group to have it believed.”

“And this that you have said,” I say, “is it true?”

“Absolutely, positively true!” says Mark emphatically. “People create their own realities.”

“Hold on,” says Autrey, sounding puzzled again, “saying that people create their own realities is, logically, a completely separate issue from saying that there is no truth, a state of affairs I cannot even imagine coherently, perhaps because you still have not explained how exactly it is supposed to work -”

“There you go again,” says Mark exasperatedly, “trying to apply your Western concepts of logic, rationality, reason, coherence, and self-consistency.”

“Great,” mutters Autrey, “now I need to add a third subject heading, to keep track of this entirely separate and distinct claim -”

“It’s not separate,” says Mark. "Look, you’re taking the wrong attitude by treating my statements as hypotheses, and carefully deriving their consequences. You need to think of them as fully general excuses, which I apply when anyone says something I don’t like. It’s not so much a model of how the universe works, as a “Get Out of Jail Free” card. The key is to apply the excuse selectively. When I say that there is no such thing as truth, that applies only to your claim that the magic bucket works whether or not I believe in it. It does not apply to my claim that there is no such thing as truth."

“Um… why not?” inquires Autrey.

Mark heaves a patient sigh. “Autrey, do you think you’re the first person to think of that question? To ask us how our own beliefs can be meaningful if all beliefs are meaningless? That’s the same thing many students say when they encounter this philosophy, which, I’ll have you know, has many adherents and an extensive literature.”

“So what’s the answer?” says Autrey.

“We named it the ‘reflexivity problem’,” explains Mark.

“But what’s the answer?” persists Autrey.

Mark smiles condescendingly. “Believe me, Autrey, you’re not the first person to think of such a simple question. There’s no point in presenting it to us as a triumphant refutation.”

“But what’s the actual answer?”

“Now, I’d like to move on to the issue of how logic kills cute baby seals -”

“You are wasting time,” snaps Inspector Darwin.

“Not to mention, losing track of sheep,” I say, tossing in another pebble.

Inspector Darwin looks at the two arguers, both apparently unwilling to give up their positions. “Listen,” Darwin says, more kindly now, “I have a simple notion for resolving your dispute. You say,” says Darwin, pointing to Mark, “that people’s beliefs alter their personal realities. And you fervently believe,” his finger swivels to point at Autrey, “that Mark’s beliefs can’t alter reality. So let Mark believe really hard that he can fly, and then step off a cliff. Mark shall see himself fly away like a bird, and Autrey shall see him plummet down and go splat, and you shall both be happy.”

We all pause, considering this.

“It sounds reasonable…” Mark says finally.

“There’s a cliff right there,” observes Inspector Darwin.

Autrey is wearing a look of intense concentration. Finally he shouts: “Wait! If that were true, we would all have long since departed into our own private universes, in which case the other people here are only figments of your imagination – there’s no point in trying to prove anything to us -”

A long dwindling scream comes from the nearby cliff, followed by a dull and lonely splat. Inspector Darwin flips his clipboard to the page that shows the current gene pool and pencils in a slightly lower frequency for Mark’s alleles.

Autrey looks slightly sick. “Was that really necessary?”

“Necessary?” says Inspector Darwin, sounding puzzled. “It just happened… I don’t quite understand your question.”

Autrey and I turn back to our bucket. It’s time to bring in the sheep. You wouldn’t want to forget about that part. Otherwise what would be the point?

Eminent Philosophers: Name the 43 Most Important Philosophy Books Written Between 1950-2000

April 16th, 2018 Source

Faced with the question, “who are the most important philosophers of the 20th century?,” I might find myself compelled to ask in turn, “in respect to what?” Ethics? Political philosophy? Philosophy of language, mind, science, religion, race, gender, sexuality? Phenomenology, Feminism, Critical theory? The domains of philosophy have so multiplied (and some might say siloed), that a number of prominent authors, including eminent philosophy professor Robert Solomon, have written vehement critiques against its entrenchment in academia, with all of the attendant pressures and rewards. Should every philosopher of the past have had to run the gauntlet of doctoral study, teaching, tenure, academic politics and continuous publication, we might never have heard from some of history’s most luminous and original thinkers.

Solomon maintains that “nothing has been more harmful to philosophy than its ‘professionalization,’ which on the one hand has increased the abilities and techniques of its practitioners immensely, but on the other has rendered it an increasingly impersonal and technical discipline, cut off from and forbidding to everyone else.” He championed “the passionate life” (say, of Nietzsche or Camus), over “the dispassionate life of pure reason…. Let me be outrageous and insist that philosophy matters. It is not a self-contained system of problems and puzzles, a self-generating profession of conjectures and refutations.” I am sympathetic to his arguments even as I might object to his wholesale rejection of all academic thought as “sophisticated irrelevancy.” (Solomon himself enjoyed a long career at UCLA and the University of Texas, Austin.)

But if forced to choose the most important philosophers of the late 20th century, I might gravitate toward some of the most passionate thinkers, both inside and outside academia, who grappled with problems of everyday personal, social, and political life and did not shy away from involving themselves in the struggles of ordinary people. This need not entail a lack of rigor. One of the most passionate of 20th century thinkers, Ludwig Wittgenstein, who worked well outside the university system, also happens to be one of the most difficult and seemingly abstruse. Nonetheless, his thought has radical implications for ordinary life and practice. Perhaps non-specialists will tend, in general, to accept arguments for philosophy’s everyday relevance, accessibility, and “passion.” But what say the specialists?

One philosophy professor, Chen Bo of Peking University, conducted a survey along with Susan Haack of the University of Miami, at the behest of a Chinese publisher seeking important philosophical works for translation. As Leiter Reports reader Tracy Ho notes, the two professors emailed sixteen philosophers in the U.S., England, Australia, Germany, Finland, and Brazil, asking specifically for "ten of the most important and influential philosophical books after 1950." "They received recommendations,” writes Ho, "from twelve philosophers, including: Susan Haack, Donald M. Borchert (Ohio U.), Donald Davidson, Jurgen Habermas, Ruth Barcan Marcus, Thomas Nagel, John Searle, Peter F. Strawson, Hilary Putnam, and G.H. von Wright." (Ho was unable to identify two other names, typed in Chinese.)

The results, ranked in order of votes, are as follows:

  1. Ludwig Wittgenstein, Philosophical Investigations
  2. W. V. Quine, Word and Object
  3. Peter F. Strawson, Individuals: An Essay in Descriptive Metaphysics
  4. John Rawls, A Theory of Justice
  5. Nelson Goodman, Fact, Fiction and Forecast
  6. Saul Kripke, Naming and Necessity
  7. G.E.M. Anscombe, Intention
  8. J. L. Austin, How to do Things with Words
  9. Thomas Kuhn, The Structure of Scientific Revolutions
  10. M. Dummett, The Logical Basis of Metaphysics
  11. Hilary Putnam, The Many Faces of Realism
  12. Michel Foucault, The Order of Things: An Archaeology of the Human Sciences
  13. Thomas Nagel, The View From Nowhere
  14. Robert Nozick, Anarchy, State and Utopia
  15. R. M. Hare, The Language of Morals and Freedom and Reason
  16. John R. Searle, Intentionality and The Rediscovery of the Mind
  17. Bernard Williams, Ethics and the Limits of Philosophy, Descartes: The Project of Pure Enquiry and Moral Luck: Philosophical Papers 1973-1980
  18. Karl Popper, Conjecture and Refutations
  19. Gilbert Ryle, The Concept of Mind
  20. Donald Davidson, Essays on Action and Event and Inquiries into Truth and Interpretation
  21. John McDowell, Mind and World
  22. Daniel C. Dennett, Consciousness Explained and The Intentional Stance
  23. Jurgen Habermas, Theory of Communicative Action and Between Facts and Norm
  24. Jacques Derrida, Voice and Phenomenon and Of Grammatology
  25. Paul Ricoeur, Le Metaphore Vive and Freedom and Nature
  26. Noam Chomsky, Syntactic Structures and Cartesian Linguistics
  27. Derek Parfitt, Reasons and Persons
  28. Susan Haack, Evidence and Inquiry
  29. D. M. Armstrong, Materialist Theory of the Mind and A Combinatorial Theory of Possibility
  30. Herbert Hart, The Concept of Law and Punishment and Responsibility
  31. Ronald Dworkin, Taking Rights Seriously and Law’s Empire

As an addendum, Ho adds that “most of the works on the list are analytic philosophy,” therefore Prof. Chen asked Habermas to recommend some additional European thinkers, and received the following: “Axel Honneth, Kampf um Anerkennung (1992), Rainer Forst, Kontexte der Cerechtigkeit (1994) and Herbert Schnadelbach, Kommentor zu Hegels Rechtephilosophie (2001).”

The list is also overwhelmingly male and pretty exclusively white, pointing to another problem with institutionalization that Solomon does not acknowledge: it not only excludes non-specialists but can also exclude those who don't belong to the dominant group (and so, perhaps, excludes the everyday concerns of most of the world's population). But there you have it, a list of the most important, post-1950 works in philosophy according to some of the most eminent living philosophers. What titles, readers, might get your vote, or what might you add to such a list, whether you are a specialist or an ordinary, “passionate” lover of philosophical thought?

Politics

Anarchism

So we can only fight the State or Capitalism by wholly replacing the system.

We do this by:

Replacing systems of food. Community gardens, farms, and cooperative distribution networks. Replacing systems of work. While this can be done by "taking over" industry, it can also be done by making your own worker-cooperatives. Get a cool idea and start a business, it's not impossible. Of course, this should never stop our struggle within certain capitalist industries for people without the means for making their own. Replacing systems of health. Doing community check-ups with nurses, doctors, or even those with basic training for smaller, easier stuff. Replacing systems of justice. We need to not only fight against repression, but to create alternative methods for resolving community disputes.

As replacing systems of work, it's two-part.

One, unions/workers-councils/assemblies taking over industry (as the current example in Greece). Or, replacing them with our own enterprises. For instance, food; I can buy/rent land to use as a "base" to start. This way we can always have food, we remove a decent portion of our purchase of food from the general market, and do it ourselves, and distribute it to our network. The same can be done in almost any industry.

I'm not as good as putting things into words as others, but I'll list off some stuff for you, and feel free to ask for elaboration.

  • Organizing a workplace horizontally rather than vertically (unionize)
  • Plant a community garden
  • Provide food and help for the lower class
  • Speak out against atrocities like racism, sexism, classism, and the like
  • Show solidarity with those who could use an additional voice
  • Protest.
  • Question everything

What about some/all of these things?

You need to set yourself up (and your friends, community members, etc.) to survive without the state. There are tons of peaceful, nonviolent ways to do this:

  • Start a garden, community garden, or neighborhood garden. Maybe get into /r/guerillagardening.
  • Engage in /r/agorism. Agorism is a revolutionary left-libertarian political philosophy that advocates the goal of bringing about a society in which all relations between people are voluntary exchanges by means of counter-economics.
  • Start a Volunteer group. Just a website for your local area, which lists ads for people that require volunteer assistance. Things like yard work, moving, etc. Also, put an ad on craigslist offering your volunteer services, either for free or for a very small fee (to at least pay for gas).
  • Get on /r/couchsurfing and airbnb.com. Governments usually charge a hotel-room occupancy tax, so using this deprives the state and corporations of revenue, while also saving other people money.
  • Start a neighborhood mini-library. Fill it with good books, but throw some anarchism books in there too.
  • Own gold/silver/bitcoins, and get most of your money out of banks and out of worthless fiat currency.
  • Buy things used on craigslist/yard sales. Trade with gold/silver. Help your neighbors by helping yourself.
  • Brew your own beer, grow your own tobacco. No more sin taxes.
  • Plan your own retirement. Don't count on SS or Medicare being available, since it might not be. Start saving/investing now, and do it in good companies that treat their employees well and offer good products/services.
  • Host dinners at your house/apt where everyone brings something. Helps to save money, and you can even have discussions afterwards.
  • Buy a firearm. Learn how to use it. Don't rely on the State for protection.
  • Start a neighborhood watch that actually does looks out for crime. Take jobs away from the draconian police department.
  • Almost forgot: check out /r/frugal, /r/minimalism, /r/simpleliving, /r/dumpsterdiving, and /r/anticonsumption. The less you consume, the less money you give to the State and corporations.
  • Local gift exchange and barter
  • Collective DIY; similar to the above volunteer group, but focused on fixing things. Like starting a local HackerSpace.
  • Buy some books about your health. The two biggest areas to learn about are exercise and nutrition. Most of our health 'problems' are due to a sedentary lifestyle and change in diet. There's tons of books and resources out there, start to learn about them so you can stay out of the doctors office and keep more of your money. But, you should also be able to recognize when you really need professional help as well.

Everything you wanted to know about Anarchism but were afraid to ask

Table of Contents


[http://www.radical.org.uk/anarchism/] This classic statement of anarchism was written by a diverse group of anarchists in Cardiff around 1980 and it is an interesting historical record of the optimism of mainstream anarchist thought at that time.

  • Terry Phillips

INTRODUCTION

There is probably more rubbish talked about anarchism than any other
political idea. Actually, it has nothing to do with a belief in chaos,
death and destruction. Anarchists do not normally carry bombs, nor do
they ascribe any virtue to beating up old ladies.

It is no accident that the sinister image of the mad anarchist is so
accepted. The State, the press and all the assorted authoritarian types,
use every means at their disposal to present anarchy as an unthinkable
state of carnage and chaos. We can expect little else from power-mongers
who would have no power to monger if we had our way. They have to
believe that authority and obedience are essential in order to justify
their own crimes to themselves. The TV, press and films all preach
obedience, and when anarchy is mentioned at all, it is presented as
mindless destruction.

The alleged necessity of authority is so firmly planted in the average
mind that anarchy, which means simply 'no government' is almost
unthinkable to most people. The same people, on the other hand, will
admit that rules, regulations, taxes, officiousness and abuse of power
(to name but a few) are irritating to say the least. These things are
usually thought to be worth suffering in silence because the alternative
- no power, no authority, everybody doing what they pleased - would be
horrible. It would be anarchy.

Yet there are a limitless range of possible societies without the State.
Not all of them would be unpleasant to live in. Quite the contrary! Any
kind of anarchist society would at least be spared the horrible
distortions the State produces. The 'negative' side of anarchism
- abolition of the State - has to be balanced against what replaces it
- a society of freedom and free co-operation.

Various sorts of anarchists have differing ideas on exactly how society
ought to be organised. They all agree that the State must be replaced by
a society without classes and without force. It is because of this
belief in freedom that we are reluctant to put forward a rigid
blueprint. We offer only possible models backed up by evidence drawn
from life. Actually, there has already been an anarchist society and it
took nothing less than mass murder to stop it.

Another common misunderstanding from those who know slightly more about
it, is that anarchism is a nice daydream, a beautiful but impractical
idea. In fact, the anarchist movement has a long history and it arose
not in the heads of ivory tower philosophers, but directly from the
practical struggle for survival of masses of ordinary, downtrodden
people. It has always been intensely practical in its concerns and its
ways of doing things. The movement has come quite close to success a few
times. If it is really so hopelessly impractical, then why is the State
so determined to stamp it out?

ELEMENTARY ANARCHISM

Very few people seem to understand anarchism, even though it is a very
simple, straightforward idea. It can be expressed basically as running
our own lives instead of being pushed around.

There is nothing complicated or threatening about anarchism, except the
fearsome arguments it can get you into. Such as the one about the chaos
there would be if everyone did just what they wanted. But we have chaos
already don't we? Millions are out of work, whilst others do too much
boring, repetitive labour. People starve at the same time as food is
being dumped into the sea to keep prices up. Our air is choked by the
fumes from cars that contain only one person. The list of crazy, chaotic
things that happen is endless.

Even the 'good' things that the State does are actually harmful. The
Health Service, for example, patches us up just like an industrial
repair shop which in a sense it is. It serves to make us dependent on
the State and, worst of all, it buys us off cheaply. It prevents us from
creating the genuine, self-managed Health Service we need, geared to our
needs not theirs.

Authorities by their very nature can only interfere and impose things.
Surely, ordinary people can figure out some way of coping, without
planners knocking down their houses to build yet more empty office
blocks? It is a basic anarchist principle that only people who live in
an area have the right to decide what happens there.

All this chaos, we believe, arises from authority and the State. Without
the ruling class and its need to keep us in bondage, there would be no
State. Without the State we would be in a position to organise freely
for our own ends. Surely we couldn't make a worse mess than we are stuck
with already? Free organisation could provide a much greater
orderliness than a society that concentrates on the systematic
robbery and suppression of the majority of its members.

SOME COMMON ARGUMENTS AGAINST ANARCHISM

We are often asked how an anarchist society would deal with, for
instance, murderers. Who would stop them without the police?

Most murders are crimes of passion and therefore unpreventable by police
or anyone else. Hopefully, however, in a saner, less frustrating society
such 'crimes' would be less common.

Our rulers claim to be protecting us from each other. Actually they are
more interested in protecting themselves and 'their' property from us.

If we, as members of a local community, owned and shared all resources
it would become absurd to steal. An important motive for crime would be
abolished.

These local communities would need to develop some means of dealing with
individuals who harmed others. Instead of a few thousand professional
police there would be 51 million in the 'United Kingdom' alone.
Ultimately, our only protection is each other.

Prisons fail to improve or reform anyone. Local people aware of each
others' circumstances would be able to apply more suitable solutions, in
keeping with the needs of the victim and the offender. The present penal
system, on the other hand, creates criminal behaviour. Long term
prisoners are often rendered incapable of surviving outside an
institution that makes all their decisions for them. How is locking
people up with others of an anti-social turn of mind (the worst of whom
are the screws) supposed to develop responsibility and reasonable
behaviour? Of course it does just the opposite. The majority of
prisoners re-offend.

Another question anarchists have had thrown at them for years is: "But
who would do all the dirty and unpleasant jobs?". We imagine each
community would devise its own rota system. What is so impossible about
that?

Then there's the question: "But what about those who refuse to work?".
Well, social pressure can be applied. People could, for example, be
'sent to Coventry', i.e. ignored. In drastic cases they could be
expelled from the community.

But people need to work. People have a definite need for creative
activity. Notice how many people spend their time working on cars or
motor bikes, in gardening, making clothes, creating music. These are all
creative activities that can be enjoyable. They are usually thought of
as hobbies rather than work, since we're brought up to think of work as
a torment to be endured.

In this society of course, work is a torment. Naturally, we hate it.
This does not mean that we are naturally lazy, it means that we resent
being treated like machines, compelled to do mostly meaningless work for
someone else's benefit. Work does not have to be like that - and if it
were controlled by the people who had to do it, it certainly would not
be.

Of course some jobs just have to be done, and there are few methods in
sight of making collecting rubbish a fun occupation. Everybody would
have to take a share and everybody would have to see to it that nobody
got away with shirking their responsibilities.

A further point worth making is that unemployment is only a problem
created by capitalism. In a sensible world there would be no
unemployment. Everyone would have a shorter working week, because they
would only produce things that were needed. If we were to get rid of the
parasitic ruling class, we would be free of most of the economic
pressure to work.

If you still need to be convinced that an anarchist society could solve
the problem of people failing to meet their responsibilities, then
imagine yourself being compelled to face a meeting of the whole
community you live in and being publicly discussed as a problem. Ugh!

Yet another common objection is: "Well, perhaps it would work on
a peasant village scale, but how can you run a complex industrial
society without the authority of managers?". Well, in the first place,
we believe that society needs to be broken down to smaller-scale units
as much as possible, so as to make them comprehensible to small groups
of ordinary people. It is a noticeable fact of organisation, as well as
a basic principle of anarchist theory, that small groups of people can
work efficiently together, and co-ordinate with other such groups;
whereas large formless groups are gullible and easily dominated.
Expanding this point it is interesting to note that recently the famous
'economies of scale' that justify steel works, for example, covering
many square miles, have been increasingly called into question. Beyond
a certain point factories, farms, administrative systems and so on,
actually get much less efficient as they get larger.

As much as is reasonably possible should be produced and consumed
locally. Some facilities, however, would have to be dealt with on
a regional or even larger scale. There is no insoluble problem about
this, in fact solutions were found by the Spanish working class in the
thirties. The Barcelona Bus Company doubled services, made generous
contributions to the City Entertainments Collective and produced guns
for the front in the bus workshops. All this was achieved with a smaller
workforce, as many had left to fight the fascists. This amazing
increase in efficiency, despite the war and serious shortages of
essential supplies, is not surprising on reflection after all, who
can best run a bus company? Obviously bus workers.

All the Barcelona workers were organised into syndicates - groups of
workers in the same enterprise, sub-divided into work groups. Each group
made its own day-to-day decisions and appointed a delegate to represent
their views on wider issues concerning the whole factory, or even the
whole region. Each of the delegates was instructed in what to say by
their workmates and the task of being a delegate was frequently rotated.
Delegates could be changed at short notice if it was felt they were
getting out of line (the principle of recallability). These show the
basic anarchist principles of free federation in practice. By adding
more levels of delegation it is possible to cope with organising
activity on any scale, without anyone giving up their freedom to work as
they choose. This idea of federalism is illustrated again in a later
section called 'Local action and organisation'.

Let's move on to another objection - "Wouldn't a society without a State
have no defence from attack by foreign states?".

Well, it must be said that having a State hasn't prevented us from being
taken over by the US Empire. In fact 'our own' armed forces are used
against us as an army of occupation. The State does not defend us. It
uses us as cannon fodder to defend our rulers, who, if the truth be
untangled, are our real enemies.

Returning to the question, a classic anarchist answer is to arm the
people. Anarchist militias in Spain very nearly won the civil war
despite shortages of weapons, treachery by the Communists and
intervention by Germany and Italy. Where they made their mistake was in
allowing themselves to be integrated into an army run by statists. An
armed population would be difficult to subdue.

But yes, we could be destroyed. We believe that the real nuclear threat
is from 'our side'. The American rulers would probably exterminate us
all rather than willingly allow us our freedom.

Against the threat of destruction our best defence is the revolutionary
movement in other countries. Put another way, our best defence against
the Russian nuclear bomb is the current movement of the Polish workers.
This may well spread to the rest of the Soviet Empire. Conversely their
best hope of not being vaporised is that we might succeed in abolishing
'our' bomb. (CND has not yet realised that banning the megadeath weapons
means banning the State!)

It is instructive how the Russian revolution was saved from wholesale
British intervention by a series of mutinies and 'blackings' by British
workers.

True security would be guaranteed if we could develop our international
contacts to the point where we can be sure that the workers in each
'enemy' country will not allow their rulers to attack us.

The last few pages have been a very brief introduction to the way
anarchists think. There are plenty more ideas and details to be found in
various books on the subject. But basically you understand anarchism by
living it, becoming involved with other anarchists and working on
projects, so this is the theme around which the majority of this little
book is written - anarchist actions.

ANARCHISM IN ACTION

If you have followed this pamphlet so far, you should have a fairly
reasonable idea of what an anarchist society is. The problem is how to
get from here to there.

Within anarchism there are many different but related ideas. There are
complete systems of anarchist political theory going by names like
federalism, mutualism, individualism, syndicalism, anarchist-communism,
anarcha-feminism, situationism, and so on.

The arguments between different brands of anarchism have been going on
for a long time and are too involved for an introductory pamphlet.

However, if we think in terms of what anarchism says needs to be done
now, it turns out that there is considerable agreement between brands.
Each strand emphasises the importance of action in a particular area of
life.

If you begin to put the ideas of the following pages into practice, you
will start to work out your own version of anarchism. By doing this you
will be adding a new member to a movement that always needs new members,
particularly ones who have thought things through. Try your ideas out on
your friends, read more on anarchism, talk with other anarchists!

Be an independent thinker. There is no other sort.

ORGANISING IN THE WORKPLACE

Traditionally, anarchists believe that the main problem with the world
is that it is divided into masters and 'wage slaves'. If we could get
rid of the bosses and run industry ourselves, for the benefit of our own
needs not theirs, it would clearly make a big improvement and would
transform every area of life.

There are, however, some anarchists who believe the working class is so
used to being enslaved that some other route to revolution will have to
be found.

An anarchist at work, however, will usually at least try to get his or
her workmates to organise themselves. We try to spread the simple idea
that by sticking together we resist being pushed around. This is best
done by talking to workmates, becoming accepted and trusted by them,
rather than by high pressure preaching. Solidarity can best be learned
through action.

Anarchists try to be ready for strikes when they happen. Usually the
most important task in such situations is to undermine the power of the
official union line and get people working together directly rather than
through the 'proper channels'. The point of anarchism is to seize
control of our own lives, not to hand it over to an official for a sell
out. As it happens such direct action is the tried and tested way of
winning industrial battles. Unity is strength.

To the anarchist, strikes for more small changes, demarcation disputes,
and so on, are not especially revolutionary. To us, the only real point
in such actions is that in the course of them people may begin to learn
how to organise for themselves and gain confidence in their collective
power. Eventually this experience could prove useful and begin to allow
workers effectively to challenge the industrial power structure and
build towards complete workers' control of production.

We have a long history to draw on and many useful techniques that have
worked elsewhere. There are ideas like slowing down till we reckon we
are working at a rate appropriate to the wage. Or 'good work' strikes,
taking care to do a good job irrespective of the time it takes. Such
actions only make sense if taken by a group of people in a united
fashion. They are examples of direct action. We don't ask the bosses, we
tell them. By contrast the indirect (so-called democratic) method is to
wait five years and put a cross opposite the name of a labour
politician, who turns out to be in the same freemason's lodge as the
opposition candidate.

We would hope that self-organisation among workers will once again (as
at other times in recent history) reach the point where they are
prepared to act together and confront the State in its entirety. If the
next time around there is adequate experience, organisation, preparation
and awareness, it will be possible to dispose of the State and bosses
and move towards an anarchist society and an anarchist world.

There are a variety of ways differing anarchists believe this could come
about. Some anarchists support the idea of building giant unions
controlled from the bottom up, rather than the usual top down structure.
This syndicalism is a clear strategy for revolution which has been shown
effective in the past. The union ideally includes all the workers in
each place and aims to develop self-organisation to the point where the
workers can easily take over the factories. Strikes can, where
necessary, be backed up by solidarity action from other workers.

Eventually, enough workers will have joined and become active for
a general strike. The State is paralysed and can do nothing if it cannot
trust the army to kill its own relatives. The general strike may be
a general take-over by the people, or develop into one. At this point
the work of building Utopia can begin.

Some anarchists reject aspects of this plan. They doubt the wisdom of
forming unions at all, even if decentralised. They worry that a layer of
professional leaders will develop. There is also the danger of getting
lost in the swamp of everyday compromise over petty issues.

In any case this difference in approach does not prevent working
together. In the 'United Kingdom' (joke phrase) the existing
Labour-mafia controlled unions have already got it all sewn up. The
prospects for forming anarchist unions are obviously dismal.

In these circumstances, it seems that the way forward is to try to
promote links between workers that by-pass the mafia controlled union
HQ's which try to monopolise information so as to maintain control. Any
action such as flying pickets, which puts control in the hands of
strikers themselves, should be encouraged.

It would be useful if anarchists working in the same industry were in
contact. Where contacts do not already exist, a conference is a good
starting-off point.

'NATIONAL' ISSUES

Large Scale Campaigns

Anarchists usually make a poor showing in influencing large scale
campaigns. This is partly because the christians, liberals, trotskyists,
and so on, who generally manage to control them, often make them so
lifeless, ineffectual and generally wet that no self-respecting
anarchist will go near them.

In fact we see the leaderships of these groups as an important part of
the system, whose function is to control protest by steering it
harmlessly into 'proper' channels.

An example of this process at work was the attempt by 'Friends of the
Earth' to contest the public inquiry into the Windscale nuclear
reprocessing plant. The result was that a good deal of energy and money
was directed into an entirely useless argument between rival experts.
The illusion was fostered that the government is fair and reasonable and
has a right to make this kind of decision. The verdict was of course
a foregone conclusion and the go-ahead was given. The net effect was to
misdirect and defuse protest about the nuclear power programme.

On the other hand, many anarchists believe that it is a good idea to get
involved with campaigns such as CND, the Anti-Nazi League, animal
liberation, and so on. This is because there is some prospect that
joining one of these campaigns may be the first step for some people in
becoming anarchists. An anarchist's presence might help this process.
Also, campaigns which bring important issues to public attention provide
opportunities to show how particular evils relate to oppression in
general and the need for revolution. In some cases it is worth urging
anarchists to join such organisations in order to prevent domination by
the more noxious political types. Sometimes it is actually possible to
introduce anarchist methods of organising and direct action tactics.

For example, an anarchist involved in CND would try to point out the
relationship between nuclear weapons, nuclear power, militarism, the
State and class society. We would point out the futility of asking the
State to behave nicely and would recommend instead asking the workers
who build the bombs and the aircraft, and so on, to do something more
useful instead. We would also do our best to prevent our old enemy the
Labour Party from taming the anti-missile movement and then quietly
burying it, as they did in the early sixties.

We would also try to spread more decentralised methods of organisation,
based on small groups federating with each other. This would have the
advantages of greater flexibility, giving each member more chance of
being fully involved, and of preventing a ruling clique from developing.

Few anarchists would claim that a movement like CND is likely to bring
about the revolution, or even to get anywhere near banning nuclear
weapons. The best we can reasonably hope for is that it will cause
increasing numbers of people to think about how this society really
works.

Interpersonal Relationships

As we have said earlier, there is a concern for the rights of the
individual running through anarchism. There is no point in all our
activities and theorising if it is not eventually going to make life
better for individuals like you and me.

Unlike marxists and other fake socialists, we believe in at least trying
to live out our principles in everyday life. If you believe in equality
you should treat people as equals as far as you can. An anarchist would
be less likely to forgive Marx's ill treatment of his servants and his
wife than a marxist would!

The ways people treat each other add up to make society as a whole. In
an insane society like this one, people treat each other badly.

Sadly, though, the hippies were wrong. It is not 'all in your head'.
Individual solutions like dropping acid and living in the country turn
out to be not solutions at all, but simply escapism. Before the
revolution it is not possible simply to choose to live as though you
were free. Society will not let you.

Before the revolution it is up to us to behave as if we were reasonable
human beings in a reasonable world as far as possible. It is difficult,
but not impossible, with a little help from your friends, to grow to
something more than the state of infantile dependence this society tries
to keep us in.

The Authoritarian Family

A common myth, both in fascism and in everyday anti-humanism, is the
'sanctity' of the family and the 'holy' institution of motherhood.

Many women today are fighting against being pushed into the role of
mothers and nothing else, and against the everyday domination of women
and children by men, which is what the family is really all about.

The reality of family life is quite different from the sentimental
ideal. Wife battering, rape and child abuse are not accidental or
isolated events - they are a result of conditioning in the family and by
the media.

Until we have freedom and equality in our daily lives we will have no
freedom or equality at all, nor will we want it sincerely.

You have only to look at the 'master and slave' content of any porn
magazine to see that sexual repression leads to domination and
submission. If power is more important than fulfilment in your sexual
life, then it will be more important in the rest of your life also.

Support free love. If it's not free, it's not love.

Right wing people talk a great deal about sex and what they call 'sexual
morality' and 'purity'. Even 'racial purity' is a largely sexual idea.
It is based on fear of the sexuality of 'inferior races', feared because
it threatens their own sexual control and power.

Racists ask: "Would you let your daughter marry one of them?". Who are
you to say what 'your' daughter should do with her own sex life anyway?

Anarchists generally do not hold with conventional marriage. They do not
accept that it is any business of the church or the State what people do
with their sexual relationships. True emotional security for both
children and adults is less likely to be found in a legally enforceable
and artificially 'permanent' tie between two people of either sex, than
it is in a wider network of relationships that may or may not have
a sexual component.

Many anarchists have seen living in communes as an important way in
which to change society. But living in the same house as nine other
people is not in itself the key to the ideal future. The important thing
is to change our attitudes: to become more open and generous and less
competitive and afraid of each other. The important thing is to have
plenty of real friends rather than hiding in the family nest. We can do
this as workmates and neighbours as well as home sharers.

Forming communes now, or trying to, is riddled with problems. Communes
at the moment frequently fail either through isolation, or through
squabbles within the group, or for a variety of other reasons. People
brought up in this society do not easily develop more open, generous and
honest relationships. Most anarchists settle for being just a little
less isolationist than most. We just do the best we can, and realise
there is no such thing as perfection in an oppressive society. There are
no anarchist saints.

Changing Everyday Life

Unless we can help people, including ourselves, to become less dominated
by fear, anxiety and insecurity, there is little point in expecting them
to behave sensibly and to start building a free, creative society.
Authoritarian ideas and unreasoning hatred of scapegoats such as blacks
and homosexuals are part of a mass mental illness.

Fortunately, there are forces operating in the direction of greater
mental health, and anarchists should do what they can to assist these
forces and movements.

Of these, the clearest example is the radical psychotherapy movement.
Broadly speaking, groups within this movement try to move away from the
old idea of the expert psychiatrist who solves the 'patient's' problems,
towards an approach in which people, with assistance, help themselves.
Unfortunately this has been taken over by the neurotic middle classes.
Fees for encounter groups are too much for the likes of you and me, and
encounter groups based around the problems of industrial management are
hardly the way to a new society.

There are self-help therapy groups, though, which show some promise and
may well catch on. The most successful seem to be those with a specific
membership, such as depressives, or women's groups, and so on. We are
against people trying to adjust to impossible situations and want them
to learn to assert and express themselves.

As much of the psychological mess the human race has got itself into
revolves around the unjust relationships between the sexes, anarchists
put a lot of hope in the development of the women's movement. Not that
all feminists are revolutionaries. The National Organisation of Women,
for example, was delighted to allow women to person nuclear missile
control rooms. Nevertheless, there is a strong anarchist strand to
the women's movement, in the emphasis on small leaderless groups,
self-help and the importance of women coming to terms with each
other's feelings. Challenging male domination should logically lead
on to challenging all domination.

The women's movement also illustrates another promising development
- the tendency to organise in small groups and collectives. Where these
work well they provide much needed support and a sense of worth to the
individuals involved. Other movements, such as parts of the gay
movement, claimants unions, squatters, self-help health groups, and so
on, are good for the same reason. This way of organising tends to help
the development of sanity.

Anything that encourages people to take responsibility for themselves
and examine their relationship with the rest of the world should be
encouraged. Eventually we can hope that attitudes will change enough to
allow people to have the confidence to take back power over their own
lives.

LOCAL ACTION AND ORGANISATION

Direct action can be used to change the conditions of houses, streets,
schools, hospitals, and other amenities. Such reforms have, in
themselves, little to contribute towards building an anarchist society,
but making people aware of the potential of direct action is important.
At best such actions foster feelings of community spirit and promote
self organisation. They raise political consciousness. At worst they
lead to feelings of hopelessness and complete disillusionment with the
human race. These feelings may drag you to political suicide. Such
'has-beens' are to be seen in many Labour Party gatherings.

What sort of actions are we talking about? Well if you're short of
a house, then consider squatting. It by-passes the authorities in charge
of housing and challenges property relations. It effectively
demonstrates the disgrace of empty houses side by side with
homelessness. Unfortunately, popular prejudice hinders squatting from
obtaining the wider support necessary for real change.

The community life of the street can be improved by festivals, street
theatre, and so on. Of course this sort of thing can have its drawbacks
too, unless you're the sort of anarchist that's into Lady Di and her
mates!

Anarchists have participated in and often dreamt up all sorts of
self-help schemes. These include making better use of land, labour
swapping schemes, consumer product sharing schemes. Again these
encourage independence and demonstrate that alternative forms of
economic exchange are viable. Beware paid community workers wishing to
professionalise the idea and destroy its real benefits by making it part
of the system.

Another common area of anarchist activity is getting involved in local
campaigns. These may be useful in developing organisation and awareness
and can have the virtue of making people think about political issues.
A campaign against the closure of a local hospital, for instance, raises
questions about who controls the hospitals and for whose benefit?
Unfortunately, people are often led astray by their illusions about
'democracy' and politicians, and wind up getting fobbed off or conned.
This can result in disillusionment and apathy. The role of the anarchist
is to try and make sure that it results instead in anger at the
authorities and promotes direct action.

It is often difficult to find a balance between getting involved in
immediate reforms (hence encouraging a false belief in the State as
a benevolent force) and examining the long term implications of what you
do. If you let your feelings run riot you will end up in reformism,
desperate to remove the squalor you discover in society. This is
understandable, but works against removing the roots of the squalor.

To improve the system is to strengthen it and thus in the long run
increase human misery.

When local conditions become atrocious, riots break out. Chief Constable
Oxford of Liverpool recently described local riots in Brixton,
Liverpool, and so on, as "organised anarchy". It seems unlikely,
however, that they stemmed from anything but pure frustration. Sporadic
rioting is not a particularly revolutionary activity in itself. If it
had been organised, it would have been insurrection, which is
a different story. How, then, do anarchists organise?

Individuals join small anarchist groups in order to co-ordinate their
actions with others not to be told what to do. The entire group
discusses a particular action, but only those in favour will perform it.
This contrasts completely with trotskyist groups in which each
individual member must follow the party line.

Disagreement on an important issue, or lack of shared action, simply
means that a new grouping will come into being. In various parts of the
country, groups have formed larger federations to co-ordinate the
actions of these small groups (in a non-authoritarian way, of course).

This model of organisation has already become common in other strands of
political activity, like women's groups and some community groups. If
anarchism grows, one would expect to see an increase in this way of
organising.

Groups of people in a street, or perhaps at a particular workplace, can
organise in this way to take the decisions that affect them. They can
send delegates to larger meetings, taking this task in turn, instructing
the delegate what to say, kicking him/her out if s/he gets power hungry.
A utopian idea? It is already working now on a small scale (for example
in the CND). What's so difficult about it? All we need is a total
revolution in everyday consciousness! In this way, a non-authoritarian
system of organising all aspects of our lives from the cradle to the
grave could emerge. It would be a federalist type of anarchist society.

Anarchists see it as vital to educate people for a new society. Some
would go so far as to say that it is all we can reasonably do. To
attempt a revolution as a tiny minority is just not on and with the best
of intentions could lead only to a new slavery. A genuine revolution can
only be made if the great majority of people want it and actively
participate in creating the new world. Naturally, it would stand a much
better chance if the people had first organised, prepared and thought
about the issues and problems. This means that one of our top priorities
is to spread our ideas as far as possible.

Preaching, however, is best avoided. We do not want mere followers. An
even worse danger is that we may begin to hand out our ideas as a dogma.
Finally, we do not want to talk at people, but with them.

This last point is important. It is probably the surest sign of the
degenerate state of modern society that communications are becoming
increasingly impersonal, standardised and one way. Millions of people
watch the same TV programmes and read the same newspapers. As a result
their own conversations are standardised. Communications have become
a commodity to be consumed, 'sounds' to be bought on plastic tapes. All
modern communications media have two things in common: you have to pay
for them, and there is no way of participating, you listen or watch,
nothing else is required of you.

Our belief in freedom leads us to demand freedom of speech and freedom
of the press. This may seem odd, as these were old nineteenth century
liberal rallying cries. The liberals now seem fairly satisfied that we
have these precious freedoms already.

What they mean, of course, is that they have these freedoms. Ordinary
mortals, to say nothing of 'dangerous extremists' like ourselves, do
not. We can say what we like (almost), but not on prime viewing time; we
can write anything we like, but won't be able to distribute it through
W H Smith's. Unless everyone has a reasonably good chance of actually
being heard, then freedom of speech means nothing and they are quite
happy to give it to us.

A recent Spanish coup attempt is said to have failed because the fascist
officers had an old fashioned view of political power and seized the
parliament building. Next time they will know better. They will seize
the radio stations.

Journalists, print workers, writers, technicians and actors may have to
play a vital part in the struggle for a new society. They have it in
their power to tell the truth. The cruddy 'product' that they obediently
continue to churn out ought to have shamed them all into resigning by
now. Agitation within the communications industry, for workers' control
of content, is a matter of urgency.

Because communications are so tightly controlled by a very small clique
who know very well the importance of their power, we are hardly likely
to stand much chance of getting our views known through the existing set
up. We need to find some other way of spreading our ideas until such
time as the people get around to seizing control.

We have been forced out on to the fringes of society. We. are obliged to
create our own media in order to express ourselves. Naturally, it is all
on a small scale and we reach only a few people with each leaflet,
magazine or whatever. We can only hope that all the little things we do
will add up. After all, a thousand leaflets are not wasted if they
convince one new anarchist.

Spreading the word is important, and an impressive range of different
approaches have been tried at one time or another. Here we list some of
the things anarchists do or can do to get their ideas across.

THE PRINTED WORD -- The anarchist movement has produced a constant
stream of articles, newspapers, magazines, books and leaflets throughout
its history. Some reached impressive numbers. Many were read only by
a few and are now forever forgotten.

The effort has not been completely wasted. We always need more and
better-written anarchist material. People who are ready for ideas must
be given as many chances as possible to find them.

Leaflets, often quickly run off on a duplicator for a special event, are
the simplest and cheapest possibility. Wording should be simple and to
the point. Good graphics, including photographs, can be done on an
electric stencil at a slightly higher cost.

Cheap pamphlets on particular topics are best whipped out of the pocket
at an appropriate point in a conversation. This one, for instance, is
designed for those who insist on trotting out the old hoary objections
to anarchism such as "what about murderers?" (see Some common arguments
against anarchism above.)

Magazines and newspapers fall into two categories: those aimed at, or of
interest only to, other anarchists, arid those aimed at reaching the
uncommitted multitude. We seem to have plenty of magazines for
anarchists but a shortage of agitational ones. There are a few, good,
local anarchist papers: in addition many anarchists work on 'community'
papers dealing with local issues.

Book publishing and distribution is also an important part of the
movement. Order anarchist books at your local library. There are also
plenty of anarchist books yet to be written. We need more works of
anarchist theory, more analyses of present society and strategy for
change. There is also scope in fiction or poetry. Writing a book is not
as daunting as it might first seem. Many of the people who do write
books are complete idiots.

STREET THEATRE -- This method of communicating is perhaps not used
enough by anarchists. Writing and rehearsing plays can be a useful
practice in getting a group working together. The proper legal approach
is to apply for planning permission (be sure to have a harmless sounding
name). On the other hand, the 'Santa Claus Army' who invaded the toy
departments of Amsterdam stores and gave away toys to the kids were also
indulging in street theatre, though of a less legal kind. Some kind of
semi-theatrical event to make people think is a good alternative to the
usual boring old demo.

PUBLIC MEETINGS -- At one time anarchist meetings drew crowds of thirty
or forty thousand. Public meetings have declined as mass entertainment
has developed. Fifty is a pretty good number these days. Choose a theme,
sort out speakers, book a hall and advertise it well. It may be a lot of
effort, but it does sometimes produce new members, or at least some
interest. People will take you more seriously.

ALTERNATIVE MEDIA -- This vague title is meant to cover unorthodox means
of communication from badges or spray painting to video. Small messages
to the mass consciousness can be written on toilet walls or sprayed in
six-foot letters down the sides of motorways. Video is cheap(ish) and
everybody by now must know of some way of borrowing or hiring cameras.
Anarchists have run successful pirate radio stations and there is no
need to rule out dance or mime or a thousand other possible ways of
getting a message across. Use your imagination.

Although we are kept out of the mass communications market, we can still
find ways of reaching out with our ideas. The struggle to make means of
expression available to the people at large is one of the most vital
parts of the struggle for freedom. By imaginatively pioneering new means
of communication that are easily available, we are not only spreading
our views but helping others to express themselves. Finally, the way in
which an idea is communicated may be at least as important as the idea
itself. If it allows or encourages participation so that people can stop
being merely an 'audience' and start expressing themselves, it is
a direct challenge to the system of power which needs us docile.

MUSIC -- Rebellious or revolutionary music has a much longer history
than the fashion-conscious youth of today, or even the ageing hippies of
yesterday, may realise. Believe it or not many operas turn around
essentially revolutionary themes! In the eighteen-thirties, possession
of a musical instrument was illegal for the lower orders. This was
because wandering musicians were becoming alarmingly successful at
stirring up discontent.

Many anarchists choose to get involved in music as a way of
communicating with people. It is a useful sort of activity for
anarchists to do, and of course it can be fun. Sadly, much current
anarchist music is neither anarchist nor music, but some of it is good
and some very good. It's all a matter of personal taste anyway.

Music has the power to appeal to emotions directly. It is possible to
communicate in a more basic way. It is also possible to use it to
hypnotise and manipulate people, something which we would hope to avoid
doing.

Again, what we need to do is make music available to people, encourage
them to have a go and bring out their creativity. Some anarchists feel
that for this reason, high technology expensive electric music should be
avoided. On the other hand, the possibilities of home taping and easily
produced cassettes are quite exciting.

We need to create new ways of making and sharing music that by-pass the
music industry. Let them howl about loss of copyright when their tapes
are illegally copied. They've had things their own way too long.

ART -- Paintings in galleries have been described as 'museum art'. What
is meant by this is that they are objects to be admired and bought and
sold. They separate art from life and from people at large. Art as
a saleable item is the best that this system can offer. Art as an
activity it could neither understand nor allow.

There is a crying need to release the creative abilities of 'ordinary'
people. This we can at least attempt to do when talking to people. We
can find ways to work for the movement and enjoy ourselves at the same
time. By using our own creativity, we can hope to reach the hidden parts
of people that other ideas cannot reach.

Spreading the word, or 'propaganda', has to be a major part of any
anarchist strategy. Above all else an anarchist revolution requires that
people know what they are doing and why. Nobody can be forced into
freedom: it must be chosen and taken, or it is not really freedom. Our
task is harder than that of the door-to-door Jehovah's Witnesses. It is
not enough for us to tell people what to think -- they must think for
themselves, or they are not really anarchists.

SCHOOLS AND EDUCATION

Although we distrust schools, anarchists place great faith in the power
of education. One of the major sources of hope for a better world is
that the next generation, given help, might grow up less neurotic than
the last. Some would go so far as to say that educating children for
freedom is the only real hope of eventually bringing about an anarchist
society.

Schools are mainly concerned with sorting and grading children for their
future roles in the social hierarchy -- and ensuring that they accept
the need for competition, hierarchy and respect for authority. Such
a system demands that the majority of children - and adults - are made
to feel inferior. Anarchists believe that academic examinations are
a meaningless measure of a person's potential for playing a useful role
in society. The cult of the professional expert is designed to shatter
our confidence in our own abilities and judgement.

Anarchists are opposed to corporal punishment or any form of compulsion
in education. Attendance at all classes should be voluntary. Compulsion
destroys the natural enthusiasm for knowledge and understanding. Real
education is the opposite of compulsory schooling, where the main
lessons are fear and respect for authority. We need to equip our
children with critical minds to understand the world, to see what
changes are necessary to make it a better place for everyone, and to be
able to bring about the necessary changes.

Anarchists are opposed to any religious indoctrination in schools. Fear
and superstition have no place in an ethical education. Religious
'education' should be abolished and replaced by the discussion of moral
and philosophical questions based on concern and respect for others.

It is crazy to think that education merely consists of spending eleven
years or so of our lives in schools cut off from the real world outside.
It would be much healthier for our education to be integrated with the
everyday work and life of society. In this way everyone's particular
skills would be properly recognised by society and used for the
education of others. We need to break down the divisions between work,
play and education. Education should be available throughout our lives,
rather than being arbitrarily confined to that part of our lives spent
in schools. We are all potential learners and teachers, passing on and
acquiring skills and understanding as we go through life.

Anarchists are generally agreed that the complete liberation of
education is dependent on the creation of an anarchist society. However,
this has not stopped anarchists from trying to create freer environments
for children to grow and learn, here and now. Some anarchists have
educated their children at home. Others have worked together with
other parents and children rather than remain in isolated family
units. In the last three decades several free schools have been
established based on anarchist principles, and they have performed
a valuable service in demonstrating in practical ways that
alternatives exist. However, they have faced constant financial
problems and all the other problems which come from trying to live
freely in an unfree society.

Some anarchists, and others who share their views on education, have
concluded that for the foreseeable future most children will be in State
schools and, therefore, have tried to change existing State schools as
teachers or parents.

Although by the nineteen-sixties the educational establishment had
accepted libertarian methods at A S Neill's Summerhill School for the
fee-paying children of wealthy parents, they were horrified at the
prospect of similar methods being adopted in State schools for working
class children. The most successful attempts, those at Risinghill School
and William Tyndale School in London, were eventually stopped by the
local education authority and the teachers were thrown out of their
jobs.

The lesson for those who try again in the future is that it is essential
to break down the isolation of schools from the community, so that
parents will understand and actively support what anarchists are trying
to do in schools.

CONCLUSION

For more detailed consideration of anarchist theory, we have provided
a booklist for further reading. We have listed areas of activity and
outlined the anarchist approach. We have made no attempt to indicate
which types of activity are most likely to lead to a non-authoritarian
future. This kind of judgement requires careful consideration of the
nature of society and strategy for change. We hope that you will
eventually form your own conclusions. Anarchists make up their own
minds.

If you are interested, read more, talk to your local anarchists, think
things through. There is a lot to be getting on with.

Can you think of a good excuse for not being an anarchist? Right, then
get on with it!

FURTHER READING

This booklist is reproduced from the original pamphlet. Some books may
now be available in new editions by other publishers.

Introductions to Anarchism

ABC OF ANARCHISM, Alexander Berkman, Freedom Press.
ANARCHISM AND ANARCHIST-COMMUNISM, Peter Kropotkin, Freedom Press.
ANARCHIST READER, THE, George Woodcock, Fontana.
ANARCHY, Malatesta, Freedom Press.
ANARCHY IN ACTION, Colin Ward, Freedom Press.
FLOODGATES OF ANARCHY, Stuart Christie and Albert Meltzer, Kahn & Averill.

Classics of Anarchism

Bakunin:
CRITIQUE OF STATE SOCIALISM, A, B Books.(comic strip version)
GOD AND THE STATE, B Books.
PARIS COMMUNE AND THE IDEA OF THE STATE, THE, B Books.

Godwin:
ANARCHIST WRITINGS OF WILLIAM GODWIN, Freedom Press.
ENQUIRY CONCERNING POLITICAL JUSTICE, AN, Penguin.

Kropotkin:
CONQUEST OF BREAD, THE, Elephant Editions.
FIELDS, FACTORIES AND WORKSHOPS TOMORROW, Freedom Press.
GREAT FRENCH REVOLUTION, THE, VOLS I & 2, Elephant Editions.
MUTUAL AID, Freedom Press.
STATE, THE, Freedom Press.

See also books by Proudhon, Malatesta, Goldman and Berkman.

Anarchist '-isms'

Anarcha-feminism:
QUIET RUMOURS, various authors, Dark Star/Rebel Press.
UNTYING THE KNOT, Freeman and Levine, Dark Star/Rebel Press.
WOMEN IN THE SPANISH REVOLUTION, Solidarity.

Anarcho-syndicalism:
ANARCHO-SYNDICALISM, Rudolf Rocker, Phoenix Press.

Anti-militarism/self-defence:
PROTEST WITHOUT ILLUSIONS, Vernon Richards, Freedom Press.
STRANGE VICTORIES, Elephant Editions.
TOWARDS A CITIZENS' MILITIA, Cienfuegos Press.

Federalism:
KROPOTKIN'S FEDERALIST IDEAS, B Books.

Individualism:
EGO AND ITS OWN, THE, Max Stirner, Rebel Press.

Mutualism:
See the writings of P-J Proudhon

Situationism:
AND YET IT MOVES, Boy Igor, Zamisdat (critique of science.)
BOOK OF PLEASURES, Raoul Vaneigem, Pending Press.
ON THE POVERTY OF STUDENT LIFE, Rebel Press.
PARIS: MAY '68, Dark Star/Rebel Press.
REVOLUTION OF EVERYDAY LIFE, Raoul Vaneigem, to be reprinted in 1988.
SOCIETY OF THE SPECTACLE, THE, Guy Debord.

See also the Spectacular Times pocketbooks.

Anarchist Issues

Animal Liberation:
AGAINST ALL ODDS, Arc Print.
KILL OR CURE?, Arc Print.
UP AGAINST THE LAW, Arc Print.

Ecology:
POST-SCARCITY ANARCHISM, Murray Bookchin
EARTH FIRST READER, THE, ed. Dave Foreman

Education:
LIB ED, quarterly magazine.
SUMMERHILL, AS Neill, Pelican.

Housing:
HOUSING: AN ANARCHIST APPROACH, Colin Ward, Freedom Press.
IDEAL HOME, Hooligan Press.
SQUATTING IN WEST BERLIN, Hooligan Press.

Abuses of the Media:
MANUFACTURING CONSENT, Noam Chomsky

Riots/insurrection:
FROM RIOTS TO INSURRECTION, Alfredo M Bonnano, Elephant Editions.
LIKE A SUMMER WITH A THOUSAND JULYS, BM Blob.

Anarchist History

Britain:
THE SLOW BURNING FUSE : The Lost History Of The British Anarchists, John
Quail, Paladin Books (Granada.) Highly recommended and text now
available online here .

Russian Revolution:
GUILLOTINE AT WORK, Maximoff, Cienfuegos Press.
INTRO TO MY DISILLUSIONMENT IN RUSSIA, Emma Goldman, Phoenix Press.
RUSSIAN TRAGEDY, THE, Alexander Berkman, Phoenix Press.

Spanish Revolution:
BARCELONA MAY DAYS 1937, various authors, Freedom Press.
COLLECTIVES IN THE SPANISH REVOLUTION, Gaston Leval, Freedom Press.
LESSONS OF THE SPANISH REVOLUTION, Vernon Richards, Freedom Press.

Revolutionaries/Rebels:
ANGRY BRIGADE 1967-84, THE, Elephant Editions.
BONNOT GANG, THE, Richard Parry, Rebel Press.
BLACK FLAG, THE, Jackson, RKP,(about Sacco and Vanzetti.)
HAYMARKET SPEECHES, THE, Voltairine de Cleyre, Cienfuegos Press.(as above)
MALATESTA: HIS LIFE AND IDEAS, Vernon Richards, Freedom Press.
RED VIRGIN, THE, University of Alabama Press (memoirs of Louise Michel)
SABATE: GUERILLA EXTRAORDINARY, Tellez, Elephant Editions.

Anarchist Fiction
FREE, THE, M Gilliland, Hooligan Press.
FROM BENEATH THE KEYBOARD, Hooligan Press (short stories/poetry.)

See also writings of the mysterious B Traven (author of THE TREASURE OF THE SIERRA MADRE.)

Anarchist Fiction : Sci-Fi
DISPOSSESSED, THE, Ursula K leGuin, Granada.
ILLUMINATUS TRILOGY, THE, Robert Shea and Robert Anton Wilson, Sphere.

See also other libertarian influenced SF writers, e.g. Michael Moorcock, Doris Lessing, Marge Piercy and Kate Wilhelm.

Why Self-Organized Networks Will Destroy Hierarchies

Source

by DFW ALL Oct. 13, 2011

“Hierarchies are systematically stupid and inefficient, for the following reasons.

1. Hayekian information problems: The people in authority who make the
   rules interfere with the people who know how to do the job and are in
   direct contact with the situation. The people who make the rules know
   nothing about the work they’re interfering with. The people who make
   the rules are unaccountable to the people who do know how to do the
   work. Consequently, all authority-based rules create suboptimal
   results and irrationality when they interfere with the judgment of
   those in direct contact with the situation.

   People in authority make stupid decisions because the people who know
   more than they do are their subordinates, and the only people who can
   hold them accountable know even less than they do.

   The only way the people doing the work can get anything done is to
   treat irrational authority as an obstacle to be routed around, the
   same way the Internet treats censorship as damage and routes around
   it.

2. Groupthink: Hierarchies systematically suppress negative feedback on
   the results of their policies. As R.A. Wilson said, nobody tells the
   truth to a man with a gun. Hierarchies are very good at telling naked
   emperors how good their clothes look.

   Hierarchies also systematically suppress critical thinking ability in
   their members. Psychological studies have found that people in
   positions of authority become less likely to evaluate communications
   based on their internal logic, and instead evaluate them based on the
   authority of the source.

3. Opacity from above: A major theme of “Seeing Like a State,” by James
   Scott, is that states try to make populations “legible” from above,
   and hence more amenable to control. We might add a “seeing like
   a boss” corrollary about the analogous phenomenon inside hierarchies.
   The problem is that such legibility is very costly, if not
   impossible, to achieve.

   Hospitals are a good example. Most of the paperwork that nurses are
   required to fill out results from the fact that management doesn’t
   trust them to do what it wants them to do without some independent
   means of verification. But the paperwork is worthless, unless
   management operates on the assumption that those same nurses can be
   trusted to fill out the paperwork honestly. It all boils down to the
   fact that management knows their interests are diametrically opposed
   to those of the nurses, but there’s no way to actually get inside the
   nurses’ heads and look out through their eyes and thereby overcome
   this fundamental agency problem. So bosses constantly look for new,
   ineffectual gimmicks to get around the problem, resulting in endless
   layers of new paperwork that are as useless as the old paperwork.
   
   Conclusion: To the extent that hierarchical organizations leave
   subordinates with freedom of exit, they are not coercive in the same
   way that the state is. But given that hierarchies are artificially
   prevalent because of state policies, and those who work within them
   do so as a necessary evil resulting from artificial constraints on
   the range of competing opportunities, the hierarchy resembles
   a microcosm of statist society, in which the agency and knowledge
   problems of authority internally mirror the irrationalities created
   by state authority in society at large.
   
   So long as the predominant production methods required large
   aggregations of capital beyond the means of individuals and small
   groups, and corporate hierarchies were propped up by state ones, the
   cultural pathologies of hierarchy were surmountable. But
   technological change is rapidly eroding the requirement for capital
   outlays, nullifying the advantages of capital ownership, and
   increasing the vulnerability of hierarchy to external and internal
   attacks by self-organized networks.
   
   So hierarchies, increasingly, lack the resources to compensate for
   their handicaps — even with help from the state. The state will only
   bankrupt itself, along with corporate hierarchies, in trying to prop
   up the old order.”

Sustainable Economics

Harald Welzer's career as a critic of growth began with a few simple reflections. Just how progressive is it, he asked himself, when millions of hectares of land are used elsewhere in the world so that we keep down the cost of meat? How modern is it when producing a kilogram of salmon in a supposedly sustainable way requires feeding the fish five to six kilograms (11 to 13 pounds) of other types of fish?

If everyone used up as much space and resources as we do, says the 54-year-old Berlin-based social psychologist, we would need three earths. In Welzer's eyes, this can hardly be called progress.

All of this made Welzer so angry that he wrote a book critical of equating this sort of progress with growth. The ruling class of economists, who he characterizes as "disdainers of reality" and "proponents of a world essentially limited by consumption," is responsible for compulsively tying these two concepts together, he argues. His treatise, "Selbst denken" ("Thinking for Ourselves"), is a manual for phasing out the "totalitarian consumerism" that gives people desires that, until recently, they didn't even suspect they would ever have.

Until a few months ago, Welzer specialized in studying the psyche of Nazi criminals. He has also written about climate wars. His current bestseller, "Selbst denken," has now made him the figurehead of a movement that radically questions the growth model of the Western economy.

Welzer was also recently named a professor in transformation design at the University of Flensburg, in northern Germany. When a local journalist asked him what transformation design is, he replied: "We don't exactly know yet ourselves." But the goal of the discipline, he added, is to counter the "systematic scam" created by an industry that produces things that break unnecessarily or are hardly capable of being repaired. Welzer wants to "design corridors" in which companies would be given time to transform faceless, no-name products into durable products with an origin and a history.

Economists have largely disregarded the environmental consequences of growth. For them, the key benchmark of prosperity is gross domestic product (GDP), the sum of all products and services produced in a given country. However, GDP does not factor in the overexploitation of resources, the destruction of biological diversity, air pollution, noise, the expansion of impervious surfaces known as soil sealing, and the poisoning of groundwater.

But for many people, a wealth model built on chronic growth is no longer a desirable goal. They are deciding to opt out of this model by establishing "repair cafés" or "transition towns," communities that try to run things differently at the local level. But doubts about the growth dogma are even beginning to creep into politics. For instance, German Finance Minister Wolfgang Schäuble, a member of Chancellor Angela Merkel's center-right Christian Democratic Union (CDU), recently argued that Western countries should "espouse limiting economic growth" at home.

But can there be prosperity without growth and growth without environmental damage? How can jobs be preserved in a stagnating or even a shrinking economy? How can a government service its debts in such an economy, especially as the population shrinks?

The 'Culture of Enough'

The German parliamentary commission on growth, prosperity and quality of life spent two years trying to find answers to these questions. Two weeks ago, the commission presented its 1,000-page final report. In the end, it was as far removed from a consensus as it was at the beginning.

Faith in never-ending growth has long had its critics. But many found warnings like those coming from the Club of Rome, especially in its study on the "Limits of Growth," to be too alarmist. Nevertheless, the financial crisis has brought renewed misgivings about the system. One of the first to point the way to an alternative was British economist Tim Jackson. In his 2009 book "Prosperity Without Growth," he outlined a "coherent ecological macroeconomics" based on a "fixed" economy with strict upper limits on emissions and resources.

Many in the British political world have viewed Jackson, an expert with the UK's Sustainable Development Commission, as a bit of an oddball. Hostile government tax officials wondered whether Jackson was proposing that we all go back to living in caves. A professor at the University of Surrey, near London, Jackson had had the audacity to paint capitalism as a faulty system, as a gluttony machine that constantly needs new supplies of people prepared to resolutely continue consuming goods and services.

And when consumers lose their taste for new things, Jackson argues, our system has plenty of shrewd advertisers, marketers and investors to persuade us "to spend money we don't have on things that we don't need to create impressions that won't last on people we don't care about." Jackson's book, already translated into 15 languages, became a bestseller in the new "culture of enough."

"It's time to change the channel", says Welzer, the German growth critic. He is giving a talk in a large lecture hall at the University of Flensburg, and the room is so full that even most of the steps along the side are occupied.

"We apply the old recipes, which is typical for societies that come under stress", he says. They recognize that resources are dwindling, and yet they intensify their exploitation and accelerate their own demise. He sees no better example of this than the way we treat our resources. Peak oil? Let's drill deeper! Natural gas bottlenecks? Let's use chemicals to pump it out of the earth! Cash-strapped financial markets? Let's flood them!

According to Niko Paech, a 52-year-old economics professor in the northern German city of Oldenburg, we continue to apply these remedies until GDP is back on track, even in the midst of a crisis. But, he adds, treating GDP as a measure of the prosperity of modern societies is downplaying the problem and is "a measure of environmental destruction."

Paech advocates a shrinking economy and preaches a new frugality. He has been wearing his striped brown sport coat for 25 years, and no matter where he is invited, he always takes his bike or the train. In fact, he has only flown once in his life.

Paech attacks what he calls our "autistic faith in progress." He is not interested in criticizing a few greedy executives for destroying a supposedly good system. For Paech, the system itself is broken, and instead of repairing it, he wants to rebuild it from the ground up. He no longer believes in reconciliation between the environment and the economy, and in the notion that a level of prosperity achieved through credit can simply be continued through green growth. And unlike many members of the environmentalist Green Party, Paech adds, he is "extremely conservative."

His message is simple: that we should be giving up and sharing some of our wealth. The labor market he envisions is full of thriving repair and maintenance shops. He wants to see our society become more civilized with less: less material, less energy, less waste and less pollution. He also believes that resources should be managed more effectively. We should produce the kind of clothing, he argues, that can be handed down from one generation to the next instead of throwing things away after wearing them just a few times.

The post-growth theorist explained to a perplexed journalist for the website of Bild, Germany's top-selling tabloid newspaper, that Germans are not role models when it comes to environmental protection because they have merely outsourced their dirty production. For Paech, wealth that can no longer be stabilized without growth is merely "the result of comprehensive environmental depredation."

The most important argument against growth skeptics like Paech is technology. Influential US economist Julian Simon, for example, predicted that technological advancements could bring us 7 billion more years of growth. The hope is that better and more environmentally friendly products will essentially eliminate the limits on growth. For example, the PR strategists of the Initiative for a New Social Market Economy (INSM), a German umbrella lobbying group supported by free-market-inclined politicians of all stripes, use the slogan "Less CO2 needs more growth."

But disconnecting growth from more consumption and environmental degradation is still just a dream. According to a study by the parliamentary commission on growth, prosperity and quality of life, which summarizes the current state of research in the field, growth with declining absolute resource consumption currently exists "as good as nowhere" in the world.

There are now alternative methods to measure growth, such as the National Prosperity Index developed by Hans Diefenbacher, an economist in the western German city of Heidelberg. He simply treats the negative impacts of economic activity as a reduction in our welfare. So far, his work has been largely ignored. But now even the divided parliamentary growth commission referred to his model in its final report, in which it recommended a new way of measuring growth, using an indicator called "W3." This method would not only provide information on wealth, but also on social matters, economic participation and the environment.

Leading 'A Subversive Double Existence'

But can an economy without growth truly exist? The question gives rise to great skepticism, as it does on an evening in the back room of a bar in the northern German city-state of Bremen. Niko Paech is talking to members of the Catholic Guild of St. Ansgar, a group of highly educated retirees who are relentless in their questioning.

How can you pay for our social systems when people are working 20-hour weeks, they ask? But we already can't pay for those structures today, Paech replies. In his system for the future, he explains, people would lead a sort of "subversive double existence." They would share and recycle, thereby outsmarting an industry geared toward nonstop renewal. People would only work 20 hours a week, but they would also have 20 hours of "market-free" time to provide for themselves.

But such slimmed-down jobs would hardly be enough for many people, says an older man. He hears that a lot, says Paech, especially when he speaks at union functions, where he is routinely grilled by his audience. Besides, says the economist, all the hype about jobs in our supposed knowledge society is in fact questionable. "What exactly are we doing?" he asks. "As we anxiously invoke competitiveness, we train younger and younger delegators with touchscreens to manage the dirty work, forcing Indians to whom the work is being outsourced halfway around the world to work extra hours so that we'll continue to be flooded with consumer goods." By now, some of his listeners are nodding in agreement.

Paech recently spoke at an event sponsored by Volkswagen, the German automotive giant. "I was in the lion's den, being showered with malice," he says. At a certain point, he asked what the workers did during the economic crisis, when so many saw their hours reduced under the Kurzarbeit program, the "short-time work"program that the German government used during the crisis to avoid layoffs by encouraging companies to reduce workers' hours while making up for some of the workers' lost salaries and benefits itself. "We worked in the garden, did things in the neighborhood and fixed things," they told Paech.

A Guide to Forum Spies

  1. COINTELPRO Techniques for dilution, misdirection and control of a internet forum
  2. Twenty-Five Rules of Disinformation
  3. Eight Traits of the Disinformationalist
  4. How to Spot a Spy (Cointelpro Agent)
  5. Seventeen Techniques for Truth Suppression

COINTELPRO Techniques for dilution, misdirection and control of a internet forum..

There are several techniques for the control and manipulation of a internet forum no matter what, or who is on it. We will go over each technique and demonstrate that only a minimal number of operatives can be used to eventually and effectively gain a control of a 'uncontrolled forum.'

Technique #1 - 'FORUM SLIDING'

If a very sensitive posting of a critical nature has been posted on a forum - it can be quickly removed from public view by 'forum sliding.' In this technique a number of unrelated posts are quietly prepositioned on the forum and allowed to 'age.' Each of these misdirectional forum postings can then be called upon at will to trigger a 'forum slide.' The second requirement is that several fake accounts exist, which can be called upon, to ensure that this technique is not exposed to the public. To trigger a 'forum slide' and 'flush' the critical post out of public view it is simply a matter of logging into each account both real and fake and then 'replying' to prepositined postings with a simple 1 or 2 line comment. This brings the unrelated postings to the top of the forum list, and the critical posting 'slides' down the front page, and quickly out of public view. Although it is difficult or impossible to censor the posting it is now lost in a sea of unrelated and unuseful postings. By this means it becomes effective to keep the readers of the forum reading unrelated and non-issue items.

Technique #2 - 'CONSENSUS CRACKING'

A second highly effective technique (which you can see in operation all the time at www.abovetopsecret.com) is 'consensus cracking.' To develop a consensus crack, the following technique is used. Under the guise of a fake account a posting is made which looks legitimate and is towards the truth is made - but the critical point is that it has a VERY WEAK PREMISE without substantive proof to back the posting. Once this is done then under alternative fake accounts a very strong position in your favour is slowly introduced over the life of the posting. It is IMPERATIVE that both sides are initially presented, so the uninformed reader cannot determine which side is the truth. As postings and replies are made the stronger 'evidence' or disinformation in your favour is slowly 'seeded in.' Thus the uninformed reader will most like develop the same position as you, and if their position is against you their opposition to your posting will be most likely dropped. However in some cases where the forum members are highly educated and can counter your disinformation with real facts and linked postings, you can then 'abort' the consensus cracking by initiating a 'forum slide.'

Technique #3 - 'TOPIC DILUTION'

Topic dilution is not only effective in forum sliding it is also very useful in keeping the forum readers on unrelated and non-productive issues. This is a critical and useful technique to cause a 'RESOURCE BURN.' By implementing continual and non-related postings that distract and disrupt (trolling ) the forum readers they are more effectively stopped from anything of any real productivity. If the intensity of gradual dilution is intense enough, the readers will effectively stop researching and simply slip into a 'gossip mode.' In this state they can be more easily misdirected away from facts towards uninformed conjecture and opinion. The less informed they are the more effective and easy it becomes to control the entire group in the direction that you would desire the group to go in. It must be stressed that a proper assessment of the psychological capabilities and levels of education is first determined of the group to determine at what level to 'drive in the wedge.' By being too far off topic too quickly it may trigger censorship by a forum moderator.

Technique #4 - 'INFORMATION COLLECTION'

Information collection is also a very effective method to determine the psychological level of the forum members, and to gather intelligence that can be used against them. In this technique in a light and positive environment a 'show you mine so me yours' posting is initiated. From the number of replies and the answers that are provided much statistical information can be gathered. An example is to post your 'favourite weapon' and then encourage other members of the forum to showcase what they have. In this matter it can be determined by reverse proration what percentage of the forum community owns a firearm, and or a illegal weapon. This same method can be used by posing as one of the form members and posting your favourite 'technique of operation.' From the replies various methods that the group utilizes can be studied and effective methods developed to stop them from their activities.

Technique #5 - 'ANGER TROLLING'

Statistically, there is always a percentage of the forum posters who are more inclined to violence. In order to determine who these individuals are, it is a requirement to present a image to the forum to deliberately incite a strong psychological reaction. From this the most violent in the group can be effectively singled out for reverse IP location and possibly local enforcement tracking. To accomplish this only requires posting a link to a video depicting a local police officer massively abusing his power against a very innocent individual. Statistically of the million or so police officers in America there is always one or two being caught abusing there powers and the taping of the activity can be then used for intelligence gathering purposes - without the requirement to 'stage' a fake abuse video. This method is extremely effective, and the more so the more abusive the video can be made to look. Sometimes it is useful to 'lead' the forum by replying to your own posting with your own statement of violent intent, and that you 'do not care what the authorities think!!' inflammation. By doing this and showing no fear it may be more effective in getting the more silent and self-disciplined violent intent members of the forum to slip and post their real intentions. This can be used later in a court of law during prosecution.

Technique #6 - 'GAINING FULL CONTROL'

It is important to also be harvesting and continually maneuvering for a forum moderator position. Once this position is obtained, the forum can then be effectively and quietly controlled by deleting unfavourable postings - and one can eventually steer the forum into complete failure and lack of interest by the general public. This is the 'ultimate victory' as the forum is no longer participated with by the general public and no longer useful in maintaining their freedoms. Depending on the level of control you can obtain, you can deliberately steer a forum into defeat by censoring postings, deleting memberships, flooding, and or accidentally taking the forum offline. By this method the forum can be quickly killed. However it is not always in the interest to kill a forum as it can be converted into a 'honey pot' gathering center to collect and misdirect newcomers and from this point be completely used for your control for your agenda purposes.

CONCLUSION

Remember these techniques are only effective if the forum participants DO NOT KNOW ABOUT THEM. Once they are aware of these techniques the operation can completely fail, and the forum can become uncontrolled. At this point other avenues must be considered such as initiating a false legal precidence to simply have the forum shut down and taken offline. This is not desirable as it then leaves the enforcement agencies unable to track the percentage of those in the population who always resist attempts for control against them. Many other techniques can be utilized and developed by the individual and as you develop further techniques of infiltration and control it is imperative to share then with HQ.


Twenty-Five Rules of Disinformation

Note: The first rule and last five (or six, depending on situation) rules are generally not directly within the ability of the traditional disinfo artist to apply. These rules are generally used more directly by those at the leadership, key players, or planning level of the criminal conspiracy or conspiracy to cover up.

  1. Hear no evil, see no evil, speak no evil. Regardless of what you know, don't discuss it -- especially if you are a public figure, news anchor, etc. If it's not reported, it didn't happen, and you never have to deal with the issues.

  2. Become incredulous and indignant. Avoid discussing key issues and instead focus on side issues which can be used show the topic as being critical of some otherwise sacrosanct group or theme. This is also known as the 'How dare you!' gambit.

  3. Create rumor mongers. Avoid discussing issues by describing all charges, regardless of venue or evidence, as mere rumors and wild accusations. Other derogatory terms mutually exclusive of truth may work as well. This method which works especially well with a silent press, because the only way the public can learn of the facts are through such 'arguable rumors'. If you can associate the material with the Internet, use this fact to certify it a 'wild rumor' from a 'bunch of kids on the Internet' which can have no basis in fact.

  4. Use a straw man. Find or create a seeming element of your opponent's argument which you can easily knock down to make yourself look good and the opponent to look bad. Either make up an issue you may safely imply exists based on your interpretation of the opponent/opponent arguments/situation, or select the weakest aspect of the weakest charges. Amplify their significance and destroy them in a way which appears to debunk all the charges, real and fabricated alike, while actually avoiding discussion of the real issues.

  5. Sidetrack opponents with name calling and ridicule. This is also known as the primary 'attack the messenger' ploy, though other methods qualify as variants of that approach. Associate opponents with unpopular titles such as 'kooks', 'right-wing', 'liberal', 'left-wing', 'terrorists', 'conspiracy buffs', 'radicals', 'militia', 'racists', 'religious fanatics', 'sexual deviates', and so forth. This makes others shrink from support out of fear of gaining the same label, and you avoid dealing with issues.

  6. Hit and Run. In any public forum, make a brief attack of your opponent or the opponent position and then scamper off before an answer can be fielded, or simply ignore any answer. This works extremely well in Internet and letters-to-the-editor environments where a steady stream of new identities can be called upon without having to explain criticism, reasoning -- simply make an accusation or other attack, never discussing issues, and never answering any subsequent response, for that would dignify the opponent's viewpoint.

  7. Question motives. Twist or amplify any fact which could be taken to imply that the opponent operates out of a hidden personal agenda or other bias. This avoids discussing issues and forces the accuser on the defensive.

  8. Invoke authority. Claim for yourself or associate yourself with authority and present your argument with enough 'jargon' and 'minutia' to illustrate you are 'one who knows', and simply say it isn't so without discussing issues or demonstrating concretely why or citing sources.

  9. Play Dumb. No matter what evidence or logical argument is offered, avoid discussing issues except with denials they have any credibility, make any sense, provide any proof, contain or make a point, have logic, or support a conclusion. Mix well for maximum effect.

  10. Associate opponent charges with old news. A derivative of the straw man -- usually, in any large-scale matter of high visibility, someone will make charges early on which can be or were already easily dealt with - a kind of investment for the future should the matter not be so easily contained.) Where it can be foreseen, have your own side raise a straw man issue and have it dealt with early on as part of the initial contingency plans. Subsequent charges, regardless of validity or new ground uncovered, can usually then be associated with the original charge and dismissed as simply being a rehash without need to address current issues -- so much the better where the opponent is or was involved with the original source.

  11. Establish and rely upon fall-back positions. Using a minor matter or element of the facts, take the 'high road' and 'confess' with candor that some innocent mistake, in hindsight, was made -- but that opponents have seized on the opportunity to blow it all out of proportion and imply greater criminalities which, 'just isn't so.' Others can reinforce this on your behalf, later, and even publicly 'call for an end to the nonsense' because you have already 'done the right thing.' Done properly, this can garner sympathy and respect for 'coming clean' and 'owning up' to your mistakes without addressing more serious issues.

  12. Enigmas have no solution. Drawing upon the overall umbrella of events surrounding the crime and the multitude of players and events, paint the entire affair as too complex to solve. This causes those otherwise following the matter to begin to lose interest more quickly without having to address the actual issues.

  13. Alice in Wonderland Logic. Avoid discussion of the issues by reasoning backwards or with an apparent deductive logic which forbears any actual material fact.

  14. Demand complete solutions. Avoid the issues by requiring opponents to solve the crime at hand completely, a ploy which works best with issues qualifying for rule 10.

  15. Fit the facts to alternate conclusions. This requires creative thinking unless the crime was planned with contingency conclusions in place.

  16. Vanish evidence and witnesses. If it does not exist, it is not fact, and you won't have to address the issue.

  17. Change the subject. Usually in connection with one of the other ploys listed here, find a way to side-track the discussion with abrasive or controversial comments in hopes of turning attention to a new, more manageable topic. This works especially well with companions who can 'argue' with you over the new topic and polarize the discussion arena in order to avoid discussing more key issues.

  18. Emotionalize, Antagonize, and Goad Opponents. If you can't do anything else, chide and taunt your opponents and draw them into emotional responses which will tend to make them look foolish and overly motivated, and generally render their material somewhat less coherent. Not only will you avoid discussing the issues in the first instance, but even if their emotional response addresses the issue, you can further avoid the issues by then focusing on how 'sensitive they are to criticism.'

  19. Ignore proof presented, demand impossible proofs. This is perhaps a variant of the 'play dumb' rule. Regardless of what material may be presented by an opponent in public forums, claim the material irrelevant and demand proof that is impossible for the opponent to come by (it may exist, but not be at his disposal, or it may be something which is known to be safely destroyed or withheld, such as a murder weapon.) In order to completely avoid discussing issues, it may be required that you to categorically deny and be critical of media or books as valid sources, deny that witnesses are acceptable, or even deny that statements made by government or other authorities have any meaning or relevance.

  20. False evidence. Whenever possible, introduce new facts or clues designed and manufactured to conflict with opponent presentations -- as useful tools to neutralize sensitive issues or impede resolution. This works best when the crime was designed with contingencies for the purpose, and the facts cannot be easily separated from the fabrications.

  21. Call a Grand Jury, Special Prosecutor, or other empowered investigative body. Subvert the (process) to your benefit and effectively neutralize all sensitive issues without open discussion. Once convened, the evidence and testimony are required to be secret when properly handled. For instance, if you own the prosecuting attorney, it can insure a Grand Jury hears no useful evidence and that the evidence is sealed and unavailable to subsequent investigators. Once a favorable verdict is achieved, the matter can be considered officially closed. Usually, this technique is applied to find the guilty innocent, but it can also be used to obtain charges when seeking to frame a victim.

  22. Manufacture a new truth. Create your own expert(s), group(s), author(s), leader(s) or influence existing ones willing to forge new ground via scientific, investigative, or social research or testimony which concludes favorably. In this way, if you must actually address issues, you can do so authoritatively.

  23. Create bigger distractions. If the above does not seem to be working to distract from sensitive issues, or to prevent unwanted media coverage of unstoppable events such as trials, create bigger news stories (or treat them as such) to distract the multitudes.

  24. Silence critics. If the above methods do not prevail, consider removing opponents from circulation by some definitive solution so that the need to address issues is removed entirely. This can be by their death, arrest and detention, blackmail or destruction of their character by release of blackmail information, or merely by destroying them financially, emotionally, or severely damaging their health.

  25. Vanish. If you are a key holder of secrets or otherwise overly illuminated and you think the heat is getting too hot, to avoid the issues, vacate the kitchen.


Eight Traits of the Disinformationalist

  1. Avoidance. They never actually discuss issues head-on or provide constructive input, generally avoiding citation of references or credentials. Rather, they merely imply this, that, and the other. Virtually everything about their presentation implies their authority and expert knowledge in the matter without any further justification for credibility.

  2. Selectivity. They tend to pick and choose opponents carefully, either applying the hit-and-run approach against mere commentators supportive of opponents, or focusing heavier attacks on key opponents who are known to directly address issues. Should a commentator become argumentative with any success, the focus will shift to include the commentator as well.

  3. Coincidental. They tend to surface suddenly and somewhat coincidentally with a new controversial topic with no clear prior record of participation in general discussions in the particular public arena involved. They likewise tend to vanish once the topic is no longer of general concern. They were likely directed or elected to be there for a reason, and vanish with the reason.

  4. Teamwork. They tend to operate in self-congratulatory and complementary packs or teams. Of course, this can happen naturally in any public forum, but there will likely be an ongoing pattern of frequent exchanges of this sort where professionals are involved. Sometimes one of the players will infiltrate the opponent camp to become a source for straw man or other tactics designed to dilute opponent presentation strength.

  5. Anti-conspiratorial. They almost always have disdain for 'conspiracy theorists' and, usually, for those who in any way believe JFK was not killed by LHO. Ask yourself why, if they hold such disdain for conspiracy theorists, do they focus on defending a single topic discussed in a NG focusing on conspiracies? One might think they would either be trying to make fools of everyone on every topic, or simply ignore the group they hold in such disdain.Or, one might more rightly conclude they have an ulterior motive for their actions in going out of their way to focus as they do.

  6. Artificial Emotions. An odd kind of 'artificial' emotionalism and an unusually thick skin -- an ability to persevere and persist even in the face of overwhelming criticism and unacceptance. This likely stems from intelligence community training that, no matter how condemning the evidence, deny everything, and never become emotionally involved or reactive. The net result for a disinfo artist is that emotions can seem artificial.

Most people, if responding in anger, for instance, will express their animosity throughout their rebuttal. But disinfo types usually have trouble maintaining the 'image' and are hot and cold with respect to pretended emotions and their usually more calm or unemotional communications style. It's just a job, and they often seem unable to 'act their role in character' as well in a communications medium as they might be able in a real face-to-face conversation/confrontation. You might have outright rage and indignation one moment, ho-hum the next, and more anger later -- an emotional yo-yo.

With respect to being thick-skinned, no amount of criticism will deter them from doing their job, and they will generally continue their old disinfo patterns without any adjustments to criticisms of how obvious it is that they play that game -- where a more rational individual who truly cares what others think might seek to improve their communications style, substance, and so forth, or simply give up.

  1. Inconsistent. There is also a tendency to make mistakes which betray their true self/motives. This may stem from not really knowing their topic, or it may be somewhat 'freudian', so to speak, in that perhaps they really root for the side of truth deep within.

I have noted that often, they will simply cite contradictory information which neutralizes itself and the author. For instance, one such player claimed to be a Navy pilot, but blamed his poor communicating skills (spelling, grammar, incoherent style) on having only a grade-school education. I'm not aware of too many Navy pilots who don't have a college degree. Another claimed no knowledge of a particular topic/situation but later claimed first-hand knowledge of it.

  1. Time Constant. Recently discovered, with respect to News Groups, is the response time factor. There are three ways this can be seen to work, especially when the government or other empowered player is involved in a cover up operation:

a) ANY NG posting by a targeted proponent for truth can result in an IMMEDIATE response. The government and other empowered players can afford to pay people to sit there and watch for an opportunity to do some damage. SINCE DISINFO IN A NG ONLY WORKS IF THE READER SEES IT - FAST RESPONSE IS CALLED FOR, or the visitor may be swayed towards truth.

b) When dealing in more direct ways with a disinformationalist, such as email, DELAY IS CALLED FOR - there will usually be a minimum of a 48-72 hour delay. This allows a sit-down team discussion on response strategy for best effect, and even enough time to 'get permission' or instruction from a formal chain of command.

c) In the NG example 1) above, it will often ALSO be seen that bigger guns are drawn and fired after the same 48-72 hours delay - the team approach in play. This is especially true when the targeted truth seeker or their comments are considered more important with respect to potential to reveal truth. Thus, a serious truth sayer will be attacked twice for the same sin.


How to Spot a Spy (Cointelpro Agent)

One way to neutralize a potential activist is to get them to be in a group that does all the wrong things. Why?

  1. The message doesn't get out.
  2. A lot of time is wasted
  3. The activist is frustrated and discouraged
  4. Nothing good is accomplished.

FBI and Police Informers and Infiltrators will infest any group and they have phoney activist organizations established.

Their purpose is to prevent any real movement for justice or eco-peace from developing in this country.

Agents come in small, medium or large. They can be of any ethnic background. They can be male or female.

The actual size of the group or movement being infiltrated is irrelevant. It is the potential the movement has for becoming large which brings on the spies and saboteurs.

This booklet lists tactics agents use to slow things down, foul things up, destroy the movement and keep tabs on activists.

It is the agent's job to keep the activist from quitting such a group, thus keeping him/her under control.

In some situations, to get control, the agent will tell the activist:

"You're dividing the movement."

[Here, I have added the psychological reasons as to WHY this maneuver works to control people]

This invites guilty feelings. Many people can be controlled by guilt. The agents begin relationships with activists behind a well-developed mask of "dedication to the cause." Because of their often declared dedication, (and actions designed to prove this), when they criticize the activist, he or she - being truly dedicated to the movement - becomes convinced that somehow, any issues are THEIR fault. This is because a truly dedicated person tends to believe that everyone has a conscience and that nobody would dissimulate and lie like that "on purpose." It's amazing how far agents can go in manipulating an activist because the activist will constantly make excuses for the agent who regularly declares their dedication to the cause. Even if they do, occasionally, suspect the agent, they will pull the wool over their own eyes by rationalizing: "they did that unconsciously... they didn't really mean it... I can help them by being forgiving and accepting " and so on and so forth.

The agent will tell the activist:

"You're a leader!"

This is designed to enhance the activist's self-esteem. His or her narcissistic admiration of his/her own activist/altruistic intentions increase as he or she identifies with and consciously admires the altruistic declarations of the agent which are deliberately set up to mirror those of the activist.

This is "malignant pseudoidentification." It is the process by which the agent consciously imitates or simulates a certain behavior to foster the activist's identification with him/her, thus increasing the activist's vulnerability to exploitation. The agent will simulate the more subtle self-concepts of the activist.

Activists and those who have altruistic self-concepts are most vulnerable to malignant pseudoidentification especially during work with the agent when the interaction includes matter relating to their competency, autonomy, or knowledge.

The goal of the agent is to increase the activist's general empathy for the agent through pseudo-identification with the activist's self-concepts.

The most common example of this is the agent who will compliment the activist for his competency or knowledge or value to the movement. On a more subtle level, the agent will simulate affects and mannerisms of the activist which promotes identification via mirroring and feelings of "twinship". It is not unheard of for activists, enamored by the perceived helpfulness and competence of a good agent, to find themselves considering ethical violations and perhaps, even illegal behavior, in the service of their agent/handler.

The activist's "felt quality of perfection" [self-concept] is enhanced, and a strong empathic bond is developed with the agent through his/her imitation and simulation of the victim's own narcissistic investments. [self-concepts] That is, if the activist knows, deep inside, their own dedication to the cause, they will project that onto the agent who is "mirroring" them.

The activist will be deluded into thinking that the agent shares this feeling of identification and bonding. In an activist/social movement setting, the adversarial roles that activists naturally play vis a vis the establishment/government, fosters ongoing processes of intrapsychic splitting so that "twinship alliances" between activist and agent may render whole sectors or reality testing unavailable to the activist. They literally "lose touch with reality."

Activists who deny their own narcissistic investments [do not have a good idea of their own self-concepts and that they ARE concepts] and consciously perceive themselves (accurately, as it were) to be "helpers" endowed with a special amount of altruism are exceedingly vulnerable to the affective (emotional) simulation of the accomplished agent.

Empathy is fostered in the activist through the expression of quite visible affects. The presentation of tearfulness, sadness, longing, fear, remorse, and guilt, may induce in the helper-oriented activist a strong sense of compassion, while unconsciously enhancing the activist's narcissistic investment in self as the embodiment of goodness.

The agent's expresssion of such simulated affects may be quite compelling to the observer and difficult to distinguish from deep emotion.

It can usually be identified by two events, however:

First, the activist who has analyzed his/her own narcissistic roots and is aware of his/her own potential for being "emotionally hooked," will be able to remain cool and unaffected by such emotional outpourings by the agent.

As a result of this unaffected, cool, attitude, the Second event will occur: The agent will recompensate much too quickly following such an affective expression leaving the activist with the impression that "the play has ended, the curtain has fallen," and the imposture, for the moment, has finished. The agent will then move quickly to another activist/victim.

The fact is, the movement doesn't need leaders, it needs MOVERS. "Follow the leader" is a waste of time.

A good agent will want to meet as often as possible. He or she will talk a lot and say little. One can expect an onslaught of long, unresolved discussions.

Some agents take on a pushy, arrogant, or defensive manner:

  1. To disrupt the agenda
  2. To side-track the discussion
  3. To interrupt repeatedly
  4. To feign ignorance
  5. To make an unfounded accusation against a person.

Calling someone a racist, for example. This tactic is used to discredit a person in the eyes of all other group members.

Saboteurs

Some saboteurs pretend to be activists. She or he will ....

  1. Write encyclopedic flyers (in the present day, websites)
  2. Print flyers in English only.
  3. Have demonstrations in places where no one cares.
  4. Solicit funding from rich people instead of grass roots support
  5. Display banners with too many words that are confusing.
  6. Confuse issues.
  7. Make the wrong demands. Cool Compromise the goal.
  8. Have endless discussions that waste everyone's time. The agent may accompany the endless discussions with drinking, pot smoking or other amusement to slow down the activist's work.

Provocateurs

  1. Want to establish "leaders" to set them up for a fall in order to stop the movement.
  2. Suggest doing foolish, illegal things to get the activists in trouble.
  3. Encourage militancy.
  4. Want to taunt the authorities.
  5. Attempt to make the activist compromise their values.
  6. Attempt to instigate violence. Activisim ought to always be non-violent.
  7. Attempt to provoke revolt among people who are ill-prepared to deal with the reaction of the authorities to such violence.

Informants

  1. Want everyone to sign up and sing in and sign everything.
  2. Ask a lot of questions (gathering data).
  3. Want to know what events the activist is planning to attend.
  4. Attempt to make the activist defend him or herself to identify his or her beliefs, goals, and level of committment.

Recruiting

Legitimate activists do not subject people to hours of persuasive dialog. Their actions, beliefs, and goals speak for themselves.

Groups that DO recruit are missionaries, military, and fake political parties or movements set up by agents.

Surveillance

ALWAYS assume that you are under surveillance.

At this point, if you are NOT under surveillance, you are not a very good activist!

Scare Tactics

They use them.

Such tactics include slander, defamation, threats, getting close to disaffected or minimally committed fellow activists to persuade them (via psychological tactics described above) to turn against the movement and give false testimony against their former compatriots. They will plant illegal substances on the activist and set up an arrest; they will plant false information and set up "exposure," they will send incriminating letters [emails] in the name of the activist; and more; they will do whatever society will allow.

This booklet in no way covers all the ways agents use to sabotage the lives of sincere an dedicated activists.

If an agent is "exposed," he or she will be transferred or replaced.

COINTELPRO is still in operation today under a different code name. It is no longer placed on paper where it can be discovered through the freedom of information act.

The FBI counterintelligence program's stated purpose: To expose, disrupt, misdirect, discredit, and otherwise neutralize individuals who the FBI categorize as opposed to the National Interests. "National Security" means the FBI's security from the people ever finding out the vicious things it does in violation of people's civil liberties.


Seventeen Techniques for Truth Suppression

Strong, credible allegations of high-level criminal activity can bring down a government. When the government lacks an effective, fact-based defense, other techniques must be employed. The success of these techniques depends heavily upon a cooperative, compliant press and a mere token opposition party.

  1. Dummy up. If it's not reported, if it's not news, it didn't happen.

  2. Wax indignant. This is also known as the "How dare you?" gambit.

  3. Characterize the charges as "rumors" or, better yet, "wild rumors." If, in spite of the news blackout, the public is still able to learn about the suspicious facts, it can only be through "rumors." (If they tend to believe the "rumors" it must be because they are simply "paranoid" or "hysterical.")

  4. Knock down straw men. Deal only with the weakest aspects of the weakest charges. Even better, create your own straw men. Make up wild rumors (or plant false stories) and give them lead play when you appear to debunk all the charges, real and fanciful alike.

  5. Call the skeptics names like "conspiracy theorist," "nutcase," "ranter," "kook," "crackpot," and, of course, "rumor monger." Be sure, too, to use heavily loaded verbs and adjectives when characterizing their charges and defending the "more reasonable" government and its defenders. You must then carefully avoid fair and open debate with any of the people you have thus maligned. For insurance, set up your own "skeptics" to shoot down.

  6. Impugn motives. Attempt to marginalize the critics by suggesting strongly that they are not really interested in the truth but are simply pursuing a partisan political agenda or are out to make money (compared to over-compensated adherents to the government line who, presumably, are not).

  7. Invoke authority. Here the controlled press and the sham opposition can be very useful.

  8. Dismiss the charges as "old news."

  9. Come half-clean. This is also known as "confession and avoidance" or "taking the limited hangout route." This way, you create the impression of candor and honesty while you admit only to relatively harmless, less-than-criminal "mistakes." This stratagem often requires the embrace of a fall-back position quite different from the one originally taken. With effective damage control, the fall-back position need only be peddled by stooge skeptics to carefully limited markets.

  10. Characterize the crimes as impossibly complex and the truth as ultimately unknowable.

  11. Reason backward, using the deductive method with a vengeance. With thoroughly rigorous deduction, troublesome evidence is irrelevant. E.g. We have a completely free press. If evidence exists that the Vince Foster "suicide" note was forged, they would have reported it. They haven't reported it so there is no such evidence. Another variation on this theme involves the likelihood of a conspiracy leaker and a press who would report the leak.

  12. Require the skeptics to solve the crime completely. E.g. If Foster was murdered, who did it and why?

  13. Change the subject. This technique includes creating and/or publicizing distractions.

  14. Lightly report incriminating facts, and then make nothing of them. This is sometimes referred to as "bump and run" reporting.

  15. Baldly and brazenly lie. A favorite way of doing this is to attribute the "facts" furnished the public to a plausible-sounding, but anonymous, source.

  16. Expanding further on numbers 4 and 5, have your own stooges "expose" scandals and champion popular causes. Their job is to pre-empt real opponents and to play 99-yard football. A variation is to pay rich people for the job who will pretend to spend their own money.

  17. Flood the Internet with agents. This is the answer to the question, "What could possibly motivate a person to spend hour upon hour on Internet news groups defending the government and/or the press and harassing genuine critics?" Don t the authorities have defenders enough in all the newspapers, magazines, radio, and television? One would think refusing to print critical letters and screening out serious callers or dumping them from radio talk shows would be control enough, but, obviously, it is not.

Independencia y Capitalismo

1.- El capital contra los pueblos

Siempre es necesario basar nuestras tesis y propuestas en la historia, siempre es bueno tener los pies en la realidad de la historia, y aunque la historia la escriben los vencedores también las clases y los pueblos oprimidos podemos reconstruir la historia falsificada por el imperialismo. Ahora mismo se está librando una áspera batalla intelectual, política y cultural, entre varias historias opuestas: la catalana, la vasca, la gallega, la andaluza…contra la oficialmente española, y también una batalla interna entre las diferentes versiones clasistas y populares en las historias vasca, andaluza, gallega, catalana…, sin olvidarnos de la pugna entre escoceses e ingleses, entre Ucrania y Crimea, entre Rusia y el euroimperialismo con respecto a estos y otros pueblos.

El debate sobre si los pueblos pequeños o relativamente pequeños podemos construir un Estado independiente que actúe como tal y que no sea un simple «protectorado», está agudizándose por momentos debido a la aceleración de la tendencia centralizadora y centrípeta del poder del capital financiero europeo. Recordemos que desde el comienzo del imperialismo, el capital financiero es la fusión del capital industrial con el bancario lo que le otorga un poder sobrecogedor, espantoso, a esta fracción de clase burguesa. A la vez, y por ello mismo, las tendencias a la concentración y centralización de capitales presionan con mucha más fuerza al capital financiero que a las otras formas de capital, lo que hace que este necesite y desee fervientemente dirigir el proceso mundializador imperialista, lo que le lleva a multiplicar el saqueo material e intelectual de los pueblos. Las reivindicaciones nacionales se multiplican precisamente en respuesta a la ciega necesidad expansionista del capital financiero. Una forma de resistencia es la estrategia de avanzar en alianzas diversas a nivel continental e intercontinental, con diferentes grados de unidad antiimperialista o de simple defensa coordinada de los derechos sociales y nacionales de los pueblos, pero no es este el momento para desarrollar esta cuestión.

Para Euskal Herria y los Països Catalans, y para todas las naciones oprimidas, sería muy bueno que en Europa existiera una alternativa antiimperialista parecida a la que se está forjando en América Latina, con todas sus contradicciones y limitaciones. Pero no existe nada de eso, al contrario, la UE avanza como una apisonadora que va cogiendo velocidad y peso con el TTIP que se está negociando en secreto con EEUU. Semejante apisonadora de soberanías estatales aplastó la «independencia económica» española mediante la «reforma exprés» de su constitución para adaptarla a las exigencias de la Troika en algo tan decisivo como el déficit, pensada y realizada «en mes y medio y sin referéndum», según el diario El País del 23 de agosto de 2012. La trituradora europea pulverizó en abril de 2014 la soberanía francesa sin necesidad de reformar ninguna ley de leyes para imponer un recorte de 50.000 millones-€ en los gastos públicos a realizar en tres años, obedeciendo el mandato de Bruselas sobre el déficit. Lo significativo del caso francés es que, como veremos, la cesión de soberanía se ha realizado tras años de crecientes tensiones con Alemania y con la Troika que han reducido prácticamente a nada el hasta no hace mucho tiempo poderoso eje Berlín-París.

Para el tema que ahora debatimos --¿puede existir una independencia no socialista?-- la cesión, de las burguesías española y francesa, de una parte esencial de su «independencia nacional» plantea dos interrogantes: una, ¿acaso la experiencia franco-española no demuestra la imposibilidad absoluta de todo independentismo trasnochado y romántico?; o lo opuesto, ¿acaso no demuestra que sólo un Estado obrero y popular estratégica y tácticamente orientado al socialismo puede garantizar la verdadera independencia de la nación trabajadora, por utilizar un término de Marx? Avanzar al socialismo quiere decir acabar con la propiedad privada, burguesa, de las fuerzas productivas, con la dictadura del capital financiero y del papel de la deuda en el capitalismo contemporáneo, con el sistema salarial, trascender históricamente la ley del valor, o sea, la revolución socialista.

No estamos diciendo nada nuevo. Marx y Engels nos dejaron un modelo teórico, económico, político, social, etc., básico en sus análisis sobre Irlanda y Polonia que ha sido confirmado por la historia. Para que ambas naciones pudieran conquistar y sostener su independencia, Marx y Engels veían imprescindible que realizasen la revolución agraria y la revolución social. Se objetará que el capitalismo ha cambiado cualitativamente desde la segunda mitad del siglo XIX y que ahora no tiene sentido «ser tan radicales» como ellos porque la «sociedad civil moderna» ha desarrollado formas «democráticas» de «participación ciudadana» que garantizan la conquista pacífica de los derechos sociales. No sólo los hechos presentes sino la entera evolución histórica de la UE niegan estas tesis porque esa dinámica se rige por cuatro principios que son a la vez objetivos, estrategias y tácticas del capital: austeridad, flexibilidad, privatización y represión.

La sinergia de estos cuatro puntos se expresa en el artículo que el pasado 26 de mayo de 2014 ofrecía el diario Cinco Días y que resumía así los siete retos de la UE: 1) austeridad o crecimiento; 2) desempleo; 3) eurobonos para pagar la deuda con una clara «cesión de soberanía» de los países endeudados; 4) ingresos y fraude fiscal; 5) Sector financiero y BCE; 6) energía; y 7) infraestructuras. Aunque el artículo no entraba directamente a la cuestión del poder omnívoro de la Troika, sí lanzaba un mensaje claro coincidente en la práctica con el cuádruple objetivo, estrategia y táctica expuesto en el párrafo anterior. Además, la ola privatizadora de los servicios públicos en beneficio de las empresas internacionales tal cual se sanciona legalmente y se impone a los Estados mediante el Tratado de Libre Comercio, o TTIP, que se está negociando en secreto y a espaldas de los pueblos, es plenamente coherente con lo arriba expuesto. El TTIP creará el mayor mercado de libre comercio del planeta. La OTAN es imprescindible para defender esta extensa área lo que conduce a la disciplinarización político-militar de la UE mediante su nueva doctrina diseñada bajo la dirección de EEUU, con las tensiones que ello puede acarrear con la estrategia político-militar del eje Berlín-París, y de aquí el por qué de la reunión del Consejo Europeo de Defensa en febrero de 2014 para estrechar la unidad política y la disciplina europea alrededor de EEUU y la OTAN. Militarización unida a la tendencia a la derechización electoral confirmada en las últimas elecciones europeas.

Teniendo en cuenta el funcionamiento de esta apisonadora, en febrero de 2014 C. Lapavitsas sostuvo que: «Los gobiernos que quieran hacer políticas progresistas no podrán permanecer en el euro». Si las políticas progresistas sólo pueden realizarse fuera de la zona euro, ¿qué no sucederá con la independencia socialista? Vamos a hacer un ligero repaso hacia atrás de cómo y por qué ha ido cogiendo velocidad la triturador de la Troika, y luego desarrollaremos las soluciones revolucionarias propuestas por Marx y Engels.

2.- La leccion de la historia

La patronal alemana recomendó en verano de 2013 al gobierno griego que vendiera su país a trozos para poder pagar la deuda, esta «recomendación» encuentra su lógica en el hecho de que pocos meses antes, en mayo, se confirmaba que la economía de la zona euro sufría la más larga recesión de su historia, por lo que Alemania «recomendaba» al pueblo griego que se vendiera a sí mismo trozo a trozo para satisfacer la deuda que había contraído su clase dominanre. Poco antes, Alemania tensaba sus relaciones con el Estado francés porque este no quería aplicar todos los planes de austeridad, flexibilidad, privatización y represión exigidos por la Troika y el capital financiero, y es que la situación socioeconómica francesa empeoraba paulatinamente al ser incapaz de remontar la distancia que le iba separando de Alemania. Con el tiempo, como hemos visto, el Estado francés terminaría claudicando a las exigencias del capital financiero transnacional.

Fue en este contexto de tensiones múltiples cuando terminó de desplomarse el «mito islandés» en abril de 2013, ganando las elecciones la derecha neoliberal que años antes había arruinado al país con una gigantesca deuda que le llevó al colapso en 2008, perdiendo el poder del gobierno pero manteniendo el poder económico, el poder político real y el poder de alienación y chantaje al pueblo. Para el reformismo europeo, las medidas islandesas de dejar hundirse la banca responsable de la deuda, de proceder judicialmente contra los responsables del desastre financiero, etc., fueron una demostración de la validez de la creencia que sostiene que un pueblo puede mantener su independencia dentro de la UE yendo incluso contra las exigencias de la Troika. Las fuerzas revolucionarias aplaudimos la coherencia del pueblo islandés, pero advertimos de los límites intrínsecos de su política reformista. Inicialmente los resultados fueron espectaculares: mientras que Grecia se debatía en la crisis y en las luchas sociales, la economía islandesa crecía un 2,3% entre 2010 y 2011, sin embargo ese crecimiento no acabó ni con las causas de la crisis ni con los efectos empobrecedores que todavía en verano de 2012 y todo lo que resta de 2013 seguirían golpeando al pueblo. La debilidad política del reformismo socialdemócrata y la Izquierda-Verdes impidió que aumentase la conciencia obrera y popular, facilitó que se recompusieran las fuerzas burguesas que habían hundido al país en la pobreza y que volviera al gobierno en 2013.

Mientras se esfumaba el «mito islandés» y la derecha neoliberal de la Isla volvía al poder, Merkel, la presidenta alemana, justificaba con desparpajo que los Estados europeos debían «ceder cotas de soberanía» de manera definitiva para impedir el rebrote de las crisis. Ceder soberanía a la UE era lo mismo que ampliar en poder de euroalemania. Es muy significativo que esta exigencia de Merkel se realizara el mismo mes abril de 2013 en el que las reservas de gas del país estaban en mínimos por el alto consumo de ese invierno, reavivando viejos y aterradores fantasmas sobre las tensiones entre Alemania y Rusia, y sus atroces conflictos históricos. El derrumbe económico de Chipre que se produjo en esas mismas fechas azuzó los ataques de la prensa euroalemana a la responsabilidad de la inversiones rusas en Chipre, tensionando aún más las ya gélidas relaciones entre Moscú y Berlín. El pueblo chipriota tuvo que ceder a las implacables exigencias euroalemanas y al creciente poder de la Troika para controlar las economías estatales, poder concedido por la Eurocámara en febrero de 2013. Justo cuando la Eurocámara reforzaba el poder de la Troika para tutelar a los pueblos, el diario El País escribía el 7 de febrero de 2013 que «la Europa rica se conjura para recortar aún más el presupuesto comunitario».

La Europa enriquecida venía gestándose desde hacía tiempo, recibiendo un impulso oficial con las declaraciones que Draghi, banquero italiano al mando del BCE, hizo al periódico alemán Der Spiegel en noviembre de 2012, en las que aseguraba que: «"Muchos gobiernos todavía deben darse cuenta de que perdieron su soberanía nacional hace mucho tiempo. Debido a que en el pasado han permitido que su deuda se acumule, ahora dependen de la buena voluntad de los mercados financieros», por lo que debían asumir que sólo cediendo poder a Bruselas podrían defenderse del poder financiero mundial. Pero aún más, la Europa rica estaba cediendo poder decisorio a Alemania en detrimento del Estado francés, y desde luego arrinconando a Italia y al Estado español como se demostró en el pacto entre Bruselas y Berlín en ese mismo mes de noviembre: el núcleo del poder financiero de la UE y de su burocracia optaba por Alemania en detrimento de la «soberanía nacional» francesa que encajaba nuevos golpes en un proceso de cesiones que llegarían a la claudicación arriba vista.

Ante una crisis que se exacerba e intensifica, en septiembre de 2012 se hablaba ya de la urgencia de «supergobierno de la UE» que impusiera disciplina y que acelerase la Unión Bancaria Europea, centralización decisiva que anularía definitivamente la «independencia» de los Estados miembros, aplaudida por el periódico económico Cinco Días del 14 de septiembre de 2012. Durante ese verano la crisis se profundiza y en julio EEUU salió en defensa del proceso europeo reconociendo que, para su economía y para su poder mundial, era necesaria una UE fuerte. El que en esos momentos 90.000 hogares griegos estuvieran sin luz, y que el empobrecimiento alcanzara cotas desconocidas, no importaba al capital financiero, por el contrario, el diario Cinco Días insistió en ese junio que «Contra la crisis, más Europa», es decir, más sacrificios para las clases y pueblos explotados mientras que la «élite» decidía avanzar en la unidad bancaria, fiscal y política. En realidad, la disciplina arriba expuesta no respondía sólo a las necesidades del capital financiero europeo, sino del imperialismo en su conjunto que, en boca de la OCDE, reafirmó en marzo de 2012 la necesidad de profundas reformas estructurales en la eurozona, reformas que en esos momentos se imponían a la fuerza en Holanda y Bélgica, países no excesivamente endeudados ni en crisis agónica. El capital financiero mundial sabía que en febrero de 2012 la deuda publica de la UE era de 10,3 billones de euros, el 82,2% del PIB, algo inaceptable para los grandes poderes en la sombra cada día más necesitados de recuperar sus préstamos.

A finales de junio de 2011, el pueblo trabajador de Grecia sostenía una tenaz resistencia en las calles repletas de fuerzas represivas contra la imposición por el euroimperialismo de lo que muy correctamente ya se definió entonces como una «dictadura económica». Casi dos meses antes, a inicios de mayo de 2011, terminaba de triunfar el «golpe de Estado silencioso de Europa» por el cual Bruselas recibía el derecho de veto en decisiones sobre salarios, gastos públicos e impuestos, justo cuando su poderosa burocracia y el FMI imponían un «drástico recorte social» para «rescatar» a la burguesía portuguesa. El «pacto de competitividad» o Pacto por el Euro que daba forma legal al poder de Bruselas para controlar los presupuestos de los Estados formalmente independientes, fue firmado en marzo de 2011. Este «pacto» obliga a los Estados formalmente independientes a entregar sus Presupuestos Nacionales a Bruselas antes de que sean debatidos en los Parlamentos correspondientes: durante un tiempo serán estudiados por Bruselas marcando sus límites, suprimiendo partidas y añadiendo exigencias que deberán luego se aceptadas por los parlamentos estatales oficialmente independientes. Lo esencial del Pacto por el Euro fue negociado entre Alemania y el Estado francés casi dos meses antes, conociéndose sus resultados a comienzos de febrero de 2011. El eje Berlín-París aseguraba que con su plan se mejorarían las condiciones de los «rescates» de los Estados en crisis, como había sucedido muy poco antes con Irlanda.

La UE que ya había sido diseñada para entonces en lo esencial de su proyecto estratégico interno, tenía, entre otras, la característica de haberse arrodillado «frente al gran capital financiero», como dijo A. Boron en diciembre de 2010, poco tiempo después de que la «prensa salmón», es decir, los medios de propaganda del capital financiero, sostuviera a finales de noviembre de 2010 una campaña sobre que «el euro precisa una gobernanza europea» en medio de las convulsiones de la crisis general y de las crisis específicas de Irlanda, Portugal, Islandia, Grecia, Estado español e Italia, por no extendernos en la situación de Gran Bretaña, en la debilidad del Estado francés, y de los países del Este. A la vez el diario El País sostenía el 29-11-2010 que sólo Alemania podía resolver la crisis y salvar la UE. Ahora bien, la anhelada euroalemania no estaba creciendo al margen de EEUU sino dependiendo directamente de esta potencia y de su brazo armado, la OTAN, como se comprobó en su nueva doctrina estratégica conocida ese mismo mes de noviembre de 2010, en la que ella misma corregía los errores anteriores añadiendo el componente político al componente militar, estrechando la disciplina política entre los Estados miembros. Significativamente, esta nueva doctrina fue negociada mientras EEUU hacía una intensa campaña política para que la UE aumentara sus gastos militares y su implicación en la OTAN.

La deuda española a los bancos europeos en junio de 2010 era de 602.000 millones-€, y la suma de la deuda italiana, griega y portuguesa llegaba a 705.000 millones-€, el total ascendía a la escalofriante cifra de 1.307.000.000.000-€ que el capital financiero había prestado sólo a cuatro burguesías en serios apuros para devolverla. Las «élites» de la UE conocían la situación y por eso ya a mediados de marzo de 2010 se habían adelantado avanzando hacia un «gobierno económico» que garantizase al capital financiero el cobro de esa impresionante masa de capitales adeudados. Desde la lógica capitalista es comprensible la urgencia por cobrar la mayor parte de esa deuda ya que en 2009 la economía alemana se había contraído en un 5%, año además en el que se supo en su mes de julio que la economía de la UE había registrado su mayor caída desde 1995.

3.- La actualidad del socialismo

Hemos «avanzado marcha atrás» en nuestra argumentación porque así, empezando en verano de 2014 y terminando en 1995, podemos hacernos una idea más adecuada sobre el por qué y el cómo bajo las presiones de una crisis demoledora fueron actuando los Estados más poderosos condicionando a los demás. Nunca debemos olvidar que el Estado es la forma política del capital, lo que explica su interna relación con la clase burguesa, de manera que las decisiones exclusivamente económicas que la burguesía toma son a la vez, por obra del contenido político de la forma-Estado, decisiones políticas. En la medida en que las contradicciones y límites del capital dificultan progresivamente su acumulación ampliada, en esa medida suceden dos cosas básicas para comprender por qué es válido el método propuesto por Marx y Engels para la independencia de Irlanda y Polonia en la segunda mitad del siglo XIX: una, porque esas dificultades para la acumulación refuerzan la dinámica de acumulación por desposesión y del papel de la deuda en la expansión del capital financiero; y otra, porque bajo estas dinámicas mundializadas, las burguesías en general y sobre todo las medianas y débiles están más dispuestas que nunca a ceder parte sustancial de su propia independencia burguesa con tal de mantener restos de su poder de clase y de frenar a la vez el avance de la nación trabajadora explotada con su estrategia de independentismo socialista.

En la carta de Engels a Marx del 23 de mayo de 1851 sobre Polonia, el primero dice que: «… excepto la inevitable de su restauración con fronteras adecuadas; y aun esto sólo a condición de una revolución agraria». La revolución agraria en las condiciones de 1851 sólo podía entenderse como una derrota en toda regla de los terratenientes y de la Iglesia y la aparición de un poder campesino y popular dueño de las tierras recuperadas y, por eso, de la nación polaca independiente: sin revolución agraria no hay independencia posible. Hoy no tiene sentido hablar de revolución agraria en el sentido de entonces, pero sí lo tiene y mucho además de de la socialización interna de las fuerzas productivas y de la propiedad terrateniente, que todavía existe, también declarar el no pago de la deuda pública y privada que supedita a la actual Polonia «independiente», y a todo pueblo, al capitalismo financiero y a la UE. Hoy es imprescindible la recuperación de los poderes socioeconómicos expropiados por la UE, la existencia de un Banco Nacional Público controlado por el Estado y libre de las ataduras del capital financiero mundial, una radical lucha contra la economía sumergida y criminal, una diversificación internacional de las relaciones económicas rompiendo con las reglas del mercado y del imperialismo, etc.

En una carta a Engels de noviembre de 1867, Marx expone tres medidas imprescindibles para garantizar la independencia de Irlanda: 1) Gobierno propio e independiente respecto de Inglaterra; 2) Una revolución agraria; y 3) Tarifas aduaneras y proteccionistas contra Inglaterra. Si aplicásemos hoy estos criterios a cualquier nación oprimida en su lucha por un Estado independiente en el contexto de la UE y de la mundialización capitalista, tendríamos que decir que, primero, además de un gobierno independiente ha de existir un Estado obrero, el único que, segundo, puede dirigir la revolución agraria y derrotar al ejército de la burguesía autóctona y de sus aliados internacionales, además de que, y tercero, sin ese poder obrero y popular sería imposible dirigir la política socioeconómica independiente que debe aguantar las enormes presiones, amenazas y chantajes del capitalismo. Un Estado obrero independiente respecto de los poderes visibles e invisibles del capital, defendido por el pueblo en armas y cohesionado internamente por la democracia socialista. Una «revolución agraria», o sea, la socialización de las fuerzas productivas, la expropiación de las propiedades burguesas, y el impago de la deuda contraída por esta clase. Y proteccionismo socialista de la economía, control estatal del comercio exterior, solidaridad internacionalista con otros pueblos, etcétera.

En la carta a Kugelman del 6 de abril de 1868 en la que trata la opresión nacional irlandesa, Marx insiste reiteradamente en la necesidad de acabar con la propiedad terrateniente de la tierra, haciendo especial hincapié en las grandes posesiones latifundistas de la Iglesia anglicana, a la que define como terrateniente: «la revolución social debe comenzar seriamente por la base, es decir, por el latifundio». Aplicado este criterio en la actualidad, la independencia de un pueblo se sustenta, además de en otras medidas, también y sobre todo en la revolución social desde la base, desde la socialización de las grandes empresas internas y transnacionales. La Iglesia anglicana era un poder opresor extranjero en Irlanda, como hoy lo son las grandes corporaciones capitalistas con sus empresas saqueando países enteros. Pero además, hoy el capital financiero ha desarrollado con la ayuda inestimable del imperialismo una serie de instituciones mundiales, regionales y privadas que destruyen la independencia real de todo Estado mediano y hasta grande, instituciones que han impuesto legislaciones especiales al margen y por encima de las leyes de los pueblos y Estados y que los arruinan con multas y sobrecostos. Un año antes de esta carta, en la anterior de1867 Marx explicaba la necesidad de tarifas aduaneras protectoras frente a potencias muy superiores, ahora fusiona esta medida con la revolución social que expropie la propiedad burguesa.

En la carta del 9 de abril de 1870 dirigida a S. Meyer y A. Vogt, Marx afirma que el problema de la propiedad privada de la tierra, en manos de los terratenientes, o sea «el problema de la tierra», en cursivas en su texto, es «la forma exclusiva del problema social irlandés, pues es un problema de existencia, de vida o muerte, para la inmensa mayoría del pueblo irlandés, y porque es al mismo tiempo inseparable del problema nacional», y poco más adelante afirma que la burguesía inglesa tiene el mismo interés que la aristocracia: «transformar a Irlanda en una simple tierra de pastoreo que provea al mercado inglés de carne y lana a los precios más baratos posible».

Traducido esto a las condiciones del capitalismo actual vemos que el problema de la propiedad de las fuerzas productivas, es decir «el problema de la propiedad» que ya se enuncia así en el Manifiesto Comunista de 1848, es la forma exclusiva del problema social de toda nación, un problema existencial, de vida o muerte para la mayoría inmensa del pueblo, problema inseparable del «problema nacional» en palabras y cursivas de Marx. Dicho de otro modo, el problema nacional es inseparable del problema de la propiedad de las fuerzas productivas, de los recursos materiales y culturales mediante los cuales sobrevive un pueblo, una situación que afecta a la vida y a la muerte de ese pueblo. Pero hay más, el capitalismo actual necesita desindustrializar y empobrecer países enteros, terciarizarlos, condenarlos a la «industria turística» incluida la explotación sexual y el narcocapitalismo, al estractivismo de insustituibles materias primas, al monocultivo, al agotamiento de sus recursos naturales sobre todo energéticos e hídricos, a las ruinosas plantaciones de biodiesel y la instalación de venenosos almacenes de detritus. La lógica del capitalismo actual es la misma que la inglesa de empobrecer al pueblo irlandés para sobrealimentar y enriquecer a su burguesía.

En el Prefacio de Engels a la edición polaca del Manifiesto Comunista de 1892, podemos leer: «El resurgir de una Polonia independiente y fuerte es cuestión que interesa no sólo a los polacos, sino a todos nosotros. La sincera colaboración internacional de las naciones europeas sólo será posible cuando cada una de ellas sea completamente dueña de su propia casa (…) La nobleza polaca no fue capaz de defender ni de reconquistar su independencia; hoy por hoy, a la burguesía, la independencia de Polonia le es, cuando menos, indiferente. Sin embargo, para la colaboración armónica de las naciones europeas, esta independencia es una necesidad. Y sólo podrá ser conquistada por el joven proletariado polaco. En manos de él, su destino está seguro, pues para los obreros del resto de Europa la independencia de Polonia es tan necesaria como para los propios obreros polacos».

Engels viene a decir que la independencia será proletaria o no será, que las clases propietarias de las fuerzas productivas no son independentistas, que las clases trabajadoras no oprimidas nacionalmente necesitan de la independencia del proletariado oprimido. Estos criterios son hoy tan pertinentes o más que hace 122 años y han sido confirmados durante ese tiempo: desde 1892 las burguesías europeas apenas arriesgaron sus capitales, y menos sus vidas, en la lucha por la independencia de sus pueblos sino que, en la inmensa mayoría de los casos, sacrificaron a sus pueblos para mantener ellas sus propiedades negociando con el invasor y colaborando con él en el exterminio de las fuerzas independentistas revolucionarias. La II GM supone en este sentido un verdadero cambio de fase en el comportamiento general burgués, aterrorizado por la fuerza del socialismo; y otro cambio de fase todavía más vende-patrias lo supone el Tratado de Maastricht de 1992, por citar una fecha cualitativa.

Recientemente, el filósofo comunista cubano J. P. García Brigos ha explicado con profusión de datos, referencias y ejemplos que sin el socialismo Cuba dejaría de ser una nación. La misma argumentación sirve al cien por cien para cada pueblo nacionalmente oprimido: sin el socialismo nunca llegaremos a ser independientes, nunca llegaremos a ser naciones en el sentido pleno y radical de la palabra. El capitalismo financiarizado está llevando al extremo la opresión de los pueblos, con el apoyo de las burguesías autóctonas. La pregunta decisiva que hay que responder es ¿de quién es la nación, de su pueblo trabajador o de la burguesía nativa agente del capital transnacional?

Ur-Fascism - Umberto Eco June 22, 1995 Issue

Fascism Checklist

  1. cult of tradition (return to a golden age)
  2. rejection of modernism
  3. irrationalism (action before discourse)
  4. no analytical criticism (disagreement is treason)
  5. no diversity (appeal against intruders)
  6. derives from individual or social frustration
  7. nationalistic (to people who feel deprived of a clear social identity, ur-fascism says that their only privilege is the most common one, to be born in the same country)
  8. followers must feel humiliated by the ostentatious wealth and force of their enemies
  9. there is no struggle for life but, rather, life is lived for struggle (pacifism is trafficking with the enemy)
  10. hierarchy, elitism is a typical aspect of any reactionary ideology, insofar as it is fundamentally aristocratic, and aristocratic and militaristic elitism cruelly implies contempt for the weak
  11. cult of heroism (everybody is educated to become a hero, in every mythology the hero is an exceptional being, but in ur-fascist ideology, heroism is the norm)
  12. machismo (since both permanent war and heroism are difficult games to play, the Ur-Fascist transfers his will to power to sexual matters)
  13. based upon a selective populism, a qualitative populism
  14. Ur-Fascism speaks Newspeak (impoverished vocabulary and an elementary syntax)

Text

In 1942, at the age of ten, I received the First Provincial Award of Ludi Juveniles (a voluntary, compulsory competition for young Italian Fascists—that is, for every young Italian). I elaborated with rhetorical skill on the subject “Should we die for the glory of Mussolini and the immortal destiny of Italy?” My answer was positive. I was a smart boy.

I spent two of my early years among the SS, Fascists, Republicans, and partisans shooting at one another, and I learned how to dodge bullets. It was good exercise.

In April 1945, the partisans took over in Milan. Two days later they arrived in the small town where I was living at the time. It was a moment of joy. The main square was crowded with people singing and waving flags, calling in loud voices for Mimo, the partisan leader of that area. A former maresciallo of the Carabinieri, Mimo joined the supporters of General Badoglio, Mussolini’s successor, and lost a leg during one of the first clashes with Mussolini’s remaining forces. Mimo showed up on the balcony of the city hall, pale, leaning on his crutch, and with one hand tried to calm the crowd. I was waiting for his speech because my whole childhood had been marked by the great historic speeches of Mussolini, whose most significant passages we memorized in school. Silence. Mimo spoke in a hoarse voice, barely audible. He said: “Citizens, friends. After so many painful sacrifices … here we are. Glory to those who have fallen for freedom.” And that was it. He went back inside. The crowd yelled, the partisans raised their guns and fired festive volleys. We kids hurried to pick up the shells, precious items, but I had also learned that freedom of speech means freedom from rhetoric.

A few days later I saw the first American soldiers. They were African Americans. The first Yankee I met was a black man, Joseph, who introduced me to the marvels of Dick Tracy and Li’l Abner. His comic books were brightly colored and smelled good.

One of the officers (Major or Captain Muddy) was a guest in the villa of a family whose two daughters were my schoolmates. I met him in their garden where some ladies, surrounding Captain Muddy, talked in tentative French. Captain Muddy knew some French, too. My first image of American liberators was thus—after so many palefaces in black shirts—that of a cultivated black man in a yellow-green uniform saying: “Oui, merci beaucoup, Madame, moi aussi j’aime le champagne…” Unfortunately there was no champagne, but Captain Muddy gave me my first piece of Wrigley’s Spearmint and I started chewing all day long. At night I put my wad in a water glass, so it would be fresh for the next day.

In May we heard that the war was over. Peace gave me a curious sensation. I had been told that permanent warfare was the normal condition for a young Italian. In the following months I discovered that the Resistance was not only a local phenomenon but a European one. I learned new, exciting words like réseau, maquis, armée secrète, Rote Kapelle, Warsaw ghetto. I saw the first photographs of the Holocaust, thus understanding the meaning before knowing the word. I realized what we were liberated from.

In my country today there are people who are wondering if the Resistance had a real military impact on the course of the war. For my generation this question is irrelevant: we immediately understood the moral and psychological meaning of the Resistance. For us it was a point of pride to know that we Europeans did not wait passively for liberation. And for the young Americans who were paying with their blood for our restored freedom it meant something to know that behind the firing lines there were Europeans paying their own debt in advance.

In my country today there are those who are saying that the myth of the Resistance was a Communist lie. It is true that the Communists exploited the Resistance as if it were their personal property, since they played a prime role in it; but I remember partisans with kerchiefs of different colors. Sticking close to the radio, I spent my nights—the windows closed, the blackout making the small space around the set a lone luminous halo—listening to the messages sent by the Voice of London to the partisans. They were cryptic and poetic at the same time (The sun also rises, The roses will bloom) and most of them were “messaggi per la Franchi.” Somebody whispered to me that Franchi was the leader of the most powerful clandestine network in northwestern Italy, a man of legendary courage. Franchi became my hero. Franchi (whose real name was Edgardo Sogno) was a monarchist, so strongly anti-Communist that after the war he joined very right-wing groups, and was charged with collaborating in a project for a reactionary coup d’état. Who cares? Sogno still remains the dream hero of my childhood. Liberation was a common deed for people of different colors.

In my country today there are some who say that the War of Liberation was a tragic period of division, and that all we need is national reconciliation. The memory of those terrible years should be repressed, refoulée, verdrängt. But Verdrängung causes neurosis. If reconciliation means compassion and respect for all those who fought their own war in good faith, to forgive does not mean to forget. I can even admit that Eichmann sincerely believed in his mission, but I cannot say, “OK, come back and do it again.” We are here to remember what happened and solemnly say that “They” must not do it again.

But who are They?

If we still think of the totalitarian governments that ruled Europe before the Second World War we can easily say that it would be difficult for them to reappear in the same form in different historical circumstances. If Mussolini’s fascism was based upon the idea of a charismatic ruler, on corporatism, on the utopia of the Imperial Fate of Rome, on an imperialistic will to conquer new territories, on an exacerbated nationalism, on the ideal of an entire nation regimented in black shirts, on the rejection of parliamentary democracy, on anti-Semitism, then I have no difficulty in acknowledging that today the Italian Alleanza Nazionale, born from the postwar Fascist Party, MSI, and certainly a right-wing party, has by now very little to do with the old fascism. In the same vein, even though I am much concerned about the various Nazi-like movements that have arisen here and there in Europe, including Russia, I do not think that Nazism, in its original form, is about to reappear as a nationwide movement.

Nevertheless, even though political regimes can be overthrown, and ideologies can be criticized and disowned, behind a regime and its ideology there is always a way of thinking and feeling, a group of cultural habits, of obscure instincts and unfathomable drives. Is there still another ghost stalking Europe (not to speak of other parts of the world)?

Ionesco once said that “only words count and the rest is mere chattering.” Linguistic habits are frequently important symptoms of underlying feelings. Thus it is worth asking why not only the Resistance but the Second World War was generally defined throughout the world as a struggle against fascism. If you reread Hemingway’s For Whom the Bell Tolls you will discover that Robert Jordan identifies his enemies with Fascists, even when he thinks of the Spanish Falangists. And for FDR, “The victory of the American people and their allies will be a victory against fascism and the dead hand of despotism it represents.”

During World War II, the Americans who took part in the Spanish war were called “premature anti-fascists”—meaning that fighting against Hitler in the Forties was a moral duty for every good American, but fighting against Franco too early, in the Thirties, smelled sour because it was mainly done by Communists and other leftists. … Why was an expression like fascist pig used by American radicals thirty years later to refer to a cop who did not approve of their smoking habits? Why didn’t they say: Cagoulard pig, Falangist pig, Ustashe pig, Quisling pig, Nazi pig?

Mein Kampf is a manifesto of a complete political program. Nazism had a theory of racism and of the Aryan chosen people, a precise notion of degenerate art, entartete Kunst, a philosophy of the will to power and of the Ubermensch. Nazism was decidedly anti-Christian and neo-pagan, while Stalin’s Diamat (the official version of Soviet Marxism) was blatantly materialistic and atheistic. If by totalitarianism one means a regime that subordinates every act of the individual to the state and to its ideology, then both Nazism and Stalinism were true totalitarian regimes.

Italian fascism was certainly a dictatorship, but it was not totally totalitarian, not because of its mildness but rather because of the philosophical weakness of its ideology. Contrary to common opinion, fascism in Italy had no special philosophy. The article on fascism signed by Mussolini in the Treccani Encyclopedia was written or basically inspired by Giovanni Gentile, but it reflected a late-Hegelian notion of the Absolute and Ethical State which was never fully realized by Mussolini. Mussolini did not have any philosophy: he had only rhetoric. He was a militant atheist at the beginning and later signed the Convention with the Church and welcomed the bishops who blessed the Fascist pennants. In his early anticlerical years, according to a likely legend, he once asked God, in order to prove His existence, to strike him down on the spot. Later, Mussolini always cited the name of God in his speeches, and did not mind being called the Man of Providence.

Italian fascism was the first right-wing dictatorship that took over a European country, and all similar movements later found a sort of archetype in Mussolini’s regime. Italian fascism was the first to establish a military liturgy, a folklore, even a way of dressing—far more influential, with its black shirts, than Armani, Benetton, or Versace would ever be. It was only in the Thirties that fascist movements appeared, with Mosley, in Great Britain, and in Latvia, Estonia, Lithuania, Poland, Hungary, Romania, Bulgaria, Greece, Yugoslavia, Spain, Portugal, Norway, and even in South America. It was Italian fascism that convinced many European liberal leaders that the new regime was carrying out interesting social reform, and that it was providing a mildly revolutionary alternative to the Communist threat.

Nevertheless, historical priority does not seem to me a sufficient reason to explain why the word fascism became a synecdoche, that is, a word that could be used for different totalitarian movements. This is not because fascism contained in itself, so to speak in their quintessential state, all the elements of any later form of totalitarianism. On the contrary, fascism had no quintessence. Fascism was a fuzzy totalitarianism, a collage of different philosophical and political ideas, a beehive of contradictions. Can one conceive of a truly totalitarian movement that was able to combine monarchy with revolution, the Royal Army with Mussolini’s personal milizia, the grant of privileges to the Church with state education extolling violence, absolute state control with a free market? The Fascist Party was born boasting that it brought a revolutionary new order; but it was financed by the most conservative among the landowners who expected from it a counter-revolution. At its beginning fascism was republican. Yet it survived for twenty years proclaiming its loyalty to the royal family, while the Duce (the unchallenged Maximal Leader) was arm-in-arm with the King, to whom he also offered the title of Emperor. But when the King fired Mussolini in 1943, the party reappeared two months later, with German support, under the standard of a “social” republic, recycling its old revolutionary script, now enriched with almost Jacobin overtones.

There was only a single Nazi architecture and a single Nazi art. If the Nazi architect was Albert Speer, there was no more room for Mies van der Rohe. Similarly, under Stalin’s rule, if Lamarck was right there was no room for Darwin. In Italy there were certainly fascist architects but close to their pseudo-Coliseums were many new buildings inspired by the modern rationalism of Gropius.

There was no fascist Zhdanov setting a strictly cultural line. In Italy there were two important art awards. The Premio Cremona was controlled by a fanatical and uncultivated Fascist, Roberto Farinacci, who encouraged art as propaganda. (I can remember paintings with such titles as Listening by Radio to the Duce’s Speech or States of Mind Created by Fascism.) The Premio Bergamo was sponsored by the cultivated and reasonably tolerant Fascist Giuseppe Bottai, who protected both the concept of art for art’s sake and the many kinds of avant-garde art that had been banned as corrupt and crypto-Communist in Germany.

The national poet was D’Annunzio, a dandy who in Germany or in Russia would have been sent to the firing squad. He was appointed as the bard of the regime because of his nationalism and his cult of heroism—which were in fact abundantly mixed up with influences of French fin de siècle decadence.

Take Futurism. One might think it would have been considered an instance of entartete Kunst, along with Expressionism, Cubism, and Surrealism. But the early Italian Futurists were nationalist; they favored Italian participation in the First World War for aesthetic reasons; they celebrated speed, violence, and risk, all of which somehow seemed to connect with the fascist cult of youth. While fascism identified itself with the Roman Empire and rediscovered rural traditions, Marinetti (who proclaimed that a car was more beautiful than the Victory of Samothrace, and wanted to kill even the moonlight) was nevertheless appointed as a member of the Italian Academy, which treated moonlight with great respect.

Many of the future partisans and of the future intellectuals of the Communist Party were educated by the GUF, the fascist university students’ association, which was supposed to be the cradle of the new fascist culture. These clubs became a sort of intellectual melting pot where new ideas circulated without any real ideological control. It was not that the men of the party were tolerant of radical thinking, but few of them had the intellectual equipment to control it.

During those twenty years, the poetry of Montale and other writers associated with the group called the Ermetici was a reaction to the bombastic style of the regime, and these poets were allowed to develop their literary protest from within what was seen as their ivory tower. The mood of the Ermetici poets was exactly the reverse of the fascist cult of optimism and heroism. The regime tolerated their blatant, even though socially imperceptible, dissent because the Fascists simply did not pay attention to such arcane language.

All this does not mean that Italian fascism was tolerant. Gramsci was put in prison until his death; the opposition leaders Giacomo Matteotti and the brothers Rosselli were assassinated; the free press was abolished, the labor unions were dismantled, and political dissenters were confined on remote islands. Legislative power became a mere fiction and the executive power (which controlled the judiciary as well as the mass media) directly issued new laws, among them laws calling for preservation of the race (the formal Italian gesture of support for what became the Holocaust).

The contradictory picture I describe was not the result of tolerance but of political and ideological discombobulation. But it was a rigid discombobulation, a structured confusion. Fascism was philosophically out of joint, but emotionally it was firmly fastened to some archetypal foundations.

So we come to my second point. There was only one Nazism. We cannot label Franco’s hyper-Catholic Falangism as Nazism, since Nazism is fundamentally pagan, polytheistic, and anti-Christian. But the fascist game can be played in many forms, and the name of the game does not change. The notion of fascism is not unlike Wittgenstein’s notion of a game. A game can be either competitive or not, it can require some special skill or none, it can or cannot involve money. Games are different activities that display only some “family resemblance,” as Wittgenstein put it. Consider the following sequence: 1 2 3 4 abc bcd cde def

Suppose there is a series of political groups in which group one is characterized by the features abc, group two by the features bcd, and so on. Group two is similar to group one since they have two features in common; for the same reasons three is similar to two and four is similar to three. Notice that three is also similar to one (they have in common the feature c). The most curious case is presented by four, obviously similar to three and two, but with no feature in common with one. However, owing to the uninterrupted series of decreasing similarities between one and four, there remains, by a sort of illusory transitivity, a family resemblance between four and one.

Fascism became an all-purpose term because one can eliminate from a fascist regime one or more features, and it will still be recognizable as fascist. Take away imperialism from fascism and you still have Franco and Salazar. Take away colonialism and you still have the Balkan fascism of the Ustashes. Add to the Italian fascism a radical anti-capitalism (which never much fascinated Mussolini) and you have Ezra Pound. Add a cult of Celtic mythology and the Grail mysticism (completely alien to official fascism) and you have one of the most respected fascist gurus, Julius Evola.

But in spite of this fuzziness, I think it is possible to outline a list of features that are typical of what I would like to call Ur-Fascism, or Eternal Fascism. These features cannot be organized into a system; many of them contradict each other, and are also typical of other kinds of despotism or fanaticism. But it is enough that one of them be present to allow fascism to coagulate around it.

  1. The first feature of Ur-Fascism is the cult of tradition. Traditionalism is of course much older than fascism. Not only was it typical of counter-revolutionary Catholic thought after the French revolution, but it was born in the late Hellenistic era, as a reaction to classical Greek rationalism. In the Mediterranean basin, people of different religions (most of them indulgently accepted by the Roman Pantheon) started dreaming of a revelation received at the dawn of human history. This revelation, according to the traditionalist mystique, had remained for a long time concealed under the veil of forgotten languages—in Egyptian hieroglyphs, in the Celtic runes, in the scrolls of the little known religions of Asia.

This new culture had to be syncretistic. Syncretism is not only, as the dictionary says, “the combination of different forms of belief or practice”; such a combination must tolerate contradictions. Each of the original messages contains a sliver of wisdom, and whenever they seem to say different or incompatible things it is only because all are alluding, allegorically, to the same primeval truth.

As a consequence, there can be no advancement of learning. Truth has been already spelled out once and for all, and we can only keep interpreting its obscure message.

One has only to look at the syllabus of every fascist movement to find the major traditionalist thinkers. The Nazi gnosis was nourished by traditionalist, syncretistic, occult elements. The most influential theoretical source of the theories of the new Italian right, Julius Evola, merged the Holy Grail with The Protocols of the Elders of Zion, alchemy with the Holy Roman and Germanic Empire. The very fact that the Italian right, in order to show its open-mindedness, recently broadened its syllabus to include works by De Maistre, Guenon, and Gramsci, is a blatant proof of syncretism.

If you browse in the shelves that, in American bookstores, are labeled as New Age, you can find there even Saint Augustine who, as far as I know, was not a fascist. But combining Saint Augustine and Stonehenge—that is a symptom of Ur-Fascism.

  1. Traditionalism implies the rejection of modernism. Both Fascists and Nazis worshiped technology, while traditionalist thinkers usually reject it as a negation of traditional spiritual values. However, even though Nazism was proud of its industrial achievements, its praise of modernism was only the surface of an ideology based upon Blood and Earth (Blut und Boden). The rejection of the modern world was disguised as a rebuttal of the capitalistic way of life, but it mainly concerned the rejection of the Spirit of 1789 (and of 1776, of course). The Enlightenment, the Age of Reason, is seen as the beginning of modern depravity. In this sense Ur-Fascism can be defined as irrationalism.

  2. Irrationalism also depends on the cult of action for action’s sake. Action being beautiful in itself, it must be taken before, or without, any previous reflection. Thinking is a form of emasculation. Therefore culture is suspect insofar as it is identified with critical attitudes. Distrust of the intellectual world has always been a symptom of Ur-Fascism, from Goering’s alleged statement (“When I hear talk of culture I reach for my gun”) to the frequent use of such expressions as “degenerate intellectuals,” “eggheads,” “effete snobs,” “universities are a nest of reds.” The official Fascist intellectuals were mainly engaged in attacking modern culture and the liberal intelligentsia for having betrayed traditional values.

  3. No syncretistic faith can withstand analytical criticism. The critical spirit makes distinctions, and to distinguish is a sign of modernism. In modern culture the scientific community praises disagreement as a way to improve knowledge. For Ur-Fascism, disagreement is treason.

  4. Besides, disagreement is a sign of diversity. Ur-Fascism grows up and seeks for consensus by exploiting and exacerbating the natural fear of difference. The first appeal of a fascist or prematurely fascist movement is an appeal against the intruders. Thus Ur-Fascism is racist by definition.

  5. Ur-Fascism derives from individual or social frustration. That is why one of the most typical features of the historical fascism was the appeal to a frustrated middle class, a class suffering from an economic crisis or feelings of political humiliation, and frightened by the pressure of lower social groups. In our time, when the old “proletarians” are becoming petty bourgeois (and the lumpen are largely excluded from the political scene), the fascism of tomorrow will find its audience in this new majority.

  6. To people who feel deprived of a clear social identity, Ur-Fascism says that their only privilege is the most common one, to be born in the same country. This is the origin of nationalism. Besides, the only ones who can provide an identity to the nation are its enemies. Thus at the root of the Ur-Fascist psychology there is the obsession with a plot, possibly an international one. The followers must feel besieged. The easiest way to solve the plot is the appeal to xenophobia. But the plot must also come from the inside: Jews are usually the best target because they have the advantage of being at the same time inside and outside. In the US, a prominent instance of the plot obsession is to be found in Pat Robertson’s The New World Order, but, as we have recently seen, there are many others.

  7. The followers must feel humiliated by the ostentatious wealth and force of their enemies. When I was a boy I was taught to think of Englishmen as the five-meal people. They ate more frequently than the poor but sober Italians. Jews are rich and help each other through a secret web of mutual assistance. However, the followers must be convinced that they can overwhelm the enemies. Thus, by a continuous shifting of rhetorical focus, the enemies are at the same time too strong and too weak. Fascist governments are condemned to lose wars because they are constitutionally incapable of objectively evaluating the force of the enemy.

  8. For Ur-Fascism there is no struggle for life but, rather, life is lived for struggle. Thus pacifism is trafficking with the enemy. It is bad because life is permanent warfare. This, however, brings about an Armageddon complex. Since enemies have to be defeated, there must be a final battle, after which the movement will have control of the world. But such a “final solution” implies a further era of peace, a Golden Age, which contradicts the principle of permanent war. No fascist leader has ever succeeded in solving this predicament.

  9. Elitism is a typical aspect of any reactionary ideology, insofar as it is fundamentally aristocratic, and aristocratic and militaristic elitism cruelly implies contempt for the weak. Ur-Fascism can only advocate a popular elitism. Every citizen belongs to the best people of the world, the members of the party are the best among the citizens, every citizen can (or ought to) become a member of the party. But there cannot be patricians without plebeians. In fact, the Leader, knowing that his power was not delegated to him democratically but was conquered by force, also knows that his force is based upon the weakness of the masses; they are so weak as to need and deserve a ruler. Since the group is hierarchically organized (according to a military model), every subordinate leader despises his own underlings, and each of them despises his inferiors. This reinforces the sense of mass elitism.

  10. In such a perspective everybody is educated to become a hero. In every mythology the hero is an exceptional being, but in Ur-Fascist ideology, heroism is the norm. This cult of heroism is strictly linked with the cult of death. It is not by chance that a motto of the Falangists was Viva la Muerte (in English it should be translated as “Long Live Death!”). In non-fascist societies, the lay public is told that death is unpleasant but must be faced with dignity; believers are told that it is the painful way to reach a supernatural happiness. By contrast, the Ur-Fascist hero craves heroic death, advertised as the best reward for a heroic life. The Ur-Fascist hero is impatient to die. In his impatience, he more frequently sends other people to death.

  11. Since both permanent war and heroism are difficult games to play, the Ur-Fascist transfers his will to power to sexual matters. This is the origin of machismo (which implies both disdain for women and intolerance and condemnation of nonstandard sexual habits, from chastity to homosexuality). Since even sex is a difficult game to play, the Ur-Fascist hero tends to play with weapons—doing so becomes an ersatz phallic exercise.

  12. Ur-Fascism is based upon a selective populism, a qualitative populism, one might say. In a democracy, the citizens have individual rights, but the citizens in their entirety have a political impact only from a quantitative point of view—one follows the decisions of the majority. For Ur-Fascism, however, individuals as individuals have no rights, and the People is conceived as a quality, a monolithic entity expressing the Common Will. Since no large quantity of human beings can have a common will, the Leader pretends to be their interpreter. Having lost their power of delegation, citizens do not act; they are only called on to play the role of the People. Thus the People is only a theatrical fiction. To have a good instance of qualitative populism we no longer need the Piazza Venezia in Rome or the Nuremberg Stadium. There is in our future a TV or Internet populism, in which the emotional response of a selected group of citizens can be presented and accepted as the Voice of the People.

Because of its qualitative populism Ur-Fascism must be against “rotten” parliamentary governments. One of the first sentences uttered by Mussolini in the Italian parliament was “I could have transformed this deaf and gloomy place into a bivouac for my maniples”—“maniples” being a subdivision of the traditional Roman legion. As a matter of fact, he immediately found better housing for his maniples, but a little later he liquidated the parliament. Wherever a politician casts doubt on the legitimacy of a parliament because it no longer represents the Voice of the People, we can smell Ur-Fascism.

  1. Ur-Fascism speaks Newspeak. Newspeak was invented by Orwell, in 1984, as the official language of Ingsoc, English Socialism. But elements of Ur-Fascism are common to different forms of dictatorship. All the Nazi or Fascist schoolbooks made use of an impoverished vocabulary, and an elementary syntax, in order to limit the instruments for complex and critical reasoning. But we must be ready to identify other kinds of Newspeak, even if they take the apparently innocent form of a popular talk show.

On the morning of July 27, 1943, I was told that, according to radio reports, fascism had collapsed and Mussolini was under arrest. When my mother sent me out to buy the newspaper, I saw that the papers at the nearest newsstand had different titles. Moreover, after seeing the headlines, I realized that each newspaper said different things. I bought one of them, blindly, and read a message on the first page signed by five or six political parties—among them the Democrazia Cristiana, the Communist Party, the Socialist Party, the Partito d’Azione, and the Liberal Party.

Until then, I had believed that there was a single party in every country and that in Italy it was the Partito Nazionale Fascista. Now I was discovering that in my country several parties could exist at the same time. Since I was a clever boy, I immediately realized that so many parties could not have been born overnight, and they must have existed for some time as clandestine organizations.

The message on the front celebrated the end of the dictatorship and the return of freedom: freedom of speech, of press, of political association. These words, “freedom,” “dictatorship,” “liberty,”—I now read them for the first time in my life. I was reborn as a free Western man by virtue of these new words.

We must keep alert, so that the sense of these words will not be forgotten again. Ur-Fascism is still around us, sometimes in plainclothes. It would be so much easier, for us, if there appeared on the world scene somebody saying, “I want to reopen Auschwitz, I want the Black Shirts to parade again in the Italian squares.” Life is not that simple. Ur-Fascism can come back under the most innocent of disguises. Our duty is to uncover it and to point our finger at any of its new instances—every day, in every part of the world. Franklin Roosevelt’s words of November 4, 1938, are worth recalling: “I venture the challenging statement that if American democracy ceases to move forward as a living force, seeking day and night by peaceful means to better the lot of our citizens, fascism will grow in strength in our land.” Freedom and liberation are an unending task.

Let me finish with a poem by Franco Fortini:

Sulla spalletta del ponte
Le teste degli impiccati
Nell’acqua della fonte
La bava degli impiccati.

Sul lastrico del mercato
Le unghie dei fucilati
Sull’erba secca del prato
I denti dei fucilati.

Mordere l’aria mordere i sassi
La nostra carne non è più d’uomini
Mordere l’aria mordere i sassi
Il nostro cuore non è più d’uomini.

Ma noi s’è letto negli occhi dei morti
E sulla terra faremo libertà
Ma l’hanno stretta i pugni dei morti
La giustizia che si farà.

* * *

(On the bridge’s parapet
The heads of the hanged
In the flowing rivulet
The spittle of the hanged.

On the cobbles in the market- places
The fingernails of those lined up and shot
On the dry grass in the open spaces
The broken teeth of those lined up and shot.

Biting the air, biting the stones
Our flesh is no longer human
Biting the air, biting the stones
Our hearts are no longer human.

But we have read into the eyes of the dead
And shall bring freedom on the earth
But clenched tight in the fists of the dead
Lies the justice to be served.)
—poem translated by Stephen Sartarelli

Copyright © by Umberto Eco

Euskera

Berriak

Kultura

Euskal Herriko Historia

Studying Languages and Linguistics

HABE

HEOC: Helduen Euskalduntzearen Oinarrizko Curriculuma

  • Plan de estudios básico para estudios vascos de adultos
    • helduen: adulto
    • euskalduntzearen: adquisición del idioma vasco
    • oinarrizko: basico
Helduen Euskalduntzearen MailakNiveles de estudios vascos en adultos
Oinarrizko erabiltzaileaUsuario básico
A1: Hasierako erabiltzaileaA1: Usuario inicial
A2: Oinarrizko erabiltzaileaA2: Usuario básico
Erabiltzailea aurreratuaUsuario avanzado
B1: Erabiltzaile independenteaB1: Usuario independiente
B2: Erabiltzaile aurreratuaB2: Usuario avanzado
Erabiltzaile adituaUsuario experto
C1: Erabiltzaile gaituaC1: Usuario habilitado
C2: Erabiltzaile adituaC2: Usuario experto

Oinarrizko lerruna (A1 + A2): Oinarrizko erabiltzailea

Oinarrizko lerrun honen xedea honako hau da: ikasleak eguneroko gaiei buruzko euskarazko testu laburrak ulertzea, eta ahoz zein idatziz —baina gehienbat ahoz— euskara elkarreraginean erabiltzea, labur eta sinple, baina egoki eta eraginkor.

El objetivo de este escalafón básico es que los estudiantes comprendan textos breves en euskera sobre temas cotidianos y utilicen el euskera oralmente y por escrito, pero principalmente oralmente, en euskera interactivo, corto y simple, pero apropiado y efectivo.

Lerrun aurreratua (B1 + B2): Erabiltzaile aurreratua

Lerrun aurreratuaren xedea honako hau da: ikasleak ohiko testuinguru, gai eta egoera ezagunetan instrukzioak, kontaketa laburrak eta azalpen-testuak ulertzea, eta, ahoz zein idatziz, euskara zehaztasunez eta eraginkortasunez erabiltzea.

El objetivo del escalafon avanzado es que los estudiantes comprendan instrucciones, cuentos y textos explicativos en contextos, temas y situaciones familiares, y que utilicen el euskera con precisión y eficacia, tanto oralmente como por escrito.

Xede ere izango da ikasleak elkarreraginean, bere lan-esparruko gaiei buruz, alderdi esanguratsuak eta xehetasunak bereiziz, deskribapenak egitea eta azalpenak eta iritziak eraginkortasunez ematea.

El objetivo también será que los estudiantes interactúen, describan los aspectos y detalles relevantes, hagan descripciones efectivas y proporcionen explicaciones y opiniones.

Adituaren lerruna (C1 + C2): Erabiltzaile aditua

Adituaren lerrunaren xedea honako hau da: eremu profesional, publiko zein pertsonalean ikasleak era guztietako informazioa euskaraz trukatzeko gai izatea era landu eta jantzian, ahoz zein idatziz, gaia, solaskidearen jarrera edota euren arteko harreman maila zeinahi delarik, hizkuntza-adierazleak estrategikoki erabiliz eta hizkeraren maila denotatiboa eta konnotatiboa bereiziz.

El objetivo del escalafón de expertos es permitir a los estudiantes en las esferas profesional, pública y personal intercambiar todo tipo de información en euskera en la práctica y vestimenta, oralmente o por escrito, el tema, la actitud del interlocutor o su nivel de relación, utilizando indicadores estratégicos de idioma y nivel de idioma. distinguiendo entre denotativo y connotativo.

Galderak

1. Zer berrikuntza dakar HEOCak?

¿Qué innovación trae HEOC?

Ikaslea euskararen erabiltzaile izatea du helburu nagusi; horretako, ikaslearen autonomia eta erabilera-estrategiak sustatzeko proposamenak egiten ditu.

El objetivo principal del alumno es ser un usuario de euskera; propone promover la autonomía del alumno y utilizar estrategias.

Ikasprozesua sei mailatan zedarritzen da eta hamaika azpimailatan egituratzen.

El proceso de aprendizaje se divide en seis niveles y se estructura en once subcategorías.

2. Nola jakin dezaket zein den nire maila edo azpimaila?

¿Cómo sé cuál es mi rango o subnivel?

Euskaltegian izena ematen duzunean, trebetasun guztietan duzun gaitasun komunikatiboa aztertuko du irakasleak, azterketa diagnostiko baten bidez:

  • Zer eta zenbat ulertzen duzun entzutean eta irakurtzean.
  • Zer egiteko gai zaren idaztean eta hitz egitean.

Cuando te registres en el centro de estudios, el profesor analizará tu competencia comunicativa en todas las habilidades, a través de un examen de diagnóstico:

  • Qué y cuánto entiendes al escuchar y leer.
  • Lo que puedes hacer al escribir y hablar.

Hizkuntza-maila zein den ongi zehazteko, lau trebetasunetan duzun gaitasun komunikatiboa hartuko da oinarri; horren arabera finkatuko baitzazu abiapuntua (zein maila edo azpimailatan hasiko zaren) eta helburua (zein maila edo azpimailatan) lortu behar duzun.

Para determinar el nivel de dominio del idioma, se basará su competencia comunicativa en las cuatro habilidades; dependiendo de cuál establezca el punto de partida (qué nivel o subnivel comenzará) y la meta (qué nivel o subnivel) debe alcanzar.

3. Zeren arabera zehaztuko zait helburu-maila?

¿Cuál es el nivel objetivo para mí?

Zure abiapuntua kontuan hartuz, ikastaroaren ezaugarri eta baldintzen arabera zehaztuko zaizu, betiere, helbururik lorgarrienaren bila.

Dependiendo de su punto de partida, estará determinado por las características y condiciones del curso, siempre y cuando busque el objetivo más alcanzable.

Azpimailak ere helburu izan daitezke. Abiapuntua zein duzun ikusita, dituzun aukera eta ikastaroaren ezaugarrien arabera, zehaztuko zaizu helburua.

Los subniveles tambien pueden ser objetivos. Dependiendo de su punto de partida, opciones y características del curso, se determinará su objetivo.

4. Zer dira ikastereduak?

¿Qué se les enseña?

HEOCak hiru ikasteredu aurreikusten ditu:

  • Aurrez aurrekoa, taldean irakaslearekin.
  • Autoikaskuntza: ordenagailuz egiten diren ikastaroak.
  • Jardun bikoa: aurrez aurreko jardunak eta autoikaskuntza, elkarren osagarri.

El HEOC prevé tres cursos:

  • Anteriormente, con el profesor en el grupo.
  • Autoestudio: cursos basados en computadora.
  • Doble acción: actividades presenciales y autoinstrucción, complementarias entre sí.

5. Nola uztartu orain arteko eta oraingo ikasbidea?

  • uztartu: combinar
  • orain arteko: hasta aqui
  • ikasbidea: metodo de aprendizaje
  • oraingo ikasbidea: metodo de aprendizaje actual
MailakAzpimailakUrratsa
A1 mailaA1+/- 1-2
A2 mailaA2.1+/- 2-3
A2 mailaA2.2+/- 3-4
B1 mailaB1.1+/- 4-5
B1 mailaB1.2+/- 6
B2 mailaB2.1+/- 7-8
B2 mailaB2.2+/- 9
C1 mailaC1.1+/- 10-11
C1 mailaC1.2+/- 12
C2 mailaC2.1
C2 mailaC2.2

Oharra: urratsen sailkapena hizkuntza-edukien araberakoa zen, eta egungo maila eta azpimailen sailkapena, berriz, gaitasunn komunikatiboaren araberakoa.

Nota: La clasificación de los pasos depende del contenido del idioma, y del nivel actual y la clasificación de los subtipos, en función de la competencia comunicativa.

A1: Hasierako erabiltzailea

A1: Usuario inicial

Gai da eguneroko harremanetan eta aurrez aurreko testuinguru ezagunetan beharrezkoak diren hitzak eta esapide sinpleak ulertzeko eta erabiltzeko, baita berehalako premiei lotutako galderei erantzuteko ere (bere buruaren eta besteren aurkezpena, eta ezagutzen duen jendeari, haien helbideei eta gauzei buruzko oinarrizko informazioa).

Al finalizar este nivel, el alumno sera capaz de comprender y utilizar palabras y expresiones sencillas en sus relaciones cotidianas, en contextos que le sean conocidos, haciendo frente a situaciones relacionadas con necesidades inmediatas (presentarse a si mismo y a otros, indicar su direccion, ofrecer informacion basica sobre objetos y personas conocidas).

A1 Hasierako erabiltzailearen maila lortzeko, 125 irakastorduko prozesua aurreikusten da, betiere ikaslearen abiapuntua kontuan izanik. Horiez gain, ikasleak bakarlanean eta erabilera askean beste 75 ikastordu jardun beharra aurreikusten da.

Para alcanzar el nivel de usuario inicial A1, se planifica un proceso de 125 horas lectivas, dependiendo del punto de partida del alumno. Además, se anticipa que los estudiantes deberán practicar otras 75 horas de trabajo en solitario y uso gratuito.

Entzumena

Comprension oral

En sus relaciones diarias, el alumno es capaz de identificar el tema y la intencion comunicativa de textos orales breves, de comprender palabras y expresiones en conversaciones presenciales o de formular hipotesis sobre el contenido, siempre y cuando el interlocutor le hable de forma clara y pausada en un registro estandar. Del mismo modo, es capaz de comprender preguntas, informaciones y observaciones relacionadas con necesidades inmediatas, siempre y cuando sean acompañadas de pausas, gestos o imagenes.

Expresion oral

En las interacciones presenciales, el alumno es capaz de dar respuesta a sus necesidades comunicativas basicas y de participar de forma breve pero adecuada e inteligible. Para ese fin, utiliza palabras y expresiones basicas, incluyendo pausas, gestos y reformulaciones._

Comprension lectora

El alumno es capaz de identificar el tema y la intencion comunicativa de textos breves que se utilizan a menudo en las relaciones cotidianas, de comprender palabras y expresiones simples y de reconocer informacion previsible. Para estos fines, hara uso del contexto de dichos textos (mensajes cortos, notas simples, listados y carteles) y de las imagenes que los acompañen.

Expresion escrita

El alumno es capaz de escribir mensajes y textos breves (listados, impresos, notas breves, postales), que resulten adecuados al contexto, siguiendo muy de cerca los modelos prefijados. Tiene un control muy limitado de los recursos.

A2: Oinarrizko erabiltzailea

Usuario inicial

Gai da egoera ezagunetan kideekin (lagun, sinde, lankide, etab.) aurrez aurreko elkarreraginean gauzen eta pertsonen deskribapenak eta azalpen errazak egiteko eta ulertzeko, baldin eta bere esperientzia-esparruarekin loturiko gaiei buruzko informazio-truke erraza eta zuzena eskatzen badute: bere buruari eta familiari buruzko oinarrizko informazioa, eta erosketei, intereseko lekuei, lanbideei eta abarri buruzkoa.

Es capaz de hacer descripciones y explicaciones simples de cosas y personas en una interacción cara a cara con miembros (amigos, familiares, colegas, etc.) en situaciones familiares, si requieren un intercambio fácil y directo de información sobre asuntos relacionados con su campo de experiencia: información básica sobre él y su familia, y sobre compras, lugares de interés, profesiones, etc.

A2 Oinarrizko erabiltzailearen maila lortzeko, 200 irakastorduko prozesua aurreikusten da, baldin eta A1 mailatik abiatuta baldin bada. Horiez gain, ikasleak bakarlanean eta erabilera askean beste 100 ordu jardun beharra aurreikusten da.

Para alcanzar el Nivel de Usuario Básico A2, se prevé un proceso de enseñanza de 200 horas, comenzando desde el nivel A1. Además, se anticipa que los estudiantes deberán trabajar solos y por otras 100 horas en uso gratuito.

Entzumena

Comprension oral

Eguneroko egoera ezagunetan, maila bereko solaskideen arteko elkarrizketak eta jarraibideak ulertzeko gai izango da, baita gai ezagunei buruzko azalpenak ulertzeko ere (familia, erosketak, bizitokia, lanbidea, eguraldia, ...), baldin eta informazio zuzena, argia eta poliki ahoskatua bada.

En situaciones cotidianas populares, podrá comprender conversaciones y pautas entre interlocutores del mismo nivel, así como comprender explicaciones de temas familiares (familia, compras, lugar de residencia, profesión, clima, etc.), proporcionar información correcta, si es claro y se pronuncia lentamente.

Mintzamena

Expresion oral

Egoera ezagunetan, kideekin (lagun, senide eta abarrekin) elkarreraginean, gai izango da informazio-truke erraz eta arruntetan moldatzeko, gauzen eta pertsonen deskribapenak egiteko, eta ekintza eta egitarauei buruzko azalpen errazak eta iritziak emateko.

En situaciones familiares, la interacción con los miembros (amigos, familiares, etc.) podrá adaptarse a intercambios de información fáciles y comunes, hacer descripciones de cosas y personas, y proporcionar explicaciones y opiniones simples sobre acciones y programas.

Irakurmena

Comprension escrita

Eguneroko bizitzarekin lotuko testu labur eta errazetan gai izango da, egoera, testuinguru, formatu eta ezagutza orokorream oinarrituz, komunikazio-asmoa, gaia, ideia nagusiak eta xehetasun adierazgarriak atzemateko. Gai izango da edukiari buruzko hipotesiak eratzeko eta aurrekis daitezkeen zehaztasunak baieztatzeko; horretarako, zenbaitetan, irudiak lagungarri izango zaizkio.

Ser capaz de relacionarse con la vida cotidiana en textos cortos y simples, basados ​​en la situación, el contexto, el formato y el conocimiento general, para capturar la intención comunicativa, el tema, las ideas principales y los detalles expresivos. Podrá formular hipótesis sobre el contenido y confirmar detalles predecibles; esto a veces será ayudado por imágenes.

Idazmena

Expresion escrita

Lagunei, senideei, ikaskideei edo lankideei postalak nahiz ohar eta mezu laburrak, izandako esperientzien kontakizun laburrak eta personen deskribapenak idazteko gai izango da, betiere emandako ereduei jarraiki.

Él / ella podrá escribir postales a amigos, familiares, compañeros de clase o colegas, así como notas cortas y mensajes, historias cortas sobre sus experiencias y descripciones de personas, de acuerdo con los modelos proporcionados.

B1: Erabiltzaile independentua

Gai da eguneroko testuinguru ezagunetan eta maila bereko solaskideekin elkarrizketak izateko, gai orokorra eta ohikoa izan eta xedea informazioa trukatzea denean.

Es capaz de mantener conversaciones en contextos cotidianos familiares y con interlocutores del mismo nivel, cuando el tema es general y común y el propósito es intercambiar información.

Era berean, gai da lagunei, senideei, eta ikaskideei edo lankideei instrukzioak emateko, pertsonak eta objektuak labur deskribatzeko eta gertaeren kontaketa laburrak egiteko.

También puede dar instrucciones a amigos, parientes y compañeros de clase o colegas, para describir brevemente personas y objetos, y para dar breves relatos de los eventos.

Gai da, baita ere, bere iritziak labur-labur emateko ete bere asmoak azaltzeko.

También puede dar sus opiniones brevemente y explicar sus intenciones.

B1 Erabiltzaile independentearen maila lortzeko, 250 irakastorduko prozesua aurreikusten da, baldin eta A2 mailatik abiatuta baldin bada. Horiez gain, ikasleak bakarlanean eta erabilera askean beste 150 ikastordu jardun beharra aurreikusten da.

Para alcanzar el nivel de usuario independiente B1, se prevé un proceso de enseñanza de 250 horas, comenzando desde el nivel A2. Además, se anticipa que los estudiantes deberán tomar otras 150 horas de trabajo en solitario y uso gratuito.

Entzumena

Comprension oral

Testuinguru ezagunetan (eskola, aisia, lana...) eta erregistro estandarrean egindako gertaeren kontaketak, azalpenak, deskribapenak, instrukzioak eta elkarrizketak ulertzeko gai izango da, baldin eta gaiak orokorrak badira eta xedea informazioa trukatzea bada.

Podrá comprender la narración, explicación, descripción, instrucción y entrevista de eventos en contextos familiares (escuela, ocio, trabajo ...) y en el registro estándar, siempre que los temas sean generales y el propósito sea intercambiar información.

Horrez gain, komunikazio-asmoa atsemango du, ideia nagusiak jasoko ditu eta, zenbait testuingurutan, baita ñabardunak ere (zaratarik eza, abiadura normala, ahoskera garbia, erredundantzia, ikusizko lagungarriak...), betiere azalpenan bat izateko aukera badu.

Además, él / ella podrá comunicarse, recibir las ideas principales y, en algunos contextos, incluso matices (sin ruido, velocidad normal, pronunciación limpia, redundancia, ayudas visuales ...), siempre que tenga la oportunidad de estar presente en la explicación.

Mintzamena

Expresion oral

Maila bereko solaskideekin elkarrizketak ezateko gai izango da, betiere egoera ezaguna eta gaia orokorra eta arrunta denean, xedea izanik gai konkretu edota abstaktuei buruzko informazioa trukatzea.

Podrá conversar con interlocutores del mismo nivel, siempre que la situación sea familiar y el tema sea general y común, con el objetivo de intercambiar información sobre temas específicos o abstractos.

Era berean, gai da instrukzioak emateko, pertsonak eta objektuak labur deskribatezko, gertaeren eta bizipenen kontaketa laburrak egiteko eta bere iritzia labur baina eraginkor adierazteko.

También puede dar instrucciones, describir brevemente personas y objetos, breves relatos de eventos y experiencias, y expresar su opinión de manera breve pero efectiva.

Irakurmena

Comprension escrita

Ongi egituratutako testu argietan (kronikak, artikulu laburrak, deskribapenak eta argibideak), gai izango da komunikazio-asmoa, gaia, ideia bagusiak, xehetasun adierazgarrienak, diskurtsoaren haria eta ondorioak atzemateko eta ulertzeko, betiere gaiak orokorrak eta ohikoak badira.

En textos claros bien estructurados (crónicas, artículos cortos, descripciones e instrucciones), podrán comprender y comprender la intención comunicativa, el tema, las ideas principales, los detalles más expresivos, el hilo conductor y las conclusiones, siempre que los temas sean generales y comunes.

Idazmena

Expresion escrita

Eguneroko testuinguru ezagunetan esperientziak deskribatzeko, gertaerak kontatzeko eta azalpenak emateko gai izango da, baldin eta gaia orokorra eta arrunta bada.

Podrá describir experiencias, contar eventos y dar explicaciones en contextos cotidianos familiares, siempre que el tema sea general y común.

B2: Erabiltzaile aurreratua

Gai da, gai orokor nahiz abstraktuei buruz aurrez aurre duen solaskideen zein komunikabideetako esatarien testu gehienak ulertzeko, eta ongi bereiziko ditu ideia nagusiak eta bigarren mailakoak. Gai da lagun eta lankideekin, baita jatorrizko hiztunekin ere, ohiko elkarreraginean jarriz, iritzia eskatuz, bere ikuspegia defendatuz, etab.

Ohiko gai eta egoera ezagunetan adierazpen argiak egingo ditu.

Bere lan-esparruko hainbat gairi buruzko deskribapenak eta azalpenak ere emango ditu alderdi esanguratsuak eta xehetasunak bereiziz, eta bere iritzia ere eraginkortasunez emango du.

B2 Erabiltzaile aurreratuaren maila lortzeko, 350 irakastorduko prozesua aurreikusten da, baldin eta B1 mailatik abiatuta baldin bada. Horiez gain, ikasleak bakarlanean eta erabilera askean beste 250 ikastordu jardun beharra aurreikusten da.

Entzumena

Mintzamena

Irakurmena

Idazmena

C1: Erabiltzaile gaitua

Gai da lagunarteko, lan-esparruko eta komunikabideetako edozein testu (elkarrizketak, eztabaidak, azalpenak) ulertzeko; baita inguruko herri-hizkeran sortutakoak ere. Eta gai da, era berean, lagunarteko elkarreraginean, lan-esparruan eta komunikabideetan ideiak eta iritziak jariotasunez eta eraginkortasunez adierazteko. Ongi egituratutako eta osatutako testu argiak eta zehatzak idazteko gai da, ideia nagusiak eta osagarriak bereiziz, eta, oro har, xedea lortzeko estrategia egokiak aukeratuz. Era berean, bere ikuspuntua luze eta zabal adierazteko gai da, ideia osagarriak eta adibide egokiak emanez.

C1 Erabiltzaile gaituaren maila lortzeko, 400 irakastorduko prozesua aurreikusten da, baldin eta B2 mailatik abiatuta baldin bada. Horiez gain, ikasleak bakarlanean eta erabilera askean beste 350 ikastordu jardun beharra aurreikusten da.

Entzumena

Mintzamena

Irakurmena

Idazmena

C2: Erabiltzaile aditua

Gai da norbere espezialitateko nahiz gai orokorretako testuak ulertzeko, eta egoerari egokituz, zuzen eta zehatz, arrakastaz ekoizteko. Gai da, jariotasun handiz eta zehaztasunez, gauzak adierazteko, baita konplexutasun handiko egoeretan esanahiaren ñabardura txikiak bereizteko ere.

Maila honetan matrikulatu ahal izateko, C1 mailaren agiria edo baliokidea izan beharko du ikaslegaiak. C2 Erabiltzaile adituaren maila lortzeko, 200 irakastorduko prozesua aurreikusten da. Horiez gain, bakarlanean eta bere espezialitateari dagokion proiektua garatzen eta lantzen ikasleak beste 500 ikastordu jardun beharra aurreikusten da.

Entzumena

Mintzamena

Irakurmena

Idazmena

# Gramatica Didactica

  • Gramatica Didactica
    • Fonetica y ortografia
      • Ortografia y pronunciacion
        • El alfabeto
        • La particula ez
        • il e in
        • Pronunciacion de la g
        • Pronunciacion de la j
        • Pronunciacion de la s, z, y x
        • Prestamos
        • La h
    • Morfologia
      • Nombres
      • Adjetivos
      • Pronombres personales
      • El articulo
      • Demostrativos
      • Numerales
      • Indefinidos
      • Interrogativos
    • Declinacion
      • Introduccion
        • Casos de la declinacion
        • El orden
        • El numero
        • La forma indeterminada
        • El llamado plural hurbila
        • Animados e Inanimados
        • Fonetica
        • Palabras terminadas en a
      • Los casos
        • Nor
        • Nork
        • Nori
        • Partitivo
        • Noren
        • Norentzat
        • Norekin
        • Zerez / Zertaz
        • Non
        • Nondik
        • Nora
        • Norantz
        • Noraino
        • Nongo
        • Norako
        • Norengan
        • Norengana
        • Norengandik
        • Norengatik
        • Nortzat
      • Sintesis
    • Morfologia: apendice
      • Nola es distinto de Nolako
      • Oso / Nahiko / samar
        • Nahiko (aski)
        • Samar
        • Dezente (sano)
        • Oso
        • Izugarri (ikaragarri, itzel)
        • Erabat / batere
        • Guztiz (zeharo)
        • Txiki-txikia
        • Alfer hutsa
      • Bat / batzuk
      • Bestea es distinto de beste bat
      • Posposiciones
        • Gabe (barik)
        • Gainean / azpian
        • Aurrean / atzean
        • Ondoan (alboan, aldamenean)
        • Barruan (barnean) / kanpoan (at)
        • Artean
        • Zeren alde / kontra (aurka)
        • Zeren bidez (bitartez)
      • Usos de ere
      • Inor / norbait / edonor
      • Asko es distinto de handia
      • Pronombres personales intensivos
    • El verbo
      • El verbo en euskera
      • El verbo principal
      • El verbo auxiliar
      • Indicativo
      • Potencial: presente
      • Imperativo
      • Formas sinteticas
      • Verbos compuestos
      • Verbos problematicos
      • La nominalizacion
    • Sintaxis
      • La oracion simple
      • El orden de las palabras
      • La coordinacion
      • La subordinacion
    • Nociones
      • Nociones de tiempo
      • La hora
      • Expresiones temporales
      • La fecha
      • El tiempo atmosferico
      • Las sensaciones
      • Los sentidos
      • Los numeros
      • Medidas
    • Apendices

Nire Apunteak

Izen Sintagma

Izenordain erakusleak (pronombres demostrativos)

NorNorkNoriNonNongoNorenNorekin
Singularra
HauHonekHoniHonetanHonetakoHonenHonekin
HoriHorrekHorriHorretanHorretakoHorrenHorrekin
HuraHarkHariHartanHartakoHarenHarekin
Plurala
HauekHauekHaueiHauetanHauetakoHauenHauekin
HoriekHoriekHorieiHorietanHorietakoHorienHoriekin
HaiekHaiekHaieiHaietanHaietakoHaienHaiekin

Lekuzko adberbioak (adverbios de lugar)

EuskerazGazteleraz
Non
HemenAqui
HorAlli
HanAlla
Nongo
HemengoDe aqui
HorkoDe alli
HangoDe alla

Denborazko adberbioak (adverbios de tiempo)

EuskerazGazteleraz
Nongo
AtzokoDe ayer
GaurkoDe hoy
BiharkoDe mañana
LehengoDe antes
OraingoDe ahora

Kasuak

AbsolutiboaNorQuien?
ZerQue?
Partitiboa
ErgatiboaNorkQuien?
ZerkQue?
DatiboaNoriA quien?
Jabego-genitiboaNorenDe quien?
Xedezko-destinatiboaNorentzatPara quien?
SoziatiboaNorekinCon quien?
MotibatiboaNorengatik
InesiboaNorengan
AblatiboaNorengandik
AdlatiboaNorengana
Muga-adlatiboaNorenganaino
Hurbiltze-adlatiboaNorenganantz
InesiboaNonDonde?
AdlatiboaNoraA donde?
Muga-adlatiboaNorainoHasta donde?
Hurbiltze-adlatiboaNorantzHacia donde? (sentido)
Adlatibo destinatiboaNorako
AblatiboaNondikDe donde?
Leku-genitiboaNongoDe donde? (provenienica)
ProlatiboaNortzat
InstrumentalaZerez/Zertaz
ZeinCual?
ZertaraA que?
ZertarakoPara que?

Nor

Nor es el caso basico, aquel del que derivan todos los demas añadiendo distintos sufijos. Es el mas sencillo de todos, puesto que no lleva ningun sufijo, i.e. basta con poner la palabra en la forma determiada (con articulo singular o plural) o bien en la forma indeterminada.

  • etxe: casa (indeterminado)
  • etxea: la casa (singular)
  • etxeak: las casas (plural)

El caso nor se emplea normalmente en los siguientes casos:

  • Como sujeto de oraciones intransitivas, i.e. aquellas en las que no hay un objeto sobre el que recaiga la accion del sujeto.
    • Ni etxera noa: Yo me voy a casa
    • Gurasoak ez daude etxean: Los padres no estan en casa.
  • Como objeto de oraciones transitivas, i.e. aquellas oraciones en las que hay un objeto sobre el que recae la accion del sujeto.
    • Sagarrak jan ditut: He comido manzanas.
    • Liburu bat irakurri dut: He leido un libro.
    • Lagun bat ikusi dut: He visto a un amigo.
  • Como atributo
    • Ni medikua naiz: Yo soy medico.
    • Hauek txikiak dira: Estas son pequeñas.

En ocasiones en castellano se utiliza una preposicion como equivalente del caso nor. Asi ocurre que mientras en euskera se dicen de la misma forma "liburu bat" y "lagun bat", i.e. ambos en el caso nor, en castellano se dicen diferente "un libro" / "a un amigo", segun se trate de personas o de objetos.

Errores tipicos

Un error frecuente consiste en emplear este caso como en castellano, de tal forma que se utilizan las palabras sin articulo, i.e. en la forma indeterminada, en casos en los que es necesario el ariculo.

GaztelerazGaizkiOndo
Quiero chocolate.Txokolate_ nahi dut.Txokolatea nahi dut.
Yo he pedido un zurito.Nik zurito_ eskatu dut.Nik zuritoa eskatu dut.
Me gusta el rock.Rock_ gustatzen zait.Rocka gustatzen zait.
Necesito dinero.Diru_ behar dut.Dirua behar dut.

Izan (ser)

Subjektu
NinaizYosoy
HihaizTueres
HaudaEstees
HoridaEsees
HuradaAqueles
GugaraNosotrossomos
ZuzaraTueres
ZuekzareteVosotrossois
HauekdiraEstosson
HoriekdiraEsosson
HaiekdiraAquellosson

Egon (estar)

Subjektu
NinagoYoestoy
HihagoTuestas
HaudagoEsteesta
HoridagoEseesta
HuradagoAquelesta
GugaudeNosotrosestamos
ZuzaudeTuestas
ZuekzaudeteVosotrosestais
HauekdaudeEstosestan
HoriekdaudeEsosestan
HaiekdaudeAquellosestan

Nork

  • Sufijos
    • Determinado:
      • Singular: -ak
      • Plural: -ek
    • Indeterminado: -(e)k
  • Interrogativos
    • Nork
    • Nortzuek
    • Zerk
    • Zeinek
    • Zeintzuek
    • Zenbatek
  • Demostrativos
    • Plural
      • Honek
      • Horrek
      • Hark
    • Singular
      • Hauek
      • Horiek
      • Haiek
  • Pronombres personales
    • Nik
    • Hik
    • Hark
    • Guk
    • Zuk
    • Zuek
    • Haiek

El caso nork es el que mas dificultades presenta al estudiante de euskera, pues no existe en castellano nada que se le parezca.

  • (nor) Miren etorri da: Ha venido Miren.
  • (nork) Mirenek egin du: Lo ha hecho Miren.

En castellano el sujeto de amboas oraciones es el mismo y se expresa de la misma forma (Miren). En euskera el sujeto, siendo el mismo, aparece en distintos casos en un y otro ejemplo. En el primer ejemplo se emplea el caso nor, mientras que en el segundo se emplea el caso nork.

Esto es debido a que el euskera emplea dos clases de sujetos, cosa que no ocurre en castellano.

  • (nor) Katua hil da: Se ha muerto el gato.
  • (nork) Katuak sagua hil du: El gato a matado al raton.

En el primer ejemplo el sujeto (katua) realiza una accion intransitiva; i.e. la accion no recae sobre ningun objeto: es el mismo sujeto el que recibe la accion. En el segundo ejemplo, el sujeto (katuak) realiza una accion que recae sobre otro sujeto (sagua); i.e. se trata de una accion transitiva. El euskaldun siente de forma diferente ambos sujetos.

  • Mutila autoan sartu du: El chico ha entrado en el coche.
  • Mutilak autoa sartu du: El chico ha metido el coche.
  • Ogia amaitu da: Se ha terminado el pan.
  • Josuk ogia amaitu du: Josu se ha terminado el pan.

En euskera el sujeto de una oracion intransitiva y el objeto de una oracion transitiva van en el mismo caso: nor. Observese tambien como varia el verbo auxiliar (da / du) de un caso a otro.

  • Nork apurtu du hau? Ume horrek apurtu du.
    • Quien ha roto esto? Lo ha roto esa niña.
  • Nortzuek egin dute? Lagunek egin dute.
    • Quienes lo han hecho? Lo han hecho los amigos.
  • Aitorrek betaurrekoak apurtu ditu.
    • Aitor ha roto las gafas.
  • Nik ez dut edaten.
    • Yo no bebo.
  • Ume txiki horrek kaka egin du.
    • Ese niño pequeño se ha hecho caca.
  • Lagun batek ekarri du.
    • Lo ha traido un amigo.
  • Irakasleak esan du.
    • Lo ha dicho la profesora.
  • Jende gutxik daki hori.
    • Poca gente sabe eso.
  • Edozein umek daki hori.
    • Eso lo sabe cualquier niño.
  • Zenbatek daki? Hiruk dakite.
    • Cuantos lo saben? Lo saben tres.

En todos estos ejemplos, hay un objeto sobre el que recae la accion, aunque no siempre aparece explicitamente, pues en ocasiones esta sobreentendido. En la oracion "Irakasleak esan du" es evidente que el profesor ha dicho algo, si bien no se dice que.

En ocasiones pueden surgir confusiones entre el plural del caso nor y el singular del caso nork, pues toman la misma forma.

  • (nor) Lagunak etorri dira: Han venido los amigos.
  • (nork) Lagunak egin du: Lo ha hecho el amigo.

En la practica no suele haber confusiones, ya que se distinguen por el acento, la forma del verbo y el contexto.

NorNork
Singularhauhonek
horihorrek
hurahark
Pluralhauekhaiek
horiekhaiek
haiekhaiek

Nombres 'comunes': en nork singular, si termina en vocal se le agrega -ak. En nork singular, si termina en consonante se le agrega -ak. En nork plural se le agrega -ek.

Nombres 'propios': -(e)k.

Nork plural

  • dut -> dITut
  • duzu -> dITuzu
  • du -> dITu
  • dugu -> dITugu
  • duzue -> dITuzue
  • dute -> dITuzte

Ukan (tener/haber)

Subjektu
Objektu Singularra
NikdutYotengo
HikdukTu (a chico)tienes
HikdunTu (a chica)tienes
HonekduEstetiene
HorrekduEsetiene
HarkduAqueltiene
GukduguNosotrostenemos
ZukduzuTutienes
ZuekduzueVosotrosteneis
HauekduteEstostienen
HoriekduteEsostienen
HaiekduteAquellostienen
Objektu Plurala
NikditutYotengo
HikditukTu (a chico)tienes
HikditunTu (a chica)tienes
HonekdituEstetiene
HorrekdituEsetiene
HarkdituAqueltiene
GukdituguNosotrostenemos
ZukdituzuTutienes
ZuekdituzueVosotrosteneis
HauekdituzteEstostienen
HoriekdituzteEsostienen
HaiekdituzteAquellostienen

Eduki (tener)

Subjektu
Objektu Singularra
NikdaukatYotengo
HikdaukakTu (a chico)tienes
HikdaukanTu (a chica)tienes
HonekdaukaEstetiene
HorrekdaukaEsetiene
HarkdaukaAqueltiene
GukdaukaguNosotrostenemos
ZukdaukazuTutienes
ZuekdaukazueVosotrosteneis
HauekdaukateEstostienen
HoriekdaukateEsostienen
HaiekdaukateAquellostienen
Objektu Plurala
NikdauzkatYotengo
HikdauzkakTu (a chico)tienes
HikdauzkanTu (a chica)tienes
HonekdauzkaEstetiene
HorrekdauzkaEsetiene
HarkdauzkaAqueltiene
GukdauzkaguNosotrostenemos
ZukdauzkazuTutienes
ZuekdauzkazueVosotrosteneis
HauekdauzkateEstostienen
HoriekdauzkateEsostienen
HaiekdauzkateAquellostienen

Adibideak

EuskerazGazteleraz
Nik liburu bat dut.Yo tengo un libro.
Honek liburu bat du.Este tiene un libro.
Horiek liburu bat du.Ese tiene un libro.
Haiek liburu bat du.Aquel tiene un libro.
Guk liburu bat dugu.Nosotros tenemos un libro.
Zuk liburu bat duzu.Vos tenes un libro.
Zuek liburu bat duzue.Vosotros teneis un libro.
Hauek liburu bat dute.Estos tienen un libro.
Horiek liburu bat dute.Esos tienen un libro.
Haiek liburu bat dute.Aquellos tienen un libro.
Nik liburu batzuk ditut.Yo tengo unos libros.
Honek liburu batzuk ditu.Este tiene unos libros.
Horiek liburu batzuk ditu.Ese tiene unos libros.
Haiek liburu batzuk ditu.Aquel tiene unos libros.
Guk liburu batzuk ditugu.Nosotros tenemos unos libros.
Zuk liburu batzuk dituzu.Vos tenes unos libros.
Zuek liburu batzuk dituzue.Vosotros teneis unos libros.
Hauek liburu batzuk dituzte.Estos tienen unos libros.
Horiek liburu batzuk dituzte.Esos tienen unos libros.
Haiek liburu batzuk dituzte.Aquellos tienen unos libros.
Errores tipicos

Uno de los errores mas frecuentes consiste en emplear el caso nor en lugar de nork., debido a que en castellano no existe esa distincion.

GaztelerazGaizkiOndo
Yo creo que...Ni uste dut...Nik uste dut...
Esta mesa no tiene cajon.Mahai hau ez dauka tiraderarik.Mahai honek ez dauka tiraderarik.
Eso no vale.Hori ez du balio.Horrek ez du balio.
Yo no lo se.Ni ez dakit.Nik ez dakit.

Otro error tipico consiste en lo contrario, i.e. en utilizar el caso nork cuando debiera emplearse nor.

GaztelerazGaizkiOndo
Yo no estoy de acuerdo.Nik ez dago konforme.Ni ez nago konforme.
Yo no voy.Nik ez noa.**Ni ez noa.
Ariketak
GaztelerazEuskaraz
Quien te lo ha dicho. Me lo ha dicho un amigo.Nork esan dizu? Lagun batek esan dit.
Cuantos alumnos han aprobado: dos o tres?Zenbat ikaslek gainditu du(te), bik ala hiruk?
Que equipo ha ganado: el de aqui o el de fuera?Zein ekipok irabazi du, hemengoak ala kanpokoak?
Eso lo sabe cantidad de gente.Hori jende askok (hainbat jendek) daki.
No lo ha traido Itziar; lo ha traido esa chica.Ez du Itziarrek ekarri, neska horrekekarri du.
Los medicos no saben nada.Medikuek ez dakite ezer.
Cuanto vale uno nuevo?Zenbat balio du berri batek?
Los dos lo han hecho bien.Biek egin dute ondo.
Dos lo han hecho mal.Bik txarto egin dute.
Quienes han ganado: los rojos o los azules?Nortzuek irabazi dute, gorriek ala urdinek?
Eso lo sabe cualquiera.Hori edonork daki.
Si no lo haces tu, lo hara otro.Zuk egiten ez baduzu, beste batek egingo du.

Nori

  • Sufijos:
    • Determinado
      • Singular: -ari
      • Plural: -ei
    • Indeterminado: -(r)i
  • Interrogativos
    • Nori
    • Nortzuei
    • Zeri
    • Zeini
    • Zeintzuei
    • Zenbati
  • Demostrativos
    • Singular
      • Honi
      • Horri
      • Hari
    • Plural
      • Hauei
      • Horiei
      • Haiei
  • Pronombres personales
    • Niri
    • Hiri
    • Hari
    • Guri
    • Zuri
    • Zuei
    • Haiei

El casi nori, al igual que los casos nor y nork, tiene una particularidad que le distingue del resto: la presencia o no de estos casos hace cambiar la forma del verbo.

Si utilizamos el caso nori, debemos conjugar el verbo en concordancia.

  • Irakasleari bolaluma galdu zaio: Al profesor se le ha perdido el boligrafo.
  • Lagunei ez diet ezer isan: a los amigos no les he dicho nada.
  • Hori hainbat jenderi gertatzen zaio: Eso le ocurre a cantidad de gente.
  • Mutil gazte horri eman diot: Se lo he dado a ese chico joven.
  • Zenbati esan diezu?: A cuantos se lo has dicho?
  • Hiru ikasleri ahaztu zaie: Se les ha olvidado a tres alumnos.
  • Hiru ikasleei ahaztu zaie: Se les ha olvidado a los tres alumnos.
  • Josuri gustatzen ez bazaio, emadazu niri: Si a Josu no le gusta, damelo a mi.
  • Lagun bati deitu behar diot: Tengo que llamarle a una amiga.
Subjektu
Objetku Singularra
NirizaitA mi
HirizaikA ti
HirizainA ti
HonizaioA este
HorrizaioA ese
HarizaioA aquel
GurizaiguA nosotros
ZurizaizuA ti
ZueizaizueA vosotros
HaueizaieA estos
HorieizaieA esos
HaieizaieA aquellos
Objektu Plurala
NirizaizkitA mi
HirizaizkikA ti
HirizaizkinA ti
HonizaizkioA este
HorrizaizkioA ese
HarizaizkioA aquel
GurizaizkiguA nosotros
ZurizaizkizuA ti
ZueizaizkizueA vosotros
HaueizaizkieA estos
HorieizaizkieA esos
HaieizaizkieA aquellos
Errores tipicos

Un error frecuente consiste en emplear el caso nori en luar de nor, por influencia del castellano. En el caso nor, se vio que en determinadas ocasiones el castellano utiliza la preposicion a cuando en euskera se uztiliza el caso nor.

GaztelerazGaizkiOndo
He visto a Jon.Joni ikusi diot.Jon**_** ikusi dut.
No le toques al niño.Ez ukitu umeari.Ez ukitu umea.
A mi no me conoce.Niri ez dit ezagutzen.Ni ez nau ezagutzen.

En todos estos ejemplos, el euskera emplea el caso nor y no nori. En castellano se utiliza la preposicion a, si bien esto no ocurre siempre, ya que cuando en lugar de personas se trata de objetos o animales la preposicion a no se dice.

  • He visto a Koldo.
  • He visto un libro.

Otro error frecuente consiste en declinar incorretamente bat y los demostrativos.

GaztelerazGaizkiOndo
Se lo he dado a una amiga.Lagun bateri eman diot.Lagun bati eman diot.
Preguntaselo a esa chica.Galdeiozu neska horreri.Galdeiozu neska horri.
A este no se lo digas.Honeri ez esan.Honi ez esan.
Ariketak
GaztelerazEuskaraz
Al niño se le han roto las gafas.Umeari betaurrekoak apurtu
A mis padres se les ha estropeado el coche.
A las chicas les gusta el rojo, y a los chicos el azul.
Se lo he dicho a dos amigos.
Se lo he dicho a los dos.
A poca gente le gusta.
Eso le sucede a mucha gente.
A Itziar se le ha perdido el reloj.
A que chica le has escrito la carta?
A vosotros no os gusta nada.
A esos niños pequeños se les ha muerto la madre.
A un amigo mio le ha tocado la loteria.
A quien se le ha olvidado?
A quienes se lo has dicho?
Le he visto a Koldo.
Se lo he dado a Koldo.

Non

Nongo

Observese que el nombre del caso termina en -goa y el sufjio que le corresponde es -goa si el nombre del lugar termina en consonante y -koa si termina en vocal.

AdibideEjemplos
Ni Bahia Blancakoa naiz.Yo soy de Bahia Blanca.
Zu Bahia Blancakoa zara.Vos sos de Bahia Blanca.
Hau Bahia Blancakoa da.Eso es de Bahia Blanca.
Hori Bahia Blancakoa da.Esto es de Bahia Blanca.
Hura Bahia Blancakoa da.Aquello es de Bahia Blanca.
Gu Bahia Blancakoa gara.Nosotros somos de Bahia Blanca.
Zuek Bahia Blancakoa zarete.Ustedes son de Bahia Blanca.
Hauek Bahia Blancakoa dira.Esos son de Bahia Blanca.
Horiek Bahia Blancakoa dira.Estos son de Bahia Blanca.
Haiek Bahia Blancakoa dira.Aquellos son de Bahia Blanca.
Nongoa zara zu?De donde sos vos?
Ni Bahia Blancakoa naiz.Yo soy de Bahia Blanca.
Nongoa dira zure gurasoak?De donde son vuestros padres?
Nire aita Olavarriakoa da eta nire ama Trelewgoa da.Mi padre es de Olavarria y mi madre es de Trelew.
J. L. Borges Palermokoa da.J. L. Borges es de Palermo.
Saramago Portugalgoa da.Saramago es de Portugal.
Haiek Veronakoak dira.Aquellos son de Verona.
  • gurasoak: padres

Noren

Sustantivo comun singular-arenMutilaren
Sustantivo comun plural-enMutilen
Sustantivo propio-(r)enMartinen
Iñakiren
SingularNire
Zure
Honen
Horren
Haren
Bere
PluralGure
Zuen
Hauen
Horien
Haien
Nire ordenagailua txikia da.Mi computadora es chiquita.
sustantivo comun  singular AREN  mutilaren
sustantivo comun  plural   EN    mutilen
sustantivo propio          (R)EN martinen
Singular NIRE
         ZURE
         HONEN
         HORREN
         HAREN
         BERE

Plural   GURE
         ZUEN
         HAUEN
         HORIEN
         HARIEN

e.g.

  • Nire ordenagailua, txoria da
  • Nirea grisa (da)

Adiztak

Aditz trinkoak

EuskarazGazteleraz
atxikiunir
edukitener
eginhacer
egonestar
ekarritraer
emandar
entzunescuchar
erabiliusar
eramanllevar
erionfluir
esandecir
etorrillegar
etzanyacer
ezagutuconocer
ibiliandar
ikusiver
irakinhervir
iraunpermanecer
iritzillamar
irudiparecer
jakinsaber
jardunejercer
jariofluir
jarraikiseguir
joanir

Nor-Nori

Nor-Nork

Nor-Nori-Nork

Subjektu
Objektu Singularra
Nikdiot
Hikdiok / dion
Hikdiok / dion
Honekdio
Horiekdio
Harkdio
Gukdiogu
Zukdiozu
Zuekdiozue
Hauekdiote
Horiekdiote
Haiekdiote
Objektu Plurala
Nikdizkiot
Hikdizkiok / dizkion
Hikdizkiok / dizkion
Honekdizkio
Horiekdizkio
Harkdizkio
Gukdizkiogu
Zukdizkiozu
Zuekdizkiozue
Hauekdizkiote
Horiekdizkiote
Haiekdizkiote

Adibideak

EuskarazGazteleraz
Nik hari liburu bat eman diot.Yo le he dado un libro.
Hark hari liburu bat eman dio.Aquel le ha dado un libro.
Nik hari liburu batzuk eman dizkiot.Yo le he dado unos libros.

Lexiko (Vocabulario)

Personas

MasculinosFemeninos
IñakiAinhoa
KoldoUxue
GorkaMaite

Familia

aitonaabueloamonaabuelaaitona-amonak
aitapadreamamadregurasoak
semehijoalabahijaseme-alabak
bilobanieto/a
anaiahermano de varon
nebahermano de mujer
ahizpahermana de mujer
arrebahermana de varon
osabatioizebatia
ilobasobrino/a
lengusuprimolengusinprima
senaesposoemazteesposasenar-emazteak
aitaginarrebasuegroamaginarrebasuegraaita-amaginarrebak
suhiyernoerrainanuera
koinatucuñadokoinatacuñada

Sustantivos

Comida

  • Fruta

    • Banana: banana
    • Manzana: sagar
    • Naranja: laranja
    • Mandarina: mandarina
    • Limon: limoi, zitroin
    • Pera: udare, madari
    • Durazno:
    • Ciruela: aran, okaran
    • Frutilla: marrubi, arrega
    • Cereza: gerezi
    • Mora: masusta
    • Frambuesa: mugurdi, masustia gorri, martxuka gorri
    • Tomate: tomate
  • Verdura

    • Papa: patata
    • Batata: batata
    • Zapallo:
    • Cebolla: tipula
    • Cebolla de verdeo:
    • Lechuga: uraza, letxuga
    • Acelga: zerba
    • Espinaca: ziazerba, espinaka, espinagre
    • Rucula: errukula
  • Carne

    • Bife: xerra
    • Pescado: arrain
    • Filet: xerra
    • Pollo: oilo
    • Pechuga: bularki
  • Cereales

    • Pan: ogi
    • Trigo: gari
    • Avena: olo
    • Cebada: garagar
    • Centeno: zikirio, zekale
  • Lacteos

    • Vaca: behia
    • Leche: esne
    • Crema: esne-gain, krema
    • Manteca: gurin
    • Queso: gazta
  • Hierbas

    • Oregano: loragino
    • Perejil: perrexil
    • Laurel: ereinotz, erramu
    • Tomillo: ezkai, xarbot, elar, erle-belar
  • Especias

    • Canela: kanela
    • Jengibre: jengibre
    • Clavo de olor:
    • Pimienta negra: piperbeltz beltz
    • Pimienta blanca: piperbeltz zuri
    • Anis: anis-belar
    • Aji:
    • Pimenton: piperrauts
    • Curcuma:
  • Condimentos

    • Sal: gatz
    • Azucar: azukre
  • Euskalerriko Itsas Abereak (peces)

    • Aguja, saltón = Akula
    • Almeja = Almeja
    • Anchoa, bocarta = Bokarta, albokartia, antxua
    • Anguila, martina = Aingira
    • Arenque = Sardin igarra
    • Babosa = Itsas bare
    • Bacalao, abadejo = Bakalloa
    • Balano = Itsas-ezkur
    • Breca, alitán = Momarra, lamotia
    • Caballito de mar = itxas zaldia
    • Cangrejo = Kamarroa, txangurroa, amarrete
    • Capatón = Lizarra
    • Carpa = Zamo
    • Castañola, palometa = Papalardu, lanpua
    • Cazón, mozuela = Tolla, katuarraia
    • Centollo = Armiarma, txangurro
    • Cherna = Meru
    • Chicharro = Txitxarro
    • Chucho, rata = Tramana
    • Cigala, maganto = Zigala, amarratza
    • Congrio = Kongrioa, itsas aingira
    • Coquina, tellina = Tellina, txirla
    • Corcón, albura = Korrokoi
    • Dabeta, alisa = Korkoi, dabeta
    • Esturión, sollo = Gaizkata
    • Faneca, capellán = Palenka, paneka
    • Garrabota, boquidulce = Kardia
    • Golayo, colayo = Pinpiñua, itxugia
    • Lacha, sardina = Kalaka, kokuta
    • Lamprea marina = Lanparda, lanpardi
    • Langosta = Otarraina
    • Langostino = Otarraintxoa
    • Lija = Pikua, katea
    • Madrilla, boga = Loina
    • Marrajo, tiburón = Itsas-otso, tintoleta
    • Mejillón = Muskullu
    • Merillo, serrano = Karraspio
    • Merlán sarreta = Letxera
    • Merluza, pescadilla = Legatza, legazkume
    • Mero de roca, cherna = Kabra
    • Mielga, ferrón = Melga
    • Morena, murena = Aingira, itsas-suge
    • Nécora, andarico = Txamarra
    • Palometa blanca = Lanpua, lintxa
    • Paparda, aguja = Balaon
    • Percebe = Lanperna
    • Peregrino, tiburón, ballena = Kolayua
    • Pez ángel, angelote = Aingeru goardakoa
    • Pez luna = Atalua, ilargi arraia
    • Pez martillo = Maillu arrain
    • Pez pero, pintaroja, toll = Katuarraya, moratxa
    • Pez plata = Abixui
    • Pez volador = Ega-arrain, txoriarrain
    • Pez zorra, rabosa = Itsas-azari
    • Pota, volador, lora = Egatxubia, kalmarra
    • Pulpo común = Amarrete, olagarroa
    • Quisquilla, camarón = Izkira
    • Rata de mar = Itsaskatua
    • Rata, ratón = Fosforua
    • Raya = Aluba
    • Raya = Anai zabala, gastaka
    • Salmón común = Izokia, ixokia
    • Salmonete, barbarín = Barbariña, izokia semea
    • San Martín, pez de San Pedro = Mutxu martin, martiña
    • Sardina, parrocha = Txardiña, parritxa
    • Tenca = Zaparda
    • Tremielga, vaca, torjedo = Eskuikari, ikaraiua
    • Trucha = Amuarraya, arraukari, amorroia
  • Hegaztiak (aves)

    • Abubilla = Argi oilar
    • Agachadiza común = Istingor arrunta
    • Alca común = Pottorro
    • Anade real = Basahate
    • Andarríos chico = Kuliska txiki
    • Ansar común = Antzara
    • Ave fría = Hegabera
    • Buitre = Sai arre
    • Carbonero = Kaskabeltz
    • Chocha-perdiz = Oilagorra
    • Chochín = Txepetx
    • Chorlitos = Txirriak
    • Chovas = Belantxingak
    • Cigüeña común = Amiamoko zuria
    • Codorniz = Galeper
    • Cogujada común = Hegatxabal ttonttordun
    • Cuco = Kuku
    • Cuervo = Bele
    • Estorninos = Araba zozoak
    • Ganso = Antzarra
    • Gaviota = Kaio, antxeta
    • Golondrina = Enara
    • Gorrión = Txolarre, lapur-txori
    • Grulla = Kurrilloa
    • Halcón = Belatzandi
    • Halcón abejero = Sapelats liztorjale
    • Jilguero = Karnaba
    • Lechuza = Hontza
    • Martín pescador = Martin arrantzale
    • Milano negro = Miru beltz
    • Mirlo = Zozoa
    • Mochuelo = Mozolo
    • Paloma torcaz = Pagauso
    • Perdiz roja = Eper gorri
    • Petirrojo = Txantxangorri
    • Polla de agua = Uroilo
    • Ruiseñor = Urretxindor, errusinol
    • Ruiseñor bastardo = Errekatxindor
    • Tórtola = Usapal
    • Urraca = Mika
    • Vencejo = Sorbeltz arrunt
    • Verderón = Txorru
    • Zorzal = Birigarro
  • Zuhaitzak (árboles)

    • Abedul = Urki
    • Acebo = Gorosti
    • Aliso = Haltz
    • Arce = Astigar
    • Avellano = Urritz
    • Boj = Ezpel
    • Castaño = Gaztain
    • Cerezo = Gereziondo
    • Chopo = Makal
    • Ciruelo = Aranondoa
    • Encina = Arte
    • Enebro = Epuru
    • Espino blanco = Elorri
    • Fresno = Lizar
    • Haya = Pago
    • Higuera = Pikondo
    • Laurel = Erenoitz
    • Madroño = Urbi
    • Manzano = Sagarrondo
    • Níspero = Mizpirondo
    • Nogal = Intxaurrondo
    • Olmo = Zumar
    • Peral = Udarondo, madariondo
    • Pino = Pinu
    • Plátano = Albo
    • Roble = Haritz
    • Sauce = Sarats
    • Sauco = Intsusa
    • Tejo = Hagin
    • Tilo = Ezki

Oilasko-bularkiak erosi ditut

He comprado pechugas de pollo

Vajilla

  • Plato: plater
  • Vaso: edalontzi, baso
  • Cuchillo: aizto, ganibet, labana
  • Tenedor: sardexka, tenedore
  • Cuchara: koilara

Muebles

  • Mesa: mahai
  • Silla: aulki
  • Sillon: besaulki
  • Sofa: sofa
  • Cama: ohe, ohatze
  • Ropero: arropategi, jantzitegi
  • Biblioteca: liburutegi
  • Estanteria: apalategi

Herramientas

  • Martillo
  • Pinza
  • Hacha
  • Sierra

Lugares

  • Casa
  • Cocina

Adjetivos

EuskeraCastellano
berrinuevo
gaxtejoven
zaharviejo
politbonito
itsusifeo
handigrande
txikichico
zabalancho
estuangosto
luzelargo
laburcorto
altualto
baxubajo
langiletrabajador
alfervago
garbilimpio
zikinsucio
alaialegre
tristetriste
atseginagradable
jatormacanudo
lasaitranquilo
urdinnervioso
ilehorirubio
ilegorripelirrojo
beltzaranmorocho
burusoilpelado

Sabores

  • Salado: gazi
  • Dulce: gozo, goxo
  • Picante: min, pikante
  • Amargo: mingots, mikatz, mingar, karmin

Caracteristicas fisicas

  • Grande:
  • Chico:
  • Largo:
  • Corto:
  • Fino:
  • Grueso:
  • Ancho:
  • Delgado:
  • Gordo:

Colores

  • Rojo;
  • Naranja:
  • Amarillo:
  • Verde:
  • Azul:
  • Violeta:
  • Marron:
  • Negro:
  • Blanco:
  • Gris:

Verbos

  • Ir: joan
  • Venir: etorri
  • Llevar: eraman
  • Traer: ekarri
  • Levantar: altxatu
  • Apoyar: bermatu
  • Caminar: ibili
  • Correr: korrika egin
  • Dormir: lo egin
  • Despertar: esnatu
  • Comer: jan
  • Beber: edan
  • Leer: irakurri
  • Escribir: idatzi
  • Estudiar: ikasi

Adverbios de lugar

  • Sobre / arriba de:
  • Debajo
  • Al lado
  • Delante
  • Detras

Partes del cuerpo

  • Cabeza: buru
  • Pelo: ile
  • Cara: aurpegi
  • Ojos: begi
  • Nariz: sudurra
  • Labio: ezpain
  • Oreja: belarri
  • Hombro: sorbalda
  • Brazo: beso
  • Codo: ukondo
  • Mano: esku
  • Dedo: hatz, eri, atzamar, behatz
    • meñique: hatz txiki
    • dedo anular: hatz nagi
    • dedo medio: hatz luze, erdiko eri
    • dedo indice: hatz/eri erakusle
    • pulgar: hatz lodi, eri handi
  • Pecho: bular
  • Espalda: bizkar
  • Cintura: gerri
  • Falda: magal
  • Piernas: zango
    • entre rodilla y talon: berna
  • Pies: oin
  • Codo: Ukondo

Expresiones

Oculista = Okulista Dentista = Haginlari Ardilla = Urtxintxa Moneda = Txanpona Estafa = Maula/Iruzurra Cementerio = Hilerria Luz = Argia Luciérnaga = Ipurtargia Pueblo abandonado = Herri hutsa Pueblo deshabitado = Herri soila Ayuntamiento = Udala Pato = Ahatea Ganso = Antzara Barrer = Ekortu Seso = Garuna Cena = Afaria Conocimiento = Jakintza Corredor = Korrikalari Atleta = Atleta Trastero= Trasteleku Cordón = Lokarria Demasiado = Gehiegi Abundante = Ugari

  • Tirar = Bota
  • Comba = Soka
  • Columpio = Zabua
  • Cocina = Sukaldea
  • Encimera = Gainekoa
  • Arcón = Kutxatzar
  • Aire acondicionado = Aire girotua
  • Abanico = Haizemailea
  • Esperando = Itxaroten
  • Descansando = Atseden hartzen
  • Impaciente = Zazpikia/Egonagarri
  • Enroscar = Kiribildu
  • Desafío = Erronka
  • Apuesta = Apustua
  • Guisar = Janaria prestatu
  • Aplanar = Lautu
  • Despreciar = Mespretxatu
  • Repartir = Banatu
  • Grasa = Koipea
  • Intriga = Jakin mina
  • Picadura = Ziztada
  • Tendero = Dendari
  • Sastreria = Joskintza
  • Sindicatos = Sindikatua
  • Semana Santa = Aste santua
  • Armónica = Harmonika
  • Collar = Lepokoa
  • Cadena = Katea
  • Dependiente = Saltzailea
  • Temporal = Ekaitza
  • Quiosquero = Kioskoko saltzailea
  • Crecimiento = Hazkundea
  • Abandonar = Utzi/Alde bateta utzi
  • Bordillo = Zintarria
  • Oleaje = Tirain
  • Marea = Itsasaldia
  • Marejada = Sagailoa
  • Oriente = Ekialdea
  • Horno = Labea
  • Brasero = Su ontzi
  • Sauna = Sauna
  • Polea = Polea/Txirrika
  • Ascensión = Igoera
  • Levantar = Altxatu
  • Caer = Erori
  • Bailar = Dantzatu
  • Soplar = Putz egin
  • Retrete = Komuna/Komun ontzia
  • Bidé = Bidet
  • Fogata = Sutzar
  • Egutegia = Calendario
  • Itzala = Sombra
  • Eskutitza = Carta
  • Disfraz = Mozorroa
  • Lectura = Irakurketa
  • Olfato = Usaimena
  • Hormiguero = Inurritegia
  • Madriguera = Gordelekua
  • Cueva = Haitzulo/Kobazulo
  • Dulce = Gozo/Geza
  • Sabroso =Zaporetsua
  • Sed = Egarri
  • Ruidoso = Zaratatsua
  • Silencioso = Isila
  • Madrugar = Goiz jaiki
  • Asma = Asma/Txurrun
  • Asmatico = Asmatikoa
  • Inventar = Asmatu/Sortu
  • Contador = Kontagailua
  • Contable = Kontulari
  • Locutor = Esatari
  • Caseta = Etxola/Txabola
  • Abogacia = Abokatutza
  • Ganadero = Abeltzaina
  • Manzano = Sagarrondo
  • Peral = Madariondo
  • Platanero Bananaondo
  • Muñequera = Eskumuturrekoa
  • Pulsera = Eskumuturrekoa
  • Reloj de mano = Eskuko erlojua
  • Delicioso = Oso gozoa
  • Delicado = Fina/Leuna
  • Frágil = Hauskorra
  • Humedo = Hezea
  • Solido = Sendoa, Gogorra
  • Líquido = Likidoa
  • Tranquilo = Lasaia
  • Cabreado = Haserre
  • Triston = Triste samar
  • Buzón = Gutunontzia
  • Consejero = Aholkulari
  • Diplomatico = Diplomazialari
  • Niebla = Lainoa
  • Festivo = Jaieguna
  • Nieve = Elurra
  • O que = Edo zer
  • Novillo = Txahala
  • Es posible = Beharbada/Agian
  • Roto = Apurtuta
  • Rotura = Pitzadura
  • Rompecabezas = Buruhausgarria
  • Pesado = Astuna
  • Papeletas = Txartelak/Boto papera
  • Opiniones = Iritziak
  • No creo = Ez dut uste
  • Quien sabe = Auskalo
  • Comer = Jan
  • Hacer = Egin
  • Deshacer= Desegin
  • Amor = Maitasuna
  • Querid@ = Laztana
  • Romantico = Erromantikoa
  • Riachuelo = Errekasto/errekatxo
  • Lejano = Urrun
  • Variado = Askotarikoa
  • Hotel = Hotel
  • Hostal = Ostatu
  • Parecer = Uste/Iritzi
  • Huella = Oinatza
  • Ofrecer = Eskaini
  • Portavoz = Bozeramailea
  • Una vez = Behin/Behin bakarrik
  • Decidió = Erabaki zuen
  • Noticias comunes = Albiste arruntak
  • Noticias frescas = Albiste freskoak
  • Noticias confidenciales = Isilpeko albisteak
  • Noticias de boca a boca = Ahoz ahoko albisteak
  • Decirselo a la cara = Aurpegira esan
  • En la cara = Aurpegira
  • De frente = Aurrez aurre
  • Vaca = Behia
  • Molesto = Gogaikarria
  • Leña = Egurra
  • Aparta =Baztertu
  • Apartar = Baztertu/Gorde(Apartar para guardar) /Banandu (para repartir)
  • Decepciónante = Etsigarria
  • Expropiar = Desjabetu
  • Atraer = Erakarri
  • Sabelotodo = Orojakilea
  • Empollón = Ikastun
  • Subconsciente = Subkontziente
  • Dios = Jainkoa :angel:
  • Algo = Zerbait
  • Fuera = Ospa
  • Fortuna = Zoria
  • Suertudo = Zorte onekoa/potroso
  • Desear = Desiratu
  • Demanda = Eskaera
  • Evitar = Saihestu
  • Escrito = Idazkia
  • Buen dia = Egun ona
  • Dia soleado = Egun eguzkitsua
  • Dia caluroso = Egun beroa
  • Envejecido = Zahartuta
  • Envejecimiento = Zahartze
  • Envejecer = Zahartu/Adindu
  • Monte Mendia
  • Aparcamiento = Aparkalekua
  • Huerto = Baratza
  • Mentiroso = Gezurtia
  • Culpabilidad = Erruduntasuna
  • Excusa = Aitzakia
  • Cuadra = Ukuilua
  • Garaje = Garaje
  • Caserio = Baserria
  • Funcional = Funtzionala
  • Fácil = Erraza
  • Fundamento = Oinarria
  • Pierde = Galdu egiten du
  • Calcetínes = Galtzerdiak
  • Olvidalo = Ahaztu
  • Salado = Gazia
  • Dulce = Gozoa
  • Transportar = Garraiatu
  • Limpio = Garbia
  • Brillante = Distiratsua
  • Jardin = Lorategia
  • Vendedor = Saltzailea
  • Nuestro = Gurea/Geurea
  • Levantar = Jaso/Altxatu
  • Despacio = Astiro
  • Patoso = Baldarra/Traketsa
  • Libertad = Askatasuna
  • En el descanso = Atsedenaldian
  • Tiempo libre = Aisialdia
  • Zona de ocio = Aisialdirako gunea
  • Dolor = Mina
  • Herida = Zauria
  • Grillo = Kilkerra
  • Respirar = Arnastu
  • Debatir = Eztabaidatu
  • Elegir = Aukeratu
  • Resbalar = Irristatu
  • Onda = Uhina
  • Datos técnicos = Datu teknikoak
  • Panaderia = Okindegia
  • Reparación = Konponketa
  • Buenisimo= Oso ona
  • Cima = Gailurra
  • Montañoso = Menditsua
  • Monte rocoso = Mendi harritsua
  • Que aproveche = On egin
  • Delicioso = Oso gozoa
  • Común = Arrunta
  • Unión = Batasuna/Elkartasuna
  • Recoger = Jaso
  • Bombear = Ponpatu
  • Enterarse = Jabetu
  • Pasado mañana = Etzi
  • Antes de ayer = Herenegun
  • Maquillarse = Maquillatu
  • Prepararse = Prestatu
  • Ponerse en forma = Sasoian jarri
  • Hondoratu = Hundirse
  • Ingenioso = Argia
  • Incompleto = Osatugabea
  • Ingeniudad = Sineskorra
  • Presente = Orainaldia
  • Futuro = Etorkizuna
  • Concentración = Kontzentrazioa
  • Saber = Jakin
  • Conocimiento = Ezaguera
  • Inteligencia = Adimena
  • Jauzi = Saltar
  • Alarma = Alarma
  • Escoba = Erratza
  • Recogedor = Biltzailea/Bilgailua
  • Zorro = Azeria
  • Bolsillo = Poltsikoa
  • Ingreso = Onarpena/ Diru sarketa
  • Tuyo = Zurea/Zeurea
  • A ti = Zuri/Zeuri
  • Llevarte = Eraman
  • Espantapájaros = Txorimalo
  • Imitar = Antzeratu
  • Marear = Zoriabiatu
  • Tocar = Ukitu
  • Rozar = Urratu
  • Archivar = Artxibatu
  • Amistad = Adiskidetasuna
  • Amabilidad = Adeitasuna
  • Empatia = Enpatia
  • Charco = Putzua
  • Fango = Lokatza
  • Soplar = Putz egin
  • Soñar = Amets egin
  • Sonámbulo = Somnanbulua/Lo ibiltaria
  • Guarro = Zikina
  • Toro = Zezena
  • Donar = Eman
  • Debil = Ahula
  • Polvoriento = Hautsez beteta
  • Veloz = Azkarra
  • Oculto = Ezkututa
  • Vacio = Hutsik
  • Nada = Ezer, ezer ere ez
  • Cementerio = Hilerria
  • Muerte = Heriotza
  • Duradero = Iraunkorra
  • Conciencia = Kontzientzia
  • Seda = Zeta
  • Tos = Eztula
  • Descontar = Deskontatu
  • Relajarse = Erlaxatu
  • Pesadez = Astuntasuna
  • Dame un trozo = Emaidazu zati bat
  • Dame un cigarro = Emaidazu zigarro bat
  • Dame bastante = Emaidazu nahikoa
  • Ese oro = Urre hori
  • En perspectiva = Eginkizun
  • De otra manera = Beste moduz
  • Señalar = Seinalatu
  • Observar = Behatu
  • Medir = Neurtu
  • Sanidad = Osasuna
  • Defensa = Babesa/Defentsa
  • Cultura = Kultura
  • Extraño = Arraro/Bitxia
  • Diferente = Desberdina
  • Ganso = Antzara
  • Indecisión = Zalantza/Zalantzaldi
  • Indeciso = Zalantzatia
  • Evitar = Saihestu
  • Hacer = Egin
  • Repetir = Errepikatu
  • Insistir = Ekin eta ekin/Tematu
  • Donde quieras = Nahi duzun lekuan
  • Cuando quieras = Nahi duzunean
  • Como dices? = Nola diozu? /Nola esaten duzu?
  • Especial = Berezia
  • Encantado = Poz pozik (estar) /Pozten naiz (Saludar)
  • Diferente Ezberdina
  • Asignaturas = Irakasgaiak
  • Completar = Osatu
  • Complementos = Osagarriak
  • Comodidad = Erosotasuna
  • Adaptarse = Egokitu
  • Robustez = Sendotasuna
  • Divetido = Dibertigarria
  • Entretenido = Entretenigarria
  • Educativo = Hezigarria
  • Echar poco = Gutxi bota
  • Echar de menos = -en falta sentitu/-en mira izan:
    • echo de menos el café que tomábamos a la tarde
    • arratsaldean hartzen genuen kafearen mira dut
  • Rendirse = Amore eman
  • Fuente = Iturria
  • Desagüe = Ustubide/Isurbide
  • Lavabo = Konketa
  • Recoger = Jaso
  • Pelear = Borrokatu :facepunch:
  • Entretenimiento = Denbora pasa :tv:
  • Pegar = Jo (puñetazo) / Itsatsi (pegar con pegamento)
mila esker partekatzeagatik!muchas gracias por compartir!

Euskarako Hiztegi Txikia

Hiztegia Zertarako? / Para que un diccionario?

Hiztegi txiki honetan euskarazko hainbat oinarrizko hitz eta esaldi aurkituko dituzu guregana hurbiltzen zarenean lagungarri izan ditzakezunak. Baliagarria izango zaizu zenbait egoeratan. Erabilzera gonbidatzen zaitugu.

En este pequeño diccionario encontrarás palabras y frases elementales en euskera que te serán de gran ayuda cuando te acerques a conocernos. Te será muy util en diversas situaciones. Por ello, te animamos a usarlo.

Agurrak / Saludos

AgurrakSaludos
Ni Miren naizMe llamo Miren
Kaixo, zer moduz?Hola, que tal?
Ni oso ondo, etz zu?Yo muy bien, y usted?
Oso ondo, eskerrik askoMuy bien, muchas gracias
Egun onBuenos dias
Arratsalde onBuenas tardes
GabonBuenas noches
KaixoHola!
AgurAdios
Bihar arteHasta mañana
Gero arteHasta luego
Ongi etorriBienvenidos
MesedezPor favor
BarkatuPerdon
Eskerrik askoMuchas gracias
Ez horregatikDe nada
BaiSi
EzNo
On eginBuen provecho
Ondo ibiliQue lo pases bien
Zer da hau?Que es esto?
Zenbat da?Cuanto es?

Lexuak | Lugares

LexuakLugares
Egun on, non dago turismo bulegoa?Buenos dias, donde esta la oficina de turismo?
ZuzenDerecho
EzkerraA la izquierda
EskuineraA la derecha
GoianArriba
BeheanAbajo
AzpianDebajo
GaineanEncima
GertuCerca
UrrunLejos
HemenAqui
HanAlli
Turismo bulegoaOficina de turismo
UdaletxeaAyuntamiento
BanketxeaBanco
Liburu dendaLibreria
LiburutegiaBiblioteca
ErakusketaExposicion
AntzokiaTeatro
ZinemaCine
MuseoaMuseo
Jolas parkeaParque de atracciones
LorategiaJardin
ParkeaParque
BotikaFarmacia
Autobus geltokiaEstacion de autobus
Tren geltokiaEstacion de tren
Posta bulegoaCorreo
OspitaleaHospital
Eliza (Katedrala, Basilika)Iglesia
HotelaHotel
AterpetxeaAlbergue
Landa turismoaAgroturismo
KanpinaCamping
AparkalekuaAparcamiento
PlazaPlaza
KaleaCalle
AuzoaBarrio
HondartzaPlaya
KiroldegiaPolideportivo
IgerlikuaPiscina
DantzalekuaDiscoteca
KaiaPuerto
TabernaBar
JatetxeaRestaurante
AzokaMercado
ErtzaintzaPolicia Autonoma
UdaltzaingoaPolicia Municipal
GarajeaGaraje
HelbideaDireccion

Hotelean, Tabernean, Jatetxean / En el hotel, en el bar, en el restaurante

Hotelean, Tabernean, JatetxeanEn el hotel, en el bar, en el restaurante
Egun on, gela bat nahi dutBuenos dias, queria una habitacion.
GelaHabitacion
Gela bikoitzaHabitacion doble
OheaCama
KomunaServicio
BainugelaBaño
GiltzaLlave
MaindireakSabanas
EstalkiaManta
EskuoihalaToalla
GosariaDesayuno
BazkariaAlmuerzo
AfariaCena
BerogailuaCalefaccion
Aire girotuaAire acondicionado
PrezioaPrecio
TxartelaTarjeta
TabernaBar
JatetxeaRestaurante
JangelaComedor
SagardotegiaSidreria
KafeaCafe
EsneaLeche
KafesneaCAfe con leche
ArdoaVino
Ardo beltzaVino tinto
Ardo zuriaVino blanco
Ardo gorriaVino rosado
GaragardoaCerveza
SagardoaSidra
TxakolinaChacoli
PatxaranaPacharan
UraAgua
OgitartekoaBocadillo
Plater konbinatuaPlato combinado
Eguneko menuaMenu del dia
KartaCarta
JanaurrekoaAperitivo
Pintxoa (ogi gainekoa)Pincho (sobre pan)
Lehen plateraPrimer plato
Bigarrenn plateraSegundo plato
Postrea (azken burua)Postre
JanariaComida
EdariaBebida
GozoaDulce
Gazia (geza, motela, gatzgabea)Salado (no salado, soso, sin sal)
MikatzaAmargo
EskupekoaPropina
ZerbitzariaCamarero(a)
SukaldariaCocinero(a)
HaragiaCarne
ArrainaPescado
Kontua mesedezLa cuenta por favor
MerkeBarato
GarestiCaro

Egunak, Hilabateak / Dias, Meses

Egunak, HilabateakDias, Meses
AstelehenaLunes
AstearteaMartes
AsteazkenaMiercoles
OstegunaJueves
OstiralaViernes
LarunbataSabado
IgandeaDomingo
AtzoAyer
GaurHoy
BiharMañana
GoizaMañana
ArratsaldeaTarde
GauaNoche
UrtarrillaEnero
OtsailaFebrero
MartxoaMarzo
ApirilaAbril
MaiatzaMayo
EkainaJunio
UztailaJulio
AbuztuaAgosto
IrailaSeptiembre
UrriaOctubre
AzaroaNoviembre
AbenduaDiciembre
EgunaDia
AsteaSemana
HilabeteaMes
UrteaAño
UdaVerano
UdazkenaOtoño
NeguaInvierno
UdaberriaPrimavera
Aste SantuaSemana Santa
GabonakNavidad
JaiegunaDia festivo

Numeros

1Bat
2Bi
3Hiru
4Lau
5Bost
6Sei
7Zazpi
8Zortzi
9Bederatzi
10Hamar
11Hamaika
12Hamabi
13Hamahiru
14Hamalau
15Hamabost
16Hamasei
17Hamazazpi
18Hamazortzi
19Hemeretzi
20Hogei
30Hogeita hamar
40Berrogei
50Berrogeita hamar
60Hirurogei
70hirurogeita hamar
80Laurogei
90Laurogeita hamar
100Ehun
200Berrehun
300Hiruehun
400Laurehun
500Bostehun
600Seiehun
700Zazpiehun
800Zortziehun
900Bederatziehun
1000Mila
2000Bi mila
3000Hiru mila

Euskara europako hizkuntza zaharrena / El Euskera, la lengua mas antigua de Europa

Euskara Europako hizkuntza zaharrenetako da. Duela 3000 urte hizkuntza ez indoeuroparrak zituen alboan. Migrazio mugimenduen eraginez, hizkuntza hauek desagertzen joan ziren pixkanaka eta Kristo aurretiko lehen milurterako hizkuntza indoeuroparrak (germaniarrak, erromantzeak, eslaviarrak, ...) nagusi ziren ia Europa osoan. Euskara, baina, ez zen desagertu eta gaur egun arte bizirik iraun du. Hizkuntza aurreindoeuroparra dugu beraz, ahaiderik ez duen edo aurkitu ez zaion hizkuntza bakarrenetakoa.

El euskera es una de las lenguas mas antiguas de europa. Durante 3000 años convivio junto a otras lenguas no-indoeuropeas. Como consecuencia de los movimientos migratorios, estas lenguas fueron desapareciendo paulatinamente, y ya en el año mil antes de Cristo, las lenguas indoeuropeas se impusieron practicamente en toda europa. El euskera, sin embargo, no desaparecio, y sobrevivio hasta nuestros dias. Se trata, por consiguiente, de una lengua preindoeuropea, una de las pocas lenguas no emparentadas o a la que no se le ha encontrado relacion con otras.

Euskal hitzunak / Vascoparlantes

Gaur egun euskaraz gutxi gorabehera 900000 lagunek hitz egiten dute eta beste 626000 inguruk ulertu egiten dute. Euskal hiztunak edo elebidunak bi estatu (Frantzia eta Espaina) eta hiru administrazio-lurralderen artean daude banatuta: Euskal Autonomia Erkidegoa (Gipuzkoa, Bizkaia eta Araba), Nafarroako Foru Komunitatea (Nafarroa Garaia) etc Frantziako Atlantiar Piriniotako Departamentua (Lapurdi, Behe Nafarroa eta Zuberoa). Izan ere, hizkuntzen Europa ez dator bat estatuen Europarekin. Hizkuntzen garapena eta hedadura epe luzeko prozesuen ondorio dira eta politikaren eraginez sortzen diren egoera edo egituratze desberdinak gainditu egiten dituzte. Donostian, Euskal Autonomia Erkidego osoan bezalaxe, bi hizkuntza ofizial daude: euskara eta gaztelania. Azken urteetan bilakaera garrantzitsua eman da elebidun kopuruan eta etorkizunean gorakada hau areagotza aurreikusten da, haurrak eta gazteak baitira azken urteetan euskara gehien bereganatu dutenak. Gipuzkoa da elebidun kopuru handiena duen lurraldea, gipuzkoarren % 53,25 euskal hiztuna da eta beste %28,60k ulertu egiten du. Donostia, berriz, Gipuzkoan elebidun kopuru handiena duen udalerria da: 72.071 donostiarrek euskaraz dakite (%40,58) eta beste laurden pasatxo batek ulertu egiten du (%26,6).

Actualmente, alrededor de 900000 personas hablan euskera y aproximadamente 626000 personas lo entienden. Los y las vascoparlantes o bilingües se hallan dividido(a)s administrativamente en dos estados (Francia y España) y tres territorios: la Comunidad Autonoma Vasca (Gipuzkoa, Bizkaia y Araba), la Comunidad Foral de Navarra (Nafarroa Garaia), y el Departamento de los Pirineos Atlanticos Franceses (Lapurdi, Behe Nafarroa, y Zuberoa). De hecho, la europa de las lenguas no se corresponde con la europa de los estados. El desarrollo y la extension de los idiomas son consecuencia de procesos de larga duracion, y a menudo superan las diferentes estructuras o situaciones creadas por razones politicas. En Donostia-San Sebastian, al igual que el resto de la Comunidad Autonoma Vasca, existen dos idiomas oficiales: el euskera y el castellano. Durante estos ultimos años ha aumentado notablemente el numero de bilingües, y esta previsto que en el futuro se intensifique dicho crecimiento, puesto que son los niños, niñas y jovenes quienes en mayor medida han asumido como lengua el euskera. Gipuzkoa es el territorio con mayor numero de bilingües, asi, un 53.25% de los/las gipuzkoanos/as son vascoparlantes, y otr 28.60% lo entiende. Dentro de Gipuzkoa, Donostia-San Sebastian es el municipio con mayor numero de bilingües: 72071 donostiarras saben euskera (40.58%) y algo mas de una cuarta parte lo entiende (26.6%).

Izen Sintagma

Nombres

Los sustantivos o nombres en euskera no tienen genero pero si numero, y tambien son objeto de declinaciones.

  • Gizon: hombre
  • Etxe: casa
  • Zaldi: caballo

Declinaciones:

  • Ume_: niño/a
  • Umea: el/la niño/a
  • Umeak: los/las niños/as
  • Umeari: al niño/a
  • Umearentzat: para el/la niño/a
  • Umearekin: con el/la niño/a

Las diferentes declinaciones corresponden a los distintos casos. El caso nor es el caso basico.

Los numeros son tres: singular, plural, e indeterminado, llamado mugagabea.

  • etxe: casa (indeterminado)
  • etxea: la casa (singular)
  • etxeak: las casas (plural)

Nombres Femeninos

A

AbantzaNombre relacionado con la virgen de la localidad de Barrón.
AialaSignifica "alegría" y hace referencia a la Ermita de Nuestra Señora de Dulantzi, una hermosa edificación románica del siglo XIII que fue la iglesia del despoblado de Aiala.
AiantzeNombre euskérico de la localidad navarra llamada en castellano Ayesa, según el escritor J. Altadill, de la época del Romanticismo.
AidaVariante del nombre de origen gérmanico Asalais y femenino del Aide, genio que según la mitología vasca ayuda y entorpece a los hombres.
AimaraNombre medieval, equivalente femenino de Aimar.
AinaraSignifica "ave", concretamente "golondrina" y representa la llegada de la primavera.
AinhoaNombre de la localidad de Lapurdi (País Vasco francés).
AizaNombre medieval documentado en 1127 en Leire (Aiza / Aiça). Es el equivalente del masculino Aizo.
AlaiaLiteralmente, quiere decir "alegría".
AlazneNombre propuesto en el Santoral como equivalente del castellano Milagro.
AmaiaNombre de significado un tanto diáfano; "fin" o "final".
AmunaNombre vasco ampliamente documentado en Navarra a partir del siglo XI.
AneProviene del hebreo Hannah, que significa "gracia". El castellano es Ana.
ArhaneNombre de la localidad de Zuberoa (Guipúzcoa), que forma municipio con los pueblos de Lakarri y Sarrikotagaine.
AroaNombre con distintos significados; "época", "estación del año", "momento adecuado" y "tiempo atmosférico".
ArantxaNombre que proviene de Arantzazu.
ArantzazuUna de las advocaciones marianas más conocidas y veneradas de Euskal Herria, desde 1918 patrona de Guipúzcoa. Literalmente, proviene de la pregunta "¿Arantzan zu?" (¿Tú, en el espino?).

B

BaizaNombre de una cumbre (1.183 m) de la sierra de Andia (Navarra).
BakeaProviene del nombre Bake y significa "paz".
BalbinaLiteralmente, significa "tartamuda".
BatisteNombre propuesto en el Santoral y que está relacionado con Uguzne.

E

EdurneNombre propuesto en el Santoral como equivalente euskérico del castellano Nuestra Señora de las Nieves. Edur significa "nieve", propio de las hablas vascas occidentales.
EgiaNombre de la virgen de la Ermita de Nuestra Señora del Valle de Deierri.
EiderEideard es una variante gaélica (de Escocia e Irlanda) del nombre masculino de Edward.
EitzagaNombre relacionado con el barrio de Zumarraga.
ElaiaNombre que hace referencia a un ave que acude hasta nosotros desde África y que representa la primavera.
ElixeEquivalente femenino del castellano Eliseo, un profeta del s. IX a. C.
ElbireNombre propuesto en el Santoral como equivalente del castellano Elvira.
EnaraNombre de bonita pronunciación que proviene de Ainara y Elaia.
EneaPoético nombre que es sinónimo de Nerea.
ErieteNombre relacionado con el pueblo de Eriete de la cendea de Zizur (Navarra).

G

GaboneVariante femenina de Gabon.
GadeaNombre que es una variante de Águeda.
GaiaNombre que proviene de Gea, que significa "Tierra".
GalaNombre muy femenino, relacionado con la belleza y la hermosura.
GaraiNombre dedicado a la virgen de la Ermita de Santa Lucía del barrio de Garai en Gernika (Vizcaya).
GaroaEs el nombre que recibe un helecho abundante en los montes de Euskal Herria.

H

HaitzaLiteralmente, significa "peña" y tiene como variantes los nombres de Harkaitza y Atxa.
HaizeaNombre surgido en los últimos años por analogía con nombres como Edurne. La base es haize, que significa "viento".
HegoaEn la mitología vasca, Hegoa es la hija del viento del noreste y esposa del viento sur Hegoi.
HiruneDerivado del nombre de Irune, que en español es Trinidad.
HuaNombre que proviene de Uba, antigua ermita de Nuestra Señora, en Altza (Guipúzcoa).

I

IdoiaNombre dedicado a la virgen de la Ermita de Izaba (Navarra), que curaba los dolores de cabeza.
IgarneTiene como nombres derivados Anuntxi, Deñe e Iragartze.
IraiaNombre propuesto en el Santoral como equivalente de Iraida, que procede del griego Herais, derivado a su vez de Hera, nombre de la diosa del matrimonio, de la primavera y protectora de las esposas.
IrantzuNombre de la virgen del Monasterio de Nuestra Señora creado en Abartzuza (Navarra) en 1174.
IratiNombre de la Virgen de Irati o de las Nieves, cuya ermita está situada junto al río de su nombre.
IradiNombre de una planta muy común en Euskal Herria. Tiene como variantes Garoa, Iradi, Iratsa e Iratze.
IruneNombre propuesto en el Santoral como equivalente del castellano Trinidad.
ItziarRelacionado con el barrio de Deba (Guipúzcoa) y con un conocido santuario mariano. Se le tiene gran devoción, especialmente entre la gente del mar.
IzarBonito nombre de los lejanos astros que brillan en la noche clara, que significa "estrella".
IzaroNombre dedicado a la Virgen de la Isla de Bermeo (Vizcaya).
IxoneRelacionado con la naturaleza y el buen hacer.

J

JaioneEquivalente euskérico del castellano Natividad.
JoneNombre propuesto en el Santoral como equivalente euskérico del castellano Juana.

K

 KaieneNombre surgido por analogía. Está compuesto de "Kaie" y el sufijo femenino moderno "-ne".
 KariñeNombre propuesto en el Santoral como equivalente de Carina, proveniente del italiano Catalina.
 KatariñeNombre que en español es Catalina.
 KorukoNombre que deriva de Koro, de gran difusión gracias a la Virgen de San Sebastián.

L

 LaidaNombre de la playa de Ibarrangelua (Vizcaya), situada en la desembocadura del río Oka, en la Reserva de la Biosfera de Urdaibai.
 LaieneDeriva de Laieneko haitza, un monte de Urdiain, junto al que está situada la ermita de Aitziber (Navarra).
 LeaNombre de un río de Vizcaya.
 LeireLeyre: Nombre dedicado a la Virgen de Leire.
 LoreaEste nombre tiene tres orígenes distintos: una palabra común, "flor", una ermita del País Vasco y un personaje de la novela de Navarro Villoslada Amaya.

M

 MaddiNombre que en castellano se traduce por María.
 MaiaNombre del lugar en el que fundó el rey Alfonso la villa de Elgeta y del puerto situado entre Mendaro y Mutriku.
 MaialenVariante de Maddalen y nombre común.
 MaiderEs la unión de Mari y Eder, que significa "hermosa".
 MaitaneEs una variante de Maite.
 MaiteNombre de origen euskérico que proviene del adjetivo euskérico maitea, maitatua, que significa "amada".
 MaraDeriva de Marauri, un pueblo de Uda.
 MarenDesigna a una mujer afortunada.
 MiliaNombre frecuente en la Edad Media.
 MirenUno de los nombres de mujer que más éxito ha tenido de entre los que aparecen en el Santoral. Significa María.

N

 NagoreNombre de la localidad de Artzibar (Navarra).
 Naia, NahiaLiteralmente, quiere decir "deseo".
 Naiara, NaiareNombre que proviene de Nájera , localidad que se documenta como Naiara.
 NaroaAdjetivo euskérico que significa "abundante". En la costa guipuzcoana, equivale a "lasai" (tranquilo, tranquila).
 NereaPalabra común que denota propiedad, "mía".
 NoraLiteralmente, quiere decir "noble".

O

 Oihana, OihaneNombre relacionado con la diosa romana Silvia y con el bosque.
 OlaiaProcede del nombre griego Eulalia, que significa "la que habla bien".

S

 SabiñeNombre que proviene de Sabina. Los sabinos eran conocidos por el rapto de sus mujeres. Según la mitología latina, los romanos raptaron a las sabinas para casarse con ellas.
 SaioaConocido monte situado entre Baztan y Kintoa (Navarra).
 SantziaNombre medieval que tiene como variantes Andreantsa, Antsa, Santsa y Santxa.
 SarabeNombre relacionado con el bosque donde está situada la Ermita de Aitziber en Urdiain (Navarra).
 SorneLiteralmente, significa "concepción".

T

 TaresaVariante de Teresa, nombre muy usado en la Edad Media.
 TekaleLiteralmente, significa "tecla".
 TomeNombre propuesto en el Santoral como derivante de Tomasa.

U

 UdaneProviene de Uda, que significa "verano".
 UguzneNombre basado en el neologismo ugutz, "bautismo", y que designa la entrada de Jesucristo en la Iglesia.
 UnaisaSignifica "pastora".
 UntzaNombre de la virgen de la Iglesia del barrio Irabien de Okondo (Álava).
 UraldeHace referencia a una edificación románica, alrededor de la cual se han encontrado tumbas y restos antiguos.
 UriaNombre poético de connotaciones místicas.
 UsuneMuchacha de fortuna y gran belleza.
 UxueSegún cuenta la leyenda, una paloma ("usoa" en euskera) indicó al pastor que andaba con el rebaño en el monte dónde se encontraba la imagen de la Virgen, y a este hecho dicen que se debe el nombre Uxue.

X

XareDefine a una mujer bonita y de buen corazón.
XuhareNombre místico

Z

 ZabalNombre que deriva de Zabalate, localidad de Álava.
 ZaiñeLiteralmente, quiere decir "patrocinio".
 ZaitaProviene del nombre de Azazeta.
 ZaloaRelacionado con la Ermita de Nuestra Señora de Orozko (Vizcaya).
 ZiortzaNombre del antiguo hospital del camino de Santiago en el barrio de Bolibar, en Markina (Vizcaya).
 ZorioneNombre que literalmente significa "felicidad".
 ZuiaRelacionado con la Ermita de Nuestra Señora de Monreal de Zuia (Álava).
 ZumaiaNombre de un conocido pueblo de la costa guipuzcoana que fecha de 1292.
 ZuriaNombre vasco de uso frecuente en la Edad Media, tanto en el reino de Navarra como en el resto de Euskal Herria.

Nombres Masculinos

A

 AbaigarNombre de una localidad de Navarra. En Euskal Herria, al igual que en otras zonas de Europa, ha sido común la utilización de nombres de pueblo como apodo.
 AdeiNombre común que significa "respeto" o "deferencia".
 AdurNombre mitológico, que significa "suerte" y que designa el poder de hacer las cosas a distancia, propio fundamentalmente de las brujas y magos.
 AgerNombre popularizado por ser el seudónimo del escritor Valentín Aurre Apraiz (Ajangiz, 1912 - 1966).
 AimarNombre medieval documentado en Navarra en los siglos XIII-XIV.
 AitorNombre mítico difundido por el escritor suletino J.A. Xaho en la novela La lègende d'Aitor, y que significa "noble" e "hijo de buenos padres".
 AiurNombre popularizado por el Alto de Aiurdi de Untzue (Navarra).
 AlainNombre que proviene de los alanos, un pueblo de origen iranio que, presionado por otros pueblos, entró en Europa y llegó hasta el Loira y Lusitania donde desparecieron.
 AlbarNombre común en el País Vasco desde la Edad Media.
 AmetsLiteralmente, significa "sueño", y en un sentido figurado, "deseo".
 AnderVariante de Andrés recogida en el Santoral.
 AnerNombre medieval; se documenta en Iparralde en 1249.
 AsierSignifica "principio" y se opone al nombre femenino de Amaia, que significa "fin".
 AritzMístico nombre popularizado durante los últimos años en el País Vasco.

B

 BalkoeDenominación vasca medieval relacionada con el nombre Falcon, que se documenta en Pamplona en el siglo XIV.
 BaztanValle navarro y nombre medieval.
 BeltsoNombre vasco medieval. Se documenta, por ejemplo, en Iratxe (Navarra) en el siglo XIV.
 BeninEquivalente onomástico de Benigno propuesto en el Santoral y que significa "afable" y "benevolente".
 BizenVariante de Bizente, que en castellano es Vicente.

D

DamenNombre que proviene de Damián.
DiagurAntiguo nombre documentado en Navarra en 1506.
DurrumaProviene de la denominación de la fiesta de la localidad de San Román.

E

EakoNombre relacionado con la naturaleza.
EderNombre procedente del adjetivo vasco "eder", que significa "hermoso".
EdurEquivalente onomástico masculino de Edurne. Edur, que significa "nieve", es una forma propia del euskera vizcaino.
EkaiProviene del nombre de unos pueblos de los valles de Arakil y Longida. Ekai de Arakil se documenta por vez primera en 1257 y Ekai de Longida en 1058. Este último, al estar situado en el Camino de Santiago, tenía un hospital de peregrinos.
EkainNombre relacionado con la famosa cueva situada entre Zestoa y Deba.
EkaitzNombre común y mitológico que significa "tormenta".
EnekoSe trata de un nombre muy frecuente en la Edad Media que proviene de "ene", que significa "mío".
ErdainSignifica "circuncisión" y su uso como nombre comienza a principios del siglo XX.

H

HaizeLiteralmente, significa "viento" y es un personaje mitológico: Hegoi, viento del sur, e Ipar, viento del norte.
HaranSignifica "valle".
HaritzSignifica "roble", un árbol sagrado en Euskal Herria.
HegoiNombre propio del viento del sur.
HeikoNombre místico de conotaciones poéticas.
HodeiRelacionado con un ser mitológico que trae la tempestad y el granizo.

I

IbaiLiteralmente, significa "río".
IbarSeudónimo del escritor Justo Mª Mokoroa (Tolosa, 1901 - Bilbao, 1990) y nombre común, que significa "valle".
IgantziNombre que proviene de la localidad de Cinco Villas.
IgariProviene de un pueblo del valle de Salazar, en castellano Igal y en la documentación histórica Igali. En el siglo IX existía un monasterio en dicho lugar.
IgnazioNombre difundido entre nosotros por Eneko o Iñigo de Loiola. Este adoptó el nombre de Ignacio por devoción a San Ignacio de Antioquía, dado que Eneko no era un nombre de tradición cristiana.
IkerNombre que es el equivalente masculino de Ikerne (equivalente al nombre castellano Visitación); también significa "portador de buenas noticias".
ImanolProviene del nombre de Emanuel o Manuel.
IñakiNombre derivado de Eneko e Ignacio.
IñigoVariante romance de Eneko muy usada en Euskal Herria.
IraiProcede de Herais, derivado a su vez de Hera, nombre de la diosa del matrimonio, de la primavera y protectora de las esposas.
IzanProviene de Izani y es un nombre medieval.
IzeiSignifica "abeto", árbol que en el País Vasco sólo crece en los Pirineos.

J

JatsuNombre de sendas localidades de Lapurdi y Baja Navarra.
JeinoNombre medieval. Aparece en una lápida de la iglesia de San Vicente de Abadiño.
JoangoSe trata de un nombre derivado de Joan.
JulenNombre propuesto en el Santoral y que en castellano es Julián.
JurgiForma vasca de Jorge, que procede del nombre griego Georgos, que significa "labrador".

K

KasiNombre de origen medieval propuesto posteriormente que equivale a Casio.
KimetzNombre de uso común en algún dialecto del euskera, que significa "brote", "germen".
KripanPueblo de Álava situado en la falda de la Sierra de Toloño. El nombre parece ser fruto de la evolución del nombre latino Cyprianus.
KutunPalabra que tiene dos significados: "amado" y "bolsa que se lleva colgada al cuello o cosida en la ropa".

L

LainNombre de origen medieval. En el 956, se documenta Lain de Orduña.
LanderSignifica "pobre y "peregrino" y es el equivalente del castellano Leandro.
LaratzLaratza es la cadena que cuelga en el hogar.
LaskainNombre popularizado por ser el seudónimo del escritor José Azurmendi (Zegama G, 1941).
LeioariNombre de origen en la Edad Media. Su mención más antigua se encuentra en una lápida conservada en la Ermita de San Vicente en Abadiño.
LuarVariante de Loarre, nombre del famoso castillo de Aragón.

M

MaideNombre que proviene de un ser mitológico que entra por las chimeneas de las casas por la noche.
MairuNombre de origen medieval procedente del latino Maurus.
MaiuHace referencia a un ser mitológico, marido de Mari, que vive bajo tierra.
MarenEn castellano, se traduce por Mariano.
MarkelNombre propuesto en el Santoral que proviene de Martzelo.
MikelDel hebreo Mikha, que pasó al griego y latín como Michael. Es el equivalente al castellano Miguel.

N

NeguRelacionado con una estación del año y un ser mitológico, como casi todas las fuerzas de la naturaleza.
NeketiNombre de origen medieval popularizado durante el siglo XX.
NikanorLiteralmente, significa "hombre victorioso".

O

OdeiPoético y místico nombre relacionado con la naturaleza.
OierNombre de origen medieval referente a un hombre valiente.
OihanSignifica "bosque".
OinatzReferente a las fuerzas de la naturaleza.
OrixeNombre popularizado por ser el seudónimo del escritor y académico de número de la Real Academia de la Lengua Vasca Nicolás Ormaetxea.

P

PakenNombre equivalente euskérico de Paciano. San Paciano fue obispo de Barcelona en el siglo IV.
PatxiHa sido tradicionalmente derivado de Frantzisko, y en cierta medida todavía lo es, pero también se emplea con bastante frecuencia como equivalente del castellano Francisco.
PraiskuEquivalente al castellano Francisco.

S

 SanduruNombre de origen medieval.
 SemenkoNombre de connotaciones místicas.
 SenikoProviene del nombre de Senicco.
 SilbanDel latín Silvanus, el dios que representaba el bosque y los terrenos sin cultivar.
 SukilNombre relacionado con el tronco del árbol de Navidad y el fuego nuevo, que era símbolo de protección contra todo tipo de fuerzas malignas.

U

 UgutzNombre relacionado con la entrada en la Iglesia de Cristo.
 UhaitzLiteralmente, quiere decir "río".
 UkerdiNombre que proviene de una población situada en los alrededores de Belagua (Navarra).
 UnaiNombre común que significa "vaquero", "pastor de vacas".
 UnaxNombre relacionado con la naturaleza y la valentía.
 UntzaluEs el equivalente al castellano Gonzalo.
 UrkiSignifica "abedul", árbol de corteza blanca.
 UrkoDerivado de varios montes que llevan este nombre en Eibar, Ermua y en Berango.
 UsunReferente a la localidad del Romanzado.
 UtxinNombre de un personaje de la novela de F. Navarro Villoslada titulada Amaya o los vascos.
 UztaiSignifica "aro", "llanta" o "corona".
 UztailNombre que hace referencia al mes de julio. Como su nombre indica (uzta, "cosecha", e hil, "mes"), es la época de la recolección.

X

 XabierNombre muy similar al catalán Xavier y que referencia a un pueblo y castillo de Navarra. Significa "casa".
 XubanNombre de origen romano relacionado con el coraje.
 XurioNombre vasco de origen medieval variante de Txurio.

Z

 ZainNombre común que en euskera significa "raíz", "vena", "arteria" y "vigilante".
 ZeianNombre de origen medieval relacionado con la valentía.
 ZuhaitzNombre común que significa "árbol".
 ZuhurEs un adjetivo normal en euskera que significa "prudente". Sin embargo, tiene también una segunda acepción como "tacaño", "agarrado"
 ZuriNombre vasco de origen medieval que significa "blanco".

Pronombres

Pronombres personales

Pronombres personales intensivos

Pronombres demostrativos

Pronombres demostrativos intensivos

Pronombres indeterminados

Adjektiboak

Nolakoa da?

Aditzak

Aditz Laguntzaileak

Intransitivos

Izan

En castellano, "ser" o "estar".

NorAditzaCastellano
SingularNinaizYo soy
ZuzaraVos sos
HaudaEso es
HoridaEsto es
HauekdaAquello es
PluralGugaraNosotros somos
ZuekzareteVosotros sois
HauekdiraEsos son
HoriekdiraEstos son
HaiekdiraAquellos son

Transitivos

Ukan

En castellano, "tener".

El 'hark' es la conjugacion solo correspondiente al 'hau'. El 'haiek' en cambio es la conjugacion correspondiente a 'hauek', 'horiek', y 'haiek'. Estas conjugaciones verbales solo son para singulares (dut, duzu, gu, dugu, ...). Para plurales el verbo se conjuga de manera distinta. Notese que en general la conjugacion del verbo para la primera persona termina en 't', y para la tercera no tiene nada.

NorAditza
Nikdut
Zukduzu
Honekdu
Horrekdu
Harkdu
Gukdugu
Zukduzue
Hauekdute
Horiekdute
Haiekdute
Adibideak
Nik autoa dut.
Zuk liburua duzu.
Honek irratia du.
Horrek irratia du.
Hark irratia du.
Guk txakur bat dugu.
Zuek ordenagailu berria duzue.
Hauek hiztegia dute.
Horiek hiztegia dute.
Haiek hiztegia dute.

Aditz Bereziak

Balio

Zenbat balio du sagar honek?
Sagar honek bi euro balio ditu.
Zerk balio ditu bi euro?
Sagar honek balio ditu bi euro.
Zenbat balio du izozkigilea horrek?
Izozkigilea horrek 1849 peso balio ditu.
Zenbat balio dituzte fideoak honek?
Fideoak honek hire peso balio ditu.
Zenbat balio du txokolate honek?
Txokolate honek 3.79 peso balio ditu.
Zenbat balio du hortzetako eskuilak horiek?
Hortzetako eskuilak horiek 2.59 peso balio ditu.

Nahi

Behar

Aditz Trinkoak

Nominalizazioa

Baldintzak (Condicionales)

Historia del Pais Vasco y del Euskera


Historia general del Pais Vasco

La Prehistoria

La Prehistoria del Pais Vasco

La Antiguedad

La Presencia de Roma

Los Siglos Medievales

El contacto con barbaros y arabes

La cristianizacion

La Alta Edad Media. La aparicion de las demarcaciones territoriales

Poblacion, economia y sociedad del Pais Vasco durante la Edad Media

La fundacion de villas

La crisis bajomedieval. La guerra de los bandos

La formacion de las unidades politicas forales

La Edad Moderna

El Antiguo Regimen en el PAis Vasco: el sistema foral

Los fueros

Politica e ideologia foral

Economia y sociedad en la Edad Moderna

Expansion economica y demografica a comienzos de la Edad Moderna

La crisis del XVII

El siglo del capitalismo comercial

El Periodo Contemporaneo

La crisis del Antiguo Regimen

La ultima etapa foral

La insercion del Pais Vasco en el regimen liberal

La industrializacion

La vida politica en el regimen de la Restauracion

La renovacion politica. El proteccionismo

El nacionalismo vasco

El movimiento obrero socialista

El desarrollo de la sociedad capitalista

Sociedad y politica durante el primer tercio del siglo XX

La II Republica

La guerra civil

El franquismo

La transicion

Democracia y autonomia


De Tubal a Aitor

Primera Parte: De bestias miticas y montañas infranqueables... el largo proceso de ocupacion de un territorio (desde la prehistoria al final del mundo romano)

De las cavernas a los poblados (150000ac - cambio de era)

El escenario de la ocupacion humana del territorio
Bajo el blanco manto de los hielos (los tiempos del Pleistoceno)
Un nuevo paisaje y nuevas culturas (del Tardiglacial a las Edades de los Metales)
Las primeras formas de habitat y su evolucion
Los protagonistas de la primera ocupacion del territorio: los tipos humanos y su evolucion
Las bases de subsistencia y el desarrollo de los grupos humanos
Modus vivendo y mundo cotidiano
El utillaje (de la piedra tallada a la metalurgia del hierro)
Adorno e indumentaria personal (de las pieles y el hueso a los tejidos y el metal)
Los primeros impulsos artisticos
El mundo de la ultratumba. Creencias y rituales funerarios
El de La Hoya (o como una antigua desgracia aporta informacion a la ciencia)

De los poblados a las ciudades (del siglo III ac al siglo V)

Los primeros contactos y la anexion de de los territorios de Vasconia por Roma
De los oppida indigenas a la organizacion provincial romana
La nueva planificacion y ocupacion del espacio
La crisis del sistema
Algunos datos sobre los efectivos poblacionales
Las bases agropecuarias del sistema, la explotacion de las materias primas y el consumo
Algunos aspectos de la organizacion social
El ejercito, instrumento de conquista y vector de romanizacion
Civilizacion y cultura en la Vasconia romana
Las creencias en epoca romana
La lengua y la escritura
La mesa y la cocina. Vajilla y dieta mediterranea
El adorno y la indumentaria personal
Las viviendas en la Vasconia romana
Medicina e higiene
Juegos y espectaculos
Rituales y manifestaciones funerarias

Segunda Parte: De los tiempos oscuros al esplendor foral (siglos V al XVI)

El pulso del poder y la definicion de los espacios politicos

Del reino de Pamplona al de Navarra
El Pais Vasco peninsular
La formacion de Alava
La formacion de Gipuzkoa
La formacion del señoria de Vizcaya
Del ducado de vasconia a los vizcondados de Labourd y Soule

La construccion del marco juridico-institucional: la foralidad

<Sea obedecida y no cumplida, como cosa desaforada de la tierra>
<Que habian de fuero, uso y costumbre>
Juntas, Diputaciones, y Cortes
Alava
Guipuzcoa
Vizcaya
Baja Navarra
Labourd
Pais de Soule
Organizacion diocesana

Los fundamentos materiales de la sociedad: una aproximacion desde abajo

Los efectivos humanos
De un mundo agropastoril a otro industrial y comercial
Curas, guerreros y campesinos
Un nuevo grupo social: los burgueses o ruanos
El pueblo de Yahve y los seguidores de Ala
Una sociedad en crisis

La civilizacion vasca medieval y renacentista

Cristianizacions versus paganismo
La lingua navarrorum
La transmision de la cultura
Las manifestaciones artisticas
El yantar, el atuendo y la morada

Tercera Parte: Crisis, cambios y rupturas (1602 - 1876)

Convulsa y violenta agonia del sistema politico tradicional

Madurez y poda del arbol foral
Es una revuelta? No Sire, es una revolucion
Un ciclo politico y belico conflictivo, 1789-1876

Un pais pequeño y pobre, cada vez mas poblado o los equilibrios para subsistir

Auemnto de almas, problemas para alimentar los cuerpos
Vasconia camina hacia la reurbanizacion
De la ferreria al alto horno
Peru y Maisu Juan o las mil caras de una sociedad poliedrica

Cotidianidad y cultura en tiempo de cambios

Los trabajos y los dias
Politizacion y retroceso de la lengua vasca
Nuevas formas de difusion de la cultura

Cuarta Parta: La contemporaneidad (1876 - 1979)

Paz entre dos guerras civiles (1876 - 1936/1937)

El pluralismo politico
La Restauracion: de los Fueros a los Conciertos economicos
La configuracion de un sistema politico pluralista
El tradicionalismo: de los Nocedal a Pradera
El monarquismo alfonsino: de Chavarri a Lequerica
El nacionalismo vasco: de Arana a Kizkitza
Las izquierdas: de Perezagua a Prieto
De la dictadura a la Republica
La II Republica: el pluralismo polarizado
La lucha por la autonomia
Las elecciones a Cortes
La guerra civil: revolucion o contrarrevolucion
El nacimiento de Euskadi: el Estatuto y el primero Gobierno vasco
La modernizacion socioeconomica
La revolucion demografica
La revolucion industrial vizcaina
El proceso industrializador guipuzcoano
La crisis economica de los años treinta
Los condes siderurgicos
El movimiento obrero y la conflictividad social
Entre la tradicion y la modernidad: religion y cultura
La cuestion religiosa
El polimorfismo cultural

De la guerra civil al estatuto de Guernica (1937 - 1979)

La posguerra: una etapa en blanco y negro
Dos provincias castigadas, dos premiadas
La implantacion del Movimiento. Carlistas y falangistas: juntos pero no revueltos
Un horizonte muy lejano: el exilio y la primera oposicion
Años de guerra mundial: ayudar a los aliados
De la esperanza al desaliento
Desarrollismo y tardofranquismo: dias de viejo color
Renovarse o morir
ETA: la alternativa del diablo
La gran ilusion: transicion y autonomia
La violencia que no cesa
La preautonomia
La cuestion vasca en la Constitucion
Por fin, el Estatuto
De la miseria al desarrollo, a pesar de la crisis
Las dificultades de la posguerra
Del despliegue a la crisis del petroleo
Como hemos cambiado: religion, cultura, y vida cotidiana
Años oscuros
Algo se mueve
Vivir en libertad

La Vasconia Continental: entre la III y la V Republica Francesa

Politica conservadora, gran nacion, pequeño pais
Una economia dual en lenta transformacion
Una cultura en clave de cambio

Historia del Euskera

Introduccion. Sobre la historia de la lengua vasca

Preliminares

Antecedentes

La estructura de la Historia de la lengua vasca

Divisiones cronologicas

Autoria

Objetivo

La prehistoria de la lengua vasca

Introduccion

Sobre el cambio linguistico
La prehistoria de las lenguas y la del euskera
Sobre la naturaleza y la funcion de las protolenguas
Sobre busqueda de parentescos
La reconstruccion

Teorias sobre parentescos del euskera

Vasco-iberismo
Vasco-hamitico
Guanche y euskera
Vasco-caucasico
Supuesta alternativa al metodo comparativo
La glotocronologia
La comparacion masiva
Europeo antiguo
El uroaltaico ampliado
Sobre el paleo-vasco-sardo
Vasco e indoeuropeo
Forni
Blevins
La comparacion y el estudio del pasado de la lengua vasca

Analisis del euskera prehistorico I La reconstruccion del protovasco tardio

Antes de Martinet: Schuchardt, Gavel, y otros
Martinet y las oclusivas antiguas
El analisis de Mitxelena
Propuestas posteriores sobre las oclusivas protovascas
Haches historicas
Algunos avances en la reconstruccion morfosintactica

Analisis del euskera prehistorico II La reconstruccion del protovasco antiguo

Sobre la formacion canonica de la raiz
Extensiones del analisis de la Forma Canonica Radical
Hacia la fonologia del PVA
Sibilantes y sonantes finales: revision interna del sistema mitxeleniano
Sonantes y sibilantes
Aumentos en el inventario consonantico (PVA > PVM > Vasc. Mod.): el paralelo dravidico
Las vocales
Vocales iniciales
La Ley Martinet: a la busqueda de nuevos casos
Acento y raiz
Cambios de la forma canonica radical
Gramatica del protovasco antiguo
Antecedentes
Fonologizacion de la morfologia
Gramaticalizacion y reconstruccion
El PVA, una lengua sin clase abierta de adjetivos
Flexion nominal
El verbo en protovasco antiguo
Sobre el cambio tipologico del protovasco
Para el estudio del lexico protovasco
Consideraciones iniciales
Sobre protopatria y protocultura
Sobre el analisis de prestamos
Celta y euskera
Nota sobre estratos y cronologia
Reconstruyendo el lexicon: I La obra de mitxelena
Reconstruyendo el lexicon: II Nuevas investigaciones etimologicas
Familias lexicas
Para la reconstruccion de nuevas y mas extensas familias lexicas
Algunos campos semanticos
Avanzando en la etimologia y fortaleciendo la reconstruccion

Protovasco y Vasco Comun Antiguo

La dialectologia diacronica anterior a 1981
Mitxelena sobre el Vasco Comun Antiguo
Divisiones binarias y de otro tipo
Elecciones o cadenas de innovaciones?
Sobre la necesidad de un Vasco Comun Antiguo
Del Protovasco Tardio al Vasco Comun Antiguo
Diversificaciones binarias: sobre la escision inicial
Particiones binarias: nudos intermedios y dialectos modernos
Division binaria, isoglosas antiguas y la proto-patria del VCA
Apendice: Apostilla tardia sobre vasconizacion tardia y Vasco Comun Antiguo

La lengua vasca en la Antigüedad (inmediatamente anterior y posterior a la llegada de los romanos)

El Eeuskera en la Edad Media (711 - 1400)

El Euskera Arcaico (1400 - 1600)

Euskera Antiguo y Clasico (1600 - 1745)

Primer Vasco Moderno (1745 - 1876)

Ultimo Vasco Moderno (1876 - 1968)

El Euskera Contemporaneo. El largo camino de la unificacion literaria


Music

Lyrics

Aesop Rock

Rings

[Verse 1]
Used to draw
Hard to admit that I used to draw
Portraiture and the human form
Doodle of a two-headed unicorn
It was soothin', movin' his arm in a fusion
Of man-made tools and a muse from beyond
Even if it went beautifully wrong
It was tangible truth for a youth who refused to belong
No name nuisance, stews in a bedroom
Oozing a brand new cuneiform
Barely commune with the horde
Got a whole gray scale ungluing his world
Might zone out to the yap of the magpie
Unseen hand dragging his graphite
Cross contour, little bit of backlight
Black ink after a Bristol to baptize
You can't imagine the rush that ensue
When you get three dimensions stuffed into two
Then it's off to a school where it's all that you do
Being trained and observed by a capable few
Back in New York, five peeps and a dog
In a two-bedroom doing menial jobs
Plus, rhymin' and stealin' and being a clod
Distractions free to maraud
I left some years a deer in the light
I left some will to spirit away
I let my fears materialize
I let my skills deteriorate
Haunted by the thought of what I should have been continuing
A mission that was rooted in a 20-year affinity
In rickety condition with an ID crisis
Nap on the front lawn, look up in the sky, it's…

[Hook]
Shapes falling out of the fringe
All heart, though we would've made cowardly kings
They will chop you down just to count your rings
Just to count your rings, just to count your rings
And there were colors pouring out of the fringe
All heart, though we would've made cowardly kings
They will chop you down just to count your rings
Just to count your rings, just to count your rings

[Verse 2]
Used to paint
Hard to admit that I used to paint
Natural light on a human face
Stenciled fire on his roommate's bass
It was blooming addiction
Amiss in the pushing of pigment
Book like a tattooed pigskin, look
Pinhead kids of the minute
Drank Kool-Aid from a tube of acrylic
And it grew up into linseed oil over linen
Joy to the poison, voice of the resin
Capture a map of the gesture
Back up, add a little accurate fat to the figure
Redo that, move that inward
Zinc white lightning shoots from his fingers
Studio strewn with illusion and tinctures
Stay tuned for the spooky adventures
You can't imagine the stars that align
When a forearm starts foreshortening right
Or a torso hung on a warping spine
In proportion reads as warm and alive
Routine day with a dirt cheap brush
Then a week goes by and it goes untouched
Then two, then three, then a month
And the rest of your life, you beat yourself up
I left some seasons eager to fall
I left some work to bury alive
I let my means of being dissolve
I let my person curl up and die
Eating up his innards, an unfeasible anxiety
Has brutally committed to relinquishing his privacy
Aligning with the trials of the anti-Midas
Nap on the back lawn, look up in the sky, it's…

[Hook]
Shapes falling out of the fringe
All heart, though we would've made cowardly kings
They will chop you down just to count your rings
Just to count your rings, just to count your rings
And there were colors pouring out of the fringe
All heart, though we would've made cowardly kings
They will chop you down just to count your rings
Just to count your rings, just to count your rings

[Outro]
I'm getting sick and tired of never understanding
Where is the truth you promised?!

None Shall Pass

[Verse 1]
Flash that buttery gold
Jittery zeitgeist, wither by the watering hole, what a patrol
What are we to Heart Huckabee, art fuckery suddenly
Not enough young in his lung for the water wings
Colorfully vulgar poacher, out of mulch
Like, "I'ma pull the pulse out a soldier and bolt."
Fine, sign of the time we elapse
When a primate climb up a spine and attach
Eye for an eye, by the bog life swamps and vines
They get a rise out of frogs and flies
So when a dogfight's hog-tied prize sort of costs a life
The mouths water on a fork and knife
And the allure isn't right
No score on a war-torn beach
Where the cash cow's actually beef
Blood turns wine when it leak for police
Like, "That's not a riot; it's a feast, let's eat!"

[Hook]
And I will remember your name and face
On the day you are judged by the funhouse cast
And I will rejoice in your fall from grace
With a cane to the sky, like, "None shall pass."
None shall pass, none shall pass

[Verse 2]
Now, if you never had a day a snow cone couldn't fix
You wouldn't relate to the rogue vocoder blitz
How he spoke through a NoDoz motor on the fritz
‘Cause he wouldn't play rollover fetch like a bitch
And express no regrets, though he isn't worth a homeowner's piss
To the jokers who pose by the glitz
Fine, sign of the swine in the swarm
When a king is a whore who comply and conform
Miles outside of the eye of the storm
With a siphon to lure out a prize and award
While avoiding the vile and bazaar that is violence and war
True blue triumph is more
Like, "Wait, let him snake up out of the centerfold
Let it break the walls of Jericho, ready go."
Sat where the old, cardboard city folk
Swap tales with heads, like every other penny throw

[Hook]
And I will remember your name and face
On the day you are judged by The Funhouse cast
And I will rejoice in your fall from grace
With a cane to the sky, like, "None shall pass."
None shall pass, none shall pass

[Interlude]
You tried, you tried, you tried to trick me
You've got a, you've, you've got a, a lot of nerve
I'm, I'm not, I'm not, trying to trick you
I'm try, I'm try, I'm trying to help

[Verse 3]
Okay, woke to a grocery list, goes like this
Duty and death; anyone object, come stand in the way
You could be my little Snake River Canyon today
And I ran with a chain of commands
And a jetpack strapped where the backstab lands if it can
Fine, sign of the vibe in the crowd
When I cut a belly open to find what climb out
That's quite a bit of gusto he muster up
To make a dark horse rush, like, "Enough's enough!"
It must've struck a nerve so they huff and puff
'Til all the king's men fluster and clusterfuck
And it's a beautiful thing
To my people who keep an impressive wingspan
Even when the cubicle shrink
You got to pull up the intruder by the root of the weed
N.Y. Chew through the machine

[Hook]
And I will remember your name and face
On the day you are judged by The Funhouse cast
And I will rejoice in your fall from grace
With a cane to the sky, like, "None shall pass."
None shall pass, none shall pass

Berri Txarrak

Bisai berriak

 Mendeetan barrena gordeaGuardado durante siglos
 Harri bat bihotzeanuna piedra en el corazón
 Lan eginez herri bihurtuatrabajando, convertido en pueblo
 Taupada bakoitzeanen cada latido.
Elorrixon zu ta niTú y yo en Elorrixo
Bi indar, bi argidos fuerzas, dos luces
Iraganeko bi zubiDos puentes del pasado
Ta geroaren irudie imágenes del futuro.
Elorrixon zu ta niTú y yo en Elorrixo
Bi indar ta bi argidos fuerzas, dos luces
Zeru zati honetanen esta parte del cielo
Izarra bateginikuniendo las estrellas.
Bisai berriak ditu orainakTiene nuevas caras el presente
Segitzeko usteancon el presentimiento de seguir
Iraultza baten zainakLas venas de una revolución
Kolore gorrizen color rojo
Haizeratzen hasteancuando empiezan a volar
Elorrixon zu ta niTú y yo en Elorrixo
Bi indar, bi argidos fuerzas, dos luces
Iraganeko bi zubiDos puentes del pasado
Ta geroaren irudie imágenes del futuro.
Elorrixon zu ta niTú y yo en Elorrixo
Bi indar ta bi argidos fuerzas, dos luces
Zeru zati honetanen esta parte del cielo
Izarra bateginikuniendo las estrellas.
Asmo berri berritzaileenCon la intención de guiar el lema de
Lema gidatzeko asmozlas nuevas intenciones renovadoras
Asmo berri berritzaileeiCon ganas de abordar
Berriz ekiteko gogozlas nuevas intenciones renovadoras
Elorrixon zu ta niTú y yo en Elorrixo
Bi indar, bi argidos fuerzas, dos luces
Iraganeko zubiDos puentes del pasado
Ta geroaren irudie imágenes del futuro.
Elorrixon zu ta niTú y yo en Elorrixo
Bi indar ta argidos fuerzas, dos luces
Zeru zati honetanen esta parte del cielo
Izarra bateginikuniendo las estrellas.
Zeru zati honetan bateginikUnidos en esta parte del cielo
Infernu zati honetan bateginikUnidos en esta parte del infierno

1999 Ikasten

Ikasten

Gaur atzo baino gehiago dakit
baina bihar baino gutxiago
hala gertatu ohi da behintzat
eskolaz kanpo

Jaiotzeko momentu beretik
hasten gara asimilatzen
eta lekzio zailenak beti
denborak irakasten dizkigu

Ikasten
nire adimena zabaltzen

akatsetatik
herri bezala
barkamena eskatzen
ixilik egoten
gehiago entzuten
aukeratzen
denbora aprobetxatzen
kantak egiten
ikasten, ikasten

haurrengandik, liburuetatik, agureengandik
beste kulturetatik ikasten
iraganetik, orainetik, etorkizunetik
zugandik, nigandik, guregandik

ikasten

Hau ez da behin ere gelditzen

Ikasten
beti nire adimena zabaltzen
ikasten
momentu oro.

Iritsi

..eta bizitzaren zentzua aurkitzeko bide horretan

heriotzaren zentzuak eskuaz agurtu zuen

…eta ulertu zuen dena gezur sinesgarri bat zela,

inoiz inor engainatzeko 
gai izango ez zen gezur bat

…eta bizitzaren zentzua
ulertzeko bide horretan

heriotzaren zentzuak eskuaz agurtu zuen

…eta liburu bat idazteko zuen ideiaz ez zuen inork

sekula ezer ere jakin, sekula ezer ere galdegin

…ta agian noizbait eman asmoz gordetako

muxu guztiak lurretik sakabanatu ziren

eta ez zen bere zitara iritsi

begiak itxita betiko galdera:

zer gehiago egin nezakeen ?

begiak itxita 
betiko…

Soberan

Noiz edo noiz etortzen da
bere mapa ideala izorratzen
duen eremu beltzera
zera, zuri gorri eta berde honera
errealitatearen korrontearen aurka
gure izokina, burua arina, irina
esbastiken errotan egina
zulo ustela gara bere haginan…
eta pozten naiz

joan zaitez, joan zaitez, zure herrira

Cara al sol, con la camisa nueva (aunque llueva)
Cara al sol bizi nahi luke berak
baina bai zera, hemen ia beti euria ari du
goitik, goitik behera
Temati zikina, mertzenario fina,
alper-alperrik egiten du bere ahalegina

bozgorailuaz ezintasuna anplifikatu nahian

joan zaitez, joan zaitez, zure herrira

Alperrik egiten du bere lana
bozgorailuaz ezintasuna anplifikatu nahian

Eskubidea izan arren
norberak badaki noiz,
non dagoen soberan

Off

Nora, nora nora naramate
programaketa kutre honekin
publizitate masiboaz
buru nagikeria finantziatuz

Nora, nora nora naramate
zipayo onei buruzko serieekin
Aita Santua ta erregea
ukiezinak diren berriekin

Nora nora nora naramate
zapping egin ta ez bada nabari
gidoien imaginazio ezak
titiekin betetzen badira

Nora nora nora naramate
morbo hutsa saltzen duten horiek
norberaren intimitatea
neurririkan gabe bortxatzen

Gu guztion mesederako ordea
bizitza ez da plato-ko muntaia bat
eta poza sentimen naturala da
eta tristura ez dago kartoiz egina

Nora nora nora naramate
futbola ez badut hain gustoko
horrenbeste iragarkirekin
ahaztu egiten badut ze filme den

Nora nora nora naramate

ez badut ezer ere ikasten
eta musikako programetan
rock-a zentsuratzen badute

Ez

Gaur ere goizean irratia piztua dut
ta nire herria ez omen da existitzen
gaur ere, nola ez, gezurretan ari dira
ta nire buruan ezintasuna hazi da

Irudimena
da kendu nahi digutena
axolakabe artalde ixila da
beren nahia

Gaur ere gabean telebista piztua dut
ta nire barruko amorrua hezi beharko dut
gaur ere, nola ez, gezurretan ari dira
gaur ere egiak bere burua saldu du

Irudimena
da kendu nahi digutena
axolakabe artalde ixila da
beren nahia

Gaur ere, nola ez, gezurretan ari dira
eta gaur bihotza gorrotoz gainezka dut…

Bainan ez, gaur ez, ez nauzue harrapatuko
eta ez, gaur ez, ez dizuet sinistuko
ez dut inolaz ere zuen musika dantzatuko
eta ez, ez dut zuen drogatik probatuko.

Aspaldian utzitako zelda

Jakin nahi nuke nork betetzen duen orain
nik utzitako zelda
ea entelegatzen duen hormako izkribu tipia :
“eroria burrukara”

ea alboko zeldatik inork hots egiten dion
komuneko plastikozko tuberia soltatuz

telefonoz bezala mintzatzeko
ea hango egunak eternal dirauen,
gauak izotzezko,
egunsentiak esne garratza diren

ea errekuentoan mirilatik so egiten duen begiak
[surveillir et punir]
inor ikusten duen, edo jadanik inor ere ez
[denak ala inor ez]

jakin nahi nuke ihes egin genuenok
benetan ihes egin genuen
ala ihes egitearena, bizitzen irauteko
atxakia hutsa izan zen.

Betiko leloaren betiko leloa

NO jaunak, NO jaunak
erantzun bakarra
kaxkarra
errealitateari bizkarra
ostrukaren ahalegin
itxi dezagun Egin
sistema “una, grande, libre” honekin
polizia ta kaka guzia
dira herri puta honen minbizia
gure geroa argituz doa
baina oztopoa
betiko leloaren betiko leloa

Honek ez du atzera bueltarik

NO jauna, No jauna
beti EZ esaten
ukatzen
gu eta gutarrak desesperatzen
gorrarena egiten
gezurrak eraikitzen
senide bat
senide bi
bitartean sofritzen
begiak itxi
demokrata bitxi

atzerakoien artean harribitxi
pitxitxi
zure lagunen iritziz

pake arriskua
akabo zirkua
irentsi listua
gorbata estuan
ta zure lana
jana eta edana
itxura ia dana
arazorik balego
jo komunikabideengana
jo komunikabideengana
berriz ere zaunkatzeko
betiko leloaren betiko leloa

Honek ezdu atzera bueltarik
pakea dator orain

Honek ez du atzera bueltarik
erabakia gurea delako
geurea
pakea dator orain.

Izebergaren punta

Lotsa eta duintasuna arrotz egiten zaien
gorbatadun horiek aurkitu dute jada
bizi garen mende honetako bukaerako
eta hasierako giza merkealdia
gazteak “giza” katalogazio horretik kanpo
tratatzen dituen gobernuaren gerizpean
lan-esku merkea, arrisku gabea
tripazaku esklabuzaleak konpromezurik ez

Ustelkeriaren izebergaren punta

Beti, beti, beti, ia beti beraien entrepresak
izen txukunekin janzten dituzte
hiena gaixotu puta bat, frak garestienez
jantzi nahi balute bezala
eta langabeziari buruzko datuak
leuntzeko tramankulu bikaina dira

komunikabideen komun-zuloetatik
ezjakintasun eta siniskeriaren itsasora

Ustelkeriaren izebergaren punta

ETT : Estatu Totalitarioaren Tranpa

Tranpa

Ustelkeriaren izebergaren punta.

Biluzik

Erantzi eta gero
oheratzerakoan,
orduan etortzen zaizkit
galderak eta dudak
begiak itxi eta
argia itzalita
biluzikan jartzen naute
tristuraren aurrean

Zaila da bakardadea onartzea

Ez al dun sentitzen ??
Ez al dun sufritzen ??

Izara tarte hontan
itotzen naizelarik
ezkutuko miseriek
arnasa hartzen dute ;
eztanda egin eta
desagertu nahi nuke
eta inork nire falta
somatzen duen jakin

Zaila da bakardadea onartzea

Maskara kenduta
esaidan ez al dunan
berdina sentitzen erraietan

Zaila da bakardadea onartzea,
lan nekeza.

Minutu bat

E, hi, lagun, hartu minutu bat
etzak/n ezer sartu, hitzegin dezagun
eta orain pentsatu ze ostia haizen
ze ostia ari haizen

Itxi begiak, ireki adimena
ez al duk/n uste euren jokoan erori haizela ?
pena merezi al du horrela jarraitzeak ?

Gazteok apalankatuta zorion bila
hogei urtetako agure pila
zaila da askotan argi ikustea
zeinek kontrolatzen duen bestea

Nik ez diat/nat esango zer egin
ez nauk/n hire aingeru goardakoa
baina arren hartu minutu bat

hartu minutu bat
haiek baino azkarrago izateko
minutu bat, harrapa ez zaitzaten

Gazteok apalankatuta zorion bila
hogei urtetako agure pila
zaila da askotan arti ikustia
zeinek kontrolatzen duen

hartu ba minutu bat.

Ikusi arte

Gelditu ginen eta ez zinen agertu
eta gero gainera ez zenidan deitu

Baina berdin du jada nik ez zaitut maite
bila ezazu beste bat eta ikusi arte

Idatzi nizun eta ez zenuen erantzun
nik atera nahi nuen, zuk ordea sartu

Baina berdin du jada nik ez zaitut maite
bila ezazu beste bat eta ikusi arte
Ikusi arte

Zure atea jo nuen, ez zenuen ireki
etxera itzuli nintzen larrosa batekin

Baina berdin du jada nik ez zaitut maite
bila ezazu beste bat eta ikusi arte

Ikusi arte.

2001 Eskuak-Ekubilak

Oihu

Haien berri onak gure
berri txarrak direlako
haien ametsak guretzat
ametsgaizto direlako

Oihu egin nahi dut
arima urratu arte
ixiltasunaren ozenez
gure egiak ere
haienak bezainbeste
balio dezake

Haientzat berria dena
ahituta zaigulako
haien hitz politek beti
iraintzen gaituztelako

Oihu egin nahi dut
arima urratu arte
ixiltasunaren ozenez
gure egiak ere
haienak bezainbeste
balio dezake

Gurtzen ari diren jainkoetarik inork
ez gaituelako inolaz salbatuko
ulertezin zaien oinazetik:
libertade ezatik.

Ebidenteegia

Ebidenteegia zure egia agian,
agintari nagia
ebidenteegia dejà vu etengabea
bizi dugun herrian
eta erreza da
komeni den norabide horretan
amorrua bideratu eta hurrengorarte.

Hitzak.

Ebidenteegia zure egia agian,
agintari nagia
ebidenteegia dejà vu etengabea
bizi dugun herrian
eta erreza da mikrofono urdinetatik
lasaitasun hitz arroxak jaurtikitzea.

Galderak aldatuz bakarrik lortuko dugu
gakoa datekeen erantzun putakumea.

Hemen batzu jada hasiak baikara
ezintasuna onartzen
ustezko jainkoak gugan
ez duela ezer ere sinisten.

Ez dugula hitzik nahi.

Galderak aldatuz bakarrik lortuko dugu
gakoa datekeen erantzuna.

Ez dut nahi

Gertu da eguna
non herri honek ahaztuko dituen
bere izena ta helbidea
eta akats likorez hordi
nekez aurkituko dugu etxerako bidea
galbidea

Gertu da eguna
non heriotzaren korredore
baten topatuko garen
funtsezkotzat hartu genuen besarkada
bat defendatzearren
nola garen

Gertuegi eguna
ezen tekno musikak
soilik mugiaraziko duen gazteria
non kaleko euria eta zure begiak
deskriba ahal daitezkeen
nola garen

Ta nik ez dut nahi bertan egon

Pangea

Hitzak bilatzen aurkitzen saiatzen
nola edo hala adierazteko
zer egiten duten hemen horrenbeste
gorpu kolore beretsukoek
Pangea garaia aspaldi izan zen
ez du zentzurik oroitze hutsak
baina zer edo zerk esaten dizu
ekidin zenezakeela zerbait

Ta hondartzek ez dute nahi
errugabeen hilerri izan

Mundu zatiak banaka hesitzen
mundua desorekatuago
injustiziara ohitzea baino
gaitz kutsakorragorik ez dago
herrialde aberatsen dominak
pilatuz jasotako murruak
itsututa ez duzue ikusten
handinahi honen ondorioak

Ta hondartzek ez dute nahi
errugabeen hilerri izan

Pangea

Honek eztanda egin behar du

Biziraun

Ezagutzen ez dudan herri batean
bapatean, ixilean bezala agertu naiz
kafetegi barrura sartu, lekua hartu
eta nire ingurura begiratzen jarri naiz
bikote bat muxuka mundua desafiatzen
bizitza xurgatzen
muxuz-muxu maitasuna puzten
ez dute besteentzako lekurik apenas uzten
telebistari begira jarri naiz, naiz, naiz…

Nahiz eta albisteek, berri guztiek,
berri gehienek
hortzak erakusten dizkioten zorionari,
zorion apurrari
Sanzek ezetz, ezetz euskarari
hiru palestinar zulora, real madrilek gola
arma tiro pum, atxilotu lotuak edonon
eta galdetzen dut zer ote den hau
bizi ala iraun, bizi ala iraun,
biziraun zu barik

Noizean behin barregin
bakoitzak bere ikarak
gordetzen ditu berekin
halakoak gara
ezinegona, zulo sakona
sentitzen dudana ez da batere ona
batzutan, askotan, gehiegitan, oso maiz
gaizki nabilela ohartzen naiz
kamarero: kafe bat, hutsa ta doblea
gaur ez dut ametsik egin nahi, nahi, nahi…

Nahikoa da, ez dut ilunegi azaldu gura
altxa aingura eta bakarrik atera nahiko
nuke kanpoko mundura
baina kosta egiten zait,
kosta egiten zait, bai
ta ez naiz ari,
ez naiz ari damu eta erruei buruz
hainbat zauri irekirik ditut
horixe da dena, barkatu

Behin idatzi zenuen elaberri hura
nire poemengatik trukatu nahi nuke
jakiteko behingoz ni sufritzen
ari nintzen bitartean
zu zertan ari zinen
zertan ari ote zinen

Dirudizun bezain zoriontsu
izan zaitezen opa dizut

Zirkua

Pailazo korbatadunak
benetako pailazoak iraintzen
iritzi behartuen zirko mediatikoan
hitzaren malabaristak baditugu baita ere
ta animalia basatien domatzaile kaskodunak

Ongietorri gure zirkura

Irudi txukunaren kable kilinkatsuan
lasaitasun itxurazko funanbulistak
azpian badaezpada ere sarea dutela
emakume bizarduna, nano biboteduna…

Ongietorri gure zirkura
exeri ta ongi portatu

Bost egun mundutik deskonektatzeko zozketa

Merke salneurria: zure bizitza

Ongietorri gure zirkura

SMT (Shitty Music Tavern)

Zenbat pijada entzun behar diren
gure inguruko tabernetan
telebista kateak bailiren
horteroen lehiaketan

Aspertuta gaude
egoerarekin
rock falta honekin

Eta iragarki komertzialek
markatzen badizuete ildoa
esango hemengo taldeek
zertan dute ba geroa

Nazkatuta

Are gehiago esango nuke
eta ez gaizki hartu
hemen rocka hasi zenetik
hogei urte pasa badira
esaidazue zergatik jaialdietan

beti berdina entzuten da
ez al gaude eszenaren alde?

Barkatu ez bazaizu gustatzen
baina jotzera goaz
inoiz baino altu eta ozenago
eta zikinago

Nazkatuta

Lehia

Ego puztuen
uhartera joateko txalupa hartu zuen
apal baino zuzen
bilatzen zuen hori aurkitzeko itxaropenez
baina diotenez
joaneko bidaia da (itzultzerik ez)
saldu bere burua bera saldu
uzta ondo jaso, duintasuna galduz

Lehia, basoan lehoia
ospea, dirua, urre koloreko lohia
latza handinahiaren kiratsa
ondokoak erabiliz meritu eskasa
igo, helburu bakarra
inori eskerrik ez, jarrera kaxkarra
Darwinen legea
mugara eramana, okerreko bidea

Denborak ez du beti bakoitza
merezi duen lekuan uzten

Mundua begiratzeko leihoak

(J. Sarrionandia)

Ez ezazue leihotik so egin, esan ziguten
leihoak gilotinak dira
leiho hertsirekietatik, leiho betubelduetatik
kanpora begiratuz gero
burua gal dezakezue:
botoia sakatu eta begira egizue telebista
begi erakuslea

Ez leihotik so egin

zaparroek kristalak hautsi arren
bizi zaitezte intsektu domestikoekin
zaudete hor zeuen hilarekin
kanpoan ez dago ezer,
so egileen buru ebakiak salbu
eta autoak, alarma sistema gertu
baina deskantsuan

Ez ezazue leihotik begiratu

Ez ikusi ortzean hegats arraunka doan
basahate ubea
letra hori ez dago gure alfabetoan

Stereo

Nafarroa Garaiko
presidente jauna
nora begira zaude?

Nafarroa Garaiko
presidente jauna
zerk itsutu zaitu?

Gure herriko historiaren
orrialde beltzenak
oharkabean idatzen

Zeinek azalduko digu
obsesio honen funtsa
zeinek zentzugabekeria
honen erro galdua
inor ordezkatzekotan
ikasi lehenengo gaia:
gauzak stereon beti
hobeto ulertzen dira

Inork ez zion inoiz
bere teilatuari
harri gehiagorik bota

denon teilatu gorriari
itsu-itsu harrika

Ez zara jendartean bizi eta

zertan ari zara
gogoratu nahi ez ditugunen
uzkia miazkatzen?

Zeinek azalduko digu …

Nafarroa Garaiko
presidente jauna
zerk itsutu zaitu?

Hil baino lehenago

Bidea aukeratu nuen
bidea ezagutu gabe
galdetu egin gabe
besteek zer eskeiniko ote zuten
denbora pasa da eta
atzera gegiratzean
zer da gelditezen zaidana:
naizena.

Ta zer? bidea aukeratu nuen.

Bidea ezagutu nuen
bidea ezagutu gabe
galdetu egin gabe
besteek zer eskeiniko ote zuten
zalantzak agertzen dira
ez dira aise eramaten
inori galdetzerik ez

Ta zer? bidea aukera dezaket.

Beraz ez esan
zer behar dudan
ondorioak nireak izango dira.

Beraz ez egin
ez galderarik
ez daukat eta erantzunik.

Bizi nahi dut
hil baino lehenago
bizi egin nahi dut.

Eskuak

Mezu hilak idazteko eskuak
elkarrekin sentitzeko eskuak
arriskua txalotzeko eskuak
ta mundu hau jorratzeko eskuak.

Ukabilak

Aski dela esateko: ukabilak.

2003 Libre

Hil nintzen eguna

Hil nintzen egunaEl día en que morí
 Zeinek eman dit aukera¿Quién me ha dado la oportunidad
 hemen mikrofono aurreanaquí delante del micrófono
 biluzik irten ta hitzetande salir desnudo y hablar
 nahi dudana esan ta ezkutatzeko?para decir y ocultar lo que quiera?
Ez al da eguna gauaren etsai?¿Acaso no es el día enemigo de la noche?
Ez al da eguna dena apurtzeko?¿Acaso no es el día de romperlo todo?
 Zeinek eman dizu aukera¿Quién te ha dado la oportunidad
 hona deitu ta aurpegirade llamar y decirme a la cara
 merezi ditudan hitzaklas palabras que merezco,
 nahi duzuna esan ta ezkutatzeko?¿quieres decir y ocultar lo que quieras?
 Ez al da eguna gauaren etsai?¿Acaso no es el día enemigo de la noche?
 Ez al da eguna dena apurtzeko?¿Acaso no es el día de romperlo todo?
 Nik behintzat ez dut oroitzen
 jaio nintzen eguna
 negar asko agin nuela,
 hori ez da berria
 hil nintzen egunaz bai,
 oroitzen naiz zure zai
 baina jada ez zait axola,
 berriz jaio naiz
 Zeinek eman dit aukera
 hemen mikrofono aurrean
 biluzik irten ta hitzetan
 nahi dudana esan ta ezkutatzeko?
Ez al da iluna argitasun hau?
Ez al da eguna dena apurtzeko?
eta ez dakit zu oraindik
bizirik zauden
eta negar egin behar badut
arrazoi on bat
bilatzen dihardut
 jaio nintzen egunaz
 oroitzen naiz zure zai
 baina jada ez zait axola
 gaur berriz jaio naiz

Espero zaitzaket

Igande iragande, ez daukazu planik
Hollywood filme merkeren bat
Rock&roll bostehun kanta
idatziko ditut zu ez aspertzeko
zoruan zerua marraz genezake
bakarrik etorri, etxean ez dago inor
Ta espero zaitzaket

Igande iragande ez daukazu planik
Athletic Athletic, partida txarren bat
Rock&roll bostehun kanta
bakarrik etorri etxean ez dago inor

Ta espero zaitzaket

Esaidazu zein den zure izena
eman zure helbidea
eta bakarrik sentitzen banaiz
ikusiko dugu elkar
bakardadearen kontra denok dugun
borroka zail honetan
zenbatu al dituzu porrotak eta garaipenak

Izena, izana, ezina

Izena, izana, ezinaNombre, ser, impotencia
Hemen gaudeAquí estamos
Zuekin bat natorrela esan nahi dutQuiero decir que estoy con vosotros/as:
lur zati txiki hau horren da edereste pequeño trozo de tierra es tan bello
titular guztiak guri buruz diratodos los titulares hablan sobre nosotros
baina ez digu inork ezer ere galdetupero nadie nos ha preguntado nada
Batzu mila kilometroraAlgunos/as a miles de kilómetros
bihotzetik gertu alegiao sea, cerca del corazón
beste batzu bertan bizitaotros/as tan lejos a pesar de vivir en él
horren urrun
horren urrun
Ta hemen gaude...
Zuekin bat natorrela esan nahi dutQuiero decir que estoy con vosotros/as:
lur zati txiki hau horren da zailaeste pequeño trozo de tierra es tan difícil
gezurra dirudi ez da nekerikparece mentira, no hay cansancio
beti ilusioak eraberritzensiempre regenerando las ilusiones
Batzu mila kilometroraAlgunos/as a miles de kilómetros...
bihotzetik gertu alegia
beste batzu bertan bizita
horren urrun
Sentimenduak ez dira inoiz izanLos sentimientos nunca han sido
batzuk saldu nahi duten bezain azalekoaktan superficiales como quieren vender algunos/as
Ta hemen gaude?Y aquí estamos...
Zuekin bat natorrela esan nahi dutQuiero decir que estoy con vosotros/as:
lur zati txiki hau horren da zahareste pequeño trozo de tierra es tan viejo
behin eta berriz inausi digute hitzanos han podado la palabra una y otra vez
debekuaren artaziekincon la tijera de la prohibición
Batzu mila kilometroraAlgunos/as a miles de kilómetros...
bihotzetik gertu alegia
beste batzu bertan bizita
horren urrun
Sentimenduak ez dira inoiz izanLos sentimientos nunca han sido
batzuk saldu nahi duten bezain azalekoaktan superficiales como quieren vender algunos/as
horren konplikatua ta sinplea daes así de complicado y así de sencillo
hauxe da gure izena, izana ta ezinaeste es nuestro nombre, nuestro ser y nuestra impotencia
Albistegien izenburuak guri buruz izan ohi diraLos titulares de los noticiarios hablan de nosotros
baina oraindik inork ez digu sekula ezer galdetupero todavía nadie nos ha preguntado nunca nada
ta hemen gaude...y aquí estamos...

Pintadek

Semaforo baten bat lotsagorritu egin da
jaio nintzen hiria mirestu dudanean
nahiz parkingak dauden orain
gure historiaren sotoetan

Ta kolore arrotz hauek oihuka diote batzuk
errezago luketeela berdin pentsatuko bagenu

Ezjakintasunaren fanen bat harritu egin da
jaio nintzen hiria mirestu dudanean
nahiz hiperrak dauden orain
aldirietan zaindari

Ta kolore arrotz hauek oihuka diote batzuk
errezago luketeela berdin pentsatuko bagenu

Pintadek esan ohi dute paperek isiltzen dutena

Ta diglosi behartuak oihuka, orruka dio batzuk
errezago luketeela berdin mintzatuko bagina

Pintadek esan ohi dute…

Emazten Fabore II

Gaur ez al zaizu iruditu garaiak ez direla
batek nahi bezain azkar beti aldatzen?

Gaur
bi miloigarren aldiz harrikoa egiten ari zela
beste bat joka hil dute.

Gaur ez dago minutuko isilunerik
mendeak daramazkigu isilik.

Gaur
bi miloigarren aldiz laguntza eskatzen ari zela
beste bat joka hil dute.

Gaur ez dago minutuko isilunerik
mendeak daramazkigu isilik
gaur ez burulerrorik
kasu solte bat da
langile zendu hori bezala.

Gaur ez dago minutuko isilunerik
mendeak daramazkigu isilik.

Kanta goibelak

Mundua mozkor zegoen
ta ihes egin genion
kantu bera entzuteaz nazkaturik
jendea bakarrizketa trukean dabilela
aipatu zenidan eta egia da.

Kanta goibelak ditugu maite
ez galdetu arrazoia
biharko nitaz ahaz zintezke eta
badaezpada.

Ta zer giro da zurean, nola dabil jendea?
ta zer diozu ispilu horizontalez?
hau irribarre bidezko erailketa ote den
leporatu nizun eta egia da.

Kanta goibelak ditugu maite…

Bizitza motzegi, orduek luzeegi
dirudite flexo honen argitzaletan
gela txikiegi, ohea handiegi
kanpoan mundua jeloskor nire zai

Kanta goibelek naute maite
ez galdetu arrazoia
eguzkia hilko nuke
orain hemen bazina
hemen bazina.

Ez naiz aldatuko (Esan zuen kamaleoiak)

Ni ez naiz aldatuko
esan zuen kameleoiak

Izarrak zure zai daude,
hala esan didate
zeruko maindire beltza
han hemenka zulatzen

Izarrak zure zai daude,
ez al dituzu ikusten
hor gelditu behar al duzu
egun gordinak jaten?

Ta zure oroitzapenen kutxa beltza
bilatzen jarraitzen duzu jakiteko ziur
ustezko hegaldi hau nola hasi zen
ustezko hegaldi hau ez ote den
gaizki eta oker,
txarto ulertutako erorketa.

Ni ez naiz aldatuko
esan zuen kameleoiak.

Denbora hartu ikusteko
jausi behar dela altxatzeko
eta erokeriaren bat
inozokeriaren bat
egin beharko zenuke:
zoriontsu izan edo halako zeozer.

Inork ez zuen esan
erreza izango zenik.

Denak ez du balio

Ez gaudela Erdi Aroan
egutegiak dio,
pare bat milenio
diktaketatik kanpo zeuden
mezulari denak
hiltzen saiatu diren arren

so tonight we open up our hearts
staring straight into the sky
we are blinded by ambition
to be part of their lie
seperation from these places
seperation from these times
can we transcend this repitition?
transcend this life

Geroa eta iragana
ezabatuak izan dira
oraina luze eta antzua,
mutu itsua geure aurrean.

Ez gaudela Erdi Aroan
egutegiak dio
eta erregeak zer dio
txanponetatik kanpo?
gutxiengo direnentzat
sorgin ehizak dirauen arren
hauen arren.

So tonight we open up our hearts…

Geroa eta iragana
ezabatuak izan dira
Oraina, luze eta antzua,
mutu itsua geure aurrean
biharra ez da existitzen
eta halere ziur gaude
gaurkoa ez dela
amesten genuenaren antzekoa.

Ez gaudela Erdi Aroan
denak ez du balio
ezerk ez al du balio?

Geroa eta iragana
ezabatuak izan dira
oraina luze eta antzua,
mutu itsua geure aurrean
biharra ez bada existitzen
orain antzu hau
saiatuko garela aldatzen
aldatzen, aldatzen.

I am talking about changing.

Irailak 10

Non gauden eta nola geunden
Irailak 11 baino lehen
nork, zeinek agintzen duen hemen
lehendik ere bagenekien

Ta txakur denek izan ohi dute
bere jabearen itxura

Bi mila eta bat, Irailaren hamar
lupuek Aitzakia
ez zuten eguna

Nork deitu dio gerra honi
noiz ospitaleetan tankerik
ez, people-a azkena da beti
ze, segurtasun mota da hori?

Ta txakur denek izan nahi dute
bere jabearen itxura

Bi mila eta bat, Irailaren hamar
lupuek Aitzakia
ez zuten eguna
azken eguna

Munduak ordutik hona
Guantanamo erraldoi bat dirudi

Zeinena da orain erantzukizuna?
Zein bizi da seguru?

BFC

Libre ©

Beitu, zenbatu, gehitu
ondokoak baino mugikor txikiago bat
ondokoak baino titi handiagoak
ondokoak baino kotxe azkarrago bat
ondokoak baino modelo berriago bat
ezin esan, ezin egin
ezin pentsa, ezin senti
dena da hemen debekugai

Aske zarete, libre ©
zuen kaiola erraldoietan
dena eros daiteke
zuen kaiola erraldoietan
hala ere kexu zara
zure kaiola erraldoi horretan
katez alda dezakezue
zuen kaiola erraldoietan

Beitu, zenbatu, gehitu
ondokoak baino mozkor luzeago bat
atzokoa baino saio kutreago bat
atzokoa baino kantu errezago bat
ondokoak baino gerri argalagoa

ezin esan, ezin egin
ezin pentsa, ezin senti
dena da hemen debekugai

Aske zarete, libre ©
zuen kaiola erraldoietan…

Beitu, zenbatu, gehitu…

Mundua obratan dago
baina guk ez dugu ezer apurtu
eta euria ari du,
baina guk ez dakigu nork
eta haizea haserre dago,
baina ez dakigu norekin
eta itsasoa?
itsasoa ere haserre dago
eta izen pare bat
okurritzen zaizkit
baina isildu egingo naiz
demokraziaren izenean

Aske zarete, libre ©…
zuen kaiola erraldoietan…

Gezur bat mila aldiz

Gezur bat,
egia galdu bat
gezur bat.

Esan gezur bat mila aldiz
errepikatu hitzetz hitz
handik gutxira ikusi
egia bihurtzen.

Loreak beltzak dira hemen
eta aldez aurretik dakigu
zer usain duten
maitaleentzako jaio ote diren
edota hilerri hotz baten
ustelduko diren.

Esan egia bat mila aldiz
errepikatu hitzez hitz
haien ahotan ikusi
gezur bihurtzen.

Eguzkia pribatu da hemen
eta aldez aurretik dakigu
zer asmo duen
nor berotu eta nori egarri eman
nor argitu eta nor itsutu nahi
zein inar gaiztoz kixkali
nor itzalez erahil
itzaletan hil behin eta berriz.

Sinisten dudanaren zerrendan
zalantzak daude hasieran
iritzien laberinto honetan
zein ez da galdu galderatan?
Ikurrak helduek egindako
marrazki traketsak direnez
izan zeure ikur eta marraztu
heldurik gabeko mundu bat.

Egia galdu bat,
gezur bat
behin eta berriz.

2005 Jaoi.Musika.Hil

Zertarako Amestu

Zertarako AmestuPara que soñar?
Eta lo bagaude,Y si estamos dormidos,
zertarako amestu?¿Para qué soñar?
Eta zertan esnatu hemen ez bazaude?¿Y para qué despertar si no estás aquí?
Eta lo bagaude,Y si estamos dormidos,
zertarako amets egin¿Para qué soñar
etorriko diren egun libreekin?con los días libres que llegarán?
Zertan amets egin?¿Para qué soñar?

Berba eta Irudia

Ez da inposatzen: gehiengoa da

ez da kutsatzen: garapena da

Berba eta irudia: kontrola

hau da mende berria mundu zahar batean

Ez al gara konturatzen

egia desitxuratzen

dutela hitzak aldatzen?

Interpretazioak eta intentzioak

dira interakzioan

Ez da homofobia: familia da

Ez da tortura: efikazia da

Berba eta irudia

beharrezko den guztia

Berba eta irudia

gure tragikomedian

La Imagen y la Palabra

No se impone: es la mayoría

No se contamina: es el progreso

Palabra e imagen: control

Este es el nuevo siglo

En un viejo mundo

¿No nos damos cuenta de que

desfiguran la realidad cambiando las palabras?

Las interpretaciones y las intenciones están en interacción

No es homofobia: es la familia

No es tortura: es eficacia

Palabra e imagen: control

Este es el nuevo siglo

En un viejo mundo

La palabra y la imagen

Todo lo necesario

En nuestra tragicomedia

Oreka

Esnatu berria naiz eta ez dut ireki nahi

libratuko omen nauen ate sorta

leihoekin aski zait

ez dago inor gure zain

jendez gainezka dagoen kale horretan.

Argia profitatuz amets bat idatzi dut

herri nekatu honen azalean

ea irauten duen,

badakizue hemen memoria ezabatzen digutela

Tristea da dena ospatu behar hau

oraindikan dena lortzeko badago

orekak ez du balio lurrean zaudenean

orekak ez du balio aspaldi jausi zarenean

Gure gezur propioak sinetsi ditugula

besteen gezurrekin aspertuta

lider bat behar dugula dio

liderra izan nahi duenak

Argia profitatuz amets bat idatzi dut

herri nekatu honen azalean

Lider bat behar dugula dio

liderra izan nahi duenak

Tristea da dena ospatu behar hau

oraindikan dena lortzeko badago

orekak ez du balio lurrean zaudenean

orekak ez du balio aspaldi jausi zarenean

Equilibrio

Acabo de despertarme y no quiero abrir

La serie de puertas que probablemente me salven

Me es suficiente con las ventanas:

Nadie nos espera en esa calle llena de gente

Aprovechando la luz he dibujado un sueño

En la piel de este pueblo cansado

Veamos cuánto dura, pues ya sabéis que

Aquí nos borran la memoria

Es triste este tener que celebrarlo todo

Cuando todavía está todo por conseguir

El equilibrio no sirve de nada cuando estás en el suelo

El equilibrio no sirve de nada cuando hace mucho que has caído

Nos hemos creído nuestras propias mentiras

Aburridos de las mentiras de los demás

El aspirante a líder dice que necesitamos un líder

Iparra Galdu: Hegoen Joan

Iparra galdu: hegora joan

Burua galdu: bihotza eman

Geroa marraztu dut paper zati batean

Kantu bat egin dizut bapatean:

pare bat akorde, melodia urdin bat

oroitzapen denak txuri-beltzean

Geroa marraztu dut

ez nizun ezer esan

nire gelako pareta batean

biharrari argazki bat

horra zure begiak

asmatu ezinezko koloreak

Oraindik ez dakit zehazki erantzutzen

beti egin gabe gelditu diren galdera horiei

izana zulatzen abilak dira

Baina zu zaude guztietan

marrazki eta kantuetan

galdera eta etorriko diren

erantzun guztien atzean

Geroa marraztu dut paper zati batean

kantu bat egin dizut bapatean:

pare bat akorde, melodia urdin bat

hauxe da zugatik egin dudana

Perder el Norte: Partir hacia el Sur

Perder el Norte, partir hacia el Sur

Perder la cabeza, dar el corazón

He dibujado el futuro en un trozo de papel

Te he hecho una canción en un momento

Un par de acordes y una melodía azul

Todos los recuerdos en blanco y negro

He dibujado el futuro, no te dije nada

En una pared de mi habitación

Una foto al mañana

He ahí tus ojos y esos colores

Imposibles de adivinar

Todavía no sé contestar certeramente

A esas preguntas que siempre se quedaron por hacer

Son tan hábiles en punzar mi ser

Pero tú estás en todas las canciones y dibujos

En la preguntas y en en todas las respuestas que llegarán

He dibujado el futuro en un trozo de papel

Te he hecho una canción en un momento

Un par de acordes, una melodía azul

Esto es lo que he hecho por ti

Honetarako jaio nintzen

Ta honengatik hilko naiz

Zein da zure helburua?

Zein aburua?

Mezu bat dugu zabaltzeko

Harro daudenak apaltzeko

Zentzuak odolustutzeko aiztoa prest

Zuek segitu rock’n’rolla sabaltzen

Zaindu irudia

Guk bihotzak josiko ditugu berriz

Denok gaude nazkatuta

silikonazko kantuez

musikaren ablazioaz, kabroi alaenak!

Egonezin puta honen kontra

Adierazpen librearen alde

Gure arimak hustu ta zuenak bete

Zuek segitu rock’n’rolla sabaltzen

Zaindu irudia

Guk bihotzak josiko ditugu berriz

Ardi txuria sentitzen garelako artalde beltzean

Ardi beltza sentitzen garen moduan, artalde txurian

Honetarako jaio nintzen

Ta honengatik hilko naiz.

Zein da zure helburua, kabroi alaena?

Mezu bat dugu zabaltzeko

Zentzuak odolustutzeko

Harro daudenak apaltzeko aiztoa prest

Nacer.Music.Morir

Nací para esto y por esto moriré

¿Cuál es tu objetivo?

¿Cuál es tu opinión?

Tenemos un mensaje que difundir

Para bajar los humos a todos los engreídos

Con el cuchillo preparado para desangrar los sentidos

Vosotros seguid salvando el rock’n roll

Cuidad vuestra imagen

Nosotros volveremos a coser corazones

Todos estamos hartos de las canciones siliconadas

De la ablación de la música

Malditos cabrones

Contra este puto sinvivir

A favor de la libre expresión

Vaciaremos nuestra alma para llenar la vuestra

Vosotros seguid salvando el rock’n roll

Cuidad vuestra imagen

Nosotros volveremos a coser corazones

Porque nos sentimos la oveja blanca en el rebaño negro

Como nos sentimos la oveja negra en el rebaño blanco

Nací para esto y por esto moriré

¿Cuál es tu objetivo, maldito cabrón?

Tenemos un mensaje que difundir

Para desangrar los sentidos

Con el cuchillo preparado para bajar los humos a los engreídos

Behinola sunormalak etorri ziren

Normala zaintzera

Behinola sunormalak etorri ziren

Manifestatzera

Onak eta txarrak seinalatuz

Ongizatearen izenean

Behinola sunormalak etorri ziren

Zentsura hortzetan

Behinola sunormalak etorri ziren

Ordena jartzera

Onak eta txarrak seinalatuz

Beti beraien mesedetan

Hitza kendu egiten du

Elkarrizketatik hitzik ez dakien ezjakinak

Zarata egiten du argumentu gabe

Geratu ohi den ahoberoak

Baina bizirik gaude eta

Jada haserretzen hasiak

Jendea da euren arazoa

Aniztasuna minbizia

Los Buenos y Los Malos

En una de estas aparecieron los subnormales

A cuidar de ‘lo normal’

En una de estas aparecieron los subnormales

A manifestarse

Señalando a los buenos y los malos

En nombre del bienestar

En una de estas aparecieron los subnormales

Con la censura entre los dientes

En una de estas aparecieron los subnormales

A imponer su orden

Señalando a los buenos y los malos

Siempre en su propio beneficio

Arrebata la palabra el ignorante que no entiende de diálogo

Hace ruido el bocazas que se queda sin argumentos

Pero seguimos vivos y empezamos a estar enfadados

La gente es su problema

La pluralidad su cáncer

Hemen eta orain hasia da

Iraultza Txikien Asanblada

Hasteko, garunen greba luze honetan

eskirolak izango gara

isildutako hitz zerrendarekin sortuaz kantak

Aro berri bat hasia da

Iraultza Txikien Asanblada

Sentitzen duzuna, nahi zenukeena

Gutariko inor ez da falta

Iraultza Txikien Asanbladan

Esaiguzu zein den zure ideia

ezberdinak izan gaitezen

Noren kontra zauden baino gehiago

zer egiteko prest

Sentitzen duzuna, nahi zenukeena

Ta zergatik konformatu eskaintzen digutena

Gutxiegi bada?

Aro berri bat hasi da, arren ez zaitez atzeratu

Aro berri bat hasi da, geldituko gaituenik ez da

Aro berri bat hasi da, errespetua pasahitza

Errespetua

Sentitzen duzuna, nahi genukeena

Ta zergatikan konformatu eskaintzen digutena

Gutxiegi bada?

La Asamblea de las Pequeñas Revoluciones

Aquí y ahora da comienzo

La Asamblea de las Pequeñas Revoluciones

Para empezar, seremos esquiroles
 en esta larga huelga de cerebros

y haremos canciones con la lista de palabras prohibidas

Ha comenzado una nueva era

en La Asamblea de las Pequeñas Revoluciones

Todo aquello que sientes

Todo aquello que querrías

No falta nadie de nosotros

en la Asamblea de las Pequeñas Revoluciones

Dinos cuál es tu idea para que seamos diferentes

No tanto en contra de quién estás

sino más bien
 qué estás dispuesto a aportar

Todo aquello que sientes

Todo aquello que querrías

¿Y por qué conformarse si lo que se nos ofrece
 no es suficiente?

Ha comenzado una nueva era, no te quedes atrás

Ha comenzado una nueva era, no hay quien nos pare

Ha comenzado una nueva era, respeto es la contraseña

Respeto

Bueltatzen

Mundua ikusi nahi dut

baina zure ohetik

Mundua ikusi nahi dut

Ahazten ez duzun kantu

zure ezpainetan

kantua izan nahi dut

Ta non ezkutatzen zinen orain arte

urte luzeegi hauetan agertu gabe

Helduidazu eskutik estu arren

ilun dago ta ez dakit bueltatzen

Itsaso izan nahi dut

zure ekaitzetan

Itsaso izan nahi dut

Etxerako bidea

soilik zure oinetan

Bidea izan nahi dut

Ta non ezkutatzen zinen orain arte…

Mundua ikusi nahi dut

baina zure ohetik

Mundua ikusi nahi dut

zure hitzen talaiatik

Ahazten ez duzun kantu

zure ezpainetan

kantua izan nahi dut

Volver

Quiero ver el mundo

Pero desde tu cama

Quiero ver el mundo

Esa canción que nunca olvidas

Quiero ser canción en tus labios

¿Y dónde te escondías hasta ahora

sin aparecer en todos estos años?

Coge mi mano, fuerte por favor

Está oscuro y no sé volver

Quiero ser mar en tus tempestades

Quiero ser mar

El camino a casa

Solamente en tus pies

Quiero ser camino

Quiero ver el mundo

Pero desde tu cama

Quiero ver el mundo

Desde la atalaya de tus palabras

Quiero ser esa canción

que no se escapa de tus labios

Kezkak

Artozkira ez da gutunik heltzen

ez eta laguntzarik Afrikara

Armak bai, armak bai zibilizaziotik

Lehengai merkearen truke

Haurrek irakurtzen ez eta

tiro egiten ikas dezaten

beste ezer baino lehen

Beste edozer baino lehen

Kezkak

Herri batzuek

beste herri baten historia ikasten dute

Eta herri batzuek

beste herri baten historia idatzi ere bai

Gauez egindako erasoetan

misilek su artifizialak dirudite telebistako pantailan

Eta Lizartzako sarreran “herri ilegala” jartzen du

kartel urdinetan

Akordez hesitu ditut nire kezkak

eta erantzunik ez dut

galderak hamar mila

Kabroi batek egin deakeen min guztia

Bizi bat daramagu

beste bizi baten bila

Preocupaciones

No llegan cartas a Artozki

Ni ayuda a Africa

Armas sí, armas sí desde la civilización

A cambio de materia prima a bajo coste

Para que los niños no sepan leer

Y aprendan a disparar

Antes que cualquier otra cosa

Algunos pueblos estudian la historia de otros pueblos

Como algunos pueblos escriben la historia de otros pueblos

En los ataques nocturnos, los misiles parecen fuegos artificiales

En la pantalla de la televisión

Y en la entrada de Lizartza hay carteles azules donde pone

‘Pueblo Ilegal’

He cercado mis preocupaciones con acordes

Y tengo diez mil preguntas
 pero ninguna respuesta

Todo el daño que puede hacer un cabrón

Llevamos una vida entera

En busca de otra vida

Preocupaciones

Isiltzen banaiz

Antzeko zauriekin hemen gaude

Orbain forma hartu duen irribarrez

Baina etorri egin zara hala ere

Ta isiltzen banaiz ez da hitzik ez dudalako

Momentu asko hautsi ditut dagoenerako

Horitu zitzaizkigun ilusioak

Ta bidali gabeko eskutitzak

Gaur eskuminak eman zorionari

Ta isiltzen banaiz ez da hitzik ez dudalako

Momentu asko hautsi ditut dagoenerako

Ez dago miraririk, badakizu

Bizitzea besterik, badakigu

Ta urruti zaude

Ta mila hitz asmatu ditut damuaren antzekoak

Ta mila begirada triste zurearen antzekoak

Si Callo

Aquí estamos con heridas semejantes

Con una sonrisa que ha adquirido forma de cicatriz

Pero has venido a pesar de todo

Y si me callo no es que no tenga palabras

Ya he roto demasiados momentos hasta el momento

Se nos oxidaron las ilusiones

Y las cartas que se quedaron sin enviar

Dale recuerdos a la felicidad

No hay más milagro que vivir

Ya lo sabes, ya lo sabemos

Y estás lejos

Y he inventado mil palabras parecidas al arrepentimiento

Y mil miradas tristes parecidas a la tuya

Breyten

Breyten zuen izena: Breyten Breytenbach

Hiltzera zigortua

Pretoriako kartzelan txuri bakarra

beltz askoren artean

Egunsenti bakoitzan exekuzio bat

heriotza tantaka

Lurra ireki baino lehen azken kantu bat

kantatzen omen zuen kondenatuak

Breyten esnatzen zuten

hiltzera zihoazenen

kantu ezberdin horiek

egunero batek

Breyten libratu egin zen urkatik

baina inolaz ere kantu horietatik

Kondenatua

(Oharra: Eduardo Galeanoren poema batean oinarritua)

Su nombre era Breyten: Breyten Breytenbach

Condenado a muerte en la cárcel de Pretoria

Era el único hombre blanco

Entre muchos hombres de color

Una ejecución cada amanecer

La muerte goteaba

Momentos antes de abrirse el suelo

El condenado solía cantar una última canción

Aquellas canciones de los que iban a morir

Despertaban a Breyten

Cada día una diferente

Breyten se libró de la horca

Pero jamás de aquellas canciones

Condenado

(Nota: basada en un poema de Eduardo Galeano)

Gelaneuria

Betiko zirudien

Betirako amaitu da

Ezin dela ezin dena

Eta ordu txikitan

Handitzen da hutsunea

Ezin dela ezinezko dena

Kantu batek ireki dizu zauria

Egunak amatatuz, hain da zeurea

Gelaneuria

Abisatu hiltzen banaiz

Ni ez banaiz

Nintzena ez banaiz

Kantu batek ireki dizu zauria

Egunak amatatuz, hain da zeurea

Gelaneuria

Ta zaila da esplikatzen

Guztia eman ondoren

Geratzen den sentimendu hori

Ta zaila da ezagutzen

Guztia eman ondoren

Halabeharrez bizi den beste inor

LLuvia en la Habitacion

Parecía para siempre

Terminó para siempre

Lo que no se puede es imposible

Y el vacío crece en las horas más pequeñas

Una canción te ha abierto la herida

Apagando los días

Tan es tuya la lluvia en tu habitación

Avisadme si muero

Si no soy yo

Si no soy el que era

Es difícil de explicar

Ese sentimiento que queda

Después de darlo todo

Es difícil encontrar a alguien

Que viva por inercia

Después de haberlo dado todo

2009 Payola

Folklore

Etxepare zenaren aldarri berbera
dakargu egunera
bost mende atzera

Hargatik agian aurreiritziak
zuretzat gaur eta beti
folklore baikara

Ta zeresan gehiegi ez al dugu ematen
ez existitzeko?
Zaildu gara halabeharrez
gai gara zure hesiak gainditzeko

Begiak itxi arren
hemen bertan gaude
gu isil gaitzakezu
gure kantuak ez

Bitxikeria uste zenuena beste zerbait da
sailkatu ezina

Ta zeresan gehiegi ez al dugu ematen
ez existitzeko?
Zaildu gara halabeharrez
gai gara zure hesiak gainditzeko

John Merrick bezala ikusiak
begira begietan

Hortzak kendu nahi zenizkigun baina hala ere
bestela ikasi genuen kosk egiten
Zeinek behar du froga gehiago?
zeinek behar ote ditu?

Ta zeresan gehiegi ez al dugu ematen
ez existitzeko?
Zaildu gara halabeharrez
gai gara zure hesiak gainditzeko

Folklore

Recuperamos para el presente
La misma reivindicación de Etxepare
Después de cinco siglos

De ahí quizás tu prejuicio
Porque para ti siempre seremos folklore

Y si ni siquiera existimos,
¿no crees que damos demasiado que hablar?

No nos ha quedado más remedio que curtirnos
Por eso somos capaces de superar todas tus trabas

Puedes cerrar los ojos
Pero seguimos aquí mismo
Podrás acallarnos a nosotros
Pero nunca a nuestras canciones

Lo que creías que era un caso atípico
Se ha convertido en otra cosa inclasificable

Y si ni siquiera existimos,
¿no crees que damos demasiado que hablar?

No nos ha quedado más remedio que curtirnos
Por eso somos capaces de superar todas tus trabas

Se nos ve como a John Merrick,
Mírame a los ojos

Nos quisiste arrancar los dientes
Pero nosotros aprendimos a morder de otra forma
¿Alguien necesita más pruebas?

Gure Dekadentziaren Onenean

Politika merkea garesti irteten da
ezin besterik esan (ez esan ezetz)
Atzera goazela aurrera ez bagoaz
helmugarik adostu gabe

Ez esan ezetz
Ez esan ezetz
Gure dekadentziaren onenean gaude

Ikara ematen du absurdo hutsetik
hain gertu egoteak (ez esan ezetz)
Bozka bazkan
zuetako inork ez du isiltasuna hobetzen

Ez esan ezetz
Ez esan ezetz
Gure dekadentziaren onenean gaude

En lo Mejor de Nuestra Decadencia

La política barata sale realmente cara
No se puede decir otra cosa (no digas que no)
Si no avanzamos significa que estamos retrocediendo
Mientras no acordamos ninguna meta

No digas que no, no digas que no
Estamos en lo mejor de nuestra decadencia

Da miedo estar tan cerca del absurdo total
-no digas que no-
Y ninguno de vosotros mejora el silencio
En esta caza de votos

No digas que no, no digas que no
Estamos en lo mejor de nuestra decadencia

Maravillas

Ostikoz bota digute atea
zein dira deitu gabe datozenak?
Zer nahi dute aita, zuzenean zuri begira?
Zein dira oihuka mintzo direnak?

Norbaitek oroituko ditu etorkizunean
ahanzturaren zingira honetan gertatuak

Ikara; bortxaren bigarren izena
zein dira deitu gabe datozenak?
Gogoan dut orain aspaldiko aholkua:
ez fida herraren mirabe denaz

Norbaitek oroituko ditu etorkizunean
ahanzturaren zingira honetan ito dituztenak
abesti berriren batean
zuhaitz zaharren azaletan
Argaren zilar uretan
Iluntzeetan

Ostikoz bota digute atea
zein dira deitu gabe datozenak?
Agur ahizpak eta senitarteko guztiak
agur lagunak eta jolasten ginen tokia
adio ene Larraga maitea

Norbaitek oroituko ditu etorkizunean
ahanzturaren zingira honetan ito dituztenak
abesti berriren batean
zuhaitz zaharren azaletan
Erriberako izarretan
Nafarroan…

Maravillas Lamberto eta 1936ko gerran ahaztutako guztiei eskainia.

Maravillas

Nos han tirado la puerta a patadas
¿Quién es esta gente que llega sin avisar?
¿Qué es lo que buscan, papá?
¿Porqué te miran directamente?
¿Quién son los que hablan a gritos?

Alguien recordará en el futuro
Lo sucedido en este lago del olvido

El miedo; segundo nombre de la violencia
¿Quién es esta gente que llega sin avisar?
Recuerdo ahora aquel antiguo consejo:
No te fíes de quien es esclavo del odio

Alguien recordará en el futuro
A todos/as los que han ahogado
En este lago del olvido
En alguna nueva canción,
En la piel de los viejos árboles
En los destellos de plata del río Arga
En los anocheceres

Nos han tirado la puerta a patadas
¿Quién es esta gente que llega sin avisar?
Adiós a mis hermanas y toda mi familia
Adiós a mis amigos y al lugar donde jugábamos
Adiós a mi querida Larraga

Alguien recordará en el futuro
A todos/as los que han ahogado
En este lago del olvido
En alguna nueva canción,
En la piel de los viejos árboles
En las estrellas de la Ribera
En Navarra…

(Dedicada a Maravillas Lamberto, 1936)

Dortoken Mendean

Ahalkeran gehiegitan hitz egiten duen
herrikoa nauzue eta min ematen du
aspertuta nago eta bai, lanjerosa naiz
zerbait alda dezakedala sinesteko lain

Pantailaren esanei men egiten diet
zuen pare jartzearren momentu batez
harrituta nago eta bai, susmagarria naiz
horren argi neukanik inork ez zidan esan

Nire alde sei soka besterik ez:
galdetzeko haina kemen
Gure kontra dena irensten duen inertzia geza

Zein urte luzeak dortoken mendean…

Irudimen tona baten beharra daukat
edozeri iraultza deitzen jarraitzekotan
larrituta nago eta bai, salbuespena naiz
zerbait alda dezakedala sinesteko lain

Nire alde sei soka besterik ez
galdetzeko haina kemen
Gure kontra dena irensten duen inertzia geza

Zein urte luzeak dortoken mendean…

Zenbat literatura azaltzeko
beharbada erlojuek baino
mila bider gehiago balio dezakeela
badoan denborak

En el Siglo de las Tortugas

Soy de un pueblo en el que se habla de hipótesis demasiadas veces
Y eso duele.
Estoy hastiado y sí, soy peligroso
Tanto como para creer que puedo cambiar algo

Me creo lo que dice la pantalla
Para ponerme a vuestra altura por un momento
Estoy impresionado y sí, soy sospechoso
Nadie me dijo que lo tuviera tan claro

A mi favor: sólo seis cuerdas,
La iniciativa suficiente para cuestionarlo todo
En nuestra contra: una inercia aséptica que lo traga todo

Qué largos años en el siglo de las tortugas…

Necesito una tonelada de imaginación
Para seguir llamándole revolución a cualquier cosa
Estoy realmente preocupado y sí, soy la excepción
Tanto como para creer que puedo cambiar algo

A mi favor: sólo seis cuerdas,
La iniciativa suficiente para cuestionarlo todo
En nuestra contra: una inercia aséptica que lo traga todo

Qué largos años en el siglo de las tortugas…

Cuánta literatura para explicar que probablemente
Más que todos los relojes del mundo
Vale mil veces más este tiempo que ya se nos va.

Achtung!!

Promesak kontuz
Txaloak kontuz
Aholkuak kontuz
Kasu eman

Ametsak kontuz
Jainkoak kontuz
Sexua kontuz
Kasu eman

Dena da egia, gezur erdia
Dena da gezurra, erdi egia

Galderak kontuz
Erantzunak kontuz
Jakiak kontuz
Kasu eman

Leloak kontuz
Azkarrak kontuz
Kamerak kontuz
Kasu eman

Dena da egia, gezur erdia
Dena da gezurra, erdi egia

Internet kontuz
Antena 3 kontuz
Lau teilatu kontuz

Eta ukitu gabe ubeltzen diren gorputzatal guztiak

Dena da egia, gezur erdia

Ta hitz asko ikusi dut zentzua galtzen
Ta hitz asko ikusi dut itxuraldatzen
Ziurtasuna harrokeriaren itzala da
Ta hitz asko ikusi dut esanahia ahazten

Achtung!!

Promesas, ¡cuidado!
Aplausos, ¡cuidado!
Consejos, ¡cuidado!
Ojo

Sueños, ¡cuidado!
Dioses, ¡cuidado!
Sexo, ¡cuidado!
Ojo

Todo es verdad, una mentira a medias
Todo es falso, una verdad a medias

Preguntas, ¡cuidado!
Respuestas, ¡cuidado!
La comida, ¡cuidado!
Ojo

Bobos / lemas, ¡cuidado!
listos, ¡cuidado!
cámaras, ¡cuidado!
Ojo

Todo es verdad, una mentira a medias
Todo es falso, una verdad a medias

Internet, ¡cuidado!
Antena 3, ¡cuidado!
Lau teilatu, ¡cuidado!

Y todos los cuerpos que acaban con hematomas sin que nadie los toque…

Todo es verdad, una mentira a medias

Y he visto muchas palabras perdiendo el sentido
Y he visto muchas palabras cambiando su imagen
Estar seguro es un ejercicio de soberbia
Y he visto muchas palabras que han olvidado su significado

Payola

Ospea edonola
lortzea da payola
bideak bost axola
ospea

Sharea edonola
isildu rockanrola
etekinen eskolan
sharea

Eskua moztu dj txar horri
esan, nork ez du pentsatu

Hau da payola

Izena edonola
izanak zer axola
modak eta kaiolak
izena

Popstar edonola
bost izar, ¡Cómo mola!
Kantu bat: hainbat dólar
popstar

Eskua moztu dj txar horri
esan, nork ez du pentsatu
dena askozaz ere dibertigarriago
izan zitekeen bestela

Hau da payola

Telebista zer da ba azkenaldian
karaoke erraldoia ez baldin bada?
Mikel, hator!

Ez esan: “irteteko hau onena, hi!”
Noiztik da zaborra hemen dibertigarri?!
Rivers, hator!

Payola

PAYOLA
Conseguir la fama como sea
Eso es payola
No importa el camino:
¡fama!

Share como sea
Callad el rockandroll
En la escuela de los beneficios
¡Share!

Cortarle la mano a ese mal DJ
Decidme, a quién no se le ha ocurrido nunca

Esto es payola

Un nombre como sea
Da igual la dignidad
Modas y jaulas…
¡Un nombre!

Popstar como sea
Cinco estrellas, ¡cómo mola!
Una canción, tantos dólares,
¡Popstar!

Cortarle la mano a ese mal DJ
Decidme, a quién no se le ha ocurrido nunca
Todo podría ser mucho más divertido de otra forma

Esto es payola

¿Qué es la TV últimamente sino un gigante karaoke?
¡Vuelve, Mikel (Laboa)!

No me digas que esto es lo mejor para salir de marcha
¿Desde cuándo es divertida la basura?
¡Ven, Rivers!

Cortarle la mano a ese mal DJ
Decidme, a quién no se le ha ocurrido nunca
Todo podría ser mucho más divertido de otra forma

Paperezkoa

Dena porlanez bete ziguten haiez ez dakigu jada ezer
nora jo ote zuten, noraino ihes
gure artean badaude?

Eskasa da, eskasa gure belaunaldiaren
lorpenen zerrenda zuria
paperezkoa da gure loria

Lantokira busez joan atautean itzultzeko beldurrak
prentsa ona duten gaiztaginez beterik daude kaleak

Eskasa da, eskasa gure belaunaldiaren
lorpenen zerrenda zuria
paperezkoa da gure loria

Ongi egotea gaizki ez egotearekin nahasten
jakingo bagenu nola azaldu

Gauza txikien xarma horretan sinesten dugu
bada zerbait
ezin zaigu askoz gehiago eskatu

Paperezkoa da gure loria

De Papel

Ya no sabemos nada de aquellos que nos llenaron todo esto de cemento
¿Hacia donde huyeron si siguen entre nosotros?

Es escasa la lista de logros de nuestra generación
Nuestra gloria es de papel

Ir al trabajo en autobús con pánico de volver en un ataúd
Las calles están repletas de malhechores con buena prensa

Es escasa la lista de logros de nuestra generación
Nuestra gloria es de papel

Confundimos el estar bien con el no estar mal
Si supiéramos cómo explicarlo…

Creemos en esa magia de las cosas pequeñas y es suficiente
No se nos puede pedir mucho más.

Nuestra gloria es de papel.

Etorkizuneko Aurrekari Guztiak

Hizkuntza ezberdin baten
mintzatzen zara
bai baina

Zaude zu ez zaituztela
ulertu nahi
eta ez dela besterik

Ez da besterik

*Usoek ez dakitela
esku ahurretik jaten besterik
lekuko huts izatera
behartu egin zintuztenetik

Larria da, lasai
aspaldi ohitu zinen sirena hotsekin
etorkizuneko aurrekari guztiak
dauzkazu zurekin

Kafka jaunak ez lukeela hobe idatziko
pentsatzen duzu
burdinen soinu herdoilduek esnatzean

Larria da, lasai
aspaldi ohitu zinen sirena hotsekin
etorkizuneko aurrekari guztiak
dauzkazu zurekin

Todos los Antecedentes del Futuro

Te expresas en otra lengua, sí,
Pero piensas que simplemente es que
No quieren entenderte
Que no hay nada más que eso

Las palomas no saben hacer otra cosa
Que no sea comer de la palma de la mano
Desde que te obligaron a ser un mero testigo

Tranquilo: es grave.
Hace mucho que te acostumbraste al ruido de sirenas.

Eres poseedor de todos los antecedentes del futuro.

Piensas que ni el mismo Kafka lo hubiera escrito mejor
Mientras te despierta el oxidado ruido de los barrotes.

Tranquilo: es grave.
Hace mucho que te acostumbraste al ruido de sirenas.

Eres poseedor de todos los antecedentes del futuro.

Hasi eta Bukatu

“Hasi eta bukatu egiten diren
gauzen multzo horretan dago maitasuna”
pentsatu nuen biluzik geundela

Azalean gertatzen dena maiz
azalean galtzen da
barrenean gertatzen dena
azaleratuz

Izen-abizenak jarri nituen oroitzapenetan
bi begi iltzatu ohartu gabe jada ez nintzen horretan

Bai
azalean gertatzen dena maiz
azalean galtzen da
barrenean gertatzen dena
azaleratuz

Baina nola esan:
koherente naiz nire kontraesanekin
horregatik gaur zure falta somatzen dut

Azalean gertatzen dena maiz
azalean galtzen da
barrenean gertatzen dena
azaleratuz

Hamar mila kanta patriketan
daramatzat beti zain:
dena askoz tristeagoa izan zitekeen

Un Comienzo y Un Final

“El amor está dentro de ese conjunto de cosas
Que tienen un comienzo y un final”
Pensé mientras yacíamos desnudos

Lo que ocurre en la piel a menudo se pierde en la piel
Mientras brota al exterior lo que ocurre en el interior

Puse nombre y apellidos a cada recuerdo,
Clavé mis ojos en aquello que, sin saberlo, nunca más sería

Lo que ocurre en la piel a menudo se pierde en la piel
Mientras brota lo que ocurre en el interior

Pero cómo decirlo:
Soy coherente con mis contradicciones
Y por eso te echo de menos.

Lo que ocurre en la piel a menudo se pierde en la piel
Mientras brota lo que ocurre en el interior
Tengo diez mil canciones en los bolsillos siempre alerta,

Todo podría ser todavía más triste.

Arren, Darwish

Hitzekin altxatu duten hesiaren atzean
gordeko dute agian beren iritzia
auzolotsaren zaflada
itzelezko amorrua
hildakoen hierarkia Gaza mortuan

David bakarra, mila Goliath
isiltasun zuria
odolustu arteko mina
leihoen auhena

Itsasoa kartzel handi bat bilakatzen denean
itxaropena gainbaloratu genuen zerbait da

Hala da

Mahmud Darwish jauna gogoan
hondamendiaren erdian
Arren Darwish, hitz ederren bat
arren Darwish…

Hitzekin altxatu duten hesiaren atzean
gordeko dute agian beren iritzia
auzolotsaren zaflada
itzelezko amorrua
hildakoen hierarkia Gaza mortuan

*Hodeiezko sapai bat
Gure aberriarentzat

*Para nuestra Patria (Mahmud Darwish)

Por favor, Darwish

Puede que escondan su verdadera opinión
Detrás del muro que han levantado con palabras
Siento el puñetazo de la vergüenza ajena, una rabia descomunal,
La jerarquía de cadáveres en una Gaza desierta

Un solo David contra mil Goliaths
El silencio blanco
Un dolor que dura hasta desangrarse
El lamento de las ventanas

Cuando el mar se convierte en una enorme cárcel
La esperanza no es más que algo que sobrevaloramos en su momento.

Es así.

Mahmud Darwish en mi memoria
En el corazón del desastre
Por favor, Darwish, alguna bella palabra,
Por favor, Darwish…

Puede que escondan su verdadera opinión
Detrás del muro que han levantado con palabras
El puñetazo de la vergüenza ajena, una rabia descomunal,
La jerarquía de los muertos en una Gaza desierta

*Un techo de nubes para nuestra patria

(*Del poema “Para nuestra patria” de M. Darwish)

Jainko Ateoa

JAINKO ATEOA
Beharrezko galderak bakarrik ekarri badizkizut
ez esan ezer asmatu dudanik
arrakasta eta zoriona nahasten dituzulako
ez pentsatu ziur nabilenik
amildegi honetan
beti hegian dantzari

Esan dezaket damu gabe
ez nukeela aldatuko
urteak galtzeko modu hau
hunkitzearen truke

Hona igotzen naizela maiz
zugana heltzeko besterik ez
Lokatza dabilkidalako zain hauetan

Baina gehienez ere zure jainko ateoa naiz
bai: gehienez ere horren moduko zerbait
eta bakardadea izaten da sarritan
azken akordea ematen ohi duena

Beti zorionaren bezperatan

Baina gehienez ere zure jainko ateoa naiz
bai: gehienez ere horren moduko zerbait
eta bakardadea izaten da sarritan
azken akordea ematen ohi duena
-txalotzen duzun hori-

Beti hegian dantzari

El Dios Ateo

No pienses que he inventado nada nuevo
Simplemente porque te haya planteado las preguntas que eran necesarias
No pienses que camino seguro siempre bailando en el borde de este abismo
Porque confundas el éxito con la felicidad

Puedo decir sin miedo a arrepentirme
Que no cambiaría por nada
Esta manera de perder los años a cambio de emocionarme

Que muchas veces me subo aquí
Simplemente para poder llegar a ti,
Porque es barro lo que corre por estas venas

Y como mucho soy tu dios ateo
Sí, como mucho soy algo parecido a eso
Y muchas veces es la soledad
La que da el último acorde.

Siempre en la víspera de la felicidad

Y como mucho soy tu dios ateo
Sí, como mucho soy algo parecido a eso
Y muchas veces es la soledad
La que da el último acorde:

Ese que tanto aplaudes

2011 Haria

Sugea Suge

Hegazti bat naiz, hegazti bat naiz

Bi besoak galdu nituen baina orain

hegalak erne zaizkit eta

banoa ezezagun zaidan horren muina ezagutzera

banoa

hegaka

banoa, koldarrik ausartenak duen determinazioaz

banoa

eta lurretik jarraitu behar badut

ez zait batere inporta, izango naiz ziur

narrasti guztien lagun

Auskalo zein den bihar nire oskol berria

muina da behinena

azala aldatzeak egiten du sugea

suge izatea

Narrasti bat naiz, narrasti bat naiz

pozoitsua sormena bezain

badakit zein den lohiak uzten duen aho-zaporea

Horregatikan sabelean

etorkizuna nabil zatika erruten

eta letaginak zorrozten

Auskalo zein den bihar nire oskol berria

muina da behinena

azala aldatzeak egiten du sugea

suge izatea

azala aldatzeak

senak

Serpiente

Soy un ave, soy un ave…

perdí mis dos brazos

pero me brotaron alas y allá voy

a conocer las entrañas de todo lo desconocido

allá voy, volando

allá voy

con la determinación del más valiente de los cobardes

allá voy

y si tengo que seguir por el suelo

me importa una mierda

te lo aseguro

seré uno más entre los reptiles

a saber cuál será mañana mi nuevo caparazón

lo importante es el interior

es el mudar de piel lo que hace que

una serpiente sea una serpiente

soy un reptil, soy un reptil

tan venenoso como la creatividad

conozco el sabor de boca que deja el barro

por eso estoy aovando el futuro a pedazos en mi vientre

mientras afilo mis colmillos

a saber cuál será mañana mi nuevo caparazón

lo importante es el interior

es el mudar de piel lo que hace que

una serpiente sea una serpiente

el mudar de piel

el instinto.

Albo-Kalteak

Erderaz idatziak izan dira

gure ideien autopsia denak

elefanteen amnesia guztia

ortografia garbizaleetan

Nekea begietan

1D-n ikusteko antiojuak jantzita

eta haiek eustea

beste egitekorik ez euren belarriak

Hauek dira, izan, hauek dira finean… albo-kalteak

Kamerez josita daude kaleak

halakorik ez galdeketetan

ikararen koordenada berriak

Europa zaharreko estoldetan

Emaitza sinesgaitzak

silogismoen olgeta ilunak

orrialde erauziak

zuzenbide liburukote astunetan

Hauek dira, izan, hauek dira, nola esan

gu izatearen albo-kalteak

ez izatearen ajeak

Gutxiespenaren dialektikari: eppur si muove

komeni den legediari: si muove

norbait izateko hurkoa beti zapaldu behar duenari

akordeotatik doazkio bi hitz:

eppur si muove

Hauek dira, izan, hauek dira, nola esan

gu izatearen albo-kalteak

ez izatearen ajeak

Daños Colaterales

Todas las autopsias de nuestras ideas

han sido escritas en otras lenguas

toda esa amnesia de elefante

y la ortodoxa ortografía

Cansancio en los ojos

de tanto llevar las gafas 1-D

sus orejas sólo sirven para sostenerlas

Estos son, en resumen… daños colaterales

Las calles están llenas de cámaras,

no así los calabozos para interrogatorios

nuevas coordenadas del miedo

en las alcantarillas de la vieja Europa

El oscuro juego de los silogismos

y sus increíbles resultados

páginas arrancadas de los pesados libros de derecho

Estos son, cómo decirlo

los daños colaterales de ser nosotros mismos

las consecuencias del no-ser.

A toda esa dialéctica del menosprecio: eppur si muove

a esa ley hecha a conveniencia: si muove

a todo aquel que tiene que pisar al prójimo para ser alguien

váyanle estas palabras desde estos acordes

eppur si muove

Haria

Begi nekatuak irrien artean

ezaguna zaidan keinu xume bat

azantza humano honen azpian

spam elkarrizketen soinua

zure eskua nahi nuke

perfektua den ezer

banoa

gure bila

ihes

Azalaren brailea irakur dezaket

nire behatzak zure bizkarrean

“ezizen bat nahi nuke

ezizan honen truke”

dio eta

Arrazoi duzu:

zenbaitetan herri maite hau loop bat da

eta denok dantzatzera behartuta gaude

denok sentitu gara trakets noizbait

denok ere

inoiz

gauak itzuliko digu

gauari kentzen dioguna

gauak itzuliko digu hari kendutakoa

Arrazoi duzu:

zenbaitetan herri maite hau loop bat da

eta denok dantzatzera behartuta gaude

aurrera egiteko hariaren bila

Luze doa gaua

El Hilo

Ojos cansados entre sonrisas

un gesto que me es familiar

el sonido de las conversaciones spam

bajo toda esa marabunta humana

quisiera tu mano

algo perfecto

ahí voy

a por nosotros

huyo

puedo leer el braile de la piel

con mis dedos en tu espalda

leo “quisiera un pseudónimo

para este no-ser”

y tienes razón

a veces este pueblo es un loop

donde todos estamos obligados a bailar

todos nos hemos sentido torpes alguna vez

la propia noche nos devolverá

lo que le robemos a la noche

y tienes razón

a veces este pueblo es un loop

donde todos estamos obligados a bailar

en busca del hilo por el que tirar

la noche será l a r g a

Guda

Zuk diozu erlojua

nik eskuburdina

zain dagoena beti zeozeren zain egongo da

Zuk diozu etorkizuna

nik beste gezurren bat

historia-liburuen zama gure sinesmenetan

Zuk diozu helmuga

ni haratago noa

haren ondorengoaz ohartuta:

garaipenaren ondotik hasiko baita guretzat

benetako guda

Zuk diozu argia

nik haren itzala

kanpoan denak ere bihotz zati bat uzten du barruan

Guk diogu bakea

guk erabakitzea

bidea norabide hitzaren erdi soil bat delako

Zuk diozu helmuga

ni haratago noa

haren ondorengoaz ohartuta:

garaipenaren ondotik hasiko baita guretzat

benetako guda

Troiako zaldi bildumarekin

bete ditugu gure kortak

gure lorpenen kontra altxatzera

kondenaturiko gerrilla gara

Garaipenaren ondotik

La Guerra

Tú hablas de relojes

yo los llamo esposas

quien espera algo siempre permanecerá a la espera

Tú dices futuro

yo alguna otra mentira

todo el peso de los libros de historia en nuestro ideario

Tú hablas de metas

yo voy más allá

consciente de lo que llegará después

porque será tras la victoria

cuando comience para nosotros la verdadera batalla

Tú hablas de luz

yo de su sombra

quien está fuera siempre se deja un trozo de corazón dentro

Nosotros decimos paz

nosotros poder de decisión

porque el camino no es más que la mitad del concepto dirección

Nuestros establos están llenos de caballos de Troya

no somos más que una guerrilla

condenada a sublevarse contra sus logros

Lepokoak

Arinkeriaz patrikak beteta

bizi zareten betipoz horiek

laster da zuen egunen hileta

gorotz artean akabaturen

Plastikozko sasizorion hori

eskutan zartatuko zaizue

ezjakintasunaren gorazarre

horren ordaina bertan duzue

Topa egingo dugu ozen

eskatu ez genuen dantzaldi horretatik libre

zuen garezurretatik

edango dugu gogotik mendekuaren likore garratzetik

Arkatzekin armatuta arriskutsuak gara

besterik ez zaigu axola

hondarrezkoak direnez zuen gaztelu gotorrak

ideien olatu honek botako ditu

Eguna gertu da

Lepokoak egingo dituguna zuen hortz perfektuekin

gau berrian distira dezaten

eta apurtutako katebegiak janaraziko dizkizuegu

banan-banan

Gertu da eguna

Collares

Todos aquellos falsos que

llenáis los bolsillos a base de bazofia

pronto llegará el fin de vuestros días

moriréis ahogados en vuestras heces

Esa pseudo-felicidad de plástico

os explotará en las manos

será el peaje por vuestro culto a la ignorancia

Brindaremos de lo lindo

libres de este festival que nadie pidió

beberemos del amargo licor de la venganza

desde vuestras propias calaveras

Armados con lápices somos peligrosos

nada más es importante

vuestros castillos de arena serán derruidos

por una oleada de ideas

El día está al caer

El día en que haremos collares con vuestra dentadura perfecta

para que brillen en la nueva noche

y una a una os haremos comer todas las cadenas que hayamos roto

El día está al caer

Iraila

Iraila izango zen

hitzak urtaro batetik bestera

bidaltzen genituen

izen gabeko txorien antzera

zerua ilun

soineko beltz

zu hain eder

nik zerotik hasi nahi nuen

Iraila izango zen

munduaren nekea hostoetan

maite izan genituen

gauzek zentzua galdu zutenean

zerua ilun

soineko beltz

zu hain eder

hain eder

zerua ilun, zorua orbel, zu hain eder…

Nola igarri orduan

iragan hau guztia

betiko izango genuela aurretik

Septiembre

Sería septiembre

enviábamos las palabras

de una estación a otra

como si fuéramos pájaros sin nombre

el cielo estaba oscuro

tu vestido era negro

estabas tan bella

yo quería empezar de cero

sería septiembre

el cansancio del mundo en el caer de las hojas

cuando todas las cosas que habíamos querido

perdieron su sentido

el cielo estaba oscuro

tu vestido era negro

estabas tan bella

tan bella

el cielo estaba oscuro, el suelo era un mar de hojas, tú estabas tan bella…

cómo adivinar en ese preciso instante

que todo ese pasado nos perseguiría para siempre

Harra

Geratzeko heldu zen, arterien mapan hedatzen

Hemen dut berriz, zainetan abiada hartzen dit

ariman kabi, gorputzatalak erasan ahala zuzpertzen dizkit

bihozbegietan kilimak

ameba erraietatik

kitzikaturik ezpain, aldaka, hezur eta azal, zakil eta eri

Harra erraietan

elkar elikatzen

nire soinuaren bare

Hemen dut berriz, zainetan, sukarra eragiten

sisteman eten

arnas hartzea zeregin zaila inondik ere

Kutsadura odoletan: ez da sendagairik

zenbat eta gehiago eman, gehiago eskatzen dit

Harrak pixkanaka hiltzen nau

ez dauka sekreturik

baina sentipenak hor dirau:

gaitz hau da bizirik naizela

sinistarazten nauen gezur

hilkor, eder, alu

bakarra beraz mesedez zu:

engaina nazazu beste behin

El Gusano

Vino para quedarse

para expandirse en el mapa arterial

Aquí está de nuevo, gana velocidad en mis venas

anida en mi alma y conforme los ataca,

reanima los órganos de mi cuerpo;

siento cosquillas en los ojos del corazón,

la ameba recorre mis entrañas

excitando mis labios, mi cadera, mi piel y mis huesos,

mi sexo y la punta de los dedos.

Es el gusano en mis entrañas,

se alimentan mutuamente

es mi limaco del sonido

Aquí está de nuevo, provocando la fiebre en mis venas

un cortocircuito en el sistema

simplemente respirar resulta una difícil tarea

Sangre contaminada: no hay terapia posible

cuanto más le doy, más me pide

Todo esto me mata lentamente

no es ningún secreto,

pero la sensación sigue ahí:

esta enfermedad es la única mentira,

perecedera, bella y jodida,

que me hace creer que sigo vivo.

Por eso tú, engáñame de nuevo.

Makuluak

(Bertolt Brecht-en poema batean oinarritua)

Zazpi urte geldirik iragan nituen nik

ezin eman pausorik

jo sendagilearengana

hark berehala galdetu zidan:

“zertarako makuluak?”

nik erantzun: “elbarria naiz”

“Ez nau batere harritzen” izan ziren haren hitzak

“saiatu zaitez ibiltzen

tramankulu hauek dira ibiltzen uzten ez dizutenak

tramankulu hauek dira zure traba nagusia”

“Ausartu zaite, saia ibiltzen

narras zaite lau hankatan”

Munstro bat zirudien

barrezka ozen, krudel

bi makuluak hartzen

nire bizkarraren kontra puskatzeaz batera morroiak

barreari ezin eutsiz bota zituen sutara

Orain banabil, orain badakit, orain sendatuta nago

barre algara, akuilu batek osatu ninduelako

zenbaitetan bakarrik, makilak ikustean

ordu batzuz soilik motelago nabil

baina ibili banabil

orain banabil

Las Muletas

(basado en un poema de Bertolt Brecht)

Durante siete años no pude dar un paso.

Cuando fui al gran médico,

me preguntó: “¿Por qué llevas muletas?”

Y yo le dije: “Porque estoy tullido”.

“No es extraño”, me dijo.

“Prueba caminar. Son estos trastos

los que te impiden andar.

¡Anda, atrévete, arrástrate a cuatro patas!”.

Riendo como un monstruo,

me quitó mis hermosas muletas,

las rompió en mis espaldas y, sin dejar de reír,

las arrojó al fuego.

Ahora estoy curado. Camino.

Me curó una carcajada.

Tan sólo a veces, cuando veo palos,

camino algo peor por unas horas.

Ahora camino.

FAQ

(Feat. Matt Sharp)

Neurtu al duzu inoiz

nahi duzuna eta behar duzunaren tarteko distantzia?

Egin al duzu hori laburtzeko behar zen guzti-guztia?

Inoiz, inoiz…

Aurkitu al duzu inoiz esan gabekoen hondakinetan

bilatzen zenuena?

Isiltasunaren forma ezberdinak hitz higatuetan

Kalkulatu al duzu aukerak dakarren galera horren neurria?

Ta inoiz gogoratzen zara norabidea aldarazi zizun berriaz?

Ta inoiz eman ote duzu urrats ergelen bat ondorioak doitu gabe?

Ta inoiz utzi al dituzu esaera zaharrak bere horretan zahartzen?

Inoiz ihes egitea ezinbestekoa balitz

norantz bota lehenengo pausoa?

Ta kalkulatu al duzu aukerak dakarren galera horren neurria?

Ta inoiz gogoratzen zara norabidea aldarazi zizun berriaz?

Ta inoiz galdetu al duzu nora joan daitekeen betiko galdu den denbora?

Inoiz erre zintuen su horrek berak

argitu zizun jarraitzeko bidea

ibili, erori eta altxatzearen oinarrizko legea

Ikastearen dema ala dema bera irakaspen, ber gauza dira

FAQ

¿Has medido alguna vez la distancia entre

lo que quieres y lo que necesitas?

¿Has hecho todo lo posible por acortarla?

Alguna vez…

¿Encontraste lo que buscabas

entre las ruinas de lo que dejaste sin decir?

Las diferentes formas del silencio en palabras desgastadas

¿Has calculado cuánto hay de pérdida en cada elección?

¿Te acuerdas alguna vez de la noticia que hizo que cambiaras de rumbo?

¿Alguna vez has dado un paso inútil sin medir las consecuencias?

¿Alguna vez has dejado envejecer los viejos refranes?

¿Has pensado hacia dónde dar el primer paso

en caso de que huir fuera imprescindible?

¿Has calculado cuánto hay de pérdida en cada elección?

¿Te acuerdas alguna vez de la noticia que hizo que cambiaras de rumbo?

¿Alguna vez te has preguntado a dónde irá a parar todo ese tiempo que

se ha perdido para siempre?

El mismo fuego que te abrasó

fue el que te iluminó el camino a seguir

la básica ley del caminar, caer y volverse a levantar

la lucha del aprender o esa misma lucha como lección

es lo mismo

Non Bestela

Bart arrakala estu fin bat topatu nizun

non eta egunerokoa deritzan

horma lodi garai hortan

galdera dator nire burura

zer ote bestaldean

ezin ase jakinmina

jauzia eman arte

Gauez beharko du

esan bestela nola ihes egin

zaintzarik eta estuena duen ziegatik

gure begi itsuen begiradapetik

giltzape propiotik

norbere izenaren zama astunetik

Bart arrakala estu fin bat

topatu nizun non eta

egunerokoa deritzan

katebegi ilada horretan

gogoan hartu hurrengo ilbetea

korrika hasiko bainaiz

sekula ez gelditzeko

bihotza lehertu arte

hegal egingo dut kanta onetan bezala

mugaren batetan itxoingo dizut

non bestela

Donde si no

Anoche di con una fina fisura

en esa alta y gruesa pared que llamamos día a día

ahora una pregunta martillea mi mente

¿qué habrá al otro lado?

imposible saciar la curiosidad hasta dar el salto

deberá ser por la noche

dime si no cómo huir

de la celda con la más estrecha de las vigilancias

de la mirada de nuestros ciegos ojos

de nuestro propio encierro

del enorme peso del nombre de cada uno

Anoche di con una fina fisura

en esa fila de eslabones que llamamos día a día

éstate alerta la próxima noche sin luna

porque voy a echar a correr

y no pienso parar hasta que me reviente el corazón

volaré como a lomos de una buena canción

te esperaré en alguna frontera

dónde si no

Soilik Agur

Betor ardo hori eta topa daigun

momentu honetan alboan nahi zaitut

argi daukat, badakizu bidaia hau dudala betekizun

gaur dut amaiera aukeratu

Beso eriotan indarrik banu

nahi zintuzket orain besarkatu

baina hori ere ezin badut nahiago dut

min hau betiko ahaztu

dramarik ez, arren, soilik agur

Eta galdetzen badute

esan duintasuna lehenetsi dudala hagatik

eta galdetzen badute

esan ez diodala hau sufritzerik opa inori

galdetzen badute

Simplemente Adios

Venga esa copa de vino y brindemos

en este momento te quiero a mi lado

lo tengo claro, sabes que tengo este viaje pendiente

hoy elijo mi final

Si tuviera fuerza en estos inertes brazos

me gustaría abrazarte en este momento

pero si tampoco eso puedo

prefiero olvidar este dolor para siempre

sin dramas, por favor: simplemente adiós

Y si preguntan por mí

diles que mi prioridad fue la dignidad, por la razón que sea

y si preguntan por mí

diles que no le deseo este sufrimiento a nadie

si preguntan por mí

Lehortzen

Astiro doa lehortzen

urmael sakona zena

arrainak urduri daude

Secandose

Poco a poco va secándose

lo que fue un profundo estanque

los peces están nerviosos

Denbora Da Poligrafo Bakarra

2014 Denbora da poligrafo bakarra I Sutxakurrak

Lanbroan

sutan zaudela somatzen dut
nik kea eskaintzen ahal dizut
erre usainak gogaitu egiten du

aukeratzeko esan nizun
eskubidea daukazu
nork engainatua
izan nahi ote duzu

ni gertu naukazu

urrea hurre
foko oro urrun
lanbroari dei gardena
interpretatzen ikas dezagun

zure ilusioak elikatzen duen
ilusionisten taldekoa naizenez

agertu
desagertu

zure ilusioak elikatu duen
ilusionisten taldekoa
geuk sortu lanbroan
agertu eta desagertzen iaioak

En la Neblinda

noto que estás que echas fuego
yo puedo venderte humo
el olor a quemado acaba resultando molesto
te dije que escogieras
estás en tu derecho
de elegir por quién quieres ser engañado
yo estoy listo

quiero el oro cerca
y colocar el foco lejos
llamarle transparencia a esta neblina
aprendamos a interpretarlo todo

porque pertenezco a esa banda de ilusionistas
que se alimentan de tu ilusión

aparezco y desaparezco

porque pertenezco a esa banda de ilusionistas
que se alimentan de tu ilusión
experto en el arte de aparecer y desaparecer
en esta neblina creada por nosotros mismos

Ordaina

labanak jarriko ditugu hesien gainaldeetan
ez gaitzala inork irabaz eldarnio honetan
mugen deman

baina halere lortzen baduzu guganaino heltzea
leku egingo dizut nire langileen artean
isilpean, sekretupean

sarraila lehertzekotan
ene infernuko atea
zabalikan izango duzu
zabal-zabalikan utziko dut zuretzako

askatasunaren ordaina
esklabutza izan daitekeelako
guztia balizko den lur honetan

hemen non dena erosten edo saltzen ahal den
hemen non ia orok izen bat baduen

El Coste

colocaremos cuchillas
para coronar las vallas
que nadie nos gane
en este duelo de fronteras
en este delirio

si aún así
consigues llegar hasta nosotros
prometo hacerte un hueco
entre mis trabajadores
en silencio, en secreto

si consigues reventar la cerradura
tendrás abierta mi puerta al infierno

porque el precio de la libertad
puede ser la esclavitud
en esta tierra donde todo es supuesto
en esta tierra donde todo es posible

aquí donde todo se puede comprar o vender
aquí donde hay un nombre
para casi todas las cosas

Alegia

entzun
eskorpioia nauk
dena oskol eta ezten
alegia ezagutzen duk

itzel
bi igel ergel
ez zekiat bereizten
agindua agindua duk
ni zenbaki bat
(erakutsiko ez diatena)

hire amorrua duk nire anfetamina dosia
botatzeko harresia
adi!
ez gaituk gutxi
ezkutu atze honetan
nagusi ustelen zaindari

leial, fidel ni

oldar zale
bota kolpe
katu solte
beti militar
oilar, bele
txakur solte
bala lege
beti estalita

entzun
eskorpioia nauk
dena oskol eta ezten
alegia ezagutzen duk

halere eskorpioi zitalena agian
hire baitan zegok
igel plantak egiten

zeinek ez du ezagutu nahi
beste ibaiertzean zer dagoen
nola berdindu ezinegon hau
ezerk ez bazaitu asetzen

nola eman pauso zuzena
saltatzeko gogoari eusten
oinutsik ta kristal gainean
ibilarazi bazaituzte

non aurkitu zure zauriak
milikatuko dituen hura
den-dena ozpin, den-dena gatz
bilakatu bada

La Fábula

escucha
soy un escorpión
todo coraza y aguijón
ya conoces la fábula

perfecto
he aquí un par de ranas inocentes
no sé hacer distingos
una orden es una orden
y yo tan solo un número
que no te mostraré

tu rabia es mi dosis de anfetamina
para derribar ese muro humano
no somos pocos
los parapetados tras estos escudos
en defensa y al servicio
de nuestros corruptos amos

yo soy fiel, soy leal

aficionado a lo violento
golpe de porra
gatillo ligero
siempre militar

gallito, cuervo
perro suelto
goma, bote
la bala como ley

y aún así
puede que el escorpión más artero
esté en ti mismo
aparentando ser una inocente rana

quién no quiere saber qué hay al otro lado de la orilla
como apaciguar este desasosiego cuando nada te llena

cómo acertar a dar el paso correcto
resistiéndote a las ganas de saltar
cuando te han obligado a caminar
descalzo entre cristales

dónde dar con alguien que te lama las heridas
si absolutamente todo se ha convertido
en sal y vinagre

Zimelkor

agur hitz bat
bizi printzak

zilar emari adatsa
nork orraztu ez daukazun arren
bizipenen ildo zimurrak
kide izandakoaren hutsune
bazkalosteko solasak
ergel hutsak izar telebistan

abante bizian doaz
hondar-urte sentitzen direnak
mendez beteta segunduak
ahanzturaren lehendabiziko deiak
pare ezberdinak oinetan
ontzi erreak sukaldean

agur hitz bat zizelkatu balore galduen hilarrian
azkarregi doan mundu honen gurpil lohituetan
azken hitz bat zizelkatu hezur-mamizkoen bularretan
“ni banoa baina zaindu
zaindu zeuen tartekoak”

etorkizuna bera ere oroitzapenez da mozorrotzen
gezurretan dabil memoria
eta erabilera aspaldi galdu zuten hitz horiek
eder-ederrak iruditzen zaizkizu halere
inork gutxik estimatzen duen altxor hau
zurekin hondoratuko dela onartu behar

ozeano harro horretan
sakonera abisalean
herio deitzen den ahanztura horretan
bidesari horretan
atseden horretan

bizitza osoa lanean emanik
ordainetan ezer ez merezi duzunetik
zimelkor da lortutako guztia
mundu gara: bizi printzak
libratuko denik ez da
ziur izan

Marcescente

unas palabras de despedida
trozos de vida

tu cabello es un manantial de plata
aunque no tengas quién te lo peine
esas arrugas aradas por todo lo vivido
echas de menos las charlas de sobremesa
de quien fuera tu compañero
estúpidos convertidos en estrellas de la televisión

estos años se sienten como retales de un final
avanzan a velocidad de crucero
con sus segundos preñados de siglo

primeros avisos del olvido:
distinto par de zapatos en tus pies
ollas quemadas en la cocina

esculpes unas palabras de despedida
en la lápida de los valores perdidos
en las ruedas llenas de barro
de este mundo que va demasiado deprisa
unas últimas palabras
en el pecho de la gente de carne y hueso:
“yo ya me voy, pero cuidad de los vuestros”

el propio futuro se disfraza de recuerdo
miente la memoria
y esas palabras que hace mucho cayeron en desuso
te siguen pareciendo preciosas a pesar de todo
condenada a reconocer que ese tesoro valorado por unos pocos
se hundirá contigo
en ese altivo océano de produndidad abisal
en ese olvido
peaje
descanso
al que llamamos muerte

toda una vida trabajando
para no recibir a cambio nada de lo que mereces
todo lo conseguido se va marchitando
somos mundo, luego marcescentes
no lo dudéis:
nadie se va a salvar

Armak

ez heinkel 111-k bezala
askoz isilago
ezta junker 52 azkarrak lez

ez erkatu hura
“peacemaker”-a
colt-en 45‐a
nahiz izena tumatxa izan

ez browning gp-35-a
bezain hotz ta bizkor
inoiz ez hain ageriko

susmo hutsak, frogarik ez
ondorioak soilik aurrez aurre
ez aurpegi ezta izen
ez jakin nor garen
zeuk jarri tokian gauden arren
ez aurpegi ezta izen
onenak ikara zabaltzen
leihoak zarratzen

ez aurpegi ez izen

Armas

no como los heinkel 111: mucho más silenciosamente
ni de una manera tan rápida como los junker 52

no compares con aquel colt 45
el “peacemaker”
aunque -reconozcámoslo- el nombre es cojonudo

no tan fría y certera como la browning gp-35
nunca tan a la vista

simples sospechas, ninguna prueba
sólo dispones de las consecuencias frente a frente
no nos pones cara ni nombre
no puedes saber quiénes somos
aunque estemos donde tú nos pusiste
ni cara ni nombre
los mejores a la hora de expandir el miedo
los mejores en cerrar ventanas

no nos pones cara ni nombre

Etsia

zer esan ‐nola esan‐ aro ilun honetaz
kartoiak, nekeak jada esan ez duenik
tunela nondik hasi
goilare kamuts hazi diren kantu hauekin

esana baitago, aldez edo moldez
otsoak dabiltzala artzai
putzutik salbatzeko bota zitzaiela soka
lepora lotu beharrean

nola azalera irten

esana baitago
altuegi doaz putreak
euren uso hegalak astinduaz
jauregiaren hormetan egiten duela talka
dena galdu duenaren oihuak

eta azalera irten
nola azalera irten

zer esan ‐nola esan- aro eder honetaz
sormenak, kemenak ezin esan dezakeenik
nola zauri etsaia
nola utzi etsia kantu hauekin

El Desencanto / El Convencimiento

qué decir -cómo- de esta época oscura
que no lo hayan dicho ya los cartones y el cansancio
por dónde empezar a cavar el túnel
con estas canciones que crecieron romas cual cucharas

porque ya se ha dicho
de alguna u otra forma
que son lobos quienes ejercen de pastores
que se les proporcionó una soga
para sacarlos del pozo
en lugar de atársela al cuello

cómo salir a la superficie
porque ya se ha dicho
que vuelan demasiado alto estos buitres
batiendo sus alas de paloma
que rebotan en las paredes de palacio
los gritos de quien lo ha perdido todo

cómo salir a la superficie

qué decir de esta bella época
que no puedan decirlo la creatividad o el coraje
cómo herir al enemigo
cómo dejarlo resignado
con estas canciones

Sutxakurrak

gaua zohardi, izarrak keinuka
ederra denikan ezin uka
zerua lotsagabe dutela urratzen
nola ulertu batzuk hilda daudela
aspaldi dela
bezatutako rockak bezala zerbait argitu arren

zakatzak irten zaizkizula
itolarriak
orain igeritan ikasi behar

eguzkia guretzat gordeta
izara txuriak zabalduta
itzalen ikuskizuna doan eskaini genuen

sutxakurrak bezala
argia gezur
ustelak ekarria
gure miraria
gure mirari argia

“itzala da eguzkiaren onena”
errepikatzen
mila kanal mezua zabaltzen

hegalak eskatu
lur hartzen ikasteko
hegalak eskatu
erortzen ikasteko

ta abelburuak pozoindu ditugu gure esnetik edateko
zure galsoro guztiak segatu gure ogitik Jateko
eskolatzea garestitu dugu gure ideiak merke saltzeko
ta gaueroko loa galarazi gure ametsak erosteko

hegalak eskatu

Fuegos Fatuos

la noche está despejada
las estrellas nos hacen gestos
rasgando sin pudor el manto del cielo
cómo entender que muchas de ellas están muertas
hace tiempo
aunque sigan emitiendo algo de luz
como el rock domesticado

te han salido branquias
del atosigamiento
ahora estás obligado a aprender a nadar

guardamos el sol para nosotros
aireamos las sábanas blancas
y ofrecimos gratis el espectáculo de las sombras

como los fuegos fatuos
la mentira de la luz
creada por la podredumbre
nuestro milagro

nuestro milagro luminoso

mil canales a tu disposición repetían el mensaje:
“la sombra es lo mejor del sol”

ahora pides unas alas
para poder aterrizar

y hemos envenenado tu ganado para que bebas de nuestra leche
y hemos segado tus trigales para que nos pidas el pan
y hemos encarecido la escolarización para mercadear con nuestras ideas
y te hemos impedido dormir para que persigas nuestros sueños

ahora pides unas alas…

2014 Denbora da poligrafo bakarra II Helduleku Guztiak

Aditu bihurtuak

oharkabean aditu bihurtuak
aldeko eta kontrakoak neurtzen
inor ez doa zamarik gabe
hitz hanpatuak bildumatzen

zabal begiak
mapa berriak tolestuta datoz
ez da biderik
norberak ireki behar dituelako

Convertidos en Expertos

Convertidos sin darnos cuenta
en expertos en medir los pros y contras
nadie está libre de carga
coleccionando palabras henchidas

abre los ojos
los mapas nuevos ya están aquí
vienen doblados
porque es cada cual quien tiene que abrirlos

Bigarren itzala

harridura‐ikur gehiegi
horma zuri nekatu hauetan
harridura‐ikur gehiegi eta nahikorik ez

arrisku‐ikurrak dira gehiegi
mina-‐zelai bukoliko honetan
arrisku‐ikur gehiegi eta nahikorik ez
denontzako nahikorik ez

hemen da
bigarren itzal bat bezain leial
hemen da: indiferentzia
garaile isila

mundua saretik zaintzen

galdera‐ikurrak dira gehiegi
betiko lau akordeen atzean
galdera ikur gehiegi eta nahikorik ez
denontzako nahikorik ez

beroki heze baten antzera
azalera temati itsasten
beroki busti baten antzera
ekaitzari ekaitza eransten

La Segunda Sombra

Demasiados signos de exclamación
en estas exhaustas paredes blancas
demasiados signos de exclamación
y nunca suficientes

demasiadas señales de peligro
en este bucólico campo de minas
demasiadas señales de peligro
y nunca suficientes para todo el mundo

aquí está
fiel como una segunda sombra
aquí está la indiferencia
vencedora silenciosa

demasiados signos de interrogación
detrás de los cuatro acordes de siempre
demasiados signos de interrogación
y nunca suficientes

como un abrigo húmedo
que se pega insistentemente a la piel
como un abrigo mojado
que añade tormenta a la tormenta

Lemak, aingurak

pozik zirudien euriaren etorbidean
lorategiak zapaltzen eman dugu gaua
harlauzen gainean oin‐hutsetan saihesten
euskaldunak dantzan jartzeko trabak

gure beldurren lema astuna hartu

pozik zirudien hodei ilunen erresuman
poliki biluzten eman dugu gau osoa
hasia da marrazten teilatuen ingerada
ekarri marrubiak ezpainetara

gure beldurren lema astuna hartu
eta lotsaren aingura hondoratu

haize boladen mende bizi: izan

botoirik sakatu ez tarte luze batez
helbide oro ahaztu
dena dekoratu bat dela onartuta
azalen itun ero bat sinatu

pozik zirudien euriaren etorbidean
poliki biluzten eman dugu gaua

Timones, Anclas

Parecía feliz en la avenida de la lluvia
nos hemos pasado la noche pisando jardines
descalzos en las baldosas
evitando todos los obstáculos que
impiden bailar a nuestra gente

haciéndonos con el pesado timón de nuestros miedos

parecía feliz en el reino de las nubes oscuras
hemos pasado la noche desnudándonos lentamente
ya empieza a vislumbrarse la silueta de los tejados
trae fresas a mis labios

hacernos con el pesado timón de nuestros miedos
hundir el ancla de nuestros recelos
y vivir a merced del viento: ser

no apretar ningún botón en mucho tiempo
olvidar cualquier dirección
aceptar que todo es un decorado
y firmar un pacto loco de la piel

parecía feliz en la avenida de la lluvia
hemos pasado la noche desnudándonos lentamente

Poligrafo bakarra

ikasteko presa daukat eta
artisauaren marmolezko egonarria
kalera baino lehen
guztion antzera
eguneko maskara aukeratzen

distortsioari itsatsita
barneko galderei entzungor egiteko
edo horiek denak behingoz
kolpe bakar batez erantzuteko

denbora da poligrafo bakarra
beste dena aieru

pozik nire aitzuloan
zu lo han nire ametsen ziloan
han estalaktitak, urteen letaginak
hegan joan ziren beldurrak
nire kanturik onenak

denbora da poligrafo bakarra
beste dena aieru

ez eska aholkurik
pasioa da hemen exigitzea zilegi den gutxieneko hori

El Unico Poligrafo

Tengo prisa por aprender
y la paciencia de mármol del artesano
como todo el mundo
elijo mi máscara antes de salir a la calle
me apego a la distorsión
para hacer oídos sordos a las preguntas en mi interior
o para responderlas todas de un solo golpe

el tiempo es el único polígrafo
lo demás son conjeturas

feliz en mi cueva
tu ahí dormida en el escondrijo de mis sueños
ahí las estalactitas como colmillos del tiempo
ahí los miedos que se fueron volando
mis mejores canciones

el tiempo es el único polígrafo
lo demás son conjeturas

no me pidas consejos
la pasión es el mínimo exigible

Bele erraldoia

Bele erraldoi bat pausatu da
mahaiaren gainean
zuen artean du kabia
maite ditu apurrak

bele erraldoi bat
isilunez beteta sabela
hegalak zabal‐zabal
bi orratz-buru ninietan

zerbait esan nahiean
sutxakurrak bezala

bertan begira
bertan

bele erraldoi bat pausatu da
mahaiaren gainean
hegalak zabal‐zabal
bi orratz ninietan
mahai‐oihalaren zurian
benetan deigarria

zerbait esan nahiean
gero joateko hegan

daukazuna bazara
orduan ez daukazu ezer
daukazuna baino ez
dena duzu galtzeko, laguna
dena duzu galtzeko

Un Cuervo Gigante

Un cuervo gigante se ha posado en la mesa
anida entre vosotros dos
le gustan las sobras

un enorme cuervo con el estómago lleno de silencios
con las alas abiertas de par en par
y dos cabezas de alfiler como pupilas

tiene algo que decir
como los fuegos fatuos

un cuervo gigante se ha posado en la mesa
con las alas abiertas de par en par
y dos cabezas de alfiler como ojos
llama la atención sobre el blanco del mantel

tiene algo que decir para después echar a volar

si eres lo que tienes
entonces no tienes nada
unicamente aquello que tienes

tienes todo que perder

Helduleku guztiak

batzutan gogoratzen naiz ahazteko beharraz
entzuten uzten ez digutenen ardailaz
sarri gogoratzen naiz amaia egañaz
bakr anaien baloi zulatuaz
sasikume aldraz

hemen zegoen zinema ttipi hartaz
zure hitzen ausentziaz
buruz ikasi genuen espetxeen izenen zerrenda luzeaz
sarri akordatzen naiz disko urdin hartaz
akorde sinple baina hunkigarriez

grabitatea baino ez dago hor kanpoan
dena dago orain erortzeko zorian

batzutan gogoratzen naiz eta bestetan ez
nahiak eta domaiak tematiak direnez
sarri gogoratzen naiz etorkizunaz:
gaur + gaur + gaur + gaur + gaur + atzotik tanta bat

grabitatea hor kanpoan
dena dago erortzear
maitea urtu ziren helduleku guztiak

Todos los Asideros

A veces me acuerdo de la necesidad de olvidar
de la ruidera de aquellos que no nos dejan escuchar
a menudo me acuerdo de amaia egaña
del balón pinchado de los hermanos bakr
de esa panda de malnacidos

de aquel pequeño cine que había antes aquí
de la ausencia de tus palabras
de la lista de nombres de cárceles que aprendimos de memoria
a menudo me acuerdo de aquel disco azul
de acordes simples pero emocionantes

ahora ahí fuera no hay más que gravedad
todo está a punto de venirse abajo

a veces me acuerdo y otras veces no
porque los deseos y los arrepentimientos son tan tenaces
y a menudo me acuerdo del futuro:
hoy + hoy + hoy + hoy + hoy + hoy + alguna gota del ayer

ahora ahí fuera no hay más que gravedad
todo está a punto de venirse abajo, cariño
se derritieron todos los asideros

26 segundotan

gazte eder batek bota dio begirada
NAN‐aren bere argazkitik
‐denboraren ankerra‐
hoteleko neskak dio:
“ya está lista su habitación
una suite con vistas al mar
al mar de sus problemas”
castellano garbian
ulertzeko moduan
zinez luzeak izango dira datozen orduak

zinez luzeak

maleta eskuetan
igogailuan gora egin behar
etimologiari errespetua zor zaionez
ahaztu egin nahi duen zenbakia dauka logelak
ahaztu egin nahi duen modu berean
berak eskatua dela

mobila begiratzen enegarrenez
inor ez da beraz gogoratu azken 26 segundutan
aspaldian

En 26 Segundos

Un apuesto joven le devuelve la mirada
desde la foto de su propio DNI
-el tiempo es despiadado-
la chica de recepción le informa:
“ya está lista su habitación
una suite con vistas al mar
al mar de sus problemas”
lo ha oído claramente
en un castellano impoluto
las siguientes horas serán eternas

coge la maleta y no tiene otro remedio que
subir en el ascensor
-por simple respeto a la etimología-
la habitación tiene un número que pretendía olvidar
como también pretende olvidar
que fue él mismo quien lo pidió expresamente

comprueba su teléfono móvil por enésima vez
nadie se ha acordado de él en lo últimos 26 segundos
hace mucho tiempo

todavía no lo sabe
pero acaba de tomar la determinación de hacerlo
como si fuera fácil

aunque todavía no lo sabe
todavía no

2014 Denbora da poligrafo bakarra III Xake-Mate Kultural Bat

Zerbait asmatuko dugu

Hozkailua marmarka
ezin lorikan hartu
biharko egunak ere 24 ordu ditu

dei baten esperoan zaude
ez da iristen
noiztik da zure bizia
atzera‐kontu bat bihurtu zela?

abisua buzoian
asteko mehatxu
alabak dio: ama
zerbait asmatuko dugu

dei baten esperoan zaude…

atzera‐kontu krudel bat
ta inoiz geratu daitekeenaren
itxaropen mailegua:
zer da ba bitzitza hau?
zer?

Ya se nos ocurrirá algo

El frigorífico no deja de murmurar
no puedes dormir
el día de mañana también tendrá 24 horas

Esperas una llamada que no llega
¿Hace cuánto que tu vida se convirtió en una cuenta atrás?

Un aviso en el buzón
la amenaza de cada semana
tu hija dice: mamá, ya pensaremos algo…

Esperas una llamada que no llega
¿Hace cuánto que tu vida se convirtió en una cuenta atrás?

Una cruel cuenta atrás
y el préstamo de esperanza suficiente
como para creer que puedes pararla en algún momento

¿Qué es si no esta vida? ¿Qué?

Hemen sukaldarien herrian

Gauzak gordin daude hemen
sukaldarien herrian
minbizi atsegin bat da zuen irria
heriotz jasangarria
bizi ongizatea
gu baino okerrago dagoenik bada

dena berdin dago hemen
aldaketen herrian
bertako etxe‐tresnekin garbitu banderak
porroterako aukera guztiak eskura
odol urdina eskoletako tintatzat

eta esaidazu arren noiz hasi ote ginen
hutsik dauden kutxak taigabe irekitzen

Aqui, en la tierra de los cocineros

Las cosas están crudas aquí, en la tierra de los cocineros
vuestra sonrisa es como un cáncer agradable
una muerte sostenible
disfruta del bienestar
hay quien vive peor que nosotros

Todo sigue igual aquí, en la tierra de los cambios
limpia las banderas con electrodomésticos del país
todas las opciones al fracaso siguen disponibles
y la sangre azul como tinta en las escuelas

Tan sólo dime cuándo empezamos a abrir sin parar cajas que están vacías

Orain norbait zara

Susmoa banuen baina
argitu didazu zalantza:
denok baino gehiago dakizu

batzuekin txalo errezeko
beste guztiak larrutzeko
lagunak egoki aukeratu

lezioak ematen disfrutatzen dutenen kerua

pose bat, pose bi
iragan cool bat berreraiki
sutxakurren distira daukazu

sorbalda aldean zimiko
atzetik labana sartzeko
gaur egun etorkizuna duzu

aholkuak ematen disfrutatzen dutenen
gero eta antz handiagoa hartzen zoaz
beste orojakile sinple bat
gabon

Ahora eres alguien

Ya lo sospechaba pero has disipado todas mis dudas:
sabes más que los demás
eres de aplauso fácil con algunos
para después disparar contra el resto
elige bien tus amistades

Tienes el tufo de quienes disfrutan dando lecciones

Una pose, dos poses…
reconstruye un pasado cool
tienes el brillo de los fuegos fatuos
palmadita en el hombro para apuñalar por la espalda
hoy en día tienes un gran futuro

Cada vez te pareces más a ese tipo de gente
que disfruta dando consejos
un simple sabelotodo más, adiós

Hitzen oinarri ahula

Joko honen arauak aspaldian
zeuk bakarrik jartzen dituzunean
jakin nahi nuke
irabaztea
zer den zuretzat

ikara haizatzea denean
etekinei eusteko bide motzena
jakin nahi nuke
bakea bera
zer den zuretzat

pertsonekin ere
jabetza bezalako hitzekin aritzean
jakin nahi nuke
maitasuna
zer den zuretzat

La fragil base de las palabras

Cuando eres únicamente tú quien
hace tiempo que impone las reglas del juego
me gustaría saber qué significa para ti ganar

Cuando airear el miedo es el camino más corto
para seguir disfrutando de tus beneficios
me gustaría saber qué significa para ti la paz

Cuando incluso con las personas
hablas en términos de propiedad
me gustaría saber qué significa para ti el amor

Xake-mate kultural bat

Erdeinuari barre
onenak ginen horretan

ia lortu zenuten
mundu guztia ohitzea
arazoak ikusten
aukerak dauden tokian

geroak zaituztela setiatuko
xake‐mate kultural batez
ez duzue hitz bat bera ulertuko
zaharkiturik

eta gorde betiko destaina
zeuen kutxa gotorretan
hortxe egongo da garaikur tristea
nostalgiak erasatean

gogoratu onenak ginela horretan

Un jaque-mate cultural

Hacerle frente al desprecio
éramos los mejores en eso

Casi lo conseguís:
acostumbrar a todo el mundo
a ver problemas donde hay oportunidades

El futuro os asediará
será un jaque-mate cultural
y no entenderéis ni una sola palabra
quedaréis obsoletos

Y guardad vuestro habitual desdén
en vuestra caja fuerte
ahí estará, triste trofeo
cuando os entre un ataque de nostalgia

Recuerda que éramos los mejores en eso

Bigarren eskuko amets

Antzeko gauzen atzetik denok gauean
sute historiko bat, larrialdi irteera
etxera eramango gaituen norbait
galdera askorik egin gabe ahal dela

hartzazu nire poesia
bigarren eskuko amets

aitortu: buruarekin txortan
zakilarekin pentsatzen
irudikatu duzula jendea
zure ezpainak irakurtzen nenbilen

hartzazu nire poesia
lerro okerretan nire gabeziak
bi mila izen eta zure begiak
ihintzaren ezizen

dena hormatzen
dena argitzen izotz beltz moduko batez

bakardadeari izkin egiten
non bizi garen ez baleki legez

hartzazu nire poesia
lerro okerretan nire gabeziak
bi mila izen ta zure begiak
bigarren eskuko amets

Sueño de segunda mano

Todos perseguimos lo mismo en la noche:
un incendio histórico, una salida de emergencia
alguien que nos lleve a casa sin preguntar demasiado

Toma mi poesía, sueño de segunda mano

Confiesa que has imaginado a la gente
pensando con la polla, follando con la mente
estaba leyendo tus labios

Toma mi poesía
todas mis carencias en líneas torcidas
dos mil nombres y tus ojos
como pseudónimo del rocío
que lo hiela todo
que lo ilumina todo con una especie de
hielo negro

Tratar de darle esquinazo a la soledad
como si no supiera dónde vivimos

Toma mi poesía
todas mis carencias en líneas torcidas
dos mil nombres y tus ojos
un sueño de segunda mano

2017 Infrasoinuak

Dardaren Bat

Goizeko bederatziak, kafe egin berria zainetan
inor ez dabil kalean, ezin asmatu zergatia
erabateko isiltasuna, hau ez da distopia bat:
astelehena da gaur eta Gorka da nire izena

Hamaikak eta hogeita bi eta ez dut arimarik ikusi
arduratuta jadanik orube batera iritsi
mundu guztia makurtuta belarriak trenbidean
trenik ba ote datorren edo lepoa galtzear

Esadazue ba
entzuten al da zerbait, dardararen bat?
Etorriko al da norbait azkenean gugana?

Denak ere mututurik burdinbidean makurturik
ez urrun tunel beltzetik
ez oso urrun tunel beltzetik

Esadazue ba: entzuten al da zerbait,
dardararen bat?
Etorriko al da norbait azkenean gure bila?
Eta hala bada esan zein abiadan
denborarik dugun orain artekoa ahazteko
eta zer dugun eskaintzeko
ezpada beste inon egoteko gogoa
eta erakuskeria hau, ezpada
lekuko izateko kondena epaia ezagun denean

Algun Temblor

9am, el café recién hecho recorre mis venas
no hay nadie en la calle y no puedo saber el porqué
el silencio es absoluto y no, esto no es una distopía:
hoy es lunes y mi nombre es Gorka

11:22am y no he visto un alma
preocupado y sorprendido llego a un descampado
todo el mundo agachado con la oreja pegada a los raíles de una vía
esperando que llegue un tren… o a punto de ser degollados

decidme pues: ¿escucháis algo, algún temblor?
¿vendrá alguien de una vez a por nosotros?

todos mudos agachados en la vía
no muy lejos del negro túnel
no muy lejos del negro túnel

decidme pues: ¿escucháis algo en la vía?
¿vendrá alguien alguna vez a por nosotros?
y, de ser así, decidme a qué velocidad
si nos dará tiempo a olvidar todo lo vivido
y qué tenemos nosotros que ofrecer
más que el deseo de estar en otro lugar
y este exhibicionismo
más que la condena de ser testigos
cuando hace tiempo que se conoce el veredicto.

Zuri

Itsulapikoa hustu zutenek bahitu medioetan
larri dabiltzanei behar dutena esanez:
horra errudunak!

Esan zenbat garezur kabitzen den bi kontinenteren
artean zerbaitek eztanda egin gabe
ez al gara akordatzen? Garai batean
gure herria etorkina izan zen

Hala zabaltzen da izurri berri hau: irribarre batez
kanpokoa mespretxatzen aurrerakoi trajea kendu
gabe

Garezurrak pilatzen bi kontinenteren artean
zerbaitek eztanda egin gabe ez al gara akordatzen?
Garai batean gure herria etorkina izan zen

Etorkina zen eta orain ez daki nora doan,
lozorroan jendea jendetzat hartzen ez duen jendez
beteta bazterrak

Zein azkar ikasi dugun arrazakeria zuritzen
Zein azkar ikasi dugun arrazakeria zuritzen
domaia da
domaia da
arrazakeria zuritzen
domaia da
domaia da
arrazakeria zuritzen
domaia da
domaia da
arrazakeria zuritzen

'ta orain ez daki nora doan,
lozorroan jendea jendetzat hartzen ez duen jendez
beteta bazterrak

Blanco

Desde los medios secuestrados por quienes vaciaron las arcas
lanzan el mensaje que necesitan escuchar los que peor lo están pasando:
¡He ahí los culpables!

Dime cuántas calaveras caben entre dos continentes sin que nada estalle antes
olvidamos que este pueblo también fue emigrante en otra época

Es así como se propaga esta nueva plaga: con una sonrisa
despreciando al de fuera pero sin quitarse el traje de progresista

Dime cuántas calaveras caben entre dos continentes sin que nada estalle antes
olvidamos que este pueblo también fue emigrante en otra época

Este pueblo fue emigrante y ahora no sabe a dónde va, adormilado,
lleno de personas que no consideran personas a otras personas

Qué rápido hemos aprendido a justificar el racismo.

Infrasoinuak

Badatoz infrasoinuak, somatzen ez ditugunak
itsasoan zehar, lanerako baldintza eskas eta makur
horietan edota eskoletan bide eginaz

Zein da gai infrasoinuak entzuteko
behingoz aintzat hartzeko
zein da gai su artifizialak tarteko
arreta jartzen hasteko

Hor daude infrasoinuak, hor daude
futbolarien orrazkera nazikaran
nire kontraesanekin eraiki dudan
leihorik gabeko dorrean
gizonezko hegemoniko txurion jarreran
Troyako smartphonetan
makrozenbakien ifrentzuan

Zein da gai infrasoinuak entzuteko
behingoz aintzat hartzeko
zein da gai su artifizialak tarteko
arreta jarri eta adi egoteko

Kea ugari, surik ez
kea ugari baina ez zarela zu
itto-hurren zabiltzana… ala zer diozu?
Mundu guztia korrika dabilela ere ikusten dut
ezin asma lasterketa den
iduri du ihesaldi kolektibo bat

Zein da gai infrasoinuak entzuteko
behingoz aintzat hartzeko
sendagai ala birus aukeratzeko
ilunpean argitzen hasteko

Argia izateko

Infrasonidos

Ya llegan los infrasonidos
aquellos que no podemos llegar a sentir
a través del mar
en las condiciones ínfimas para el empleo
o abriéndose camino en las escuelas

Quién es capaz de escuchar los infrasonidos
de tenerlos en cuenta de una vez
quién es capaz, con estos fuegos artificiales de por medio
de empezar a prestar la debida atención

Ya llegan los infrasonidos, ya llegan
en el peinado pseudo-nazi de los futbolistas
en la torre sin ventanas que he construido con mis contradicciones
en el comportamiento de nosotros los hegemónicos hombres blancos
en los smartphones de Troya
detrás de las macrocifras

Quién es capaz de escuchar los infrasonidos
de tenerlos en cuenta de una vez
quién es capaz, con estos fuegos artificiales de por medio
de empezar a prestar la debida atención
de estar atento/a

Mucho humo y nada de fuego, mucho humo,
sin embargo no eres tú quien está a punto de ahogarse…
o tal vez sí, ¿Qué opinas?
No dejo de ver a gente correr sin parar
no acierto a entender si se trata de una carrera
o más bien una huída colectiva

Quién es capaz de escuchar los infrasonidos
de tenerlos en cuenta de una vez
de elegir entre cura o virus
de arrojar algo de luz en la oscuridad
de ser luz

Spoiler!

Spoiler! Spoiler!
Lapurtutakoa ez dute sekula itzuliko
ondoriorik ez duela jakin badakitelako

Spoiler! Spoiler!
Eszeptizismoa indartzen duen umorea baino ez da
onartuko eta orduan bai irri egin denok

Gure alde ez dutela ezer egingo

Spoiler! Spoiler!
Aldiro zailagoa izango da sare honetatik askatzea
pozik armiarmak

Gu eguraldiaz nola halaxe mintzatuko da
neurri berean eguraldia gutaz

Gure alde ez dutela ezer egingo

Eta plurala egitean bakoitzak zer gu, zer haiek
ulertzen duen argitzea
zaila izanen da ni-aren diktadurapean

Isolamendua izango da boladan jarriko duten
izurritea eta hori bera estaltzen asmatzea zure
zeregin nagusiena, horretarako zure eskura milaka
iragazki batera
zein epetan eta nola erabakitzeari deituko zaio
askatasuna
eta behingoz orduan bai libre izango gara

Argi izan: plurala egitean
bakoitzak zer gu, zer haiek
ulertzen duen argitzea
zaila izanen da ni-aren diktaduran

Spoiler! Spoiler!
Ez dugu itxarongo
ez dugu gehiago itxarongo

Spoiler!

¡Spoiler! ¡Spoiler!
jamás devolverán lo robado
porque saben que no tiene consecuencias
¡Spoiler! ¡Spoiler!
solo se permitirá el humor que fortalezca el escepticismo
y entonces sí, nos reiremos todos

no harán nada por nosotros

¡Spoiler! ¡Spoiler!
cada vez será más difícil soltarse de esta red
(y las arañas tan felices)
la meteorología hablará de nosotros en la misma medida
que nosotros hablamos de ella

no harán nada por nosotros

y al utilizar el plural
será complicado dilucidar
qué ‘nosotros’ y qué ‘ellos’ entiende cada uno
en esta dictadura del ‘yo’

la nueva plaga de moda será el aislamiento
y el más importante de tus quehaceres
será conseguir que no se note
para eso tendrás miles de filtros a mano
se le llamará libertad a poder decidir en qué plazos y de qué manera
y entonces sí, de una vez por todas seremos
libres

¡Spoiler! ¡Spoiler!
no esperaremos
no esperaremos más

Zaldi Zaurita

Ez daukazu ezer
mixto kaja bat eskuetan
ez daukazu ezer

Niretzako berezia zara

Ez daukazu ezer
naufrago izateko gidaliburu on bat
ederretan eder

Niretzako berezia zara

Ez daukazu ezer
gauzak argi dituen orok pilatu duen
zalantza bildumaz gain

Ez dakizu ezer
enpatiaren barne-arkitekturaz gain
ez dakizu ezer

Niretzako berezia zara

Ez daukazu ezer
gauzak argi dituen orok pilatu duen
zalantza bilduma
mugak argi dituen orok probatu duen
liberdade suerte hori
(bada ezer)

Zaldi zauritu baten begirada dauka gauak
utzidazu maitatzen

Caballo Herido

No tienes nada
una caja de cerillas en la mano
no tienes nada
eres especial para mí

no tienes nada
solo una buena guía para naufragar
bella entre las más bellas
eres especial para mí

no tienes nada
salvo la colección de dudas que ha recopilado
todo aquel que tiene las cosas claras

no sabes nada
salvo la arquitectura interna de la empatía
eres especial para mí

no tienes nada
solo la colección de dudas que ha recopilado
todo aquel que tiene las cosas claras
no tienes nada
salvo esa especie de libertad que ha llegado a probar
todo aquel que tiene claros los límites

la noche tiene la mirada de un caballo herido
déjame quererte

Beude

Beude Hori Bai, Psilocybe eta
Lekunberriko Kantina
beude Ttattola, Akelarre eta Bilboko Kafe Antzokia

Beude neguan epela eman ziguten doinuak
zurekin bizitako kontzertuak

Baionan Zizpa, Astra Gernikan
eta etorriko direnak
Bonberenea, Plateruena, Hala Bedi eta Gasteiz
osoa
gure kulturaren birikak

Beude neguan epela eman ziguten doinuak
zurekin bizitako uneak

Ez dadila haria eten

Bego musika
emozioen delorrean zaharra
zubi ikustezinen faktoria

Bego musika
gugan bizi bedi
bizi beti

Que sigan

Que sigan Hori Bai, Psilocybe y la Kantina de Lekunberri
Ttattola, Akelarre y el Kafe Antzoki de Bilbao

Que no paren las canciones que nos trajeron algo de calor en el invierno
todos los conciertos que he vivido contigo

Zizpa en Baiona, Astra en Gernika
y todos los que llegarán
Plateruena, Bonberenea, Hala Bedi y todo Gasteiz
pulmones de nuestra cultura

que sigan las canciones que nos trajeron algo de calor en el invierno
todos los momentos que he vivido contigo

que no se rompa el hilo

que siga la música: ese viejo delorean de emociones
la factoría de puentes invisibles

que viva en nosotros
que viva siempre

Hozkia

Makurkerian aditu
garaitu ezinezko zinismoaren patroi
hezurrak zapaltzen dituk urrats bakoitzeko
ez gaudek ahazteko

Ahoa eta uzkia bat. Hozkia.

Epe laburren gatibu
normaltasuna dei lagunen interesei
gezurrak eta hezurrak
ezkurrak eta zerriak
lokatzetan gizen

Ahoa eta uzkia bat
zein jasanezina hire etorri zikina

Bil hezurrak ta garezurrak

Zein luzea dirudien hire itzalak
eguzkia baxuenen dagoenean

Historiak ahaztuko dituenetan
narrastiak beti ildorik sakonena

Dentera

Experto en la falsedad
patrón del cinismo insuperable
pisas huesos a cada paso que das
no se olvida

tu boca y tu ano son uno. Dentera.

preso del cortoplacismo
llamarás normalidad a los intereses de tus amigos
huesos y mentiras
bellotas y cerdos cebados en el fango

tu boca y tu ano son uno
qué insoportable tu sucia verborrea

qué larga se ve tu sombra
cuando el sol está en lo más bajo

de todos los que olvidará la historia
es el reptil quién deja el surco más profundo

Sed Lex

Elebakar harro, mundutar aske
gu baino gehiago beti ere
elebakar harro, iritzi-emaile
moralaz harago guk ere bizi nahi genuke

Mundutartasun karnetak banatzen
sortzezko unibertsaltasunaren zuen altaretik

Elebakar harro
gutxiengoen zantzurik ez dago, hori ez
elebakar harro, ezkutari fier
esan ozenago: dura lex, sed lex

Mundutartasun karnetak banatzen
sortzezko unibertsaltasunaren zuen altaretik
erruki Jauna, ez baitakite zer dioten

Hizkuntza inportantea baita
batez ere esateko zerbait dagoenean
Elebakar harro, gu baino gehiago
dura lex, dura lex, dura lex… sed lex

Sed Lex

Monolingüe orgulloso/a
libre ciudadano del mundo
siempre por encima del resto
monolingüe orgulloso respetable opinador
a nosotros también nos gustaría vivir más allá de la moral

repartiendo carnets de ciudadanía del mundo
desde vuestro altar de la universalidad de facto

monolingüe orgulloso
no hay noticia de las minorías
feroz escudero, dilo bien alto:
dura lex, sed lex

repartiendo carnets de ciudadanía del mundo
desde los altares de la universalidad de facto

perdónalos, Señor, porque no saben lo que dicen

la lengua es importante
sobre todo cuando hay algo que decir

monolingüe orgulloso
dilo bien alto:
dura lex… sed lex

Katedral Bat

Gitarra astindu
eta ikusi kanturik baduen hor nonbait ezkutuan
behatzak bihurritu
ea norbaitek ahaztua duen akorde minorren bat

Eta min eman arte zure falta izan
ez da musa hoberik

Katedral bat egin hegalik gabe sortu ziren
abesti pusketekin
bertako beiratetik sartzen diren eguzki izpien
energiaz berrekin

Eta min eman arte zure falta izan
ez da musa hoberik
ikasitakoa desikasten ikasi
ahaztutakoa ahaztu eta aurrera egin

“Irakurtzea da bestela idaztea”
paperak aitortzen dit
“kantatu besterik ez nuen egin nahi”
erantzuten diot nik

Neure ahotsa bilatu, beti besteena entzun
loa kentzen didanari ekintzekin erantzun
lagunarteko uneak luzarazi
maitasuna egin maite dugunekin
carpe noctem!

Eta min eman arte zure falta izan
ez da musa hoberik
bihotzen artean parkour egitean erori
baina beti zutik erori

Gitarra laztandu barruan kanturik baduen…

Una Catedral

Agitar esta guitarra para ver si esconde alguna canción en su interior
retorcerme los dedos, a ver si alguien olvidó algún acorde menor
y echarte de menos hasta que duela, no existe mejor musa

levantar una catedral con pedazos de canciones que nacieron sin alas
y volver a intentarlo con la energía de los rayos de sol
que entran a través de sus vidrieras
y echarte de menos hasta que duela, no existe mejor musa
desaprender lo aprendido
olvidar lo olvidado
y tirar adelante

“leer es otra forma de escribir”, me confiesa el papel
“yo solo quería cantar”, le respondo yo

buscar mi propia voz escuchando siempre la de los demás
responder a base de acción a aquello que te roba el sueño
alargar las horas entre amigos
hacer el amor con quienes amamos
carpe noctem

y echarte de menos hasta que duela, no existe mejor musa
hacer parkour entre corazones y caer
pero siempre caer de pie

acariciar la guitarra para ver si contiene alguna canción en su interior

Zorionaren Lobbya

Ez zaitut ahaztu baina nekatu naiz
zu gogoratze hutsaz
nire datuak doan eman ditut zorionaren lobbyan
eta orain…

Ez zaitu ahaztu baina nekatu naiz
zu gogoratzen hutsaz
hosto galkorreko arbolan egin dizudan kabiak
kaiola forma dauka
eta orain…

Nola esan
sakon hunkitzen nauela aldatu nahi duen jendeak
euren ahalegin zintzoak

Sakon hunkitzen nauela
niretzat ez dudan ekimena besteengan ikusteak
tarteka utzi arren
nire akatsak errepikatzen
buruz ikasi arte
zaude lasai: nire datuak asapaldian dauzka
zorionaren lobby nekaezinak

El Lobby de la Felicidad

No te he olvidado pero me he cansado del simple hecho de recordarte
hace tiempo que di mis datos al lobby de la felicidad
y ahora…

no te he olvidado pero me he cansado del simple hecho de recordarte
el nido que he construido en el árbol de hoja caduca
tiene forma de jaula
y ahora…

cómo decir que me emociona sobremanera
la gente que pretende cambiar
todo ese sincero esfuerzo

que me emociona sobremanera
ver en los demás esa iniciativa que no tengo para mí mismo
déjame de vez en cuando repetir mis errores
hasta aprenderlos de memoria
no te preocupes
hace tiempo que posee mis datos
el incansable lobby de la felicidad

Deftones

1995 Adrenaline

Bored

[Verse 1]
Hear me spit on you, wither I
Remold into gold and bury I from sun
Reborn, left to sigh
Recure, maybe I'll
Be born and simplify
The way I lie, before

[Chorus 1]
I get bored
I get bored
I get bored
I'm bored

[Verse 2]
Revered by you
And trust to figure out
I burn that gift to you, doll
And let it shine before

[Chorus 2]
I get bored
I get bored
I get bored
I wish for a real one
[Verse 3]
Fit and confide
Before me, or I
I will come clean, it gets worse
It's more

[Chorus 2]
I get bored
I get bored
I get bored
I wish for a real one
I get bored
I get bored
I get bored
I wish for a real one

Minus Blindfold

[Verse 1]
Done feeding, I leaned back, head rested on the couch's top
Must leave the house soon, mean gone, 'cause my pops, he's hot
Grab my blue backpack, my Walkman, grip my bicycle
'Cause I know my friends are waiting at the door
I'm feeling loose like you, just fuckin' around and shit
'Til that comes, you're fifty-five or twenty-six

[Pre-Chorus]
Let me go
I give more
And you know I'm flown

[Chorus 1]
Come at me, come, come
My fingers don't cross, but they crack
You know I want to pick you up
But they don't want you to
Asking for it, like we got
Yes, we cross, but we crack
You know I want to pick you up
But they don't want you, so fuck 'em

[Verse 2]
You let them screw you, I thought they knew you
But when you turned your back, I know they're gonna do
You had to prove me right and then we did
And that son of a bitch, he swerved, almost hit two kids
I'm feeling heartless, I'm feeling hate
So when there's nothing but the real swing in her fucking rape
No one
Me
(No choice)
[Pre-Chorus 2]
Let me go
I get bored
And you know I'm fucking flown

[Chorus 2]
Come on, come, come
My fingers don't cross, but they crack
You know I want to pick you up
But they don't want you to
Let me go, like we got
Yeah, we cross, but we crack
You know I want to pick you up
But they don't want you, burn

[Bridge]
Let me go
I give more
And you know, oh
So good, we could
And we learned to cry
And lift me up

[Chorus 2]
Come on, come
My fingers don't cross, but they crack
You know I want to pick you up
But they don't want you
Let me go, like we got
Yeah, we cross, but we crack
You know I want to pick you up
But they don't want you

One Weak

[Verse 1]
Nerve, here I've born
Feeding on his lung
Verve is his curse
Because he wanted to meet Christ alone
Here, you're no good
We could be so flown
Misunderstood
We could be your god
There in my bones
We could be so flown
Misunderstood
Because he wanted to meet Christ alone
But you will

[Chorus]
But you will never find me, breach unborn
Never come here, watch me burn
Never, bitch, 'cause your scars show
Never will I burn

[Verse 2]
Under beneath the floor, before
His face, 'cause you're no good
We could have been like one
Bitch, you feel sore
We could be so flown
Misunderstood
Because he wanted to meet Christ alone
But you will
[Chorus]
But you will never find me, breach unborn
Never, sit and watch me burn
Never, bitch, 'cause your scars show
Never will I burn
Will I burn
Will I burn
Will I burn

[Outro]
Beg, don't try and you will never
Beg, don't try and you will never
Beg, don't try and you will never
Beg, don't even waste your breath

Nosebleed

[Verse 1]

No mean no, lie now, then find what you get
You're no good
You sit around and throw a fucking fit
We are here, onto you
You're so far, you're fucking gone

[Chorus]
You won't get to me
Until you cover me
I don't need this shit
'Til you cover me

[Verse 2]
No mean no, lie now, then find what you get
It's so good
You sit around and throw a fucking fit
We are here, onto you
Give me more, you fucking liar

[Chorus]
You won't get to me
Until you cover me
I don't need this shit
Until you cover me
[Bridge 1]
We are here, mother
In your fear with you
We could be perfect
In your world, I know
But I will come
I will come
And I will come
Go

[Bridge 2]
I will come
I will come
And I will come
I will come
I will come
I will come
I will come

[Bridge 3]
Disappear
Disappear
Disappear
Disappear

[Outro]
You won't get to me
Until you cover me
I don't need this shit
You fucking liar

Lifter

[Verse 1]
Watch me with your eyes
Been giving God a bit of fire
I want to be just like you
Then I'd be cool, maybe not, but
We left our eyes, big surprise
Kiss me goodbye, whore

[Verse 2]
Without you being here
I'll be giving fear a bit more
I wish I could feel like you
When I fuck like you, a bit sore, but
We left our eyes, big surprise
Kiss me goodbye

[Chorus]
And make you more that you worked for
Every knuckle wiped into her
I know we're fucking monsters
I will never get what I want
(Inside of her)

[Verse 3]
And this gift of mine
Resing, restring, unwind
Eyes are closed
[Bridge]
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore

[Chorus]
And make you more that you worked for
Every knuckle wiped into her
I know we're fucking monsters
I will never get what I want
(Inside of her)

[Bridge]
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets inside of her
(Inside of her)
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets sore
A part of me gets sick
A part of me gets so fucking sick

Root

[Verse 1]
To be forced under
I look unto your home because
We gave our eyes but no one will
Yes, I know, because

[Chorus]
To heed the cause I will be barred
But you won't
We are here to love heart
He's up inside, we start to cry
Just because I will afford
Living in me is so poor
Deliver me there

[Verse 2]
To be judged by one or licked by three
And your holes enclose
We gave our eyes but no one will
Yes I know, because

[Chorus]
To heed the cause I will be barred
But you won't
We are here to love heart
He's up inside, we start to cry
Just because I will afford
Living in me is so poor
Deliver me up
[Bridge 1]
Cannot fuck to be me
And you won't find me
And you won't find me
And you will don't know me, psycho
I don't believe you will find me
And you won't find me
And you will so come from a psycho
I don't believe you will find me
And you won't find me
And you will don't quit, psycho
I don't believe you will find me
I'm in trouble because playing God

[Bridge 2]
I and me, we go
With Jesus in a bowl of dirt

[Outro]
Yeah, yeah
So poor
I will fly

7 Words

[Verse 1]
I'll never be the same, breaking decency
Don't be tree trunk, don't fall on my living roots
I've been humming too many words, got a weak self-esteem
That's been stomped away from every single dream
But it's something else that brought us feaze
Keep it all inside 'til we feel we can't unleash
I think that you made it up, I think that your mind is gone
I think you shouldn't have glorified, now you're wrong

[Chorus]
Suck, suck, suck, suck
Suck, suck, suck, suck
Suck, suck, suck, suck
They fuck in my head
Suck, suck, suck, suck
Suck, suck, suck, suck
Suck, suck, suck it, you bitch

[Verse 2]
You and me are here alone
Face flat along the edge of the glass
But I'm not here to preach, I'm just sick of thugs
My parents made me strong to look up that glass
So why should I try? Act like I'm a little pissed off
With all that shit that needs to stay back in the shell
Your punk ass made it up, now your fuckin' mind is gone
Should've never glorified, now you're right
[Chorus]
Suck, suck, suck, suck
Suck, suck, suck, suck
Suck, suck, suck, suck
They fuck in my head
Suck, suck, suck, suck
Suck, suck, suck, suck
Suck, suck, suck it, you bitch

[Interlude]
Bitch, you don't know me
Shut up, you don't know me
Squeal like a pig when you
Pickpocket, big fuckin' head

[Verse 3]
Well, I'll tell you about my blunt stack
What's coming back, Jack? We'll turn back
Curse, fighting their words
Tell them that you fucking heard
I mean, they know that's what's coming, nigga, you quitter
I'm thinking about something naughty and won't tell anybody
So, thinking of me by now, but you go grab it
I'd like to think, for who I down this shit
I belong where they be, because we cannot get back those lives
[Verse 4]
We exist to please, understand
Love hates blacks, shades, and all the players
Mr. P.I.G., could I fuckin' see?
Shorty done crushed all of my brothers' dignity
And to the jury can't be no turn is all
My skin looks colored, does that mean I'm burnt?
'Cause your punk ass made it up, your fuckin' mind was gone
Should've never glorified, wrong

[Chorus]
Suck, suck, suck, suck
Suck, suck, suck, suck
Suck, suck, suck it
They fuck in my head
Suck, suck, suck, suck
Suck, suck, suck, suck
Suck, suck, suck, you bad boy

Birthmark

[Verse 1]
I'd meet you in wrong
Bury all, then I would be right with her
In whole, cherished by two
It makes you fly, yes, I'll lie
God, I'll even lick her fucking picture
In whole, drinks won't stain this birth

[Verse 2]
It's just me, I'm bored
Carried lung, now I could be right with her
In whole, cherished by two
It makes you fly, yes, I'll lie
Drink one more so I could go right in her
In whole, drinks won't stain this birth

[Bridge 1]
It makes you fly
(Inside)
It makes you fly
(Inside)
It makes you fly
(Inside)
It makes you fly
(Inside)
[Bridge 2]
In spite I want to lie
In spite I will lie

[Outro]
In spite I'll still lie
In spite I'll still lie
In spite I'll still lie
In spite

Engine No. 9

[Verse 1]
This ain't no motherfuckin' stick up
Just stick 'em, and watch 'em roll real close
Rollin' across my gat 'til it stacks, 'til they fuckin' done
Living off that curb, I think you fucked up
You have inbred, so why do you dig many in '93?
Been making them fools go down, bumping around me
You're right, you've seen 'em from underground
But you know that was the life that they've earned
On the beats, won't see, you fucking whore

[Chorus 1]
Peer side whore, and mother she
Won't drain herself and won't become this kid
And live in a big world inside
Just because my time to (Wipe)
What the lyrical did (Did)
Because my time to (Wipe)
What the lyrical did (Did)
And cut the bullshit, bring it in
Because my time to (Wipe)
What the lyrical did (Did)
Because my time to (Wipe)
What the lyrical (Did)
Whatever, put that on
[Verse 2]
Get straight quickly
Making fools go down, bumping around me
You want to see from underground
'Cause no one else wants to watch when they burn
On the beats, come see, you fucking whore

[Chorus 2]
Peer side whore, and mother she
Won't drain herself and won't become this kid
Just did what? Just did what? Just did what?
Just because my time to (Wipe)
Lyrical (Did)
Because my time's over (Wipe)
What the lyrical did (Did)
And cut the bullshit, bring it in
Because my time to (Wipe)
Lyrical (Did)
My time to (Wipe)
Lyrical (Did)
Big into the
(Wipe)
(Did)
(Wipe)
(Did)
I wanna
Cut it hard
[Chorus 3]
My time (Wipe)
Lyrical (Did)
My time (Wipe)
Lyrical (Did)
Bring it in
Because my time to (Wipe)
What the lyrical (Did)
Damn it, fuck it (Wipe)
Because lyrical did
Big into the
(Wipe)
(Did)
(Wipe)
(Did)
(Wipe)
(Did)
(Wipe)
(Did)
I wanna

Fireal

[Verse 1]
We are beggars for the lord
And I will meet you fourth floor
Then we'll make up, no

[Chorus]
No fist to fucking save you from
No fist to fucking save you from
No fist to fucking save you from
You knock me out

[Verse 2]
I'll take the burden for the lord
And then when I'll be there, no
Do you think I care?

[Chorus]
No fist to fucking save you from
No fist to fucking save you from
No fist to fucking save you from
You knock me out
No fist to fucking save you from
No fist to fucking save you from
No fist to fucking save you from

[Bridge]
I'm going home
I'm going home
I'm going home
Everything felt good
Everything was right at first
When I was so curbed to know mad dog
Life before I would shine down un-shy
It comes from the first one I
While I watched you
Makes me sick, makes me die
I would shine
I want to be much, then more
While I watch you
Life before I would shine down un-shy
I want to be much, then more
While I watch you
Life before I would shine down un-shy
I want to be much, then more
While I watch you
I want to be much, then more
While I watch you
I want to be much more
While I watch you
I want to be much more
While I watch you
I much, much more while I watch you
I want to be much, then more
While I watch you

Fist

Oh hello, memory lover
You are mine
I gave everything
I need you
And someday
I'll be with her
I'll need you, I will
I'm so dead
You're the first star
You're the one who sees it all
I know
I'm so tired
And sick

1997 Around the Fur

My Own Summer (Shove It)

[Verse 1]
Hey you, big star
Tell me when it's over
(Cloud)

Hey you, big mood
Guide me to shelter
'Cause I'm through when the two
Hits the six and it's summer
(Cloud)

[Pre-Chorus]
(Come) Shove it! Shove it! Shove it!
(Shove) Shove it! Shove it! Shove it!
(The sun) Shove it! Shove it! Shove it!
(Aside) Shove it aside!

[Chorus]
I think God is moving its tongue
There's no crowd in the streets and no sun
In my own summer

[Verse 2]
The shade is a tool, a device, a savior
See, I try and look up to the sky
But my eyes burn
(Cloud)
[Pre-Chorus]
(Come) Shove it! Shove it! Shove it!
(Shove) Shove it! Shove it! Shove it!
(The sun) Shove it! Shove it! Shove it!
(Aside) Shove it aside!

(Come) Shove! Shove it! Shove it!
(Shove) Shove it! Shove it! Shove it!
(The sun) Shove it! Shove it! Shove it!
(Aside) Shove it aside!

[Chorus]
I think God is moving its tongue
There's no crowd in the streets and no sun
In my own summer

[Outro]
(Come) Shove it! Shove it! Shove it!
(Shove) Shove it! Shove it! Shove it!
(The sun) Shove it! Shove it! Shove it!
(Aside) Shove it aside!

Lhabia

[Intro]
Somewhere, outside
There are tricks and evil
Holler downstairs while I drive

[Verse 1]
I make a plan just to get you back to what we're doing
Wanna pain you, wanna watch you
You'll think again, deep within, keep it deep inside
Yeah, while I serenade, buttercup, yeah buttercup
And we can do it, suppose it again
Oh, slow it down and how we'll do it again and again
And make the best of a simple thing
To believe this, bound, coming through fire!

[Chorus]
Dying of boredom
I'll try it all

[Interlude]
Sixteen, olive
Bound by voice

[Verse 2]
Bleed again like a girl that can make 'em turn
Don't look, but I want it
Too much blood to my stomach, it's because it's sick
Passed by you, break the bands between us
I can dare to go, but never what you can't do
What you get is never what you want to get
Now to pray your sigh is over like a doped drug
Like a voice, well, at least you fucking care
[Chorus]
Dying of boredom
I'll try it all
Oh, I'll be faint
Like a crook

[Bridge]
Let's do it!
Look at what it's doing to you
But that's okay, 'cause look at how it feels
Feels great but look at what it's doing to you
But that's okay, 'cause look at how it feels
Feels great but look at what it's doing to you
But that's okay, 'cause look at how it feels

[Verse 3]
Burn God down, starts to stir again
Fucking heretic, I've opened up this for me
Lack of sterile, I'll stack the bricks down
Hurt you too much, working 'round to
I can punch through it, make the hair stick
Don't wanna hurt you, just to fuck you
I'm out of time, so I tell her to rest and to
I'll rely on these two and be fine

[Chorus]
Dying of boredom
I'll try it all
I'll be faint
Like a crook
[Outro]
Let's do it!
Look at what it's doing to you
But that's okay, 'cause look at how it feels

Mascara

[Verse 1]
I feel soon I will sink into you
What do you think?
'Cause there's still blood in your hair
And I've got the bruise of the year

[Chorus]
But there's something about her long, shady eyes
I'm all about her shade tonight

[Verse 2]
I hate your tattoos
You have weak wrists
But I'll keep you

[Chorus]
'Cause there's something about her long, shady eyes
I'm all about her shade tonight

[Outro]
Well, it's too bad
It's too bad
It's too bad
You're married to me

Around the Fur

[Verse 1]
Hey vanity, this vial's empty and so are you
Hey glamorous, this vial's not God anymore
Yeah

[Chorus]
Speak, I don't get it
Should I ignore the fashion or go by the book?
I don't want it
I just want your eyes fixated on me
Coming back
Coming back around the fur

[Verse 2]
Prostitute, climb back down from the floor
Please don't fuck around and die like this
'Cause I love her

[Chorus]
Speak, I don't get it
Should I ignore the fashion or go by the book?
I don't want it
I just want your eyes fixated on me
Coming back
Coming back around the fur
[Bridge]
Speak, speak, you're so bad to me
I don't want to get dressed up anyway
Come on, have some fun
I'm innocent, drop your weapons and come on
Speak, you're a liar
You're a liar and I don't care about

Rickets

[Intro]
It's so simple to look at
Every little thing I do wrong
It's so simple to overlook
Every little thing I do right
Right?

[Verse 1]
I think too much
I feed too much
I'm gone too much
I stay too much
I snore too much
I'm bored too much
I ate too much
I'm way too much too stuck up

[Chorus]
You're probably right
This time but I don't want to listen
You're probably right
This time but I don't even care

[Verse 2]
I drink too much
I think too much
I stop too much
Lose things too much
I am too much
I'm pissed too much
I need too much
I'm not one to trust
[Chorus]
You're probably right
This time but I don't want to listen
You're probably right
This time but I don't even care
And if it was mine to say
I wouldn't say it
And if it was mine to say
I wouldn't speak

[Verse 3]
I'm bored too much
I think too much
I eat too much
I fix too much
I feed too much
I piss too much
I sleep too much
I snap too often

[Chorus]
You're probably right
This time but I don't want to listen
You're probably right
This time but I don't even care
And if it was mine to say
I wouldn't say it
And if it was mine to say
I wouldn't speak

Be Quiet and Drive (Far Away)

[Verse 1]
This town don't feel mine
I'm fast to get away, far

[Chorus]
I dressed you in her clothes
Now drive me far away, away, away

[Verse 2]
It feels good to know you're mine
Now drive me far away, away, away

[Bridge]
Far (Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
I don't care

[Outro]
Far (Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
I don't care
Far (Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
Far (Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
I don't care where, just far
(Away)
Away
So far (Away)
I don't care where, far
(Away)
I don't care where, just far
(Away)
I don't care where

Lotion

[Verse 1]
I meant to come back to put out bliss
But the style's crumbling, covered, canned
It was sick and no, you don't even know how
It comes and shifts, then gets ruined by you fucking slobs

[Chorus]
It's classical anyway

[Verse 2]
I can't help it, it makes me so sick over and over
It sits stiff, bound with no heart
Fine, 'cause this is where the separation starts arising
I can see it coming over your cloud

[Chorus]
It's classical anyway
How cool are you?
I remember

[Bridge]
I feel sick
I feel sick
I feel sick
I feel sick
[Verse 3]
It's just a bad call
It's so funny how you think I'm so serious, but that's not it
The thing is, I don't give enough jack to give a fuck
You're just plain boring and you bore me asleep

[Chorus]
It's classical anyway
How cool are you?
I remember

[Bridge]
I feel sick
I feel sick
I feel sick
I feel sick

[Bridge]
I feel sick, I feel sick
I feel sick, I feel sick
I feel sick, I feel sick
I feel sick, I feel sick

[Verse 4]
And who the fuck are you anyway, you fuck?
It's making sick sense seeing how you're sticking out
Hardly hoping, about to please, rise up off the fucking knees
And I'm about to train you for a second, try to find your fucking heart
[Chorus]
It's classical anyway
How cool are you?
I remember

[Bridge]
I feel sick
I feel sick
I feel sick
I feel sick

[Bridge]
I feel sick, I feel sick
I feel sick, I feel sick
I feel sick, I feel sick
I feel sick, I feel sick

[Outro]
I feel sick right here
I feel sick right here
I feel sick right here
I feel sick right here
I feel sick right here
I feel sick right here
I feel sick right here
I feel sick

Dai the Flu

[Verse 1]
I always wondered what it takes
Fifteen stitches and a soft parody
To make my eyes be like deceit
Believe the sting proves heart to me

[Chorus]
Now I know that you love me
Thank god that you love at all

[Verse 2]
Dislocated at the joint
Timing is everything in the bed
'Cause you'll sleep for hours to keep away
Then sink the teeth and bat your eyes

[Chorus]
Now I know that you love me
Thank god that you love at all

[Bridge]
What surprise right here
Going on and going off
What's the surprise right here
Going on and going off
What's the surprise right here
Going on and going off
What's the surprise right here
Going on
At least now I know
At least now I know
At least
[Chorus]
Now I know that you love me
Thank god that you love at all

[Bridge]
What surprise (dai)
Right here (the)
Going on and going off (flu)
What surprise (dai)
Right here (the)
Going on and going off (flu)
What surprise (dai)
Right here (the)
Going on and going off (flu)
What's the surprise (dai)
Right here (the)
Going on (flu)

[Outro]
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai)
Right here (the flu)
What surprise (dai the flu)

Headup

[Verse 1 - Chino]
Got back out, back off the forefront
I never said or got to say bye to my boy
But it's often I try, I think about
How I'd be screaming and the times we'd be bumping
Our minds would be flowin'
Taking care of shit like, "hey homies, what ya' needin'?"
If life's comin' off whack, well, open your eyes

[Verse 2 - Chino]
This has begun you seem to have some doubt
I feel you next to fiending, getting spacey
With the common love of music
Think of this as the sun and the mind as a tool
But we could bounce back from this one
With attitude, will and some spirit
With attitude, will and your spirit
We'll shove it aside

[Chorus - Max]
Soulfly
Fly high
Soulfly
Fly free

[Verse 3]
Shut your shit, please say what you will
I can't think sidestep around
I'm bound to the freestyle
Push it all down to the ground
With a nova dash but they watch you
Now climb up, super slide
The spirit's so low, it's coming over you
[Chorus - Max]
Soulfly
Fly high
Soulfly
Fly free

[Bridge - Chino + Max]
When you walk into this world
With your head up high
When you walk into this world
With your head up high
When you walk into this world
With your head up high
When you walk into this world
With your head up high
When you walk into this world
With your head up high

[Outro]
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high
Head up, head up, head up, head up, high

MX

[Verse 1: Chino Moreno]
You're so sweet
Your smile, your pussy and your bones
You're on fire
You move me like music with your style

[Pre-Chorus: Chino Moreno + Annalynn Cunningham]
Let me think, Let you think about what?
About girls, And what else?
And money and new clothes, And what do I get?
Thirty nights, Uh huh
Of violence, Yeah?
And sugar to love

[Chorus: Chino Moreno]
(Ha ha, ha ha, come here)
Closer to the lung
(Ha ha, ha ha, so I can, so I can)
Shove her over railing

[Verse 2: Chino Moreno]
You're sweet
But I'm tired of proving this love
See you're a bore
But you move me, like a movie that you love
[Pre-Chorus: Chino Moreno + Annalynn Cunningham]
Let me think, Let you think about what?
About girls, And what else?
And money, and new clothes, And what do I get?
Thirty nights, Uh huh
Of violence, Yeah?
And sugar to love

[Chorus: Chino Moreno]
(Ha ha, ha ha, come here)
Closer to the lung
(Ha ha, ha ha, so I can, so I can)
Shove her over railing

[Bridge: Chino Moreno]
You make it so easy

[Pre-Chorus: Chino Moreno + (Annalynn Cunningham)]
Let me think, Let you think about what?
About girls, And what else?
And money, and new clothes, And what do I get?
Thirty nights, Uh huh
Of violence, Yeah?
And sugar to love, Fucking rockstar

[Chorus: Chino Moreno]
(Ha ha, ha ha, come here)
Closer to the lung
(Ha ha, ha ha, come here)
Closer to the lung
(Ha ha, ha ha, so I can, so I can)
Shove her over railing

Damone

[Verse 1]
Sleep in this hole
Stinging in your eyes
Ashamed
For you 'cause

[Chorus]
So far, I've been down, that's true

[Verse 2]
Shake in lie
About to fall
Ashamed
For you 'cause

[Chorus]
So far, I've been down, that's true
Except for your arms
You start, stand still and shove regret back at me

[Bridge]
Why (what's up)
I just ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)
If I ask you why (what's up)
If I ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)
[Verse 3]
So I've been you, laughter sigh
I'm so ashamed for you 'cause

[Chorus]
So far, I've been down, that's true
Except for your arms
You start, stand still and shove regret back at me

[Bridge]
Why (what's up)
I just ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)
If I ask you why (what's up)
If I ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)

[Verse 4]
This feeling gets old, and so do your eyes
This is why, I hate you 'cause
[Chorus]
So far, I've been down, that's true
Except for your arms
You start, stand still and shove regret back at me

[Bridge]
Why (what's up)
I just ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)
If I ask you why (what's up)
If I ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)
Why (what's up)
I just ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)
If I ask you why (what's up)
If I ask you why (what's up)
One, two
Why (why)
Why (why)
Why (why)

2000 White Pony

Back to School (Mini Maggit)

[Intro]
So run
Run right back to school
Check it

[Verse 1]
Look back, I sift through all the cliques
Roaming' the halls all year, making me sick
While everyone's out trying to make the cut (What)
And when you think you know me right, I switch it up
Behind the walls, smokin' cigarettes and sippin' vodka
I hop a fence to catch a cab, ain't no one can stop us
Give me a break about some other mess
What were you? Act like it's everything you got

[Chorus]
Push back the square
Now that you need her but you don't
So there you go
'Cause back in school
We are the leaders of it all

[Verse 2]
Stop that quit! All that quit!
Who ruined it? You did! Now grab a notebook and a pen
Start taking notes, I'm being everyone who's on the top
You think we're on the same page, but, oh we're not!
I'll be the man, watch your backpack and the pencils
Just like Kool Keith, he now flippin it, why you just keep it simple?
You just can't go wrong rocking the clothes
Coppin' the stance, 'cause really is everything that you got
[Chorus]
Push back the square
Now that you need her but you don't
So there you go
'Cause back in school
We are the leaders of it all

[Bridge 1]
So transpose
Or stop your lies
It's what you do
Transpose or stop your lies
So run
So why don't you run, so why don't you run
So why don't you run back to school
So why don't you run, so why don't you run

[Bridge 2]
All you are - Now I'm on the next page
All you are - It's time to close the book up
All you are - I'm on the next page
All you are - Close the book up now

[Chorus]
Push back the square
Now that you need her but you don't
So there you go
'Cause back in school
We are the leaders of it all
[Outro]
We are the leaders of it all
We are the leaders of it all
So why don't you run, so why don't you run
So why don't you run back to school
So why don't you run, so why don't you run

Feiticeira

[Verse 1]
Fuck, I'm drunk, but I'm on my knees
The police stopped chasing
I'm her new cool meat
She pops the trunk and she removes me
And a machine takes pictures of us
Now my jaw and my teeth hurt
I'm choking from gnawing on the ball

[Hook]
And just before I come to
Move to the back of the car
She made me touch the machine
New murderer, fuck 'em

[Verse 2]
First, untie me
Untie me for now
You said you would, right?
And you were right

[Chorus]
(Soon I'll let you go, soon I'll let you go)
(Soon I'll let you go, soon I'll let you go)
Soon this will be all over
Well, I hope soon, she sang
Soon this will be all over
Well, I hope soon, so she sang
[Outro]
(Soon I'll let you go, soon I'll let you go)
(Soon I'll let you go, soon I'll let you go)
So she sang
(Soon I'll let you go, soon I'll let you go)
(Soon I'll let you go, soon I'll let you go)
So she sang
(Soon I'll let you go, soon I'll let you go)
(Soon I'll let you go, soon I'll let you go)
So she sang
(Soon I'll let you go, soon I'll let you go)
(Soon I'll let you go, soon I'll let you go)

Digital Bath

[Verse 1]
You move like I want to
To see like your eyes do
We are downstairs
Where no one can see
New life break away

[Chorus]
Tonight, I feel like more
Tonight, I

[Verse 2]
You make the water warm
You taste foreign
And I know you can see
The cord break away

[Chorus]
'Cause tonight I feel like more
Tonight I feel like more
Feel like more
Tonight

[Bridge]
You breathed, then you stopped
I breathed, then dried you off
[Chorus]
And tonight I feel
Feel like more
Oh, tonight I feel like
Feel like more
Tonight I feel like more
Feel like more
Tonight

Elite

[Chorus]
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control

[Verse 1]
You like attention
It proves to you you're alive
Stop parading your angles
Confused? You'll know when you're ripe

[Chorus]
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
[Bridge]
You're pregnant
With all this space
Thick with honey
But I lost my taste

[Verse 2]
You're into depression
'Cause it matches your eyes
Stop the faux to be famous
Confused? You'll know when you're ripe

[Chorus]
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control

[Bridge]
You're pregnant
With all this space
Thick with honey
But I lost my taste
[Chorus]
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control
When you're ripe, you'll bleed out of control
You'll bleed out of control

Rx Queen

[Verse 1]
I won't stop following you
Now help me pray for
The death of everything new
Then we'll fly farther

[Chorus]
'Cause you're my girl and that's alright
If you sting me, I won't mind

[Verse 2]
We'll stop to rest on the moon
And we'll make a fire
I'll steal a carcass for you
Then feed off the virus

[Chorus]
'Cause you're my girl and that's alright
If you sting me, I won't mind
'Cause you're my girl and that's alright
If you sting me, I won't

[Bridge]
(And now look at 'em
Look at 'em now, look at 'em, sting)
(And now look at 'em
Look at 'em now, look at 'em, sting)
(And now look at 'em
Look at 'em now, look at 'em, sting)
(And now look at 'em
Look at 'em now, look at 'em, sting)
[Verse 3]
I see a red light in June
And I hear crying
You turn newborn baby blue
Now we're all the virus

[Chorus]
'Cause you're my girl and that's alright
If you sting me, I won't mind
'Cause you're my girl and that's alright
If you sting me, I won't

[Outro]
(And now look at 'em
Look at 'em now, look at 'em, sting)
(And now look at 'em
Look at 'em now, look at 'em, sting)
(And now look at 'em
Look at 'em now, look at 'em, sting)
(And now look at 'em
Look at 'em now, look at 'em, sting)

Street Carp

[Verse 1]
It's not that I care (truly)
But you're that girl (with sharp teeth)
Who grabs at the walls (and pulls me down)

[Chorus 1]
Well, here's my new address
6-6-4, oh, I forget

[Verse 2]
It's not like I care (truly)
But you're that girl (with gold teeth)
Who snaps at the walls (and won't calm down)

[Chorus 2]
Well, here's my new address
6-1-5, I forget
There's all your evidence
Now take it home, run with it

[Bridge]
Now, write it down
Now did you get, get it?
So write it down
Now did you get it? Get it?
So write it down
Now did you get it? Get it?
So write it down
Now did you get it? Get it?
[Chorus]
Well, here's my new address
6-6-5, I confess
There's all your evidence
Now take it home and fuck with it

[Outro]
Now, so write it down
Now did you get it, get it?
So write it down
Now did you get it? Get it?
So write it down
Now did you get it? Get it?
So write it down
Now did you get it? Get it?

Teenager

[Verse 1]
I climbed your arms, then you pulled away
New cavity moved into my heart today
The more she sings, the more it seems
Now, oh

[Chorus]
Now I'm through
With the new you
Now I'm through
With the new you
New you

[Verse 2]
I drove you home, then you moved away
New cavity moved into my heart today
The more I scream, the more it seems
Now I'm through

[Chorus]
Now I'm through
With the new you
Now I'm through
With the new you
Now I'm through
With the new you
New you

Knife Prty

[Verse 1]
My knife, it's sharp and chrome
Come see inside my bones
All of the fiends are on the block
I'm the new king, I'll take the queen
'Cause in here, we're all anemic
In here, anemic and sweet, so

[Chorus]
(Go get your knife, go get your knife)
And come in
(Go get your knife, go get your knife)
And lay down
(Go get your knife, go get your knife)
Now kiss me

[Verse 2]
I can float here forever in this room
We can't touch the floor
In here, we're all anemic
In here, anemic and sweet, so

[Chorus]
(Go get your knife, go get your knife)
And come in
(Go get your knife, go get your knife)
And lay down
(Go get your knife, go get your knife)
Now kiss me
[Bridge]
I could float here forever
You are ever sweet
I could float here forever
Anemic and sweet, so

[Chorus]
(Go get your knife, go get your knife)
And come in
(Go get your knife, go get your knife)
Get filthy
(Go get your knife, go get your knife)
And kiss me

Korea

[Verse 1]
I taste you much better
Off teeth taste
Of white skin on red leather
Check the claws we got

[Chorus 1]
Night time, cavity, come in
Downtown, pony, work your pitch

[Verse 2]
I came to in feathers
Like leaves
And you rubbed me together
With claws like we got

[Chorus 2]
Night time, cavity, come in
Downtown, pony, work your pitch
Daytime, dancer, I'll come inside
Got my teacher, now carve your niche

[Interlude]
Check the claws

[Bridge]
It's yours, it's yours
Your turn to come inside
[Chorus 3]
Night time, cavity, come in
Downtown, pony, work your pitch
Daytime, dancer, I'll come inside
Got my teacher, carve your niche

Passenger

[Verse 1: Chino Moreno and Maynard James Keenan]
Here I lay, still and breathless
Just like always, still, I want some more
Mirrors sideways, who cares what's behind?
Just like always, still your passenger
Chrome buttons, buckles, and leather surfaces
These and other lucky witnesses
Now to calm me, this time, won't you, please?
Drive faster

[Chorus 1: Maynard James Keenan]
Roll the windows down
This cool night air is curious
Let the whole world look in
Who cares who sees anything?
I'm your passenger
I'm your passenger

[Verse 2: Chino Moreno and Maynard James Keenan]
Drop these down, then put them on me
Nice, cool seats there to cushion your knees
Now to calm me, take me around again
Don't pull over, this time, would you, please?
Drive faster

[Chorus 2: Maynard James Keenan]
Roll the windows down
This cool night air is curious
Let the whole world look in
Who cares who sees what tonight?
Roll these misty windows down
To catch my breath again
And then go and go and go, just drive me
Home then back again
[Outro: Chino Moreno and Maynard James Keenan]
Here I lay just like always
Don't let me go
Take me to the edge

Change (In the House of Flies)

[Verse 1]
I watched you change
Into a fly
I looked away
You were on fire

[Chorus]
And I watched a change in you
It's like you never had wings
Now you feel so alive
I've watched you change

[Verse 2]
I took you home
Set you on the glass
I pulled off your wings
Then I laughed

[Chorus]
And I watched a change in you
It's like you never had wings
Now you feel so alive
I've watched you change

[Bridge]
It's like you never had wings
[Verse 3]
I look at the cross
Then I look away
Give you the gun
Blow me away

[Chorus]
And I watched a change in you
It's like you never had wings
Now you feel so alive
I've watched you change

[Verse 4]
Now you feel alive
You feel alive
You feel alive
I've watched you change
It's like you never had wings

[Outro]
You've changed
You've changed
You've changed
Into a fly

Pink Maggit

[Verse]
I'll stick you a little
Enough to take your oxygen away
Then I'll set you on fire
'Cause I'm on fire
And I'm with you alone
I'm so into this whore
Afraid, I might lose her
So forget about me
'Cause I'll stick you

[Chorus 1]
Pushed back the square
Now that you've kneed her in the throat
Well, there you go
'Cause back in school
We are the leaders of all
Transpose or stop your life
Is what you do

[Chorus 2]
Pushed back the square
Now that you've kneed her
But you don't, so there you go
'Cause back in school
We are the leaders of all
So transpose or stop your life
Is what you do
Transpose or stop your life
Is what you do
[Chorus 1]
Pushed back the square
Now that you've kneed her in the throat
Well, there you go
'Cause back in school
We are the leaders of it all

[Outro]
All you are
All you are
All you are
All you are
Is meat

2003 Deftones

Hexagram

[Verse 1]
Paint the streets in white
Death is the standard breach for a complex prize
I think it's sweet of you and your parents are proud
But I would expect it from anyone now to protect life's indigenous sound

[Chorus]
Worship, play, play
Worship, play, play
Worship, play, play
Worship, play
Worship, play
Worship, worship, play
Worship, play, play
Worship, play, play
Worship, play, play
Worship, play
Worship, worship

[Verse 2]
How the streets they swell
While the animals make their way through the crowds
If you keep listening you can hear it for miles
God I trust everyone quicker with every faint smile

[Chorus 2]
Worship, play, play
Worship, play
Worship, play, play
Worship, play, play
Worship, play, play
Worship, worship, play
Worship, play, play
Worship, worship, play
Worship, play, play
Worship, worship, play, play
Worship, play, play
Worship, play, play
Worship, play, play
Worship, play
Worship, worship
[Verse 3]
And the crowd goes wild
And the camera makes you seasick
God, it's so sweet of you and I know you're proud
And the car bomb hits quick, click, click, click, faint smile

[Bridge]
It's the same sound
It's the same, same sound

[Verse 4]
And the crowd goes wild
And the camera makes you seasick
God, it's so sweet of you and you know I'm proud
And the car bomb tick ticks with the same sound
It's the same sound
With the same sound

Needles and Pins

[Verse 1]
How neat, I'm impressed
How did you come to be so blessed?
You're a star, you blaze
Out like a sharp machine
Like a whale's moan
I'm here if that's what you want

[Chorus]
Here we are
You're pins, I'm needles, let's play
Here we are
You want this? Then come on

[Verse 2]
Tune out everyone in the crowd
'Cause now it's just me and you
Come fall in love with the sound
Make a pact to each other
When no one's around
Put the cross between me and you
Who wants to fuck with us now?

[Chorus]
Here we are
You're pins, I'm needles, let's play
Here we are
You want this? Then come on
[Verse 2]
Tune out everyone in the crowd
'Cause now it's just me and you
Come fall in love with the sound
Make a pact to each other
When no one's around
Put the cross between me and you
Who wants to fuck with us now?

[Outro]
Who wants to fuck with us now?
Who wants to fuck with us now?
Who wants to fuck with us now?
Who wants to fuck with us now?

Minerva

[Verse 1]
I get all numb
When she sings that "It's over"
Such a strange numb
And it brings my knees to the earth

[Chorus]
And God bless you all
For the song you sang us

[Verse 2]
You're the same numb
When you sing "It's over"
Such a strange numb
It could bring back peace to the Earth

[Chorus]
So God bless you all
For the song you sang us all
For the hearts you break
Every time you moan

[Bridge]
I get all numb
We're the same numb
And it brings our knees to the earth
[Chorus]
So God bless you all
For the song you sang us all
For the hearts you break
Every time you moan

[Outro]
And God bless you all
On the Earth

Good Morning Beautiful

[Verse 1]
One of these days
You'll break me of many things
Some cold white day
But you're crazy if you think I would leave you this way

[Chorus]
You, you should wake up
Before the wrath comes
Me and you could take off
Before the wrath comes soon

[Verse 2]
One of these days
I pray it will be sometime soon
On a day like today
You'd be crazy not to want me to teach you the way

[Chorus]
You, you should wake up
Before the wrath comes
Me and you could take off
Before the wrath comes soon

[Bridge]
Well I know what you're like
I've read it on the walls
You're too tired
You choose Heaven over the Earth and me
But come on please
[Chorus]
You, you should wake up
Before the wrath comes
Me and you could take off
Before the wrath comes soon

[Outro]
Maybe you should take off
Yeah you should take off

Deathblow

[Verse 1]
Soon as you came in
All the beasts went away
They noticed that you're warm
Wait until you leave
Then come back for more

[Pre-Chorus]
The ropes hang to keep us all awake
And I should have known

[Verse 2]
As soon as you came in
The agony it went away
I noticed what you were
To everything
We spoke and more

[Pre-Chorus]
The ropes hang to keep us all awake
And I should have known

[Chorus]
It only takes one break of your pose to get off
To save our place, home with you
Still the same song
[Bridge]
As soon as you came in
Is when I believe we both crashed course

[Chorus]
The ropes hang to keep us all awake
And I should have known
It only takes one break of a pose to get off
And to save our place home with you all
That's all it takes
Well I should have known
It's still the same song

When Girls Telephone Boys

[Intro: Spoken]
(There's no....those things worth?....it's hella sensitive)

[Verse 1]
Always the same old taste just new injury
Well I'll wear the claws if you'd like that
Yeah if you'd like that we can ride on a black horse
A great new wave Hesperian death horse
I can call you when I get back
Yeah when I get back I will call

[Chorus]
But don't speak, don't say nothing
In case we ever do meet again
Something's wrong with you
Well I hope we never do meet again

[Verse 2]
You always sharpen your teeth 'cause you're like that
And you're like that every time you pull heart back
And her compact's carving deeper in your lap
I would call but I forget where the phone is at
Guess I'll talk to you when I get back
Yeah when I get back I will talk

[Chorus]
But don't speak, don't say nothing
In case we ever should meet again
There are some things wrong with you
I hope we never do meet again
I hope we never do meet again
I hope we never do meet again
[Bridge]
Something's wrong with you
And I hope we never do meet again
Something's wrong with you
And I hope we never do meet again
Something's wrong with you
And I hope we never do meet again

[Chorus]
But don't speak, don't say nothing
In case we ever should meet again
Something's wrong with you
And I hope we never do meet again

[Outro]
And I hope we never do meet again
And I hope we never do meet again
And I hope we never do meet again
And I hope we never do meet again
And I hope we never do meet again
And I hope we never do meet again
And I hope we never do meet again
And I hope we never do meet again

Battle-axe

[Verse 1]
I want to sleep
If you are awake
Still making believe
That you aren't at all crazy

[Chorus]
And if you don't believe I think you should
You make me so proud
Still you love to think you have always been this way
But you're all wrong

[Verse 2]
And you only sleep
When you've lost cause
Well I still believe
That the cause was always me

[Chorus+Bridge]
And if you don't believe I think you should
You make me so proud
Still you love to think you have always been this way
Well I'd love to think you will someday feel the same
And you love to think it will always
Always
If you still believe it will always be this way
Well you're all wrong
[Outro]
Yes you are
You will see

Lucky You

[Verse 1]
They'll come soon
I keep waiting
And I wait
Won't somebody save me

[Chorus]
And if you're feeling lucky
Come and take me home
And if you feel loved
If you feel lucky
If you feel loved

[Verse 2]
You've crossed the walls, excelled
Further along through their hell
For my heart, I watch you kill
You always have, you always will

[Bridge]
Spread your wings and sail out to me
Spread your wings and sail out to me

[Chorus]
So if you're feeling lucky
Come and take me home, come and take me home
Come and take me home, come and take me home
Come and take me home, come and take me home
If you feel
[Bridge]
If you feel loved (if you feel lucky)
You've crossed the walls, excelled (if you feel loved)
Further along through their hell (if you feel lucky)
For my heart, I watch you kill (if you feel loved)
You always have, you always will (if you feel lucky, if you feel loved)

[Outro x2]
Spread your wings and sail out to me
(If you feel lucky, if you feel loved)
(You always have you always will)

Bloody Cape

[Verse 1]
In waves the ships have all sailed to the sea
Well do you want to wait or leave with me tonight
Cross your heart and pray
The ocean will take us all the way in

[Chorus]
First we are ever to fall off of the Earth
We must be the
First ones in the world to fall off of the Earth

[Verse 2]
We could be, soon as our needs are fed
You'll give in to me and the whole heartache
Makes me feel alive, same typical offering
And you always knew we make it all the way in

[Chorus]
First we are ever to fall off of the Earth
We must be the
First ones in the world to fall off of the Earth

[Bridge]
It could be soon, as
The carnivals empty, I need you to take me home
[Outro x5]
God help me, God help me, God help me, God!

Anniversary of an Uninteresting Event

[Verse 1]
No more gold lights
For the queen Earth
To keep you warm
In your kingdoms

[Chorus]
High on the waves
You make for us
But not since you left
Have the waves come

[Verse 2]
The bar is dead
And the rocket's rain
Is keeping you wet
In your deathbed

[Chorus]
So high on the waves
You made for us
And not since you left
Have the waves come

High on the waves
You made for us
Not since you left
Have the waves come

Moana

[Verse 1]
Somehow calm
As she walks onstage
Her entire empire
Becomes your taste
Your taste
Show me

[Chorus]
Come
Let me know what you're like
Let me know what you're like
What's your taste?

[Verse 2]
I bet she carves your heart
When she walks onstage
Her empire slowly
Becomes your place
Your place
Show me

[Chorus]
Come on
Let me know what you're like
Let me
Know what you're like
In your place
Your place
[Verse 3]
Somehow calm
As she walks offstage
An entire empire
Recall your face
Your face
Show me

[Chorus]
Come
Let me know what you're like
Let me
Know what you're like
Your face

2006 Saturday Night Wrist

Hole in the Earth

[Verse 1]
Can you explain to me how
You're so evil, how?
It's too late for me now
There's a hole in the earth
I'm out

[Chorus]
There's a hole in the earth
I'm out

[Verse 2]
Can you explain to me now
If you're still able? Well
It's time I think you know the truth
There's a hole in the earth
I'm out

I hate all of my friends
They all lack taste sometimes

[Chorus]
There's a hole in the earth
I'm out
There's a hole in the earth
[Verse 3]
Please take a bow
(This is the end)
Somewhere
(This is the end)
Somewhere

[Chorus]
There's a hole in the earth
There's a hole in the earth

[Verse 4]
I hate all of my friends
I'm out
There's a hole in the earth
I will wait
Somewhere

Rapture

[Verse 1]
Two different types
The same kind of thread
Different needle sewn on
Hey, hey, hey

It's a rapture
But it's a different style
It's a rapture
The same kind of thread
Go ahead begin

Begin, you'll like it
Again it kills
And it feels like

[Verse 2]
One's inside of me
The other carves you out from me
Just two different tools, different designs
Can't choose one
With power
I know how you are now
You twist everything else around
Now you're fucking with me
It's a waste of my time

You said "I won't again, I swear to god!"
You said "I swear to god, I won't do it again!"
You said "I swear to god, I won't again!"
You said "I won't again, I swear to god!"

Instead, you just waste
Waste
Waste my time
Instead you just waste
Waste my time

[Verse 3]
If one takes it away
The other one makes up for it
It's just two different views
Different designs
If I could choose one
Which one?

You're just a waste, waste

You begin
You begin, you like it
Begin, it kills
It feels like
You said "I swear to god, I won't again!"
You said "I won't again, I swear to god!"
You said "I swear to god, I won't again!"
You said "I won't again, I swear to god!"

[Verse 4]
Instead, you just waste
Waste
Waste my time
Instead you just waste
Waste
Waste my time

Two different types
The same kind of thread
Just different needles
A whole world, hey

It's a rapture
But it's a different style
It's a rapture
Same kind of thread

Beware

[Verse 1]
You should know (by now), really
That this could end, really
You should know I could never make it work
Wake up, it's pretend (really)
Really

[Pre-Chorus]
There, do you like the way the water tastes?
It's like God's fire
You knew but you could never say
Then come forth
Do you like the way the water tastes?
('Cause it's coming 'round)
Round the water

[Chorus]
Beware the water

[Verse 2]
You should know, babe
At least pretend you did know why
It's not like you were warned
So go on take a drink, release

[Pre-Chorus]
There, you like the way the water tastes?
It's like God's fire
You knew that it was never safe
Think one more
Do you like the way the water tastes?
(Because it's coming around)
'Round one more
[Chorus 2]
Beware the water
Beware the water

[Bridge]
Teeth are dry
The wind blows
Fill cup, drink it
There you go

[Chorus 3]
Beware the water
Beware the water
Beware the water

[Outro]
Do you like the way the water tastes?
Do you like the way the water tastes?

Cherry Waves

[Verse 1]
A sea of waves we hug the same plank
(Saw your end)
Just as I'd rehearsed over in my brain
(Saw your end)

[Chorus]
The waves suck you in and you drown
If like, you should sink down beneath
I'll swim down, would you?
You?

[Verse 2]
You hang the anchors over my neck
(Saw your end)
I liked it at first
But the more you laughed
The crazier I came

[Chorus]
The waves suck you in then you drown
If like, you'd just stay down with me
I'll swim down with you
Is that what you want?
You
Is that what you want?
[Bridge]
Wave
Wave
Inside

[Chorus]
If like, you should stay down beneath
I'll swim down
Would you?
Is that what you want?
Would you?
Is that what you want?
With you?
You

[Outro]
Escape below
Escape below

Mein

[Verse 1]
I've looked outside
But I never wandered out
I'd like to pull you into me
Intercept you in between
But I never wandered out
Outside

[Chorus x2]
That way I'll always
Stay away from you

[Verse 2]
I've looked inside
But I never wandered in
I'd like to pull it into me
Intercept you in between
But I never wandered in
Inside

[Chorus x2]
That way I'll always
Stay away from you

[Bridge: Serj Tankian]
The universe breaking us down
The universe breaking us down
[Chorus x3]
That way I'll always
Stay away from you

[Outro: Serj Tankian]
The universe breaking us down
The universe breaking us down
The universe breaking us down
The universe breaking us down

U,U,D,D,L,R,L,R,A,B,Select,Start

Xerces

[Verse 1]
Universe surrounds
When you're ready
It waits for us to leave this earth
Come on, they're calling your name out

I don't know I could stay or leave
Either way
Cause the comet can take us all the way through

[Chorus]
Goodbye
Safe, heaven, new
I'll be waving, goodbye

[Bridge]
Return to see everything looks the same
I don't know if the change made was grave
Cause the craving remains the same

[Chorus]
Goodbye
Safe, heaven, new
I'll be waving, goodbye

[Outro]
I'll be waving
Goodbye...

Rats!Rats!Rats!

[Verse 1]
Decide, decide
Is this it, is it? Decide
And it's not your style, is it?

Decide, decide
Is this it, is it just fine?
Things are really fine?

[Pre-Chorus]
You wanted it
Was it like you dreamed?
You got it and
Was it like it seemed?

[Chorus]
Yeah, I wanna say nothing, nothing
Not a fucking thing
I just wanna say something
Something, something

[Verse 2]
Decide, decide
Is this it, is it? Decide
And it's not your style, is it?
Decide, decide
Is this it, is it just fine?
Things are just fine

Everything is fine
Everything's just fine
Everything is fine
Everything is...

[Pre-Chorus]
You wanted it
Was it like you dreamed?
You got it and
Was it like it seemed?

[Chorus]
No I wouldn't say nothing, nothing
Not a fucking thing
'Cause I just wanna take something
Something, something

[Bridge]
Now was it worth it, worth it
Just one fucking thing?
I could've said something
Something, something
[Verse 3]
Decide, decide
Is this it, is it? Decide
And it's not your style, is it?

Decide, decide
Is this it, is it just fine?
Everything's fine

Everything is fine
Everything's just fine
Everything is fine
Liar!

Pink Cellphone

Belief in the one true power
Belief in the one true power
Belief in the one true power

Can't stop the sound
Can you?
Can't stop the sound
Can't stop the sound
I can't stop you

Axe your eyes
Let the tape roll

Cause you're gonna get sex
That's right, to move on
Cause you wanna get sex
That's right, move on
Cause you're gonna get sex
That's right, to move on
Cause you're gonna get sex, sex
Move on

Axe your heart
Let the tape roll

Belief in the one true power
Can't stop the sound
Can you?
Can't stop the sound
I can't stop you

Axe your eyes
Let the tape roll

Cause you're gonna get sex
That's right, to move on
Cause you wanna get sex
That's right, move on
Cause you're gonna get sex
That's right, to move on

Axe your eyes
I'll tell you it

[Spoken: Annie Hardy]
So your troubles continue to multiply and to grow as a direct result of your being misguided, deceived, misdirected or fooled
All of these are variations of the basic ego-gloried life thing in which you follow the gospel truth
Pursuing the wrong ideals and goals that lead you into sickness, into (fuck off), and from this sickness springs the belief in the one true power
That cure that promised to erase the symptoms that stood between you and your goal
That's seductive to hear them offer relief and comfort without disturbing the faulty system of your beliefs, the belief in the one true power
Forever and ever, one nation, under (gnikcufttub)
The Father, the Son, and the Holy (gnikcufttub)
In Jesus name
Amen
[Monologue: Annie Hardy]
Greasy filthy handjobs in truckstop restrooms
Hot Carling all over the place
Hot Carling, I turned that into a verb.. I hope you appreciate it
Carling, Hot Carling Academy
It's the school where you go to learn how to buttfuck
It's in England. They don't have blowjobs there because they're uncircumcised, and that is just disgusting
So they have to buttfuck, which also is disgusting because that extra foreskin traps all the germs, and the poop, and the buttfucking residue
It's sin, and that is why British people have bad teeth
Amen

Combat

[Verse 1]
This time I think you pointed right at you
Whose side are you on, whose side are you on!?
I ask you what side, you pointed it out
What side are you on what side are you on?
Yeah!

[Chorus]
A waste of time if you don't believe
Can't decide to hit the ground
Make your mind, but you're holding me
Down (and over again)
Down (and over again)
Down

[Verse 2]
This time I think you pointed right at you
Whose side are you on, whose side are you on!?
I ask you what side, you pointed it out
Whose side are you on, whose side are you on?

[Chorus]
A waste of time
If you don't believe
Can't decide till you've hit the ground
Make your mind or don't believe
Can't decide to hit the ground
Make your mind cause you're holding me
Down (and over again)
Down (and over again)
Down (and over again)
You
[Bridge]
And don't think that I don't know
Because I do, but nice try
Cause that's what you're really like
Like, like, like

This all came out, you said
Say something else
Decide, who's side you're on

[Outro]
Whose side are you on, whose side are you on!?
(Come on!)
Whose side are you on, whose side are you on!?
Whose side are you on, whose side are you on!?
Whose side are you on?

Kimdracula

[Verse 1]
The earth
Will see
Our eyes go blank tonight
And the earth
Will rot away
Go blink your eyes

[Chorus]
I, I really wish these snakes were your arms
I really wish you'd make up your mind

[Verse 2]
The earth
Disguised away
Don't blink tonight
And the earth will see our eyes
Don't blink tonight

[Chorus x2]
I, I really wish these snakes were your arms
I really wish you'd make up your mind

Rivière

[Verse]
She haunts the roads
She waits for a new face
Her arms red and injured
She wants to rest
She can't 'til we have faced
I've cut your armies down and torn your heart

[Chorus]
You wait, I wait
Outside awake
I cut your armies down and torn your heart
You wait, I wait
Outside awake

[Outro]
She haunts the roads
She waits for a new face

Drive

[Verse 1]
Who's gonna tell you when
It's too late?
Who's gonna tell you things
Aren't so great?

[Chorus]
You can't go on thinkin'
That nothing's wrong
And who's gonna drive you home tonight?

[Verse 2]
Who's gonna pick you up
When you fall?
Who's gonna hang it up
When you call?
Who's gonna pay attention
To your dreams?
And who's gonna plug your ears
When you scream?

[Chorus]
You can't go on thinkin'
That nothing's wrong
Who's gonna drive you home tonight?
[Bridge]
Who's gonna hold you down
When you shake?
Who's gonna come around
When you break?

[Chorus]
You can't go on thinkin'
Nothing's wrong
Who's gonna drive you home tonight?
You can't go on thinkin'
Nothing's wrong
Who's gonna drive you home tonight?

[Outro]
Who's gonna drive you home?
Who's gonna drive you home?
Who's gonna drive you home?
Who's gonna drive you home?

2010 Diamond Eyes

Diamond Eyes

[Verse 1]
To the edge, until we all get off
I will take you away with me
Once and for all

[Chorus]
Time will see us realign
Diamonds rain across the sky
Shower me into the same realm

[Verse 2]
Calculate, I'll embrace
Hold on, come with me now
Run away, outer space with me
Once and for all

[Chorus]
Time will see us realign
Diamonds rain across the sky
Shower me into the same realm
Time will see us realign
Diamonds rain across the sky
I will lead us to the same realm

[Bridge]
Get set
When the coffin shakes
And the needle breaks
Come run away with me
Come on, you'll see
Once and for all
[Chorus]
Time will see us realign
Diamonds rain across the sky
Shower me into the same realm

[Outro]
Time will lead us to the same realm
I will lead us to the same realm

Royal

[Verse 1]
Complex priestess
Come down
Contact, reach us
Go wild

I've chased your name
I've sailed all through space
To watch this

Come down, teach us the ropes
Your concept
It keeps us provoked

[Chorus]
Now remove your veil
And let me light you up
I'm on your team
Let's go

[Verse 2]
Face to face, light stare
My custom made nightmares
Armed with teeth in fashion
Now all we need is action
Complex priestess
Come down
Contact, reach us
Go wild

[Chorus]
Remove your veil
Let me light you up
I'm on your team
I'm the antidote

[Bridge]
Rockets taking off
Tonight it's time

[Final]
Take me
I light you up
Take me up

CMND/CTRL

[Verse 1]
I can't tell
How's this shit all my fault?
It's at the time and I feel like they should
I say commands just because I can
Oh, I can just imagine the difference it has

[Chorus]
Straight out of your mind
You see I'm well aware
You're out of your mind
Straight out

[Verse 2]
I said your name
It slipped off my tongue
Pointed at the camera laughing at you, haha
Once again, you see no one cares
It's how you wear it, not what it is

[Chorus]
Straight out of your mind
You see I'm well aware
You're out of your mind
Straight out
[Verse 3]
I can't tell
How's this shit not your fault?
Bitch, you're barbaric, King Kong get some
Switching command, just because I can
I'd like to see you wear it, why can't I stare?
Switching command just because I can
And if I let my guard down who knows what then
Once again, just because I can
Just because I can

You've Seen the Butcher

[Verse 1]
Don't wanna take it slow
I wanna take you home
And watch the world explode
From underneath your glow

[Pre-Chorus]
I wanna watch the way
You creep across my skull

[Chorus]
You slowly enter
Because you know my room
And then crawl your knees off
Before you shake my tomb

[Verse 2]
I wanna watch you close
I need to see for sure
And then the tape is on
Who do you think we can show?

[Pre-Chorus]
I wanna watch the way
You creep across my skull
[Chorus]
You slowly enter
'Cause you know my room
And then you crawl your knees off
And then you shake my tomb

[Pre-Chorus]
I wanna watch the way
You creep across my skull

[Chorus]
You slowly enter
'Cause you know my room
And then you crawl your knees off
Before you shake my tomb

[Chorus]
You enter slowly
You know my room
You crawl your knees off
And then you shake my tomb

Beauty School

[Verse 1]
I like you when, when you take off your face
Put away all your teeth
And take us way underneath
Because you could die if you take it alone

[Chorus]
I watch you taste it
I see your face
I know I'm alive
You're shooting stars
From the barrel of your eyes
And it drives me crazy
Just drives me wild

[Verse 2]
I kind of like you when, when you make up the reel
Take the phone in your room
Stop the tape or resume
Well you could try if you think it will load

[Chorus]
I watch you taste it
I see your face
I know I'm alive
You're shooting stars
From the barrel of your eyes
And it drives me crazy
Just drives me wild
[Bridge]
Every time, every time you try
Ride, it's a beautiful ride
Why, it's a beautiful ride

[Chorus]
I watch you taste it
I see your face
I know I'm alive
You're shooting stars
From the barrel of your eyes
And it drives me crazy
Just drives me wild

Prince

[Verse 1]
I relate to your kind, your design
Your devotion to wave
Get your brain on the prize
Then dive inside

[Chorus]
The mindset of a killer
With your mind out of phase

[Verse 2]
It's a game that we like, we crave
Yet nobody wins
Anyway, you decide you try
But you die

[Chorus]
Mindset of a killer
With your gaze you paint the room
Blood red with your tears
Pouring from the stage

[Bridge]
Hey you can't stop now, row by row, almost out
Covered in black and gold, no one cares, no one knows
Look into the world outside, it's okay, I'm alright
Now open your empty hands, here comes the fun, here comes the end
[Verse 3]
Click, erase the device, give thanks
Then clear out the room
Blow kisses, wave them goodbye, goodnight

[Chorus]
Mindset of a killer
With your gaze you paint the room
Blood red with your tears
Pouring from the stage

[Bridge]
Hey you can't stop now, row by row, almost out
Covered in black and gold, no one cares, no one knows
Look into the world outside, it's okay, I'm alright
Now open your empty hands, here comes the fun, here comes the end

Rocket Skates

[Verse 1]
You're red, soaking wet
I'm right next to you
You're red, soaking wet
Let's writhe, let me see you trip
One move that will keep you wet
Let's fall in a long sadistic trance
Put the keys in our hands

[Chorus]
Guns, razors, knives
Fuck with me
Guns, razors, knives

[Verse 2]
You're red, soaking wet
I'm right next to you
You're red, soaking wet
Let's sail in this sea of charms
Let's drown underneath the stars
Let's drink with our weapons in our hands
Let's sleep in this trance

[Bridge]
You're red, soaking wet
I'm right next to you
You're red, soaking wet
[Outro]
You're red soaking wet
I'm right next to you
You're red soaking wet
I'm right next to you
You're red soaking wet

Sextape

[Verse 1]
Floating underwater
Ever changing picture
Hours out from land
In tune with all our dreams

The ocean takes me in
To watch you shake it
Watch you wave your powers
Tempt with hours of pleasure

[Pre-Chorus]
Take me one more time
Take me one more wave
Take me for one last ride
I'm out of my head

[Chorus]
Tonight
Tonight
Tonight
Tonight

The sound of the waves collide
The sound of the waves collide
The sound of the waves collide
Tonight (We ride)
[Verse 2]
Cruising through the city
After hours with me
Fusing all our powers
Here's to all our dreams

[Pre-Chorus]
Take me one more time
Take me one more wave
Take me for one last ride
I'm out of my head

[Chorus]
Tonight
Tonight
Tonight
Tonight

The sound of the waves collide
The sound of the waves collide
The sound of the waves collide
Tonight (We ride)

Risk

[Verse 1]
You can't talk, I'm anxious
I'm off the walls
I'm right here just
Come outside and see it
But pack your heart, you might need it

[Chorus]
I'll find a way
I'm confused though
But I think I can try
I will save your life
I will save your life
I'll try for you

[Verse 2]
You're locked up, you exhaled
You did it before and I seen it
Come outside and breathe in
Relax your arms and let me in

[Chorus]
I'll find a way
I'm confused though
But I think I can try
I will save your life
I will save your life
I'll try for you
[Verse 3]
I know what to say to take you
Higher, higher
No one else can take you higher
But I will try

[Chorus]
I'll find a way
I'm confused though
But I think I can try
I will save your life
I will save your life
I'll try for you

[Outro]
For you

976-EVIL

[Verse 1]
For a thousand days
You've been staring away
Are you fazed or
Are you thinking
Crack a smile and wink
It doesn't scare me away
Hit the brakes
I feel like cruising with you, too

[Chorus]
So I gaze in your eyes
And I wonder
Can you take me on?
Your haze that I'm under
Come wake me up soon

[Verse 2]
Take a bow and wave
As you're carried away
It was great
But I'm not leaving
Crack a smile and wink
It still doesn't scare me away
Hit the brakes
I feel like losing you, to you
[Chorus]
So I gaze in your eyes
And I wonder
Can you take me on?
Your haze that I'm under
Come wake me up

For a thousand days
We could get carried away
Are you in? Are you in?
Are you in? Are you in?
I'd give anything
I'd give anything for you

[Chorus]
So I gaze in your eyes
And I wonder
Can you take me on?
Your haze that I'm under
Come wake me up soon

[Outro]
So I gaze in your eyes
And I want her, can you take me up?

This Place is Death

[Chorus]
You arrive in my dreams
Beside me every night, you and me
We explode through the scene
We try to drain the night empty

[Bridge]
No one goes off in every way
Like you do

[Verse 1]
We go out together, we weave our own web
Tangled in the waves with you
We spray the scene in red
We both erupt in colors
Then carve out our names
You keep me aroused
I know you feel the same

[Chorus]
You arrive in my dreams
Beside me every night, you and me
We explode through the scene
We try to drain the night empty

[Bridge]
No one else has a hold over me
Like you do
[Verse 2]
You open up the covers, you lure me in
Tackle me anxious, back into bed
Well I hope to discover all of your waves
This place is death, I know you feel the same

[Chorus]
You arrive in my dreams
Beside me every night, you and me
We explode through the scene
We try to drain the night every way

Do You Believe

[Verse 1]
Do you really think
That love is gonna save the world?
Well, I don't think so
I just don't think so

[Verse 2]
Do you really think
That love is gonna save your soul?
Well, I sure hope so
Oh, I really, really hope so
But I don't think so

[Verse 3]
Do you really think
That love is gonna save the world?
Well, I don't think so
I just don't think so

[Verse 4]
And do you really think
That love is gonna save your soul?
Well, I sure hope so
Oh, yes I really, really hope so
But I don't think so

Ghosts

[Verse 1]
When the room is quiet
The daylight almost gone
It seems there's something I should know
I ought to leave but the rain, it never stops
And I've no particular place to go

[Chorus]
Just when I think I'm winning
When I've broken every door
The ghosts of my life grow wilder than before
Just when I thought I could not be stopped
When my chance came to be king
The ghosts of my life blew wilder than the wind

[Verse 2]
Well I'm feeling nervous
And now I find myself alone
The simple life is no longer there
Once I was so sure
Not a doubt inside my mind
It comes and goes but leads no where

[Chorus]
Just when I think I'm winning
When I've broken every door
The ghosts of my life grow wilder than before
Just when I thought I could not be stopped
When my chance came to be king
The ghosts of my life blew wilder than the wind

Caress

[Verse 1]
Gracie, we're makin babies
Yeah, we're barefoot on the tiles
We make 'em soft and small and tender
It's the biggest hazard of your gender
Hold it by yourself
Gracie, hold yourself together
It's bad now but it gets better
We're all here to help

Everything is swollen, everything is swell
Everybody's watching

[Chorus]
Pleasure is your crime, junior is your punishment
It happens all the time, everybody rub it in
It ain't hard to find fault in anything you do
We learned to love the hard way
You're gonna learn it too

[Verse 2]
Gracie, we're makin babies
Yeah, we're barefoot on the tiles
Man, I hate your old advice, so anger evolved
Well let's see, fucking a
We all want some pressure
We all are experienced
Girl, help stitch me up
Well
Everything is swollen, everything is swell
Everyone's fucking

[Outro]
Get it, get it, get it, get it
Get it, get it, get it, get it
Hey

2012 Koi No Yokan

Swerve City

[Verse 1]
She breaks her horses
With strange distant voices

[Chorus]
That travel through the air, oh
They travel through the air, oh

[Verse 2]
She tames me with her voices
As she plays around with the forces

[Chorus]
That travel through the air, oh
They travel through the air, oh

[Bridge]
Distant howling out
It keeps you floating around
Distant howling out
Forces floating around

[Verse 3]
She breaks her horses
With strange distant voices
[Chorus]
That travel through the air, oh
They travel through the air, oh
Oh, oh

Romantic Dreams

Process your constant changing phases
I watch them
Releasing right on cue
In time, in sync
Tonight the stage is yours

So why wait to discover your dream?
Now is your chance

I promise
To watch and raise your babies
In time, in sync
Tonight the stage is yours

I’m hypnotized by your name
I wish this night would never end

So why wait for the colors to bleed?
What do you expect?

So heartless we march into the fumes
In time, in sync
Tonight the stage is yours

I’m hypnotized by your name
I wish this night would never end
I wish this night
I’m hypnotized by your name
I wish this night would never end
I wish this night
I wish this night wouldn't end
I wish this night

Leathers

This is your chance
Revolt, resist!
Open your chest
Look down, reach in

Shedding your skin, showing your texture
Time to let everything inside show
You’re cutting your ties, now and forever
Time to let everything outside you

This is your test
Come forth, confess!
Extend your tongue
Speak out, go on!

Shedding your skin, showing your texture
Time to let everything inside show
You’re cutting your ties, now and forever
Time to let everything outside you
Shed your casing
Show your lines and shapes

Wear your insides, on the outside
Show your enemy, what you look like
What you look like
What you look like
From the inside
From the inside
Cutting all ties now and forever, time to go

Shedding your skin, showing your texture
Time to let everything inside show
You’re cutting your ties, now and forever
Time to let everything outside you
Shed your casing
Show your lines and shapes
Wear your insides, on the outside
Show your enemy, what you look like
What you look like
What you look like
From the inside
From the inside

Poltergeist

What can I say
I think I had enough
I think you keep playing to play
Knowing that I feel sick
C’mon just say it
Just say you like to play
This game
Just to drive me wild

I let you pretend
But you know truth is that
I love you to death
Like you love this game

This time, there’s a common thread

And so I sit
And watch you play dumb I’d like to see
You play with the odds
On your plate instead
Come on just say it
Just say you like to keep this pace
Just to drive me wild

I let you pretend
But you know truth is that
I love you to death
Like you love this game
It keeps me hanging tight

What can I say
I think your head’s fucked
Go on drive me wild

This time
There’s a constant thing
This time
There’s a common thread
That keeps me hanging tight
And it tells me something’s right

What can I say
I fuckin' had enough
I think you just play what you play
Knowing that I feel sick
C’mon just say it
Just say you like to play this game
'Cause it drives me wild

Entombed

[Verse 1]
From the day you arrived
I've remained by your side
In chains, entombed

[Chorus]
Placed inside, safe and sound
Shapes and colors are all I see

[Verse 2]
On the day you arrived
I became your device
To name and soothe

[Chorus]
Placed inside, safe and sound
Shapes and colors are all I see
Shades of colors are all I feel

[Interlude]
From the day you arrived
I have stayed by your side

[Chorus]
Placed inside, safe and sound
Shades of colors are all I see
Shapes of colors are all I feel
Placed inside, safe and sound
Shades of colors are all I see
Safe inside

Graphic Nature

Leave your drape open
Let me inside
Guess I’m confused more or less
Shed some light

And tell me your secret
How are you trained?
I promise you I can keep it
Go on explain

Tell me how you do it now

Your poison is glowing
Against the night
How can you lose?
Just show them tricks we like

I’m aware of the demons
That you’ve tucked away
I like to watch you release them
Go on, say

Tell me how you do it
Every time it takes my knees out
Every time you do it
I’m surprised
Show your strings, your wires
Check the lights
Provide me clues just go ahead
Break your silence

And tell me your secret
Can I watch you train?
You know I like to believe it
Go on explain

Tell me how you do it
Every time you take my knees out
Every time you do it
I’m on fire, fire
I'm on fire, fire

Tell me how you do it
Every time it takes my knees out
Every time you do it
I’m surprised
How the fuck you do it
Every time you take my knees out
Yeah, every time you do it
I’m on fire, fire
I'm on fire, fire
I'm on fire

Tempest

[Verse 1]
Take out the stories
They've put into your mind
And brace for the glory
As you stare into the sky
The sky beneath
I know you can't be tired

[Verse 2]
Lay there
Stare at the ceiling
And switch back to your time
Just go ahead
And try and taste it
I know it should be ripe

[Pre-Chorus]
Thrust ahead

[Chorus]
Turning in circles, been caught in a stasis
The ancient arrival cut to the end
I'd like to be taken apart from the inside
Then spit through the cycle right to the end

[Verse 3]
I wonder, just how you shaped it
To get back to your prize
[Pre-Chorus]
Thrust ahead

[Chorus]
Turning in circles, been caught in a stasis
The ancient arrival cut to the end
I'd like to be taken apart from the inside
Then spit through the cycle right to the end

[Verse 4]
Wake for the glory
I know you can't be tired

[Chorus]
Turning in circles, been caught in a stasis
The ancient arrival cut to the end
I'd like you to take me apart from the inside
Then spit through the cycle right to the end
Inside
Inside
Inside

Turning in circles, been caught in a stasis
I want you to take me apart from the inside
Right to the end

Gauze

[Verse]
It's a mistake
But go ahead and take a side
But watch how you choose
Or be headed for a ride
'Cause I, I just don't know if I could

[Chorus]
I can't stop what you began
I can't fight for what you began

[Verse 2]
You've opened the gates
Now face the other side
Just go on, it's cool
Now head into the fire
Well I, I just don't know if I could

[Chorus]
I can't stop what you began
Can't fight for what you began
I know what's in sight for you again

[Verse 3]
Switch on your game
Stop wasting all your time
'Cause surprise, it's you
Who will face what you decide
Well I, I think I'd have known about you
[Chorus]
I can't stop what you began
Can't fight for what you began
I know what's in sight
I know your fate
I know I couldn’t stop once you began

Rosemary

[Verse 1]
There's no sound
But the engines drone
Our minds set free
To roam

[Pre-Chorus]
Time (Shift)
We discover the entry
To other planes

[Verse 2]
Our minds bend
And our fingers fold
Entwined, we dream
Unknown

[Pre-Chorus]
Time (Shift)
We discover the entry
To other planes

[Chorus]
Stay with me
As we cross the empty skies
Come sail with me
[Verse 3]
We slow down
As the engines stall
Our eyes catch sync
Explode

[Pre-Chorus]
Time (Shift)
We discover the entry
To other planes

Time (Shift)
As we collide with the energy
In other ways

[Chorus]
Stay with me
As we cross the empty skies
Come sail with me

We play in dreams
As we cross through space and time
Just stay with me

Goon Squad

[Verse 1]
I carve my name
Across your towns
When I’m set
I cut inside before
The trends begin

[Verse 2]
I spend my time perfecting
Waves of contrast
Cutting out all
The same shit I’ve outgrown

[Chorus 1]
I’m bringing it in style myself
You know it is with ease no sweat

[Verse 3]
I see the crowns
And I forget the couture
Two at a time
I watch the kingdoms fold

[Chorus 2]
I’m bringing it in style myself
You know it is with ease no sweat
I’m breaking in with all my friends
So are you in?
Designed for you…designed by me…
[Verse 4]
Before we get down
You should prepare your heart strings
To cut all the ties
And watch the trends begin

[Chorus 3]
I’m bringing it in style myself
You know it is with ease no sweat
I’m breaking in with all my friends
So are you in?
Designed special for you by me
Designed special for you by me
Designed special for you by me
Designed special for you by me


[Verse 5]
One last thing, you should beware the contrast
I cut inside and let the trend begin

[Chorus 4]
I’m bringing it in style myself
You know it is with ease no sweat
I’m breaking in with all my friends
So are you in? Are you in?
Are you in? Are you in?
Are....you....in?
Designed special for you by me
Designed special for you by me
Designed special for you by me
Designed special for you by me

What Happened to You?

[Verse 1]
In the winds of your cape
I’ve sailed with you
From the shore to the gates
We sway

[Chorus 1]
We’re alive somewhere else
Far ahead of our time

[Verse 2]
In a game of display we break in two
We perform the ornate escape

[Chorus 2]
We’re alive somewhere else
Still asleep someplace new
We’re ahead of our time
Floating through

[Bridge 1]
The sky is falling down
This night belongs to you

[Verse 3]
Forty years in the winds
I’ve played with you
For the rest of our days I’ll remain
[Bridge 2]
The sky is falling down
The night is calling you
A star is burning out
The sky belongs to you

[Chorus 3]
We’re alive somewhere else
Still asleep someplace new
Far ahead of our time now
Floating through

2016 Gore

Prayers/Triangles

[Verse 1]
There's a new strange, godless demon awake inside me
There's a forced divine, terrorizing the angels I keep
While we dream

[Chorus]
Prayers laid on the line
You will never be free
You will never be free

[Verse 2]
I'm a true slave to the fire and the air around you
While this cursed divine is slowly rotting away inside me
While we dream

[Chorus]
Prayers laid on the line
You will never be free
You will never be free
Triangles placed in your mind
You will never be free
You will never be free

[Bridge]
I'd be aware, I'd be aware
Be aware, be aware
I will never walk this street again
The only time I feel I'm not alone
I pull my heart out, wave it in the air
[Chorus]
Prayers laid on the line
You will never be free
You will never be free
Triangles placed in your mind
You will never be free
You will never be free
Prayers
Triangles
Prayers
You will never be free
You will never be free

[Outro]
I will never walk this street again
The only time I feel I'm not alone
I pull my heart out, wave it in the air
I pull my heart out, beware

Acid Hologram

[Verse 1]
In the haze of your light, we bathe and wane
You've surrounded our hearts again
You smother me in shapes, in a secret praxis
You've shown me your charms, revealed your name
Blow the clouds from your mouth again
And smother me in shapes, you'll reveal your secret side

[Chorus]
Your light will fade and our hearts will sync in time
Your disguise will shift and reverse

[Verse 2]
In the wake of your plume, we bathe and drink
You remind me of her again
Smother me in shapes and reveal your secret side

[Chorus]
Your light will fade and our hearts will sync in time
Your disguise will shift and reverse

[Chorus]
In time your light will fade and our hearts will sync in time
Your disguise will shift and reverse
In time your light will fade and our hearts will sync in time
Your disguise will shift and reverse

Doomed User

[Verse 1]
There, went your time, say goodbye, now leave here
My fuse has expired, fucking die just leave here
Powerless, stuck in your web of shit
Open your eyes, you only play yourself
Whoever's watching, I hope they catch the drift
Collect your crown, you're now the queen of filth
There, that's your life, go and die more, I mean it
Loose and defiled, you define the meaning

[Chorus]
They're delusions, don't deny it
Don't make this out to be something about you

[Verse 2]
I've been scarred, fucking repulsed by this
My only tale is one that I can't stand
Now I've become this core of rotted will
My heart is black, and I will now bounce back
There, say goodbye, just retire from the earth
You've been exiled, take your body elsewhere

[Chorus]
They're delusions, don't deny it
Don't make this out to be something about you
Go waste your breath somewhere to someone new
[Bridge]
Your castles burning down on you
Your kingdom is burning down

[Chorus]
They're delusions, don't deny it
Don't make this out to be a thing about you
They're delusions, don't deny it
Don't make this out to be a thing about you
Go waste your breath somewhere to someone new

Geometric Headdress

[Verse 1]
Hey, princess, lay back in your chair
Show us your geometry, see if I stare
Pink cigarette, white see-through dress
And a black and gold veil
Ornate headdress, my temptress
Wield your staff and your veil
Vows, secrets, wake me when
It's my turn to walk through

[Pre-Chorus 1]
Caught deep in your every curve
Primed and ready for battle
Lift your veil now, formulate
With the sound by yourself

[Chorus]
As her words draw you in
Our faith reconnects
And our hearts they collapse
At the words

[Verse 2]
Now come to me in your glitz and your glam
Place your heart down, step back and watch this
Blank featured, vile creatures
Collapse at your ankles
Firebreather, snake eater
Relax as we hail her
Vows, secrets, wake me when
It's my turn to walk through
[Pre-Chorus 2]
Don't turn around
Look back to see it
Just hang on, formulate
And believe it by yourself

[Chorus]
As her words draw you in
Our faith reconnects
And our hearts they collapse
From the words we intake

[Brige]
Now relate like I relate
'Til your faith reconnects
And now relate like I relate
To the words

[Outro]
We are enlightened, we stare and behold
We commit to your being, we belong, we belong
Deep in your circle, trapped in your grace
Wrapped here in your prism walls, we will stay

Hearts/Wires

[Verse 1]
Nothing can save me now, it's what I believe
The slit in the sky when you left is all I see
Nothing to sing about, I've bared all my leaves
No vision or dreams about you came true for me

[Chorus]
Cut through this razor wire
And dine on your heart, mine 'til the end

[Verse 2]
Stuck with illusion now, I drown in your sea
I hope that you'll first save yourself and then come for me

[Chorus]
Cut through this razor wire
And dine on your heart, mine 'til the end
Break through, clip the wires
And writhe in your heart, mine 'til the end

[Bridge]
A way, a way out, a way
Down deep into your veins
All the way, all the way
Down deep in your heart
All the way, all the way
[Chorus]
Cut through this razor wire
Mine 'til the end
Break through, clip the wire
Dine on your heart, mine 'til the end

Pittura Infamante

[Verse 1]
I kneel at the altar
Carve your name and hail to the gods
I've climbed your tree, I peeled your fruit
When I tasted your kiss
How amazing that you were sent
Like you were molded out of thin air
Now I don't want you to disappear
But I want you to carry us out here
We sail through the arc light
Attach the wings and wait for the gods
We've found your grail, we drank your juice
And we tasted your gift
I will wait here one-thousand years
I will choose to immerse in your eyes
I've seen the truth, and I know your strength
I have watched your great ascent

[Pre-Chorus]
Now we sing
Now we sing your praises
And now we face the sky
The sky, sky, the sky

[Chorus]
On top of the crux, I've climbed every rung
To bathe in your sunlight
[Bridge]
I kneel at the altar
I promised you, I would stay to the end
I will hold and praise and feel your truth
Let us drink to the gods

[Outro]
I will sing, I will sing your praises
I will scream, I will scream your praises```

Xenon

[Verse 1]
You're floating out astray
This cold and lifeless body
At this moment what you taste
Is the key to your evolving

[Chorus]
We're the lions at the gates
We're the diamonds in your brain
The desire in your veins for the violence
And the writers of your fate

[Verse 2]
Keep riding on this wave
The desire sweeps your body
Oh, we're watching, now we wait
For another sweet departing

[Chorus]
We're the lions at the gates
We're the diamond in your brain
The desire in your veins for the violence
We're the sirens to your raid
The desire to remain in the violence
The deciders of your fate
[Chorus]
The desire in your veins for the violence
The diamond in your brain
The desire to partake in the violence
We're the sirens to your raid

[Outro]
The desire to remain, remain, remain
The writer of your fate

(L)MIRL

[Verse 1]
I don't miss you
I don't care where you are now
You're a ghost to me
Left with my taste in your mouth
Taken away somewhere new
I'm used to it
This body is here, but I'm gone
When I reawake
I'll reawake in the waves

[Pre-Chorus]
In a new realm
Catch this dream on film
You might just get used to it
And you'll smile, smile, and dive deep

[Chorus]
I sail on these waves, hey
Slip into the calming waves, hey

[Verse 2]
You're an old hex
That just drained my will
So I put this gun to my head
And I smile, smile, and dive deep
[Chorus]
I sail on these waves, hey
Slip into the calming waves, hey
Deep into the calming waves, hey

[Bridge]
We have created
Now we're gone
And now a reawakening
Another form of myself
I come right out of my skin

[Chorus]
Slip into the calming waves
Deep into the calming waves
Slip into the calming waves
Deep into, hey

[Outro]
Right now
Bear witness
This rebirth
Right now

Gore

[Verse 1]
Deep in this dream, we are locked in
I've pulled you in
Now our bodies are wet
There is blood on the beaches
I brought you into this, don't deny yourself

[Chorus]
Smile, you're all set
Surprise, you're now one of the gang
Take what you want to take
Surprise, you're now running the game

[Verse 2]
We lay in the gore of our vices
Oh, we writhe in them
At night we assemble the hunt for our prizes
I hooked you in this way, you should try yourself

[Chorus]
Smile, now you're all set
Surprise, you're now one of the gang
Take what you want to take
Surprise, you're now running the world

[Bridge]
We'll slip right through these gates together someday
[Verse 3]
Lost in these dreams, we arrive in
I know you will
Develop the taste that will tie us together
I put you in this game, just remind yourself

[Chorus]
Smile, now you're all set
Surprise, you're now one of the gang
Take what you want to take
Surprise, you're now running the game
Smile, now you're all set
Surprise, you're now one of the gang
Take what you want to take
Surprise, you're now running wild

[Bridge]
We'll slip right through these gates together someday
We'll trip right through you slave forever someday

[Chorus]
Smile, now you're all set
Surprise, you're now one of the gang
Take what you want to take
Surprise, you're now running the game
Smile, now you're all set
Surprise, you're now one of the gang
Just take what you want to take
Surprise, you're home

Phantom Bride

[Verse 1]
Inside of this hole you create
You hide from yourself
You separate every belief that is true that...
You spent your life
Attached to this poison
You don't feel anything out of the rain,
And it's true that...

[Chorus]
You spend your life
Trapped in this void
Where you will stay always

[Verse 2]
Can't rid of this thought of you rotting in
This same cold space
You don't want to feel anything new
You've decided to spend your life safe from emotion
This way you'll never be harmed again or confused now

[Chorus]
You spend your life
Trapped in this void
Where you will stay always
You waste your life
Relaxed in your void
Where you will drain all of you
[Chorus]
You spend your life
Trapped in your void
Where you will stay always
You waste your life
Relaxed in your void
Where you will stay always
You spend your life
Trapped in your void
Where you will stay always

[Outro]
Waste your life
Attached to this poison
You will drain all of you

Rubicon

[Verse 1]
You cannot face the crowd all by yourself
Embrace the power we have
Raise your eyes slowly
Place your faith into me
Your body aches to be
Draped in our delight slowly

[Chorus]
Take me in
Face the lights
Free yourself and writhe in them

[Verse 2]
Sound asleep hunting
Wide awake moaning
This body aches to be
Draped in you tonight slowly

[Chorus]
Take me in
Face the lights
Free yourself and writhe in them
Take me in
Face the crowd
Let yourself just writhe in them
[Verse 3]
You cannot face the crowd all by yourself
Embrace the power we have
The record's ours to break
The more we build, and the crowd goes wild
Goes wild

[Chorus]
Take me in
Face the lights
Free yourself and writhe in them
Take me in
Face the crowd
Let yourself just writhe in them
Writhe in them

[Verse 4]
You cannot face the crowd all by yourself
Embrace the power we have
The record's ours to break
And the more we build, the crowd goes wild

[Outro]
Goes wild
Goes wild
Goes wild

2020 Ohms

Genesis

[Verse 1]
I reject
Both sides of what I'm being told
I've seen right through
Now I watch how wild it gets
I finally achieve
Balance, balance, balance, balance
Approaching a delayed
Rebirth, rebirth, rebirth, rebirth
I'm positive
There's no sense to what I'm being sold
Yet here I go
I watch how wild we get
Oh, can you taste your life?
Balanced, balanced, balanced, balanced
How will you spend your time?
Reborn, reborn, reborn, reborn
[Chorus]
Climbing out of the ashes
Turning time inside out
We're miles beyond the sound

[Verse 2]
We'll start again
Taste a lifestyle that never gets old
Yet here we go
Just watch how wild it gets
I finally achieve
Balance, balance, balance, balance
Approaching a delayed
Rebirth, rebirth, rebirth, rebirth

[Chorus]
Climbing out of the ashes
We're turning time inside out
We're floating off in the ether
We're miles beyond the sound

[Bridge]
We're everywhere
No need to return
I'll show you the way
We're everywhere
No need to return
I can show you where
No need to return
I can show you
[Chorus]
Climbing out of the ashes
We're turning time inside out
Floating off in the ether
We're miles beyond the sound

[Outro]
Oh, can you taste your life?
Balanced
How will you spend your time?
Reborn

Ceremony

[Verse 1]
How can't you see this is the end?
Let's face the truth, it's obvious
A different morning, the same charade
Tell me, what's left?

[Refrain]
It's an illusion
It's all an illusion

[Verse 2]
Prep the surface, bound my limbs
Place the chair beneath the rail
On the outside, just skin and bones
Show me, what's left?
[Refrain]
It's an illusion
It's all an illusion

[Chorus]
So I'm leaving you tonight
It's not fun here anymore
I'll be joining the parade
Of the ghosts who came before
Before leaving you complete, no surprise
With one kiss, one caress, ooh

[Bridge]
Ooh, the world we shared
Ooh, it was never there, ooh

[Chorus]
I'm leaving you tonight
It's not fun here anymore
I'm joining the parade
Of the ghosts before
Leaving you complete for all time
With one kiss, one caress, ooh

Urantia

[Verse 1]
I slipped into the cloak you left
I fiddle around in the ashtray
To find your cigarette pinkish red
I light it and take a drag

[Pre-Chorus 1]
I swear I'm losing it
With all these erased recordings, I'm rearranging parts
You should accept
We'll probably remain this way to the end, in steps
[Verse 2]
Underneath the sheets, I find your
Makeup and shoes in a bag laid open
Grab my keys and some money
And circle around the lake

[Pre-Chorus 2]
I guess you're losing it
I like to believe that maybe you're a lot likе me
Try using this equality we might need in thе air

[Chorus 1]
'Cause there are no more left like you
A picture-perfect strange
Imagined in one shape
Unchained

[Verse 3]
Tempt my spirit within my name
We crawled in the tomb and release some honey
Eighteen hundred million ways striving to make it last

[Chorus 1]
There is no one left like you
A picture-perfect strange
Imagined in one shape
Unchained
[Chorus 2]
There are no more thrills I'll need
Than the desire that we shared
From the channels of our dreams
To the grave

[Post-Chorus]
I'll find you again somewhere, I believe
You'll find me somewhere again, I believe

Error

[Verse 1]
Tell me something
Have we escaped?
Are we just lost?
The mirrors taunting us against the walls

[Pre-Chorus]
We are running across the grid
Chasing honey and closing in

[Verse 2]
We're bound together
In neon tape
I taste in your mouth
We hang upside down
[Pre-Chorus]
We are gliding above the planes
Dripping honey that prances through our veins

[Chorus]
Beyond the gates
Outside the grid
We follow in your grace
Let's find a way through

[Verse 3]
Shiny candy
Glowing fruits
Drop from the trees
I watch the sеrpents writhe benеath

[Pre-Chorus]
We are floating above the grid
Dripping honey that's rushing through our veins

[Chorus]
Beyond the gates
Outside the grid
We follow in your grace
But someday
The clouds will break
And we'll all drift through
[Bridge]
In lions' trance
We'll create some way through

[Outro]
Frozen in time
Sinking underground
I've thrown out fear
I've shouted these hymns
I kept drowning
Kept nothing
I kept trying
Kept floating

The Spell of Mathematics

[Verse 1]
I drink the poison right from your hands
A sacred vow, it engulfs me
We slip and we slide and in time, we create
A feeling
Of warmth inside of you

[Pre-Chorus 1]
Holy and strict
Six times a day
We will exchange
Our violent wings
But the beauty is when
You touch me
[Chorus]
I believe your love
Has placed its spell on me
And I believe your love
Is the only thing needed to survive
I believe your love
Creates this space whеre we can breathе
But I believe your love
Beholds this sacred key to life

[Verse 2]
The snakes come pouring out of your heart
And you know that I can't deny them
So I sink inside where we writhe and create
That feeling that pangs my time with you

[Pre-Chorus 2]
We sway in the wind
Inside a haze
Where you speak your language
What am I to say?
I'll just wait for your limbs
To touch me

[Chorus]
I believe your love
Has placed its spell on me
And I believe your love
Is the only thing needed to survive
I believe your love
Creates this space where we can breathe
I believe your love
Beholds this sacred key to life

Pompeji

[Verse 1]
Deep in the bottomless depths of the ocean
Empty bodies, we sink
Open your eyes, you smile and release me
We slip down beneath and

[Chorus 1]
Jesus Christ, you watch us fail
We raise our glasses and drink in hell

[Verse 2]
Locked in the core of the tower, I'm patient
In no hurry to leave
Life has been lonely, it might be forever
Making hard to believe in
[Chorus 2]
Jesus Christ, we hold you to blame
You gave your life, but we died in vain

[Post-Chorus 1]
And ooh, we drink from the fountain of intent
And ooh, we choke on the water, then repent

[Verse 3]
In the street, violent behavior
In chaos, where it's warm
Black omens call, our cage is electric
So we signal, we wait for

[Chorus 3]
Jesus Christ, God raised you as
We raised our glasses and drank in hell

[Post-Chorus 2]
Ooh, we sip from the fountain of intent
And ooh, we choke on the water, then repent
Ooh, we drink from the fountain of intent
Ooh, we choke on the water, then repent

This Link is Dead

[Verse 1]
Thanks, you want action?
Yeah, I'm aware which form you think I should try
That shit means nothin'
You see, I'm done
Right now I think it's time that you know
Pay attention
Watch me close
As I decide which fucking way I move

[Chorus 1]
I'm filled up with true hatred
[Verse 2]
No, that don't work
You would swear you're why I am here
That don't mean nothing
There's nothing wrong
I can choose how this will unfold
And I feel like fire, but my heart is cold
Open your eyes, you'll see this shit's no fun

[Chorus 2]
'Cause I'm filled up with true hatred
And I relate to no one
It's a useless game

[Verse 3]
I'm slowly crashing down
You snap your fingers and you think I'll respond
Fuck, I will never need your guide
Someday, yeah, you can show me, right?
That shit means nothing
You see, I'm done
Take your ideas and fucking have some fun

[Bridge]
You're on your own
You're on your own
You should, you should
[Verse 4]
Look deep inside
You might see I'm just fine
Look close, close inside
Don't miss this moment, you may never get back
I'll show you something, something prized
Well, you were there, you think you know what it's like?
I have no patience now for expectation, wow
Fuck this shit, leave me alone

[Outro]
You're on your own
You're on your own
I'm sure, I'm sure
Oh

Radiant City

[Verse 1]
There's something inside this
Confusion we face
We marvel in silence
As time ticks away

[Chorus]
Where's the ledge?
I can't touch it
But I feel it's so close
Where's the ledge?
I can't touch it
But I feel it's close
[Verse 2]
Sit lonely inside these
Delusions we face

[Chorus]
Where's the ledge?
I can't touch it
But I feel it's so close
Where's the ledge?
I can't touch it
But I feel it's close

[Post-Chorus]
No one alive has taken me here
Nothing I've tried will replace your caress
If ever I choose to break in again
Promise me now you'll follow me in, into

[Pre-Chorus]
A moment of conscience
Then shock to the head

[Chorus]
Where's the ledge?
I can't touch it
But I feel it is so close
Where's the ledge?
I can't touch it
But I feel it's close
[Verse 3]
We marvel in silence
Let time tick away

[Chorus]
Where's the ledge?
I can't touch it
But I feel it's so close
Where's the ledge?
I can't touch it
But I feel it's close

[Post-Chorus]
No one alive has taken me here
Nothing I tried replaced your caress
Whenever I choose to break in again
Promise me now you will follow me in
'Cause nobody else cuts me the same
You've pulled me into a permanent trance
If ever you choose to break in again
I promise you now, I'll follow you in
Promise you now, I'll follow you in

Headless

[Verse 1]
I think it's obvious we are a mess
We cut against the grain
It's contagious how we live
If you're curious of the valiance I can show you, wait

[Pre-Chorus]
'Cause I forget all of this is obvious

[Chorus 1]
We're entirely insane, they claim
They wanna climb into our brain waves
[Verse 2]
I know you're wondering
How the two of us, we adapt these traits
I can teach you how we play
And you're curious how the brilliance controls you, wait

[Pre-Chorus]
'Cause I forget all of this is obvious

[Chorus 2]
We're entirely insane, they claim
They'd like to violate our brain waves

[Post-Chorus 1]
You seek desire
(Stop, think, show what you fear)
Our desire
(Stop, think, dying out there)
But

[Refrain]
Ooh, your attempt is useless
Ooh, your attempt is useless

[Verse 3]
Sway from the top off the ledge
Swim in a bottomless lake, it's true
[Chorus 3]
We are entirely insane, we'd claim
You'd like to dive into our brain waves

[Post-Chorus 2]
You seek desire
(Stop, think, show what you fear)
Our desire
(Got made, flying out there)
Real desire
(Stop, think, shows we're losing)
True desire
(Stop, think I'm nowhere)

[Refrain]
Ooh, your attempt is useless
Ooh, your attempt is useless

Ohms

[Verse 1]
We're surrounded by debris of the past
And it's too late to cause a change in the tides
So we slip into our hopeless sea of regret as I stare

[Pre-Chorus]
Through the haunted maze in your eyes
Right through where I'll remain for all time

[Chorus 1]
And time won't change this
This promise we made
Yeah, the time won't change this
It's how it'll stay
[Verse 2]
This is our time, we devour the days ahead
We've been possessed by these changing times
As we slip on through, we promised to meet again somewhere

[Pre-Chorus]
Through the haunted maze in our minds
Right through where we shall remain for all time

[Chorus 2]
Yeah, time won't change this
This promise we made
And time won't change this
We shall remain

Tool

1993 Undertow

1996 Aenima

2001 Lateralus

Lateralus Sequence Theory

Some time after Lateralus was released a minor flurry of interpretive activity arose around the album. In particular, Carey told an interviewer about Keenan's remark that the time signatures of the main riff in "Lateralus"(9-8-7) also represented a step in the Fibonacci (the sixteenth step, as it turns out). This led some Tool fans to suggest that the tracks on Lateralus can be listened to in spiral-like orders: 1,2,3,5,8,13,4,6,7,9,10,11,12 ("The Fibonacci Sequence"), 6,7,5,8,4,9,3,10,2,11,1,12,13 ("The Lateralus Prophecy"), or 6,7,5,8,4,9,13,1,12,2,11,3,10 ("The Holy Gift"). These arrangements are rumoured by fans to produce different storylines for the album, although the band has said nothing official on the subject.

(source Wikipedia)

Restructuring Lateralus: Tool's Holy Gift

Fans of the alternative metal band Tool have to be some of the most curious and creative in rock. They are incredibly active interpreters of Tool's music and lyrics and are proud of their sense of intelligence as fans. Tool's aesthetic lends itself very well to wide ranging interpretation, dealing as it does with "alternative" views of inner consciousness, vaguely Buddhist spirituality, and other interesting philosophical inquiries such as the mutation of DNA and the concept of a Third Eye. In other words, these are not songs about your best girl and movies on a Saturday night. The band's music can best be described as drawing on the aggression and ensemble virtuosity of metal combined with the kind of tortured interiority that characterizes Radiohead's post-O.K. Computer music. Such a combination certainly sets them apart from many metal bands, and the centrality of their unusual lyrics only adds to the mystique of the band.

However, any previous interpretative theories by fans have been outdone by the recent focus on the notion that the entirety of Tool's most recent album, Lateralus, actually needs to be reordered in order to reveal a secret message dealing with moving through consciousness as a movement of along spirals: "Spiral out, keep going, spiral out" sings Maynard James Keenan toward the end of "Lateralus," the album's title track. Added to this is the tantalizing prospect that the album and its message are also influenced by the Fibonacci sequence of numbers. When plotted on a graph Fibonacci numbers form a spiral- like image. Moreover, the main riff in "Lateralus" is comprised of three different meters: 9/8, 8/8, 7/8, or: 987, which happens to be the sixteenth step in the Fibonacci sequence (as observed by Keenan himself during the writing of the song). Moreover, moreover (!), Keenan's halting vocal rhythms during the first verse of "Lateralus" correspond to Fibonacci numbers in their syllable counts:

1 (Black)
1 (then)
2 (white are)
3 (all I see)
5 (in my infancy)
8 (red and yellow then came to be)
5 (reaching out to me)
3 (lets me see)

Freaky, eh? Anyway, all this got one unknown fan to write up a big long post somewhere and to speculate that the actual order of the songs on Lateralus needed to be rearranged so as to reveal the "true" message of the album. Basically, the idea is this: Lateralus has 13 tracks (a Fibonacci number, BTW) so you place that track at the center of your new track order. The surrounding tracks are all grouped into pairs that sum the number 13 and spiraling in toward 13, then outward from it. Here's the suggested track arrangement with the two "spirals" in bold:

6, 7, 5, 8, 4, 9, 13, 1, 12, 2, 11, 3, 10

The unknown fan calls this arrangement The Holy Gift.

There are of course some "issues" with this arrangement. First, there's no explanation given for why we start with track 6. To be sure, track 6 and 7 on the album are very much a pair ("Parabol" and "Parabola," the second emerging from the first without a pause), so they should probably stick together, but why they start off things isn't really explained by the unknown fan. Also, if tracks 6 and 7 must stay together then why separate tracks 10, 11, and 12, three tracks originally conceived of by Tool as one very long song (the album artwork links these three songs visually as well)? The new arrangement also places the very strange "Faaip de Oiad" in the center of the collection. Not so much a song as a four-minute sound collage built around a supposedly real recording of an escaped Area 51 employee calling into a radio talkshow, "Faaip de Oiad" seems rather unusual at the apex of such a interpretively rich arrangement. But that's what makes this whole thing so intriguing: the entire Holy Gift arrangement is one giant interpretation, so it's not hard to continue the interpretation (as some fans already have) to be able to explain the prominent place of "Faaip de Oiad."

Is this whole thing just interpretation run amok? I think not.

After learning of the Holy Gift phenomenon, I re-ripped my copy of Lateralus, edited out the silences at the beginning and ending of each track (as advised by the unknown fan), and burned a copy of The Holy Gift. I have to say that I immediately liked the album more than before, and it's certainly entertaining to think about the alternate meaning as you listen. My enjoyment of the album increased though because the best songs (in my opinion) have fortuitously been grouped in the front half instead of being scattered across the album. The Holy Gift is in many ways a heavier album than Lateralus and the transition from one song to the next is interesting when there are no significant silences to "clear the palette." Of course, the new arrangement does make some of the shorter interludes stick out awkwardly (Tool is fond of these little soundscape interludes -- there are usually three or four of them on each album, designed, I assume, to provide a sense of large-scale contrast amidst the aggressive heavier songs that make up the bulk of the albums), but these interludes mostly occur in the second half of the new arrangement, as the original track numbers are spiraling outward, so perhaps there's something cosmic going on. Or perhaps not.

Finally, I have to say that the combination of the Holy Gift phenomenon, aided significantly as it is by digital audio technology, and the Dream Theater songwriting contest (also aided by digital technology, but in different ways) have me looking for conferences at which to present some ideas about these things. Indeed, both of these situations are very interesting think-pieces involving so many issues in popular music culture. If nothing else, I hope to feature them in my heavy metal class the next time I'm asked to teach it. (source : Pet of the street)

Thought you all might like this one; I got this from a friend.....

To me, Tool's Lateralus is the most amazing piece of music ever composed. I think Tool deliberately wanted to give their fans something truly amazing, but wanted them to find it on their own. "Recognize this as a holy gift..." At first, I thought that the song Lateralus was about tripping acid - discovering true color by seperating the body from the mind. At first listen, I imagined the bending envelope as an intense visual. After becoming more familiar with the track, however, I had reformed my interpretation to something broader: think deeper. Lateralus, perhaps because it is the album's "title track", serves as the central clue for a puzzle that a friend of mine had read about somewhere on the internet. "All I know is that there is a different order for the songs - something about two spirals. Oh yeah, and thirteen is in the middle."

After scavenging through endless google search results, I gave up on finding more about this 'alternate order'. Intent to figure the album out, and very curious about the spirals - I put on the proverbial 'thinking cap'. I understood how the spirals could have a lot of significance, in that the album's title track offers the inspiring, "swing on the spiral of our divinity and still be a human... And following our will and wind we may just go where no one's been. We'll ride the spiral to the end and may just go where no one's been."

In my internet scavenging, I had read one review, written by a drummer, who mentioned that Danny Carey's drum beat formed a fibonacci sequence during the song Lateralus. A drummer myself, I decided to get out the graph paper and follow Danny. I can't play like he can, but at least I can hear everything he's doing, and thus was able to construct the drum tabulature. Sure enough, Danny repeats a Fibonacci sequence through the number 13: 1,1,2,3,5,8,13. After 13, he starts again with 1. Bringing in my Algebra 2 knowledge of the Fibonacci sequence, when the equation for the Fibonacci sequence (which I don't actually know) is graphed, it forms a sprial whose vertex depends on the number at which the sequence begins. Coincidence? I began to think not.

I had already known of Danny's obsession with sacred geometry and am familiar with Bob Frissell's book, Nothing in This Book Is True, But It's Exactly How Things Are, so the significance of what I had stumbled upon had actually begun to settle in. This is where I just had to play with Lateralus. I had doodled a few spirals in the corners of my graph paper, and in doing so made the first important connection to Lateralus. I knew that if the tracks were in fact intended to be heard in a different order, "Parabol" and "Parabola" would have to go together. In drawing my spirals, I had begun with a vertex and 'spiraled' ******ds. After writing the numbers 1 through 13 linearly, I could immediately see that Parabol and Parabola would have to be the middle of my spiral (in that 13 / 2 = 6.5). I drew a simple arrow between 6 and 7 and then pondered the next pair.

At first, I actually drew a spiral connecting pairs of numbers whose sum equaled 13 (the number of songs on the album). This, however, left the last track in the same position and without anything to connect to. At this time, I had used my copy of Lateralus and Cool Edit Pro to take out the silences between tracks and put the songs in the following order: 6,7,5,8,4,9,3,10,2,11,1,12,13. The transition from Parabola into Schism blew my mind, as the plucks, probably dismissed by listeners as a drawn out rant of an ending, perfectly transition into the beginning of Schism. When you count out beats as the strings are plucked, Schism resumes with the same time signature and tempo - mirroring the progression of notes. The transition from Schism into Ticks & Leeches is equally intriguing. Schism ends with strong double-kick bass and tom smacks, and Ticks & Leeches begins with what many would call a 'tribal' drum beat. The beat at the very start of Ticks & Leeches is slightly different every subsequent time it is repeated - the measures are two beats longer. Yup - you guessed it - those two beats are ACTUALLY the last two beats of Schism.

I can honestly say that I never understood the album's fourth track, Mantra until reordering the album's songs. What I had originally heard as whale calls now had begun to resemble the worst imaginable dry heaves - or a stylized choking. Fitting, seeing as how the last line in Ticks & Leeches is "I hope you choke."

After this transition, none of those following it really seemed to make much sense. I certainly didn't like that Disposition and Reflection had been seperated - as they sound quite good when played sequentially on the album. This was the only real roadblock in my disciphering of the Holy Gift. Then I had remembered what my friend had told me - 13 was in the middle. At the time, probably just wanting to believe that there was more to this CD, I had equated this to the positioning of the song "Intermission" on the previous release, AEnima. For the song to be in the 'middle' of the album it would have to be the seventh track in sequence, here having six tracks on either side of it. So I inserted Faaip de Oiad after Lateralus, and almost peed my pants when I discovered that (ever-so-faintly) the fading tone of the last note of Lateralus could be heard in beginning of Faaip de Oiad, and how the distortion of the guitars at the tail end of Lateralus resembled, and later transitioned seamlessly into, the static at the beginning of Faaip de Oiad. The lyrics of Lateralus justify this break in the spiral, almost instructing: "spiral out, keep going, spiral out, keep going." I went back to Lateralus to find the next clue. In Danny Carey's amazingly competent Fibonacci sequence, he had stopped at 13 and gone back to 1. This is what I chose to do to finish the sequence. A second spiral was now constucted, and the order for the Holy Gift now became 6,7,5,8,4,9,13,1,12,2,11,3,10. Already many of you are probably fascinated at what I have revealed to you, but I can not even begin to tell you what this new order has opened up for me. The beauty of Lateralus is very, very fragile and has to be viewed with a very open mind. It can also be different when looked at from different points of view. Aside from the fact that the new order of the songs places them in an order where they flow together nicely - often ending and resuming on the same notes or within the same progression, and some times - in the case of Lateralus into Faaip de Oiad and The Grudge into Triad - even overlapping (though admittadly sound much better when actually electronically overlapped, this is kind of cheating. Consider this a hint, however, if you plan on doing this yourself), the two spirals help to tell a story that every Tool fan should hear.

In the interest of not boring the only casually intrigued, I will try to keep this very brief. I would also recommend familiarizing yourselves with Frissell's book (yeah - the one I mentioned earlier). I consider Parabol and Parabola to be quite expository. Maynard wants us to know that no matter what happens, we must all know that this is not our only existance. Our very minds and the contents of our subconscious are intended to be immortal, and if we accept this into our lives (be it because of personal or religious reasons), it will be so. As such, pain is an illusion. At first, I called it "The Lateralus Prophecy" (for reasons you will soon understand), but I have since decided to call the 'reordered'version of Lateralus "The Holy Gift". As Maynard says, "Recognize this as a holy gift and celebrate this chance to be alive and breathing," I take the word "this" to mean much more than just his simple cautioning. Since Parabola is the second track of the Holy Gift, it can be considered at the beginning (esp. considering the context of it's duality with Parabol), and as such, I interpret Maynard's words as more than just clever lyrics in a song. They are a plead for his listeners to listen to everything he has to say and truly celebrate the chance of immortality offered throughout. I would be lying if I said that each song has a specific translation. On the contrary, Tool's music is designed to make you think, not say something specific.

2006 10000 Days

2019 Fear Inoculum

Bass Tabs

Exercises

  1. Begin with chromatics at a tempo of 120 BPM, one note per beat. Do this for a minute or two, using one finger per fret on your fretting hand, and using at least two fingers on your plucking hand, alternating each one.
  2. After the chromatics, do whole-steps on each string, four notes per string, one finger per note per string, to help with the stretching and warming up. Do this at 120 BPM, one note per beat. Do this for one or two minutes.
  3. Go to the 12th fret of your highest pitched string and begin doing 8 full bends with each finger on that string, alternating after every four. Do this with every string. After that re-tune your instrument, if needed.
  4. Begin playing chromatics again at 160 BPM, one note per beat, one finger per fret.
  5. Begin playing scales, in one key, at 120 beats per minute, one note per beat. Any real scale (any scale besides the chromatic) will do. After playing each mode in succession move it up or down half a step and proceed doing it in the next key. Keep doing this until you have done every mode of every key you know, this will not only physically warm up your muscles and stretch your muscles, joints, and tendons out, but it will also give your ears and brain a good warm-up.
  6. Begin playing different scales in one key and different positions at 120 BPM without skipping a beat. This will warm you up and help you get used to different scales.
  7. Take a scale you know all modes of, and choose a key. Play this scale using the hopscotch method.
  8. Find the fastest tempo you can play in time and chose and scale and play every mode of it. Do this for a minute or two.

Plucking, Muting and String Crossing Exercises.

Play the following notes with open strings, playing each note succession repeating each note once using the index finger, then twice using the index and middle fingers, then thrice using the index, middle and ring fingers.

12 notes = only one octave, do the same but with all notes in the bass range

12^1 = 12
12^2 = 144
12^3 = 1728
12^4 = 20736
12^5 = 248832
notes = ['Do','Do #','Re','Re #','Mi','Fa','Fa #','Sol','Sol #','La','La #','Si']
E    | Mi
A    | La
D    | Re
G    | Sol
EE   | Mi Mi
AA   | La La
DD   | Re Re
GG   | Sol Sol
EEE  | Mi Mi Mi
AAA  | La La La
DDD  | Re Re Re
GGG  | Sol Sol Sol
EEEE | Mi Mi Mi Mi
AAAA | La La La La
DDDD | Re Re Re Re
GGGG | Sol Sol Sol Sol

Two-note variations of the four open string notes.

From the E string to the others:

EA | Mi La
ED | Mi Re
EG | Mi Sol

From the A string to the others:

AE | La Mi
AD | La Re
AG | La Sol

From the D string to the others:

DE | Re Mi
DA | Re La
DG | Re Sol

From the G string (oh yeah!) to the others:

GE | Sol Mi
GA | Sol La
GD | Sol Re

Adjacent (all strings played are adjacent)

EAD | Mi La Re
ADG | La Re Sol
DAE | Re La Mi
GDA | Sol Re La

Ascending (strings are skipped but all notes are ascending)

EAG | Mi La Sol
EDG | Mi Re Sol

Descending (strings are be skipped but all notes are descending)

GAE | Sol La Mi
GDE | Sol Re Mi

Skipping (strings are skipped and notes go up and down)

First up then down

EDA | Mi Re La
EGA | Mi Sol La
EGD | Mi Sol Re
ADE | La Re Mi
AGE | La Sol Mi
AGD | La Sol Re
DGE | Re Sol Mi
DGA | Re Sol La

First down then up

AED | La Mi Re
AEG | La Mi Sol
DEA | Re Mi La
DEG | Re Mi Sol
DAG | Re La Sol
GEA | Sol Mi La
GED | Sol Mi Re
GAD | Sol La Re
  • Adjacent (all strings played are adjacent)
  • Ascending (strings are skipped but all notes are ascending)
  • Descending (strings are be skipped but all notes are descending)
  • Skipping (strings are skipped and notes go up and down)
  • First up then down
  • First down then up
EEA |
EED |
EEG |
EAE |
EAA |
EDE |
EDD |
EGE |
EGG |
AEE |
AEA |
AAE |
AAD |
AAG |
ADA |
ADD |
AGA |
AGG |
DEE |
DED |
DAA |
DAD |
DDE |
DDA |
DDG |
DGD |
DGG |
GEE |
GEG |
GAA |
GAG |
GDD |
GDG |
GGE |
GGA |
GGD |
EADG |
EAGD |
EDAG |
EDGA |
EGAD |
EGDA |
AEDG |
AEGD |
ADEG |
ADGE |
AGED |
AGDE |
DEAG |
DEGA |
DAEG |
DAGE |
DGEA |
DGAE |
GEAD |
GEDA |
GAED |
GADE |
GDEA |
GDAE |
EEEA |
EEED |
EEEG |
EEAE |
EEAA |
EEAD |
EEAG |
EEDE |
EEDA |
EEDD |
EEDG |
EEGE |
EEGA |
EEGD |
EEGG |
EAEE |
EAEA |
EAED |
EAEG |
EAAE |
EAAA |
EAAD |
EAAG |
EADE |
EADA |
EADD |
EAGE |
EAGA |
EAGG |
EDEE |
EDEA |
EDED |
EDEG |
EDAE |
EDAA |
EDAD |
EDDE |
EDDA |
EDDD |
EDDG |
EDGE |
EDGD |
EDGG |
EGEE |
EGEA |
EGED |
EGEG |
EGAE |
EGAA |
EGAG |
EGDE |
EGDD |
EGDG |
EGGE |
EGGA |
EGGD |
EGGG |
AEEE |
AEEA |
AEED |
AEEG |
AEAE |
AEAA |
AEAD |
AEAG |
AEDE |
AEDA |
AEDD |
AEGE |
AEGA |
AEGG |
AAEE |
AAEA |
AAED |
AAEG |
AAAE |
AAAD |
AAAG |
AADE |
AADA |
AADD |
AADG |
AAGE |
AAGA |
AAGD |
AAGG |
ADEE |
ADEA |
ADED |
ADAE |
ADAA |
ADAD |
ADAG |
ADDE |
ADDA |
ADDD |
ADDG |
ADGA |
ADGD |
ADGG |
AGEE |
AGEA |
AGEG |
AGAE |
AGAA |
AGAD |
AGAG |
AGDA |
AGDD |
AGDG |
AGGE |
AGGA |
AGGD |
AGGG |
DEEE |
DEEA |
DEED |
DEEG |
DEAE |
DEAA |
DEAD |
DEDE |
DEDA |
DEDD |
DEDG |
DEGE |
DEGD |
DEGG |
DAEE |
DAEA |
DAED |
DAAE |
DAAA |
DAAD |
DAAG |
DADE |
DADA |
DADD |
DADG |
DAGA |
DAGD |
DAGG |
DDEE |
DDEA |
DDED |
DDEG |
DDAE |
DDAA |
DDAD |
DDAG |
DDDE |
DDDA |
DDDG |
DDGE |
DDGA |
DDGD |
DDGG |
DGEE |
DGED |
DGEG |
DGAA |
DGAD |
DGAG |
DGDE |
DGDA |
DGDD |
DGDG |
DGGE |
DGGA |
DGGD |
DGGG |
GEEE |
GEEA |
GEED |
GEEG |
GEAE |
GEAA |
GEAG |
GEDE |
GEDD |
GEDG |
GEGE |
GEGA |
GEGD |
GEGG |
GAEE |
GAEA |
GAEG |
GAAE |
GAAA |
GAAD |
GAAG |
GADA |
GADD |
GADG |
GAGE |
GAGA |
GAGD |
GAGG |
GDEE |
GDED |
GDEG |
GDAA |
GDAD |
GDAG |
GDDE |
GDDA |
GDDD |
GDDG |
GDGE |
GDGA |
GDGD |
GDGG |
GGEE |
GGEA |
GGED |
GGEG |
GGAE |
GGAA |
GGAD |
GGAG |
GGDE |
GGDA |
GGDD |
GGDG |
GGGE |
GGGA |
GGGD |

Alien Ant Farm / Smooth Criminal

AAAA AAAA BBBC DDDD BBBC E
AAAA AAAA BBBC DDDD BC F
AAAA AAAA AAAA DDDD DDDD AAAA

Intro (one note--then immediately to main riff)

G|-----------------------------------------------------|
D|-----------------------------------------------------|
A|--0--------------------------------------------------|
E|-----------------------------------------------------|

A Main Riff: (Verse)

G|-----------------------------------------------------|
D|-----------------------------------------------------|
A|--0-0-0-0---0-2-2-----0-2-3-3----3-3--2-----0--------|
E|----------3-------------------------------3----------|

B Prechorus: (for the first 3x)

G|-----------------------------------------------------|
D|-------------3--------3------------------------------|
A|-----------------------------------------------------|
E|-1-1-1-1-1------1--1------1--3-3--1------------------|

C The fourth Prechorus goes like this:

G|-----------------------------------------------------|
D|-------------3---------------------------------------|
A|-----------------------------------------------------|
E|-1-1-1-1-1---------1--0------3-0-3-5-----------------|

D Chorus:

G|-----------------------------------------------------|
D|-----------------------------------------------------|
A|-0-0-0-0-0-0-------------------------------0---------|
E|---------------3-3---3-3-1-1---1-1---3-1-3-----------|

After Chorus: (3x)

G|-----------------------------------------------------|
D|-------------3--------3------------------------------|
A|-----------------------------------------------------|
E|-1-1-1-1-1------1--1-----1--3-3--1-------------------|

Ending of "After Chorus" : (then go back to main riff)

G|-----------------------------------------------------|
D|-----------------------------------------------------|
A|-----------------------------------------------------|
E|--0----0-0----0--------------------------------------|

At the Drive-In / Enfilade

H=hammer on

X=dead note

Riff 1 (:43)

G|-------------------------------------------
D|-------------------------------------------
A|-0h2-2222222222222-7777-55555555-----------
E|---------------------------------555-333---

Riff 2 (1:28)

G|-----------------------------
D|-----------------------------
A|-2222222-777-5555555-000-----
E|-----------------------------

Riff 3 (1:39)

G|--------------------------------------
D|--------------------------------------
A|-2222222------------------7777-555----
E|---------3333333-00000000-------------

Riff 4 (2:58)

G|---------------
D|---------------
A|-22x22x2222----
E|---------------

Riff 5 (3:20)

G|---------------------------------------------------------------------
D|---------------------------------------------------------------------
A|22-2-22-2-22-2-9999-55-5-55-5-55-0------22-2-22-2-22-2---------------
E|-----------------------------------55-33---------------043-333333-0000

End on:

G|------
D|------
A|-2----
E|------

Out Of Exile

Lyrics

[Verse 1]
When I first came to this island
That I called by my own name
I was happy in this fortress
In my exile I remained
But the hours grew so empty
And the ocean sent her waves
In the figure of a woman
She pulled me out to sea

[Chorus]
When you come down to take me home
Send my soul away
When you come 'round you'll make me whole
Send my soul away

Verse 2
On the altar of a sunrise
Was a wedding in the waves
And inside her shone a young light
From her labor I was saved
Though I've traveled long in darkness
In her harvest I'm embraced

[Chorus]
When you come down to take me home
Send my soul away
When you come 'round you'll make me whole
Send my soul away

[Bridge]
Now the spires and the gables
Grow in orchards to the sky
And the blessings on my table
Multiply and divide

[Chorus]
When you come down to take me home
Send my soul away
When you come 'round you'll make me whole
Send my soul away

[Outro]
Yeah, when you come down to take me home
When you come 'round you'll make me whole
Yeah, when you come down to take me home
Send my soul away
Send my soul away
Send my soul away
Send my soul away

Tabs

Version 1

Bass Tuning: D A D G

      h - hammer on
      / - slide up
       - slide down
      x - play 'note' with heavy damping

Intro

G-------------------------------------------------------|
D----------------3--------------------------------------|
A--3h5-5-5-----------3------3--0--3---5-----------------|
D-----------x--3---3----5----------------0--3--5--7--0--|

	    ^ That can also be an Open E string, sounds good both ways.

G----------------------------------------------------------|
D----------------3-----------------------------------------|
A--3h5-5-5-----------3------3--0--3---5--------------------|
D-----------x--3---3----5------------------0--3--5--7--0-\\-| <- Just go to somewhere like 12th or 15th fret and slide down.

Verse

G--------7---5--5---5----------------|
D-----------------7-----7---3--------| <- triplet notes, very fast.
A---5--------------------------------|
D-------------------------------(\\)--| <- On last time, slide down.

G--------7---5--5---7--5------------|
D------------------------7---3------|
A---5-5-----------------------------|  <- Improvise alot with little fills like this. Mostly on 2nd and 4th 
D-----------------------------------|     time of playing this riff.

Chorus

G-------------------------------------------------------|
D----------------3--------------------------------------|
A--3h5-5-5-----------3------3--0--3---5-----------------|
D-----------x--3---3----5----------------0--3--5--7--0--|

G-----------------------------------------------------------------|
D----------------3-------------------------------------------3----|
A--3h5-5-5-----------3---------------------------------0-3-5------|
D-----------x--3---3----5----x-x-x-x---x-x-x-----0-3-5------------|

G-----------------------------------------------------------|
D----------------3------------------------------------------|
A--3h5-5-5-----------3------3--0--3---5---------------------|
D-----------x--3---3----5------------------0--3--5--7--0--\-|<- When ever you see a slide on its own like this, do what you did in the first chorus.

G-----------------------------------------------------------------|
D----------------3-------------------------------------------3----|
A--3h5-5-5-----------3---------------------------------0-3-5------|
D-----------x--3---3----5----x-x-x-x---x-x-x-----0-3-5------------|

Guitar Solo

G-------------------------------------------------------|
D----------------3--------------------------------------|
A--3h5-5-5-----------3------3--0--3---5-----------------|
D-----------x--3---3----5----------------0--3--5--7--0--|

G------------------------------------------------------------|
D-------------------3----------------------------------------|
A--3h5-5-3--------------3------3--0--3---5-------------------|
D-----------5--3-0----3----5----------------0--3--5--7--0--\-|

G-------------------------------------------------------|
D----------------3--------------------------------------|
A--3h5-5-5-----------3------3--0--3---5-----------------|
D-----------x--3---3----5---------------0--3--5--7--0-\-|

G-------------------------------------------------------------------|
D------------------3-------------------------------------------3----|
A--3h5-5-3-------------3---------------------------------0-3-5------|
D-----------5--3-0---3----5----x-x-x-x---x-x-x-----0-3-5------------|

Outro

G----------------------------------------------------------|
D------------------3---------------------------------------|
A----3h5-5-5-----------3------3--0--3---5------------------|
D-------------x--3---3----5----------------0--3--5--7--0-\-| X 3

G------------------------------------------------|
D----------------3-------------------------------|
A--3h5-5-5-----------3---------------------------|
D-----------x--3---3----5----x-x-x-x---x-x-x-----| <- Repeat muted notes until end of song.

ORDER:

Intro X 2
Verse X 16
Chorus X 1
Verse X 16
Chorus X 1
Guitar Solo X 1
Chorus X 1
Outro X 1

Version 2

Very Beginning
scratch all 4 nails down strings like a guitar pick while lightly 
touching the strings with your left hand 
Do this in conjunction with the snare drum
Watch the video at this link and you'll see what i mean
http://mp.aol.com/video.index.adp?pmmsid=1373480

Intro
G|————|
D|————|
A|————|
D|/21—|

G|——————————————————————————————————————|
D|——————————————————————————————————————| 2x
A|3h5—5—5—————5———————3———3—5———————————|
D|—————————3————3—5—————5—————0—3—5—7—0—|

G|————|
D|————|
A|————|
D|/17—|

G|————————————————————————————————————————|
D|————————————————————————————————————————|
A|3h5—5—5———————————————3———3—5———————————|
D|—————————3——3—3—3h5—————5—————0—3—5—7—0—|


Verse
G|——————7h9—7——7—7—5——————————————————|
D|———————————————————7—5——————————————| 15x
A|6—6—6———————————————————————————————|
D|————————————————————————————————————|


Chorus
G|————|
D|————|
A|————|
D|/17—|

G|————————————————————————————————————————|
D|————————————————————————————————————————|
A|3h5—5—5—————5—————————3———3—5———————————|
D|—————————3————3—5———————5—————0—3—5—7—0—|

G|—————————————————————————————————————|
D|———————————————————————————————————3—|
A|3h5—5—5—————5——————————————————3—5———|
D|—————————3————3—5——————0—3—5—7———————|

G|————————————————————————————————————————|
D|————————————————————————————————————————|
A|3h5—5—5—————5—————————3———3—5———————————|
D|—————————3————3—5———————5—————0—3—5—7—0—|

G|————|
D|————|
A|————|
D|/17—|

G|—————————————————————————————————————|
D|———————————————————————————————————3—|
A|3h5—5—5—————5——————————————————3—5———|
D|—————————3————3—5——————0—3—5—7———————|

Verse (again)

Chorus (again)

Intro (during solo)

Very Beginning Part (again)

Chorus (again)

Very Beginning Part (again)

Version 3

Tuning:Drop—D  (D A D G) Low/High
Hi everyone, i decided to tab this song one night when i got back from a band
trip to the gator bowl, and realized that the other tabs for this were crap.
I took it upon myself to figure it out, and i realized it isnt hard, but sounds impressive
here it is, in all its perfection

G|———————————————————————————————————————————————————————|
D|—————————————3—————————————————————————————————————————|
A|——3h5—5—5—————————3————3—————3———5—————————————————————|
E|———————————3———3—————5————5————————0———3———5———7———0———|

G|——————————————————————————————————————————————————————————|
D|—————————————3————————————————————————————————————————————|
A|——3h5—5—5—————————3————3—————3———5————————————————————————|
E|———————————3———3—————5————5————————0———3———5———7———0——12/—|
Repeat This twice and then the song comes in.
Verse
|————————————————————————————————————————————————————|
|————————————————————————————————————————————————————|
|————————————————————————————————————————————————————|
|———0——12———10——10——7——10——7——3——————————————————————|
Listen to the song and place these riffs where they belong
Goodnight
| /  slide up
|   slide down
| h  hammer—on
| p  pull—off
| ~  vibrato
| +  harmonic
| x  Mute note
===============================================================================

Version 4

intro:
0:00
G|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|
D|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|x4
A|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|
D|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|

chorus:
0:23
G|--------------------------------------------|
D|--------------3-----------------------------|x4
A|-3h5-5-5-x--------------3---3--5--------0---|
D|-----------3----3--3-5----5-------0-3-5---0-|

verse:
0:46
G|------7--5---5---5----|
D|-0-0-----------7--7---|x16
A|-------------------85-|
D|----------------------|

chorus:                                                   _
1:33                                                       |
G|--------------------------------------------|            |
D|--------------3-----------------------------|            |
A|-3h5-5-5-x--------------3---3--5--------0---|            |
D|-----------3----3--3-5----5-------0-3-5---0-|            |x2
                                                           |
G|------------------------x-x-x--x--x-x-x---------------|  |
D|--------------3---------x-x-x--x--x-x-x-------------3-|  |
A|-3h5-5-5-x--------------x-x-x--x--x-x-x-------0-3-5---|  |
D|-----------3----3--3-5--x-x-x--x--x-x-x-0-3-5---------|  |
                                                          _|

verse:
1:56
G|------7--5---5---5----|
D|-0-0-----------7--7---|x16
A|-------------------85-|
D|----------------------|

chorus:                                                   _
2:42                                                       |
G|--------------------------------------------|            |
D|--------------3-----------------------------|            |
A|-3h5-5-5-x--------------3---3--5--------0---|            |
D|-----------3----3--3-5----5-------0-3-5---0-|            |x2
                                                           |
G|------------------------x-x-x--x--x-x-x---------------|  |
D|--------------3---------x-x-x--x--x-x-x-------------3-|  |
A|-3h5-5-5-x--------------x-x-x--x--x-x-x-------0-3-5---|  |
D|-----------3----3--3-5--x-x-x--x--x-x-x-0-3-5---------|  |
                                                          _|

solo:
3:06
G|-------------------------------------------|
D|--------------3----------------------------|x3
A|-3h5-5-5-x--------------3---3-5--------0---|
D|-----------3----3--3-5----5------0-3-5---0-|

G|-x-x-x--x--x-x-x---------------|
D|-x-x-x--x--x-x-x-------------3-|
A|-x-x-x--x--x-x-x-------0-3-5---|
D|-x-x-x--x--x-x-x-0-3-5---------|

re-intro:
3:29
G|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|
D|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|x4
A|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|
D|-x-x-x-x---x-x-x-x-x--x-x---x-x-x-x---x-x-x-x-x--x-x-x-x-|

chorus:                                                   _
3:52                                                       |
G|--------------------------------------------|            |
D|--------------3-----------------------------|            |
A|-3h5-5-5-x--------------3---3--5--------0---|            |
D|-----------3----3--3-5----5-------0-3-5---0-|            |x2
                                                           |
G|------------------------x-x-x--x--x-x-x---------------|  |
D|--------------3---------x-x-x--x--x-x-x-------------3-|  |
A|-3h5-5-5-x--------------x-x-x--x--x-x-x-------0-3-5---|  |
D|-----------3----3--3-5--x-x-x--x--x-x-x-0-3-5---------|  |
                                                          _|

G|--------------------------------------------|
D|--------------3-----------------------------|x3
A|-3h5-5-5-x--------------3---3--5--------0---|
D|-----------3----3--3-5----5-------0-3-5---0-|

end:
0:12
G|-x-x-x-x---x-x-x-x-x--x-x-|
D|-x-x-x-x---x-x-x-x-x--x-x-|
A|-x-x-x-x---x-x-x-x-x--x-x-|
D|-x-x-x-x---x-x-x-x-x--x-x-|

| /  slide up
| \  slide down
| h  hammer-on
| p  pull-off
| ~  vibrato
| +  harmonic
| x  Mute note
===============================================================================

Deftones - One Weak

Standard Tuning

Intro and Verse

G|——————————————————————————————————————————————————————————————————————|
D|——————————————————————————————————————————————————————————————————————|
A|——————————————————————————————————————————————————————————————————————|
E|0—2—2——0—2—2——0—2—2——0—2—0—2—3—3—3—0—2—2——0—2—2——0—2—2——0—2—0—2—3—3—3—|

Pre Chorus

G|————————————————————————————————————|
D|————————————————————————————————————|
A|————————————————————————————————————|
E|—0—2—2—0—2—2—0—2—2—0—2—3————————————|

Chorus

G|———————————————————————————————————————————————————|
D|———————————————————————————————————————————————————|
A|———4—4———4—————————————————————————————————————————|
E|———————————4—0—0—0—0—2—3—3 3—3—2—2—5—5—5—5—3—3—3————|

Verse 2

G|——————————————————————————————————————————————————————————————————————|
D|——————————————————————————————————————————————————————————————————————|
A|——————————————————————————————————————————————————————————————————————|
E|0—2—2——0—2—2——0—2—2——0—2—0—2—3—3—3—0—2—2——0—2—2——0—2—2——0—2—0—2—3—3—3—|

Pre Chorus

G|————————————————————————————————————|
D|————————————————————————————————————|
A|————————————————————————————————————|
E|—0—2—2—0—2—2—0—2—2—0—2—3————————————|

Chorus

G|———————————————————————————————————————————————————|
D|———————————————————————————————————————————————————|
A|———4—4———4—————————————————————————————————————————|
E|———————————4—0—0—0—0—2—3—3 3—3—2—2—5—5—5—5—3—3—3————|

Outro

G|———————————————————————————————|
D|———————————————————————————————|
A|———————————————————————————————|
E|—2—2—2—0—0—0—2—2—2—0—0—0—2—2—3—|

Deftones - Root

Standard Tuning

Intro

G|————————————
D|————————————
A|————————————
E|——O—O——O—O——

Riff 1

G|———————————————————————————————————
D|——————2—2——————————————————————————
A|——————————2—2—3—3—5—5—3—3—2—2——————
E|——O—O—————————————————————————3—3——

Riff 2

G|—————————————————————————————————————————————————————————
D|—————————————————————————————————————————————————————————
A|—————————————————————————————————————————————————————————
E|——O———————O—O—O—O——O———————O—O—O—O————O———————O—X——X—O———

Riff 3

G|——————9—9——————————————————————————————————
D|——————————9—9—10—10—12—12—10—10—9—9————————
A|——7—7———————————————————————————————10—10——
E|———————————————————————————————————————————

Riff 4

G|————————————————————————————————————————————
D|————————————————————————————————————————————
A|————————————————————————————————————————————
E|——65—54—43—32—21/2——O—O—O—O—1———O—O—O——

Riff 5

G|—————————————————————————————————————————————————————
D|—————————————————————————————————————————————————————
A|——7—8——/11——12—11—8——7—8——/11——12—11—8———————————————
E|———————————————————————————————————————O—O—O——O—O—O——

Riff 6

G|————————————————————————————————————————————————
D|————————————————————————————————————————————————
A|————————————————————————————————————————————————
E|——O—1——/4——5—4—1——0—1——/4——5—4—1——O—O—O——O—O—O——

Ending

G|——————————————
D|——————————————
A|——————————————
E|——1—1—1——0——0—

Song Structure:

Intro———X1
Riff 1——X4
Riff 2——X1
Riff 3——X12
Riff 1——X8
Riff 3——X12
Riff 1——X8
Riff 4——X4
Riff 2——X1
Riff 5——X2
Riff 6——X2
Ending——X1

At the Drive-In / Son et Lumiere & Inertiatic ESP

Son et Lumiere

piano part(on guitar)
e---11----12----11----12----11----12--|
b-9-----10----9-----10----9-----10----|
g-------------------------------------|
d-------------------------------------|
a-------------------------------------|
e-------------------------------------|

enter bass (1:14)
G------------------------------------------------------------------|
d------------------------------------------------------------------|
a------------------------------------------------------------------|
e-777-7-97-|777777-|-777-7-97-|--77--|--7--|---797--|--7--|----797-|

Intertiatic esp

Opening

G
D
A-22222
E

This chorus is played with a really fast staccato picking style, so im not totally sure how many times to hit the string, but just follow the rhythm.

G------------------------------------
D------------------------------------
A-7777----------9999-----------------
E------10101010------7777-9-7--------

Verse (*= fast staccato picking)
G---------------------I----------------------------
D---------------------I----------------------------
A-77------99----------I-77-------------------------
E----1010---*7777-9-7-I----1010-99-77-9-7----------

Breakdown
G--------------------I
D--------------------I
A------7-------99----I
E-7777---10-10----7--I

Another take

Chorus

|-----------------------------------|
|-2-2-2-2--0-0-0-0--5-5-5-5---------|
|---------------------------2-2-5-2-|
|-----------------------------------| x4

Verse Riff 1

|------------------------|
|-2-2--0-0--4-4----------|
|----------------2-2-5-2-|
|------------------------|

Riff 2

|------------------------|
|-2-2--0-0---------------|
|-----------4-4--2-2-5-2-|
|------------------------|

Alternate between these two starting on the first riff for a total of 6 riffs, then end the verse with this, then falling back directly into the revised chorus:

|-----------------|
|-2--0--5---------|
|----------2-2-5-2|
|-----------------|

Here he plays the chorus again for 6 riffs.

Alternate between the two verse riffs here, starting and ending on Riff 1, and playing the verse for a total of 7 riffs.

Here you play the chorus another 6 times, tying the end of the last chorus into this riff:

Refrain

|---------------------------|
|-------------2-2-2-4-4-0-0-|
|-2-2-2-5-5-5---------------|
|---------------------------|

First play this 4 times ending on the G#, then play it again 16 times.

After the refrain the guitar does it's 3 chords, and you go back into the chorus for 4 riffs.

He ends the song playing this with the guitar and the snare drum:

Ending

|-------------------------------|
|-2-2-2-2---------------2-2-2-2-|
|------------2-2-5-2------------|
|-------------------------------|

The song goes like this:

Chorus x4 Verse x6 Chorus x6 Verse x7 Chorus x6 Refrain x4 Refrain x16 Chorus x4 Ending

Yet Another Take:

Intro:

G|---------------|------------|--------------|------|---|
D|---------------|------------|--------------|------|---|
A|---------------|------------|--------------|------|---|
E|-11-11-10-10-14|-11-11-10-10|-11-11-10-10-8|-11-11|-11|

G|---------|---|---------|---------------
D|---------|---|---------|---------------
A|---------|---|---------|---------------
E|-11-10-11|-11|-11-10-11|-11-10-11-10-14

VERSE:

 part 1
G|------------------------------------------------(x4)
D|------------------------------------------------
A|------------------------------------------------
E|-11-11-11-11-10-10-10-10-14-14-14-14-12-12-12-12
  part 2
G|------------------------(x6)
D|------------------------
A|------------------------
E|-11-11-10-10-14-14-12-12

 part 3
G|--------
D|--------
A|-------9
E|-11-10--

 part1
  part2
 part1

G|----------------------------|
D|----------------------------|  25 times im not sure
A|-------------9-9-11-11-13-13|
E|-11-11-10-10----------------|

part 1

finish:
G|---------------|----------------|
D|---------------|----------------|
A|---------------|----------------|
E|-11-11-10-10-14|-11-11-10-10-8-8

The Surfaris - Ghost Riders In The Sky

e------------------------------------------------------------|
b------------------------------------------------------------|
g---------------------------------------------2-4-44---4-----|
d----2-22-4-5-55-2----------------2-22-4-5-55--------5-------|
a--2---------------5-55-2-5-----2----------------------------|
e------------------------------------------------------------|

e----------------------------------------------------|
b------5-5-55----------------------------------------|
g--4-4--------4-4-44---------------------------------|
d--------------------5-2----------5-55---4/5-22---2--|
a------------------------2-3-33-3---------------5----|
e----------------------------------------------------|

e-----------|
b-----------|
g----44--44-|
d--2--------|
a------2----|
e-----------|

The Surfaris - Wipeout

g0-3-4-5-5-5-3-0-0-3-4-5-5-5-3-0---------------------------------
d--------------------------------0-3-4-5-5-5-3-0-0-3-4-5-5-5-3-0-
a----------------------------------------------------------------
e----------------------------------------------------------------

g3-5-6-7-7-7-5-3-0-3-4-5-5-5-3-0---------------------------------
d--------------------------------0-3-4-5-5-5-3-0-3-3-3-0---------
a----------------------------------------------------------------
e----------------------------------------------------------------

{ Retro / Synth / Dark } Wave

    • Carpenter Brut
    • Perturbator
    • Power Glove
    • Lazerhawk
    • Mitch Mordor
    • Vogel
    • Kazinsky
    • Mr Kitty
    • Scandroid
    • Neon Deflector
    • Rogue VHS
    • Turbo VCR
    • LVX
    • Tetrachrome
    • Moondragon
    • 7he Myriads
    • 20SIX Hundred
    • AEON Rings
    • Alpha Boy
    • Betamaxx
    • Com Truise
    • Miami Nights 1984
    • Megadrive
    • Makeup and Vanity Set
    • OGRE Sound
    • Tangerine Dream
    • Jam Hammer
    • Whilefalse
    • Superflight
    • Edictum
    • Shadowrunner
    • Phono Ghosts
    • Basphlem
    • Primorph
    • Sandman
    • Humanity in Decay
    • Mitch Hunt
    • The Abyss
    • Mezhdunami
    • Virtual Mage
    • Lazermortis
    • Wyndsrfr
    • Mulperi
    • Saffari
    • Basker Hral
    • Arctic Mega Defender
    • Dreamstate 42
    • Absolute Valentine

Classical Music

Jazz

Years

  • 1920
  • 1930
  • 1940
  • 1950
  • 1960
  • 1970
  • 1980
  • 1990
  • 2000
  • 2010

Artists

  • john scofield
  • pat metheny
  • thelonius monk
  • miles davis
  • chet baker
  • john coltrane
  • charlie parker
  • don byas
  • chu berry
  • lucky thompson
  • horace silver
  • roy eldrige
  • benny harris
  • jack teagarden
  • eral hines
  • mint hinton
  • denzil best
  • barney bigard
  • stan getz
  • al halg
  • lester young
  • dave brubeck
  • cole porter

Miscellaneous

Aikido

Table of Contents


Resumen de Tecnicas

Fundamentos

  • Shisei
  • Kokyu
  • kamae
  • Ma Ai
  • Irimi
  • Tenkan
  • Ura / Omote
  • Tai Sabaki
  • Atemi
  • Kokyu Ryoku
  • Ukemi
    • Mae Ukemi
    • Yoko Ukemi
    • Ushiro Ukemi
    • Zempo Kaiten Ukemi

Posiciones

  • SUWARI WAZA
    • Seiza
  • TACHI WAZA
    • Ai Hanmi
    • Gyaku Hanmi

Ataques

  • GOLPES DE FRENTE:
    • Shomen Uchi
    • Yokomen Uchi
    • Mae Giri
    • Jodan Tsuki (upper-level thrust)
    • Ganmen Tsuki (face punch)
    • Mune Tsuki (chest thrust)
    • Chudan Tsuki (middle-level thrust)
    • Choku Tsuki (direct thrust)
    • Kiawase Shomen Uchi
  • AGARRE Y GOLPE DE FRENTE:
    • Kata Dori Men Uchi
    • Sode Dori Jodan Tsuki
    • Mune Dori Men Uchi
  • AGARRE POR ESPALDA Y GOLPE:
    • Ushiro Eri Dori Men Uchi

Agarres

  • AGARRES FRENTE:
    • Hai Hanmi Katate Dori
    • Gyaku Hanmi Katate Dori
    • Sode Dori
    • Kata Dori
    • Katate Dori (one hand grabs one wrist)
    • Mune Dori (chest grab)
    • Ryote Dori (both hands grab both wrists)
    • Ryo Sode Dori
    • Ryo Kata Dori
    • Katate Ryote Dori
    • Morote Dori (both hands grab one wrist)
  • AGARRES DE ESPALDA:
    • Ushiro Ryote Dori
    • Ushiro Ryo Hiji Dori
    • Ushiro Ryo Kata Dori
    • Ushiro Eri Dori
    • Ushiro Haga Ijime
    • Ushiro Kata Dori Kubi Shime
  • AGARRES LATERALES:
    • Hanmi Handachi Katate Dori

Tecnicas Basicas

  • Kote Gaeshi (forearm return)
    • Tachi Waza Hai Hanmi Katate Dori Kote Gaeshi Omote
    • Tachi Waza Hai Hanmi Katete Dory Kote Gaeshi Ura
    • Tachi Waza Chudan Tsuki Kote Gaeshi Omote (6)
    • Tachi Waza Chudan Tsuki Kote Gaeshi Ura (6)
  • Irimi Nage (entering throw)
    • Tachi Waza Hai Hanmi Katate Dori Irimi Nage Omote
    • Tachi Waza Hai Hanmi Katate Dori Irimi Nage Ura
    • Tachi Waza Shomen Uchi Irimi Nage Omote (6)
    • Tachi Waza Shomen Uchi Irimi Nage Ura (6)
  • Shiho Nage (four direction throw)
    • Tachi Waza Hai Hanmi Katate Dori Shiho Nage Omote (6)
    • Tachi Waza Hai Hanmi Katete Dori Shiho Nage Ura (6)
    • Tachi Waza Yokomen Uchi Shiho Nage Omote (6)
    • Tachi Waza Yokomen Uchi Shiho Nage Ura (6)
  • Tenchi Nage (heaven and earth throw)
  • Kokyu Nage (breath throw)
  • Koshi Nage (hip throw)
  • Uchi Kaiten Nage (rotary throw)
  • Soto Kaiten Nage (rotary throw)
  • Juji Nage (figure ten throw)
  • Sumi Otoshi
  • Aiki Otoshi
  • Ushiro Kiri Otoshi
  • Kokyu Ho
    • Tachi Waza Kokyu Ho (6)
    • Suwari Waza Kokyu Ho (6)
  • Juji Garami
  • Ude Garami

Tecnicas de Inmovilizacion

  • Ikkyo (first technique)
    • Tachi Waza Shomen Uchi Ikkyo Omote (6)
    • Tachi Waza Shomen Uchi Ikkyo Ura (6)
    • Tachi Waza Hai Hanmi Katate Dori Ikkyo Omote
    • Tachi Waza Hai Hanmi Katate Dori Ikkyo Ura
  • Nikkyo (second technique)
  • Sankyo (third technique)
    • Katate Dori Sankyo
  • Yonkyo (fourth technique)
  • Gokyo (fifth technique)
  • Hiji Kimi Osae

Otras Tecnicas

  • Uchi Kaiten Sankyo
  • Ude Kimi Nage

Checklists

Shopping

Food

Hygiene

Travel

Minimal Travel Kit

Car

  • Recipiente gasolina y manguera

Nature & Vacations

  • Llave extra del auto
  • Libro de aves
  • Libro de arboles
  • Protector solar
  • Reposeras
  • Camperas
  • Calzado
    • Ojotas
    • Botas
    • Zapatillas

Car

Start Car

  1. buckle up
  2. release hand brake, engage foot brake
  3. ensure gear is in neutral
  4. insert key into ignition
  5. check mirrors for cars
  6. ignition
  7. turn on position lights
  8. engage clutch
  9. engage first gear/reverse gear
  10. release foot brake
  11. release clutch
  12. engage accelerator
  13. liftoff

Cooking

Arroz von Hongos

Ingredientes

  • 400g Arroz carnaroli
  • 1 Cebolla
  • 300g Hongos frescos (champiñones, gírgolas, portobellos, etc.)
  • 100g Hongos de pino secos
  • 150g Queso reggianito rallado
  • 200g Crema de leche
  • ½ vaso Vino blanco
  • 1l Caldo de verduras
  • 50g Manteca
  • Aceite de oliva
  • 1 hoja Laurel,
  • Sal y pimienta a gusto

Preparación

  • Picar muy finamente la cebolla.
  • Poner a remojar en agua los hongos secos.
  • Cortar en láminas los hongos frescos y saltearlos en manteca con aceite de oliva.
  • Rehogar la cebolla picada en aceite hasta que transparente.
  • Incorporar el arroz y cocinar revolviendo hasta que el arroz transparente.
  • Agregar el vino y cocinar unos minutos hasta que se evapore el alcohol.
  • Incorporar al arroz los hongos frescos y la hoja de laurel.
  • Escurrir los hongos secos y cortarlos.
  • Añadir los hongos secos al arroz.
  • Incorporar el caldo en la medida que se vaya cocinando el arroz, revolviendo de vez en cuando.
  • Cuando el arroz esté casi listo (unos 15 minutos de cocción) incorporar la crema de leche, calentar mezclando, salpimentar a gusto, tapar la olla y retirar del fuego.
  • Dejar reposar durante 5 minutos.
  • Servir el arroz cubierto con queso rallado

Croquetas de Acelga o Espinaca

Preparacion

  • Se hierve la verdura
    • Si es acelga, primero el tallo y despues la hoja
    • Si es espinaca, todo junto
  • Se rehoga y cocina la cebolla hasta que este glaceada rubia pero no tostada y se pica
  • Por cada paquete de acelga, tres huevos y medio paquete de queso rallado
  • Sal, pimienta y paprika a ojo
  • Se pica todo con la mini primer
  • Se le agrega harina leudante hasta que la mezcla se pone espesa
  • A ultimo momento, antes de ponerlo en la essen, se le pone quaker para que no se ponga chicloso
  • Cuando las das vuelta le pones mozzarella

Glühwein

  • vino (750ml)
  • canela (2 ramas)
  • cardamomo (4 vainas)
  • clavo de olor (6 clavos)
  • anis estrellado (2 estrellas)
  • nuez moscada (1 pizca)
  • cascara de limon o naranja
  • vainilla (2 cucharadas)
  • azucar negra o miel (60g / 8 cucharadas)

Otras especias:

  • laurel malabar
  • azafran
  • coriando
  • tomillo

Pasos:

  • calentar todo 1 hora sin hervir ni pasar los 60 C

Hotcakes

Es lo mismo que panqueue, pero mas baking powder y manteca, y agregarle una pizca de sal y escencia de vainilla.

prep 10 min
bake 10-20 min 

240g  harina LEUDANTE
35g   azucar
1     teaspoon baking powder
1     teaspoon baking soda
1/2   teaspoon salt
454g  buttermilk
28g   melted butter
25g   vegetable oil
1 1/2 teaspoon vanilla extract

nota: la cantidad de leche es mentira, se necesitan 500g de harina para esa cantidad de leche

In a large bowl, whisk together the flour, sugar, baking powder, baking soda, and salt.

In a separate bowl or large measuring cup, whisk together the egg, buttermilk, butter or oil, and vanilla.

Pour the wet ingredients into the dry ingredients, stirring to combine. Stir until the mixture is fairly smooth; some small lumps are OK.

Allow the batter to rest, uncovered, for 15 minutes.

While the batter is resting, heat a large skillet over medium heat or preheat a griddle to 350°F, until the surface is hot enough for a droplet of water to skitter across it. Lightly grease the pan with butter or vegetable oil.

Spoon the batter, 1/4 cup at a time, onto the hot surface; a scone and muffin scoop works well here.

Cook pancakes on the first side until bubbles form on the tops and the bottoms are brown, about 1 to 2 minutes. Flip and cook until the bottoms are brown, 1 to 2 minutes longer.

Serve immediately, or hold briefly in a warm oven.

Leftover pancakes can be frozen the same day they're made and reheated in a 250°F oven.


To make extra-fluffy pancakes: Mix the batter as directed, but separate the egg. Add the yolk to the buttermilk, butter, and vanilla; reserve the white. While the batter is resting, add an additional egg white to the reserved white, and whip the two until medium to stiff peaks form. Fold the whipped egg whites into the batter just before portioning onto a hot griddle.


To make rich, buttery pancakes: Mix the batter together incorporating any of the adjustments detailed in our blog post, How to make buttery pancakes. These adaptations include doubling the butter, adding an extra egg yolk, using full-fat dairy, letting the batter rest, and cooking the pancakes in additional butter.

Mayonesa

  • Huevo a la misma temperatura que el aceita, a temperatura de ambiente, no debe estar frio
  • Nada de agua en el recipiente, ni una gota
  • Tirar aceite en hilo fino hasta que espese
  • Sal, pimienta blanca, ajo, fresco, picado, juego de un limon, vinagre

Pan de Masa Madre

Masa madre

Harina de centeno integral-comienzo con 100 gramos de harina y 100 mil de agua, luego alimento 25 gr de harina de centeno y 25 ml de agua diariamente a la misma hora durante 7 a 10 días.

Pan

250 harina integral; 50 gr semillas remojadas en el agua; 190 agua; 6gr sal; 100 gr masa madre Opcional: ajo fresco, hierbas, pimienta, queso

Procedimiento:

  1. MEZCLO HARINA, AGUA YA CON LAS SEMILLAS, SAL Y (AJO) Y DEJO AGLUTINAR 1 O 2 HORAS
  2. AGREGO 100 gramos de MASA MADRE Y DEJO LEVAR 2 HORAS
  3. PLIEGO CUATRO VECES A INTERVALOS DE 20/30 MINUTOS
  4. PONGO EN HELADERA UNA NOCHE
  5. SACO DE HELADERA DEJO A TEMPERATURA AMBIENTE 2 HS MIENTRAS CALIENTO HORNO A MAX 220 C0
  6. COLOCO EN MOLDE Y TAJEO ARRIBA
  7. COCINO EN HORNO TIPO HOLANDES 20 MIN TAPADO Y 25 MIN DESTAPADO

Para budinera Pyrex 1.5L:

  • 350 harina integral
  • 140 masa madre
  • 280 ml agua
  • Semillas 56 gr
  • 9 gr sal

Pancakes

  • 2 eggs
  • 2 cups milk
  • 2 cups flour
  • 1 tbsp sugar
  • 1 tbsp salad oil
  • 1 tsp baking powder
  • 1/2 tsp salt

Sopa de Arvejas

Ingredientes

  • Tomillo
  • Perejil
  • Oregano
  • Laurel
  • Albahaca
  • Nuez moscada
  • 1/2 kg arvejas partidas
  • 1 cuchadrada sopera de ajo disecado picado
  • Pizca de sal

Preparacion

  • Hervir hasta que las arvejas estan blandas
  • Agregar los condimentos

CyberPunk

Table of Contents


Cyberpunk is a postmodern and science fiction genre noted for its focus on "high tech and low life."[1][2] The name is a portmanteau of cybernetics and punk, and was originally coined by Bruce Bethke as the title of his short story "Cyberpunk," published in 1983.[3][4] It features advanced science, such as information technology and cybernetics, coupled with a degree of breakdown or radical change in the social order.[5] Cyberpunk works are well situated within postmodern literature.[6]

Cyberpunk plots often center on a conflict among hackers, artificial intelligences, and megacorporations, and tend to be set in a near-future Earth, rather than the far-future settings or galactic vistas found in novels such as Isaac Asimov's Foundation or Frank Herbert's Dune.[7] The settings are usually post-industrial dystopias but tend to be marked by extraordinary cultural ferment and the use of technology in ways never anticipated by its creators ("the street finds its own uses for things").[8] Much of the genre's atmosphere echoes film noir, and written works in the genre often use techniques from detective fiction.[9]

"Classic cyberpunk characters were marginalized, alienated loners
who lived on the edge of society in generally dystopic futures where
daily life was impacted by rapid technological change, an ubiquitous
datasphere of computerized information, and invasive modification of
the human body." – Lawrence Person[10]

Style and ethos

Primary exponents of the cyberpunk field include William Gibson, Neal Stephenson, Bruce Sterling, Pat Cadigan, Rudy Rucker, and John Shirley.[11]

Many influential films such as Blade Runner and the Matrix trilogy can be seen as prominent examples of the cyberpunk style and theme.[7] Computer games, board games, and role-playing games, such as Cyberpunk 2020 and Shadowrun, often feature storylines that are heavily influenced by cyberpunk writing and movies. Beginning in the early 1990s, some trends in fashion and music were also labeled as cyberpunk. Cyberpunk is also featured prominently in anime,[12] Akira and Ghost in the Shell being among the most notable.[12]

Setting

Cyberpunk writers tend to use elements from the hard-boiled detective novel, film noir, and postmodernist prose to describe the often nihilistic underground side of an electronic society. The genre's vision of a troubled future is often called the antithesis of the generally utopian visions of the future popular in the 1940s and 1950s. Gibson defined cyberpunk's antipathy towards utopian SF in his 1981 short story "The Gernsback Continuum," which pokes fun at and, to a certain extent, condemns utopian science fiction.[16][17][18]

In some cyberpunk writing, much of the action takes place online, in cyberspace, blurring the border between actual and virtual reality.[19] A typical trope in such work is a direct connection between the human brain and computer systems. Cyberpunk depicts the world as a dark, sinister place with networked computers dominating every aspect of life. Giant, multinational corporations have for the most part replaced governments as centers of political, economic, and even military power.

Protagonists

Protagonists in cyberpunk writing usually include computer hackers, who are often patterned on the idea of the lone hero fighting injustice, such as Robin Hood.[20] One of the cyberpunk genre's prototype characters is Case, from Gibson's Neuromancer.[21] Case is a "console cowboy," a brilliant hacker who had betrayed his organized criminal partners. Robbed of his talent through a crippling injury inflicted by the vengeful partners, Case unexpectedly receives a once-in-a-lifetime opportunity to be healed by expert medical care but only if he participates in another criminal enterprise with a new crew.

Like Case, many cyberpunk protagonists are manipulated, placed in situations where they have little or no choice, and although they might see things through, they do not necessarily come out any further ahead than they previously were. These anti-heroes—"criminals, outcasts, visionaries, dissenters and misfits"[22] call to mind the private eye of detective novels. This emphasis on the misfits and the malcontents is the "punk" component of cyberpunk.

Society and government

Cyberpunk can be intended to disquiet readers and call them to action. It often expresses a sense of rebellion, suggesting that one could describe it as a type of culture revolution in science fiction. In the words of author and critic David Brin:

...a closer look [at cyberpunk authors] reveals that they nearly
always portray future societies in which governments have become
wimpy and pathetic ...Popular science fiction tales by Gibson,
Williams, Cadigan and others do depict Orwellian accumulations of
power in the next century, but nearly always clutched in the
secretive hands of a wealthy or corporate elite.[23]

Cyberpunk stories have also been seen as fictional forecasts of the evolution of the Internet. The earliest descriptions of a global communications network came long before the World Wide Web entered popular awareness, though not before traditional science-fiction writers such as Arthur C. Clarke and some social commentators such as James Burke began predicting that such networks would eventually form.[24]

Media

Literature

The science-fiction editor Gardner Dozois is generally acknowledged as the person who popularized the use of the term "cyberpunk" as a kind of literature, although Minnesota writer Bruce Bethke coined the term in 1980 for his short story "Cyberpunk," which was published in the November 1983 issue of Amazing Science Fiction Stories.[25] The term was quickly appropriated as a label to be applied to the works of William Gibson, Bruce Sterling, Pat Cadigan and others. Of these, Sterling became the movement's chief ideologue, thanks to his fanzine Cheap Truth. John Shirley wrote articles on Sterling and Rucker's significance.[26]

William Gibson with his novel Neuromancer (1984) is likely the most famous writer connected with the term cyberpunk. He emphasized style, a fascination with surfaces, and atmosphere over traditional science-fiction tropes. Regarded as ground-breaking and sometimes as "the archetypal cyberpunk work,"[10] Neuromancer was awarded the Hugo, Nebula, and Philip K. Dick Awards. After Gibson's popular debut novel, Count Zero (1986) and Mona Lisa Overdrive (1988) followed. According to the Jargon File, "Gibson's near-total ignorance of computers and the present-day hacker culture enabled him to speculate about the role of computers and hackers in the future in ways hackers have since found both irritatingly naive and tremendously stimulating."[27]

Early on, cyberpunk was hailed as a radical departure from science-fiction standards and a new manifestation of vitality.[28] Shortly thereafter, however, many critics arose to challenge its status as a revolutionary movement. These critics said that the SF New Wave of the 1960s was much more innovative as far as narrative techniques and styles were concerned.[29] Furthermore, while Neuromancer's narrator may have had an unusual "voice" for science fiction, much older examples can be found: Gibson's narrative voice, for example, resembles that of an updated Raymond Chandler, as in his novel The Big Sleep (1939).[28] Others noted that almost all traits claimed to be uniquely cyberpunk could in fact be found in older writers' works—often citing J. G. Ballard, Philip K. Dick, Harlan Ellison, Stanisław Lem, Samuel R. Delany, and even William S. Burroughs.[28] For example, Philip K. Dick's works contain recurring themes of social decay, artificial intelligence, paranoia, and blurred lines between objective and subjective realities, and the influential cyberpunk movie Blade Runner is based on one of his books. Humans linked to machines are found in Pohl and Kornbluth's Wolfbane (1959) and Roger Zelazny's Creatures of Light and Darkness (1968).

In 1994, scholar Brian Stonehill suggested that Thomas Pynchon's 1973 novel Gravity's Rainbow "not only curses but precurses what we now glibly dub cyberspace."[30] Other important predecessors include Alfred Bester's two most celebrated novels, The Demolished Man and The Stars My Destination,[31] as well as Vernor Vinge's novella True Names.[32]

Science-fiction writer David Brin describes cyberpunk as "the finest free promotion campaign ever waged on behalf of science fiction." It may not have attracted the "real punks," but it did ensnare many new readers, and it provided the sort of movement that postmodern literary critics found alluring. Cyberpunk made science fiction more attractive to academics, argues Brin; in addition, it made science fiction more profitable to Hollywood and to the visual arts generally. Although the "self-important rhetoric and whines of persecution" on the part of cyberpunk fans were irritating at worst and humorous at best, Brin declares that the "rebels did shake things up. We owe them a debt."[33]

Cyberpunk further inspired many professional writers who were not among the "original" cyberpunks to incorporate cyberpunk ideas into their own works, such as George Alec Effinger's When Gravity Fails. Wired magazine, created by Louis Rossetto and Jane Metcalfe, mixes new technology, art, literature, and current topics in order to interest today’s cyberpunk fans, which Paula Yoo claims "proves that hardcore hackers, multimedia junkies, cyberpunks and cellular freaks are poised to take over the world."[34]

Film and television

The film Blade Runner (1982), adapted from Philip K. Dick's Do Androids Dream of Electric Sheep?, is set in 2019 in a dystopian future in which manufactured beings called replicants are slaves used on space colonies and are legal prey on Earth to various bounty hunters who "retire" (kill) them. Although Blade Runner was largely unsuccessful in its first theatrical release, it found a viewership in the home video market and became a cult film.[35] Since the movie omits the religious and mythical elements of Dick's original novel (e.g. empathy boxes and Wilbur Mercer), it falls more strictly within the cyberpunk genre than the novel does. William Gibson would later reveal that upon first viewing the film, he was surprised at how the look of this film matched his vision when he was working on Neuromancer. The film's tone has since been the staple of many cyberpunk movies, such as The Matrix (1999), which uses a wide variety of cyberpunk elements.

The number of films in the genre or at least using a few genre elements has grown steadily since Blade Runner. Several of Philip K. Dick's works have been adapted to the silver screen. The films Johnny Mnemonic[36] and New Rose Hotel,[37][38] both based upon short stories by William Gibson, flopped commercially and critically.

In addition, "tech-noir" film as a hybrid genre, means a work of combining neo-noir and science fiction or cyberpunk. It includes many cyberpunk films such as Blade Runner, The Terminator, 12 Monkeys, The Lawnmower Man, Hackers, Hardware, and Strange Days.

Anime and manga

Cyberpunk themes are widely visible in anime and manga. In Japan, where cosplay is popular and not only teenagers display such fashion styles, cyberpunk has been accepted and its influence is widespread. William Gibson’s Neuromancer, whose influence dominated the early cyberpunk movement, was also set in Chiba, one of Japan’s largest industrial areas, although at the time of writing the novel Gibson did not know the location of Chiba and had no idea how perfectly it fit his vision in some ways. The exposure to cyberpunk ideas and fiction in the mid 1980s has allowed it to seep into the Japanese culture. Even though most anime and manga is written in Japan, the cyberpunk anime and manga have a more futuristic and therefore international feel to them so they are widely accepted by all. “The conceptualization involved in cyberpunk is more of forging ahead, looking at the new global culture. It is a culture that does not exist right now, so the Japanese concept of a cyberpunk future, seems just as valid as a Western one, especially as Western cyberpunk often incorporates many Japanese elements.”[39] William Gibson is now a frequent visitor to Japan, and he came to see that many of his visions of Japan have become a reality:

Modern Japan simply was cyberpunk. The Japanese themselves knew it
and delighted in it. I remember my first glimpse of Shibuya, when
one of the young Tokyo journalists who had taken me there, his face
drenched with the light of a thousand media-suns—all that towering,
animated crawl of commercial information—said, "You see? You see? It
is Blade Runner town." And it was. It so evidently was.[40]

Cyberpunk has influenced many anime and manga including the ground-breaking Armitage III, Blame!, Akira, Battle Angel Alita and Ghost in the Shell.

Games & Online

Several role-playing games (RPGs) called Cyberpunk exist: Cyberpunk, Cyberpunk 2020 and Cyberpunk v3, by R. Talsorian Games, and GURPS Cyberpunk, published by Steve Jackson Games as a module of the GURPS family of RPGs. Cyberpunk 2020 was designed with the settings of William Gibson's writings in mind, and to some extent with his approval[citation needed], unlike the approach taken by FASA in producing the transgenre Shadowrun game. Both are set in the near future, in a world where cybernetics are prominent. In addition, Iron Crown Enterprises released an RPG named Cyberspace, which was out of print for several years until recently being re-released in online PDF form.

In 1990, in a convergence of cyberpunk art and reality, the United States Secret Service raided Steve Jackson Games's headquarters and confiscated all their computers. This was allegedly because the GURPS Cyberpunk sourcebook could be used to perpetrate computer crime. That was, in fact, not the main reason for the raid, but after the event it was too late to correct the public's impression.[41] Steve Jackson Games later won a lawsuit against the Secret Service, aided by the new Electronic Frontier Foundation. This event has achieved a sort of notoriety, which has extended to the book itself as well. All published editions of GURPS Cyberpunk have a tagline on the front cover, which reads "The book that was seized by the U.S. Secret Service!" Inside, the book provides a summary of the raid and its aftermath.

Cyberpunk has also inspired several tabletop, miniature and board games. Netrunner is a collectible card game introduced in 1996, based on the Cyberpunk 2020 role-playing game.

Computer games have frequently used cyberpunk as a source of inspiration, such as the Deus Ex series and the System Shock series as well as the MMORPG Neocron. Other games, like Blade Runner and the Matrix games, are based upon genre movies. Electronic Arts and Tilted Mill also published a game called SimCity Societies in 2007 which features the ability for a cyberpunk society along with numerous others. While it is arguable as to whether or not the game as a whole should be classified as cyberpunk, the widely popular Final Fantasy VII features many elements of cyberpunk fiction, particularly in regards to its portrayals of the world-ruling technological corporation Shinra and the dystopian city of Midgar, which is the center of Shinra power.

In Second Life, the cities of Hangars Liquides [4] [42], Insilico[43] and S.I.C.[44] are also influenced by the Cyberpunk theme.

Another game was Hell: A Cyberpunk Thriller on the 3DO System.

Social impact

Society and counterculture

Several subcultures have been inspired by cyberpunk fiction. These include the Cyberdelic counter culture of the late 80s and early 90s. Cyberdelic, whose adherents referred to themselves as "cyberpunks," attempted to blend the psychedelic art and drug movement with the technology of cyberculture. Early adherents included Timothy Leary, Mark Frauenfelder and R. U. Sirius. The movement largely faded following the dot-com bubble implosion of 2000.

Cybergoth is a fashion and dance subculture which draws its inspiration from cyberpunk fiction, as well as rave and gothic subcultures.

In addition, a distinct cyberpunk fashion of its own has emerged in recent years which rejects the raver and goth influences of cybergoth.

Arts and aesthetics

Literary subgenres and connected genres

As a wider variety of writers began to work with cyberpunk concepts, new sub-genres of science fiction emerged, some which could be considered as playing off the cyberpunk label, others which could be considered as legitimate explorations into newer territory. These focused on technology and its social effects in different ways. One prominent subgenre is "steampunk," which is set in an alternate history Victorian era that combines anachronistic technology with cyberpunk's bleak film noir world view. The term was originally coined around 1987 as a joke to describe some of the novels of Tim Powers, James P. Blaylock, and K.W. Jeter, but by the time Gibson and Sterling entered the subgenre with their collaborative novel The Difference Engine the term was being used earnestly as well.[47]

Another subgenre is "biopunk" (cyberpunk themes dominated by biotechnology) from the early 1990s, a derivative style building on biotechnology rather than informational technology. In these stories, people are changed in some way not by mechanical means, but by genetic manipulation. Paul Di Filippo is seen as the most prominent biopunk writer, including his half-serious ribofunk. Bruce Sterling's Shaper/Mechanist cycle is also seen as a major influence. In addition, some people consider works such as Neal Stephenson's The Diamond Age to be postcyberpunk.

Music

Some musicians and acts have been classified as cyberpunk due to their aesthetic style and musical content. Often dealing with dystopian visions of the future or biomechanical themes, some fit more squarely in the category than others. Bands whose music has been classified as cyberpunk include Psydoll, Front Line Assembly, Atari Teenage Riot and Sigue Sigue Sputnik. Some musicians not normally associated with cyberpunk have at times been inspired to create concept albums exploring such themes. Nine Inch Nails' concept album Year Zero fits into this category. Billy Idol's Cyberpunk drew heavily from cyberpunk literature and the cyberdelic counter culture in its creation. 1. Outside, a cyberpunk narrative fueled concept album by David Bowie, was warmly met by critics upon its release in 1995. Many musicians have also taken inspiration from specific cyberpunk works or authors, including Sonic Youth, whose albums Sister and Daydream Nation take influence from the works of Phillip K. Dick and William Gibson respectively.

Industrial music can be seen as cyberpunk, as well as various electronic body music acts.

Postcyberpunk

As new writers and artists began to experiment with cyberpunk ideas, new varieties of fiction emerged, sometimes addressing the criticisms leveled at the original cyberpunk stories. Lawrence Person wrote in an essay he posted to the Internet forum Slashdot:

Many writers who grew up reading in the 1980s are just now starting
to have their stories and novels published. To them cyberpunk was
not a revolution or alien philosophy invading science fiction, but
rather just another flavor of science fiction. Like the writers of
the 1970s and 80s who assimilated the New Wave's classics and
stylistic techniques without necessarily knowing or even caring
about the manifestos and ideologies that birthed them, today's new
writers might very well have read Neuromancer back to back with
Asimov's Foundation, John Brunner's Stand on Zanzibar, and Larry
Niven's Ringworld and seen not discontinuities but a continuum.[2]

Person's essay advocates using the term postcyberpunk to label the new works such writers produce. In this view, typical postcyberpunk stories continue the focus on a ubiquitous datasphere of computerized information and cybernetic augmentation of the human body, but without the assumption of dystopia (see Technological utopianism). Good examples are Neal Stephenson's The Diamond Age and Bruce Sterling's Holy Fire. In television, Ghost in the Shell: Stand Alone Complex has been called "the most interesting, sustained postcyberpunk media work in existence."[4] In 2007, SF writers James Patrick Kelly and John Kessel published Rewired: The Post-Cyberpunk Anthology. Like all categories discerned within science fiction, the boundaries of postcyberpunk are likely to be fluid or ill defined.[5]

Ghost in the Shell

Believe me, I know how you feel! Once I watched the 1st and 2nd seasons, I realized no anime came close in terms of plot, characters, sociology, politics, and philosophy. I've been trying to find things that are similar to GITS (anime that is) but I can only really find things that are maybe a quarter-similar.

I would recommend getting the Ghost in the Shell manga (even if you don't read manga), watching all the GITS movies (including the original '95 one, Innocence, and the Solid State Society movie), and getting the manga "Eden, it's an Endless World" (the closest thing I have seen to GITS so far in terms of philosophy, cybernetics, etc.).

Other animes that remind me of GITS that I recommend you watching: Akira, Angel Cop (no matter how much people may hate this anime, I love it and it's cyberpunk), Appleseed, Armitage III, Bubblegum Crisis (tokyo 2040), Pumpkin Scissors (this is NOT a cyberpunk anime, but it is a military type anime similar in organization to Section 9), Silent Mobius, Casshern Sins, Cyborg 009, Patlabor, Texhnolyze, Steamboy (not cyberpunk technically, but steampunk), Strait Jacket, Eve no Jikan, Toshokan Sensou (not cyberpunk, but interesting in that it has to do with censorship with various media, like books), and Witch Hunter Robin (not cyberpunk, but again, the teamwork and investigations are a lot like Section 9).

I would recommend watching Appleseed and Witch Hunter Robin first.

Other GITS material are the video games. There's one for the PS1 and there's another called "Ghost in the Shell: Stand Alone Complex" for the PS2. There's also a psp GITS game, but it's not good. So I recommend the PS2 GITS game, which is pretty good. I have played it, but it's a rather short game (like 5 hours). Also, I don't know why, but I would strongly play the Metal Gear Solid games. MGS has nothing to do with GITS in anyway (different genres, different technologies, etc.), but it deals with a lot of things that GITS might: political corruption, nuclear weapons, military stuff, sociology, and once in a while philosophy. Also, MGS has amazing characters like what GITS does. The stories will pull you right in.

Also, there's fanfiction if you like, but I can't recommend any one author. If you want, I can provide my ff.net username to you as I have written at least 4 GITS fan-fics. Most people seem to like them, but they are short one shots.

Once a GITS convert, always a GITS convert. Also, try the movie Blade Runner.

Margeary is dreaming of horses.

Rise and rise again-until lambs become lions.

In that regard, I'd recommend (these are cyberpunk) Blade Runner of course, eXistenZ, Avalon, Strange Days, Metropolis (2001), Natural City (it was alright), Videodrome, Robocop Other thought provoking SF cinema: Jacob's Ladder, Solaris, Memories (anime)

You might like the Korean animation Sky Blue (aka Wonderful Days) though it was essentially a repeat of Metropolis

There is the other Mamoru Oshii stuff as well like Patlabor and the aforementioned Avalon, which is live-action

All the suggestions above are good if not amazing, but one series that recently blew me away was Kino's Journey. Only 13 episodes long but dear God, how each ones packs a punch.

Library

Alphabetical

A

  • Diego Abad de Santillan
    • 1933 La FORA: ideología y trayectoria del movimiento obrero revolucionario en la Argentina
  • Douglas Adamas
  • Richard Adams
  • Cesar Aira
    • 1975 Moreira
    • 1981 Ema, la cautiva
    • 1983 La luz argentina
    • 1984 Canto castrato
    • 1984 El vestido rosa. Las ovejas
    • 1987 Una novela china
    • 1990 Los fantasmas
    • 1991 Copi
    • 1991 El bautismo
    • 1991 La liebre
    • 1991 Nouvelles Impressions du Petit-Maroc
    • 1992 El llanto
    • 1992 El volante
    • 1992 Embalse
    • 1992 La guerra de los gimnasios
    • 1992 La prueba
    • 1993 Cómo me hice monja
    • 1993 Fragmentos de un diario en los Alpes
    • 1994 Diario de la hepatitis
    • 1994 El infinito
    • 1994 La costurera y el viento
    • 1994 Los misterios de Rosario
    • 1995 La fuente
    • 1995 Las grandes estancias
    • 1995 Los dos payasos
    • 1996 La abeja
    • 1997 Dante y Reina
    • 1997 El congreso de literatura
    • 1997 La serpiente
    • 1997 Taxol: precedido de Duchamp en México y La broma
    • 1998 Alejandra Pizarnik
    • 1998 El sueño
    • 1998 La nueva escritura
    • 1998 La trompeta del mimbre
    • 1998 Las curas milagrosas del Doctor Aira
    • 1999 La mendiga
    • 2000 El juego de los mundos
    • 2000 Haikus
    • 2000 Un episodio en la vida del pintor viajero
    • 2001 Diccionario de autores latinoamericanos
    • 2001 La villa
    • 2001 Las tres fechas
    • 2001 Un sueño realizado
    • 2002 El mago
    • 2002 La pastilla de hormona
    • 2002 Varamo
    • 2003 El tilo
    • 2003 La princesa Primavera
    • 2003 Mil gotas
    • 2004 Cumpleaños
    • 2004 Edward Lear
    • 2004 Las noches de Flores
    • 2004 Yo era una chica moderna
    • 2005 Cómo me reí
    • 2005 El cerebro musical
    • 2005 El pequeño monje budista
    • 2005 Yo era una niña de siete años
    • 2006 El todo que surca la nada
    • 2006 La cena
    • 2006 La villa
    • 2006 Parménides
    • 2007 La vida nueva
    • 2007 Las conversaciones
    • 2007 Picasso
    • 2008 Las aventuras de Barbaverde
    • 2009 La confesión
    • 2009 La revista Atenea
    • 2010 El divorcio
    • 2010 El error
    • 2010 El perro
    • 2010 El té de Dios
    • 2010 Festival
    • 2010 Yo era una mujer casada
    • 2011 Cecyl Taylor
    • 2011 El criminal y el dibujante
    • 2011 El hornero
    • 2011 El mármol
    • 2011 El náufrago
    • 2011 En el café
    • 2011 Los dos hombres
    • 2012 Entre los indios
    • 2013 Actos de caridad
    • 2013 El ilustre mago
    • 2013 El testamento del mago tenor
    • 2013 Margarita (un recuerdo)
    • 2013 Relatos reunidos
    • 2013 Tres historias pringlenses
    • 2014 Artforum
    • 2014 Biografía
    • 2014 Continuación de ideas diversas
    • 2014 Triano
    • 2015 El santo
    • 2015 La invención del tren fantasma
    • 2016 Sobre el arte contemporáneo seguido de En la Habana
    • 2017 Eterna juventud
    • 2017 Evasión y otros ensayos
    • 2017 Saltó al otro lado
    • 2017 Una aventura
    • 2018 El gran misterio
    • 2018 Prins
    • 2018 Un filósofo
    • 2019 El presidente
    • 2019 Pinceladas musicales
    • 2020 El pelícano
    • 2020 Fulgentius
    • 2020 Lugones
    • 2021 Catálogo descriptivo de la obra de Emeterio Cerro
    • 2021 En el Congo
    • 2021 En la confitería del Gas
    • 2021 Kómodo
    • 2021 La ola que lee. Artículos y reseñas (1981-2020)
    • 2021 Vilnius
    • 2022 El jardinero, el escultor y el fugitivo
  • Dante Alighieri
  • Jorge Amado
    • 1931 El país del Carnaval
    • 1933 Cacao
    • 1934 Sudor
    • 1935 Jubiabá
    • 1936 Mar Muerto
    • 1937 Capitanes de la aren
    • 1943 Tierras del sin fin
    • 1944 San Jorge de los Ilheus
    • 1946 Seara roja
    • 1954 Los subterráneos de la libertad (3 volúmenes)
    • 1958 Gabriela, Clavo y Canela
    • 1961 Los viejos marineros o Capitán de altura
    • 1964 Los pastores de la noche
    • 1966 Doña Flor y sus dos maridos
    • 1969 Tienda de los milagros
    • 1972 Teresa Batista cansada de guerra
    • 1977 Tieta de Agreste
    • 1979 Uniforme, frac y camisón de dormir
    • 1984 Tocaia grande
    • 1988 La desaparición de la santa
    • 1994 De cómo los turcos descubrieron América
  • Kingsley Amis
  • Pablo Amster
    • Ciencia Que Ladra - La Matematica como una de las Bellas Artes
  • Piotr Archinov
  • Roberto Arlt
  • Emile Armand
    • 1916 El anarquismo individualista
  • Isaac Asimov
  • Jane Austen
  • Paul Avrich

B

C

  • Ramiro Calle
    • Ante la ansiedad ES
  • Italo Calvino
  • Albert Camus
  • Maria Angelica Canel
    • Asi aprendi a cocinar sano, rico y natural (es)
  • Fritjof Capra
  • Orson Scott Card
  • Diane Carey
    • Star Trek The Next Generation - Descent
  • Alejo Carpentier
  • Francisco Martin Casalderrey
    • La Burla de los Sentidos
  • Adolfo Bioy Casares
  • Monica Cavalle
    • La Sabiduria de la No-Dualidad
  • Stephen Chang
    • El libro de los ejercicios internos
  • Mantak Chia
    • Automasaje Chi: Sistema Taoista de Rejuvenecimiento
    • Taoist Secrets of Love: Cultivating Female Sexual Energy
    • Taoist Secrets of Love: Cultivating Male Sexual Energy
  • Noam Chomsky
    • Anarquismo (es, politics)
    • El Conocimiento del Lenguaje (es, linguistics)
  • Deepak Chopra
    • 1995 The way of the wizard (en, fiction)
  • Agatha Christie
  • Arthur C Clarke
  • Paulo Coelho
    • 1997 Manual del guerrero de la luz (es, fiction)
  • Plinio A. Coelho
    • 2006 Surrealismo y Anarquismo
  • Eduardo Colombo
    • 1989 El imaginario social
    • 1999 Los desconocidos y olvidados: historias y recuerdos del anarquismo en la Argentina
    • 2006 La voluntad del pueblo: democracia y anarquia
    • 2010 El espacio politico de la anarquia
    • 2013 Historia del movimiento obrero revolucionario
  • Julio Cortazar
    • Novelas
      • 1960 Los premios
      • 1963 Rayuela
      • 1968 62 Modelo para armar
      • 1973 Libro de Manuel
      • 1986 Divertimento (escrita en 1949)
      • 1986 El examen (escrita en 1950)
    • Cuentos
      • 1951 Bestiario
      • 1956 Final del juego
      • 1959 Las armas secretas
      • 1966 Todos los fuegos el fuego
      • 1974 Octaedro
      • 1977 Alguien que anda por ahí
      • 1980 Queremos tanto a Glenda
      • 1982 Deshoras
      • 1994 La otra orilla (escrito entre 1937 y 1945)
      • 2004 Cuentos Completos 1 (es)
      • 2004 Cuentos Completos 2 (es)
      • 2004 Cuentos Completos 3 (es)
    • Prosas breves
      • 1962 Historias de cronopios y de famas
      • 1979 Un tal Lucas
    • Misceláneas
      • 1966 Les discours du Pince-Gueule (Los discursos del Pinchajeta) (texto en francés de Cortázar y dibujos de Julio Silva; una versión en español se incluyó en El último combate)
      • 1967 La vuelta al día en ochenta mundos
      • 1968 Buenos Aires, Buenos Aires (fotos de Sara Facio y Alicia D'Amico, textos de Cortázar)
      • 1969 Último round
      • 1972 Prosa del observatorio (texto y fotografías de Cortázar)
      • 1975 Silvalandia (imágenes de Julio Silva y textos de Cortázar; incluido en El último combate)
      • 1976 Humanario, Círculo de Lectores, Madrid (fotos de Sara Facio y Alicia D'Amico, con un texto de Cortázar, «Estrictamente no profesional», que fue incluido después en Territorios, 1978)
      • 1978 Territorios (textos de Julio Cortázar y cuadros de 17 pintores)
      • 1983 Los autonautas de la cosmopista (con Carol Dunlop)
      • 1984 Alto el Perú (fotos de Manja Offerhaus y textos de Cortázar)
      • 2009 Papeles inesperados (1940-1984). Textos inéditos. Recopilación de Aurora Bernárdez y Carles Álvarez Garriga.
      • 2014 El último combate (recopilación de algunos trabajos realizados con Julio Silva y de cartas de Cortázar a Silva)
    • Otros
      • 1973 La casilla de los Morelli (antología). Edición de Julio Ortega.
      • 1975 Fantomas contra los vampiros multinacionales (cómic)
      • 1981 La raíz del ombú (cómic), con Alberto Cedrón
      • 1983 Cuaderno de bitácora de Rayuela, con Ana María Barrenechea
      • 1995 Diario de Andrés Fava. Fragmento narrativo desprendido de El examen y publicado como libro independiente.
      • 1997 Cuaderno de Zihuatanejo. El libro de los sueños (edición no venal)
      • 2008 Discurso del oso (versión ilustrada de su breve narración, incluida originalmente en Historias de cronopios y de famas)
      • 2014 Cortázar de la A a la Z. Antología con textos conocidos en su mayoría y algunos inéditos. Recopilación de Aurora Bernárdez y Carles Álvarez Garriga. Alfaguara.
  • Bernard Cowell
    • The Winter King
  • Michael Crichton
  • Tony Crilly
    • 50 Cosas Que Hay Que Saber Sobre Matematica
  • Maria Sonia Cristoff
    • Novelas
      • 2010 Bajo Influencia
      • 2014 Incluyanme Afuera
      • 2017 Mal de epoca
      • 2022 Derroche
    • No-ficcion
      • 2005 Falsa Calma
      • 2006 Desubicados
  • Mihaly Csikszentmihalyi
    • 1990 Flow: The Psychology of Optimal Experience
    • 1998 Aprender a Fluir

D

E

  • Umberto Eco
    • El nombre del a rosa (1980) ES
    • El pendulo de Foucault (1988) ES
    • La islas del dia de antes (1994) ES
    • Baudolino (2000) ES
    • La misteriosa llama de la Reina Loana (2004) ES
    • El cementerio de Praga (2010) ES
    • Numero Cero (2015) ES
    • El problema estético en Tomás de Aquino, 1956
    • Arte y belleza en la estética medieval, 1959
    • Obra abierta (Opera aperta, 1962)
    • Diario mínimo, 1963
    • Apocalípticos e integrados (Apocalittici e integrati, 1964)
    • Las poéticas de Joyce, 1965.
    • Apuntes para una semiología de las comunicaciones visuales (1967), incluido en La estructura ausente.
    • La definición del arte, 1968.
    • La estructura ausente, análisis de semiótica en edificaciones orientado al diseño arquitectónico; 1968.
    • Socialismo y consolación, 1970.
    • Las formas del contenido, 1971.
    • Il segno, 1973.
    • Las costumbres de casa (1973), incluido en La estrategia de la ilusión.
    • El beato de Liébana, 1973.
    • El espanto hecho muro, 1974.
    • Sociología contra psicoanálisis, 1974.
    • Tratado de semiótica general (Trattato di semiotica generale, 1975)
    • Introducción al estructuralismo, 1976
    • El superhombre de masas, 1976
    • Desde la periferia del imperio, 1977, incluido en La estrategia de la ilusión
    • Cómo se hace una tesis, técnicas y procedimientos de investigación, estudio y escritura, 1977
    • Lector in fabula (Lector in fabula, 1979)
    • Función y signo: la semiótica de la arquitectura, 1980
    • De Bibliotheca, 1981
    • Siete años de deseo, 1983, incluido en La estrategia de la ilusión
    • Semiótica y filosofía del lenguaje, 1984
    • De los espejos y otros ensayos, 1985
    • Ensayos sobre El nombre de la rosa, 1987
    • El signo de los tres, 1989
    • El extraño caso de la Hanau 1609, 1990
    • Los límites de la interpretación, 1990
    • Segundo diario mínimo (Il secondo diario minimo, 1992)
    • La búsqueda de la lengua perfecta, 1993
    • Seis paseos por los bosques narrativos, 1994
    • ¿En qué creen los que no creen?, 1996, diálogo epistolar sobre la ética con el cardenal Carlo Maria Martini
    • Interpretación y sobreinterpretación, 1997
    • Kant y el ornitorrinco, 1997
    • Cinco escritos morales, 1997 (entre ellos Los 14 síntomas del fascismo eterno)18​
    • Entre mentira e ironía, 1998
    • La estrategia de la ilusión, 1999
    • La busqueda de la lengua perfecta, 1999
    • La bustina de Minerva, 2000
    • Apostillas a 'El nombre de la rosa' y traducción de los textos latinos, 2000
    • El redescubrimiento de América, 2002
    • Sobre literatura, 2005
    • La historia de la belleza, 2005
    • La historia de la fealdad, 2007
    • A paso de cangrejo: artículos, reflexiones y decepciones, 2000-2006, 2006
    • Decir casi lo mismo. Experiencias de traducción, 2008
    • El vértigo de las listas, 2009
    • Cultura y semiótica, 2009
    • La nueva Edad Media, 2010
    • Nadie acabará con los libros, 2010, con Jean Claude Carrière
    • Confesiones de un joven novelista, 2011
    • Construir al enemigo, 2013
    • Historia de las tierras y los lugares legendarios, 2013
    • Como viajar con un salmon, 2016
    • Contra el fascismo, Lumen, 2018 (incluye Los 14 síntomas del fascismo eterno)
    • Migracion e intolerancia, 2019
  • Mircea Eliade
    • Mefistoles y el Androgino
  • George Eliot
  • Warren Ellis

F

G

H

I

  • Tomas Ibanez
    • Actualidad del anarquismo
    • Agitando los anarquismos. De Mayo del 68 a las revueltas del siglo XXI
  • Esteban Ierardo
    • El Druida
  • John Irving

J

K

L

  • Alberto Laiseca
    • 1976 Su turno para morir
    • 1982 Aventuras de un novelista atonal
    • 1989 La Hija de Kheops
    • 1990 La Mujer en la Muralla
    • 1993 El Jardin de las Maquinas Parlantes
    • 1998 Los Sorias
    • 1999 El gusano máximo de la vida misma
    • 2001 Beber en rojo (Drácula)
    • 2003 Las aventuras del profesor Eusebio Filigranati
    • 2004 Las cuatro Torres de Babel
    • 2006 Sí, soy mala poeta pero...
    • 2010 El artista
    • 2014 La puerta del viento
  • Arthur Lehning
    • Marxismo y Anarquismo en la Revolucion Rusa
  • Clive Staples Lewis
    • 1950 The Lion, the Witch and the Wardrobe
    • 1951 Prince Caspian
    • 1952 The Voyage of the Dawn Treader
    • 1953 The Silver Chair
    • 1954 The Horse and His Boy
    • 1955 The Magician's Nephew
    • 1956 The Last Battle
  • Anne Morrow Lindbergh
  • Julian Lopez
  • Valeria Luiselli
    • 2011 Los ingrávidos
    • 2013 La historia de mis dientes
    • 2019 Desierto sonoro

M

N

O

P

  • Alan Pauls
    • 1984 El pudor del pornógrafo
    • 1990 El coloquio
    • 1994 Wasabi
    • 2003 El pasado
    • 2007 Historia del llanto
    • 2010 Historia del pelo
    • 2013 Historia del dinero
    • 2021 La mitad fantasma
  • Jose Peirats
    • Los anarquistas en la crisis politica española (1869 - 1939)
  • Claudia Piñeiro
    • 2005 Tuya
    • 2005 Las viudas de los jueves
    • 2006 Elena sabe
    • 2009 Las grietas de Jara
    • 2010 El fantasma de las invasiones inglesas
    • 2011 Betibú
    • 2013 Un comunista en calzoncillos
    • 2015 Una suerte pequeña
    • 2017 Las maldiciones
    • 2020 Catedrales
  • Edgar Allen Poe
    • [x] Selected Tales (en, fiction)
    • [x] The Complete Tales and Poems of Edgar Allan Poe (en, fiction)
  • Marcel Proust
  • Pierre-Joseph Proudhon
    • 1840 Que es la propiedad?
    • 1863 El principio federativo

Q

  • Willard Quine
    • 1950 Los Metodos de la Logica
  • Quino
    • Mundo Quino (Quino World, 1963)
    • ¡A mí no me grite! (Don't You Yell at Me!, 1972)
    • Yo que usted... (If I Were You..., 1973)
    • Bien gracias, ¿y usted? (Well Thank You, and You?, 1976)
    • Hombres de bolsillo (Pocket Men, 1977)
    • A la buena mesa (To Fine Dining, 1980)
    • Ni arte ni parte (Neither Art nor Part, 1981)
    • Déjenme inventar (Let Me Invent, 1983)
    • Quinoterapia (Quinotherapy, 1985)
    • Gente en su sitio (People in their Place, 1986)
    • Sí, cariño (Yes, Dear, 1987)
    • Potentes, prepotentes e impotentes (Powerful, Arrogant and Impotent, 1989)
    • Humano se nace (As a Human One is Born, 1991)
    • ¡Yo no fui! (I Didn't Do It!, 1994)
    • ¡Qué mala es la gente! (How Bad People Are!, 1996)
    • ¡Cuánta bondad! (How Much Goodness!, 1999)
    • Esto no es todo (This is not All, 2002)
    • ¡Qué presente impresentable! (What an Unpresentable Present!, 2005)
    • La aventura de comer (The Adventure of Eating, 2007)
    • Quien anda ahi? (2012)
    • Simplemente Quino (2016)
    • Toda Mafalda

R

S

T

U

V

  • J van de Wetering
    • El Espejo Vacio
  • Horacio Verbitsky
    • 1985 Rodolfo Walsh y la prensa clandestina (1976-1978).
    • 1985 La posguerra sucia.
    • 1985 Ezeiza
    • 1987 Civiles y militares: memoria secreta de la transición .
    • 1987 Medio siglo de proclamas militares
    • 1990 La educación presidencial. De la derrota del '70 al desguace del Estado
    • 1991 Robo para la corona
    • 1993 Hacer la Corte: La construcción de un poder absoluto sin justicia ni control
    • 1995 El vuelo
    • 1997 Un mundo sin periodistas
    • 1998 Hemisferio derecho
    • 2002 Malvinas: La última batalla de la Tercera Guerra Mundial (versión ampliada)
    • 2005 El silencio. De Paulo VI a Bergoglio: Las relaciones secretas de la Iglesia con la ESMA
    • 2006 Doble juego: la Argentina católica y militar
    • 2007 Cristo vence: la Iglesia en la Argentina: un siglo de historia política (1884-1983)
    • 2008 La violencia evangélica. Historia política de la Iglesia católica
    • 2009 Vigilia de armas. Del Cordobazo de 1969 al 23 de marzo de 1976
    • 2010 La mano izquierda de Dios. La última dictadura (1976- 1983)
    • 2013 Cuentas pendientes. Los cómplices económicos de la dictadura
    • 2017 La libertad no es un milagro
    • 2018 Vida de Perro
  • Jules Verne
  • Enrique Vila-Matas
    • Novelas
      • 1973 Mujer en el espejo contemplando el paisaje
      • 1977 La asesina ilustrada, Tusquets
      • 1980 Al sur de los párpados
      • 1984 Impostura
      • 1985 Historia abreviada de la literatura portátil, mezcla de ficción y ensayo
      • 1995 Lejos de Veracruz
      • 1997 Extraña forma de vida
      • 1999 El viaje vertical
      • 2000 Bartleby y compañía
      • 2002 El mal de Montano
      • 2003 París no se acaba nunca
      • 2005 Doctor Pasavento
      • 2008 Dietario voluble
      • 2010 Dublinesca
      • 2010 Perder teorías
      • 2011 En un lugar solitario, recopilación de sus 5 primeros libros, de 1973-1984
      • 2012 Aire de Dylan, memorias falsas del escritor Juan Lancastre
      • 2014 Kassel no invita a la lógica
      • 2016 Marienbad eléctrico
      • 2017 Mac y su contratiempo
      • 2019 Esta bruma insensata
    • Cuentos
      • 1982 Nunca voy al cine
      • 1988 Una casa para siempre, "libro de relatos y novela a la vez"
      • 1991 Suicidios ejemplares
      • 1993 Hijos sin hijos
      • 1994 Recuerdos inventados, antología
      • 2007 Exploradores del abismo
      • 2011 Chet Baker piensa en su arte, antología
      • 2013 Niña, cuento infantil con ilustraciones de Anuska Allepuz
    • Ensayos
      • 1992 El viajero más lento, Anagrama (aumentada en 2011 por Seix Barral con el título de El viajero más lento. El arte de no terminar nada)
      • 1995 El traje de los domingos
      • 1997 Para acabar con los números redondos
      • 2000 Desde la ciudad nerviosa
      • 2003 Extrañas notas de laboratorio, El otro, el mismo (ed. aumentada en 2007)
      • 2003 Aunque no entendamos nada
      • 2004 El viento ligero en Parma
      • 2008 Ella era Hemingway. No soy Auster
      • 2008 Y Pasavento ya no estaba
      • 2011 Una vida absolutamente maravillosa. Ensayos selectos
      • 2013 Fuera de aquí. Conversaciones con André Gabastou
      • 2014 [escribir] París, con la escritora argentina Sylvia Molloy; la sección Vila-Matas con artículos sobre la capital francesa se titula Aire de París
      • 2015 Marienbad eléctrico, sobre la relación que el autor tiene con la artista francesa Dominique González–Foerster; Christian Bourgois
      • 2018 Impón tu suerte, Círculo de Tiza
  • Camila Sosa Villada
  • Kurt Vonnegut
  • Serway Vuille
    • Fundamentos de Fisica

W

Z

  • Gonzalo Zabala
    • Ciencia Que Ladra - Robots
  • Timothy Zahn
    • 1991 Star Wars Heir to the Empire
    • 1992 Star Wars Dark Force Rising
    • 1993 Star Wars The Last Command
  • Alfredo Zaiat
    • 2012 La Economia a contramano (es, economics)

By genre

Art

  • 1001 Discos de Musica Clasica que hay que escuchar antes de morir
  • 1001 Libros que hay que leer antes de morir
  • 1001 Peliculas que hay que ver antes de morir
  • Williams - Jazz Panorama

Cognitive Science

  • Ramirez
    • Cognotecnicas ES
  • Scotto Skidelsky
    • Cuestiones Mentales ES

Computer Science

  • A Little Riak Book 2.0 EN
  • Artificial Social Systems EN
  • Intelligent Agents. Theories, Architectures and Languages EN
  • Linux Maxima Seguridad ES
  • Lippman, Lajoie, Moo - C++ Primer EN
  • Multiagent Systems: Intentions, Know-How and Communications EN
  • Redes GNU/Linux ES
  • Van Wyk - Data Structures and C Programs EN

History

  • Historia de la vida privada
  • Kenneth L. Pomeranz, Steven C. Topik
    • The World That Trade Created: Society, Culture and the World Economy

Philosophy/Psychology/Sociology

  • Para Principiantes
    • Baudrillard ES
    • Heidegger ES
  • Hodgson
    • Wittgenstein y el Zen ES

Fantasy/Mythology

  • Bullfinch's Mythology EN
  • Dioses Vikingos ES
  • Dioses y Mitos Chinos ES
  • Dioses y Mitos Japoneses ES
  • Edith Hamilton - Mythology EN
  • El Libro Magico de las Runas ES
  • Mitos y Leyendas de los Vikingos ES

Misc

  • The Adventures of Ulysses EN
  • The Earliest English Poems EN
  • The Trojan War EN
  • Harper and Row - A College Book of Modern Verse EN
  • German Literature Since Goethe DE
  • The Illustrated Encyclopedia of Minerals EN
  • Mein Lesebuch DE
  • Krüss - Der Korngeist DE
  • Finnland, Geschichte und Gegenwart DE
  • Canciones Celtas
  • No Longer at Ease
  • Gustavo Frias - Paradigmas. Mitos, enigmas, y leyendas contemporaneas
  • Gustavo Frias - Paradigmas. Mitos, enigmas, y leyendas contemporaneas
  • Gustavo Frias - Paradigmas. Mitos, enigmas, y leyendas contemporaneas

Wishlist

César Aira (Coronel Pringles, 1949)

Es un escritor y traductor argentino. Ha publicado más de cien obras, sobre todo novelas cortas, a las que define como «cuentos de hadas dadaístas» o «juguetes literarios para adultos». Es considerado el escritor argentino con más posibilidades de ganar el Premio Nobel de Literatura.

Novelas por Jorge Leal Amado de Faria

Fue un escritor brasileño. Jorge Amado adoptó un compromiso social con los pobres, los desposeídos, los marginados de la sociedad: obreros, campesinos, rameras y vagabundos pueblan sus novelas, se convierten en protagonistas y héroes.

Novelas por Osvaldo Germán Baigorria (Buenos Aires, 1948)

Escritor, periodista y docente argentino.

Roberto Bolaño

Escritor y poeta chileno, autor de más de dos decenas de libros, entre los cuales destacan sus novelas Los detectives salvajes, y la póstuma 2666.

  • Los detectives salvajes
  • 2666

Alan Pauls: es un escritor, periodista, crítico literario y guionista argentino.

  • 1984 El pudor del pornógrafo

Jorge Baron Biza

  • El Desierto y Su Semilla

Novelas por Alejo Carpentier

Escritor cubano y francés que influyó notablemente en la literatura latinoamericana durante su período de auge. La crítica lo consideró uno de los escritores fundamentales del siglo XX en lengua española, y uno de los artífices de la renovación literaria latinoamericana, en particular a través de un estilo que incorpora varias dimensiones y aspectos de la imaginación para recrear la realidad, elementos que contribuyeron a su formación y uso de «lo real maravilloso».

María Sonia Cristoff (Trelew, 1965)

Escritora y traductora argentina. Independientemente de las clasificaciones de sus libros, todos ellos son una exploración de la «narrativa híbrida.

Rodolfo Fogwill (Quilmes, 1941)

Escritor, publicista, sociólogo y docente argentino. Alcanzó renombre, primero, como directivo de empresas de publicidad y de marketing, y, luego, como escritor. Tengo Los Pichiciegos y Una Palida Historia de Amor.

Daniel Guebel (Buenos Aires, 1956)

Escritor, periodista y guionista argentino. Sus novelas abarcan la fantasía y, sin embargo, son rígidamente planeadas. Sus temas recurrentes son las meditaciones metaliterarias, la disolución del yo, las conspiraciones, los mecanismos narrativos y los experimentos fallidos. Guebel ha dicho que una de las constantes de su literatura «es el enfrentamiento entre una voluntad singular que pretende una transformación de las coordenadas de lo existente (el mundo, la política, el universo entero), y solo consigue resultados catastróficos». Sus obras son conceptuales, y no se pueden despegar de las formas literarias antiguas. Es más: su estrategia es renovar o reinventar la novela de relatos disímiles, como Las mil y una noches, de manera que el resultado parezca una «escultura informe». Como dice Guebel: «Yo estoy trabajando una literatura que tiende a lo informe, a la escritura de textos como esculturas abstractas».

Novelas por Valeria Luiselli (Ciudad de México, 1983)

Escritora y ensayista mexicana.

  • 2011 Los ingrávidos
  • 2013 La historia de mis dientes
  • 2019 Desierto sonoro

Carla Maliandi: (Venezuela, 1976) es una escritora, dramaturga, directora teatral y docente argentina.

  • 2017 La Habitacion Alemana
  • 2021 La estirpe

Leopoldo Marechal

  • 1948 Adán Buenosayres

Guillermo Martinez

  • 1998 La mujer del maestro
  • 2005 La fórmula de la inmortalidad
  • 2007 La muerte lenta de Luciana B.
  • 2009 Gödel para todos
  • 2011 Yo también tuve una novia bisexual
  • 2016 La razón literaria
  • 2019 Los crímenes de Alicia

Haruki Murakami

  • 1992 Al sur de la frontera, al oeste del sol
  • 1999 Sputnik, mi amor

Alan Pauls: es un escritor, periodista, crítico literario y guionista argentino.

  • 1984 El pudor del pornógrafo
  • 1990 El coloquio
  • 1994 Wasabi
  • 2007 Historia del llanto
  • 2010 Historia del pelo
  • 2013 Historia del dinero

Samanta Schweblin

  • 2018 Kentukis
  • 2002 El núcleo del disturbio
  • 2009 Pájaros en la boca
  • 2015 Siete casas vacías

Enrique Vila-Matas (Barcelona, 31 de marzo de 1948)

Es un escritor español, autor de más de una treintena de obras, que incluyen novelas, ensayos y otros tipos de narrativa y libros misceláneos.

Camila Sosa Villada

En ingles

Neil Gaiman

William Gibson

Neal Stephenson

Machine Poetry

I once found this in some mailing list archive.

goat-time with wind, pole, dragon inter help? Options

3 messages - Collapse all - Report discussion as spam

松本武 View profile More options Sep 21, 4:02 pm This is question, engish is faulty therefore the right excused is requested. Thank google to translate to help. SORRY!!!!! At often, the goat-time install a error is vomit. To how many times like the wind, a pole, and the dragon? Install 2,3 repeat, spank, vomit blows 14:14:01.869 - INFO [edu.internet2.middleware.shibboleth.common.config.profile.JSPErrorHandlerB eanDefinitionParser:45]

  • Parsing configuration for JSP error handler. Not precise the vomit but with aspect similar, is vomited concealed in fold of goat-time lumber? goat-time see like the wind, pole, and dragon? This insult to father's stones? JSP error handler with wind, pole, dragon with intercourse to goat-time? Or chance lack of skill with a goat-time? Please apologize for your stupidity. There are a many thank you

Numbers

n2^n0x2^nn!0xn!
12211
24422
38866
416a24
53220120
664
7128
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

--

Permaculture

Table of Contents


Online Resources


Book: Permacultura

Introduccion

  • Que es la Permacultura?
  • Los principios de la Permacultura
  • Zonas y sectores en Permacultura
  • Cultura sustentable?
  • Mas alla de la sustentabilidad

Principios eticos

  • Cuidado de la tierra
  • Cuidado de la gente
  • Limites al consumo y la reproduccion, y redistribucion de los excedentes

1. Observa e interactua

2. Captura y almacena energia

3. Obten un rendimiento

4. Aplica la autoregulacion y acepta la retroalimentacion

5. Usa y valora los recursos y servicios renovables

6. No producir basura

7. Diseña desde los patrones a los detalles

8. Integra mas que segregar

9. Usa soluciones pequeñas y lentas

10. Usa y valora la diversidad

11. Usa los bordes y valora lo marginal

12. Usa y responde creativamente al cambio

SI-Imperial Conversion

inchesmillimeters
1/32
1/16
1/8
1/4
5/8
1/2
3/4
125.4
5/4
250.8

Traditional Japanese Houses

Table of Contents


Online Resources

Websites

Kawara

Youtube

Culture, Tourism

Architects & Carpenters

Woodworkers

House Tours & Restorations

Instagram

Personal Blogs & Photographers

Houses

Gardens

Woodworking & Carpenters

Kumiko

Furniture

Kawara & Roofing

Shrines & Temples

Construction Companies & Architects

Non-japanese Houses, Architects, Interior Design

Misc


Books

[ ] Japan. Its Architecture, Art, and Art Manufactures (1887, Christopher Dresser)

  • Part I
    • Chapter 1
      • Yokohama
      • The Grand Hotel
      • Sights in the Streets
      • Jinrikishas
      • Japanese Hospitality
      • Sachi
      • Yedo, or Tokio
      • Letter writing
      • The Castle
      • Winter in Japan
      • Temple of Shiba
      • Tombs of the Shoguns
    • Chapter 2
      • Yokohama
      • A fire in the hotel
      • A Japanese banquet
      • Japanese dancing girls
      • Music
      • Eating a live fish
      • Hara-kiri
      • The Mikado
      • The New Year
      • Tokio firemen
      • Japanese matting
      • The Hamagoten palace
    • Chapter 3
      • Preparation for a long journey
      • By water to Kobe
      • Entrance of the Mikado into Kobe
      • Awadji, Sanda, Arima, Nara
      • The Mikado's Antiquities
    • Chapter 4
      • The sacred dance
      • A feast night
      • Kioto
      • The royal collections
      • Osaka
    • Chapter 5
      • The Japanese Calendar
      • Wakayama
      • Japanese cold and Japanese vegetation
      • Koya-zan
      • Splendour of shrines and of scenery
      • Sakai
      • News of revolt in Satsuma
    • Chapter 6
      • Temple of Kioto
      • Japanese estimate of Christianity
      • Picnics
      • Honest Workmanship
      • Lacquer-work
      • Value of Corean ware
      • Tea-drinking ceremony
      • Otsu
      • Futami-gaura
      • Kamiji-yama
    • Chapter 7
      • Tidings of rebellion
      • Ise
      • Yokkaichi
      • Manufactures of Nagoya
      • Comparative estimates of wealth and skill
      • Castle of Nagoya
      • Sidsuoka
      • Fujiyama
      • Return to Yokohama
    • Chapter 8
      • A Shinto festival
      • Nikko
      • The great sanctuary
      • Arrival at Tokio
      • Japanese reports and police supervision
    • Chapter 9
      • A Japanese blue book
      • Object of my visit
      • Exportation of ginger
      • Manufacture of carpets, etc
  • Part II
    • Chapter 1 Religion and Architecture
    • Chapter 2 Analogies and Symbols
    • Chapter 3 The Lacquer Manufactures
    • Chapter 4 The Pottery Manufactures
    • Chapter 5 The Metal Manufactures
    • Chapter 6 On the means by which fabrics receive pattern
    • Chapter 7 Minor manufactures of Japan

Fundamentals of Japanese Architecture (1936, Bruno Taut)

⚠️ The Japanese House. Its Interior and Exterior (1963, Ishimoto Tatsui, Ishimoto Kiyoko)

  • Contents
    • Introduction
    • A look at Japanese houses
    • In today's Japan
    • Now let's visit some japanese houses
    • The vocabulary of a japanese house
    • The entry gate leads first to a garden, then to the house
    • At the genkan you take of your shoes
    • The floor is resilient tatami mat
    • The interior walls are sliding panels (fusuma)
    • In the zashiki (principal room) the focus is the tokonoma
    • Exterior wall panels (shoji) slide away to reveal the garden
    • The engawa invites you into the garden
    • From the front gate to the front door
    • Where to leave your shoes
    • The floor plan is flexible
    • The Japanese room has many functions
    • This modern house simplifies traditional ideas
    • The modern house: the entry blends the new with the old
    • Modern houseÑ the parlor and the family room
    • The Japanese inn: houses in miniature
    • The Japanese inn: magic with sliding panels
    • You can open the wall in different ways
    • In the center of the room, a table over a floor recess
    • A walk through a Japanese house
    • Through a Japanese house: past an interior garden
    • Through a Japanese house: achieving airy space
    • Here is a modern Japanese house
    • Japanse and Western ideas come together in a single room
    • In a Japanese room you can select your garden view
    • How the fusuma partitions work in a bedroom-dressing room
    • Just three rooms, but what a variety of space
    • Three rooms. Variety out of simplicity
    • This modern house has western-style rooms downstairs, Japanese-style rooms upstairs
    • Japanese rooms upstairs
    • The Japanese house in transition
    • Japanese and Western, side by side
    • Innovations: Kitchen, bath, laundry
    • The garden has varied aspects
    • Japanese-style garden, and a tea room
    • The Japanese screen has many uses
    • An island garden screens this entry
    • Isecho: the gante and the entry
    • Tsuitate: the single-panel screen
    • The tokonoma is sized to the room
    • Nine-mat room with a low folding screen
    • A special house for the tea ceremony
    • The traditional tea-house entry
    • A place for brewing tea
    • A touch of old Japan
    • A room for the tea ceremony, modern and simple
    • American adaptations: using shoji panels over windows
    • American adaptations: shoji as room dividers
    • Just a few Japanese touches indoors, and a garden outdoors
    • The garden creates the view from indoors
    • Adaptations inside the house
    • Adaptations in the garden and on the street
    • Decorating with screen, scroll, tansu, and bonsai
    • More ways Americans use the tansu
    • In America, the fun of a Japanese room
    • Glossary

⚠️ The Japanese House. A Tradition for Contemporary Architecture (1964, Heinrich Engel)

  • Contents
    • Part One: Structure
      • 1 Fabric
        • Definition
        • Stone
        • Glass
        • Bamboo
        • Clay
        • Paper
        • Roof tiles
        • Floor mat
        • Wood
        • For contemporary architecture
      • 2 Measure
        • Definition
        • Building measures
        • Early measures and shaku
        • Ken measure and module
        • Order of kiwari
        • Traditional standards
        • For contemporary architecture
      • 3 Design
        • Definition
        • Kyo-ma method
        • Inaka-ma method
        • Process of design
        • Present building regulations
        • Distintions
        • Superstition
        • For contemporary architecture
      • 4 Construction
        • Definition
        • Process
        • Foundations
        • Wall framework
        • Roof
        • Japanese wall
        • Floor
        • Ceiling
        • Fittings
        • Translucent paper panel
        • Windows
        • Picture recess
        • Shelving recess
        • Study place
        • Wooden shutters
        • Shutter compartment
        • Doors
        • For contemporary architecture
    • Part Two: Organism
      • 5 Family
        • Definition
        • Moral principles
        • Manners of living
        • Influence on house
        • Influence from house
        • For contemporary architecture
      • 6 Space
        • Definition
        • Measure of man
        • Planimetric-functional space
        • Space relationship
        • Physique of space
        • For contemporary architecture
      • 7 Garden
        • Definition
        • Attitude toward nature
        • House-garden relationship
        • Standarization
        • Standard features
        • For contemporary architecture
      • 8 Seclusion
        • Definition
        • Necessity of tea
        • Philosophy of tea
        • Physique of the tearoom
        • Art of living
        • Tea garden
        • Standarization
        • For contemporary architecture
    • Part Three: Environment
      • 9 Geo-relationship
        • Definition
        • Racial migration
        • Closeness to the continent
        • Insular isolation
        • Imitation
        • For contemporary architecture
      • 10 Climate
        • Definition
        • Characteristics
        • Earthquakes
        • Climatic architecture
        • Climatic adaptation
        • For contemporary architecture
      • 11 Philosophy
        • Definition
        • Zen Buddhism
        • Buddhist features
        • Religious expressions
        • Zen and house
        • For contemporary architecture
      • 12 Society
        • Definition
        • Policy
        • Social order
        • City community
        • Prohibition
        • For contemporary architecture
    • Part Four: Aesthetics
      • 13 Taste
        • Definition
        • Theory of genesis
        • Zen aestheticism
        • Traditional trait
        • Taste of the townspeople
        • For contemporary architecture
      • 14 Order
        • Definition
        • Theory of genesis
        • Physical order
        • Spiritual order
        • For contemporary architecture
      • 15 Expression
        • Definition
        • Interior
        • Contrast
        • Individuality
        • Association
        • Exterior
        • For contemporary architecture

⚠️ Space in Japanese Architecture (1985, Mitsuo Inoue)

  • Contents
    • Introduction
    • 1 The Preeminence of Material Objects
      • The Pillar
      • Shared Space
    • 2 Plastic Composition
      • The Space Reserved for the Subject
      • The Kairo as a Fence
      • The Function of the Gate
      • A Pantheistic World View
    • 3 Pictorial Composition
      • The Courtyard for the Object
      • The Development of Frontality
      • The Hoodo-type Plan
      • A Dualistic World View
    • 4 The Development of Interior Space
      • Aisles and Partitions in the Development of Interior Space
      • Interior Space for the Object
      • Complex Interior Spaces
      • The Autonomy of Interior Space - Extrusions
      • The Idea of Vacancy
    • 5 From Geometrical Space to Movement Space
      • Geometrical Space and Movement Space
      • The Expression of Movement
      • Bending and Rotation
      • The World as Flux

Japan. The Art of Living (1990, Katoh Amy Sylvester, Kimura Shin)

  • Contents
    • Foreword
    • Intruduction
    • Light and Space
    • Traditional Furniture
    • Table Settings
    • Japanese Textiles
    • Flowers and Seasons
    • Fine and Folk Art
    • Collections
    • Beautiful Rooms
    • Sources
    • Bibliography
    • Glossary Index

⚠️ Form & Space in Japanese Architecture (1993, Norman F. Carver)

  • Contents
    • Preface
    • Japanese Architecture
    • Prologue
      • Photographs
    • Form
      • Commentary
      • Photographs
        • Structure & Form
        • The Roof
        • Miyajima
        • Castle Forms
    • Space
      • Commentary
      • Photographs
        • Space & Structure
        • Planes in Space
        • Space & Site
        • Gardens & Paths
        • Katsura, Form & Space
    • Bibliography

Frank Lloyd Wright and Japan. (1993, Kevin Nute)

The Role of Traditional Japanese Art and Architecture in the Work of Frank Lloyd Wright

Japan Country Living (1993, Amy Sylvester Katoh)

  • Contents
    • Introduction
    • Heritage
    • Country Ways
    • The Art of Everyday
    • The Indigo Tradition
    • Sources

⚠️ What is Japanese Architecture. A Survey of Traditional Japanese Architecture (1996, Kazuo Nishi, Kazuo Hozumi)

  • Contents
    • Introduction
    • Worship: The Architecture of Buddhist Temples and Shinto Shrines
      • Horyuji Temple and Its Symbol, the Pagoda
      • The Great Eigth-Century Temples
      • Architecture of Pure Land Sect
      • New Medieval Forms: The Great Buddha Style
      • New Medieval Forms: The Zen Style
      • Details of the Great Buddha Style
      • Details of the Zen Style
      • The Medieval Japanes Style
      • The Golden and Silver Pavilions
      • Medieval Construction Methods
      • Temple Architecture in the Early Modern Period
      • Buddhist Architecture: Structure and Detail
      • Shinto Shrines
      • Common Shrine Styles
      • The Yomeimon Gate: Nikko Toshugu Shrine
      • Japanese Baroque
      • The Neiborhood Shrine
      • The World of the Craftsmen
      • Construction Techniques of the Edo Period
    • Daily Life
      • Houses of the Jomon and Yayoi Periods
      • Reconstructing Yayoi and Tumulus-Period Dwellings
      • The Ancient Capitals
      • The Heijo and Heian Capitals
      • Heijo: First of the Great Capitals
      • Residences of the Nara Period
      • The Heian Capital
      • The Shinden Style
      • Daily Life in a Shinden Mansion
      • Commoners' Dwellings
      • Residences of the Samurai
      • A Forma] Audience in a Warrior Residence
      • The Shoin Style: Early Modern Residential Architecture
      • The Design System of the Shoin
      • Katsura Detached Palace and the Sukiya Style
      • Sukiya-Style Decor
      • Minka: Dwellings of the Common People
      • Minka Diversity
      • Provincial Towns in the Edo Period
      • Japan's Premodern Cities
      • The Edo Metropolis
      • Schools in the Edo Period
    • Battle
      • Himeji: The Grandest of the Surviving Castles
      • The Historical Development of Castles
      • Castles in Wartime
      • Castle Defense
      • The Twelve Surviving Donjons
      • Castle Towns
      • Castle Palaces
    • Entertainment: Architecture in the Sukiya Spirit
      • The Architecture of the Tea Ceremony
      • Designing the Teahouse
      • Soan Teahouses
      • The Tea Garden
      • Staging the No Drama
      • The Structure of the No Stage
      • The Architecture of the Kabuki Theater
      • Improvements in Kabuki Theater Design
      • The Architecture of the Pleasure Quarters
      • Design in the Pleasure Quarters
      • Gracious Pastimes at a Sukiya Complex
      • Entertainment Fit for an Emperor

Traditional Japanese architecture-whether Buddhist temples or Shinto shrines, residences, castles, or teahouses-has become increasingly familiar around the world. Through the media of motion pictures, art books, T.V. documentaries and dramas such as Shogun, as well as through personal experience, more and more people have gained an acquaintance and appreciation of the architecture of premodern Japan. Some may even be able to name or recognize the oldest and the largest wooden structures in existence, which are to be found in Japan at Horyuji and Todaiji respectively.

⚠️ Japan Style. Architecture Interiors Design (2005, Geeta Mehta, Kimie Tada, Noboru Murata)

  • Contents
    • What is Japanese about a Japanese House?
    • A Tea Master's Dream Lives On
    • Summer Style in a Kyoto Machiya
    • Exuberant Spontaneity in an Interior in Osaka
    • House of Ikebana
    • A Kaga-style Teahouse to Sooth the Soul
    • A Celebration of Lacquer Craft
    • Coming Home to an Old Machiya
    • Antiques Find a New Home in an Old Minka
    • A House with a Cosmopolitan Interior
    • A Potter Meets His Minka
    • An Old Famrhouse Gears up for the Future
    • A Home in Snow Country
    • A Sukiya-style Setting for an Art Gallery
    • An Old Parlor with an Old Tree
    • The Evolution of a Modern Home
    • A Cottage Shaped by Old Memories
    • A Room for Viewing Light and Shadows of Life
    • A Tribute to Masters of Modernism
    • A House with a View of Mount Asama
    • A New House and a Tree
    • Acknowledgments and Bibliography

Japanese homes speak to the soul and provide a contemplative environment from which to experience the world. Japan Style offers rare glimpses into twenty exquisite traditional homes in Japan. The lavish photographs in this volume demonstrate how Japanese design achieves a timeless tranquility using a few very simple, natural elements. Wood is the preferred building material since it is considered a "living" material; the country's Shinto and Zen Buddhist roots have inculcated a deep respect for nature. The houses in this book are a wonderful reminder that there are alternatives to "big is beautiful"--and that neither timelessness nor modernity has to be about using cold steel, glass and concrete. The wabi-sabi ideal, translated loosely by Frank Lloyd Wright as a "rusticity and simplicity that borders on loneliness," is considered the epitome of sophistication in Japanese interior design. The houses in this book invite us to rethink the wisdom of our hurried modern lifestyle and return to a simpler, slower life. The quintessential Japanese aesthetic can be seen in a 100-year-old minka farmhouse, an old merchant's machiya townhouse in Kyoto, a sprawling country Samurai villa, and in a modern seaside cottage. This book offers insights for architects and homeowners alike by providing inspiring and surprising alternatives, relevant to the design of homes anywhere in the world today.

Japan-ness in Architecture (2006, Arata Isozaki)

  • Contents
    • Part I Japan-ness in Architecture
      • 1 Japanese Taste and Its Recent Historical Construction
      • 2 Western Structure versus Japanese Space
      • 3 Yayoi and Jomon
      • 4 Nature and Artifice
      • 5 Ka (Hypothesis) and Hi (Spirit)
      • 6 Ma (Interstice) and Rubble
      • 7 Fall and Mimicry: A Case Study of the Year 1942 in Japan
    • Part II A Mimicry of Origin: Emperor Tenmu's Ise Jingu
      • 8 The Problematic Called "lse"
      • 9 Identity over Time
      • 10 Archetype of Veiling
      • 11 A Fabricated Origin: lse and the Jinshin Disturbance
    • Part III Construction of the Pure Land (Jodo): Chogen's Rebuilding of Todai-ji
      • 12 The Modern Fate of Pure Geometric Form
      • 13 Chogen's Constructivism
      • 14 The Five-Ring Pagoda in Historical Turmoil
      • 15 Mandala and Site Plan at Jodo-ji
      • 16 The Architectonics of the Jodo-do (Pure Land Pavilion) at Jodo-ji
      • 17 Big Buddha Pavilion (Daibutsu-den) at Todai-ji
      • 18 Chogen's Archi-vision
      • 19 A Multifaceted Performance
      • 20 Brunelleschi versus Chogen
      • 21 Chogen/Daibutsu-yo and Eisai/Zenshu-yo
      • 22 Three Kinds of Hierophany
      • 23 Raigo Materialized
      • 24 A Non-Japanesque Japanese Architecture
    • Part IV A Diagonal Strategy: Katsura as Envisioned by "Enshu Taste"
      • 25 Katsura and Its Space of Ambiguity
      • 26 Architectonic Polysemy
      • 27 Authorship of Katsura: The Diagonal Line

⚠️ The Japanese House. In Space, Memory, and Language (2006, Nakagawa Takeshi)

  • Contents
    • Introduction to the English Edition
    • Introduction
    • Boundary Spaces
      • 1 The Earthen Floor (tataki)
      • 2 The Entrance Sill (aqarikamachi)
      • 3 The Shoe-removing Stone (kutsunugi-ishi)
      • 4 The Veranda (engawa)
      • 5 The Covered Earthen Terrace (dobisashi)
    • Partitions
      • 6 Latticework (koshi)
      • 7 Reed Blinds (yoshisu)
      • 8 Opaque Sliding Screens (fusuma)
      • 9 Snow-viewing Shoji (yukimishoji)
    • Settings
      • The Sunken Hearth (irori)
      • The bath (furo)
      • The Family Living Room (chanoma)
      • The Kitchen (katte)
    • Components
      • 14 The Central Pillar (daikokubashira)
      • 15 The Head Band (nageshi)
      • 16 The Decorative Recess (oshi-ita)
      • 17 The Ceiling (tenjo)
    • Fittings
      • 18 Straw Floor Matting (tatami)
      • 19 The Box Staircase (hakokaidan)
      • 20 The Chest of Drawers (tansu)
    • Materials
      • 21 Lacquer (urushi)
      • 22 Tiles (kawara)
    • Symbols
      • 23 The Buddhist Household Altar (butsudan)
      • 24 The Nameplate (hyosatsu)
      • 25 The Groundbreaking Ceremony (jichinsai)

Minka. My farmhouse in Japan (2007, John Roderick)

  • Contents
    • Book One
      • A breakfast to remember
      • Chaucer, Yochan, and me
      • Year of the tiger
      • The Great Peak
      • A bad oyster
      • Tin!
      • Honorable Daiku-san
      • Spider men
      • Orgies and chamber music
      • A loveable american
    • Book Two
      • Feel poor!
      • White ants
      • The evil eye
      • The spoons
      • Yochan
      • Fences
      • Life of the party
      • Minkas domestics
      • Gardens, stones, and buddhas
      • Minkas foreign
      • The east gallery
      • Poppy and the queens
      • Hillary and the abbot

The Four Great Temples. Buddhist Archaeology, Architecture, and Icons of Seventh-Century Japan (2008, Donald F. McCallum)

⚠️ Japanese Architecture. A Short History (2009, A.L. Sadler, Mira Locher)

  • Contents
    • 1 Introduction
    • 2 Early Period (660bc - 540ad)
    • 3 The Introduction of Buddhism. Asuka Period (540 - 640ad)
    • 4 Hakuho Period (640 - 720ad)
    • 5 Tempyo Period (720 - 780ad)
    • 6 Heian Period (780 - 1190ad)
    • 7 Kamakura Period (1190 - 1340ad)
    • 8 Muromachi Period (1340 - 1570ad)
    • 9 Momoyama Period (1570 - 1616ad)
    • 10 Edo Period (1616 - 1869ad)
    • 11 The Shogun's Reception of the Emperor
    • 12 Building Regulations in the Tokugawa Period
    • 13 Shoji, Fusuma, and Ceilings
    • 14 Privy and Bathroom
    • 15 The Kitchen
    • 16 The Architect

Impressions of Japanese Architecture (2011, Ralph Adams Cram)

  • Contents
    • 1 The Early Architecture of Japan
    • 2 The Later Architecture of Japan
    • 3 Temples and Shrines
    • 4 Temples and Gardens
    • 5 Domestic Interiors
    • 6 The Minor Arts
    • 7 A Color Print of Yeizan
    • 8 A Note on Japanese Sculpture
    • 9 The Future of Japanese Art

⚠️ Traditional Japanese Architecture. An Exploration of Elements and Forms (2012, Mira Locher, Ben Simmons)

  • Contents
    • Part 1 Context
      • Chapter 1 Environment and Culture
      • Chapter 2 The Evolution of Japanese Architecture
      • Chapter 3 The Role of Tradition
    • Part 2 Forms and Materials
      • Chapter 4 Basic Principles
      • Chapter 5 Regional Variations
      • Chapter 6 Tools and Techniques
      • Chapter 7 Materials
    • Part 3 Architecture
      • Chapter 8 Roofs
      • Chapter 9 Foundations
      • Chapter 10 Walls
      • Chapter 11 Floors
      • Chapter 12 Ceilings
      • Chapter 13 Built-ins
      • Chapter 14 Furniture
      • Chapter 15 Decorative Objects
      • Chapter 16 Interior Ornamentation
      • Chapter 17 Exterior Ornamentation
    • Part 4 Gardens and Courtyards
      • Chapter 18 Shaping the Land
      • Chapter 19 Entrance Gates
      • Chapter 20 Garden Walls
      • Chapter 21 Fences
      • Chapter 22 Paths
      • Chapter 23 Bridges
      • Chapter 24 Gravel Courtyards
      • Chapter 25 Raked Gravel Beds and Mounds
      • Chapter 26 Stone Borders
      • Chapter 27 Rocks and Stones
      • Chapter 28 Plants
      • Chapter 29 Water
      • Chapter 30 Garden Objects
      • Chapter 31 Temporary and Seasonal Elements

Just Enough. Lessons in Living Green from Traditional Japan (2013, Azby Brown)

  • Contents
    • Part I Field and Forest
      • The Farmer from Kai Province
      • Rice Cultivation
      • Rice Production and Its Byproducts
      • Thatching a Roof
      • Building Materials and Their Virtues
      • Learning from Field and Forest
    • Part II The Sustainable City
      • The Carpenter of Edo
      • Ground Transportation
      • Learning from a Sustainable City
    • Part III A Life of Restraint
      • The Samurai of Edo
      • Daimyo Estates
      • Learning from a Life of Restraint

How the mindset of traditional Japanese society can guide our own efforts to lead a green lifestyle today. If we want to live sustainably, how should we feel about nature? About waste? About our forests and rivers? About food? Just Enough is a book of stories and sketches that give valuable insight into what it is like to live in a sustainable society by describing life in Japan some two hundred years ago, during the late Edo period, when cities and villages faced many of the same environmental challenges we do today and met them beautifully and inventively.

⚠️ From Castle to Teahouse. Japanese Architecture of the Momoyama Period (2015, John B. Kirby)

  • Contents
    • Part 1 The Forms
      • 1 The Castle
      • 2 The Shoin Mansion
      • 3 The Sukiya Teahouse
      • 4 The Paintings, Gardens, and Gate
    • Part 2 Representative Examples
      • 5 Azuchi Castle
      • 6 Osaka Castle
      • 7 Fushimi Castle
      • 8 Nijo Castle
      • 9 Nagoya Castle
      • 10 Imperial Palaces
      • 11 Jurakudai
      • 12 Independent Structures
      • 13 Other Forms

Japanese Inns and Hot Springs. A Guide to Japan's Best Ryokan & Onsen (2017, Rob Goss)

  • Contents
    • The Ryokan Experience
    • A Tradition of Fine Hospitality
    • A Guide to Ryokan Etiquette
    • AROUND TOKYO
      • HAKONE AND MT. FUJI AREA
        • Gora kadan – Hakone
        • kai Hakone – Hakone
        • kikkaso inn – Hakone
        • Shuhoukaku kogetsu – Lake kawaguchi
      • IZU PENINSULA
        • Asaba – Shuzen-ji onsen
        • kai Atami – Atami onsen
        • Yagyu-no-Sho – Shuzen-ji onsen
        • Seiryuso – Shimoda
      • OTHER AREAS AROUND TOKYO
        • Tokiwa Hotel – kofu
        • kai nikko –Lake Chuzenji, nikko
        • Honke Bankyu – Yunishigawa onsen, nikko
    • KYOTO & NARA
      • KYOTO
        • Yoshida Sanso – northeastern kyoto
        • Aoi kamagowa-Tei – Central kyoto
        • Gion Hatanaka – Central kyoto
        • Hiiragiya – Central kyoto
        • kinmata – Central kyoto
        • kinpyo – Central kyoto
        • Seikoro inn – Central kyoto
        • Hoshinoya kyoto – Arashiyama, Western kyoto
        • Suisen – Yunohana onsen, kyoto
      • NARA
        • Shikitei – Central nara
        • Wakasa Bettei – Central nara
    • CENTRAL JAPAN
      • Bettei Senjuan – Minakami onsen, Gunma
      • Ryugon – Minami-uonuma, niigata
      • Hoshinoya karuizawa, nagano
      • Houshi – Awazu onsen, ishikawa
      • Araya Totoan – Yamashiro onsen, ishikawa
      • kayotei inn – Yamanaka onsen, ishikawa
      • Wa-no-Sato – Miya Mura, Gifu
    • WESTERN & SOUTHERN JAPAN
      • nishimuraya Honkan – kinosaki onsen, Toyooka
      • Tosen Goshobo – Arima onsen, kobe
      • Sekitei – Miyahama onsen, Hiroshima
      • Sansou Murata – Yufuin, kyushu
      • Tenku-no-Mori – kagoshima, kyushu
    • HOKKAIDO & NORTHERN JAPAN
      • HOKKAIDO
        • Ginrinsou – otaru
        • kuramure – otaru
        • zaborin – niseko
        • Hina-no-za – Lake Akan
      • NORTHERN HONSHU
        • Saryo Soen – Akiu onsen, Sendai
        • Tsuru-no-Yu – nyuto onsen, Akita
        • Travel Tips

This material may be protected by copyright. Winner of The North American Travel Journalists Association's Excellence in Travel Journalism Award Richly illustrated and exhaustively researched, Japanese Inns & Hot Springs is the definitive guide to Japanese spas and hot springs known as ryokans. It presents the finest ryokans in Japan, from historic properties like Hiiragiya in Kyoto and Kikkaso in Hakone to luxury retreats like Zaborin in Hokkaido and Tenku-no-Mori in Kyushu. In this Japan travel guide you will find:

  • The 40 best Japanese ryokan and onsens for English-speaking visitors (including 13 in the Tokyo area and 11 in and around Kyoto and Nara)
  • A description of the special features of each ryokan and what is included in your stay
  • Tips on how to choose the right ryokan for you
  • Practical advice on how to book a stay and a detailed etiquette guide
  • Above all else this ryokan guide reveals the enduring traditions of Japanese hospitality, a rich heritage reaching back a thousand years to the time when Japan's hot spring bathing culture took root. The beautiful properties in this book also illustrate the unique design sensibility for which Japan is so justly renowned.
  • Indispensable tips on booking a Japanese ryokan that is right for you and reaching each property by train, bus and taxi are provided along with a detailed etiquette guide to staying at a ryokan and bathing in an onsen, as well as descriptions of the special features of each of the inns featured.

⚠️ The Art of Japanese Architecture. History, Culture, Design (2019, David E. Young, Michiko Young, Tan Hong Yew)

  • Contents
    • JAPANESE ARCHITECTURE: AN OVERVIEW
      • Basic Principles
      • Pre-Buddhist Cultures
      • Reconstructed Jōmon and Yayoi Settlements
      • The Grand Shrines at Ise
      • Ainu Buildings
    • EARLY INFLUENCES FROM KOREA AND CHINA
      • Heijōkyō: An Early Capital
      • Hōryūji: The Oldest Extant Temple
      • Nara Period Temples
      • Post-Buddhist Shinto Shrines
    • THE HEIAN PERIOD: DEVELOPING A CULTURAL IDENTITY
      • Heian Style Palaces and Mansions
      • Mountain Temples
      • Buddhist Paradise Halls
      • Shinto and Buddhist Architecture Merge
    • UNDER SAMURAI RULE: THE WAY OF THE WARRIOR 1185–1600
      • New Principles in Residential Architecture
      • Kinkakuji and Ginkakuji Temples
      • The Way of Tea
      • Feudal Period Temples
      • The Ichijōdani Historical Site
      • Castles and Castle Culture
    • CENTRALIZED FEUDALISM: THE EDO PERIOD 1600–1868
      • Edo: The Feudal Capital
      • Takayama: An Old Administrative Town
      • Kanazawa: An Important Castle Town
      • Ogimachi: A Remote Farm Village
      • Minka: Rustic Rural Houses
      • Kurashiki: A Rice Merchant Town in Western Japan
      • The Important Role of Kura Storehouses
      • The Mausoleums at Nikkō
      • Sukiya Style Villas and Palaces
      • Theaters and Sumo Rings
    • THE MEIJI PERIOD: JAPANESE ARCHITECTURE IN TRANSITION
      • Pseudo-Western and Blended Styles
      • New Residential Architecture in a Traditional Style
      • Inns in the Traditional Style
      • Temples and Shrines in the Traditional Style
    • MODERN ARCHITECTURE

Simplicity, asymmetry, sensitivity to the natural environment, and the use of natural materials are the hallmarks of Japanese architecture. This book provides an overview of Japanese architecture in its historical and cultural context. It begins with a discussion of prehistoric dwelling and concludes with a description of important modern buildings.

The Art of Japanese Architecture presents a complete overview of Japanese architecture in its historical and cultural context. The book begins with a discussion of early prehistoric dwellings and concludes with a description of works by important modern Japanese architects. Along the way it discusses the iconic buildings and architectural styles for which Japan is so justly famous-from elegant Shinden and Sukiya aristocratic villas like the Kinkakuji "Golden Pavilion" in Kyoto, to imposing Samurai castles like Himeji and Matsumoto, and tranquil Zen Buddhist gardens and tea houses to rural Minka thatched-roof farmhouses and Shinto shrines. Each period in the development of Japan's architecture is described in detail and the most important structures are shown and discussed-including dozens of UNESCO World Heritage Sites. The aesthetic trends in each period are presented within the context of Japanese society at the time, providing a unique in-depth understanding of the way Japanese architectural styles and buildings have developed over time and the great variety that is visible today. The book is profusely illustrated with hundreds of hand-drawn 3D watercolor illustrations and color photos as well as prints, maps and diagrams. The new edition features dozens of new photographs and a handy hardcover format that is perfect for travelers.

Machiya (2020)

  • Contents
    • Introduction
    • Chapter 0 Kyoto house, machiya
    • Chapter 1 Passing Down
      • 1 Sugimotoke Jutaku
      • 2 Mumeisha
      • 3 Takizawake Jutaku
      • 4 Nagaeke Jutaku
      • 5 Hatake Jutaku
      • 6 Teradaya
      • Machiya Collection 1 Lattice
      • Machiya Collection 2 Mushikomado
      • Machiya Collection 3 Komayose
      • Machiya Collection 4 Battarishogi
      • Machiya Collection 5 Inuyarai
      • Machiya Collection 6 Udatsu
      • Column: Kyoto's reservoir of groundwater
    • Chapter 2 Conserving
      • 7 Noguchike Jutaku
      • 8 Segawake Jutaku
      • 9 Ikutanike Jutaku
      • 10 Uedake Jutaku
      • 11 Sasakike Jutaku
      • Machiya Collection 7 Toriniwa
      • Machiya Collection 8 Okudo-san
      • Machiya Collection 9 Kamado
      • Machiya Collection 10 Hibukuro
      • Column: Atago-san
    • Chapter 3 Operating a business
      • 12 Fushimi Yumehyakushu / Gekkeikan Okura Sake Museum
      • 13 Yamanaka Aburaten
      • 14 Tondaya Tanakake
      • 15 Onishitsune Shoten
      • 16 Kotaro-no-su
      • 17 Sawai Shoyu Honten
      • 18 Kyoto Moyashi House
      • 19 Rakuyo Orimono
      • 20 Tambaya
      • 21 Naito
      • 22 Shioyoshiken
      • 23 Fuka
      • 24 Kurama Tsujii
      • 25 Yubahan
      • 26 Chikueidou
      • 27 Kyomachiya Hiyori
      • 28 Kyokukan Mayuko
      • Machiya Collection 11 Beam
      • Machiya Collection 12 Stairs
      • Machiya Collection 13 Garden
      • Machiya Collection 14 Chashitsu
      • Machiya Collection 15 Kura
      • Column: Hotei-san
    • Chapter 4 Entertaining guests
      • 29 Rakutabi Kyomachiya
      • 30 Toshiharu
      • 31 Kinmata
      • 32 Toriyasa
      • 33 Kamishichiken Kurosuke
      • 34 Wachigaiya
      • 35 Gion Kinpyo
      • 36 Wakuden
      • 37 Kaden
      • 38 Xeumeihua Saikontan
      • 39 Cafe Marble Bukkoii
      • 40 Kissako Wazuka
      • Machiya Collection 16 Shoki-san
      • Column: Bath in Kyoto
    • Chapter 5 Background and knowledge
      • 1 History of Kyoto
      • 2 Nature in Kyoto
      • 3 Seasonal items in Kyoto
      • 4 A year in Kyoto
      • 5 Calendar in Kyoto
      • 6 Machiya Map Kyoto
      • 7 Glossary

Measure and Construction of the Japanese House (2020, Heino Engel)

  • Contents
    • Introduction
    • Definitions
      • measure
      • construction
    • 1 Measuring System and Module
      • measure of man
      • building measures
      • ken measure and module
      • traditional standards
    • 2 System of Plan Layout
      • floor mat
      • kyo-ma method
      • inaka-ma method
      • planimetric-functional space
    • 3 Examples of Floor Plans
      • typical floor plans
      • distinctions
      • superstition
      • physique of the tearoom
    • 4 Structural Framework
      • process
      • foundation
      • wall framework
      • roof
    • 5 Space Enclosures
      • japanese wall
      • floor
      • ceiling
    • 6 Movable Space Controls
      • fittings
      • translucent paper panel
      • opaque paper panel
      • windows
    • 7 Constructions for spiritual spaces
      • picture recess
      • shelving recess
      • study place
    • 8 House Enclosures
      • wooden shutters
      • shutter compartment
      • doors
    • Conclusion
      • for contemporary architecture

A remarkable classic work on traditional Japanese architecture, and how the style and features can serve as a model for contemporary residential buildings. With incredible detail (as well as numerous architectural plans and drawings), author and architect Heino Engel describes everything from room functions and the flexibility of partitions to the influence of human anatomy on Japanese units of measure. Rather than exploring why the traditional Japanese house is built the way it is, Engel delves into the practical information: what the Japanese house is and how it is built. This book is not simply a description of the features of the Japanese house, but "an invitation to probe the possibilities of utilizing this architectural achievement of the Japanese...in modern living and building," according to the author, who further believes that the unique details of the Japanese house are better suited as a pattern for contemporary housing than any other form of residential structure. With a new foreword by architect and professor Mira Locher, Fellow of the American Institute of Architects, this updated hardcover edition brings this popular work to modern readers--in hopes that they may find ideas to adopt into their own home.


Notes

  • akiya: abandoned/empty house
  • machiya: townhouse
  • minka: house
  • kominka: old folk house
EnglishRomajiJapanese
traditionalDentō-teki伝統的
architectureKenchiku建築
traditional architectureDentō-tekina kenchiku伝統的な建築

Minka, or traditional Japanese houses, are characterized by tatami mat flooring, sliding doors, and wooden engawa verandas. Another aspect that persists even in Western-style homes in Japan is the genkan, an entrance hall where people remove footwear. The flooring for the house proper is raised a little off the ground to prevent dampness from entering and to keep the living area from flooding in the case of heavy rain. The lower level is known as the tataki, and was traditionally made of packed earth, although concrete is common today. After removal, shoes are put in the getabako—a cabinet that derives its name from geta, or wooden clogs, that Japanese people once commonly wore.

Tiled roofs (hongawarabuki) are a distinguishing feature of most Japanese homes, as well as Buddhist temples, Shinto (native religion of Japan) shrines and many other types of old buildings. Kawara is the word the Japanese use to describe roof tiles in general, though there are in fact many styles and types of tiles with regional variations, and a large and specialized vocabulary is used to describe these. The convex marugawara-style (aka ogawara) tile is normally used in conjunction with the concave hiragawara tile to cover the open surface of a roof. When used together, these two types of tiles provide a strong and weather-resistant barrier which easily channels heavy rainfall. Japanese roof tiles are typically very well made and often outlive their intended function protecting structures from the elements. As a result, old roof tiles can sometimes be spotted in Japan being reused for unique and interesting purposes. Old roof tiles are sometimes used to reinforce earthen retaining walls, or stacked one next to another to make garden borders. Roof tiles are also buried vertically along dirt walkways with just the tips exposed a fraction of an inch above the surface to create artistic patterns and to act as paving surfaces. Decorative end caps called onigawara (ogre tiles) look especially nice as accent pieces within the home or on patios and especially when positioned amidst garden foliage.

Kabi (mold) is a big problem in Japan and so is gokiburi (cockroach).

Funny thing is most of the sceneries shown in this video are popular tourist destinations. The cute triangle traditional houses are in Shirakawa-go, which is designated as World Heritage, and the houses on the water is in Ine, Kyoto, which is called “Venice of Japan.” Real rural areas in middle of nowhere are not like these attractive places.

Woodworking

3.895,56    Scott Wynn - Discovering Japanese Handplanes 
            Fast, efficient, and effective, Japanese handplanes are attracting increasing notice among Western cabinetmakers, carpenters, and woodworkers. 
            These tools are meant to be used, used hard, and produce rapid, excellent results. 
            Author and woodworking instructor Scott Wynn shows you how to choose, set up, maintain, and use these versatile tools to achieve stunning results. 
            Japanese blades are arguably the best in the world, and Scott shares his methods for keeping those blades sharp. 
            Japanese-style planes are also quick to build, and Scott shows how to make your own custom plane in a special section. 
            Discover why this traditional tool has a home in your modern workshop, with step-by-step instructions, full-color photos, detailed illustrations, and clear diagrams.
5.526,42    Toshio Odate - Japanese Woodworking Tools: Their Tradition, Spirit & Use
            The classic work on the tools and spirit of the Japanese master craftsman.
            In Japan, a woodworker spends years learning to use his tools with great speed and skill. Only after he has proved his mastery can he proudly call himself a shokunin, a master craftsman.
            Japanese Woodworking Tools brings the traditions and training of the shokunin to the Western world. Calling on his own apprenticeship as a tategu-shi (sliding-door maker), and on 40 years of woodworking experience, Toshio Odate here offers a complete guide to Japanese tools: thin saws that cut on the pull stroke, laminated chisels with hollowed backs, marking tools, waterstones, axes, hammers, and almost 50 different planes.
            Odate shows shows how each tool works, how it should be cared for and how it is meant to be used. He also shares stories and reminiscences that help bring home the traditions and spirit associated with each tool.
            Whether you're a curious beginner or an adventurous professional, Japanese Woodworking Tools will show you a whole new world of exciting craftsmanship.
3.055,93    Kip Mesirow , Ron Herman - The Care and Use of Japanese Woodworking Tools 
            Japanese tools are manufactured to perform at the high level top craftspeople demand, but they work differently from Western tools-saws cut on the pull, not the push-and need to be properly maintained to provide decades of useful service. 
            Covering four major tool categories-plus sharpening stones-the authors guide the woodworker or hobbyist step by step, using detailed line drawings and concise how-to explanations.
4.312,33    Azby Brown , Mira Locher - The Genius of Japanese Carpentry
            The Genius of Japanese Carpentry tells the story of the 1200-year-old Yakushiji monastery in Nara, a UNESCO World Heritage Site, and the dedicated modern-day craftsmen who are working to restore what has been lost to the depredations of time, fire and warfare.
            Although the monastery's reconstruction will not be fully completed until 2030, one of the primary temples, the Picture Hall, has been wholly restored employing the same materials, tools and techniques originally used in its creation over a millennium ago. Featuring intricate, puzzle-like joinery and the integration of timber pieces to orient them in the same direction as when it was a growing tree, this book skillfully documents the stunning craftsmanship of the ancient Japanese, which is still alive today.
            First published more than thirty years ago, this book has become a classic. Author Azby Brown, one of the world's leading experts on Japanese architecture, chronicles the painstaking restoration of the Yakushiji monastery through:
            Extensive interviews with carpenters and woodworkers
            Original drawings based on the plans of master carpenter Tsunekazu Nishioka
            Detailed photographs and diagrams showing the woodworking techniques, tools and materials used
            This revised edition of the book contains a new foreword by Mira Locher, one of the world's leading experts on vernacular and modern Japanese architecture.
            An inspiring testament to the dedication of these craftsmen and their philosophy of carpentry work as a form of personal fulfillment, The Genius of Japanese Carpentry offers detailed documentation of the restoration of this historic building and a moving reminder of the unique cultural continuity found in Japan.
4.553,70    Kiyosi Seike - The Art of Japanese Joinery 
            This lively introduction to Japanese joinery not only delves lovingly into the unique history and development of Japanese carpentry, but also reveals many secrets of Japanese joinery. Presenting 48 joints, selected from among the several hundred known and used today, this visually exciting book will please anyone who has ever been moved by the sheer beauty of wood.
            With the clear isometric projections complementing the 64 pages of stunning photographs, even the weekend carpenter can duplicate these bequests from the traditional Japanese carpenter, which can be applied to projects as large as the buildings for which most of them were originally devised or to projects as small as a sewing box.
xxxxxxxx    Jin Izuhara - Beginner's Guide to Japanese Joinery
            A powerful way to construct Japanese joints using simple tools
            Are you a weekend hobby carpenter with a passion for creating high-quality pieces, but not quite the equipment or budget to match?
            Do you want to apply Japanese ingenuity of design to everyday furniture and give them a special character?
            Japanese joinery is an ancient carpentry skill developed in a time before mass production, when ingenuity and character of design still mattered.
            Now, you can revive this ancient art and introduce it to your own carpentry designs.
            The tools used inside this book are likely sitting in your toolbox right now, and if they aren't, they are definitely affordable for everyone.
            Note: This book has 2 parts:
            Part 1: Beginner's Guide to Japanese Joinery: Make Japanese Joints in 8 Steps With Minimal Tools
            Part 2: Intermediate Guide to Japanese Joinery: The Secret to Making Complex Japanese Joints and Furniture Using Affordable Tools
            Inside this book you'll discover:
            How to make your first Japanese joint in 8 steps
            16 traditional joints and 7 furniture projects that take you from beginner to intermediate level Japanese craftsman
            The #1 Japanese wood you should use to make joints
            The top 5 tools you need to get started with Japanese joinery
            The top tools required to fashion complex Japanese joints and their usefulness in recording studios and earthquake-prone areas
            The innovation behind metal-free joints that are necessary for areas where high-powered magnets exist including nuclear medicine or particle physics labs
            Joints that don't need specialized tools
            Here are the answers to some questions you might have about this book:
            Q: I'm just a woodworker with a wood shop in my garage, and I don't want to splurge on expensive tools just for making Japanese joints. Can I still make the joints given inside your book?
            A: Absolutely, this book is designed for the weekend woodworker and enthusiast!
            While we still recommend a few tools that are cheap but absolutely key when making Japanese joints, we have omitted the joints that require expensive tools from this guide.
            There also certain joints that don't require any specialized tools. So, you don't need to spend extra if you don't really want to.
            Q: Can Japanese joints really improve regular objects (like chairs and other furniture) that I already know how to make?
            A: Yes. The special characteristics of Japanese joints are diverse.
            Their utility can be found in making flexible yet strong houses in earthquake-prone Japan.
            They are also useful in building recording-studios where sound-transmission must be minimized.
            The addition of Japanese joints in your own designs will incorporate one or more of these characteristics to your furniture.
            We also have short guide on adapting these joints into your own designs, so you never get lost trying to make sense of it all.
            Q: Are the pictures in your book color or b/w?
            A: The pictures inside this book are b/w and meant to show clearly the intricacies of the joints.
            Every day you delay is another day you miss the opportunity to use this magnificent Japanese craft to make your woodworking projects a notch above everything else.
            Take action now.
            Scroll up and click the 'Add to Cart' button, to receive this book at your doorstep!
3.466,33    Jin Izuhara - Intermediate Guide to Japanese Joinery 
            Are you a weekend hobby carpenter with a passion for creating high-quality pieces, but not quite the equipment budget to match?
            Would you like to know how to create Japanese joints using common tools?
            Japanese joinery is an ancient carpentry skill developed in a time before mass production when ingenuity and character of design still mattered. Now, you can revive this ancient art and introduce it to your own carpentry designs.
            Whether you are making a living off your carpentry, or simply performing a labor of love in your garage on weekends, there is nothing holding you back from using the Intermediate Guide to Japanese Joinery to introduce this art to your wood designs.
            The tools used are likely sitting in your toolbox right now, and if they aren't, they are definitely affordable for everyone.
            Japanese joinery is not just about trying something new in your designs. The skill actually improves the design of ordinary objects with special characteristics that are not found in any other method of joining. These include earthquake-proofing furniture as well as improved sound conduction for studios or recording booths.
            If you have been wanting to take your carpentry to the next level, Japanese joinery is the way to do exactly that. All you need is this helpful guide and your existing tools to get started right away.
            The Intermediate Guide to Japanese Joinery provides some joining methods that don't even use any nails! The opportunities to use that skill and incorporate these unique joints into your own designs are endless.
            Japanese joinery has been used for hundreds of years to build structures that stand the test of time as well as almost everything that Mother Nature can throw at them.
            Inside the Intermediate Guide to Japanese Joinery, you will discover:
            Eight traditional Japanese joints and projects along with the specifications required to build themHow to select the correct types of wood for these joints as well as the reasons these wood types are idealThe top tools required to fashion Japanese joints and their usefulness in recording studios and earthquake-prone areasThe innovation behind metal-free joints that are necessary for areas where high-powered magnets exist including nuclear medicine or particle physics labsThe specialized characteristics behind Japanese joinery and why, in certain cases, no other type of joint will do
            And so much more helpful and practical advice!
            Easy-to-understand black and white illustrations will bring instructions to life and ensure that you always know exactly what you should be doing.
            Japanese joinery is the most affordable and easiest way to level-up your carpentry work and start producing unique pieces that are stronger and more beautiful than ever before. There is a reason that Japanese carpentry is one of the most revered in the world, and you are about to find out why.
            Don't delay learning this ancient craft and get started on your Japanese joinery journey by adding this book to your cart now!
3.797,28    Jay Van Arsdale - Shoji: How To Design, Build, And Install Japanese Screens
            Japanese-style shoji screens are translucent, wooden-lattice panels that subtly transform light and space and add an elegant touch to any decor. 
            This book contains all the information you need to design and make shoji for your own home or apartment. 
            Features* Notes on aesthetics and design fundamentals* Complete how-to guide covering basic construction methods, screen materials, and wood selection* Home projects, including window inserts, sliding and hanging screens, glass panel shoji, double- and single-sided shoji, skylight shoji, decorative
3.706,63    Toshio Odate - Making Shoji
            Learn to make traditional Japanese sliding doors and screens for your home!
            The construction of shoji--Japanese sliding doors and screens--requires great skill and attention to detail. However, the task is within the reach of amateur woodworkers, and the results will add grace and serenity to any interior. With Toshio Odate's help, woodworkers can tackle this traditional craft with confidence.
            Odate, who served a craftsman's apprenticeship during his youth, unites traditional insight and technical mastery in a way that anyone can understand. Making Shoji includes step-by-step instructions, illustrated by photos taken at every stage of the work, give detailed information on how to prepare materials, lay out joints, cut the parts, and assemble two shoji projects: the common sliding screen with hipboard, plus an intricate transom featuring the beautiful asanoha pattern. Building on this foundation, Odate gives construction details and notes on eight shoji variations. Technical chapters cover the Japanese mortise-and-tenon joint, shoji paper, and homemade rice glue.
            Drawing upon his unusual life, Odate includes richly moving stories of his sometimes harsh apprenticeship in post-War Japan, an era almost incomprehensibly far from our own. These revelations help put traditional Japanese woodworking techniques and attitudes into their cultural context. Odate's authentic account thus will enhance every woodworker's library.

Architecture & Interior Design

6.297,89    Inge Daniels - The Japanese House : Material Culture in the Modern Home
            In the West the Japanese house has reached iconic status in its architecture, decoration and style. 
            Is this neat, carefully constructed version of Japanese life in fact a myth? 
            Inge Daniels goes behind the doors of real Japanese homes to find out how highly private domestic lives are lived in Japan. 
            The book examines every aspect of the home and daily life-from decoration, display, furniture and the tatami mat, to eating, sleeping, gift-giving, recycling and worship. 
            For students and researchers in anthropology and architecture, The Japanese House re-evaluates contemporary Japanese life through an ethnographic lens, examining key topics of consumption, domesticity and the family. 
            Highly illustrated throughout, the book will appeal to all those who are interested in Japanese culture, and in how and why people live the way they do in modern Japan.
5.528,72    Mira Locher , Kengo Kuma , Ben Simmons - Japanese Architecture
            Thick thatched roofs and rough mud plaster walls. An intricately carved wood transom and a precisely woven tatami mat--each element of traditional Japanese architecture tells a story.
            In Japanese Architecture, author Mira Locher explores how each of these stories encompasses the particular development, construction, function and symbolism inherent in historic architectural elements. From roofs, walls and floors to door pulls and kettle hangers, Japanese Architecture situates these elements firmly within the natural environment and traditional Japanese culture.
            Japanese architecture developed with influences from abroad and particular socio-political situations at home. The resulting forms and construction materials--soaring roofs with long eaves, heavy timber structures of stout columns supporting thick beams, mud plaster walls flecked with straw and sand and the refined paper-covered lattice shoji screen--are recognizable as being of distinctly Japanese design. These constructed forms, designed with strong connections to the surrounding environment, utilize natural construction materials in ways that are both practical and inventive.
            This fascinating architecture book provides a comprehensive perspective of traditional Japanese architecture, relating the historical development and context of buildings and the Japanese garden while examining the stories of the individual architectural elements, from foundation to roof.

Other

4.418,58    Ari Seligmann - Japanese Modern Architecture 1920-2015
            Japanese Modern Architecture 1920-2015 uses a series of thematic lenses to explain the rich history of Japanese architectural developments from the 1920s foundation of modern architecture to contemporary permutations of modern and post-modern architecture. The book introduces the diversity of Japanese architecture and traces the evolution of Japanese architecture in the context of domestic and international developments. 
            It examines the relationship between architecture and nature, and explores various approaches to craft and material. 
            Finally, this new book considers tensions between refinement and ostentation in architectural expression.
5.896,08    Oliver Statler - Japanese Inn 
            The beguiling story of the Minaguchi-ya, an ancient inn on the Tokaido Road, founded on the eve of the establishment of the Tokugawa shogunate. 
            Travelers and guests flow into and past the inn warriors on the march, lovers fleeing to a new life, pilgrims on their merry expeditions, great men going to and from the capital. 
            The story of the Minaguchi-ya is a social history of Japan through 400 years, a ringside seat to some of the most stirring events of a stirring period.
4.883,45    Naomi Pollock - Jutaku, Japanese Houses
            Quirky, surprising and entertaining - with more than 400 houses, Jutaku is architecture at the speed of Japan.
            Frenetic. Pulsating. Disorienting. Japan's contemporary culture is constantly in flux. In stark contrast to the centuries old imperial architecture of Kyoto, recent Japanese architectural practices have ushered in an era of continuous experimentation.
            With 500 houses, one house per page, one image per house, Jutaku: Japanese Houses is a fast-paced, "quick hit" shock to the system that shines a Harajuku-bright neon light on the sheer volume, variety and novelty of contemporary Japanese residential architecture.
            Featuring the work of many of Japan's most famous architects including Shigeru Ban, Sou Fujimoto, Toyo Ito, Kengo Kuma, Jun Igarishi, Shuhei Endo and dozens of up and coming and completely unknown young architects, Jutaku is organized geographically taking readers on a bullet train journey across Japan's architectural landscape. Essential reading for architects, designers and fans of contemporary Japanese culture.

Words

Table of Contents


Signal

  • sample playback: reproducing a clip of audio, uses computer memory to store a pre-recorded sound, which may be played back at a fixed or variable pitch, and can be repeated in a continuous loop to extend the duration of a sound without increasing the memory requirements
  • wavetable synthesis: Wavetable synthesis is fundamentally based on periodic reproduction of an arbitrary, single-cycle waveform; The distinction from other synthesis methods employing single-cycle waveforms is twofold: 1) multiple single-cycle waveforms are used and 2) some means of modulation of the amplitude and mix the single-cycle waveforms is employed
  • signal generator:
  • pitch generators:
  • arbitrary waveform generators:
  • digital pattern generators:
  • frequency generators
  • waveform generator: a fundamental module in a sound synthesis system, usually produces a basic geometrical waveform with a fixed or variable timbre and variable pitch; Common waveform generator configurations usually included two or three simple waveforms and often a single pseudo-random-noise generator (PRNG)
  • pseudo-random-noise generator (PRNG)
  • pulse wave: the timbre of which can be varied by modifying the duty cycle
  • duty cycle: A duty cycle is the percent of time that an entity spends in an active state as a fraction of the total time under consideration
  • square wave: a symmetrical pulse wave producing only odd overtones
  • triangle wave: has a fixed timbre containing only odd harmonics, but is softer than a square wave
  • sawtooth wave: has a bright raspy timbre and contains odd and even harmonics
  • white noise
  • brown noise
  • pink noise
  • frequency modulation synthesis: a form of audio synthesis where the timbre of a simple waveform is changed by frequency modulating it with a modulating frequency that is also in the audio range, resulting in a more complex waveform and a different-sounding tone

Hippies

  • Bug: bother, annoy
  • Bummer: an emotionally unpleasant or upsetting experience; also, a negative drug reaction as an "LSD bummer"
  • Burned: cheated
  • Busted: arrested
  • Cool: to be tuned-in, into things
  • Dig: enjoy, appreciate, understated
  • Far out: unusual, extraordinary; bizarre or avant-garde
  • Freak-out: to lose control, to have bizarre patterns of though or behavior. Often occurring under the influence of a drug
  • Groove: to "swing," to enjoy, to be "with it"
  • Hassle: an annoyance or a conflict situation
  • Hip: to be "in," "with it," emotionally wise, in the know
  • Out front: open; honest; or the preface to a statement
  • Split: to leave
  • Square: a person or thing, not tuned-in or in the know
  • Stoned: very high on drugs
  • Up-tight: overly anxious or nervous

Euskara

  • askatasuna: libertad
  • berdintasuna: igualdad
  • indarra: fuerza, intensidad
  • iraunkortasuna: persistencia
  • atxikitzea: perseverancia?
  • ohorea: honor

Pairs

  create destroy,delete
   store retrieve,fetch,load
     add remove
     set get
    read write
  update undo
  append truncate

Software

  • feature
    • the structure, form, or appearance especially of a person ("stern of feature even when he smiled")
    • the makeup or appearance of the face or its parts ("a person with Asian features")
    • a prominent part or characteristic ("Pine trees were a feature of the landscape")
    • any of the properties (such as voice or gender) that are characteristic of a grammatical element (such as a phoneme or morpheme); especially : one that is distinctive
    • a special attraction ("a featured article, story, or department in a newspaper or magazine")
    • something offered to the public or advertised as particularly attractive ("one of the car's most popular features")
  • property
    • a quality or trait belonging and especially peculiar to an individual or thing
    • an effect that an object has on another object or on the senses
    • an attribute common to all members of a class
    • something owned or possessed
    • the exclusive right to possess, enjoy, and dispose of a thing
    • something to which a person or business has a legal title
    • one (such as a performer) who is under contract and whose work is especially valuable
    • a book or script purchased for publication or production
    • an article or object used in a play or motion picture except painted scenery and costumes
  • attribute
  • resource
  • asset
  • command
  • query
  • rule
  • transformation
  • change
  • apply
  • effect
  • class
  • type
  • kind
  • value
  • simple
  • complex
  • complicated

Concepts

  • kaizen: continuous improvement
  • monozukuri: the art of making things