1. Matt's Maturity
- Posted by ken mortenson <kenneth_john at ya?oo?com> May 29, 2008
- 623 views
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.
2. Re: Matt's Maturity
- Posted by Jeremy Cowgar <jeremy at c?wgar.co?> May 29, 2008
- 611 views
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
3. Re: Matt's Maturity
- Posted by Derek Parnell <ddparnell at bigpond.c?m> May 29, 2008
- 588 views
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
4. Re: Matt's Maturity
- Posted by ken mortenson <kenneth_john at ya?oo.c?m> May 29, 2008
- 593 views
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.
5. Re: Matt's Maturity
- Posted by Matt Lewis <matthewwalkerlewis at ??ail.com> May 29, 2008
- 593 views
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
6. Re: Matt's Maturity
- Posted by ken mortenson <kenneth_john at yah??.com> May 29, 2008
- 598 views
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.
7. Re: Matt's Maturity
- Posted by ken mortenson <kenneth_john at ?ahoo.?om> May 29, 2008
- 592 views
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.
8. Re: Matt's Maturity
- Posted by ken mortenson <kenneth_john at y?hoo.co?> May 29, 2008
- 602 views
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?
9. Re: Matt's Maturity
- Posted by Derek Parnell <ddparnell at bigpon??com> May 29, 2008
- 589 views
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
10. Re: Matt's Maturity
- Posted by Matt Lewis <matthewwalkerlewis at ?mail.co?> May 29, 2008
- 620 views
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