Boids, a use case


My graphical ControlPanel is written in Wee for the web and without
that there is only a bunch of “boring” text in my current development
environment. The output is rather domain dependent because that is
what I need to get done - the Boids are working better and faster than
I was expecting, but so far I have not been doing some of the more far
out things that I want to test. Its evolving rather rapidly at this
So, I’ll offer to send a kg or two of spent Boid casings to anybody
interested :slight_smile: - and that’s about all that makes sense unless somebody/
some institutions would be interested in working along with me
somehow. In the meantime there is a framework in there, the edges are
fairly sharp but I don’t have a lot of time to pull it out and
substitute something even more trivial than I’m working on.

I’d be happy to share the concept and chat with serious folks about
the nature of it all the potential uses, otherwise, you won’t be
seeing my “ramblings” here until I’m at the next stage or so.

Let me repeat what I’ve been trying to say: As far as I can see these
things would be a worthless exercise in a lot of frustration EXCEPT
that they seem to be made so simple to “author” / “create” /
“write”/“program” - whatever it is you want to call it. And, again,
the benefit I see to this is that people outside the Boid “machine”/
System/Framework/ or whatever you want to call it can do this -
anybody, anywhere, anytime thanks to the web.

Let me review a few highlights of it all first:

So what is a “boid”? - well, its a text file, its a ruby class, its
written in Sections, and theres a DSL class dedicated to unraveling
the statements of each Section. I keep them as simple as possible. To
this end a module full of “HelperClases” have really, well, ahhh umm,
helped. That’s what they do - but they also provide grist to the
“Experts session” which is how the Boids are to be created/authored
(but not “programmed” - that’s the point - these babies can be the
result of “filling out a form” which in a sense is determined by the
current state of the ClassBase and the Helper Libraries. A lot of
reflection going on.)

What does a Boid do? It does what you want it to do within the
confines of your domain. If the author is unknown, and not authorized

  • whatever that means in the domain his Boid would like be assigned
    “candidate” stature and wait to be reviewed. If the author is an
    “insider” his Boid might get assigned for immediate duty (which makes
    it all more fun) for the author.

Some boids gather Attributes, Make assertions, and leave a record of
this. That’s about it. But, although they are fired! serially for
efficiency they can use the “spent casings” of previous “flights” to
build upon. Don’t think in 10s or 100s - think in 1000’s and then
you’ll see the potential of all this. In the 3 domains that I have
worked on the “verify” Boids make from 2 to maybe 5 assertions - like
I say they need to be kept simple. There is a “Conclusion” which is
returns a Pass - NotPassed -Failed status. Every little step, and I
mean every step, is recorded into the “blackbox” at least for now,
very useful for debugging.

Now the Use Case "story’

This is a story because while “the guts” of all this is working I
don’t have a website up yet using it. I’m a applications guy, and my
business arrangements with a certain wonderfully talented programmer
did not work out due to changing goals and my inability to adopt
quickly to GitHub.

Let’s get past money and go to real lives, and there is a “Boid”
system online and functioning somewhere that takes has a lot of
patient records. Every day from the beginning of the project some
100,000 Boids representing all kinds of Drug related information are
“fired!” at each patient record. If nothing is found, nothing is
done, if something is found a text message is sent to the patient and
the associated doctors and whatever makes sense.

This is pretty close to my actual project - and I just ran my 100 boid
system with just to layers of knowledge (indications &
contraindications) on 1000 fairly comprehensive simulated patient
records - with some 100 health conditions picked on a privatively
weighted sex/age basis. (Doesn’t really matter for timing does it?)
It took 55 seconds on my 1/2 state-of-the-art machine.

Now, here’s the story part of this: A doctor in Israel was following
standard procedures and prescribing Drug XYZ and Drug ABC for a recent
heart surgery patient. He died, and it was clear that a certain
“redline” condition together with the combination of drugs was the
“cause” such as these things go. Drug ABC is fairly new to the market
but it finding wider and wider use in certain countries.

YOU are taking these same drugs after your heart procedure.

Think what ever you want based on your experience with our health care
system as it has been, I personally would not expect my doctor to know
about this for months, and even if he did, I’d put the chances at a
unsatisfactory level that he would make that connection with his busy
schedule and things considered.

This is extreme but that’s my purpose in this, I’d like to see some
serious consideration given to the power of all this Boid stuff, ok?

