I would have reasonably expected someone who has sold himself on his
years of experience to at least know the minimum of scalable tchnology
depending on the size of the task being approached but something
appears to be seriously missing here when in the face of well known
techniques that are time proven, when clear proof that a technique is
sound when written correctly has been delivered by published objective
testing and yet the same repetitive nonsense has continued.
For someone who should know better, the "One size fits all tasks"
approach is seriously flawed and it opens the door to very poorly
designed slow bloated code that does not fit the task at hand.
Perhaps of a more serious nature for someone who is supposed to have a
backround in academia is the details of analysis failure when it comes
to determining the value of a statement. While in ordinary parlance
such matters are often settled by who shouts hard enough for long
enough, with someone who is supposed to be able to do better from an
academic background, this is an indication that they do not know enough
about what they are saying.
For an assertion to be worth the effort of making it instead of just
being repetitive noise, it must be either verifiable or falsifiable and
this means in ordinary parlance that there must be some way to work out
if the assertion is either true of false.
If an assertion is so far removed from such mundane considerations as
whether its true or false, then it becomes trivial and this is the
problem with the more recent approach from Randall Hyde.
The polling loop technique that I have asserted is a viable technique
in a programmers toolbox is subject to being evaluated as either true
or false where endless assertions that an alternative technique is
always better under every condition is not and by being so, the
assertions of "being better" are trivial.
In the absence of anything like objective testing or proof to support
the endless assertions and the obvious failure of analysis in its
absense, the response is starting to sound like mediocre academia
making noise in the absence of evidence.
I used to wonder why Randall Hyde was attacked in the old ALA by so
many people with what appeared to be years old well oiled mechanisms
but in the face of his recent behaviour, it is starting to make sense
at last, even if it was bad mannered and unfair.
Perhaps Randall Hyde needs to understand that the action in computer
programming left the hallowed halls of univerities in the US some time
ago and the fall has been drammatic as funding was cut and jobs were
sent overseas. You see prestigious awards being won by universities in
China and if you need fast commercial code development, you buy it in
Russia where there is a massive number of very highly skilled
programmers.
I have supported the general idea of writing "Great Code" but when I
keep hearing mediocre academia from an environment that is clearly of
the pace in a world at large that simply does not care and spends its
money elsewhere, I am starting to get the idea the the notion of
writing "Great Code" as it is being sold is a cover story for writing
"Mediocre Code" that conforms to the "party line" of an out of date
tradition of academia that has been left behind by a world that does
not care.
Regards,
hutch at movsd dot com
[SNIP]
Wow. You actually typed all that.
You're doing a great job at removing the last drop of
credibility you ever had - how nice of you to do all the
hard work yourself, as well as giving the rest of us
something to laugh really hard at.
Everybody let's give the guy who "polls the interrupts"
a hand, and hope that he will indulge us with more of
these heavily fermented fits of megalomanical nonsense :)
Hutch, you're losing it - bigtime.
With f0dder, its the normal stuff, free advice is worth the price you
pay for it and with smeone who has been losing the same arguments for
some years now, nothing has changed. :)
> I am starting to get the idea the the notion of
> writing "Great Code" as it is being sold is a cover story for writing
> "Mediocre Code" that conforms to the "party line" of an out of date
> tradition of academia that has been left behind by a world that does
> not care.
I suppose that you do not really understand what
you have written, there, Dictionary-ass, but...
how true !...
:))
Betov.
You know, I've been wondering why the words "Too much Reality TV" keep
popping up in my head every time I read this newsgroup. I guess it's
kind of the same thing: Too much Soap Operas==Too much Reality TV.
[snipped]
Quoting Betov (which is an odd thing to do for me, I must say) with
slight modifications ;
<quote>
I am afraid you are, now on, going to be labelled
"in the RosAsm Camp", what will be quite funny,
for a MASM resistant afraid of waits...
:)))))
</quote>
What strange bedfellows.
--
Regards
Alex McDonald
> This newsgroup has great soap opera appeal. Can only wonder what will
> happen next week 8)
Yes, fun each day... :) Here is some more:
ALA is really the one and only place where you could
have that much fun, as all of the other places are
under the control of some individuals, who contribute
to damage Assembly by making it, impossible. [Hear me,
Chuck?]
The real beginning of the fun, was the day when Hutch--
decided to compromise himself with Master Randall hyde
for, so to say, "Reciprocal Reputation Assistance".
[The same good old vileny, as praticized, right here,
by Beth, our mentaly diseased big cow. Hear me, big
mad cow?]
[I say "compromise", as long as i cannot say "dishonnor",
when talking of a guy who redistributes illegaly a
MicroSoft Product :)) ]
I first was stuck by the collusion between Randall and
Hutch, and, as i am not used to make private mails public,
i will not tell, here, what Hutch-- told me, of what he
thought about HLA, but, after all of these compromissions,
insane attacks against the Open Sources Mouvement, against
the Assembly Rebirth, and even against... ALA, recently,
with attacks against the last remaining real Asmers, the
fall is quite funny.
:)
Betov.
> insane attacks against the Open Sources Mouvement,
I confess to having rabidy attacked the Betov "Open sauce" movement,
particularly as its driven by the cheap piss he is usually full of and
while I have tried to lead him onto the straight and narrow path of
pure malts, he does not seem to be up to the pace to manage it which
excludes him from ever reaching the sublime heights of truly classy
assembler code.
On the flip side of his failure to comprehend some of the better things
in life, at least after he has fully processed his "Open sauce" it
helps to keep his legs warm as a byproduct on its way out which is
something from the wreck.
Differing from a few around here, I don't need ALA as I am in the
"MASM" camp which is like a oversized KING KONG trampling city
buildings in its wake, an attribute than has won me so many friends in
ALA (BIGGER GRIN).
| > I am starting to get the idea the the notion of
| > writing "Great Code" as it is being sold is a cover story for writing
| > "Mediocre Code" that conforms to the "party line" of an out of date
| > tradition of academia that has been left behind by a world that does
| > not care.
|
| I suppose that you do not really understand what
| you have written, there, Dictionary-ass, but...
| how true !...
|
| :))
True indeed, [or 'indead' as you would say ? :) ]
Seems Steven finally recognised with whom he spent a night or two ;)
__
wolfgang
> Differing from a few around here, I don't need ALA as I am in the
> "MASM" camp which is like a oversized KING KONG trampling city
> buildings in its wake, an attribute than has won me so many friends in
> ALA (BIGGER GRIN).
The comparison with King Kong is quite right in matter
of chest bombing and knocking, but the point of the
story that matches the best with your MASM comparison,
is the final fall.
:)
For your "many friends in ALA (BIGGER GRIN)", you have
just shown how stupid you could be, by attacking people
with no base, no competency, and by loosing all and any
debate, that _you_ had initiated, as well against me,
against the real Asmers around, against fodder, against
Donkey, against ALA, as well as, now, against Master Pdf.
One of the expressions, from you, that makes me laugh the
most, is "being knifed in the back". You are an insignificant
ass-hole sleeping in the same bed as criminals like Donkey,
anti-GPL bastards like Fodder, and the most scaring sub-shit
ever seen in the Assembly arena, Randall Hyde, and, after this,
when putting yourself in no way-out situations you come and
cry to be "knifed in the back" by friends of yours, in the
crabs basket competition.
How ridicoulous... How pathetic...
Betov.
Such flattery, I thought I had made the big time as the "fucky one" but
such a list of superlatives may go to my head. Now you will never have
to worry about me accusing you of knifing anyone in the back, you are
not smart enough to do this.
Still, in this world such compliments from such a highly self acclaimed
leading guru in the assembler rebirth that never was must mean
something from someone who has desperately tried to get carried along
in the breeze behind MASM so that someone would take notice of him.
It has predictably failed but then there is always the consolation of
opening another bottle of "sauce" to sooth your shattered ego.
> Such flattery, I thought I had made the big time as the "fucky one" but
> such a list of superlatives may go to my head. Now you will never have
> to worry about me accusing you of knifing anyone in the back, you are
> not smart enough to do this.
:)))))
I also have to thank you, my dear good old friend,
as if all of the ennemies of Assembly could suicide
the way you do, so talentedly, the defense of Asm
would be a real pleasure.
:)
Betov.
Actually, there are lots of "true" ways, but polling isn't one of them
for waiting for some other process to complete. Have you noticed that
*no one* around here agrees with your approach? Certainly if polling
were a good idea and one of the "true ways", someone besides Betov
would come to your defense. Maybe "The_Stooge" will chime in on your
side real soon now?
>
> I would have reasonably expected someone who has sold himself on his
> years of experience to at least know the minimum of scalable tchnology
:-)
Polling is *not* scalable. It is the antithesis of scalability.
> depending on the size of the task being approached but something
> appears to be seriously missing here when in the face of well known
> techniques that are time proven, when clear proof that a technique is
> sound when written correctly has been delivered by published objective
> testing and yet the same repetitive nonsense has continued.
And you reject the analysis that polling is not a sound technique. Too
bad.
>
> For someone who should know better, the "One size fits all tasks"
> approach is seriously flawed and it opens the door to very poorly
> designed slow bloated code that does not fit the task at hand.
You're the one claiming "one size fits all." And the size you're
choosing with polling is pretty bad.
>
> Perhaps of a more serious nature for someone who is supposed to have a
> backround in academia is the details of analysis failure when it comes
> to determining the value of a statement.
The analysis is trival. Polling burns cycles, blocking does not. It
doesn't matter how *few* cycles you burn with your sleep trick, it
still burns cycles. And that means it doesn't scale.
> While in ordinary parlance
> such matters are often settled by who shouts hard enough for long
> enough, with someone who is supposed to be able to do better from an
> academic background, this is an indication that they do not know enough
> about what they are saying.
Yes. You keep shouting and shouting. Starting new threads all the time.
Pulling "Betovian" benchmarks. All kinds of stuff like that. You post
numbers for your polling approach and you've never bothered to try the
blocking experiment and post those numbers. How scientific is that?
>
> For an assertion to be worth the effort of making it instead of just
> being repetitive noise, it must be either verifiable or falsifiable and
> this means in ordinary parlance that there must be some way to work out
> if the assertion is either true of false.
And you've yet to do that. Write the blocking version. Compare the
numbers. Then come back to us with your claims of scalability.
>
> If an assertion is so far removed from such mundane considerations as
> whether its true or false, then it becomes trivial and this is the
> problem with the more recent approach from Randall Hyde.
Why simply invoke my name? There are *many* very *big* names in
computer science that disagree with you. The likes of Knuth, Joy,
Hennessey, etc. Why pick on a "tiny fish" like me when you can go after
the really big guys?
>
> The polling loop technique that I have asserted is a viable technique
> in a programmers toolbox is subject to being evaluated as either true
> or false
And therein lies the problem. You've not done the analysis you're
talking about here. Where's your comparison against the blocking
method?
> where endless assertions that an alternative technique is
> always better
Which is what you've been doing.
> under every condition is not and by being so, the
> assertions of "being better" are trivial.
And the blocking method is also easier to implement.
>
> In the absence of anything like objective testing or proof
Which you've not done, so how can you make the claims you're making?
> to support
> the endless assertions and the obvious failure of analysis in its
> absense, the response is starting to sound like mediocre academia
> making noise in the absence of evidence.
In the absence of your own objective testing, I'll stick with the
well-researched and proven results of academia anytime.
>
> I used to wonder why Randall Hyde was attacked in the old ALA by so
> many people with what appeared to be years old well oiled mechanisms
> but in the face of his recent behaviour, it is starting to make sense
> at last, even if it was bad mannered and unfair.
Yes, standing up for the truth often makes you unpopular with people
who wish to push an "off-color" agenda.
>
> Perhaps Randall Hyde needs to understand that the action in computer
> programming left the hallowed halls of univerities in the US some time
> ago and the fall has been drammatic as funding was cut and jobs were
> sent overseas.
Well, just keep in mind that the OS research we're talking about here
was done a long time ago, when the schools had lots of funding.
> You see prestigious awards being won by universities in
> China and if you need fast commercial code development, you buy it in
> Russia where there is a massive number of very highly skilled
> programmers.
And I'm sure if they were to repeat those same experiments today in
China, they'd get exactly the same results. But they're smart enough to
realize that the existing research was good.
>
> I have supported the general idea of writing "Great Code" but when I
> keep hearing mediocre academia from an environment that is clearly of
> the pace in a world at large that simply does not care and spends its
> money elsewhere, I am starting to get the idea the the notion of
> writing "Great Code" as it is being sold is a cover story for writing
> "Mediocre Code" that conforms to the "party line" of an out of date
> tradition of academia that has been left behind by a world that does
> not care.
Whatever you say. Sadly, I must agree with Rene. You're committing
suicide here.
Cheers,
Randy Hyde
Sadly this seems to be true. I cannot fathom why but even when faced
with an enormous volume of data to the contrary he continues to defend
substandard hacks like the polling loop. I have not been coding long
enough to fall into the "protect my reputation at all costs" trap that
seems to be happening here. I can only hope that I never get to a point
where I would defend a mistake just because I do not understand the
right solution or I have issues with the source of the facts. I would
much rather spend my time learning why it is the right way (or one of
them anyway). I know of at least one example where I had argued with you
over the use of LEA in invoke and you made convincing arguments but in
the end saw the advantages of my way and I believe you incorporated it
in HLA as a special case.
That is the lead I prefer to follow, do something the way you think it
should be done, listen to the inevitable criticism and make the changes
that are necessary to improve the code. Defending your work as the
final, unalterable version is more like what Hutch accuses you of...
hutch-- wrote:
> For someone who should know better, the recent "One True
> Way" approach smacks of very mediocre academia in a context that
> seriously looks like "toeing the party line".
His polling is mediocre at best, more likely sloppy hack code. It is a
shame to see his reputation suffer as I do and always will consider him
my friend and mentor. I can only hope his tirade ends and he steps off
the brink.
However, thanks to posts by the likes of Alex et al., I have learned
much about proper synchronization techniques in the last few days, at
least that has come from this.
Donkey
Faced with almost identical floundering on what is a very simple
tecnical issue, I am about as worried as I have always been in the face
of the idiot fringe sprouting truisms.
Remove polling loops from Windows and it will not run. Every running
application in Windows uses a GetMessage polling loop, and worse
according to the current set of truisms, it pelts a mountain of default
messages at the other polling location for message processing, the
WndProc and similar message processing procedures.
No-one should hold their breath waiting for a signaled state API
version of a Windows GUI replacing a normal message loop or WndProc as
it will never happen. The signal state API code is simply not capable
of a task with so many variations as a combined message loop and
WndProc.
Now there was a reason why I wrote a test piece to demonstrate the very
high efficiency of a correctly written polling loop, no matter what
anyone wants to say, the test can be run by anyone minus the opinions
and they can measure the value of opinion versus test all by
themselves.
Now the next trick is the implicit change of subject, a shell procedure
in itself is not a synchronisation issue at all, its one thread
disabled by passing its processor time slice back to the OS, test
periodically for a notification of process termination and re-enable
the caller when the notification has been received.
It is not trying to synchronise a cluster of web servers or synchronise
multiple processors, it simply tests for a notification of termination
and passes the time slice back to the OS and the tests prove it does it
very efficiently. Everyone knows that if you are approaching a big
enough task in terms of synchronisation you do it in hardware, not
clunky high level functions in a small sized OS that is not capable of
the task.
System based Wait APIS have a place but it tends to be in middle range
delay or synchronisation requirements, not anything large enoug to be
serious.
Now the test was misleading to this extent, it did not seperate the
thread overhead from the polling loop overhead so it artificially
inflated the prcessor percentage usage up to 0.005% or lower but even
with that additional overhead, one 200th of one percent makes it very
clear that the endless waffle over using a polling loop is wrong.
Even with this inflated figure that includes the thead overhead, I
suggest that any alternative will have great problems doing any better.
> Remove polling loops from Windows and it will not run. Every running
> application in Windows uses a GetMessage polling loop, and worse
> according to the current set of truisms, it pelts a mountain of default
> messages at the other polling location for message processing, the
> WndProc and similar message processing procedures.
Psst, I'll let you in on a little secret: the messagepump might be a
polling loop, but GetMessage is a blocking API call - that's why it
performs okay. Internally, it has a lot of similarity to the way Wait*
API functions work.
> Now there was a reason why I wrote a test piece to demonstrate the very
> high efficiency of a correctly written polling loop, no matter what
> anyone wants to say, the test can be run by anyone minus the opinions
> and they can measure the value of opinion versus test all by
> themselves.
Psst, I'll let you in on another little secret: your demonstrations are
flawed. http://f0dder.reteam.org/misc/launcher.zip shows the performance
problems with a GetExitCodeProces polling loop quite easily. Ah yes, not
to mention that you didn't use proper benchmarking tools; this is pretty
inexcusable since Win2k and XP come with perfmon.msc .
> It is not trying to synchronise a cluster of web servers or synchronise
> multiple processors, it simply tests for a notification of termination
> and passes the time slice back to the OS and the tests prove it does it
> very efficiently.
No, it does not do this very efficiently - but most people have so fast
computers that you don't see the problem. Well, that is, AFTER you
added sleep, and AFTER you realized Sleep(0) wasn't so good.
> System based Wait APIS have a place but it tends to be in middle range
> delay or synchronisation requirements, not anything large enoug to be
> serious.
They scale from simple things like working on process termination to
high-scale web servers. Your ignorance is astounding.
> Even with this inflated figure that includes the thead overhead, I
> suggest that any alternative will have great problems doing any better.
Check http://f0dder.reteam.org/misc/launcher.zip and repeat this
statement ^_^
I am just thinking about an article I read at MSDN about loops in
general and the message pump specifically. In reality the message pump
is about as similar to your polling loop as it is to toast. There is no
real analogy there. The GetMessage API is a blocking function that only
checks the queue when signalled, as in everybodies "WaitForObject"
examples. It does not continually poll the message queue, when a message
is placed in the queue the message event object is signalled and
GetMessage "wakes up" and processes the message.
It is not a polling loop in that the time that it sleeps is variable
depending on the presence of a message in the queue. In other words, in
a simple application, the application uses (virtually) no system or
processor resources.
From MSDN concerning loops:
> Conventionally, loop statements monopolize the system until terminated, thus preempting or preventing other operations for the duration of the loop. And, in other circumstances—remember this as a caution—even under Windows, loop operations can tie up system resources.
Donkey
When you manually code a polling loop that does not have an automatic
mechanism to yield, you explicitly yield the remaining timeslice back
to the OS, this is kiddies stuff.
> Psst, I'll let you in on another little secret: your demonstrations are flawed.
Lose the last argument, try and change the rules. I have seen so many
mistakes in you tesing methods over time that I take no notice of them.
With something less than one 200th of one percent, you are simply wrong
and no choice of tool or new test will help you here.
To solve your problem of task switching count on a low load macine, run
a high priority task and see it drop or run many more tasks and see it
drop. If the load is so low that the que of running apps is very short,
who cares when the result in processor terms is so low that its barely
measurable.
Then you run a test starting the same numer of theads and called apps
without any polling or blocking by using CreateProcess() and run them
in the normal asynchronous manner, see what the processor usage is
then. I did and this is why I take no notice of your testing and ideas,
far too many serious flaws.
Even in a loop that uses the published technical data with Sleep() with
a duration of ZERO to yield, running ANY task that did something
reduced the processor usage for the Sleep Loop to a very low number.
(tested running PKZIP on a large archive).
> Pssssst, this is a secret, any function that has any duration is a
> "blocking" function in a polling loop. The functionality of
> GetMessage() is that if there is no message waiting in the que, it does
> not return to the caller.
...and it does this by using the wait-state primitives of the OS,
just like WaitForSingleObject, NOT by spinning in a polling loop.
>> Psst, I'll let you in on another little secret: your demonstrations are
>> flawed.
>
> Lose the last argument, try and change the rules.
I'm sorry, but that is *your* tactic.
> I have seen so many mistakes in you tesing methods over time that I take
> no notice of them. With something less than one 200th of one percent, you
> are simply wrong and no choice of tool or new test will help you here.
You *really* don't like the results I show, do you? :)
> To solve your problem of task switching count on a low load macine, run
> a high priority task and see it drop or run many more tasks and see it
> drop. If the load is so low that the que of running apps is very short,
> who cares when the result in processor terms is so low that its barely
> measurable.
Run compress_normal instead of compress_low then. On this P-M 1.5GHz
laptop, 1000 GetExitCodeProcess polling threads make the average tick
count go up to ~40-50, while 1000 WaitForSingleObject threads keeps
the tick count at ~20-30. Not to mention that the fan speed goes up
wildly when running the polling threads.
compress_low is heavily affected already at 400 threads. And it will
be even worse on slower CPUs with smaller cache sizes.
> Then you run a test starting the same numer of theads and called apps
> without any polling or blocking by using CreateProcess() and run them
> in the normal asynchronous manner, see what the processor usage is
> then. I did and this is why I take no notice of your testing and ideas,
> far too many serious flaws.
Well, funny thing, I have 0% CPU usage and you don't :)
> Even in a loop that uses the published technical data with Sleep() with
> a duration of ZERO to yield, running ANY task that did something
> reduced the processor usage for the Sleep Loop to a very low number.
> (tested running PKZIP on a large archive).
Do the test with a compressor running in lower-priority mode, which is
normal when backing up large amounts of data. Result? Compression takes
roughly twice as long.
...and it does this by using the wait-state primitives of the OS,
just like WaitForSingleObject, NOT by spinning in a polling loop.
Like it or lump it, a GetMessage loop is a polling loop. Consultations
with the "colonel" won't help you here as there has never been a
garrantee that the internals of Windows will remain the same but we do
know from testing that when the load drops, the system idle process
increases.
Have PHUN etc ....
> Like it or lump it, a GetMessage loop is a polling loop. Consultations
> with the "colonel" won't help you here as there has never been a
> garrantee that the internals of Windows will remain the same but we do
> know from testing that when the load drops, the system idle process
> increases.
Sure, it's a polling loop - but since GetMessage is a block-waiting API,
this doesn't impair performance. And sure, theoretically Microsoft could
change the implementation to a spinning loop instead, but this would make
about as much sense as putting a skoda engine in a ferrari.
...But how can she sail with no wind in her sails and no tide?
I promise I will not hold my breath waiting for the result.
> but since GetMessage is a block-waiting API
This is claptrap, GetMessage() simply does not return if there is no
message in the que but if you bother to put a counter in a WndProc and
display the results you will see that a large number of events are
polled on a regular basis.
Regards,
Actually, the correct response would be: sure it's a polling loop. And
that's why it's not a good idea to use it to test for program
termination. :-)
Sometimes polling is the right thing to do. The Windows message
processing loop, for handling messages, isn't an altogether bad
solution. I could even imagine a spin-lock polling loop, with a little
hardware assist being perfectly efficient, e.g.,
spinhere:
mov al, SomeLocation
test al, 1
jz spinhere
This loop could be guaranteed to execute *exactly* once if
"SomeLocation" is a special location known to the OS which causes a
page fault to occur and the process gets blocked until the OS
determines that bit #0 is set, at which time the process is
reactivated.
However, all these tricks do not change the fact that sleeping for a
millisecond at a time is *not* the best way to wait for some other
process to terminate.
The argument isn't "is polling evil?" Polling certainly has its place.
The argument is whether having one process poll for the termination of
a second process, when that first process could simply block until the
second process terminates, is a good idea. It is not.
Cheers,
Randy Hyde
I've tried to be careful in my use of words here, particularly
. run and ready lists, which are OS maintained structures used for
scheduling tasks
. msg queue, which is the list of queued messages through the WindProc
message loop.
They're all queues, but calling them all queues would have made this
description a little ambiguous.
The system idle process is exactly what its name suggests; a thread
that is run by the system when there is nothing to run in the ready
list. Its main function is to make sure the processor is interruptible,
then to halt the processor. It will be re-awoken when an external
interrupt occurs. Once an interrupt is received, the processor runs an
interrupt handler. It in turn invokes the scheduler to take the task
that was waiting for this interrupt, move it to the run list, and start
its execution.
To handle devices that do not interrupt, but require polling, the
system employs a hardware timer to periodically interrupt the
processor. This turns interrupt driven polling (the timer pops, but the
device may not be ready, so wait some more and try again later) into
what look like true interrupts for the device.
Beyond that type of pseudo-polling, no polling of any sort is carried
out by the OS. One of many excellent descriptions of how an OS pulls
off this interrupt driven trick is Andy Tanenbaum's /Operating Systems:
Design And Implementation/, which includes the source code for MINIX.
The original MINIX design contained a spin loop in the idle task.
Subsequent patches to the MINIX kernel removed this and replaced it
with a HLT instruction. Even an OS as small and as simple as MINIX can
do without polling.
Back to the message loop. When GetMessage finds there are no more
messages in the msg queue, it does not return to the calling task. As I
am not sure of the internals of Windows at this point (I certainly
haven't seen the code), I don't know how it accomplishes queue
management. However, based on what appears to happen, it appears to
employ the standard practice of a semaphore in a queue header. When the
task finds the queue is empty, issue a wait on it. Other tasks that add
to the queue then inspect the queue header; if it's in a waiting state,
then signal that there's something now on the queue. Both the wait and
the signal involve asking the OS to do something.
However the msg queue is signalled, the net effect is to involve the
OS. It moves this task from the run list to a wait list (which is what
is meant by blocking), and it won't schedule this task again until
another message is added to the msg queue by some other task.
Since our task is now waiting, the OS will look to run someone else
that is in the ready list. If there are no tasks in the ready list, the
OS schedules the System Idle task, where, as described above, no
polling at all takes place.
Net effect; the Windows message loop does not poll.
--
Regards
Alex McDonald
[snip]
Excellent description, Alex - (almost) laymans terms, and pretty
accurate.
> Back to the message loop. When GetMessage finds there are no more
> messages in the msg queue, it does not return to the calling task. As
> I am not sure of the internals of Windows at this point (I certainly
> haven't seen the code), I don't know how it accomplishes queue
> management.
The thread calling GetMessage is removed from the run/ready-list, it is
added to the message queues waiting-list, and a new thread is scheduled.
When a message is added to queue, the kernel will move any threads on
the queue's waiting-list to the run/ready list.
> Net effect; the Windows message loop does not poll.
This sentence was a bad thing to add - it will open up for diversion
semantic babble. Just the thing hutch will try to (ab)use to wiggle
his way out of this.
>
> The thread calling GetMessage is removed from the run/ready-list, it is
> added to the message queues waiting-list, and a new thread is scheduled.
> When a message is added to queue, the kernel will move any threads on
> the queue's waiting-list to the run/ready list.
Useful info; is there a specific "waiting-for-msg" queue along with the
usual waiting, ready, running etc? Where did you get the info from?
>
> > Net effect; the Windows message loop does not poll.
>
> This sentence was a bad thing to add - it will open up for diversion
> semantic babble. Just the thing hutch will try to (ab)use to wiggle
> his way out of this.
Well, read in context it looks OK to me; I'm suggesting that whatever
it looks like it might be doing, the OS doesn't poll. I'm willing to
accept that thinking of the Windows message loop in polling terms is
OK. (Well, most of the time. No, I must be honest here; none of the
time...)
I just wanted to point out that it can't be taken literally, and that
the CPU doesn't spend its idle time whizzing around looking for
something to do (spin locks in an MP environment excepted).
--
Regards
Alex McDonald
I weren't able to find it quickly in the MSDN, but empirical tests
shows it to be true (CPU usage and context switches/sec being 0).
I believe it's also described in "inside windows 2000", I can try
to look up the info a bit later tonight.
>>> Net effect; the Windows message loop does not poll.
>>
>> This sentence was a bad thing to add - it will open up for diversion
>> semantic babble. Just the thing hutch will try to (ab)use to wiggle
>> his way out of this.
>
> Well, read in context it looks OK to me; I'm suggesting that whatever
> it looks like it might be doing, the OS doesn't poll. I'm willing to
> accept that thinking of the Windows message loop in polling terms is
> OK. (Well, most of the time. No, I must be honest here; none of the
> time...)
:-) - if you look back to some previous topics here in ALA, there were
dozens of posts discussing the semantics of polling, which seemed to be
done mostly to tone down the practical implications. Typical FUD strategy.
> I just wanted to point out that it can't be taken literally, and that
> the CPU doesn't spend its idle time whizzing around looking for
> something to do (spin locks in an MP environment excepted).
Indeed - while the messageloop can be thought of as polling if you're
a semantics nazi, the IMPORTANT thing is that it blocks waiting, not
wasting time in a spinlock.
Noting that the main internals of almost every application that runs
under Windows utilises the polling loop tecnology, our signal state
proponents now have to re-invent the GetMessage() function with
internet terminology and start calling it a "blocking" function where
its documentation says that it does not return if there are no messages
pending for the application that calls GetMessage().
Why does GetMessage() not return and what is the OS doing instead a
signal state proponent may ask ? Simple, it is usually processing
messages for another app that is testing for messages with GetMessage()
and if there are not enough "other apps" running the OS wanders off to
the "System Idle Process" to waste as many processor cycles there as it
can get away with.
Now the main saving grace with te OS lounging around in "System Idle
Process" is that the priority is so low for "System Idle Process" that
when anything happens anywhere else in the system, it will have a
higher priority than "System Idle Process" so the OS has to get off its
arse and do something again.
Herein lies the reason why the main system based polling loop
technology is so efficient in terms of processor usage, when there is
nothing else to do the OS goes and wastes processor cycles in the
"System Idle Process" but its at least alert to anything else that will
happen.
The source of the noise over a number of years is that f0dder once
discovered signal state API functions and has been grinding the same
blunt axe ever since. it may eventually dawn on f0dder that the main
guts of the OS are in fact polling technology as it is simply te most
efficient way to perform such a massive range of different tasks
asynchronously.
Whether he and a few others end up in denial in the face of
overwhelming support for polling technology in Windows or not, it
would not be wise for anyone to hold their breath waiting for a
replacement to the system defined applicaion level message loops and
WndProc message processing procedures using the signal state API
functions as apart from a few clunky high level functions that have
their use in event termination notification, the tchnology is simply
not powerful enough to replace the far superior and more flexible
polling loop technology used by the OS.
It also tells any programmer brave enough to have shovelled through
this waffle that if you have the need and understand how they work that
a polling loop is a fundamental technique in programing for
periodically testing one or more events and should not be ignored for
reasons of ill advised fashion, the dogma of mediocre academia or the
ranting and raving of bad mannered script kiddies.
Just make sure that as per the OS model, you don't waste cycles, pass
back any unused time to the OS so it can do something else.
Regards,
> Why does GetMessage() not return and what is the OS doing instead a
> signal state proponent may ask ? Simple, it is usually processing
> messages for another app that is testing for messages with GetMessage()
Your thread is block-waiting until there's a message, this is the
important thing to keep in mind.
> and if there are not enough "other apps" running the OS wanders off to
> the "System Idle Process" to waste as many processor cycles there as it
> can get away with.
Guess what? The system idle thread uses HLT to shut down the processor
until it's woken up by an external source (which happens to be the
timer IRQ most of the time) - thus it doesn't waste cycles :)
> The source of the noise over a number of years is that f0dder once
> discovered signal state API functions and has been grinding the same
> blunt axe ever since. it may eventually dawn on f0dder that the main
> guts of the OS are in fact polling technology as it is simply te most
> efficient way to perform such a massive range of different tasks
> asynchronously.
Do some reading - "Inside Windows 2000" and any basic book on
operating system design would be good for you.
> Whether he and a few others end up in denial in the face of
> overwhelming support for polling technology in Windows or not, it
> would not be wise for anyone to hold their breath waiting for a
> replacement to the system defined applicaion level message loops and
> WndProc message processing procedures using the signal state API
> functions
Why would anybody even try to do that, considering that GetMessage
uses the kernel-mode equivalents of the signal state API functions
to BLOCK WAITING until there's a message?
The following comment shows considerable ignorance to the fundamental
Von Neuman achitecture of all current computer hardware, something I
have characterised as "doing one damned thing after another".
=================================
Guess what? The system idle thread uses HLT to shut down the processor
until it's woken up by an external source (which happens to be the
timer IRQ most of the time) - thus it doesn't waste cycles :)
=================================
Dilute the ignorance a little and what you are saying is that the
system idle is polled by the timer IRQ on a regular basis. Under a Von
Neuman architecture processor, you cannot escape the fundamental
sequential nature of the hardware.
If you actually COULD turn it completely off, it would have no way to
restart unless acted on by an outside factor. The same old rule
applies, you get nothing for nothing and trying to hide behind high
level abstraction does not do the job here.
You will have to get used to the idea that discovering a few clunky
high level signal state API functions a couple of years ago will not
replace time proven fundamental technology that an entire operating
system depends on.
> Why does this sound like the same old waffle after you have lost the
> same argument again, "not return != blocking" and "blocking" is
> internet terminology, not Windows messaging terminology.
"blocking" or "block waiting" is, as far as I know, a general operating
system term (correct me if I'm wrong, Randall - haven't taken an OS
course yet.)
> If you actually COULD turn it completely off, it would have no way to
> restart unless acted on by an outside factor. The same old rule
> applies, you get nothing for nothing and trying to hide behind high
> level abstraction does not do the job here.
Guess what? HLT does turn off the processor. The timer hardware is
external to the CPU, and has the effect of generating a strobe to the
INT# pin on the processor, which in turn wakes it up and causes the
processor to start it's interrupt-dispatching logic.
> You will have to get used to the idea that discovering a few clunky
> high level signal state API functions a couple of years ago will not
> replace time proven fundamental technology that an entire operating
> system depends on.
heh, as if block waiting wasn't tried and tested... you can be pretty
damn sure that there's a lot more block-waiting than spinlocking going
on in windows, otherwise performance would be extremely sloppy.
Again, I advice you to read some technical literature - Inside Windows
2000, the intel processor documentation (especially what used to be
volume 3, "system programmers guide"), and a textbook on OS design
(Andrew Tanenbaum, anyone?) as you clearly have no concept of how
these things work.
Blocking. Or "Blocked".
>
> > If you actually COULD turn it completely off, it would have no way to
> > restart unless acted on by an outside factor. The same old rule
> > applies, you get nothing for nothing and trying to hide behind high
> > level abstraction does not do the job here.
>
> Guess what? HLT does turn off the processor. The timer hardware is
> external to the CPU, and has the effect of generating a strobe to the
> INT# pin on the processor, which in turn wakes it up and causes the
> processor to start it's interrupt-dispatching logic.
Of course, if you HLT the processor, you're not doing any *other*
useful work either, so other than saving power and generating less
heat, you may as well be polling. :-)
Cheers,
Randy Hyde
>> Guess what? HLT does turn off the processor. The timer hardware is
>> external to the CPU, and has the effect of generating a strobe to the
>> INT# pin on the processor, which in turn wakes it up and causes the
>> processor to start it's interrupt-dispatching logic.
>
> Of course, if you HLT the processor, you're not doing any *other*
> useful work either, so other than saving power and generating less
> heat, you may as well be polling. :-)
Of course - but considering laptop battery lifetime and Pentium4 power
dissipation, I certainly prefer having the CPU in a halted state rather
than doing a useless polling loop :)
===============================
"blocking" or "block waiting" is, as far as I know, a general operating
system term (correct me if I'm wrong, Randall - haven't taken an OS
course yet.)
===============================
Hiding behind half understood high level terminology does not solve the
problem for you. You have for years attacked the use of a fundamental
capacity in computer hardware while not understanding the von Neuman
architecture of all current computer hardware wich is sequential in
nature, literally "doing one damned thing after another".
You can obscure it with multiple processor capacity or hyperthreading
but the fundamental hardware is sequential and therein lies the dilemma
for your assertion. The abstractions you are trying to hide behind are
constructed sequentially in hardware and there is no way around that
with current processor technology.
Scheduling or synchronising events on current hardware involves a
little more that partially understanding a few clunky high level signal
state API calls in a small OS like Windows. While they are useful in
their context they will not replace far lower level technology in
current hardware which is of a fundamental polling nature.
====================================
Of course - but considering laptop battery lifetime and Pentium4 power
dissipation, I certainly prefer having the CPU in a halted state rather
than doing a useless polling loop :)
====================================
This appears to be the sum total of advantage of your preferred
technology, a 5 year old out of date processor cooler design but the
cost is you do NO PROCESSING AT ALL so if thats the advantage you have
argued for so long to win, you can have it. Perhaps the other advantage
you have in mind is the performance hit from switching a disk on and
off in power saver mode.
> You can obscure it with multiple processor capacity or hyperthreading
> but the fundamental hardware is sequential and therein lies the
> dilemma for your assertion. The abstractions you are trying to hide
> behind are constructed sequentially in hardware and there is no way
> around that with current processor technology.
I'm afraid I fail to see your point here. Even a single non-HT CPU
can (and will) be interrupted at any time (at an instruction boundary
only, of course). But... well, you lost me here, what is your point?
> ====================================
> Of course - but considering laptop battery lifetime and Pentium4 power
> dissipation, I certainly prefer having the CPU in a halted state
> rather than doing a useless polling loop :)
> ====================================
>
> This appears to be the sum total of advantage of your preferred
> technology, a 5 year old out of date processor cooler design but the
> cost is you do NO PROCESSING AT ALL so if thats the advantage you have
> argued for so long to win, you can have it.
Yes, "NO PROCESSING AT ALL" - there's no reason a thread should be waiting
in a polling loop if it can be blocked instead. The result is better
performance, more accurate synchronization, and lower power usage and
heat dissipation. I fail to see how this can NOT be an advantage over
polling design, keeping the context in mind.
Actually, exceptions (like a page fault) can even interrupt an
instruction in the middle of its execution.
Cheers,
Randy Hyde
Agreed although when well-programmed, the polling may not use
much. The task switches eat up clocks that could be better used
serving other processes (so the process faces less competition
when unblocked) or even not used -- HLT powersavings to cool
the CPU. AFAIK, A number of machines (laptops and? 1U servers)
are not rated for 100% duty. Idle cooling them is equivalent to
increasing performance.
Intel has installed thermal throttling precisely to deal with the
undercooling of their power-hungry Pentium4 CPUs. This throttling
is very sophisticated (~10% steps) and many users will not notice.
One day iff I get time to do the signals work, I could release
`burnP7` that would test and show thermal throttling.
-- Robert author `cpuburn` http://pages.sbcglobal.net/redelm
Well, there are some serious OS downsides to this (a bit OS deep, but
this thread seems to be heading in that direction...)
The polling or spinning idle task has a very low priority (otherwise it
would be a cpu burner when there's other more productive work to be
run). That implies that any polled interrupts would also have an
equally low priority; in fact, they may not get handled _at all_ if the
box is busy doing other, higher priority work.
Also, some OS use interrupt handlers that attempt to avoid context
switches and the considerable overhead of task scheduling. These
handlers call the scheduler in the context of the currently running
task, and asking for an IRB to be scheduled. An IRB (interrupt request
block) is a deferred interrupt handler. The scheduler puts the IRB on
an IRB queue associated with the task that's waiting. (IRBs are have a
much higher priority than any tasks, and tasks with IRBs are scheduled
in preference to tasks without IRBs.)
Meanwhile, the scheduler then returns immediately to the interrupted
task, if there was one; otherwise it schedules the IRB in the context
of the task waiting for the interrupt. Timer interrupts (because of the
end of this task's timeslice) or entry to the scheduler (because this
task is about to block), also cause the scheduler to run the IRB
representing the pending interrupt.
On a quiet box, IRBs would be delayed by on average 50% of a timeslice
while the idle task sits doing nothing better than spinning (or worse,
scheduling polling type interrupts ahead of them).
Polling is difficult in an MP environment; two or more of you can't
poll the same object, and co-ordination between the two would require
the constant acquisition (on entry to the polling loop) and release (on
exit) of spin locks. Spin locks are bad news, and difficult to handle
in the presence of interrupts; many OS disable interrupts or disallow
interrupt handling while a spin lock is held.
Basically, there aren't any sound reasons in a modern OS for polling in
an idle task spin loop; they cause more problems than they solve. Hence
the halt. And there are plenty of other reasons too; these are just a
few.
IRBs by the way are called something else in Windows; but I can't
remember the terminology MS use. It's mainframe terminology.
--
Regards
Alex McDonald
True - I was only thinking in terms of external interrupts here, though.
> IRBs by the way are called something else in Windows; but I can't
> remember the terminology MS use. It's mainframe terminology.
DPC: Deferred Procedure Call.
Until you can comprehend this fundamental technology, you are
floudering around in higher level abstraction where timing, delays,
wait states and the like are all simulated in hardware.
Herein lies the current state of your confusion on these issues,
> Yes, "NO PROCESSING AT ALL" - there's no reason a thread should
> be waiting in a polling loop if it can be blocked instead.
NO PROCESSING AT ALL means the machine is NOT RUNNING. If a response
can be BLOCKED, something must be running to UNBLOCK IT and with Von
Neuman architecture, this means events are being polled. There is no
other method to perform the task, even if you HALT the processor and
use an external chip you are still polling periodic intervals.
I will put it to you again that it take a bit more than partially
learning a few clunky Wait APIS to comprehend an operating system,
aspecially as you cannot construct an asynchronous OS like Windows
without continual polling.
The Von Neumann Architecture is the "stored program" concept.
Specifically, program code is stored in the same memory bank as data.
Here are some URLs you might want to check out:
http://en.wikipedia.org/wiki/Von_Neumann_architecture
http://www.csupomona.edu/~hnriley/www/VonN.html
>From the second URL above:
"Myers [1982] defines four properties that characterize the von Neumann
architecture, all of which he feels are antithetical to today's needs.
One of these was discussed above, that is the fact that instructions
and data are distinguished only implicitly through usage. As he points
out, the higher level languages currently used for programming make a
clear distinction between the instructions and the data and have no
provision for executing data or using instructions as data.
A second property is that the memory is a single memory, sequentially
addressed. A third, which is really a consequence of the previous
property, is that the memory is one-dimensional. Again, these are in
conflict with our programming languages. Most of the resulting program,
therefore, is generated to provide for the mapping of multidimensional
data onto the one dimensioned memory and to contend with the placement
of all of the data into the same memory.
Finally, the fourth property is that the meaning of the data is not
stored with it. In other words, it is not possible to tell by looking
at a set of bits whether that set of bits represents an integer, a
floating point number or a character string. In a higher level
language, we associate such a meaning with the data, and expect a
generic operation to take on a meaning determined by the meaning of its
operands. "
Note that there is no requirement for sequential execution.
>
> Until you can comprehend this fundamental technology, you are
> floudering around in higher level abstraction where timing, delays,
> wait states and the like are all simulated in hardware.
No comment :-)
>
> Herein lies the current state of your confusion on these issues,
No comment :-)
>
> > Yes, "NO PROCESSING AT ALL" - there's no reason a thread should
> > be waiting in a polling loop if it can be blocked instead.
>
> NO PROCESSING AT ALL means the machine is NOT RUNNING. If a response
> can be BLOCKED, something must be running to UNBLOCK IT and with Von
> Neuman architecture, this means events are being polled.
Von Neumann has nothing to do with this. Interrupts can be used to
unblock a process. And that can be done on a Harvard Architecture
machine, a Petrinet system, or a dataflow machine just as it can be
done on a Von Neumann machine.
> There is no
> other method to perform the task, even if you HALT the processor and
> use an external chip you are still polling periodic intervals.
You should learn about interrupts. You don't have to poll these things.
That's what interrupts are for.
>
> I will put it to you again that it take a bit more than partially
> learning a few clunky Wait APIS to comprehend an operating system,
> aspecially as you cannot construct an asynchronous OS like Windows
> without continual polling.
Sure you can. All you need is decent supports for interrupts, traps,
exceptions, and stuff like that.
Cheers,
Randy Hyde
http://ei.cs.vt.edu/~history/VonNeumann.html
There is no doubt that his insights into the organization of machines
led to the infrastructure which is now known as the "von Neumann
Architecture". However, von Neumann's ideas were not along those lines
originally; he recognized the need for parallelism in computers but
equally well recognized the problems of construction and hence settled
for a sequential system of implementation.
http://www.elec.canterbury.ac.nz/PublicArea/Staff/hof/p10-embed/p10-tutorial/p12.html
John Von Neumann's: One shared memory for instructions (program) and
data with one data bus and one address bus between processor and
memory. Instructions and data have to be fetched in sequential order
(known as the Von Neuman Bottleneck), limiting the operation bandwidth.
Its design is simpler than that of the Harvard architecture. It is
mostly used to interface to external memory.
http://www.cs.kent.edu/~potter/research/papers/comparative.htm
The primary problem in today's architecture designs is the von Neuman
bottleneck which restricts the flow of data from memory to the CPU.
http://www.us.design-reuse.com/articles/?id=7628&print=yes
Parallel computing has been studied for decades in the academic society
of the VLSI. It has been noticed that it is difficult to design a
general-purpose parallel topology, which could replace the traditional
Von Neuman processor.
etc .......
> You should learn about interrupts.
Last I heard it is a out of date and unreliable method of
contraception.
Oh dear, oh dear...
"Et tu, Brute?"
I never warmed to your manner or approach ever, hutch...and I always
thought Randy was being seriously unwise for sometimes "tolerating" you
more than he should, just because you made posts against Rene...
Thanks for proving my concerns more than valid...
The instant Randy _CORRECTLY_ points out that you're, in this instance,
simply completely wrong in what you say (as everyone else has
done...because - get this - that's the truth of the matter)...you turn
on him and attack without a moment's hesitation or remorse...
I read your post...you appear to be similarly claiming that Randy is a
"charlatan", as Rene usually claims, because he's said otherwise to what
you've said...and bring in the fact that Randy "should know better"
because he's from an "academic" background...as he should be aware of
requiring "reasoning" - repeatable verification of "true or false"
statements - rather than "who shouts the loudest" rationale (though,
ironically, what have you ever done in this newsgroup that doesn't
qualify as solely "shouting loudest" argumentation? If you've ever done
otherwise, I've never seen it myself...please provide me a pointer)...
This is entire nonsense...you've been "hurt" because Randy - who tends
to "tolerate" you and your typically "venomous" postings far more than,
truthfully, he really should (always thought he was being a bit "unwise"
to do so...that even if you do tend to argue from the "same side of the
fence", you're a dangerous liability...and the prospect of "friendly
fire" from you was a potential danger: And, with this post, you've
proved my point perfectly with just as venomous an traitorous attack on
Randy as you'd reserve for Rene) - was forced to confirm you're
wrong...because, sorry, you _ARE_...he couldn't remain "honest" and say
otherwise...
So, on the contrary to your "assertions", Randy displays perfect
"intellectual honesty" in that he has correctly picked you up on being
_WRONG_ in this instance - even though, you can tell by the "gentleness"
in which he does it, he really doesn't want to do so - because that's
the truth of the matter...no "cover up", no "pretend he's right when I
actually know he's got it wrong" side-taking bullcrap...
Academically honest...intellectually honest...an example of "doing the
right thing", even when, really, you can tell by the way he was so
"gentle" on you in doing so and usually, yes, otherwise "tolerates" your
buffoonary (something I always thought was a bad, bad idea), he would
have Loved for the opposite to be true...you forced him into this
because you're the one spouting crap...he cannot "back you up" and
remain "honest" about it, simply because, sorry, you've got it wrong in
this instance...
I rather congratulate and praise Randy for the way - "under fire", so to
speak - he remained loyal to _the truth_...did not "cover up" or
"dilute" things because of some "side taking" bullcrap in this "Jihadist
Holy War" thing that's going on with the group...well done, Randy...you,
again, re-confirm the Faith I have in you that you can be depended on to
be _TRUSTWORTHY_...
Ignore the "tantrums" of hutch in response, Randy...he's just trying to
get you to "bail him out" of a mess that _HE_ alone created for
himself...the cries of "you are a charlatan" are echoes of the same
desparation Rene has in doing exactly the same thing...
Also, the speed with which hutch did not even blink or hesitate to turn
around and dig the knife into your side, Randy, should speak volumes
about the wisdom of "doing him a favour" and "bailing him out of the
mess" that he insists on dropping himself into...with
regularity..."fairweather friend" almost doesn't cut it...
As I was saying:
"Et tu, Brute?"
You're only his "emperor" while you keep his taxes down, ignore his
criminal "corruptions" by which he profits and so forth, if you know
what I mean...
Hutch, at least Randy has credibility that he's capable of losing
some...it's impossible for you, hutch, because you never had any to lose
in the first place...
Beth :)
In next week's episode, the newsgroup is attacked by a polar bear in the
jungle, as we return from discovering a distress beacon that's been
playing in a loop for 16 years...but, the question is, who stole all the
water? And what terrible secret does Rene have hidden in his past from
when he was building homes?
Tune in next week, folks...
Same bat-time...same bat-channel! ;)
Beth :)
I hear you...
I don't understand you, in the wider philosophical sense that none of
your lunacies ever coincide with reality at any point...
...but, nevertheless, I do hear you...
Beth :)
Such flattery will not get you anywhere but thanks for being so
gracious. :)
[snip Encyclopaedia Britannica]
Could we introduce a new series of Wait functions,
WaitForBethToDoSomething() etc .....
A pleasure as usual.
<snip>
Kinda makes you thoughtful when hutch speaks about backstabbing and
"the gospel according to <X>", doesn't it? :)
I take it you missed my exchange with Guga a few weeks
back on this very subject. Guga was complaining that I
never got on Hutch's case, particularly for spamming
this newsgroup with his "trash ALA" nonsense. Allow me
to recap my response:
I generally *don't* get involved in discussions in
this newsgroup that have (1) nothing to do with
assembly language, (2) nothing to do with me, or (2)
nothing to do with my products.
Hutch constantly posting "troll bait" for Rene to pick
up was quite annoying to me in many ways. First, it
clutters up the tree view of all the messages in my
browser (Google, at the moment). Second, Hutch's
approach is as much of a failure as Rene's is. Gee,
even Rene ignored about 80% of his posts to this group.
What good is troll bait if no one takes a nibble?
Third, there was very little technical content in
Hutch's attacks, so they simply made him (Hutch) look
petty and actually *boosted* Rene's stature in the
minds of the readers of such posts (much like Rene's
constant attacks on me have exactly the opposite effect
that Rene intends -- people pity me and revile Rene for
them). IOW, Hutch was certainly doing *me* no favors in
the "Randy vs. Rene" war with his posts. BUT, Hutch's
posts had nothing to do with me, my products, and for
the most part assembly language programming. So I
"tolerated" them.
This is really no different than tolerating many of
your posts where you've gone off on various political
tangents that do not concern assembly language, me, or
my products. Truth be known, my personal politics are
*much* closer to Annie's than your's, so Annie could
just as easily accuse me of "tolerating" you as you
accuse me of "tolerating" Hutch. But I see no reason to
get involved in discussions involving politics,
religion, or most other nonprogramming topics in this
newsgroup, so I "tolerate" people who make such posts.
Do not mistake such "toleration" for "approval."
As I've told Guga, one thing you're *not* privy to are
some (semi) private conversations on the MASMForum
between Hutch, Donkey, myself, and a few others. We've
asked Hutch why he's constantly attacking f0dder, even
when f0dder is dead-on right. It seems to be some
irrational thing, like Rene's attacks on me.
> The instant Randy _CORRECTLY_ points out that you're,
> in this instance, simply completely wrong in what you
> say (as everyone else has done...because - get this -
> that's the truth of the matter)...you turn on him and
> attack without a moment's hesitation or remorse...
Yes, this was a bit of a surprise to me, too.
You'd think he'd have pause for concern when *everyone*
(and not just me) is weighing in against him.
Sadly, as Guga says, Hutch is on the path to
self-destruction; and as Rene so succiently put it,
Hutch is commiting suicide.
>
>
> I read your post...you appear to be similarly claiming
> that Randy is a "charlatan", as Rene usually claims,
> because he's said otherwise to what you've said...and
> bring in the fact that Randy "should know better"
> because he's from an "academic" background...as he
> should be aware of requiring "reasoning" - repeatable
> verification of "true or false" statements - rather
> than "who shouts the loudest" rationale (though,
> ironically, what have you ever done in this newsgroup
> that doesn't qualify as solely "shouting loudest"
> argumentation? If you've ever done otherwise, I've
> never seen it myself...please provide me a pointer)...
You know, if it were just an argument against me and I
was the only one arguing against Hutch, I'd almost
accept his behavior. But *everyone* around here is
pointing out the fallacies of his approach. Anyone who
has the technical knowledge to really know what's going
on is telling him he's crazy. The only people I've seen
defending him are those over in the MASMForum who've
grown up on the MASM32 library and worship Hutch in
much the same way many of the RosAsmites worship Rene.
This, in fact, is the *biggest* problem I've got with
Hutch's nonsense. He's free to believe whatever he
wants, right or wrong. But when one is in a position of
authority and people follow what you have to say, you
need to be *damn sure* that what you're saying is
correct. The scary part is that he is dragging some
innocent people down that same path of ignorance.
That's something that *really* offends me.
>
>
> This is entire nonsense...you've been "hurt" because
> Randy - who tends to "tolerate" you and your typically
> "venomous" postings far more than, truthfully, he
> really should (always thought he was being a bit
> "unwise" to do so...that even if you do tend to argue
> from the "same side of the fence", you're a dangerous
> liability...
Sorry, you've pegged me wrong on that one. I've always
viewed Hutch's posts as less that "useful" in the
defense against Rene. They really amount to little more
than troll bait and most of the time Rene doesn't even
bite. Hutch never did really figure out what sets Rene
off, he just tossed everything he could up against the
wall to see what sticks. As I pointed out earlier, he
seemed to be achieving about a 20% hit rate.
Of course, I'm in an easier position. As best I can
tell, Rene figures he *has* to get the last words in on
any post I make, so I can write "asdrqwer asdf wsrt 6
rt aser t6" and expect to see him fill in the usual
profanities. Hardly a sport anymore :-).
> and the prospect of "friendly fire" from
> you was a potential danger: And, with this post, you've
> proved my point perfectly with just as venomous an
> traitorous attack on Randy as you'd reserve for Rene)
> - was forced to confirm you're wrong...because, sorry,
> you _ARE_...he couldn't remain "honest" and say
> otherwise...
It isn't so much that he is wrong -- we've all been
wrong in posts on this very newsgroup at one point or
another -- the real problem is that when he's been
unequivocally shown to be wrong by the responses from a
wide range of people around here, he defends the lie.
This is an incredibly Betovian tactic (e.g., "There is
no defect in RosAsm...") and *that's* what I find
surprising. No surprise to f0dder, who's been claiming
for years that Hutch is this way, but it is a surprise
to see it in all it's glory this time around.
>
>
> So, on the contrary to your "assertions", Randy
> displays perfect "intellectual honesty" in that he has
> correctly picked you up on being _WRONG_ in this
> instance - even though, you can tell by the
> "gentleness" in which he does it, he really doesn't
> want to do so - because that's the truth of the
> matter...no "cover up", no "pretend he's right when I
> actually know he's got it wrong" side-taking
> bullcrap...
It's not just "Randy" here. *EVERYONE* disagrees with
him. If it were just me, I could understand Steve's
reticence to trust what I have to say. But *no one*
with any technical knowledge around here agrees with
what Steve has to say.
And as for the "gentleness" in my posts, this is the
same tone I would use with anyone who posts something
incorrect, who hasn't been attacking me for several
years. If Hutch keeps this up for any length of time,
you can rest assured that the "gentleness" will go
away. I did, after all, give Rene *two years* before I
really went on the offensive with him.
>
>
> Academically honest...intellectually honest...an
> example of "doing the right thing", even when, really,
> you can tell by the way he was so "gentle" on you in
> doing so and usually, yes, otherwise "tolerates" your
> buffoonary (something I always thought was a bad, bad
> idea),
Beth, you've often stated I should cool it with Rene.
That is, cool it on the guy who takes a "no holds
barred" jihadist approach with me. As should be obvious
with the current threads, attacking someone because
they attack someone else is just going to exacerbate
the situation. I think the fact that I chose not to
participate in most of Hutch's trolling posts (unless I
found some humor in them :-) ) pretty much tells you
what I thought of them. To attack Hutch for those
posts would only make me more guilty of what you've
accused me of doing in the past (exacerbating the
situation). Again, if it's not about assembly, me, or
my products, I'm not sure why I should get involved.
> he would have Loved for the opposite to be
> true...you forced him into this because you're the one
> spouting crap...he cannot "back you up" and remain
> "honest" about it, simply because, sorry, you've got it
> wrong in this instance...
Yes.
>
>
> I rather congratulate and praise Randy for the way -
> "under fire", so to speak - he remained loyal to _the
> truth_...did not "cover up" or "dilute" things because
> of some "side taking" bullcrap in this "Jihadist Holy
> War" thing that's going on with the group...well done,
> Randy...you, again, re-confirm the Faith I have in you
> that you can be depended on to be _TRUSTWORTHY_...
When have I ever let you down? :-)
> Ignore the "tantrums" of hutch in response,
I do. Notice that most of the responses *are* from
other people. You can only say "you're wrong" so many
times. You can only say "if Iczelion doesn't want
people translating his code to other assemblers, have
him notify us" so many times. Hutch is even more
redundant than Rene in his responses. I guess Hutch is
owed a *little* bit of respect because he doesn't
completely break down into a stream of profanities as
Rene does. But after a while, it gets boring reading
the same thing over and over again.
> Randy...he's just trying to get you to "bail him out"
> of a mess that _HE_ alone created for himself...the
> cries of "you are a charlatan" are echoes of the same
> desparation Rene has in doing exactly the same thing...
I don't know how he expects me to bail him out. The
truth is the truth, period. Hutch is right, for
example, that the WndProc loop is a polling loop. I
will defend him against the people who claim otherwise
in this newsgroup. But Hutch is also dead wrong that
polling is better than blocking when waiting for a
process to complete (and there is no other work to do
while waiting for process completion).
> Also, the speed with which hutch did not even blink or
> hesitate to turn around and dig the knife into your
> side, Randy, should speak volumes about the wisdom of
> "doing him a favour" and "bailing him out of the mess"
> that he insists on dropping himself into...with
> regularity..."fairweather friend" almost doesn't cut
> it...
The truth is the truth. Whether someone turns on you or
not, it is important to defend the truth. Again, Hutch
is right about WndProc, he is wrong about polling for
process completion. I will defend what's right in
either case. Even when *RENE* is right, I will not
waffle in the defense of the truth (fortunately for my
recreation, Rene is wrong more often than right :) ).
Friendship has little to do with it. What Hutch has
gotten as a result of "friendship" is a few posts to
the administrator's subforum on MASMForum asking what
the heck is going on. He refused to differentiate the
personal problems he has with f0dder versus the
correctness of his approach, and that's what's led to
the current morass.
> Hutch, at least Randy has credibility that he's capable
> of losing some...it's impossible for you, hutch,
> because you never had any to lose in the first
> place...
Sady, you are wrong.
Like Rene, Hutch has a following ("disciples" if you
will) who've grown up using the MASM32 package and (for
good reason) respect what Hutch has to say. Much like
Wannabee bought into a lot of nonsense that Rene
preaches, there are many people in the MASMForum ready
to defend what Hutch has to say, even when he is wrong
(perhaps they don't know any better, perhaps they just
want to get along with their leader, I don't know). But
the *bad* thing is that a lot of people over there are
simply rubber-stamping what Hutch is saying without
really understanding the issues. See here:
http://www.masmforum.com/simple/index.php?topic=2556.0
for details.
Hutch claims that his algorithms are *rigorously*
tested by people in the Laboratory sub-forum on the
MASMForum and that he doesn't have to believe what he
reads here in ALA. But based on what I've read at the
above link, most people on the MASMForum aren't about
to disagree with the guy who owns the board.
Hutch definitely deserves the hero-worship he has
achieved over there. Putting the MASM32 package
together and managing the MASMForum is a lot of work
for which he deserves the accolades. However, if he is
expecting people to disagree with him about parts of
his design, especially after the f0dder/Hutch wars that
have been going on on the Win32ASM board for years,
Steve is sadly mistaken. Even I would not be willing
to go for the throat on his own board when he's
incorrect like this. So counting on the Laboratory to
ensure that he's not suffering from major design
deficicies is not wise. He's getting a lot of
rubber-stamping there, not much else.
Cheers,
Randy Hyde
> This, in fact, is the *biggest* problem I've got with
> Hutch's nonsense. He's free to believe whatever he
> wants, right or wrong. But when one is in a position of
> authority and people follow what you have to say, you
> need to be *damn sure* that what you're saying is
> correct. The scary part is that he is dragging some
> innocent people down that same path of ignorance.
> That's something that *really* offends me.
Exactly - and that's why I've been gnawing his leg for all
this time. I hate sloppy & buggy code, and misinformation.
> I do. Notice that most of the responses *are* from
> other people. You can only say "you're wrong" so many
> times. You can only say "if Iczelion doesn't want
> people translating his code to other assemblers, have
> him notify us" so many times. Hutch is even more
> redundant than Rene in his responses. I guess Hutch is
> owed a *little* bit of respect because he doesn't
> completely break down into a stream of profanities as
> Rene does. But after a while, it gets boring reading
> the same thing over and over again.
He breaks into a flurry of personal insults, though. And he
is quite skilled at diverting topics and twisting arguments so
much that they don't have much to do with their original context.
> http://www.masmforum.com/simple/index.php?topic=2556.0
> for details.
fascism in practice... that's the advantage of running your own
board. You don't like what somebody says? Moderate it out.
> Hutch claims that his algorithms are *rigorously*
> tested by people in the Laboratory sub-forum on the
> MASMForum and that he doesn't have to believe what he
> reads here in ALA. But based on what I've read at the
> above link, most people on the MASMForum aren't about
> to disagree with the guy who owns the board.
With good reason... Hey, where'd my posts go? Hey, where'd my
account go?
>
> > Hutch claims that his algorithms are *rigorously*
> > tested by people in the Laboratory sub-forum on the
> > MASMForum and that he doesn't have to believe what he
> > reads here in ALA. But based on what I've read at the
> > above link, most people on the MASMForum aren't about
> > to disagree with the guy who owns the board.
>
> With good reason... Hey, where'd my posts go? Hey, where'd my
> account go?
Well I've never seen such activity on the MASMForum (not that I know
everything that goes on, mind you). However, I can imagine the
following scenerio: Hutch moves the war from Win32ASM to ALA, and then
to MASMForum (as has happened), and then when things start to heat up
on the MASMForum, the thread gets shut down (as well it should). Bottom
line is that given the contention elsewhere, it shouldn't have been
moved to the MASMForum in the first place if the types of responses
elsewhere are unacceptable in the Laboratory section of the MASMForum.
Colosseum, perhaps. :-)
cheers,
Randy Hyde
QvasiModo's posts were edited. Considering the kind of things he
usually posts, I highly doubt it was any kind of flamebait. Huthch
can't deal with reality, that's all :)
> Truth be known, my personal politics are
> *much* closer to Annie's than your's,
In that post -coming with 33 invocations of my name-,
it migh be of interrest to underline the above words,
that show what i point out since years, that is that
Randall Hyde is a US Nazi.
Also, an interresting question about Beth, our big mad
cow, who is a well known leftist, is to guess why she
never miss any occasion to deshonour herself aside this
insane ass-hole.
One free Copy of RosAsm for the first one able to guess
the correct answer.
:)))))
Betov.
You're alone in your opinions?
Keep the prize, btw.
--
Regards
Alex McDonald
I hadn't the 'big mad/fat cow' in my address book yet,
and Im'm not too sure for I may be supposed to add it? :)
btw: imagination of everyone/someone in how/what the future
shall bring, may only fit the someone's target yet.
Nevertheless any imagination may be worth to at least
be thought over once.
__
wolfgang
Given Annie's "udderly ridiculous" ASCII art, I'd have assumed the cow
joke would apply better on that side. Oh well, I guess Rene's 'milking'
the metaphors for all they're worth :-)
Random thought: I wonder how many times Rene has called Annie a "Nazi"?
Cheers,
Randy Hyde
Cheers,
Randy Hyde
================================================
In order to be called a "Nazi", she would first
have to write an HLA sniplet.
-sevagK
I'm appearantly a nazi too, and I never wrote anything with HLA.
I have a dislike for the GPL plague, though.
> Randy Hyde wrote:
>
> > Random thought: I wonder how many times Rene has called
> > Annie a "Nazi"?
>
> In order to be called a "Nazi", she would first
> have to write an HLA sniplet.
> _____
> -sevagK ((( `\
_ _`\ )
No problem. I have no intention (^ ) )
of EVER writing an HLA code ~-( )
snippet. Hehe! _'((,,,)))
,-' \_/ `\
Besides, you have to understand ( , |
the French: they're rude, haughty `-.-'`-.-'/|_|
and arrogant socialists who like \ / | |
to blow a lot of hot air...but =()=: / ,' aa
they immediately surrender when
faced with any actual threat.
They can't help it; it's just their culture. Once
you understand this, you'll realize that nothing a
Frenchman says can ever be taken too seriously.
I enjoy Betov. He's quite stereotypically French.
Tu sais que je t'aime, Betov! Hehehe!
I love you too, but, you being a neo-Nazy, and an
Assembly Programmer is utterly incoherent.
1) Coherency is to have intelligency and ethic going
hand in hand.
2) Assembly is an anarchist language.
;)
Betov.
> "Annie" écrivait:
>
> > Tu sais que je t'aime, Betov! Hehehe!
>
> I love you too, but, you being a neo-Nazy, and an
> Assembly Programmer is utterly incoherent.
Then perhaps your perception that I am a "neo-Nazy" is
wrong.
Mais naturellement, since you are French, you are not
able to admit this. Je comprende, ma petite poule. ;)
> 1) Coherency is to have intelligency and ethic going
> hand in hand.
_____
One person's "ethics" are another ((( `\
person's perversions, Rene'. _ _`\ )
(^ ) )
> 2) Assembly is an anarchist language. ~-( )
> ;) _'((,,,)))
,-' \_/ `\
Grenouille bęte! Anarchy has ( , |
no "ethics." Hehe! `-.-'`-.-'/|_|
\ / | |
=()=: / ,' aa
> Then perhaps your perception that I am a "neo-Nazy" is
> wrong.
As so many US citizens, you simply do not know
what you are and what you do... what is rather
a sad thing for the "rest of the world".
Betov.
> "Annie" écrivait:
>
> > Then perhaps your perception that I am a "neo-Nazy" is
> > wrong.
>
> As so many US citizens, you simply do not know
> what you are and what you do... what is rather
> a sad thing for the "rest of the world".
> _____
> Betov. ((( `\
_ _`\ )
Not to worry, Betov...the (^ ) )
"rest of the world" is ~-( )
nothing to write home about. _'((,,,)))
Trust me: I've been there. ,-' \_/ `\
Hehe! ( , |
Neither is the US, apparently. Have you spotted, by chance, a nice
city called "New Orleans" over there on the West Coast??? We turned
our heads for but a moment, and it was gone. Been looking all over,
but it continues to evade us. I doubt that anyone bothers to list it
on a map anymore. If ya happen upon it, please let us know, will ya?
Nathan.
> Annie wrote:
>
> > Not to worry, Betov...the "rest of the world" is
> > nothing to write home about. Trust me: I've been
> > there. Hehe!
>
> Neither is the US, apparently. Have you spotted, by chance, a
> nice city called "New Orleans" over there on the West Coast???
> We turned our heads for but a moment, and it was gone. Been
> looking all over, but it continues to evade us. I doubt that
> anyone bothers to list it on a map anymore. If ya happen upon
> it, please let us know, will ya?
> _____
> Nathan. ((( `\
_ _`\ )
Ummm...Baker, New Orleans (^ ) )
is/was on the _south_ coast; ~-( )
right on the Gulf of Mexico. _'((,,,)))
,-' \_/ `\
Here on the west coast, we ( , |
don't have hurricanes. `-.-'`-.-'/|_|
\ / | |
Earthquakes, yes...but no =()=: / ,' aa
hurricanes. Hehe!
PSSSSSSSSST (Very LOUD Whisper) I am much harder to get rid of than
that, wishful thinking aside.
===========================
Exactly - and that's why I've been gnawing his leg for all
this time. I hate sloppy & buggy code, and misinformation.
===========================
At last a TRUE CONFESSION[TM] from someone who wants to sell his ONE
TRUE WAY[TM] at any cost.
QvasiModo is an OK dude but he like any others must obey the forum
rules and when he tried to drag this ALA argument into the masmforum, I
removed the content of the posting and invited him to join the dabate
in ALA if he was interested.
Members disagree with me all the time in the forum but that does not
entail importing arguments from other places into the forum. The forum
is a convenient place for me to post code that no-one else can edit or
delete and since a number of the forum members are patient enough to
suffer the waffle in ALA, its reasonable to make the code available.
The masmforum works well because it isolates the forum from the
bullshit that flies around elsewhere. The world at large is not a
democracy and the masmforum is run for its members, not the rest so its
not like anything will change.
Regards,
I am rather estonished that you would not mention that
it also was a french country that got a God punishment
for not having voted for Bush...
:(
Betov.
> I am rather estonished that you would not mention that
> it also was a french country that got a God punishment
> for not having voted for Bush...
>
> :( _____
> ((( `\
> Betov. _ _`\ )
(^ ) )
Hehe! Good morning, Betov. :) ~-( )
_'((,,,)))
While it's true that the laws ,-' \_/ `\
of the State of Louisiana are ( , |
based on the Napoleonic Code `-.-'`-.-'/|_|
(rather than on English Common \ / | |
Law), the place is not actually =()=: / ,' aa
very "French."
-You- would not recognize it as "French."
The city of New Orleans is more "African."
As with most large American cities, the
inner parts are inhabited mostly by blacks
and Mexicans. The Caucasians have mostly
moved to the suburbs, outside the city.
Anyway, New Orleans is a terrible place to
live. The weather is hot and humid, and the
city officials -- including the police -- are
well-known for being totally corrupt.
Maybe the hurricane WAS a punishment from God.
New Orleans NEEDED punishing! Hehehe!
Actually, the percent of the world population living in democracy was
63% in the year 2000 (source: Wikipedia; Well, if you're looking up
"democratic" then why not use the democratically-constructed
encyclopeadia to do so? ;)...and, at the very least, Afghanistan can be
added onto that list since 2000...
Of course, depends exactly what you mean by "the world at large is not a
democracy"...it is a majority democratic at the governmental level...the
mechanisms of the internet itself make the "wired world" at large a kind
of "democratic"...but if you just mean "look, I'm the dictator of
MASMforum!" then, well, by definition, as "dictator" what you say goes
regards MASMforum and we'll just have to take your word about it...
Beth :)
Are you sure?? Can you prove it? There are a bunch of people you
would have a hard time convincing of that. Have ya been watching the
news (or does the West Coast simply not acknowledge the existence of
the "world outside the West Coast")? Did you not hear about Katrina
making the Greater NOLA area look like a scene from an average
third-world country? You should read a paper sometime.
> ,-' \_/ `\
> Here on the west coast, we ( , |
> don't have hurricanes. `-.-'`-.-'/|_|
> \ / | |
> Earthquakes, yes...but no =()=: / ,' aa
> hurricanes. Hehe!
Yes, and they've attempted to make your sinful cities disappear a time
or two. If they ever show up over here, we'll be sure to send them
back to your side of the great big rock -- don't want none of that
nuttiness around these parts...
Nathan.
> Annie wrote:
>
> > Ummm...Baker, New Orleans is/was on the _south_ coast;
> > right on the Gulf of Mexico.
>
> Are you sure?? Can you prove it? There are a bunch of people
> you would have a hard time convincing of that. Have ya been
> watching the news (or does the West Coast simply not acknowledge
> the existence of the "world outside the West Coast")? Did you
> not hear about Katrina making the Greater NOLA area look like a
> scene from an average third-world country? You should read a
> paper sometime.
And all this has WHAT to do with the physical location
of New Orleans...? Get a map, d00d.
> > Here on the west coast, we don't have hurricanes.
> >
> > Earthquakes, yes...but no hurricanes.
>
> Yes, and they've attempted to make your sinful cities disappear
> a time or two. If they ever show up over here, we'll be sure
> to send them back to your side of the great big rock -- don't
> want none of that nuttiness around these parts...
> _____
> Nathan. ((( `\
_ _`\ )
Hold on to your baseball cap, (^ ) )
Baker. According to recent ~-( )
geological studies, your _'((,,,)))
area is not immune. Hehe! ,-' \_/ `\
( , |
Ever experienced an earth- `-.-'`-.-'/|_|
quake? Actually, they're \ / | |
kinda fun...like a short =()=: / ,' aa
rollercoaster ride. Hehehe!
Unfortunately, it is currently on the wrong side of the coast.
--
Thomas M. Sommers -- t...@nj.net -- AB2SB
The "under" side.....
Nathan.
Your democracy model is defective, the effective model you have in mind
is the "Wild West" where the six gun ruled, not democracy. The type of
"democracy" you have in mind is available for all on the internet and
all you have to do is hire a web site, build a forum on it and you have
the model of democracy you want.
The next problem is keeping it going and the best way to fail at that
is to open it to every form of abuse that your model of internet
"democracy" has. Direct abuse of other members, talking heads, script
kiddies and every other form of stupidity you can imagine and you will
see how your model of "democracy" works.
The modern notion of democracy for the little that its worth develops
rules so that the model keeps working, you don't allow people to kill
each other, steal from each other and the like because if you did, it
would fail.
A forum on the internet is very similar but the rules must match the
risks involved. Thats why the masmforum has rules that prevent most of
the nonsense and it works well because many creative people can
contribute without the usual sh*t associated with internet forums.
Feel free to exercise your democratic rigt to build your own and keep
it up and going. :)
Yes?
> Your democracy model is defective,
I proposed no "democracy model"...
I was quoting statistics that show that the majority of the world lives
under some form of "democratic" governance...
Then I explicitly provided a "depends what you mean" clause, placing the
interpretation conditional on your definition...
And then finished by noting that, as sole autonomous censor of your
forum (e.g. "dictator"), the definition within the bounds of your forum
were your own proragative...
No "democracy model" was proposed whatsoever...please, take the time to
learn to read and understand what you are reading before
commenting...thank you...
As such, the remainder of your posting was based on a misinterpretation
of mine and rendered irrevelent by such miscomprehension...
...BUT...BUT, seeing as you mentioned it, the "rule of law" is, indeed,
fundamental to the maintenance of "democracy"...but in all mature and
functioning democracies, the "rule of law" is an independent body,
separate of political control...and "leaders" do NOT decide the verdicts
of law trials but judge (and possibly jury of one's peers)...as a
guarantee of universal and equal "justice for all"...a "check and
balance" against tyrranical restoration of anti-democratic dictatorial
rule and political corruption...
Whatever you and Saddam might think, you cannot self-declare as "the
people's choice" without asking them...if you set-up a forum and then
rule it with an autocratic stance - become "master" - then it is no
"democracy":
"As I would not be a slave, so I would not be a master. This expresses
my idea of democracy. Whatever differs from this, to the extent of the
difference, is no democracy."
[ President Abraham Lincoln ]
This is the essence of democracy, as often captured in the question:
"Quis Custodiet Ipsos Custodes?"
[ Juvenal, "Satires" ]
...or, "Who watches the watchmen?"...
Only that which fully and validly answers the question - inherently
abolishes all "master and slave" relationship over matters of an
individual's goverance - can, as Uncle Abe secondarily confirms,
genuinely call itself "democracy"...
"...Whatever differs from this, to the extent of the difference, is _NO
DEMOCRACY_."
But, then again, you don't even understand "blocking" and "polling"
properly...I severely doubt can even see your blunder of the declaration
of any kind of autocratic self-appointment as fundamentally
undemocratic...
The ability to create your own website forum is merely "Liberty"...a
freedom of action...setting up a system of "law" is merely preservation
of that Liberty...
Only the full preservation of an individual's Liberties of decision in
all matters of goverance that applies over them (e.g. via the voting of
"representatives" by election, in "representative democracies", as an
example), do you have something even worthy of approaching the term
"democratic"...
http://en.wikipedia.org/wiki/Democracy
Opening line:
"Democracy is a form of government in which policy is decided by the
preference of the majority in a decision-making process, usually
elections or referendums, open to all or most citizens."
Though, personally, I'm in favour of Abraham Lincoln's stricter
definition: It's _ALL_ citizens...or it is "no democracy" by the degree
to which the "all" clause isn't true...
Beth :)
--
Jim Carlock
Post replies to the newsgroup, thanks.
"Beth" <BethS...@hotmail.NOSPICEDHAM.com> posted:
<snip>...</snip>
"As I would not be a slave, so I would not be a master.
This expresses my idea of democracy. Whatever differs
from this, to the extent of the difference, is no democracy."
[ President Abraham Lincoln ]
<snip>...</snip>
"Quis Custodiet Ipsos Custodes?"
...or, "Who watches the watchmen?"...
[ Juvenal, "Satires" ]
<snip>...</snip>
Beth :)
> Anyone know where Beth went?
She suicided too, when she made up her mind that i was
right on all points.
Betov.
Reports of my death have been greatly exaggerated, I feel ;)
Merely a conspiracy of events...when not simply busy, my CPU fan decides
to die...when I get around to sorting that out, something else crops
up...and so on...
Also, when I last posted the conversation here was dying a death that I
was posting less often, anyway, because there was not much to be said
about the 700 millionth HLA / RosAsm "debate"...the more political
thread was infected by people from another newsgroup that seems to feel
basic logical thought is a satanic evil that should never be
practiced...so not much intelligent conversation there either...that
probably effected my lack of any sense of urgency to come rushing back,
even when I could get the machine back up and running...
Now I'll have to wade through what's gone on while I took that short
unplanned vacation there :)
Sorry, Rene...consider me to be your Ghost of Christmas Past (which'll
disappoint some, as they Hoped for the ever-silent Ghost of Christmas
Future who wouldn't plague them with long ranting posts no more)...
...boo! ;)
Beth :)
> Betov wrote:
>
> > Jim Carlock wrote:
> >
> > > Anyone know where Beth went?
> >
> > She suicided too, when she made up her mind that i was
> > right on all points.
>
> Reports of my death have been greatly exaggerated, I feel ;)
>
> Merely a conspiracy of events...when not simply busy, my CPU
> fan decides to die...when I get around to sorting that out,
> something else crops up...and so on... _____
((( `\
Welcome back, Beth. Hey, _ _`\ )
are you familiar with a (^ ) )
local poet 'round your ~-( )
vicinity named Morfydd _'((,,,)))
"Mop" Jauregui? Facially, ,-' \_/ `\
she looks somewhat like ( , |
you. `-.-'`-.-'/|_|
\ / | |
=()=: / ,' aa
| > > Anyone know where Beth went?
| Sorry, Rene...consider me to be your Ghost of Christmas Past (which'll
| disappoint some, as they Hoped for the ever-silent Ghost of Christmas
| Future who wouldn't plague them with long ranting posts no more)...
| ...boo! ;)
please don't became a Banshee yet,
I'd like to see you acting as 'the inspiring jumping spirit' :)
And nobody would attack you for posting more compact notes :):):)
__
wolfgang
Oh Crap! It's back! :)
Dang, folks, the party is over! Quick -- Annie, spraypaint over that
"All Hail Dubya Bush" sign... everyone, stop burning trees and start
pretending to be working on a renewable energy experiment or sumptin...
also, check your plurals -- I'm going back through a month's worth of
posts and doing a search-n-replace to change all occurances of "math"
into "maths"... somebody do some research on the words "democracy",
"freedom", and the ilk<H<H<Hlike because I'm sure we've all forgotten
what those words mean and it<H<HBeth won't likely be able to tolerate
the pleasant dictatorship we've all enjoyed in this NG during her
absence... also, it might be a good idea if we all put on our
swamp-wading boots just in case she decides to talk about some science
topic like planetary orbits, internal combustion engines, or other
areas where she tends to get the details wrong... also, now is the
time to fire-up that Beth-Digest proggy we passed around last week --
it'll scan any Beth post and produce a one-sentence summary [defaults
to "Bush is a Fink!" if it can't find anything meaningful otherwise]...
Oh, well... fun while it lasted... ;-)
Nathan.
You think so? I envision Beth with a slightly rounder face, a little bit
wider-eyed... and wearing much less makeup. But maybe you've got a
better picture of "Mop" than I've found...
Best,
Frank
> Annie wrote:
>
> > ...Morfydd "Mop" Jauregui? Facially, she looks somewhat
> > like you.
>
> You think so? I envision Beth with a slightly rounder face,
> a little bit wider-eyed... and wearing much less makeup. But
> maybe you've got a better picture of "Mop" than I've found...
_____
Are you talking about the pic ((( `\
with the red dress? That was _ _`\ )
sort of a 'glamour shot.' Morfydd (^ ) )
doesn't look like that most of ~-( )
the time. She's actually a Welsh _'((,,,)))
suburban Mum, and usually has her ,-' \_/ `\
hands full chasing kids, dogs, ( , |
sheep, etc. Hehe! `-.-'`-.-'/|_|
\ / | |
Here's a facial shot: =()=: / ,' aa
| Oh Crap! It's back! :)
No Nate, I'd heavy miss "it" if "it" wont be around.
Beth has been and still is an extremely valuable part of the ASM
environment. Her often easy misunderstood ideas show a very high
level of creativity and a never expected (from females) knowledge
base, even very often misinterpreted due to too much used words :)
__
wolfgang
I agree.
She made a joke with her dramatic pronouncement of not being terminal
state, so I returned the favor by joking with a dramatic pronouncement
that her absence was enjoyed by all. :)
Nathan.
After all, aren't we a bunch of really charming folks ? :):)
__
wolfgang
> After all, aren't we a bunch of really charming folks ? :):)
_____
Jawohl! Hehe! ((( `\
_ _`\ )
(^ ) )
~-( )
_'((,,,)))
,-' \_/ `\
( , |
`-.-'`-.-'/|_|
\ / | |
=()=: / ,' aa
I missed your latest pearl of wisdom buried 78 postings deep in a dead
thread so you will have to accept my apologies for being a bit slow to
respond.
> > Your democracy model is defective,
>
> I proposed no "democracy model"...
Yes in fact you do but its not a model that has any working example.
The notion of democracy falling together by sheer weight of accident
has no criterion in history and when you place the model you propose
into the context of the internet, it is clearly a model that has
failed.
By using the criterion you have hinted at in a society, you would have
to respect the right of some individuals to commit murder, rape,
pillaging, theft, wage war, commit genocide, any of the ugly personal
crimes of violence against individuals and the like and any of these
things makes a society unworkable.
Now the bottom line is if something does not work, it is not worth the
effort putting it in place and this is also the case with venues on the
internet. A society build a set of rules that are not easily changed
for among other things to survive and this is well mirrored with an
internet venue.
Now with enough practice, you do learn what to avoid in an internet
venue aimed at programmers and it cashes out in terms of virus
programming, bad manners, abuse, script kiddie pecking orders, people
dumping their homework on others and the like and by making an
environment that is free of this nonsense, you get a wide membership of
talented people who help others with no hassle at all.
Now the great internet wide democracy is still there for those who want
it, endless shit fights, virus coding, spam, more shit fights, direct
abuse, trolling, proselatising for other programming languages, even
more shit fights and if this is what you want, feel free to promote it
but the model used in the masmforum is one of good manners among people
who are friends who get on far better in a safe environment than they
do in the jungle.
Now the only lesson you can learn is to set up a programming venue and
let the Betov's and the like turn it to shit for you and you will start
making rules just as the masmforum has so that it will survive.
Have done some modification to your program (which Annie posted two
weeks ago), so it is able to transmit a message to you in Morse code:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>m2beth.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>m2beth.com
echo ?RwApOLBGy?zAmB[@mOLCE?zCEmz}Wmvpt?v_?g`Qp1oGZpkNmSBb]bqAq>>m2beth.com
echo @Cp?pKCIuZGx@wCG?G?E@]wa@{~m@}}@xzq@~O_GgzAfs\1AvNFt?Cz@Bx>>m2beth.com
echo rB?O@sEJsULR?sAJwULbL?BoTBO[sVCT@\DNMamaP?iSzm@GyMmJV?yqPv>>m2beth.com
echo DTJgFgOJMQ\SpP_TPrwmaN[v?t[\\SppFTm_V{[AgR[vpTy_[kgmbnFsBS>>m2beth.com
echo @DFNBzMI\\[O_\pp?zwQ_T\_yabnp[B[PsvDP???0x>>m2beth.com
m2beth.com
del m2beth.com
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
A .-
B -...
C -.-.
D -..
E .
F ..-.
G --.
H ....
I ..
J .---
K -.-
L .-..
M --
N -.
O ---
P .--.
Q --.-
R .-.
S ...
T -
U ..-
V ...-
W .--
X -..-
Y -.--
Z --..
The source:
@=$100
move.w #$0013,r0 ; 320X200X256
trap #$10
eor.w r0,r0
move.w #$03c8,r1
out.b r0,r1
inc.w r1
_10: move.w r0,-(sp)
out.b r0,r1
add.w r0,r0
exg.b r0,m0
out.b r0,r1
exg.b r0,m0
out.b r0,r1
move.w (sp)+,r0
inc.b r0
bne.b _10
move.w #$a000,-(sp)
move.w (sp)+,s0
eor.w r1,r1
_60: eor.w r3,r3
_20: move.b r1,m0
btst.w r3,code{s6}
bcs.b _40
eor.w r0,r0
_40: eor.w r5,r5
_35: move.b 1.b(r5.w),r0
_36: move.w #200,r2
_30: move.b r0,(r5.w)
add.w #320,r5
dbf.w r2,_30
sub.w #320*200-1,r5
cmp.w #319,r5
blo.b _35
move.b m0,r0
beq.b _36
inc.w r1
tst.w #$1f,r1
bne.b _50
inc.w r3
cmp.w #(code_end-code)*8,r3
bhs.b _60
_50: move.b #$01,m0
trap #$16
beq.b _20
move.b #$00,m0
trap #$16
move.w #$0003,r0 ; 80x25 text mode
trap #$10
rts.w
code:
dc.b %01010101
dc.b %01000100
dc.b %01010111
dc.b %01110100
dc.b %11000101
dc.b %11011101
dc.b %00000001
dc.b %10101110
dc.b %00100010
dc.b %10001110
dc.b %00101010
dc.b %01000000
dc.b %01010001
dc.b %00000001
dc.b %10101110
dc.b %00111011
dc.b %11101110
dc.b %10001110
dc.b %00111010
dc.b %10111010
dc.b %00000000
dc.b %11010111
dc.b %01000101
dc.b %01110111
dc.b %01010001
dc.b %00000111
dc.b %10101000
dc.b %10001011
dc.b %10001110
dc.b %00001011
dc.b %01010000
dc.b %01110001
dc.b %00010100
dc.b %01011101
dc.b %11010001
dc.b %00010101
dc.b %11100000
dc.b %11100010
dc.b %11101110
dc.b %00111000
dc.b %01000000
dc.b %01110111
dc.b %11011100
dc.b %00011101
dc.b %01011101
dc.b %01011100
dc.b %01000111
dc.b %01110001
dc.b %01110001
dc.b %00010111
dc.b %11100000
dc.b %11101110
dc.b %11101000
dc.b %00000010
dc.b %01011100
dc.b %01110001
dc.b %01110111
dc.b %01011100
dc.b %00011100
dc.b %11100000
dc.b %10111010
dc.b %11100011
dc.b %11101110
dc.b %10101000
dc.b %00000011
dc.b %01110100
dc.b %01000111
dc.b %11000111
dc.b %11000101
dc.b %00000001
dc.b %10001110
dc.b %10111011
dc.b %00000011
dc.b %00011100
dc.b %00011101
dc.b %01011101
dc.b %01110001
dc.b %00011101
dc.b %11100000
dc.b %10111000
dc.b %00111011
dc.b %01000000
dc.b %00011101
dc.b %00010101
dc.b %10100000
dc.b %11100011
dc.b %11100010
dc.b %10111010
dc.b %00000011
dc.b %11011100
dc.b %01110001
dc.b %01110111
dc.b %01110100
dc.b %00010001
dc.b %00000000
dc.b %00000000
code_end: