11.17.08

Lorentz Transforms

Posted in Science at 3:10 am by admin

Version 1.1. Fixed Figures 1 and 2, and accompanying text. If you can see a purple leaf in the diagram, your cache is showing you the old diagrams. Updated the text following Equation 2. Corrected typo in Equation 4. There are more revisions to come, as parts of this derivation are still very arm-wavy.

This post is meant to help create an intuitive feel for how the Lorentz transform works. I work through a number of simple steps, until in the end, an easy formulation of the Lorentz transform using the Clifford algebra is demonstrated.

I think I’ve got everything correct, however if you spot an error, or if something is not clear, or confusing, let me know in the comments!

The Lorentz transformation is used to convert measurements made by two observers into each other’s frames of reference. Here are a couple of moving observers (figure 1); they’re moving in x, y, z, in time, t.

 Figure 1

Each observer has an independent frame of reference. We’ll denote the red observer’s frame of reference the original frame, (x, y, z, t). The blue observer’s frame will be (x’, y’, z’, t’).

Figure 2

At the given moment of time, we’ll swing a common reference frame around such that the relative velocity between the two is on one axis, shown by the dark arrow in Figure 2. We can imagine as time goes on, the two observers will become more separated along this axis, commonly chosen to be z. The other two spatial dimensions are not changing. This is called the standard configuration. The Lorentz transformation relates how the two observers see each other. Since we’ve oriented things so that only the z axis is changing, we can use the Lorentz equation. The derivation of these equations are elegantly described in Einstein’s famous 1905 paper (Reference 3), so I won’t describe it here.

Equation 1 

The Lorentz transformation describes how to go from one frame of reference to the other. If we graph the time on the vertical axis (it is traditional to do so), and the value we are measuring on the horizontal axis, as velocity increases, the prime frame of reference gets squashed along the diagonal (figure 3). When the relative velocity is zero, the two frames look the same; when the relative velocity is the speed of light, the prime frame collapses on to the diagonal.

Another way to think about this diagram is to realize that events on the vertical axis are events that occur at the same place in both frames but in different times. Events on the horizontal axis are events that occur at the same time in both frames but different places.

Figure 3

If we generate a bunch of frames, and plot the same places and same times for the different relative velocities, we will discover that the shape of the transform is hyperbolic. To give an idea what that means, here is a hyperbolic surface (figure 4). Note that this isn’t a solution of the equations, simply a visualization of what a hyperbolic surface could look like.

Figure 4 

 

Here is the transform visualized another way (figure 5). If we imagine an event occuring at r = 0, and some t, for a given frame, that event will occur at the transformed location which can be found by tracing out the hyperbola until it intersects the frame (figure 6).

Figure 5

Once again, the vertical axis represents time, the horizontal axis represents position. Position divided by time is of course velocity. The diagonals represent the speed of light, which never changes.

 Figure 6

The red dots show events as they are transformed into the prime space.

At this point, it is traditional to generate a boost matrix to describe the transformation.

This matrix only gives a boost between two frames in relative motion. A full Lorentz matrix would also include rotations about the three axes. The matrix is already unwieldy, with rotations it becomes more so (see Reference 1).

For a different, and much easier approach, notice that the Lorentz transformation is actually a rotation in hyperbolic geometry! Figure 7 shows the hyperbolic functions. In the diagram, a is defined as the shaded area; it’s analogous to regular trigonometric functions with the circle.

 Figure 7

A hyperbolic rotation is therefore another way to think of the Lorentz transform.

 Figure 8

Figure 8 demonstrates how the area of the hyberbolic function increases with a, as does the trigonometric function.

The following derivation follows Doran and Lasenby, reference 2. Referring back to Equation 1, we introduce a new identity:

 Equation 2

Next, we introduce some basis vectors, e, such that

In the prime frame, these basis vectors will be different; they will describe the transformed frame (recall Figure 3). The correspondence between the original and prime frames can then be expressed as

which we read as the original frame and prime frame are equivalent; the transformed and untransformed vectors are the same, and can be transformed in both directions - the transformation is covariant. Looking back at equation 1, we see that the x and y terms drop out and can be disregarded. Next, we derive the new frame in terms of the old:

Substituting equation 2 through, we can re-express the relations as an exponential. The algebra we will use here is the Clifford algebra.

Now that it is in this form, it can be re-expressed as a rotor:

Equation 3

Note that last e is the natural e, not a basis vector. Finally, let’s work an example (from reference 2). Suppose we observe two objects flying apart, what relative velocity do they see for each other? Recall the definition of a from equation 2, and the rotors of equation 3:

We derive the relative velocities

Equation 4

We read equation 4 as: the relative velocity is the grade 2 components of the differential of the event vs. the proper time, divided by the grade 0 components of the time vs. the proper time as exponentials, which can be recast as hyperbolic functions, and evaluated as follows:

As a validation, replacing the hyperbolic tangents with u = c tanh(a) recovers the familiar equation from Reference 3:

Which shows that addition of colinear velocities in space-time is the same as the addition of the hyperbolic angles - a generalized rotation in hyperbolic space!

 

References

1) Wikipedia article on the Lorentz Transform

2) Chris Doran and Anthony Lasenby, Geometric Algebra for Physicists, Cambridge University Press, 2003

3)Albert Einstein, On the Electrodynamics of Moving Bodies, Annalen der Physik, 17:891, 1905. The linked translation was prepared by John Walker.

The equations were created using an online LaTeX.

The diagrams were generated using Maxima.

11.11.08

Renaissance Programming/Tenets 2.3

Posted in Code, Prosody at 1:39 am by admin

  • The program is the BEST at what it does
  • The program is FAST
  • The footprint is SMALL
  • The code is CLEAR
  • The program is BUG-FREE
  • Abstractions must SIMPLIFY
  • The unnecessary is ELIMINATED
  • The system’s resources are CONSERVED

Derived from Futurist Programming/2.2. I’m dropping the Futurist part as I realized I’m not a Futurist! The Futurists chose to ignore the past, to actively revel in forgetting it, while populating the Earth with explosive, mad, new forms in the spirit of incessant and tumultuous progress.

Ignoring the past means repeating its mistakes as the same roads are trod and the same lessons re-learned, all the while, naif-like, self-congratulatory exclamations of cleverness are exchanged. The redundancy! The waste! The hubris! The Futurists, lemming-like drove themselves off a cliff; after their brief, promiscuous, and prodigious debut, they self-destructed, none surviving their aesthetic extinction on the front lines of the Great War.

I’m renaming the Tenets “Renaissance Programming”, renaissance meaning rebirth. We should take the lessons, arts, and practices of the past; tear them apart, break them down; synthesize them in a new pattern - add new components, new creativity, new idioms, then refine, distill, refactor, remove the dross, iterate! Until at last the product is born, and that product to be input to the next cycle!

Forsooth, ’tis for the win, huzzah!

11.08.08

Melitta

Posted in Art at 10:32 pm by admin

A picture I took at the Computer History Museum in Sept. 2008. If you do computer graphics, you know this teapot…

By special request, a wireframe view, and bottom-up view (I couldn’t manage a top down view!)


Capability is better than Capacity

Posted in Science, Sustainability at 4:17 pm by admin

Capacity is bound by a finite environment;
Capability is unbounded.

- Nick Porcino

We’re transitioning into a world of ever more constrained resources; and still-increasing demand. Continued growth as a prime societal motivator has created a world of incredible potential, variety, and opportunity. Unfortunately, the model doesn’t scale. The capacity of society to churn through things and resources is finite; there’s only so much capacity for the system to absorb the junk we churn in our wake.

Our ability to maximize production and capacity has created prosperity; with the natural limits to growth becoming all to obvious, we need to find new models for society where prosperity and well-being are not founded on the engine of material and energetic consumption and churn. I argue that although our present capabilities were advanced by prosperity through growth, we are at a tipping point where we can drive our prosperity not through growth, but through increasing capabilities. Our ability to understand the world and shape it can enable us to do it in more and more effective ways; we can develop capabilities where a little can accomplish a lot. Prosperity can be defined in terms of our ability to keep advancing our systems and simultaneously reduce material and energetic consumption and churn.

All graphs of technological progress start low with small change several hundred years ago, and then begin to bend upwards in the last hundred, and then bolt upright to the sky in the last 50.

Progress as a notion did not arrive until the 17th century or so, when it appeared in the West during the Enlightenment. Progress is a child of science and technology. It was born out of the observation that our inventions make life better… Science is sort of like the third wish for the magic lantern. It is the tool that invents new tools… [Upon the invention of science] there is an exponential explosion of both people and progress. But this curious pairing of population and progress has not been examined very much. If we return to the charts of progress we find they fit almost exactly the curves of population. As population rises so does progress and vice versa. The two growths are heavily correlated, but correlated without causation.

From Kevin Kelly’s Techium, The Origins of Progess

Kelly then notes that population is unlikely to continue to expand, and wonders if that presages the end of progress and the prosperity that enabled the population and progress explosion.

Here are my comments on the argument, and my conclusion.

  • First, the explosion of population was a necessary precondition for the explosion of knowledge, for all the reasons Kelly elegantly factors (such as the cost/benefit of sharing, and considerations of immediate need).
  • Second, we can posit that prosperity is a function of knowledge, supporting the first argument, since prosperity is necessary precondition for the explosion of population, as he argues.

Although total population is countered by death, total knowledge is not dependent on the size of the population. Presuming that we continue to improve storage, search, and analysis methods (rather than burning books and turning computers off), a meta system is being put in place by all of us collectively where knowledge can continue to expand independent of the expansion or absolute size of the population.

I suppose this is a Singularity-like phenomenon. At this point, prosperity needs to be recast in terms of increasing capability instead of increasing capacity.

Capacity is bound by a finite environment; capability is unbounded.

I say that this is the Singularity, and we’re staring it right down the barrel.

10.18.08

Synthesizing behavioral animation

Posted in Code, Games, InsectAI, Robotics at 8:10 pm by admin

Ian Horswill notes that we ascribe character, or intentionality to things that move. His recent work on animation control is summarized in a paper to be presented at AIIDE 2008. The example above is from that paper - two children appear to play with a ball while being observed by an adult.

Despite the apparently complex behavior, under the covers there are simple motivators driving the animation. The children want to approach the ball, but not each other. If they get close to the ball they kick it, and since they have been backing away from each other, they appear to kick it between themselves. If they get too far from the parent, a behavior kicks in where they run to the parent for a moment, then run back to play.

This algorithm can be efficiently implemented in terms of Insect AI (*). The way I translated the description of the behavior to an algorithm was to

  1. Identify the sensors needed, which are parent, friend, and ball. The output of these sensors has two components, a orientation component, and a scalar distance component.
  2. Identify the outputs, which in this case are signals to the animation system, move, kick, and hug parent.
  3. Create transfer functions (the green boxes) that encode the important notions, which for this controller are functions of the scalar distance component. From left to right, output as a function of distance can be read as
    • Activate when distant from parent
    • Activate when close to friend
    • Activate except when close to ball
    • Activate when close to ball
    • Activate when close to parent
  4. Enforce a decision hierarchy using thresholding (winner take all) and controlled switches. Kick and Hug Parent take precedence over moving so the controlled switch there switches between the moving hierarchy and a zero input which stops motion completely. Kick or Hug Parent can override moving, so they are summed and thresholded before being fed to the switch.
  5. Once the child gets a hug, they need to have a chance to get away so the ball chasing behavior can take over again. The triggered delay modulates the close to parent signal to suppress the Hug Parent signal, which will allow the move to ball signal to pull the child out of the parent’s field of influence.

(*)

Porcino, Nick, An Architecture for A-Life, AI Game Programming Wisdom 2,Steve Rabin ed., Charles River Media, 2004, pp. 339-349

Porcino, Nick, Insect AI 2: Implementation Strategies, AI Game Programming Wisdom 3, Steve Rabin ed., Charles River Media, 2006, pp. 189-204

10.17.08

Optimism to be cool again?

Posted in Rambling, Sustainability at 1:30 am by admin

”In a world where a movie as incredibly produced as The Dark Knight is raking in gazillions of dollars, Star Trek stands in stark contrast,” Abrams says. ”It was important to me that optimism be cool again.”

Right on! What an awesome position to take.

10.14.08

Photons at the Doors of Perception

Posted in Art, Prosody, Rendering, Science at 12:43 am by admin

If the doors of perception were cleansed

every thing would appear to man as it is, infinite.

For man has closed himself up,

till he sees all things thro’ narrow chinks of his cavern.

William Blake, 1790

 

 

 

This posting is a little parable on the paucity of photorealism as a goal for graphical rendering, and a suggestion that the impressionists and expressionists were on to something.

 

Deep within the sun, tightly wound and highly compressed space-time gives itself up little by little; neighbouring nexus of hydrogen atoms entrain each other briefly to a higher energetic level in an exchange of quantum state quaintly named “the quantum wave function collapse”. This quantum packet of exchange is the photon - not the ballistic luminous ping-pong ball of Descartes, but the elegant gradient flux of Maxwell.

The energy is exchanged for thousands of years until the wave function collapse couples an atom near the surface of the sun with an atom near you. The entrainment of this atom takes about 500 seconds; it occurs at the speed of light. Uncountably many wave function collapses couple an exchange of energy between the sun and atoms all around you, and so objects are illuminated.

As you bring your eyes to bear on an object, that cascade of energetic couplings begun in the sun entrains molecules making up the receptors in your eyes - the rods and cones are resonant structures tuned to entrain quickly to certain wavelengths of energy.

  • At this point, we must briefly interrupt the journey of the photon to note that on the way to perception, this is the last moment when physical reality has any resemblance to a photograph or computer rendering. In fact, it now rapidly diverges; whereas the eye is intermediating an energetic exchange between the environment and the brain, a camera is inducing a chemical change on film (or an electrical exchange on a sensor) for the construction of an image. The constructed image will never have the same energetic response with the environment or the viewer, and will instead only mediate other secondary exchanges between other sources of energy, the paper (or monitor), and your eye. Almost all of the wonderful interplay and change over time of spectra, energy, and the nervous system are lost at this point, flattened to the limited response of silver hallide or a semiconductor’s photo-electric charge.

The rods and cones resonate with the incoming energy, potentiating associated neurons; those neurons quiver at a threshold; when reached, they fire. These patterns of activation spread to neighbouring neurons in the retina, predisposing or inhibiting those neurons’ sensitivities, and likewise, patterns of activation spread through the layers of the retina, where patterns, gradients, and tonic levels are categorized, organized, filtered, and passed through more levels of extraction until finally a highly refined signal train describing the patterns and meta-patterns of energetic interactions of rods and cones with the environment and neurons with each other are passed down the optic nerve.

 

The optic nerve feeds those through the layers of the portion of the thalamus dedicated to vision where yet more processing takes place, and finally the roving spotlight of attention in the occipital lobe stitches the information into a persistent overall model of the visual field.

The attentional spotlight emphasizes those visual features of interest, retains a model of things that must be noted but are not presently in the field of foveation, and provides signals of note, such as “I think the tiger is over there.” Since the field of high resolution perception in the eye is so small, feedback to the eye is generated to saccade the gaze here and there to fill in the blanks.

Good artists, whether they be painters, directors, animators, or sleight of hand magicians understand the role of attention, and they guide the viewer through the doors of perception to achieve that activation in your mind that most closely makes you see, or most closely makes you to feel. Of course a photograph can be used to have this effect on the viewer, but it is not an intrinsic property of the eponymous photorealism, but rather a property of our perception and the subtle and wonderful fabric we weave between each other through our art.

 

 

 

- Nick Porcino

13 Oct. 2009

10.12.08

Neural Architecture

Posted in Games, Robotics, Science at 1:07 am by admin

When starting a project in AI, robotics, or motion control, I like to get a head start by checking what solutions Nature might have already worked out. Neurons are organized within an organism according to a few basic plans. Each plan introduces an order of magnitude increase in complexity and increasingly complex behavior. Within each plan, organisms exhibit a gradation of complexity.

Nerve Net

The most primitive organization is homogeneous. Animals like the hydra, jellyfish, and anemone have hundreds of neurons scattered throughout the body and connected in a network.

The neurons embody mostly autonomic regulatory behaviors such as the production of chemicals and hormones necessary to sustain life. Sensory input available to the neurons is limited to primitive cells for the detection of light levels, sense hairs, balance, chemical levels, and hormonal levels. Neurons are generally clustered around the mouth, but there are no clusters of neurons with specialized functionality.

Ring Organization

The ring organization of the starfish enables basic behavior. Since the spatial organization of the network is patterned, the neurons can coordinate in a patterned way to generate mass action among the neurons to coordinate motion.

There is no central control in the thousands of neurons making up a ring organized nervous system. Beyond the capabilities of the more primitive creatures, sensory input includes light sensing dots, external chemical sensors for identifying food, and pressure sensors on tentacles. This is enough complexity to allow these simple creatures to negotiate their environment and engage in various survival and reproductive activities.

Nerve Cord

The tens of thousands of neurons found in some invertebrates such as leeches and worms are organized as a nerve cord studded with large groups of cells known as ganglia. The cord structure matches the physical structure of the organism - there is a ganglion dedicated to the control of each segment of the animal, and a thickening in the head of the animal called the cerebral ganglion. Each of the ganglia along the nerve code has a preferred mode of operation – a ganglion associated with locomotor muscles in a segment might tend to spontaneously oscillate in a pattern that advances the organism forward. The cerebral ganglion moderates the behavior of the ganglia along the nerve cord through selective inhibition – it suppresses the natural oscillations of the nerve cord ganglia, and releases them to affect a behavior, such as crawling, or pushing food through the gut.

New sensory capabilities include sensory hairs on the skin, chemical sensors to guide the animal towards food, and occasionally primitive eyespots.

Neural Ladder

The insects and arthropods demonstrate the next level of sophistication above the protocordate. The insect’s nervous system has hundreds of thousands of neurons, organized into a bilateral ladder, topped by a brain. The rungs of the ladder correspond to the insect’s physical structure, with a pair of ganglion in each segment. Neighboring ganglia are connected, both across the segment to the other ganglion in the pair, and to the neighboring segments forward and aft.

The brain is called the corpora pedunculata, or mushroom body, due to its shape. A simpler insect will have larger ganglia in the segments along the ladder and a small brain, whereas a more sophisticated insect will have simpler ganglia with more functionality migrated towards the head of the insect. As in the the worms and leeches, behaviors are governed by the brain through the mechanism of selective inhibition.

Improved senses include mechanical sensors in joints for proprioception (self-sensing), antenna for sensing airborne chemicals and vibrations, and facetted eyes.

Subsystems

The cephalopods - the squid, octopus, and so on - have a nervous system comprised of millions of neurons. The neurons are arranged in lobes and tracts. The major improvement made by the cephalopod brain is the functional subsystem -specialized cortices and nuclei exist for motor control, sensory integration, and so on.

Cephalopod tentacles have somewhat independent nervous systems, reducing the behavioral and motor control burden on the central nervous system. Each tentacle is roughly as intelligent as a protocordate like a worm. The cephalopod nervous system reaches its highest development in the octopus, which can have as many as three hundred million neurons.

The cephalopods enjoy an improved eye design with a lens, iris, and retina. Their tentacles have sophisticated organs of touch.

Vertebrate Nervous System

Vertebrates have even more complex nervous systems, the highest development being found in the primates and cetacea. The human brain has billions of cells, commonly estimated to number on the order of ten to the tenth. The vertebrate brain is stereotypical from species to species and has specializations to suit an organism’s particular niche. As an example, the bat has an extremely well developed auditory cortex.

The nervous system is comprised of hundreds of systems organized by function. The primary divisions are the cerebral cortex, the limbic system, and the autonomic nervous system. One significant improvement introduced in the vertebrate nervous system is that sheets of generic processing cells govern the specialized subsystems, and process signals from sensory organs and even between various systems within the nervous system.