Let’s look at how things “could have happened” if a system of
autonomous Boids were being fired! daily at patient records:

When something like this happens - the death of the patient in Israel

  • is simply “reported” by something that appears like a form on the
    web. Its a series of prompts that is using reflection to bring up the
    very latest in HelperLibrary names, and ‘?’ methods. This Boid is
    assigned a status, and is automatically put into the stack of Boids on
    the national system. This is cloned to the regional system. The next
    time YOUR patient record is Fired! upon - up pops a series of messages
    authored in Israel only a few hours ago. You get a text message,
    stop taking ABC and can live to play golf for another 10 years :slight_smile:

Note that nobody had to do a thing on the receiving end, it could all
happen because of the architecture of the system. How complex was
that Boid? Not very!


There are a lot of Apps possible that could check your computer parts
shopping cart, check your bicycle design or whatever that could use
the same concept without all the drama. Day in and day out. My
project was kicked off in exactly such a scenerio - building my
Hackentosh and not being sure if all the components would go together
(they did, I reboot every 3 months or so:) Thank you Asus,).


All in all, I’m 100% ready and willing to share this all with serious
folks /institutions or whatever on some sort of basis. I’m not ready
to switch from thinking about software issues to thinking what other
people think about it.


I’ve got a lot of serious work to get done, and based on everything
I’ve just decided to stop my “rambling” here, and get back 100% into
the fun stuff - trying to see how far our mutual girlfriend Ruby can
do at the intersection of my domains of interest.

In the not too far future I can see setting up a Heroku site for the
“Expert Session” so folks can author a boid and see it get Fired! a
few minutes later with his name attached telling the world whatever
when whatever should show up on some constantly running simulator.
Now THAT would anchor the power of this stuff.

Otherwise, I will save you guys any more ramblings and only check back
in a few weeks. No need to insult me. Anybody seeing this that sees
the serious potential can contact me by Email. I’ve already sent off
screen captures of the Wee based “expert session” and an example boid
to somebody here. The plan is to use our “” site
for presenting the technology when its ready.


Sorry still no clearer as to what you are talking about.

what is a “boid”? - well, its a text file, its a ruby class

Oh, well then I’ve been creating boids for years. That is to say that I
written Ruby classes in text files and yes I too have used DSLs.

Maybe a technical writing course would be in order.

On Mon, Mar 22, 2010 at 12:31 PM, Peter H.
[email protected] wrote:

Sorry still no clearer as to what you are talking about.

what is a “boid”? - well, its a text file, its a ruby class

Oh, well then I’ve been creating boids for years. That is to say that I have
written Ruby classes in text files and yes I too have used DSLs.

Maybe a technical writing course would be in order.

No because than the list will be frequented by James, David, yourself
(I guess) and some others that have experience in this field (sorry
for being bad with names).
Furthermore you do not even know if OP is a native speaker and unless
she is she has much merit for expressing herself in English (and
although OP is probably male I do not like to base my post on this
assumption either, if this is considered impolite I would be very sad
and apologize in advance).

But I would like to make some productive (I hope) criticism too,

do those apply?
Thx in advance.


Sorry I don’t know why Gmail is posting things twice

The OP is displaying an excellent command of English and that is good
for me regardless of whether they are a native speaker or not (if not
I’m even more impressed). However the term boids is a known one and the
use of the term does not click with my understanding and I have a degree
Artificial Intelligence.

It does not seem like a misunderstanding of the term boids, I suspect
the OP has appropriated the term for something else. But I cannot fathom
what. However I am willing to accept that they have an interesting idea
express if only they would focus. This place (the newsgroup / mailing
list /
forum) is a place for communication but at this stage I have learned
about they they are talking about and the whole burden of communication
seems to be on us, the OP does not seem to be trying to be understood.

On Mon, Mar 22, 2010 at 7:01 AM, Peter H. <
[email protected]> wrote:

Sorry I don’t know why Gmail is posting things twice

Gmail shows you your post in a thread. The mailing list sends everyone
the list every message, so you also receive the message you sent, which
gmail also adds to the thread. I think there is an option to tell the
to not send you emails that you have written, but I like to have it as a
confirmation that my post was sent.

The point is, you are the only one who sees two posts, the one you sent,
the one you received.