Theo Verelst Diary Page

Wed Mar 21 23:19:40 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.

Wed Mar 21 23:19:32 2001

All that talk about bwise, what is it, how does it smell, what does
it look like, but in essence, what can it do or mean?

Life in the fast lane, provincial alley, conservative sinfullness,
protestant freedom struggle, rich informatiion haves, unmature
in evil castaside, doormat be-not-subdued, won't receive the
sign of the nazi name, want and get out of the evil big mama
live-suck, or 'simply' be an engineer/scientist and with hard enough work
earn a more than modest living ?

Life expectance

The latter has been my main idea, not so much a target, more the
natural and not undesirable outcome of logical choices, for
many years as I studies, before than time, and as underlying thought
I guess years after.

Currently the benefits of such life aren't mine, though hopefully
will be, and only in two other modes of living not alien to me
I'd find enough space, satisfaction, fullfillment and possibility to
feel at least ok, which would be lets say living with music in some
seriously free and contentwise enough form of application
of artistry (not so much science or technical skills), and the idea
of occupying myself with my faith in a serious and somehow fruitfull
way, with various options not limited to translation and study.

Wannabee a preacher or a reverent? Not that much, I think normally,
though both ideas contain essence of good enough thoughts. The
idea of going around and performing some preaching activity, apart
from having to be asked or given opportunity for such, under
agreeable conditions, has not been much of a aim in my life. Playing
reverent is I guess a local and longer term goal I don't thing ever
got much space either, and I don't know what it exactly means,
though dealing with people and their lives for a longer time and
being a trustworthy party in it with some foundation in faith is
on itself not an all too weird or unpractical idea.

Sais he, typing on a stupid 486 with his own software doing both
this automated diary text window as well as major simulation
possibility software himself, currently not (at this moment) making
not a penny in i t. As in 'why is it all that way'.

Because I refused to play along with the no doubt evil games of
various parties in my life and society, for one thing. Because I've got
some standards of interest and achievement I didn't want to put
aside for no good reason at all, or let others deny me or claim
in my place that I probably could find worthy of immedeate
capital punishment instead of the benefitsof my work, ideas
and ways of living.

Because it has pleased the almighty and holy God in heaven
to put some servant or person to work in this miserable
world to make a point or produce fruits for His names' sake?
Possibly. That such elements are there in my life would better be
true, or I'm living in a lie that I should run out of as hard as I can,
there are not that many worse things than religious delusions, I
guess.

But to say that my life is full and satisfactory and in my opinion
full of proof of the complete fullfillment of such a view would be
a gross exagaration. Not that I'm not serious about the idea,
but mainly because I'm not satisfied with much I percieve and
with various undesirable circumstances, and maybe because
of the hidden things that are not easily made visible reliably and
because of the senselessness of various efforts I have done
without searching for deeper meanings where those may be
hard to find.

If I were god, I guess I would change a thing or two, which is not
out of desire for rebellion, I just don't like many things in my and others'
lives, so I'd practically want to change them. Of course there are
different and higher considerations for which I'm not unsensitive,
but firsts thing first would not let me leave things as they are in
my life, and I guess leave me with many questions as to how
to effectively judge and prevent much evil and misery in the
world.

Does one let an evil creation live? And if so, why and how, and
what is the place and the consequence of law and justice in it?

The chapter on the 10 commandments in Deuteronomy 5
end with a phrase like 'and turning not left or right from My commandments,
... so that he may live well and in abundance and see good days in his life'
or something to that extend, I read it this weak but forgot the exact
phrasing. In other words the quite present capital punishment for
various sins, the strong condamnation of many forms of evil,
the stern-ness and rigorousness in these laws are countered
by the idea that there is a good reason, so that we may live
well, if we were the intended people of israel.

At least the idea still is that gods law is for that reason: so that
we may live well, either in this life, in our thoughts, in spiritual sense,
and maybe in the future. Little can be said about the validity of
the idea that the maker of it all has something to say about how
the created functions best (in real sense, not as the implementation
of some stupid, unfounded rule) except that He may have put
limitations forward because of his will, his rules and maybe his
way of dealing wih life, expecially in a sinfull world.

So become a rich and famous rock star, on top of all the
pleasures of life, breaking youth free from their condemnation
and miserable ties in life, and giving them an idea about
freedom, loving of what is good, and denial of an evil world
system in practice? Of course not a very complete and correct
image, but then again, there are worse things. " when I was young,
'thought that live was wonderfull, a miracle",..