The cerebral cortex is where we imagine thinking and memory take place. It is subdivided into functional subsystems, such as the visual cortex, the motor cortex, and the association cortex or frontal lobes. The cerebral cortex is organized as thin wrinkled sheets of similar neurons, highly interconnected.

Underlying the cortex is the limbic system containing large functional subsystems. The limbic system governs learning, conditioning, hormonal production, and behavioral strategy.

The cerebellum is another layered system of identical regularly connected cells. It sits at the base of the skull, and helps coordinate movement for the motor cortex. All sensory information to the brain (except for smell) goes through another regular structure, the thalamus, often called the gateway to the brain.

The spinal chord routes information from all over the body through to the cerebellum and the thalamus, and also governs many reflex actions such as jerking away from fire.

Other major nerve centers not located in the brain itself are the solar plexus and the spinal ganglia which have a great deal to do with unconscious and involuntary reactions, and how the organism feels at any particular time.

10.04.08

Computational Neuroethology

Posted in Games, Robotics, Science at 11:35 pm by admin

My series of articles on Insect AI in the AI Wisdom books is derived from work I did in computational neuroethology. Neuroethology is the study of the neural basis of behavior. Computational neuroethology is defined as studying neuroethology, and using derived principles to simulate neurally derived behaviors. The Nelson Beckman lab at UIUC has a nice archive of well studied behaviors - the page is an excellent compilation of papers, listing many that guided my research (cf. cockroach locomotion).

A few games built around neuroethology are on the web.

Bug Brain is one. The player constructs a neural network using simple elements to control the behavior of a ladybug.

Biobloc is another; it’s an online game with a construction set where bodies can be constructed and brains evolved. The resulting creatures are very reminiscent of Karl Sims’ simulations of yore (siggraph 1994). These simulations were co-evolved bodies and brains.

This result has the reputation of being hard to reproduce, but glancing through the related videos on YouTube shows considerable recent success. Lee Graham has a fun site with a great many interesting creatures.

 

For more information:

The scholarpedia has more here.

A good paper, is David Cliff’s Computational neuroethology: A provisional manifesto. In J-A. Meyer and S.W. Wilson (Eds), From Animals to Animats 3: Proceedings of the First International Conference on the Simulation of Adaptive Behavior (pp. 29-39), 1991. I haven’t been able to find an online copy of it.

Another difficult to find resource, but one of the best texts on the subject, is D.M. Guthrie’s 1980 book, Neuroethology: An Introduction.

Comparative Neuroscience and Neurobiology, 1988, from Birkhauser’s Readings from the Encyclopedia of Neuroscience is awesome.

And finally, the classic Vehicles, by Valentino Braitenberg.

 

09.30.08

Kevin Kelly on Life

Posted in Science at 1:50 am by admin

There’s a thoughtful argument on the possible structures and mechanisms on life, a subject on which you might recall I have some interest. Kelly suggests that the form of life may be inevitable.

[Besides DNA] there may indeed be other molecules in the universe capable of such autonomous self-replicating feats as life demands, but they may not be able to spontaneously self-organize the first time… The alternative minority view is that unrepeatability of variety is true in the short term, but that at the large metascale, at the scale of billions of years, the constraints of physics dictate certain possibilities. Chemistry may decide how many ways molecules can spontaneously self-organize into life.

Kevin Kelly on Thinkism

Posted in Robotics, Science at 1:25 am by admin

Kevin Kelly points out that we can’t solve problems just by thinking about them, and as such a super smart AI can’t just up and think its way to taking over the world. I also argue that such a thing doesn’t make sense from an energetic standpoint.

Singularity research reminds me of Neural Network research. NN is singularly unfashionable, and pundits love to point to its lack of practical results; but what I’ve observed over the years is that a lot of fundamentally important research starts out in neural networks as a hypothesis, gets developed and refined, and finally renamed so that it is no longer a neural network; perhaps we would call a neural technique a Bayesian decision network, simulated annealing, a Lyaponuv functional, or a probabilistic Markov machine. At that point the technique gains mainstream usage and respectability, and we can safely continue to pooh pooh the neural network. I predict the same for the Singularity; as Kelly suggests, it will never amount to much, whilst simultaneously changing everything.

