1. Matt's Maturity

Matt Lewis wrote:
> 
> Unless we're looking at different things, here was how you got a value for
> rid_dbOpen:
> }}}
<eucode>
>   atom rid_dbOpen
>   rid_dbOpen = define_c_func(dbSQL, "dbOpen", {C_POINTER}, C_LONG)
> </eucode>
{{{

> 
> The 2 was returned by define_c_func, which has no knowledge of a vector 
> table in the PowerBASIC DLL.  Your intuition was coincidence.

dbSQL is a PowerBasic DLL. "dbOpen" is the second function defined
therein.  Are you ignorant of how define_c_func works?

My intuition was spot on.  Thank you for reinforcing that point.

> Well, then I guess this was another example of poor communication.  You
> suggested something (that was the entire message, BTW) that was already
> present in the language.  This also coming from the person arguing for 
> parsimonious languages, I connected the dots that you weren't aware of 
> the full for-loop syntax.

This is reasonable.  You should be more careful in your assumptions.

> One irony of your loop philosophy, is that originally, Euphoria didn't have
> for-loops, because a while loop could do anything a for loop could do.
> 
> You're right, I didn't look through the submissions archive, just the 
> EuForum archive.
>  
> > Finally, it is cowardly of you to claim me ignorant in any respect without
> > providing evidence as I've done in the passage above so that I am at a
> > severe handicap to defend myself.
> 
> Why is it cowardly?

Because in your original post you made the accusation without support.
Only in subsequent post did you provide evidence, but not so I could
defend myself but so you could prove how right you were.  As I am
demonstrating here I am able to defend myself when provided with
specific allegations rather than indefensible slurs.

To accuse without giving the accused the means of defending themselves
is a cowardly act.  A mature person knows that.

>  In the case above, with define_c_func, you proved your
> ignorance of how that feature of the language works.

As I've already shown above, you are still continuing to show your
ignorance about the source of the number while my intution has proved
to be entirely correct.  This next part is beautiful...

>  According to the docs,
> which I believe someone responded to your original post with a link:
> 
>   "A small integer, i1, known as a routine id, will be returned."

You read, but without understanding.  What is the source of this small
integer?  Magic?  No, it's seems it's from the vector table of the DLL.

> It's interesting [to me] that you construed all of this as a personal 
> attack, especially after making such a big deal about your lack of social
> graces.  To wit:

It was a personal attack.  Make no mistake.  Calling me a troll is also
a personal attack.  I've had the decency of explaining to you why it
was a cowardly attack.  If you were a gentleman you would apologize
for doing so (rather than continuing with the troll comments and digging
yourself in deeper by continuing to try to prove what I have repeated
demonstrated to be wrong.)
 
> > You can believe anything you like about me.
> > 
> > I believe that you are no gentleman and a coward.
> 
> And you are welcome to believe whatever you like.  I'm done feeding the 
> trolls.

The ball is now in your court.  Your actions define who you are.
Notice I'm not calling you names.  Calling you a coward is a specific
response to your actions and you can prove me wrong with an apology.

new topic     » topic index » view message » categorize

2. Re: Matt's Maturity

Ken,

Do you think that the way you speak that you have admitted to has had anything
to do with this? The mature thing would have been to admit that you were guilty
as well instead of challenging a dual in the streets. The citations that Matt
gave I thought as well. Communication face to face is difficult enough let alone
over a medium such as this.

I know there is no hope what-so-ever for this thread. You should email Matt and
settle this off the forums. EUforum has been taxed enough. Please. If you choose
to continue on this thread, you may do so, but this will be my last communication
about it. You can have the last word in regards to me if you wish.

Thank You.

--
Jeremy Cowgar
http://jeremy.cowgar.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: Matt's Maturity

ken mortenson wrote:
> 
> Matt Lewis wrote:
> > 
> > Unless we're looking at different things, here was how you got a value for
> > rid_dbOpen:
> > }}}
<eucode>
> >   atom rid_dbOpen
> >   rid_dbOpen = define_c_func(dbSQL, "dbOpen", {C_POINTER}, C_LONG)
> > </eucode>
{{{

> > 
> > The 2 was returned by define_c_func, which has no knowledge of a vector 
> > table in the PowerBASIC DLL.  Your intuition was coincidence.
> 
> dbSQL is a PowerBasic DLL. "dbOpen" is the second function defined
> therein.  Are you ignorant of how define_c_func works?
> 
> My intuition was spot on.  Thank you for reinforcing that point.

Ken, you are wrong. Matt you are right.

Here is the relevent source code from Euphoria ..

	c_routine[c_routine_next].address = proc_address;
	c_routine[c_routine_next].name = routine_ptr;
	c_routine[c_routine_next].arg_size = SEQ_PTR(arg_size);
	c_routine[c_routine_next].return_size = t;
	c_routine[c_routine_next].convention = convention;
	
	return c_routine_next++;

The value returned by define_c_func() is an index into a vector (array) that is
dynamically built within the executing EUPHORIA program. The value returned has
no linkage to the position in which the 'function' is located inside the DLL.

> Your actions define who you are.

Exactly ... ken either go away or apologize.

-- 
Derek Parnell
Melbourne, Australia
Skype name: derek.j.parnell

new topic     » goto parent     » topic index » view message » categorize

4. Re: Matt's Maturity

Jeremy Cowgar wrote:

> Ken,
> 
> Do you think that the way you speak that you have admitted to has had anything
> to do with this?

Jeremy, I'm absolutely sure that my personality type is difficult for some
to relate to.  This is why, when Derek first brought up the point I
provided resources to help any that cared to look into to it, with some
understanding.

Understand Jeremy, I spent my entire young life wondering what was wrong
with me and why I perceive things the way I do.  When I learned about
personality temperments I realized for the first time that I wasn't
defective.  My perceptions are useful in the fabric of society.

Fortunately for all concerned, mine is the lowest percentwise of the
sixteen types that all people fall into.  What a relief, eh?

> The mature thing would have been to admit that you were guilty
> as well instead of challenging a dual in the streets.

When publically attacked I will not skulk off into the dark.  I realize
it is discomforting to many, but a public attack deserves a public
apology.  I'm willing to apologize for any specific action of mine
that needs such.

> The citations that Matt
> gave I thought as well. Communication face to face is difficult enough let
> alone
> over a medium such as this.

I agreed.  There were false assumptions made.  One of the worst may be that
it's always the abrasive guys fault, because he's new and therefore an
easier target.  

> I know there is no hope what-so-ever for this thread.

Hey, I'm a hopeful person.  Aren't you?  What's so hard about making
an apology.  Men do it all the time.  Young men need the experience.

Last point.  I do wish to apologize to you and any others that have
been distressed by this public display.  I expect to be treated with
respect and hope that regardless of my apparent abrasiveness (notice
I started that thread) you understand that I have respect for you.

new topic     » goto parent     » topic index » view message » categorize

5. Re: Matt's Maturity

ken mortenson wrote:
> 
> Matt Lewis wrote:
> > 
> > Unless we're looking at different things, here was how you got a value for
> > rid_dbOpen:
> > }}}
<eucode>
> >   atom rid_dbOpen
> >   rid_dbOpen = define_c_func(dbSQL, "dbOpen", {C_POINTER}, C_LONG)
> > </eucode>
{{{

> > 
> > The 2 was returned by define_c_func, which has no knowledge of a vector 
> > table in the PowerBASIC DLL.  Your intuition was coincidence.
> 
> dbSQL is a PowerBasic DLL. "dbOpen" is the second function defined
> therein.  Are you ignorant of how define_c_func works?
> 
> My intuition was spot on.  Thank you for reinforcing that point.

No, it turns out I'm not ignorant of how define_c_func works.  I'll walk 
you through what you're seeing:

...from source/execute.h:

struct arg_info {
	int (*address)();     // pointer to C function
	s1_ptr name;          // name of routine (for diagnostics)
	s1_ptr arg_size;      // s1_ptr of sequence of argument sizes
	object return_size;   // atom or sequence for return value size
	int convention;       // calling convention
};

...from source/be_machine.c:

int c_routine_next = 0;       /* index of next available element */
struct arg_info *c_routine = NULL; /* array of c_routine structs */

Here is a bit of the back-end implementation of define_c_func (just the 
start and the end):

object DefineC(object x)
/* define a C routine: x is {lib, name, arg_sizes, return_type or 0} 
alternatively, x is {"", address or {'+', address}, arg_sizes, return_type or
   0}
   Return -1 on failure. */
{
...
        proc_address = (int (*)())GetProcAddress((void *)lib, routine_string); 
...
	c_routine[c_routine_next].address = proc_address;
...
	return c_routine_next++;
}

You can look up the rest of the code yourself, but as you can see, euphoria
uses GetProcAddress along with the name of the exported function.  It stores
a pointer to that structure in an array, and returns the index for that
particular arg_info.

> > > Finally, it is cowardly of you to claim me ignorant in any respect without
> > > providing evidence as I've done in the passage above so that I am at a
> > > severe handicap to defend myself.
> > 
> > Why is it cowardly?
> 
> Because in your original post you made the accusation without support.
> Only in subsequent post did you provide evidence, but not so I could
> defend myself but so you could prove how right you were.  As I am
> demonstrating here I am able to defend myself when provided with
> specific allegations rather than indefensible slurs.
> 
> To accuse without giving the accused the means of defending themselves
> is a cowardly act.  A mature person knows that.

Sorry, I wasn't really accusing you of anything.  It's true that I didn't
provide references in the original.  I reread my original post:
http://www.openeuphoria.org/EUforum/m21806.html

...and I still think it was a pretty neutral statement of my observations.

> >  In the case above, with define_c_func, you proved your
> > ignorance of how that feature of the language works.
> 
> As I've already shown above, you are still continuing to show your
> ignorance about the source of the number while my intution has proved
> to be entirely correct.  This next part is beautiful...
> 
> >  According to the docs,
> > which I believe someone responded to your original post with a link:
> > 
> >   "A small integer, i1, known as a routine id, will be returned."
> 
> You read, but without understanding.  What is the source of this small
> integer?  Magic?  No, it's seems it's from the vector table of the DLL.

I don't follow this jump to the vector table in the dll, or what it is.
Are you referring to the export by ordinal, perhaps?  Even so, as I 
showed above, you were incorrect.

> > It's interesting [to me] that you construed all of this as a personal 
> > attack, especially after making such a big deal about your lack of social
> > graces.  To wit:
> 
> It was a personal attack.  Make no mistake.  Calling me a troll is also
> a personal attack.  I've had the decency of explaining to you why it
> was a cowardly attack.  If you were a gentleman you would apologize
> for doing so (rather than continuing with the troll comments and digging
> yourself in deeper by continuing to try to prove what I have repeated
> demonstrated to be wrong.)

I'll grant the troll comment.  But as Keith David said in _Men at Work_,
"He was provokin me!"  

I don't have a problem admitting it when I'm wrong.  I even admitted once 
(and a half?) where I was wrong.  But you continue to say false things 
about define_c_func, displaying your ignorance.  Who is digging?

> > > You can believe anything you like about me.
> > > 
> > > I believe that you are no gentleman and a coward.
> > 
> > And you are welcome to believe whatever you like.  I'm done feeding the 
> > trolls.
> 
> The ball is now in your court.  Your actions define who you are.
> Notice I'm not calling you names.  Calling you a coward is a specific
> response to your actions and you can prove me wrong with an apology.

You're not calling me names in *this* post (though you still quoted the names
you called me previously).  I'll admit that you're not really a troll 
(though some of your posts about gotos, structured code, and
other general programming philosophies seem at least borderline), just that 
you were correct when you claimed to be a poor communicator.

I often have a similar problem.  I've often thought a lot about a particular
issue, and have developed a strong opinion.  When the topic comes up, I'm
not hesitant to let others know.  It comes across as a knee jerk reaction
and irritates people (esp my wife, who never fails to let me know!),
because my opinions seem unfounded or poorly thought out--even though the
opposite is true.

Something I read every so often, that is a huge help for fora like this:

http://www.catb.org/~esr/faqs/smart-questions.html

You may have seen it before.

Matt

new topic     » goto parent     » topic index » view message » categorize

6. Re: Matt's Maturity

Derek Parnell wrote:

> The value returned by define_c_func() is an index into a vector (array) that
> is dynamically built within the executing EUPHORIA program. The value returned
> has no linkage to the position in which the 'function' is located inside the
> DLL.
> 
> > Your actions define who you are.
> 
> Exactly ... ken either go away or apologize.

Derek,

At some point there must be some relationship to the DLL.  If your telling
me there isn't we're living in fantasy land.  Regardless of that, for you
to provide this information shows that he didn't... yet made accusations
anyway.

Now your asking me to apologize for what?  Being attacked publicly?

Who am I to you?  Nobody, so yes, you can tell me to go away because
it seems no loss to you.  I suspect I am not going to make a dent
because you've already prejudged.

You should be proud of yourself.

Up until this last message I was impressed by your kindness in trying
to adjust others viewpoints.  Boy did I misjudge you.

new topic     » goto parent     » topic index » view message » categorize

7. Re: Matt's Maturity

Thank you Matt,

I appreciate your reply.  I'm willing to put the whole thing behind us with
no hard feelings.

I admit, I can rub a lot of people the wrong way.  Give me a chance and you
might find I'm worth knowing.  I only here on this forum because I believe
that about you and every one else.

There are no evil people here.  Just us poor humans.

I'm sorry too.

new topic     » goto parent     » topic index » view message » categorize

8. Re: Matt's Maturity

Derek,

I just went back and looked, my original assertion which was that I
thought the number must be coming from a Euphoria vector table.

I think your vector array qualifies.

So you can keep telling me about how wrong I am if it
makes you feel better to do so.

I hope I've settled this with Matt.  You can gang up on me if you like.

I'd prefer we drop it.  Do you still want me to leave?

Is that choice yours?

new topic     » goto parent     » topic index » view message » categorize

9. Re: Matt's Maturity

ken mortenson wrote:
> I'd prefer we drop it.  Do you still want me to leave?

I have read this after writing to you privately. This is no longer a public
conversation.

-- 
Derek Parnell
Melbourne, Australia
Skype name: derek.j.parnell

new topic     » goto parent     » topic index » view message » categorize

10. Re: Matt's Maturity

ken mortenson wrote:
> 
> Thank you Matt,
> 
> I appreciate your reply.  I'm willing to put the whole thing behind us with
> no hard feelings.

I agree.

Matt

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu