DRY – Don’t Repeat Yourself

“Don’t Repeat Yourself” is a principle of programming.  I like this quote by Uncle Bob (Robert C. Martin) in his book Clean Code (italics mine):

Duplication may be the root of all evil in software.  Many principles and practices have been created for the purpose of controlling or eliminating it.  Consider, for example, that all of Codd’s database normal forms serve to eliminate duplication in data.  Consider also how object-oriented programming serves to concentrate code into base classes that would otherwise be redundant.  Structured programming, Aspect Oriented Programming, Component Oriented Programming, are all, in part, strategies for eliminating duplication.  It would appear that since the invention of the subroutine, innovations in software development have been an ongoing attempt to eliminate duplication from our source code. (pg 48)

This relates to hints I’ve been dropping here and there and everywhere (here too) about condensing the expression of knowledge.  I like Uncle Bob’s conclusion to the chapter:

Every system is built from a domain-specific language designed by the programmers to describe the system.  Functions are the verbs of that language, and classes are the nouns.  This is not some throwback to the hideous old notion that the nouns and verbs in a requirements document are the first guess of the classes and functions of a system.  Rather, this is a much older truth.  The art of programming is, and has always been, the art of language design.

Master programmers think of systems as stories to be told rather than programs to be written.  They use the facilities of their chosen programming language to construct a much richer and more expressive language that can be used to tell that story.  Part of that domain-specific language is the hierarchy of functions that describe all the actions that take place within that system.  In an artful act of recursion those actions are written to use the very domain-specific language they define to tell their own small part of the story. (pg 49)

The Sourcerer Treu

…walking through a misty brown-green grey-blue, path zigzagging behind a subtle logic I can barely follow from one halting step to the next—just a dim sense of which way to head, like my distant ancestors first coming to depend on light sensitive tissue—I moved through metaphors more than terrain, hoping the stimulation to motivate proto-tissue to bulge and ramify—spiral stepping down through root distinctions.

Navigating the ancient forest became an unending slipping across rocks oozing dark green moss as if from hidden organs; climbing over and under rusty brown dead fall at one stage or another of metamorphosing into seas of churning insects; giving wide berth to stinking patches of brainy mushrooms wafting dizzying fragments of thought.

It’s a soup of mysterious portent as much as any forest; something about the lay of the land, the arrangement of fauna, even the noises of the animals… the forest is hiding something for which it is the map.  Events, relations, things that normally went unnoticed were becoming decisive contours of a multivariable equation whose approximation was my dawning purpose.

Tendrils of ominous significance swirl chaotically through waves of overriding wonder as my feet sink into the dark, dank soil: (one… two, one… two).  I’ve caught the tracks of the passing of a Great Meaning—my first—yet, as excited as I am, I cannot avoid the deep and unsettling feeling that I may be heading too deep—through a one way passage.  Only slightly less afraid than enamored of my goal, with trees pressing in to crowd out my shadow, and everything around me nurturing a suspicion that there are places best left alone, I move deeper.

And always, I come to the foothills of a mountain rising before me, so dense with leaf and cliff face that I only see shadow shifting into a higher darkness.  Moving up into the depths, sweat soaked, red of skin, breathing deeply, I become aware of my body again as never before.  I can reach out to k-no-w k-new layers until I fully grasp my hands and step into my feet.

I reach an elliptical meadow with a stone at one foci, everything in sight seeming to caress the being-there of it.  I am drawn to the place as one falls towards fate in the curved geometry of space time.

Large and clearly extending deep roots, the Stone bobs in the top soil like an iceberg, giving the sense of being ninety-percent out of sight, the ground seeming to swell up to it from the horizon.  Mounting the stone transformed from prosaic into mythical: beginning a man climbing a boulder, I journeyed through an evolving phantasmagoria of mythical persona’s, from gutter rats to demigods to Zeus’—a blur of silk and fur, steel and lightning—until, as for the first time on a throne long battled for, a new Ieye was born.

My awareness of how dependent identity is on embodiment’s environment refreshes.  I imagine the evaporate deposit of a sodium ion on the surface of a rock after a rain storm—a sort of mechanical paralysis—then I see the same sodium ion take part in the dance of nerve impulses going on in my mind, taking part in the life process that is me.  First seized by the contrast and consumed with intimate identification to the process of life, my mind broadens even further and I know the inanimate ions are merely awaiting birth into a life process; is by that fact already in the life process.  Perhaps a slug will ensnare it in slime before being eaten by a bird.  The entire Universe is alive or being brought to its birthplace: the Universe is alive.

The rock, my scepter into the      unconscious, whispers: trogoautoegocratic.  All things are eventually consumed by one who exists or one who is coming into being.  A thing makes itself from what it incorporates.  Structure and process are conjugate concepts: every structure is defined by its enfolding of unfolding-structure into itself as well as its own unfolding into structures enfolding it.   Structure over here unfolds into structure over there.  The world became a vast intricately folding origami protein.

The key to keeping together in this feast was learning to navigate the many kinds of digestion and things being digested.  I looked about myself enjoying this unique view of that which is.  The rock seemed to situate both physical and phenomenal space: looking one way I saw the world, another I saw myself; from the boundary stone each direction was horizoned by the Other.  Between Self and World my perception shifted, as a Necker Cube to striking falcon focus, tunneling infinitely into: I am of this stuff which I can shape.

Implications unfolded by way of a Broadway production of interacting meanings interchanging words dissolving into stage-play-absorbed geometry.  These realities, necessarily abstract in their textual form, were in those moments seen, heard, felt, smelt, lived.

Perceptions and dreams are to the same degree cartoonish re-presentations of a reality forever beyond the artifacts of perceiving: shapes borne by dim senses mating with suggestive noise.

Part of me sunk with the sun pulling its blue cloak from between the starry midnight sky and wherever I was.  Leaving myself to become myself in a new way in the semi-darkness under eternity,  I followed the light make the days,  that single now that energizes the moments that sound the footsteps of time; but then, in setting, the stars unveil eternity remembering itself weaving the daylight’s uniqueness into statistical equilibrium.

Trees loom, starlight excited leaves flutter and dance a breeze over me in a self-elaborating language:  Yours are the eyes of the Forest, Ambassador to the Sky.  Your warm-bloodedness shouts independence.  Ride this wave forever inoutward.  The distant stars exert their subtle gravity through your curiosity to reach them.

Swaying in the breeze as I read it I nearly jumped out of myself seeing someone seated sinisterly to my left.  Head tilted, paralyzed, like a deer standing frozen on a leaf-strewn autumn road as headlights bear down, coaxing guidance from vast and turbid foreboding.

A massive Self had ensconced itself, never minding the odd way it seemed to recede into the distance whenever I tried to focus on it in some way.  Nevertheless, certain details asserted themselves, such as the suppleness and density of the skin and a miasma of significance.  The corners of the eyes curved upward in a cunning permajoy that proved more unsettling than the appearance of the being itself.  A word popped into existence like a virtual particle in the vacuum of my mind: “elf”.  Seated beside me, and for all I could intuit I was not projecting some part of myself outward (having often frolicked in fields of figuratively flowering fauna I’ve found solid distinctions between reverie and reality), was an elf.  A big one.  A small one.  One not quite there while definitely there.

I was looking directly into the eyes, amazed in their black, sensitive mien.  The face and the eyes were self-similar in a nearly decipherable way and it was some time before I accepted that the eyes were gazing back too, seeing.

Moment of horror.

Clasp your hands in front of your heart and prise loose one last breath from fate, dear reader, for the same dragon’s yellowed teeth cradle your skull under jowls curved upward in a smile.

Forward and the world shifts ninety degrees from where it had always been before, into iridescent dimensionality.  Higher fate… meanings not bargained for… too much knowledge… too soon… the Seeker’s secret fear.  The elf’s eyes spoke: fear the mastery I bring to overcoming.  It was left for me to complete the circle: through me you will overcome, via struggle and hardship, the difficult obstacles in the way of your rising into new layers of existence. 

What have you mastered I was led to wonder

I have mastered mastery.  My approach is exponential.  I shorten the distance between things. I bring everything together

Who are you?

The Source-r-er, Treu.  A sculptor of perception to your marble of high quality.  Welcome to my workshop and my chisel

…the elf sorcerer Treu decomposed into perception-stuff, wedging into the very that by which my meanings are meaningful: perceiving perceptions.

___________________

Who’s this’elf poised just beyond everything particular?  A sorcerer?  An alien?  A psychotic split?  I’ve entered into Socratic kata with a dream of what I may be becoming where…

… are building into something.  Each step adds to an already ungrasped whole: I’ve no idea where to finally find this forest’s secret core or how I found it ‘fore…

Bootstrapps: Intro to Programming

[Provisional]

Bootstrapps Table of Contents

  1. Intro to Programming
  2. Setting up a Programming Environment
  3. Language Concept Subutorials
    1. Physical Computers
    2. Variables
    3. Values
    4. Types and Typing
    5. Expressions
    6. Control Structures
    7. Regular Expressions
    8. Functions
    9. Objects
    10. Reflection
    11. Concurrency
    12. Metaprogramming
  4. Programming Tools Subutorials
    1. File System
    2. Databases
    3. Web Services
    4. Connecting Programs
    5. IDEs
  5. Programming
    1. Understanding (the Domain of) the Problem
    2. User Interface
    3. Developer Interface

<<12/27/12>>

For a while now, I’ve wanted to write the sort of introduction to programming that would have really made a difference to me when I was learning programming.  Actually, I understand that in writing it now, it will have perhaps an even more powerful impact.  I have a natural talent (even if my other writing doesn’t always exemplify it to you) for appraising a context of information with respect to its clarity and completeness.  Small, perhaps, in the overall scheme of things, nevertheless we must work with what we’ve got.  The importance of my little talent will become clear as the tutorials distill into an essence most efficacious.  You will see, I am going to bootstrap our way to the perfect programming tutorial by constantly reappraising and refactoring the product towards ever greater value.  And in this way, the subtler skills of the master programmer shall be introduced and encouraged.

There’s a difference, however, between this “tutorial” and others.  It is one of scope, of vision, of intent.  Most tutorials are just that: “tutorials”.  Their author has set the scope of their project to be a collection of documents describing and showing how to do or make some activity or thing.  Perhaps there are ancillary materials and tools.  Perhaps even a kind of interactivity.  My question is, how far can the capabilities of programming be taken in a tutorial about programming?  To what degree can I bootstrap (myself, you, whoever) into a master programmer?

It comes down to two things.  The writer and the reader.  The writer must be dedicated to putting the most into the presentation as well as continuous refinement, just as the reader must be dedicated to getting the most out of it and as well as continuous refinement.  For the reader, this should be easy.  My avowed goal is to catalyze your transformation into a master programmer.  Not just a competent one.  A master.  Someone in the top half a percentile.  Perhaps it’s a little more difficult for the writer, however.  Is this some sort of altruistic gesture?  Am I toiling away solely for you benefit?  No.  For better or worse, I’m thinking globally, but acting locally.  I’m going to transform myself into a master programmer (I am not one, right now, I assure you, which isn’t to say that I’m no good, but rather that I have a pretty lofty perception of what constitutes a master programmer).  I am going to record my doing of it.  I am going to feed the process back in upon itself.  I am going to take a picture of a lightning bolt as it arcs through the sky.

You see, I think programming is a multifaceted activity.  Programming, like any craft, is not just the end product.  Which is to say, a full description of how to get from a blank screen to a working program does not simply involve a description of the meaning of the keywords and syntax of the programming language used.  There is much more involved in arriving at a “program”.  And if you really want to master arriving at “programs”, well, you’ve got your work cut out for you.  You my as well take up Yoga too, and settle in for the long haul.

Programming tends to involve (but certainly isn’t limited to):

  • Excitement about creating real, active solutions to real, active problems
  • Understanding “int x = 1”, otherwise known as “variable assignment“;
  • Understanding the keywords, operators and syntax of a programming language
  • Understanding Control Flow statements (if, foreach, while, et cetera)
  • Naming
  • Code formatting
  • Being able to analyze problems in terms of smaller problems
  • Being able to stitch together the solutions to many small problems into a big solution to the overall problem
  • Being able to see generic patterns in specific instances
  • Design Patterns (Gang of Four and beyond) and
  • Being able to constrain a solution to use generic patterns
  • Understanding and applying user interface best practices
  • Refactoring code to arrive at better solutions and design patterns
  • Ability to understand knowledge domains (Domain Driven Design and a pdf of Domain Driven Design Quickly)
  • Being able to create tests (test driven development)
  • Object Orientation, Analysis,  and Design
  • Source Control (Git, CVS, SVN…)
  • Object Relational Mappers (ORMs)
  • Integrated Development Environments (IDEs)
  • Command Lines
  • UML (Unified Modeling Language)
  • Metaprogramming
  • Reflection
  • Frameworks
  • Security and Permissions
  • Generics, Templates
  • Best Practices
  • Static vs Dynamic and Interpretted vs Compiled programming languages
  • Functional vs Procedural vs Object Oriented programming languages
  • Computer Hardware
  • Networks
  • Web Services
  • Concurrency
  • Workflows
  • Regular Expressions
  • Databases (SQL, NoSQL, etc)
  • XML, JSON, CSV (data exchange formats)
  • LINQ
  • Compilers
  • Assembly
  • Communication with other programmers
  • Communication with non-programmers
  • Clear thought and writing
  • Being able to search for solutions to any sort of problem encountered while composing a program
  • Ability to step away from problems
  • Domain Specific Languages
  • Continuous Learning
  • Clean Code
  • Legacy Code

That’s already a lot.  Traditionally speaking, it’s five years of knowledge, to attain a passing acquaintance.  But you know what.  That’s also totally false.  That’s five years of textbooks.  Five years of classrooms.  Five years of armchair reading in front of the TV.

It’s a year of engaged learning.  Let’s begin.

A few words on the project in general before going into programming specifically.  I am going to try to quickly (crudely) put together the structural scaffolding of this project (all the basic tutorials) and then go about refining them.  In general, I would expect a year to complete the project and 3 months for it to be generally usable.  If any post in the series begins with [Provisional] than take everything with a grain of salt, I don’t consider it “released” yet.  Alternatively, I will begin each vetted tutorial in the series with a version number in brackets: [1.0] will be release one of a tutorial.  The tutorial as a whole will consist of variously versioned subutorials.  “Metaprogramming” may be at version [4.112] while “Physical Computers” languishes at [1.0] (reflecting in general my interests at the moment).

Okay,
Let’s set our anchor in the wind.

What is programming?  There are many ways to answer this question.  The right answer depends on the listener.  Programming is a very mercurial referent   One could even doubt a fundamental difference to exist between the programmer of “software technology” and the engineer of “material technology”.  Or replace “programmer” with “hacker” or “engineer” with “artist” or “tinkerer” or “architect”.  It all comes down to a fundamental human activity, structured control.  Now, “control” is an overloaded word, but there is a quintessence to its various senses.  Creating precise or imprecise workflows of will.  This isn’t the place to start defining “will”, but we all have some sense of the fact that it is a fact that we can form an idea of some action and/or do some action.  “Structured ‘doing'” comes close.  Plenty of other places in this blog deal with the nature of “being” and “doing” and “structure” and “function” and “collections of doing” and “organisms” and “spells” and even “programs”.

Programming involves spelling out interconnected, ordered instructions.

A relative(ly accurate) distinction between architecture and programming could be made in relation to the fact that buildings are static solutions to environmental problems, whereas programs are self-modifiable solutions to problems (of course, buildings could become self-modifiable as well, but probably because programs wound their way into the material and connections of the building).

Programs are, essentially, interconnected algorithms that can interconnect.  In The Algorithm Design Manual we learn right off the bat that:

What is an algorithm?  An algorithm is a procedure to accomplish a specific task.  An algorithm is the idea behind any reasonable computer program.

This begins to hint at a second face of programming.  Not only do we have the program, but we have the “specified task”.  Specifying a task involves analyzing its parts.  Programming is the building up of a system of algorithms.  In other words, a program is a structured associations of tiny solutions to tiny problems.  Programming is building up.  But it is something that is built up around something else.  A scaffolding.  Do you see it in there?  Those “tiny problems”.  As much as programming is a building up (of a codebase, et cetera), it is also a breaking down (of a problem into parts).  It is important to keep this in mind.  Too often programmers get stuck on the product of programming, ignoring the means.

Reminds me of Wittgenstein (Tractatus Logico-Philosophicus):

4.112

The object of philosophy is the logical clarification of thoughts.

Philosophy is not a theory but an activity.

A philosophical work consists essentially of elucidations.

The result of philosophy is not a number of “philosophical propositions”, but to make propositions clear.

Philosophy should make clear and delimit sharply the thoughts which otherwise are, as it were, opaque and blurred.

Now I’ll move on to Harold Abelson and Gerald Sussman in SICP (Structure and Interpretation of Computer Programs), none other than the defacto introduction to programming computers at MIT for decades (although not necessarily anymore [also check this video series out from HP back in the day! It’s super awesome]):

We are about to study the idea of a computational process.  Computational processes are abstract beings that inhabit computers.  As they evolve, processes manipulate other abstract things called data.  The evolution of a process is directed by a pattern of rules called a program.  People create programs to direct processes.  In effect, we conjure the spirits of the computer with our spells.

A computational process is indeed much like a sorcerer’s idea of a spirit.  It cannot be seen or touched.  It is not composed of matter at all.  However, it is very real.  It can perform intellectual work.  It can answer questions.  It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory.  The programs we use to conjure processes are like a sorcerer’s spells.  They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform. (pg 1)

I’m not making this stuff up.

Let’s examine what programs can “look like”.  Well, they can look like different things, depending on what instruments you’re using to look.  A program can look like a collection of files in a (hopefully) intent-revealing directory structure:

Or it may look like traditional code:

program as code

Or maybe some Class Diagrams:

programs as class diagrams

Or maybe as a work flow:

program as workflow

To me, a program is like a piece of text with the purpose of accurately engendering a specific meaning the mind of the reader.  It basically consists of well-named and well-defined definitions.  Programs are highly interconnected in that a typical programming involves naming a tiny process and referring to it within the definition of other tiny processes.  In this way we can build up layers of inter-supporting abstractions.  In the same way that a single word can carry with it whole contexts of meaning that, without the word, would take paragraphs to describe, so too can programs be built out of nested definitions.

Imagine reading a document where you could click on any word and navigate to its definition.  That definition would be composed of words as well and any of those could be clicked on to navigate to their definition.  And so on.  In the end, this is very much like what a program is.  Every word used in a program (even human text, like “Jack and Jill went up the hill…”) ultimately has a definition in terms of other words that the computer (program compiler) has a definition of, all the way down to the tiniest processes of all, individual changes within the electronic circuits themselves (FYI, that is the difference, for instance, between X86 processors and ARM processors)

So, how do changes to collections of present/absent electrical pulses turn into letters and text and pictures and user interfaces and meaningful content?  Trust me, these days programmers don’t instruct the computer about the color of each and every pixel on the monitor and program at the level of describing the color and intensity of pixels on the screen.  These days programmers communicate in terms of preexisting abstractions that make the solution to the problem of, for instance, creating an interface into the details of a purchase order, much easier and closer to the level that people actually think about the purchase order, rather than the nitty gritty level electrical hardware signals.

An example is due.  Let’s say we want to tackle the project of creating a text editor (not for the faint of heart).  At a basic level, this involves showing and saving a series of keystrokes by the user.  When a writer creates a document, essentially they are linearly stringing together characters (symbols, letters, shapes) that they can move around in and edit over time.  The characters are specified by pressing keys on a keyboard, either singly or in combination and the navigation happens through keyboard and mouse and touch and whatever essentially positions a “cursor” where the next character is to be inserted in the string of characters.  While that is accurate in certain reductionist ways, if we want our text editor to be useful to the modern writer we are going to have to add functionality that operates in terms of higher level concepts than “characters”.  For instance, spell check involves “words” and formatting may involve “sentences” and “paragraphs” and “pages” and “margins” and “fonts” and “footnotes” and “lists” and “text selections” all the sorts of stuff that writers use to structure and interact with various aggregations of characters in a text document.  Once you’ve defined these terms in your program, you can write functionality that uses them and exists in relation to them.

I want to emphasize the importance of organization to a program.  In the end, any  program that works (however that is defined for that program) is organized.  It’ can’t help but be due to the way processors work.  The only question is how well that organization is understood by they who wrote it and how well it can come to be understood by those who would understand it.

Cloud Atlas Review

In short, Cloud Atlas is a great movie.  The most powerful movie I’ve seen in the theater in years, perhaps ever.  A tear actually streamed down my face, twice.  Throughout the movie my eyes were moist and my sense of appreciation for the story and the directing expansive.

That said, it doesn’t surprise me that the reviews aren’t so great.  It is a complicated movie adapting to screen a complicated book.  I mean, David Mitchell is a genius.  The book, if you read it, you realize is an artifact right near the top of the semantic food chain.  Any movie that would do it justice (and this one truly does) is going exist at levels and employ techniques that will be outside the average person’s experience, or “comfort zone”.  No blame.

I was going to compose my review tonight, but realized as I started that I need to watch it again while taking notes to compose the review I really want to write.  So in short, my complete review will probably come tomorrow or Sunday.  I just wanted to get this out there.

Besides, I want to relax in the after glow of the emotional ark that it is (at least for those who can flow with its meaning).  Analysis will jar those feelings.

Why I oughta…

I tend to compose a blog post in a single sitting.  Rarely have I saved a draft and came back to “finish the other half” and publish it another day (except maybe for one or two of the Sutras, and maybe another post)  Which isn’t to say that I haven’t made tiny edits or added a paragraph or changed picture, days or even weeks later, or written a post one day and published it another.  But I mean, generally, that I’m not making sweeping changes to a post after the day I started it.

But sometimes, I read over my posts and I just wanna put this whole project on pause and spend a month or two completely polishing every post, getting rid of some, merging others, and generally reorganizing.  Planning out a structure and linking things together for real.  I add a lot of interblog links and conceptual references, but as I’ve said (see what I mean about interblog links, geesh) this isn’t all planned out.  Yet, in writing the last three sentences, my perspective changed and I’ve come to embrace the nature of this blog.  While creating an association of words that reflect negatively on an unorganized structure I realized that in a very real sense my unconscious is already organizing all this information.  Parallels emerge that would never have slipped through in a rigidly planned project, where every meaning is intentional and unambiguous.  I will try to remember to collect these unintended parallels down below as I notice them.

You know what I think is going to happen?  Over time this is all going to distill.  In the same way that I edit a single post organically as I compose it, this whole blog is going to filter through the same process.  But the blog that I want to make is something that would allow for easy navigation of the history of these edits.  As the whole system is the whole system, not just some part, like the head revision.

But what really motivated this post was the immaturity of much of my writing.  I go too far with parenthetical thoughts.  In fact, I start too many sentences with “In fact” or other silly transition phrases.  But that comes down to what my point in the moment of writing is.  When I’m writing in the thick of things my point isn’t only to compose pretty writing; it is also to capture as much of the seed of my thought-nature as is possible.  I’m somewhere in there, in the pattern that could be distilled out of my writing.  Perhaps that will be useful someday in the future in relation to some imaginary technology that can process such information.  There is a part of me that appreciates all this superfluous data, the typical amplifications, the archetypal whirlpools of semantic folding.  I just wish I could layer and make navigable, my revisions, all the way down to each keystroke.  Consider.  That is how thought is traced, and how a mind is reminded of the details of past streams of experience.  Record of the ways the mind pushes the little shapes its gained control of is the record of the mind.  This is not to say that the mind is an epiphenomenon of matter, but rather to say that matter and mind are like thunder and lightning — two conjoint surfaces of a single whole.  In order for mind to exist, perhaps, it needs some matter to push off of and the record of the pushing off of matter by mind is the record of mind itself.  The more of it you can get, the less loss there is in the representation.  Complementarity of structure and function.  If you consider the stuff of awareness to be constant across distinct personality-beings, then you essentially concede the plausibility of the notion of lifting a mind out of a collection of artifacts just as one may lift a fingerprint from a glass and placing that mind in a stuff of awareness other than that which developed from your mother (ie, you).  

Do you realize that the various UI for human communication could essentially be the way humans see and interface with the brain of human society?  Human society would be as ignorant of humans as humans are of neurons (is ‘UI’ also plural, or do we need the ‘s’ as in ‘UIs’?  fishui).

I find that there are often unconscious parallels in my writing.  If I remember I will try and collect my awareness of them here:

Metajeromeyers

I’m trying to maintain a balance, here in this blog (as much by releasing already existing content as generating new content in the tension of creation [weltanschauung yoga]).  IOW, I try to give some space to all my parts, proportional to their role.  Consider how a muscle or a nerve shouldn’t be squeezed into too little a space (within fascia or whatever), but neither should it be given too much space (no support).  It’s like I have various stars, or aggregations, in my being, that orient me just so in the night sky of life and when I look, I want to see all the stars, not just some of them (I hope you can identify with this metaphor, too, it’s numinous, even luminous).

VISTA gigapixel mosaic of the central parts of the Milky Way from http://www.eso.org/public/images/eso1242a/

VISTA gigapixel mosaic of the central parts of the Milky Way from http://www.eso.org/public/images/eso1242a/

So I try to give voice to my tendencies, those parts that come together in my nature.  But of course, like with any person, there are simply too many to just let ’em all out at once.  Perhaps it will take 1,000,000,000 words for us all to express and cross-express ourselves to our hearts content, and 1,000,000,000 words will take years to write.  So some geometric/psychological unfolding must take place, like in a teacher’s analysis of origami creations to students, or DNA in a chromosome, or pixels in a photograph to the resultant gestalt in a mind, or doohickeys emergent from bebops.

We must look out from within the philosopherstone.  The stars are not only up, they are down and around too, through the Earth, on all sides.  We are in the night sky.  Electromagnetic radiation from our bodies and artifacts and planet are continuously radiating outward (and inward too) through spacetime (and/or whatever architextures there are).

If we wanted to revisit human history with advanced technology for a total perception of the human race, assuming faster than light travel were somehow possible, then we could simply calculate where is the radiation boundary for the point in time we wish to observe and travel to that place and cut across the wave to ride it backwards in time, like a spacetime phonograph, bringing to bear all the most advanced instruments of perception, etc.  A bauble for future tourists of the past.

Consider what that means, if you dare.  Nothing can be hidden from the future.  The future, if the big crunch is to be believed, and applied to all fields (consciousness/semantic/psychological [certainly, it is poetic to apply the big crunch in this way, not scientific]) is everything at once.  But then, if time is an illusion… everything’s already at once right now suspending between past and future.

I have a very precise side that I employ in programming and understanding communication and even in poetic activity (some say the rules of a language release those plays on the rules that comprise the distinctive form of poetry [poets know the vast precision they bring to their words, sometimes a single association of words will slowly grow towards an elaborating meaning over the course of the poet’s entire life {exhibit A: Leaves of Grass <poetry is a union of playing with the structures created by rules and adapting flows of meanings to the structure through which they flow |and and not only within an individual, but within cultures as well \/dance, music, and most creative endeavor is similarly related to the constraints of the medium of its creative expression\/|>}]), and I have a very cross-disciplinary side (I mean that more metaphorically than academically, I mean I have a very metaphorical side).  The two tend to weave together pretty intimately in my stream of experience, although in most of my communication I regulate quite precisely my overall expression.  While this may seem undesirable to a soft-eyed mystic centered on the notion of pan-acceptance, in reality it is a necessity of form and balance and is what prevents us from being blobs of undifferentiated Bose Einstein condensate (ahh, the license of poetic thought).

First of all, I think it is important to form ones speech towards the expectations of one’s listeners.  I write this blog for a certain type and they can find me in their own time (so it’s not an exception, even if you don’t like it).  For the rest, they’ll slide along on their way to what they value.  Fine.  But, even in my blog writing I make all sorts of compromises for readability (as unbelievable as that may be to a bewildered reader twisted into seven layers of harmonic meaning like some kind of conceptual yogi [it’s the UI, not the content — most of my parenthetical thoughts are meant to be understood at a glance both in themselves and in relation to the main thread of thought{I have to write to what I understand future systems to be like and what they expect, so that my content can be at least somewhat converted into them <forward compatibility>}]).

Similarly, but more so, in my communication for work, or with family, or commerce, or whatever, I conform to my understandings of the expectations of others.  It is absurd to speak in riddles of metaphors based in knowings and experiences that your interlocutor doesn’t have.  To speak cryptically, contrary to role-based expectations, puts a burden on the listener to piece it out.  Perhaps you’re comfortable adding to another’s burdens, but I tend to shy away from it.  When I was younger this led people to believe I was shy.  What that meant, practically, functionally speaking, was that I was content not to be burdened by the inevitable annoyance they used to release the stress that resulted from me having placed the burden of piecing out my meaning upon their shoulders (obviously that’s an oversimplification and a rationalization [I had traditional shyness as well, worried what others would think and all that anxious jazz]).

In everyday speech I can sometimes exhibit a Hemingwayesque transparency (or so I think) that prods the listener towards meanings that in some cases they’d never have likely been able to get so close to otherwise.  Of course, one has to be careful, just as in approaching too close to the sun without having proper shielding can result in severe burns (Shine On You Crazy Diamond [like some people say Bikram Yoga {read: yoga done in 104 degrees with 40% humidity} is dangerous because the heat in the room could encourage overstretching the muscles and lead to damage that may have otherwise been avoided in the absence of the artificial catalyst {depends on whether you release into a posture or try to pull yourself into it using your strength}]).

Secondly, all form is structured energy (or so I’ve come to accept [complementarity of structure and function]).  Transcending form can be a good goal, but there are correct and incorrect ways to go about it, as most seeds are intended to become not-seeds in the peculiar way of their particular species.  Transcending should not, especially in this context, be divorced from transforming.  People can conceive of a transcendence that is a sort of bifurcation, a fork, a phase change, an orthogonal moment, a discontinuous step, a jump, a leap, between two altogether different states.  This is a sort of death.  Then there is the caterpillar and the butterfly sort of transcendence.   Some people may be tempted to say this is the same sort of leap between fundamentally different forms, but any biologist knows the transformation is a continuous one.  These sorts of continuous transformations are like topological transformations that retain certain defining characteristics while leaving malleable all sorts of accidental characteristics.  Discontinuous transcendence may itself be a myth (I mean, can energy be discontinuous with itself [are we back to the possibility of faster than light travel?]).

In all my communication I have a simple pattern.  We all do, I’d guess.  I come to a lightning quick judgement (ideally [like an internalized martial arts movement/statement/attack/block/attitude]) about what I want to get across and then I feel my way along its getting there by paying precise attention to the moment by moment unzipping of the enfolding expression (into the space between) by the system it’s intended for (read: person I’m talking to).  Feedback oriented action in a system dense with such feedback loops (probably very close to a definition of life itself).  Of course, this is all idealized to a certain extent.  It’s not that I’m necessarily conscious of the details of the process as I do it.  I am not an exception to the magical number seven.  Which is to say that these words represent a post-hoc analysis of the echoes of a cognitive process by that very cognitive process.  Sounds like consciousness to me.  I’ll just zip that up into a subroutine and poof!

Bof

Why Yoga, Jeromeyers?

I mentioned Reincarnation in Yoga Sutras 1.6 and hastily penned a clarification “for the record”.  Yet, I haven’t clearly described why I’m interested in Yoga.  I mentioned something about Yoga offering something to the “AI guy” in me in Yoga Sutras 1.1 and I’ve certainly brought the subject up since whilst holding forth a pretty modern view of traditional concepts.  But, as I said in Psychlotron (Introduction/Kernel/Seed/Spell), what I’m really talking about here (this blog), is my life’s work.  Yoga is more to me than simply a source for AI insights.

I also hinted that it is great for Repetitive Strain Injury RSI and implied any programmers involved in the doing of AI are going to battle RSI (although not everyone who interacts lots with computers develops RSI as quickly and intensely as me, I’ve considered that my RSI is a consequence of the ratio of fast to slow twitch muscles fibers in my body and my twitchy way of typing and mousing and generally doing all learned movements [read: quick {something I’ve had to learn to do is to move a little more slowly when I interact with computers, and to take frequent short breaks and to be sure to exercise my muscles along their full range of expression, rather than just the tiny jerks they do thousands of times a day}]).  Yet, too, Yoga is more to me than a strategy for mitigating and overcoming tissue damage.

Thinking laterally, now, I also value intense concentration, focus and phenomenological intimacy.  Yoga, like most meditative disciplines (Dharana and Dhyana and Samadhi, see diagram in 1.1), places a great emphasis on concentration.  In fact, it is not uncommon to see gurus of a sort, highly effective teachers and aspirants (Sadhaka), stop at the plateau of concentration of some density or another.  Dharana is primarily seen as a state of mind free from distractions.  Dhyana is awareness focused on the object to the exclusion of even self-awareness.  These states of mind are powerful, and Yoga’s catalysis of mind-powers (siddhis) in general is formidable, but even they are not the height of my purpose in Yoga.

So, what?  “Samadhi”?  “Enlightenment”?  Some dewy eyed cloud in my wishy washy sky?  Individuation?  Self-Actualization?  Self-Perfection?

My interest in Yoga is one of many expressions made by an essential tendency of my being (which resonates with Yoga).  Now, I don’t know if you know what I mean by those words.  I’ll try to clarify, but finally, they say what I mean.  I am naturally drawn to certain “modifications of mind“, and although there may seem to be a noun in there, there isn’t.  I express a characteristic pattern of thought, a general pattern that could be recognized no matter which particular language or philosophy or science I projected into.  A way of moving about in conceptual space.  A martial arts teacher once told me that by that point in his life each person’s gait or way of moving had become as memorable as a face.  It could as well be handwriting or qualities of voice.  We are the self-same being that creates our expressions in each of these ‘realms’ (dimensions, commensurable data, et cetera).

Yoga was the first science and I’m a scientist.  Yoga was the natural philosophy.

If you think about it, back then, as the personality of the ‘seeker’ within families and societies slowly carved a niche for itself, the body and the mind were the only “categories of experience” upon which the full intelligence of man could be applied for a great length of time and hold out the promise of real development of knowledge without a preponderant generation and regeneration of total nonsense (metaphysics, ethics, et cetera).  IOW, self was the first laboratory (and identity was the product?).  The first place in which tests were performed in the service of verifying knowledge.  The first arena of sustained falsifiable discourse.  Or at least I’ve made all that up and it sounds convincing.  Stories.  But engaging ones.  Eat the truth, spit out the shell (nuts).

But it’s not only about “science” or “knowledge” that I am drawn to Yoga, or the attitude of the scientist/philosopher, although that is getting closer.  Attitude.  Yoga’s no-nonsense.  It’s drilling to the core and you’re the drill bit and its action will put you there, you regulate the speed and pressure so you don’t bust up.  It’s all pragmatism and a goal and all the little goals that draw you onward and comprise the experiential data that informs your continually nuancing distinctions.

Finally, it’s the nebulous goal of Yoga that pulls me.  Not the ‘inhibition of the modifications of mind’, part, but the ‘established in True nature’ whole.  I am seeking my true nature, whatever that is, and whether I’ll even want it once find it (I assume I will [iWill]).

In any case, I hate everything that merely instructs me without enhancing my activity or directly enlivening it.

–Mixture of translations of a quote in Nietzsche, Untimely Meditations, On the Uses and Disadvantages of History for Life of something Goethe said (by R.J. Hollingdale and quoted from Composing the Soul by Graham Parks)