09.28.08

Physics and Hitchcock

Posted in Science at 4:46 pm by admin

I won’t spoil this post by Peter Cole on cosmology by quoting it, but I have to say his reveal of the biggest MacGuffin in modern cosmological physics is right on the money. If Big Science is your thing, I highly recommend giving his article a read.

Wordsworth - Intimations of Immortality

Posted in Prosody at 4:32 pm by admin

Prowling the physics blogs, I came across a bit of bibliophilic detective work capped with a quote from a Wordsworth poem. It inspired me to look a bit farther, and I found the whole poem here.

The first stanza says

There was a time when meadow, grove, and stream,
The earth, and every common sight,
To me did seem
Appareled in celestial light,
The glory and the freshness of a dream
It is not now as it hath been of yore-
Turn whereso’er I may,
By night or day,
The things which I have seen I now can see no more.

Like my friend Ken Steacy, I like to say “I’m twelve years old from the neck up.” Wordsworth suggests what that could mean if I were to really realize it. He goes on to mourn that he knows a glory has passed from the Earth; with maturity and the burdens of responsibility comes a loss of the naivety that gave us such easy pleasure when we were young.

The Rainbow comes and goes,
And lovely is the Rose,
The Moon doth with delight
Look round her when the heavens are bare,
Waters on a starry night
Are beautiful and fair;
The sunshine is a glorious birth;
But yet I know, where’er I go,
That there hath past away a glory from the earth.

The Pansy at my feet
Doth the same tale repeat:
Whither is fled the visionary gleam?
Where is it now, the glory and the dream?

With later years and comprehension comes the realization that what was lost is still there -

Then sing, ye Birds, sing, sing a joyous song!
And let the young Lambs bound
As to the tabor’s sound!
We in thought will join your throng,
Ye that pipe and ye that play,
Ye that through your hearts today
Feel the gladness of the May!
What though the radiance which was once so bright
Be now forever taken from my sight,
Though nothing can bring back the hour
Of splendor in the grass, of glory in the flower;
We will grieve not, rather find
Strength in what remains behind;
In the primal sympathy
Which having been must ever be;
In the soothing thoughts that spring
Out of human suffering;
In the faith that looks through death,
In years that bring the philosophic mind.

Thanks to the human heart by which we live,
Thanks to its tenderness, its joys, and fears,
To me the meanest flower that blows can give
Thoughts that do often lie too deep for tears.

And he leaves us with the thought that our innocent state of mind can be reclaimed.

rgba’s 4k rules

Posted in Code at 3:56 pm by admin

Iñigo Quilez (rgba) has some awesome rules for making 4k demos; the rules aren’t that different from making a game, or other kinds of art for that matter:

  1. Get some interesting effect(s)
  2. Play randomly with all the parameters to get used to them
  3. Think about something interesting to do with it (find an idea?)
  4. Synchronize it to the mzk
  5. People will think there is an underlying concept
  6. Profit

I like the fifth point, it makes demo watching like cloud gazing; a kind of canvas to project your own imagination onto.

09.21.08

The Farrar Rules

Posted in Code at 11:27 pm by admin

Timothy Farrar has some interesting ideas embedded in this recent post describing the design guidelines driving the development of his GPGPU OS. After thinking about it a bit, I’ve extracted these rules from his post:

Development Environment

  1. Code-to-test iteration should be instant
  2. Built-in memory, cycle, and bandwidth performance monitoring should be provided
  3. Save and restore of current data and execution state should be possible

Language

  1. Inputs and outputs should be explicit and naturally limited to valid addresses
  2. High performance data structures should have natural representations
  3. Parallelism and dataflow should be explicitly supported

Clearly others are thinking on the same lines; functional languages are another approach these rules would work with naturally.

« Previous entries

Bad Behavior has blocked 419 access attempts in the last 7 days.