Theo Verelst Diary Page

Wed Apr 04 13:41:39 2001

I've decided after good example to write some diary pages with toughts and events.

Oh, in case anybody fails to understand, I'd like to remind them that these pages are copyrighted, and that everything found here may not be redistributed in any other way then over this direct link without my prior consent. That includes family, christianity, and other cheats. The simple reason is that it may well be that some people have been ill informed because they've spread illegal 'copies' of my materials even with modifications. Apart from my moral judgement, that is illegal, and will be treated as such by me. Make as many references to these pages as you like, make hardcopies, but only of the whole page, including the html-references, and without changing a iota or tittel...

And if not? I won't hesitate to use legal means to correct wrong that may be done otherwise. And I am serious. I usually am. I'm not sure I could get 'attempt to grave emotional assault' out of it, but infrigement on copyright rules is serious enough. And Jesus called upon us to respect the authorities of state, so christians would of course never do such a thing. Lying, imagine that.

Previous Diary Entries

Wed Apr 04 13:41:33 2001

I've done a little list processing worth sharing the ideas about, because it Personally, there are a lot of things to think about and have opinions, for privacy (mainly of others) political and special reasons I'll not be completely uncandid about everything discussable and mentionable in this time period, I guess that requires more freedom, and is not necessary, though I think apart from private subjects preferable, I don't have much problems making the web person clear enough about more than I do now, also for unknown ones, I guess for reasons of claitity, not that much to hide, and hoping such may be of at least some use. I don't think I need to hide much to make sure I don't loose interest or have to keep up some mystery to focus attention, there's enough there, and good enough, so I don't have real worries normally writing about what occupies me, and after what I consider good example such works, it makes for webpresence (though its hard to objectively reflect that back on my own) that works somehow, provided the person is suited for it.

Some good enough science works fine, too, as well as fun or some pictures and such.

Logging in a unix system was often more fun because of 'fortune' being part of the login script (.login, or even .cshrc, with terminal test). The faked fortune for today I can since some time draw from a small fortune ripped of source file, here it is, and because its the first time, and because the second one was more fun, we'll make it two:

He who has imagination without learning has wings but no feet

Everyone needs to believe in something; I believe I'll have another beer

Historically (gmph) some resources for the randomly accessed fortune databases include 'Cheers' with significant number of Norm one-liners.

There should be right bottom side short source quotations, that would like sci-cool.

I yesterday was shortly looking over some bible resources, and found there are programs that bring up a random bible verse, that might be or look good and solid christianwise, though I'm not sure half the fun of a good joke. God playing with random numbers, tricky stuff.

Synthesizers are more fun

Modern Synthesizers

Since I'm active in the synthesizer design area, and have more than enough proovable reason to occupy myself with such, and since I think not that many are aware of what high tech machine design and thinking can also be about, I think it is interesting and worth it to produce some more text on the subject for public consumption, I guess I might redo some of these pages in more organised form at some point, but for the moment, the diary index will have to do to seperate reader kinds.

A number of pages back I've shown pictures of most of the synths I ownded, I think maybe with the TG500 (yamaha) module missing, and certainly without my own (old) keyboard that I don't have now, and for instance the casiotone 405 or something I played for years, because I don't have a picture, though the web has some synth museum pages even, not all casio keyboards can be traced back for 20 years, which would be fun enough with some mpegs, maybe someone would want to do a somehow dusty but at least fun and interesting CDROM or otherwise multimedia thesis on the subject...

They usually are fun instruments enough, and worth their price, a bit ahead technologywise, and keyboards are more than fun enough to learn to play with, though admittedly without quality dangerous boredom and disillusionment might occur.

Mind that the list on mentioned page is about gear I owned, usually for years. The list of equipment I used or tried is quite a lot longer, at least it includes lets see, roland d20 d50 d500 (or something, some module number, with sample based sounds), alpha juno 2, JD900(0?), the one with the big slider filled front pannel, I liked for soloing and did a video sound track in multi timbral mode with it and a sequencer smpte linked with a svhs video cutting table, JXP-8 , Korg MS50, MS20, MS10, analog patchable modular synths, fun enough, lacking the moog or oberheim strength I looked for, but nice with the analog sequencer and enough modules to connect up, Monopoly, older analog hybrid with sort of fun lameness in sound but with possibilities, M1, more then sometimes, getting to the point where boredom would be defeated by the wavestation; Sequential (Circuits) Prophet 5 (too short, I wished I had owned one, or maybe a T600), sixtrack, prophet VS, with 'vector blending' which I didn't like all too much, particularly; Moog rogue, the source, shortly a minimoog; Yamaha tx81z, dx100, sy77 and SY99 on a fair, with headphones. which is a nice instrument, and I;m sure more than a few that don't come to mind; Casio CZ101, CZ1000, 5000, various keyboards; Emu Emulator III (it think, maybe 2), I did a song with mainly this machine, experimenting with funky guitar samples, not library ones, which was fun enough, though I found the user interface a drag, probably because I'd feel right at home at a synclavier computer system, and not a microwave with human touch. I've shortly tried some of the spikey and punchy sounding peavy's some years ago, at the time Alesis made some synth models besides the well known drum module (after hr16) with pad inputs that at the time at least excelled in their 16 bit DA conversion.

More recently I tried a korg synth model somewhere getting in the direction of physical modeling, but not quite, which has a nice complexity and cleanness to the sound, and a certain type of space in it, which I guess might be to recogniseable, though I liked it, some clean and useable instrument alikes for basses and rhodes piano kind of sounds were there with interesting touches fromt he sound synthesizer dsp power source.

I've tried the North Lead 2, which is without question worth having, though I can't judge how fast it would bore or reach the end of its sound palette spectrum, it's strong, recogniseably analog sounding with at least some of the real niceties, and some limitations I noticed quite soon trying filter sweeps, programmability seems intuitive and works, except that matching buttons with memory is not my idea of a good time.

I;ve looked at and heard a few lets say 'sample playback' house boxes, without a keyboard, even, which to me pretty much sound as indeed that, nothing much going on soundwise, just sample replay, probably in good enough quality, depending of course on how good the sample is to start with, and even more important, the sound that is sampled.

Kurzweil I've just tried some of the 2500 alikes for maybe an hour, they had instruments of the same intelligent sampling architecture with samples for several classes of instruments as model variations such as wind, strings, piano, studio stuff, and I've spend a few hours on some few years old major piano keyboard instrument, which is yes, ah well, yes, nice, sort of, quite, quite nice, in fact, is this perfection? no it is not, but is is good stuff, listening, playing, trying the dynamics, changing a few instruments, not too often, nice, wanna have, wanna have. Fender rhodes, several models, I guess including 73 and some other, I don't remember, nice with fitting amping, preferably not a guitar amp, maybe a powerfull full range bass one, maybe a stereo chorus, all that is good for live stuff, that works straight away, though I guess it requires some experience.

At various occasions, I've tried my share of digital piano's, which I could easily enough categorize, mainly most not too cheap ones are playable, the most expensive ones are usually the most sophisticated, the rest is very seperable by second the quality of their samples, and first and most importantly, if there is some life in them by having progressed beyond mere (hopefully) velocity crossfaded samples, that is is there some quality of the sound that is more than just two samples for soft and loud, i.e. some more interest in the sound generators. In fact FM synthesis of sufficient complexity and quality and sound programming level can do quite a nice job at that.

In the organ area, not keyboard, I've tried quite some of those, I myself played an eminent, I realy don't remember the model number weekly a few times for years on a row, with 12 tone pedal enough options but not loaded, long ago, and sometimes an theater version at another place, which I would liked to play around with some more, the kind with only room enough for all the registers hang from also to top rim of the case, all the way from left curving to the extreme right, with enough variation in them, although I would like to get my hands on instruments I've found pieces of in music warehouses at times like the hammond theatre organ with rythm section I marvelled at since I was little on a quite old record. as well as a good church model, of a liberal kind, with major lesley that is, and good set of registers somehow making many chords work and of course the Jimmy Smith B3 or what model it was exactly.