More later, not because I'm out of breath but I want to put the
following stuff on and am thinking about what to write, and
may even throw in some texts ( guess on a diary page there's not
that much of a copyright prob, otherwise please inform me),
and I only have so many hours a day, going between internet,
job checking, some other activities, some research, and
some fruitfull anchien machine centered work and typing.

The bwise picts

Will they change the world? Oh boy, he's off in a fit of nutsness
again, aint he. First, of course it doesn't work, second,
if it does, he stole the code and it is impossible to use
for yourselft, and furthermore it isn't interesting...
No, I just have the strong impression that by
my not being too obscure these things have effect, and considering
some almost incredible past resistance against this stuff, it
would seem logical that at least it has some relevance, which
also objectively has good reasons, it is solid and good stuff.

Lets start with the idea again, bwise is short for blockwise, which
means that the main thing engineers for instance do is put
in the name of the package that takes as starting point to
put little graphics blocks on a scrollable canvas that
stand for some program activity, starting with the most
essential ones: data input, data display and processing blocks.

An example bwise canvas with some connected and some
unconnected blocks, a popup menu, and visual running feedback

At the left of the top of the canvas (under the buttons which
are there to put blocks and wires on the canvas, they could be
menus, but I prefer not to have to 'flap' them down for the
most used ones, like some professional packages), there first
appears an entry block, which allows a string to be typed in,
which is put at the output pin. The next block is a procedure
block which normally does some processing based on its input
pin data, and presents the results on its output pin(s).
In this case, it multiplies a number by two.

Blocks were created by typing 'newentry; newproc; newmon' on
the command line, and connecting them up by clicking
on the pins to turn two green, and making a wire by pressing the
button with that name. Clicking and holding anywhere in the
yellow areas of the blocks let you move them around freely
on the canvas, leaving the wires connected.

The entry block has a builtin 'run' routine, which will
make data flow through all the blocks connected to its
output when 'return' is pressed, so in short type in a
number in the entry, press return, and the network will start
computing, showing graphically how the data moves by
in turn making the pins turn green (showing data transfer
from one block to another) between the entry and the
procedure blocks, followed by the next link. Then the
outcome of the doubling computation appears in the
text window as is shown. No tricks, and as we'l see later on,
and examplify below, all this is completely unobscured
by hidden mechanisms and structures, and completely open
programmable, and most of all, understandable for every one
with not even more than average IQ, I'm sure.

Maybe in some cases, that is a disadvantage, but for making clear
some things are complicated and lets say honorable enough
to occupy oneself with, it is no good practice I think to
obscure or unnecessarily portray things in a more complicated
than needed manner.

To give a bwise user information about an access to the
input and output data on the pins of the block, and
the function the gouverns the behaviour of the block,
the 'data' entry form the popup menu can be used to open a
new window. Just point at the 'Proc1' block with the mouse,
click somewhere in the yellow part with the second mouse
button (the middle one), select 'Data' from the popup
menu with the left mouse button, and the info window appears
like this:

A block info window

For every variable associated with Proc1, a line appears,
stating the variable name followed by an editable entry
with the content of that variable. The lines are sorted
alphabetically, in this case the first one contains
the behaviour tcl code associated with the block.

For someone familiar with tcl, it does exactly what
one may expect: set the output variable to the result
of the computation based on the input. The [expr ...]
construction means take the ... as an expression such
as $a * $b, where $ always means 'content of the variable',
compute the results, and fill it in in the place of the [...]
in this case to set the output variable.

In the case of the example screen dump of this window,
the input is three, and the output has been computed
as being 6, which is correct. This could have happened in
various ways, either by pressing the return key with
the cursor in the Entry1 block, which sets the whole chain
into motion, or by having used the popup menu with
the 'Eval'-uate option, to invoke the Proc1 blocks' function
under user control.

The main options from the menu currently are (short desription):

* Eval Short for evaluate, which calls the
block function form the block the menu is activated on,
which is in gray font on top of the menu.

* Data Show the info window for this block.

* Transfer Transfer the data on all the output (usually
right hand side) pins of this block to their connected
pins over wires. Basically when a wire exists, it transfers
data over it when on one side 'transfer' is invoked.

* Propagate transfer the data at the ouput pins
of this block to the connected ones, and afterward call
the functions of the connected blocks, and start the same
procedure for each of these connected blocks. That starts
a 'chain' of compute-->transfer to the next-->compute--> ... etc.

* Run Run is like propagate preceded by Eval, to
also call the function of the block itself, when the
input data hadn't been processed yet.

Suppose we use the editable info window for the Proc1 block
to change Proc1.in to 55, then we can instead of pointing
at the Proc1 block and using the menu to make
the block evaluate this new input also use the 'eval'
button in this window, which will run the function in the
Proc1.bfunc entry once, always with the in and output
variables as they are shown, there is no need to press
return.

For programming procedures in tcl sense, and having an overview
of all user and other library procedures except the standard,
usually hidden tcl and tk libraries (which are big to show
all the time, and aren't usually edited), the function
'procs_window' when called from for instance the console opens
a window with a list of all user procedures in alphabetical
order, which when double clicked can be edited and updated
at will. Use 'save_procs2 filename.tcl" to save
the changed set of routines after editing.

The procedure edit window

The
whole list of tcl/tl procedures can be
loaded in (I dare say) any tcl/tk version above the older
8.0p2 I use, and leads to bwise and all the routines and
interactors I've shown being available.

You'll also need this image
paper.gif
in the same directory (shift click on it in the web browser to
save the image, or use the right mouse button). The procs8.txt
file is given text extension, because it is text, and because that
way the web browser will display it easily, but if you download
it, you should rename it to procs8.tcl, to be able to
double click it.

Basically, after
installing tcl/tk, which is simple enough, get the binaries
(the programs) from sourceforge (or check altavista or another
search engine for 'tcl/tk download' or something), it seems
the scriptics site is not active now, though all the files are
on the new site), which is I guess a file of a few megabytes, put
it somewhere in a temp directory (e.g. c:\temp),
double click it, when the installer program prompts for
information simply go with the defaults, and in a few minutes
installation on anything that computes with some decency and
runs some windows 95 or later variation, the installation
will normally be completed. Then look for (probably)
the directory c:/tcltk or similar, go into c:/tcltk/bin,
and click on the 'wish.exe' (maybe wish85.exe), to start
the tcl/tk main program.

Now use the menu to do 'source', or 'open file', and read in
the above library of procedures. Then type 'cd directory' with
directory as the place where the paper.gif image is located,
and press return, now type 'bwise' followed by return,
and the bwise window will be made.

All this can be done simpler, but that requires you edit
the procedures file, and at the end add:

console show
bwise

Save the changed file, and double click it. That should take
care of automatically starting the tcl/tk interpreter with
the library loaded, and bwise started, ready for use.

For some with experience in tcl/tk, this is the script for
typing my diary pages, which runs fine in the same
interpreter with bwise active:

Basically, there are routines to make a window with
text editor and to make the html header, and there are the
bottons to drive it all, including that I made some
function key bindings for some often used html tags.

The last lines call the main procedure and make sure that if
this is a script that is double clicked in windows as an
application, that the console window becomes also available.

Does it all come together? Well in fact, for those having
been aware of some earlier work (much of this was already in various
forms working even years ago), there are more interesting
combinations here. For instance, there is nothing against
storing data in the block info window into a database entry,
possibly including graphics information, takes a few lines
of programming (done it before).

Maybe worse, the pcom application, which can execute remote
tcl commands and transfer files reliably, cna be used as a
stub on one or more remote machines to do what unix, too
does: remote execution of commands, and in this case, it
is possible to also include the block diagram in the picture,
and basically transfer any list around to any machine, and
make any command happen anywhere where it is desired,
also under the control of connected graphical blocks with
list processing per block as the basis, that is pretty
powerfull.

Currently, I can't do that stuff, but having a seperate
machine for mpeg coding/decoding, another with linux
to de csound real time rendering, yet another for some
heavy graphics (maybe with mesa/opengl and some major
screen or even projector), and one for comfortably controlling
the whole lot with for instance bwise, doesn't sound bad.
And one for physical modeling, with graphical feedback
of the progress.

Or get a major workstation. Or ten, but then connected.
Anyhow, in every case making things connect up and
behave right is imperative, and ordering and connecting
program parts, and driving them with good state and
parameter feedback is important.

Note that the while bwise lib (minus the web server stuff
which i stripped off for brevity) is under 80 kilobytes of
text, which loads even on my old 486 in a split second, ready
for use, this stuff is practical.