I'm sure I've owned not a bad choice of instruments, for the price I purchasd them I don't think I coudl have been much better off, and in the synth world evidently, there is better and more interesting, but then there is a price tag, which of course is there anyhow, this stuf made me turn over tens of thousands.

I know what I would have wanted, with those price tags, and guess that would have been nicer, but certain synths are good enough, they have sufficient potential and quality to make one use them for years and not be bored or done with them. The setup I had some years ago, with tx802 (multi timbral dx7-2 module), roland hp3000s piano, rev7 reverb, also yamaha tg500 module, taking charge of some drum samples as well instead of the limited though usefull rx15 I had around, and a kaway spectra mainly as portable midi master keyboard performed more than well enough to do serious sequencing with, and to use live, as I have at times, no problem.

I dumped the DW8000 at some point for money to get a piano, which was a good choice, but a nice, warm and strong analog synth would have been nice, I should have gone with the urge to buy a second hand pro one for at the time maybe $200, that would have been good investment, the prophet was out moneywise, unfortunately. I considered a sixtrack at some point, probably not recommended for nothing, quite strong multitimbral analog module, though I think I looked for a touch sensitive and bigger keyboard at the time.

I don't think I would have not needed the roland piano next to a kurzweil, I played the hp3000 and equivalent rd300 realy intensively for years, both at home and inpractice and live, and I still like the sound enough, in a band it works, though it is hardly a very realistic steinway grand comparison. The kurzweil was a moneywise no no also, not that bad, but I think I would have liked one, it is good to have a strong and decent quality piano workhorse, in fact even worth investment, but throwing out the dx or something would have made my sequencing and live versatility suffer bad. That machine is good synth stuff, even though peculiar, I think I mentioned it earlier, I did some practicing with a plain old dx7, the first version, with no noticable extra noise or distortion over the pevey pa sys, which WAS loud enough though, some 15 inchers and in principle enough amp power in not unfun, but seriously...

The dx7 performs quite fine and a lot more than anticipatable in such circumtances though, the strenght and sound clarity are good for real performing, as well as its sensitivity and variation, as long as there is sufficient power to blow the sound through. No cling clang sounds or near screaky harmonics riches, to high pitched and still subtle to become realy pressing, but at a quality enough amp system at home that sort of quality can be in their, which is fine in commercials, but not for a living instrument sound, necessarily. Live it never caused me such problems, though, souring organs, piercing solo lines, more heavyness in bass lines than most pa's can handle, and useable chords on rhodes, well chosen pianos and quite some other instrument and synth simulations. The tx802 had for the time advanced controller / modulator routing facilities, too, meaning quite some aspects of the sound can be changed dynamically by for instance the modulation wheel, after touch and such, which I like, though again requires some skill and experience to use right.

At home I wasn't always thrilled with the lack of warmth of more than a few FM sounds, I think I would have like a good filter at least, which I did consider buildin at times, but 16 voices would be out, myabe just for soloing or overall filtering, which is not too good for polyphonic playing. I guess my sound system idea of as much as possible straighness made fm on the brittle side of things a bit to regular not to want other synths besides, except of course for natural variation. At least the tx802 didn't noise and distort as much as my first dx7 did, that was better: recording a sequence in high quality made the result real high quality at least, something that could go from three head metal tape recorded with dolby C to CD without too many problems when that would have been needed.

How to make complicated software work with the aid of blocks

The title gave me associations with a well known woody allen film title, I guess I'm just making catchy enough headings. There are hopefully comparatively speaking deep but at least profound enough reasons to think about such comparsons, and not go out of the way of bringing them forward and letting ones thoughts go over them.

Not so much in the sense of my 'he with the rootpassword is holy and to be worshipped and obeyed at all times' anti heresy talk, sort of like prevention of be kerstened by some fuzzy, fake guru mess, where God knows what kind of imagery needs to be worshipped before the deer software head may received his or her long awaited option on the actualy very future mark not jet to be worn on the proper place, but maybe just to be carried around in back pocket awaiting which wonderfull master of the scene may actuall allow and fuehr its proper use at some miserable moment in some fellow goody oneshoe's life. That sort of idea.

Not ever with proper permission in the wonderfill strucure of microsoft of course, but then again they also gave the pope internet access, but inproper permission is of course easy to get, or isn't it. Mixing things up here, verelst, getting messy in head? I guess I'm juxtaposing some though trains to see what would happen.

More articulately put, I like the idea of working in the sense of making something, and thinking about making something that makes at least sense enough, and I don't get the idea that there is no such thing in softwareland, as far as there is one, but much is too lets say unclear to my not untrained mind and I'd prefer some content focus more than images and lets say ideas with not much root in the foundations of computers and their software architecture and use.

Maybe at some point the world must be saved from certain building construction worlds operation modes becoming the cross of the brave new land of software makers, with ample place for those from school and higher education or miserable other jobs to have a well paid place, and corrupting everything there is as a law of economics takes on maffia or heavy kartel forms when there is not enough to do when we have automatted every cash register, autoupdated all company websites, and made every movie available for free after 3 years in hd tv quality hadsl transported mpegs, so that we all live after this without much work to do at some island in the tropics.

Unless we slow down developments, do the same job in thousands relatively redundant variations, think of new applications or goals, or somehow find something else to do.

I'm quite certain a relatively small army of skilled programmers could provide well working solutions for most known software tasks in quite short time, with quality and applicability enough for many circumstances, Certainly, we can have 100 chess program variations and sell them, new operating systems have more power, gadgets and options, and installing and maintaining computer systems is based on enough uniformity and cooperability to make credible products, but there is not comparison at least think in general with having to push the boundaries of quantum phsysics, some chemistry, electrical engineering and some other disciplines to make windows 2000 starting from 95, or even linux, which as good illustration was started as far as I know mainly by one person, and obviously is directly based (luckily) on long existing well known academic, research , adn industrial unix.

Seriously I know my stuff in computers, in theoretical sense there is interesting enough research in software, and there is development in various ways, be to say that much general progress or lets use the dreaded term 'innovation' is made would be a major and gross exageration. Certain things, yes, and without question there are many interesting, fun, profitable and respectable applications of software where not much innovation is place at all, and maybe where tailor made products can make a major portion of software industry workers justify their job for decades. Strong language, but my point is serious enough, so on purpose that is.

So the friends, old boys, and other networks at least can serve the purpose of maintaining a certain desirable economic scarcety while in practice competition or different work modes might make such the scarcety of people for jobs into a scarcety of job positions investors would be interested in, direct product related wise.

Of course I'm aware of the idea that not all work is like garbage collection, medics or other randomly chosen occupations where the amount of work may be diminished by industrial or mechanised thinking, but not to very tiny proportions, but the idea of working just for the idea of doing something in softwareland has the peculiar sideeffect that in principle the rare property of software that it can be copied infinetely and that is by its nature can be made to adapt to many problem cases cannot be reconciled with a normal concept of a free competition market without complications.

I guess I'm not economicallu or sociologically all-knowing informed enough to know how realistic such a free competetion healty market idea can work at all, but at least I read in the situation that it is inevitable that wrong information and power blocks can have considerable power over the makeup of software land, regardless of intentions.

When such is to prevent the childabusers, nazi's, jesuits, or similar probably generally undesirable arctifacts of human life forms from teaming up with the rothshields money controllers to take over the world more than needed, that is good enough motivation. When the afro rythm illuminated equivents take over the sanity of the rest of us to make a lets say heavy deal based development direction work for adverse reasons, making nothing work normal, that is unacceptable, undesirable, and should be noted and fought starting with the ones in power and with major future power and influence such as (justified) academic opinion leaders and industrial talents with sane enough vision.

Anyhow, making an historically completely valid and undaring comparison, there are software and computer related problems which are not necessarily easy to solve and containable in standard solutions, such as the matrix inversion program I presented a number of pages ago. That program is of course not a innovation in normal scientific sense, gaussion elimination variations exists I think easily for over a century, maybe almost two, an there are without question maybe hundreds but certainly dozens of implementation variations around.

It does take some background and some learning to understand their nature, and of course the whole area of linear algebra where it is a fundamental and important algorithm contains more than enough material to keep most people, also with mathematical insight probably busy a lifetime understanding every thing there is in it, thoughprobably one shouldn't too much.

That's lets say fullfilling one's desire for scienfic knowledge, and probably finding various applications, which is fine of course, and definatiely defendable in such area, though looking around the limits or the frame of may advance things considerably more, solutionwise.

Anyhow, staying with the idea that matrix inversionis usefull, and that the basic algortihm may often be suboptimal but at least valid and applicable, one may want to look at what is possible to implement such an algorithms on a computer. Using a graphical representation of the program might then be a good idea to built insight in the nature of the problem, how it can be solved without error, for certain classes of matrices, and of course more efficiently.

Considering the problem is of a number crunching nature, meaning that a lot of data and computations are involved for various real life applications, it is also of interest to see wether electrical engineers may come up with computer and possibly parallel computer structures to solve systems of equations faster than ever before, using smart application of the latest technology and algorithmic thinking, to break down a problem effectively to efficiently run on fast computers, maybe a supercomputer, maybe a fast handheld, maybe a rocket control unit, maybe an artificial limb driver with high intelligence and controllability, maybe a car collision detection system, or of course a synthesizer producing more interesting, rich, desirable, different, controllable or pleasant sounds.

To represent an algorithms for which one may write a program graphically is not unambiguous, one may choose many ways to make a picture for the solution blueprint of the same problem.

To gain insight, it may be of use to start with a known and general solution method, and in a natural way make a graphical version of such algorithm. For gaussion elimination, one may draw a grid and make it represent the matrix elements, and then visualize the sweeping or some other algorithm to gain insight into the way that works. I might do it as example in bwise and put some images up, that's instructional for the idea and a good proof of bwise's applicability, and I guess a major correction at least for some of the most certainly not good at all ones I've worked with in the past, though that's not the major point.

For the moment, I've done a dump of an example where two what in ordinary network theory are called graphs are show, and we'll look at how we may use the idea of running block of activity on data being transfered forward in a natural way for non-trivial graphs. Last time we've seen an example with a three blocks on a row, one with a text or number entry field as input block, one with little text window to show the result, and one block to perform operations in between.

By putting a value in the first and starting a 'run' sequence, data is transfered to the second block, a computation is performed in it, of which the result is put on the output pin, which is transfered to the text block and shown.

Clear enough, and of course we could put more computation blocks in between, which then would be 'fired' or 'run' in sequence to apply more than one operation, for instance first adding items, followed by multiplying them by a unit price. If that price is put in another input field, one would have a block with two inputs, and the chain of computations after it depends on up to date information from two inputs and subchains associated with it. That requires one to run the blocks associated with the two inputs both, and joind the results somehow, maybe by running them independently, which has the complication of an undefined input from the other input for the first run, or by running everything up to the two input block first for both inputs, and then continuing from the multiplication of price with quantity.

The example below shows two graphs, the bottom one with a split path in the middle, assuming data runs from left to right, the upper one with a more complicated structure, have been generated automatically by an array test generator, to make rectangular grids of blocks automatically, up to quite some them.

I'm not sure how much fits on this machine, but on a decent enough pentium pc hundreds of blocks can be generated in a grid automaticallu in seconds, with some connection pattern. Here at least 5 x 5 seems to work fine, and on the canvas image, I've only used 3x3 blocks,. and I have taken them from the automatic square organisation and dragged them into a sequence suggested structure, where data comes in left and roughly progresses from left to right, except with branches.

There is no detailed reason for this organistation, except that in matrix sense, every block takes information fromits upper and left predecessor, which makes sense enough, for isntance for dithering operations, but here the functionality of the blocks is nothing special, just for example purposes.

Starting with the bottom network, when we are interested in the results fo the computations on data going through the various blocks on a row, we need to decide at least in what order we are going to make every block active, which of course would be leftmost, both middle ones, and last. But how is can this be defined mathematically, or lets say as a program a computer can understand, what is the human logic we use?

First, we need to know what blocks are actually connected to the result pin we are interested in, in this case pin in of Mon1, to know where the data at least has to pass through. Then it would seem to make sense to follow every lead back which is connected to that pin, until every seperate lead ends with an empty input pin or outpin pin with known data. First, that is block Proc3 pin o1, which can be found by checking what's on the other side of the wire on Mon1 pin in. Then, we need to trace every lead connected to both input pints of Proc3, which starting with i1 leads back to o2 from Proc2, and from i2 to Proc4 output pin o1. Clearly, the inputs from these two blocks are driven from Proc1.

Then the backtrace is completed, and at least we know every path leading to the desired output pin, so in principle now we can start executing every block along every path in reverse order, starting from input pins, to make sure data is carried over the necessary wires and blocks, until we reach the output pin from all possible directions.

Again, the complication is now that we have a choice for the order in which data is processed by the blocks in the network, for instance we can do Proc1, Proc4, Proc3 and then make the monitor show a result, but then Proc3 would not have the right input for i1, because Proc2 has not been run yet.

As human being it is not so hard to think of a scheme to make all this work right, but the question here is how can we in general, for every possible network make this idea work right, if possible, and can be find out wether it is possible to do this right.

For today, I'll qoute a little procedure which automatically finds every trace leading to a certain pin, and faithfully lists every connection that leads to it:

proc block_prev { {b} {d {1000}} } {
   set o {};
   foreach p [block_get_pinnames $b typein] {
      foreach op [otherpins $b $p] {
         append o "{$b $p [lindex $op 0] [lindex $op 1]} "
   if {$d > 0} {foreach j $o {append o [block_prev [lindex $j 2]  [expr $d-1]]} }
   return $o

I'll not go too much into the idea of a recursive procedure, though in the sense of a tcl or decently compiled one there is nothing much against it, because that's an software course subject, and not the target here, but the idea here is that a proceure called block_prev with a parameter (say input) 'b' which contains a block name is called which runs over every wire connected to all inputs of that blocks, finding out where they come from

The results are put in lists with 4 elements, starting block and pin, and previous block and pin names in the back trace, which is not too hard to do in tcl. For every lead back, the same procedure is started again, to trace back more than one level, and the results are added to the end list of results. When there are still more leads back, we do the same again, until the backtrace stops when there are no more blocks to trace back. When all possible leads have been followed, all results are concatenated, and a possibly long list of sublists of connections is returned like this:

{Mon1 in Proc3 o1} {Proc3 i1 Proc2 o2} {Proc3 i2 Proc4 o1} {Proc2 i1 Proc1 o1} {Proc4 i2 Proc1 o2} 

Since we are dealing with reliable enough computers, when we made no errors, the list will contain exactly every lead in the path from any input to the selected destination pin. The next question, which today I'll not yet show an example for is to automatically determine what a possible way is to make all blocks in the path acitve to get the data through the network in processed form, like the ingredients of a cookie factories conveyor belt. There are a few ways which clearly lead to the desired result, as we can easily follow for this example, and mainly the issue at stake is to combine various back traces at the right points to arrive at the possible list of orderings of activity.

Just to apply the same principle of finding all possible back traces and of course the procedure to implement it, we'll look at the top network, for which this is more complicated, but luckily we have the computer and tcl to do the work for us, so all we do is type 'block_prev array2_2' at the tcl command prompt, press return, and we get the pieces of all possible traces leading up to the last block:

 {array2_2 i1 array1_2 o} 
 {array2_2 i2 array2_1 o} 
 {array1_2 i1 array0_2 o}
 {array1_2 i2 array1_1 o}
 {array0_2 i2 array0_1 o}
 {array0_1 i2 array0_0 o}
 {array1_1 i1 array0_1 o}
 {array1_1 i2 array1_0 o}
 {array0_1 i2 array0_0 o}
 {array1_0 i1 array0_0 o}
 {array2_1 i1 array1_1 o}
 {array2_1 i2 array2_0 o}
 {array1_1 i1 array0_1 o}
 {array1_1 i2 array1_0 o}
 {array0_1 i2 array0_0 o}
 {array1_0 i1 array0_0 o}
 {array2_0 i1 array1_0 o}
 {array1_0 i1 array0_0 o} 

As a first check, we indeed end up with a lead to a first block in the network, that seems ok, and looking at the list we can see that every link is there at least once, and that as we can expect, certain wires appear in more than one backtrace, which is natural.

As an illustration of what we can do to proceed, apart from writing an adapted procedure, for instance one that presents every backtrace seperately as a complete list, or one that uses criteria to select only one trace to present back, lets sort the output of the previous run of block_prec, so that every duplicate link appears grouped together, which in tcl can be commanded as: 'lsort [block_prev array2_2]':

 array0_1 i2 array0_0 o
 array0_1 i2 array0_0 o   #
 array0_1 i2 array0_0 o   #

 array0_2 i2 array0_1 o

 array1_0 i1 array0_0 o
 array1_0 i1 array0_0 o   #
 array1_0 i1 array0_0 o   #

 array1_1 i1 array0_1 o
 array1_1 i1 array0_1 o   #

 array1_1 i2 array1_0 o
 array1_1 i2 array1_0 o   #

 array1_2 i1 array0_2 o
 array1_2 i2 array1_1 o
 array2_0 i1 array1_0 o
 array2_1 i1 array1_1 o
 array2_1 i2 array2_0 o
 array2_2 i1 array1_2 o
 array2_2 i2 array2_1 o

As can be seen from the first set of sorted results, the first three lines, which appear together because they are equal, there are three backtraces that end up on the out pin of the first block. From where an output connects to more than one possible destination, there are multiple paths through the connections.

When the 'run' popup menu is used on the 'array2_2' block, a similar reasoning is used to transfer data and pick every possible destination for continued running of the blocks in sequence, but starting for the input instead of tracing back from the output. Combining the two approaches will lead to the set of possible block execution orders under the assumption that one block drives another and delivers data to all the ones connected to its output, and starts the same sequence with them.

The short term practical purpose one should have in mind is what various packages offer, though usually not in generally applicable and usable form, that one may change on input of the whole network and all ouputs will be updated automatically. For complicated, lengty or more specific uses of this idea, one may want run pieces and be more intelligent when more than one input changes than propagating all changes seperately, and of course one may want to run programs to deal with all this, maybe even a blockwise defined program to drive another network according to desired logic and rules.

javascript for fortune

SInce I did some javascript and looked at it more than enough to be maybe not that skilled but quite in touch enough with javascripts possibility reality, it may be fun to update my home page for instance with a script to do an automatic fortune of the day, or maybe a random one for each hit, without having to update manually.

Its a pity Javascript can't realy read a single line from a file on the server side (like seek()) , so a big fortune file would make the loading slow. Maybe I could prepare for maybe a few K of lines, and then update every now and them, and let the script pick one or a few for each day.

The Holy Spirit thing

Seriously, I believe the (real) Holy Spirit is a person, one that is God, and that indeed he is present in this world, and can give people that have invited Him after having accepted Christ revalation, utterances and various spirital gifts.

That is to set the scene, which is completely serious, The subject that I have had on my mind quite a bit for two reasons is also serious, but I'm not sure in which way I want to bring it forward or stress it.

Mainly because I think there are so many that follow so many spiritual sources, and quite for certain do themselves and others damage with such. That is the essence of the reason not to want to stray too far into the 'spiritual' thinking that one could take me for promoting writing about the holy spirit. In quite some cases, I think I prefer simple or complicated sanity of a not evil kind over quite a lot of spiritual sh*.

I'm sure that's not the final or conclusive answer to the question who the Holy Spirit is or should be in life, but it sure prevents a lot of trouble when discerning who is the real Holy Spirit is hard or neglected.