User talk:Derek farn

From Wikipedia, the free encyclopedia
Jump to: navigation, search



Your prose is much better than what was there; however, there were many wikilinks to related subjects that are now absent. It is important to build the web, so I'm adding what I can back in. Cheers! --Mgreenbe 19:33, 11 February 2006 (UTC)

Ah. To be honest, I didn't check that the links were in the article below. You're right, it is a fairly dense introduction. Welcome to Wikipedia (again — I see the welcoming committee already got you)!
This is a very strange way to talk, and, as you'll discover, it leads to many misunderstandings. While this won't help too much, it's best to sign your posts with ~~~~; this helps people respond and puts a timestamp on what you wrote. If you use popups, you'll even get a hover-menu with a link straight to the talk page. I can't recommend it enough. --Mgreenbe 02:39, 12 February 2006 (UTC)

Compiler entry and redirection from Compile[edit]

I'm the guy that added the disambiguation about the COMPILE Japanese videogame company. The problem is that Compile redirects to Compiler so I thinked to add the disambiguation link on the last one. You edited it so maybe I did something wrong, so probably is better doing in the Fenix article way. Please give me your opinion about this, I like many games from this death videogame development company. Timofonic 09:20, 11 April 2006 (UTC)

Thanks for filling me in on the details. It seems to me that 'compile' should not directly rediect to compiler. I can think of several ways in which this term can be used and I think this problem is likely to occur again with one of these other uses. I think the solution is to change the compile page to be a list of redirects to pages with which it could be associated. It soulds like you are the one with the enthusiasm :-) Derek farn 20:05, 10 April 2006 (UTC)
No problem. About the solution of doing it with a list, that's OK. I can do Compile in the Fenix way, I'll try now. Timofonic 09:20, 11 April 2006 (UTC)
Done. Look at Compile ;) Timofonic 09:47, 11 April 2006 (UTC)

Programming language[edit]

I tried to bring the discussion at programming language talk page back to the topic of rewriting the introduction to something more accessible. I added the new section to the article so people could extended the POV they were advocating there instead of at the talk page. Calling it a rewrite, you seem to have decided to revert my work and instead push your own POV. Please see Wikipedia:NPOV tutorial. --TuukkaH 16:58, 17 February 2006 (UTC)

Type safety[edit]

I never found:

unsigned x = -1;

usefull. In fact I once spend 2 days hunting down a:

signed* x; unsigned* y; y=x

Of corse x and y where defined in 2 different files and there was a function call in the middle (from a third file).

Your example is not conforming C (see assignment constraints, also pointer conversion wording). There have been, and still are, plenty of C compilers that don't implement all of the requirements contained in the C Standard. Derek farn 20:58, 25 February 2006 (UTC)
This could well be. Neither the IBM nor the MS compiler I have used (for many years) are very true to the standart. And on both cases I could only switch on warning level 4 after the system and 3rd party library includes. --Krischik T 11:24, 26 February 2006 (UTC)

Over the years (I did lots of C/c++ work) I have come to belive that the implicid conversions beween numeric types are far more harmfull then the the cast operations themself. It take control away from me because I want to decide when when to convert.

Implicit conversions have costs and benefits. People tend to concentrate on the costs. I don't have the data that would allow a detailed cost/benefit analysis to be performed. Derek farn 20:58, 25 February 2006 (UTC)

--Krischik T 18:17, 25 February 2006 (UTC)

quite wrong about me, and rather rude IMHO[edit]

The comment on my user page, about use of humor, is all about discussions. That is, talk pages. I didn't think anybody would believe the comment might apply to articles. I wonder how accidental the misinterpretation was, given that you edited my user page to distort my message. Go edit Jimbo's user page if you like; he has given approval to do so.

Long before I spotted the "bondage language" mention on the Pascal_and_C article, I had heard the term. I've known of it for years. I may have first heard it over a decade ago. Well of course it is appropriate to link the term to something. A category seemed more appropriate than an article.

Read the jargon file entry for bondage-and-discipline language. The jargon file is a well-accepted reference.

AlbertCahalan 06:47, 24 April 2006 (UTC)

I do indeed believe the term is in actual use. Even if it does originate as something Eric Raymond added to the Jargon File, that in itself is influential enough to put the term into common use. I use many of the terms found in the Jargon File. Anyway, thanks for the apology; not many people would bother. AlbertCahalan 03:11, 26 April 2006 (UTC)

Operators in other languages[edit]

Just wanted to say, I just removed this sentance from the operators in C/C++ article.

Those operators that are in C are also in Java, Perl, C#, and PHP with the same precedence, associativity, and semantics.

I know that this is not true, as for example I'm almost certain comma operator is not in C# or Java. Feel free to pop over to the talk page if you like about how this should be corrected / expanded. Mrjeff 14:58, 4 June 2006 (UTC)

Programming language 2[edit]

Please refrain from undoing other people's edits repeatedly. If you continue, you may be blocked from editing Wikipedia under the three-revert rule, which states that nobody may revert an article to a previous version more than three times in 24 hours. (Note: this also means editing the page to reinsert an old edit. If the effect of your actions is to revert back, it qualifies as a revert.) Thank you. - CobaltBlueTony 23:44, 15 June 2006 (UTC)

I know you don't want to talk to me, but I'm not about to simply "go away" so it would be better for all of us if we can reach some kind of understanding.

Clearly you know more than me, but that doesn't mean I'm not allowed to edit or question your opinion until I've read everything you tell me to read. Wikipedia doesn't work that way. If you have some material we disagree on, you can't just have your way by asserting that I don't know what I'm talking about; you have to prove it by citing sources. And it's not my job to find your sources for you. If you can cite the sources, I can easily see that you are correct and believe me I will drop all my objections. But you don't seem willing to do that, because you know you are right and I am wrong. But how is a naive reader to know that? That's why citing sources is so important and why we will never get FA status without it. I am pushing you to make the article better, because the questions I ask are the same ones that a naive reader will ask.

Just because I don't know as much as you doesn't mean I can't be helpful and do good work. And it certainly doesn't mean I have no right to be here. You can't avoid me, you can't go around me, you have to deal with me. Ideogram 07:47, 17 June 2006 (UTC)

Idiogram, Wikipedia is not a chat room, a bulletin board, or a way to get a free education. The Programming language talk:programming language page contains many discussions between you and a small group of other people. The format and tone is similar to what might occur in a chat room or bulletin board. The volume of discussion is such that two archive pages have been created over a very short period of time, after several years of havinbg a single page. You clearly don't know much about programming languages and want to learn more. This is fine, but Wikipedia is not the place to do it. You are making edits that are technically wrong, you don't like terms that are in general use (eg, source code vs. program text) and make edits that reflect your preferences rather than the general usage, then you throw tantrums when you are corrected.
Yes, I am doing my best to ignore you. Please go and read some books and learn something about a subject before you start editing Wikipedia articles. A short list of books I have found useful: "Programming language pragmatics" by Scott, "Code complete" by McConnell (first edition, the second went downhill), "Modern compiler design" by Grune et al, "Computer architecture a quantitative approach" by Hennessy et al. Derek farn 10:46, 17 June 2006 (UTC)
There is no way you can ignore me or make me go away. If you continue trying to force edits without discussing my concerns I can and will use all the methods of dispute resolution up to and including getting you banned. You didn't even know what 3RR was, I suggest you read all of Wikipedia's policies before you tell me what Wikipedia is not or whether I'm allowed to edit.
And BTW I already own and have read half the books you suggested. Ideogram 10:59, 17 June 2006 (UTC)
(Please try to keep discussion threaded on this page. I have watchlisted you.) Ideogram 11:06, 17 June 2006 (UTC)

Ada as general-purpose language[edit]

In the Programming languages article, your edit of 2006-06-14 15:37:44 says "Ada was originally intended for general purpose use, today its niche is embedded systems". You are mistaken. Ada was designed on contract to DARPA specifically for embedded systems; the "Steelman" requirements document for it was quite clear. It was equally clearly not designed for business systems (like COBOL), scientific computation (like Fortran), string processing (like awk), or other applications. The Ada programming language article summarizes the situation clearly:

Ada was originally targeted at embedded and real-time systems. The Ada 95 revision, designed by S. Tucker Taft of Intermetrics between 1992 and 1995, improved support for systems, numerical, and financial programming.

I worked on the design of Ada at Intermetrics, and wrote a Ph.D. thesis on programming language design; I do know what I'm talking about. --Macrakis 20:00, 19 June 2006 (UTC)

So you worked on the CHILL compiler?! I was called in once by the CHILL group to interpret the denotational spec because a particular case wasn't clear... something to do with the state of variables on abnormal exit from a loop, if I remember correctly. Anyway, the point of the passage was that Ada 83 was not designed as a "general-purpose programming language". Even with the Ada 95 changes, it simply "improved support" for other areas. I'm not sure anyone talks about "general-purpose programming languages" any more, anyway. When PL/I was defined to unify commercial and scientific programming, scientific languages like Fortran didn't have records, and commercial programming languages didn't have floating-point. Nowadays, no one (except I guess COBOL) has BCD arithmetic anymore.... --Macrakis 20:46, 19 June 2006 (UTC)


I did not delete your contribution, I just put most of it under a new heading, like this:

Language versions[edit]

Neither K&R C nor the first ISO Standard had a specific boolean type. The 1999 revision of the C Standard introduced the type _Bool. Practically all versions of C have supported binary valued relational operators however.

So you did. My fault for missing it. Derek farn 00:06, 5 September 2006 (UTC)

The reason I moved it down were that "excess" (historical) detail could distract from the basic simple principles i was trying to pinpoint (and that you erased some of it).

Is it that excessive? Perhaps wording of the form "Prior to the 1999 revision of the C Standard ..."? The important distinction is between 0/1 and 0/non-zero, but this is a bit hard to get across in this kind of broad brush overview. Derek farn 00:06, 5 September 2006 (UTC)

I do not use C much anymore (I did for 10 years), but my impression (without having read the formal C99 standard yet) is that _Bool is something of a "fix" (demanding #includes and all), and that C99 is still, in essence, the same "int-centered" language it always been (no offense whatsoever). See, for instance:

_Bool is a keyword, see here. You are thinking of the bool macro defined in <stdbool>. Yes, C99 is still integer oriented. Derek farn 00:06, 5 September 2006 (UTC)
Actually, I was thinking of true and false which could well be keywords IMHO. /HenkeB 01:43, 5 September 2006 (UTC)

I therefore feel it's very reasonable to mention _Bool a little later. If you know important details I've missed, please add them to the article (under the new heading perhaps).

I view the article is being about C as it is today, not how it was in the past. Derek farn 00:06, 5 September 2006 (UTC)
I think it could well cover C and Pascal during their entire life span (up till today, that is), with special emphasis on what the inventors (Dennis Richie / Niclaus Wirth) intended, what features are commonly (mis)used and (dis)liked by programmers, and maybe not so much on formal standards ;) /HenkeB 01:43, 5 September 2006 (UTC)
That is a bit of a tall order. Given space and time constraints the most we can do is pick some point in time. I think the best time to pick is the present day, with some historical context. Derek farn 23:32, 5 September 2006 (UTC)
I was not planning to do it all by myself... however, to single out only present day standards when comparing languages as old as Pascal (~1969) and C (~1972) does not make much sense, as probably 90%, or more, of existing code (and involved programmers) have not had access to the latest additions (_Bool for instance) and many do not use them anyway. But I agree that all standards should be mentioned. (BTW we should really have had this conversation under the actual article instead, my fault)

Best regards /HenkeB 21:47, 4 September 2006 (UTC)

Maybe you could accept a phrasing like?
C did not have a specific boolean type until the C99 standard, and, as tests are (conceptually) performed by zero-checks, false is always represented by zero, while true may be representated by any other value.
How about: C did not support a built-in boolean type until the C99 Standard. For compatibility with existing practice false is represented by zero, while true is represented by any non-zero value. Derek farn 23:32, 5 September 2006 (UTC)
Perfect under Language versions (or a similary named heading).
along with the sub-paragraph "Language versions", shown above.
Perhaps "Language versions" could be used consistently through the article, for standards and (more or less) de-facto standard extensions.
"Language versions" can mean several things, ie particular vendor implementations, or different language specifications. Derek farn 23:32, 5 September 2006 (UTC)
I know, that's a good thing, it covers standards, vendor versions, and extensions under one roof.
What do you say?
BTW if you know details about how _Bool typed variables (are supposed to) react on ++/--, +=/-= etc in various cases, please fill me in!
Best regards /HenkeB 01:43, 5 September 2006 (UTC)
You can search on boolean types here. Derek farn 23:32, 5 September 2006 (UTC)
Not very informative, if I manage to get some time off, I will visit my favourite bookstore tomorrow ;)
Despite our minor attitude differences, I belive we could cooperate well, Cheers /HenkeB 00:33, 6 September 2006 (UTC)

Inappropriate revert[edit]

You reverted my edit in compiler with the comment:

rv: Cross compiling and P-code are different concepts)

Since my edit didn't imply that they were the same thing, and especially since the concept wasn't otherwise mentioned in the article, your reversion was inappropriate.

Please be more careful in future.WolfKeeper 21:36, 13 December 2006 (UTC)

Wolfkeeper, I reverted your edit because what you said was technically incorrect (and a poor edit to boot). I have just removed your latest changes. Read the article and learn why what you said was incorrect. Derek farn 15:15, 14 December 2006 (UTC)
Oh how could I be so stupid! Quote: "Compilers are classified as either native (or hosted) compilers or cross compilers." Right, good, either or- two types! But then: "Interpreters and Virtual machine (VM) compilers are not usually classified as either native or cross compilers". Yeah, that makes sense. There's only two types. Oh, and there's a third type! But there's only two types really! Your reversions are inappropriate.WolfKeeper 20:06, 14 December 2006 (UTC)

term software anomaly[edit]

Hello Derek farn, I saw your comments, when you reverted my edits. My intention is not to spam or to redefine a common term. I want to explain why this is, please see discussion page. --Erkan Yilmaz 03:04, 24 December 2006 (UTC)

Hello Derek farn, I have added some examples also. Just to be clear, this is just my explanation of the intention for this page. I would like to see some discussion, I hope we do not do edit wars or suchalike. So, if you add your views, we/I can come to a solution, since Wikipedia is for discussing, arguing, so the quality of the articles increase. Good night. --Erkan Yilmaz 03:53, 24 December 2006 (UTC)
Well, to show you that my intentions are sincere, here some of my activities (this is ONLY in the wiki community):
  • identifying and how to improve white box articles in wiki [1]
  • Wikiversity courses in German and English on software testing
  • Please also consider my reviews on articles on testing in English and German Wikipedia
  • bug reported in MediaZilla: [2]
--Erkan Yilmaz 04:37, 24 December 2006 (UTC)
Erkan Yilmaz I can see from what you have said and done that your intentions are good. However, I think your enthusiasm and good intentions are leading you to spread your time too thinly on many topics. It takes time to write a good article and adding categories to existing pages needs a little reflection. You have recently joined Wikipedia and have made many edits. Can I suggest that after a major edit that you allow a day or so to let things settle (ok, perhaps less on very active pages) and others involved in an article to read it and perhaps respond. Good luck with your anomaly article (I suspect it might merge with software bug on day soon). Derek farn 11:52, 24 December 2006 (UTC)
Hello Derek farn,
thank you for the nice words, keeps me motivated :-)
I like your proposal, that after a major edit there should be a day or so to let things settle. What can I say, I was too enthusiastic. I will wait then a little more.
And about the merge: well, if it comes, it comes :-) and then of course because it is to the general benefit.
Thank you again for your time and help. Because after your inputs, I added more to the article itself. So your feedback helped the article. Of course there can be optimized the quality more (as with everything).
--Erkan Yilmaz 12:13, 24 December 2006 (UTC)

Programming style[edit]

Hello Derek farn, I responded to your answer. Please do not see it that I blame you or so. It was just to get also the group's view. I hope everything fine now? As you can see, your feedback helped me again :-) ----Erkan Yilmaz (evaluate me!, discussion) 18:47, 27 December 2006 (UTC)

Comment article[edit]


I'm replying here to your remark on my talk page. I'm not sure whether you just saw that I moved the article or were following the discussion in one of the Manual of Style talk pages; anyway my point was a bit more articulated: the article already covered comments in non-programming languages (e.g. XML), so I renamed it to "comment (computer language)" which is more general than "comment (programming language)". That I think is uncontroversial. But there's more: you may find comments in configuration files and other files which are not for a language processor proper, just for a program which parses them according to a given (usually primitive) syntax. After some discussions with the guys who maintain the Manual of Style we agreed that, for simplicity's sake, the best solution was probably just naming the article "comment (computing)" as that is enough for disambiguation; it is a bit more general than needed but it's simple. That's how the article is named now. Let me know if you have objections or further comments about it. And Merry Christmas! :-) —Gennaro Prota•Talk 23:00, 25 December 2006 (UTC)

Sigh, just saw your revert. Well, at least you could have checked the differences. I think anyone restoring something like this: "Some people believe that comments are unnecessary because code should be written in a way that makes it self explanatory (it is not uncommon to encounter source code that contains no comments); other people believe that source code should be extensively commented (it is not uncommon for over 50% of the non-whitespace characters in source code to be contained within comments)" deserves what he has restored. —Gennaro Prota•Talk 23:11, 25 December 2006 (UTC)

Comment disambiguation page[edit]

Hi, you recently reverted my edit on the comment disambiguation page. I had inserted the following link, Wikipedia:Manual_of_Style#Invisible_comments so that it will be easier to new user, like me to figure out how to leave comments for other while editing an article. Your reason for the revert,

"rv: Wikipedia usage is discussed in bullet points. Not important enough to warrant being in introduction"

was not clear to me. The page has no such similar link. There is a link to Wiktionary article on the page, which gives the dictionary definition of the word comment. The link I had inserted was related to editing Wikipedia articles.

Can you please clarify your reason for the revert ? Thank you. P.S. You can post your reply on your talk page. myth 04:29, 20 January 2007 (UTC)

Deadlocked at Computer Program[edit]

Are you OK with me going through the dispute resolution process regarding our deadlock at computer program? Do you want to talk about it privately? I'll give you my phone number or email address. Timhowardriley 23:51, 1 May 2007 (UTC)

I'm not sure we have a disagreement worth troubling the Wikipedia dispute resolution service over. I am happy to exchange emails (I think there is a Wikipedia mechanism to send me a private email containing your email and I can respond with mine; I think it's a tick box in user configuration to enable this option for people to send you private email). Only one other person has chimed in on the discussion.
My email address is on my user page. Email your phone number and a good time to call and we can talk privately about this for a few minutes. Timhowardriley 16:27, 2 May 2007 (UTC)
While my comments have at times been blunt, your responses have been considered and reasonable ones. Sorry to repeat some of them, but the problem is one of the expertise needed to write a better introduction. I would find it hard to write a better introduction and you are finding it hard to write a better one. Why not let it go and move onto working on other articles? Derek farn 09:22, 2 May 2007 (UTC)

Software testing[edit]

Hello Derek farn, if you check the category:Software testing you will find that it is included in category:Software engineering, which is normally considered a tree. I have also some difficulties in understanding why software testing should be listed under category:skills. Inwind 12:05, 8 May 2007 (UTC)

I'm not sure why you have made these comments to me, other than that I was the last person to edit the article. I was not responsible for listing it under category:skills. Software testing is a skill. I have no firm beliefs about it being list as a category or not. The Wikipedia article creating classifications does say that they should not be considered to be a tree. I don't see why software engineering should be a special case. Derek farn 13:06, 8 May 2007 (UTC)

Precise definitions needed[edit]

In answer to your question posted on my talk page:

Please point me at the precise definitions of Perl and PHP. There are plenty of imprecise ones around. Talking of precise definitions, what is the precise C or C++ definition of the expression (i=i++) (the behavior is specified to be undefined by the language standards, is undefined an acceptable answer for a language to be precisely defined?) Derek farn 21:25, 23 May 2007 (UTC)

The precise definition of a PHP implementation is at [[3]].
My point is, is that this is not a precise definition. I know several people who have tried to create implementation from it and the document is silent on many issues. Derek farn 01:32, 24 May 2007 (UTC)
The precise definition of a Perl implementation is at [[4]]. The precise definition of a C++ implementation is at [[5]].
The Standard for C++ can be found at [6]. And no it is not a precise definition. Derek farn 01:32, 24 May 2007 (UTC)
A precisely-defined computer language is not the same thing as a generic definition for all implementations of that language. As you alluded to, the expression (i=i++) has a specific definition for each implementation of the language.
No (i=i++) can have a different definition every time a compiler encounters it in the source. It is undefined behavior and an implementation can do what ever it likes. Implementation defined behavior varies between compilers and there are restrictions on what the set of possible behaviors. Derek farn 01:32, 24 May 2007 (UTC)
It is undefined behavior and an implementation can do what ever it likes. EXACTLY!!! What ever the implementation likes to do at the point it is encountered is the precisely defined behavior for that implementation. Thank you for making my point. SqlPac 02:41, 24 May 2007 (UTC)
Therefore, no matter how many times I use (i=i++) in Visual C++ 7.1, I can expect a precisely defined set of rules to kick in, which will operate in exactly the same way every single time. No matter how many times I use (i=i++) in Turbo C++, I can expect a precisely defined set of rules to kick in, which will operate in exactly the same way every single time. Further, the fact that you used the ++ operator indicates that it is a precisely-defined operator. The fact that you used the = operator indicates that it is precisely-defined. The parentheses appear to be part of the language as well, and we could probably locate where they are defined in the language as well.
You have shown no undefined behavior; only behavior that is implementation-defined. Further, even if a specific implementation of C++ threw a compile-time exception when it encountered (i=i++), it is part of the precise definition.
You could not effectively program in a computer language that was not precisely defined. A computer language that was not precisely defined would have no way to know what your intent was; it therefore could not carry out your instructions.
Finally, Dr. Knuth's TAOCP has been the subject of nearly 40 years of intensive peer review and academic scrutiny. The fact that TAOCP has been named one of the 12 greatest scientific monographs of the past 100 years aside, if you want to challenge his definition of computer program, I'd recommend brining some heavier firepower than not all implementations of a specific language follow the ANSI standard; therefore none of them are precisely defined by anyone.
TAOCP is a great work of applied mathematics. However, Knuth's definition is specific to his interests. He is also using terms in a very specific way which is different from might be regarded 'common' usage in computing (eg, the definition of common usage for the term method now has a strong OO flavor to it which did not exist 15 years ago). Derek farn 01:32, 24 May 2007 (UTC)
So what should we rename Scientific method to, so as not to confuse people with this OO flavor? I don't really buy that argument. SqlPac 02:43, 24 May 2007 (UTC)
Hope that helps. SqlPac 23:24, 23 May 2007 (UTC)
BTW, Derek farn, just to get past this hurdle so we can stop arguing style and improve the actual substance of the article, and to avoid an edit war, I would be willing to post an RfC to the Computer Science WikiProject and abide by a consensus reached there as to the validity of Knuth's definition. Just let me know if that would be acceptable to you. SqlPac 23:37, 23 May 2007 (UTC)
I think Knuth's definition is valid in the domain in which he works. I think it is poorly worded in the sense of how people outside Knuth's mathematical domain will interpret it. Derek farn 01:32, 24 May 2007 (UTC)
I've posted responses to the Computer program talk page (at least I think that was where). I've posted an RfC at [7] to see if Knuth's definition can withstand the "dynamic creation of reality through consensus." I think the issues with how people "outside Knuth's mathematical domain" will interpret it is well-covered by the laymen's version which is simple in language, slightly incorrect, and given top billing on the page (it is the very first sentence). SqlPac 02:38, 24 May 2007 (UTC)


Hi, Derek.
I don't edit other people's comments on talk pages lightly., however, is indefinitely blocked user Spinoza1111, who is evading his block time and time again by continuing to edit as an anon user (commonly displaying exactly the behavior he was blocked for). Please don't be so gracious to this user in the future (who isn't even allowed to edit).--Atlan (talk) 14:35, 29 June 2007 (UTC)

Commercial tool dealing with very specialist usage of goto[edit]

> Commercial tool dealing with very specialist usage of goto.

I think it is important that people know that such a tool exists. And it is relevant to goto article concerning Java. If not here, then where do you think it fits? Canwilf

Wikipedia has rules dealing with links that are essentially advertising (even to books dealing with the subject of the article, unless the books are well known and the link has not been created by the author). Links that are essentially advertising are not allowed in any article. A while back an article containing very a useful list of links to all known static analysis tools was deleted because it contained too much commercial information :-(. Perhaps if you write a technical article (that happens to mention the tool) and link to it then reviewers will let it through. Derek farn 14:14, 6 July 2007 (UTC)

Logic tag[edit]

The bot owner is not to blame for the categories tagged. The bot is tagging articles by the categories considered at WikiProject Logic. Some articles may not be included. In the interest of getting most of the appropriate ones, the sweep may be a little over inclusive. Besides, some of these articles could benefit from the attention of the project. I think the bot owner's page is a bad place for that whole spam thing. Be well,Gregbard 09:55, 31 July 2007 (UTC)

Hi, Derek - thanks for the note. I've asked that the Category:Formal languages be reviewed for any misplaced {{Logic2}} banners. Sorry for the over-tagging! -- SatyrTN (talk | contribs) 14:35, 31 July 2007 (UTC)
There is a discussion being publicized currently:
  • Discussion about the fact that the bot has stopped tagging articles due to complaints.
Gregbard 01:52, 1 August 2007 (UTC)

Stop it[edit]

Why is it every time that I attempt to reach some kind of compromise on Array you blindly revert to the last version that you edited? You're removing changes that have nothing at all to do with anything that you disagree with, like my changes to out-of-bound indexing and MisterSheik's changes to assocative arrays. You're reverting changes of terminology made not in order to promote a point of view but in order to reduce confusion for reasons I clearly stated that you have not contested. Blind reverts say that you're asserting ownership of the article and you're unwilling to compromise and don't care what anyone has to say. You have completely ignored my detailed and friendly attempt to raise discussion on the talk page. This is extremely rude and distressing behavior and I hope you will consider discussing the issues. Dcoetzee 18:47, 1 August 2007 (UTC)

I've now reworded the paragraph in the intro to give equal weight to static and dynamic arrays. If you wish to further contest this rewording please do so on the talk page so that we can come to a consensus, and please stop reverting unrelated changes. Thank you. Dcoetzee 18:55, 1 August 2007 (UTC)

Huh? Why the revert?[edit]

At [8]. I don't really care about the recent addition about denotational semantics and all that, but if it's going to be there, it should flow better with the rest of the (short) section. Under my edit, it reads better; under your revert (and hence the original slightly sloppy edit), it reads worse. Why would you revert to achieve something worse (when there doesn't seem to be any actual factual or content concern, just prosidy). LotLE×talk 23:31, 15 August 2007 (UTC)

Apologies. I saw the edition without noticing that it was a cut and paste from further down. This subject is covered further down, so I have removed it completely (which is the edit I should have made in the first place). Derek farn 00:53, 16 August 2007 (UTC)

What's an "improper edit"?[edit]

What's an improper edit? If editors are adding value to articles with accredited, referenced sources, then at least justify your revert. Timhowardriley 21:17, 16 September 2007 (UTC)

Point well taken[edit]

Regarding your edit here, I agree that an imperative computer program (loosely defined) is essentially an algorithm. Your point is well taken. Within the context of algorithms, could you produce a (loosely defined) definition of a declarative computer program? Timhowardriley 21:23, 23 September 2007 (UTC)

Please stop the WP:OR speculation on Programming language[edit]

Some of the hypotheses you propose on why various measures of PL popularity are skewed are plausible. Others seem implausible even on their face. But what they all have in common is that they are 100% original research and speculation. You provide no citations whatsoever; and moreover, you have seriously violated 3RR in reverting to the same personal pontification. Don't do that! LotLE×talk 01:00, 21 October 2007 (UTC)

Rework black magic nonsense[edit]

I think a little more thought and consideration should have been applied before using the heading of "Rework black magic nonsense". See Wikipedia:WikiLove. Timhowardriley 15:42, 21 October 2007 (UTC)

You are right about not being overly considerate, but I would not rate it as being overly inconsiderate. Perhaps I will guilty about it tomorrow, or perhaps when I stop caring I will be overly considerate. Derek farn 16:03, 21 October 2007 (UTC)
You seem to have abrasive remarks well justified. Timhowardriley 16:34, 21 October 2007 (UTC)

Preserving Knuth's definition[edit]

I see that you are preserving Knuth's definition in the computer program article. I moved the proof -- that my translation of Knuth's definition is logically equivalent to Knuth's -- to its own heading in the talk section. I do, however, feel that your previous version of the sentences surrounding Knuth's definition was better than what now stands. Frankly, the current version is a runon sentence. Moreover, I feel that my version of the sentences surrounding Knuth's definition was the best so far. Timhowardriley 16:45, 21 October 2007 (UTC)

hope you didn't mind[edit]

Re: Computer Program
I'm not as "fast" of an editor as others might be and prefer to think things out thoroughly before bothering to make an edit. I hope you didn't mind that I undid your revert, but you apparently weren't aware of the other changes to the article that had occurred in the interim of the version you chose. I don't happen to agree with the "two-level" approach, but don't really have anything better of my own. I can see where you're coming from in that regard, but am sure you see it as a work-around rather than a solution. I've been up to the attic (gah) today and hauled out a load of books. The best I've found so far is from "The Anatomy of Programming Languages" where on page 15 there is a definition of "program". The problem with that definition, though, even though it very much resembles what we have in place, is that the author, in context, specifically refers to her definition as defining "program" and not "computer program". Her perspective on the matter is that programming languages are not bound to computing whatsoever, and, humbly, I must agree. I've pored over at least a dozen of my old books now looking for a plain old everyday definition of computer program, even checking glossaries. It's been very entertaining, but fruitless. I have at least another dozen if not more that should have such a definition. Time will tell. Again, hope you understood the reason for my undo of your revert. Metrax 04:19, 22 October 2007 (UTC)

Artificial language in programming language[edit]

Derek, I don't plan on making a big deal out of my request for citation. I'll remove it after a good discussion in the talk section, no matter the outcome. Timhowardriley 00:19, 3 November 2007 (UTC)

Edit war on computer program[edit]

The computer program article is going through the vetting process for good article status. See Wikipedia:Good article reassessment#Computer program. However, this edit generated negative comments from the good article cabal.

  • "The lead seems to have disappeared to almost nothing. I wonder if we're both looking at the same article? In any event, it's patently clear that the article is not stable, an automatic GA fail."
  • "Hmm, it seems you're right, but when I looked at it earlier today, it was at least several sentences long. Now, it is too short. I'll avoid making another decision until the editing stops mostly, but if the current lead is what the main author is shooting for, this article should never be a GA."

You recently made this substantial edit to the article. And you have a supporter:

  • "...while there is no edit war there is one editor who is obviously not happy about the article and about its scope ([9] and more recently [10]). I see no point to rush it to a GA status."

Well, I'm going on wikibreak to let you get the article to GA quality. I'll then renominate it for GA status again. If it fails again, I suggest we revert back to before I arrived and start over. Timhowardriley 17:40, 14 November 2007 (UTC)

Computer program introduction as topic sentences[edit]

I overwrote much of your introduction of the computer program article. After going through the good article process, I learned that the introduction should be a summary of the entire article. So, I went through the article and copied the topic sentence of many of the paragraphs and pasted them to the introduction. I tried to order the sentences to create a logical flow. I know you wrote much of the original introduction, so I hope you don't mind too much the change. Timhowardriley (talk) 23:25, 14 December 2007 (UTC)

Typed and untyped languages[edit]

I hope that your revert of my redirect means that you intend to do something constructive with this article soon, rather than leaving it in its current stubby state. —David Eppstein (talk) 18:30, 15 December 2007 (UTC)

Re: "There is a lot more to decoding than parsing"[edit]

In computer program, I changed the term "decode" into "parse" because parse has a better wikilink than decode. Whereas decoding program statements has many steps in addition to parsing, parsing is the most time consuming. If you agree, I would ask that you to change "decode" back to "parse". Timhowardriley (talk) 20:39, 23 January 2008 (UTC)

I think the most accurate term should be used. I don't understand why you would think that quality of wikilink matters in this case (it would if the two terms were very similar). As you point out there is a lot more to decoding than parsing and this 'lot more' is what the interpreter has to do. Perhaps the solution is to improve the wikilink for decode? Derek farn (talk) 23:10, 23 January 2008 (UTC)
Yes, you are right about improving the decode article. Timhowardriley (talk) 23:18, 23 January 2008 (UTC)

Categories at Static code analysis[edit]

Hello, both categories (Category:Formal methods and Category:Computer programming tools) are a supercategory of Category:Static code analysis so in whatever way the user navigates through the categories and arrives at either of these supercats, the subcat Category:Static code analysis is visible. The same holds for navigating away from the article (the user notices the supercats of Category:Static code analysis and can navigate from there). I don't think the argument that the categories are not a tree applies here because in this case, there's a direct supercat/subcat relation and there's no need to overcategorize articles when the article has a category that provides the same navigation. - Simeon87 (talk) 23:26, 25 January 2008 (UTC)

Simeon87, what you are saying is true. However, Wikipedia categories are not considered to have a tree structure, see [11]. I have come to seethe advantage of this principle. It means that people can quickly find articles in what might be considered closely related categories. I know that I rarely navigate around the category structure. Derek farn (talk) 01:02, 26 January 2008 (UTC)

Speedy deletion of Mumeishi Kendo Club[edit]

Nuvola apps important.svg

A tag has been placed on Mumeishi Kendo Club requesting that it be speedily deleted from Wikipedia. This has been done under section A7 of the criteria for speedy deletion, because the article appears to be about a person or group of people, but it does not indicate how or why the subject is notable: that is, why an article about that subject should be included in an encyclopedia. Under the criteria for speedy deletion, articles that do not indicate the subject's importance or significance may be deleted at any time. Please see the guidelines for what is generally accepted as notable, as well as our subject-specific notability guideline for biographies.

If you think that this notice was placed here in error, you may contest the deletion by adding {{hangon}} to the top of the page (just below the existing speedy deletion or "db" tag), coupled with adding a note on the talk page explaining your position, but be aware that once tagged for speedy deletion, if the article meets the criterion it may be deleted without delay. Please do not remove the speedy deletion tag yourself, but don't hesitate to add information to the article that would would render it more in conformance with Wikipedia's policies and guidelines. BigDunc (talk) 22:03, 27 February 2008 (UTC)

Mumeishi Kendo Club[edit]

I have deleted this page under A7 — an article about a company that did not assert importance. If you would like, I will restore this article in a subpage of yours so that you may work on it. If you would like to do so, please make note on my talk page or here. Thanks. seresin | wasn't he just...? 00:39, 28 February 2008 (UTC)

Company, club, biography, website etc. all fall under A7. I misspoke and said company. Hosting the largest competition in a sect of martial arts in one nation is not an assertion of notability; at any rate it wasn't verified. seresin | wasn't he just...? 04:29, 28 February 2008 (UTC)

Remove "used to produce them"[edit]

I noticed that you made an edit to Computer Program without commenting on this talk. I'm assuming that you agree with my logic and it's OK with you that I make the suggested edit. Timhowardriley (talk) 01:35, 17 March 2008 (UTC)

The term modern suggests that what is being discussed does not apply to non-modern, which in this case is not true. Also some modern OSs are single tasking (coffee machines come to mind). Derek farn (talk) 11:19, 17 March 2008 (UTC)

Actually, the topic is referring to this revert of yours, not single task operating systems. Your explanation of the revert was, "POintless grammar rule ruins ease of understanding." As I explained as an argument for the removal of "used to produce them", paradigms do not produce computer programs, people do. Please comment in the talk if you plan to again revert my edit. Timhowardriley (talk) 17:51, 4 April 2008 (UTC)

C (programming language) category[edit]

You wrote:[12]

rv: Wikipedia categories are not tree structured

The category in question, Category:Programming languages, has a banner at the top:

This category may require frequent maintenance to avoid becoming too large.
It should list very few, if any, article pages directly and should mainly contain subcategories.
Articles in this category should be moved to subcategories when appropriate.

I was following its instructions in moving C out of the main category, since it's already been added to appropriate subcategories.

If this seems reasonable, perhaps you'll self-revert this edit. If it doesn't seem reasonable to you, you should either discuss this line on the category's Talk page (or at an appropriate WikiProject) or WP:BOLDly change the line yourself. Personally, I find this instruction useful since it makes browsing easier: there are simply so many programming languages that putting them all into a supercategory seems counterproductive (and it hides the alphabetically-later subcategories, not just pages). But you may have your own reasons here.

As a WP:0RR devotee, I'll leave your edit in place.

CRGreathouse (t | c) 19:47, 22 March 2008 (UTC)

I see you did the same at BlooP and FlooP, and my comments apply equally here. Further, in that case, I wonder if you think that the page should receive also Category:Fictional programming languages as it is similar to Blub (programming). Cheers! CRGreathouse (t | c) 19:50, 22 March 2008 (UTC)

CRGreathouse, Thanks for pointing out the banner in the Category:Programming languages page. It was not there last time I looked (which may have been a while ago). This request does appear to be counter to what is said in Wikipedia:Categorization. On the other hand there are several thousand languages (excluding possible paper ones). I would prefer that any language could appear in the programming language category, but perhaps there are lots of people who disagree. Sounds like there ought to be some general discussion on this issue (none appears in the talk page of the category). If you agree with the banner perhaps you could kick off a discussion topic. Derek farn (talk) 02:23, 23 March 2008 (UTC)
What is a fictional programming language? One that does not have any implementations? I bet there are implementations of BlooP and FlooP. A Google search did not find one for the Hofstadter language, but it did find this [13]. Derek farn (talk) 02:23, 23 March 2008 (UTC)
I don't think the banner disagrees with WP:CAT, which says, "Usually, articles should not be in both a category and its subcategory" although it allows for occasional placing of nested categories. This kind of banner isn't unique to this category, either: I've seen it on several other large categories.
In any case, I think we can agree that the main problem is that many programming languages don't have appropriate tags -- they're concurrent programming languages, but their only cat tag is Category: Programming languages. Once the appropriate tags are added, it's a relatively easy process to remove the redundant ones if it's decided to be useful. (I think removing redundant categories is helpful in navigation, but I can imagine the reverse being argued.)
CRGreathouse (t | c) 15:17, 23 March 2008 (UTC)

source code[edit]

Hey, I noticed that you reverted my edit to source code. I'm going to revert it to my version (I do think it's better) but I'd like to know which parts of my edit you found unclear and inaccurate. I'll start a section on the talk page and give some reasons for my changes. –MT 05:43, 25 May 2008 (UTC)

threaded code[edit]

Thank you for improving Wikipedia.

Your recent edit[14] to threaded code, at first glance, appears to be a good application of Refactor By Condensing Question Answer Pair.

Alas, I reverted that edit. See Talk:Threaded code#some_redundancies_cannot_be_eliminated_by_subroutines for details. -- (talk) 14:46, 30 May 2008 (UTC)



MISRA are dropping the explicit "Motor Industry ..." in favour of just MISRA. We do not want the first message on MISRA to be limited to a particular industry. Hence the edit, and the revert. Gavin

Gmccall (talk) 22:10, 1 July 2008 (UTC)

Hi Derek,

I did see that there is a Motor Industry Research Association page. MIRA is an unrelated page. The current link should really be to MIRA Ltd. It was originally a form of industry supported research, but at some date TBD converted to a Limited company and became MIRA Ltd ilo the full name. MIRA have also expanded their focus beyond the Motor Industry. I'm not sure what this all means with regard to page names, but I'll try to find some real histry sources on my next visit to MIRA Ltd later this month. Gavin Gmccall (talk) 20:56, 5 July 2008 (UTC)

  • Gavin, I created a MIRA Ltd page that redirects to the current Motor Industry Research Association page and edited the Mira (disambiguation) page a little. The contents of the two pages could be swapped around and/or various other redirect pages could be created. It depends on what you think people will consider to be the primary name (I have no idea).
  • You have done a good job of adding lots of information to the MISRA. From the Wikipedia point of view the one thing missing is citations. The author of a page could claim to be anybody, so people like sources to be cited for the important facts. Some people act like citation nazis and want everything cited. Sooner or later somebody will mark up the current MISRA page to point out the missing citations. Paper publications are most liked and web pages less so. Derek farn (talk) 00:50, 6 July 2008 (UTC)

C string[edit]

[15] What was wrong with it? --KnightMove (talk) 21:14, 13 July 2008 (UTC)

  • Nothing. My apologies for an inappropriate reversion. I have restored it. Derek farn (talk) 23:03, 13 July 2008 (UTC)

I hate rv's, but your quite off base[edit]

This is an educational project... any fool can string links together because they understand jargon. Try explaining per WP:NOT PAPERS, and read again. Start with our comparative career lengths in my edit summary. // FrankB 21:39, 16 July 2008 (UTC)

LAST WARNING TO "Derek farn"[edit]

Nuvola apps important.svg

This is a last warning to "Derek farn".

  • Your reverting habit and loose restatements makes me mistrustful concerning you.
  • There is no sign, whether you analyse deeply the article, its discussion and the edit summaries before reverting or reformulating the article itself.
  • Your user page is empty, and Google search for "Derek+farn" neither gives any reasonable result on your academic skills.
  • You refuse to tell us who are you, while you did the followings with the page Locality of reference:
19:15, 14 June 2008 Andreas Kaufmann (Talk | contribs) m (8,513 bytes) the state before my first contribution,
17:55, 19 July 2008 Prohlep (Talk | contribs) m (18,017 bytes) I added 9504 bytes roughly,
12:37, 20 July 2008 Derek farn (Talk | contribs) (13,484 bytes) You removed 4533 bytes roughly.
  • The presentation of the notion Locality of reference was bulky and too restrictive for special cases before me,
I sorted the existing sentences into introduction, definition, reasons for occurrence of the phenomenon and diverse use of the phenomenon,
I as a teaching staff has the experience, that better to present a notion with its opposite notion, with its negation, so I did it,
while you repeatedly tried to wanish these additional professional contents.

Now you have to decide, whether you take over the responsibility for this article,

  • if not, then I will revert your removed 4533 bytes roughly, and don't forget that this case your choices was "no",
  • or if yes, then I will not give my name and knowledge to this article, and as a consequence I forbid to use my knowledge for you, hence this case I will revert the article to the version just before my huge contribution action (see the page history, that there was no essential contributions from other authors, except for robots and a few typo corrections in my new sentences), and in this case I do not permit you to use my knowledge and inventions I made in the structure of the article.

You have to understand, that I spent many-many hours to invent a much better structure and content, while you did not do the same effort and improvements.

If you will not make your selection between the not and yes above, then I will propose your behavior for public discussion.

prohlep (talk) 23:31, 20 July 2008 (UTC)

Do not maintenance tags without addressing them[edit]

Information.svg Welcome to Wikipedia. It might not have been your intention, but your recent edit removed maintenance templates from Wikipedia. When removing maintenance templates, please be sure to either resolve the problem that the template refers to, or give a valid reason for the removal in the edit summary. If this was a mistake, don't worry, as your removal of this template has been reverted. Take a look at the welcome page to learn more about contributing to this encyclopedia, and if you would like to experiment, please use the sandbox. Thank you.--Crossmr (talk) 14:57, 28 July 2008 (UTC)

Crossmr, which article are you referring to? I did not intend to remove a maintenance tag.Derek farn (talk) 15:39, 28 July 2008 (UTC)
Wasn't this your edit?[16]--Crossmr (talk) 16:51, 28 July 2008 (UTC)
I was not doubting what you said, just when it happened (7 days ago) and to which article. Derek farn (talk) 18:58, 28 July 2008 (UTC)
You claimed you didn't intend to remove a maintenance tag but you very obviously did. In the future please do not to do this without addressing the concern of the tag.--Crossmr (talk) 02:20, 29 July 2008 (UTC)

Benford's law[edit]

I noticed you reverted a small addition I made to the article, saying "This observation does not move the article forward at this point", which I think makes sense. Anyway, I put it back in in a different place. Do you think it's OK now? --Steve (talk) 18:30, 12 August 2008 (UTC)


Please do not try to solve differences by edit warring. Use a talk page to resolve different views and form a consensus. If you think you have a valid change to make, offer it and other editors can have some input. Rlsheehan (talk) 18:17, 20 August 2008 (UTC)

Optimization (computer science)[edit]

I really think you MUST live on a different planet if you genuinely think that MOST programs don't use a database. The exact reverse is probably true. In any case, the choice of which numeric data type in an input file (flat or otherwise) certainly has a huge impact on algorithm speeds irrespective of language.


It depends to some extent on how you define a database and there are many types.

Contrary to what you claim, I have used and built many databases constructed from flat files and I would argue that a flat file has some inherent structure in any case (sequence for one), usually a sequence of fixed or variable fields, effectively making it an array, just like a spreadsheet for instance - which can possess many database like qualities and features.

A file format does not a database make. From your response I would infer that you work with databases. I think this has given you a rather database slanted view of the world. Derek farn (talk) 16:45, 17 September 2008 (UTC)

I have reverted your removal yet again.

I see I am not the only one to complain about your deletions. (talk) 14:10, 17 September 2008 (UTC)

I don't remove comments from this talk page and mostly people with something to complain about post here. Derek farn (talk) 16:45, 17 September 2008 (UTC)
Actually, no I "don't work with databases" or anything else in particular, although I have designed many custom databases for specific applications, many based on flat (self indexed) files. I am neither biased, nor slanted and I rather think that you are from an academic, non "real-world" background, who sadly believes that algorithms don't require 'real data' on real databases, but rather, work from some abstract platonic realm of numbers that appear magically "as if from thin air" into their programs.

Most "real world" algoriths are written for the commercial world, almost ALL of which usually use some ill chosen commercial database of one form or another both to receive data and output it. Thus the choice of 'database' is crucial to the efficiency of the algorithm, both in terms of wasted data conversions (of which there are many), memory utilization, disk storage space, transmission throughput, as well as computations within the algorithm (eg fixed signed/unsigned binary versus floating point etc etc). Do you honestly believe that the choice of data definition does not affect the processing speed of a calculation ? Do you honestly believe that the 'data length' of an input does not affect its speed of entry/exit into/from the CPU, do you honestly believe that the data type does not affect transmission time ?, etc etc. You must be truly naive if you do.

That is quite apart from other database issues such as whether the input needs to be pre-sorted (or if its part of a 'relational' database where sorting is implicit in the design, but still hugely relevant in terms of indexes to be maintained). (I suspect you are not aware of internal database structuring/re-structuring, multiple indexes issues at all; I bet you even think that inputting a .csv or .tsv file is as efficient as fixed length record format, don't you?).

Or much more likely, as I said,neither 'input' nor 'output' figures in your platonic world at all!

I rest my case - but I can't actually be bothered to re-enter my point - let it reside as a permanent marker to your profound ignorance on the matter. ken (talk) 19:01, 21 September 2008 (UTC)

September 2008[edit]

Information.svg Please do not add content without citing reliable sources, as you did to GPS navigation software. Before making potentially controversial edits, it is recommended that you discuss them first on the article's talk page. If you are familiar with Wikipedia:Citing sources please take this opportunity to add references to the article. Contact me if you need assistance adding references. Thank you. Jonobennett (talk) 11:47, 25 September 2008 (UTC)

AfD nomination of Stropping[edit]

Ambox warning pn.svg

An article that you have been involved in editing, Stropping, has been listed for deletion. If you are interested in the deletion discussion, please participate by adding your comments at Wikipedia:Articles for deletion/Stropping. Thank you. Do you want to opt out of receiving this notice? Schuym1(talk) 19:30, 4 October 2008 (UTC) Schuym1(talk) 19:30, 4 October 2008 (UTC)

Information processing[edit]

Dear Derek farn, I'm sorry. After doing some research, I've concluded that your edit was not vandalism. I've reverted my edit. Have a nice day! AdjustShift (talk) 13:39, 10 October 2008 (UTC)

Programming language revert[edit]

Hello, recently the article on computer language was merged by me into the larger article on programming language. Seeing as discussion via reverting and edit summaries has hit a roadblock, I was wondering if we could discuss your reversion here. I believe that computer language (as previously explained by the article computer language until it was turned into a redirect) is a superset encorporating programing language, markup language, scripting language etc (contradictory to the programming language's definition of the term). Per the currect definition on programming language, computer languages is a subset of p.l. but per c.l. it is a superset. Is it possible to intergrate both of these definitions into the article without reversion? I would appreciate your opinion on this. Foxy Loxy Pounce! 01:45, 11 October 2008 (UTC)

Hello Foxy Loxy. I saw the original computer language article as being harmlessly redundant, so a merge would be a null event. I don't see how you can read the current programming language article as excluding scripting and markup languages; both are given as possible examples in the body of the language. Now some (but not all) markup languages are not Turing complete and there is a group of people who would exclude them from the set of programming languages for this reason. Perhaps the term computer language might be applied to any language associated with a computer (this sounds like an entry for wikidictionary). Derek farn (talk) 10:52, 11 October 2008 (UTC)
I presumed they were excluded due to this statement in the article: Non-computational languages, such as markup languages like HTML or formal grammars like BNF, are usually not considered programming languages. and thus sought to add the computer language paragraph to elaborate on that. Is this ok? Foxy Loxy Pounce! 02:59, 12 October 2008 (UTC)
I am surprised that the "Non-computational languages, such as ..." has survived this long without being changed. I probably come down on the side of agreeing with what is said, but I can understand the opposite point of view. Perhaps that is the wording you might want to suggest changing. Coming back to the phrase computer language, is it simply a language whose use is associated with a computer? Might it also include communication protocols (I have seen the press refer to such protocols as computer languages)? —Preceding unsigned comment added by Derek farn (talkcontribs)
Yes, I believe your definition could be correct, so am I ok to revise some sentences and add that paragraph (abeit changed) again? Foxy Loxy Pounce! 12:13, 15 October 2008 (UTC)

Friendly help[edit]

You may or may not already know this, but having seen some of your talk page and AfD discussions, I'm not sure you've have the concept of notability pointed out to you - namely that although we use the word glibly in day-to-day life, on Wikipedia, there is a detailed and exact set of guidelines on how to to determine notability objectively. Just click the preceding link, or go to WP:N - hopefully it should cause less confusion in discussions of this kind. If you already knew this, please accept my apologies Fritzpoll (talk) 08:43, 15 October 2008 (UTC)

Programming Language - revert of first paragraph[edit]

I added a comment on the Talk:Programming_language#concept_of_translation to explain what I am attempting to accomplish in the first paragraph. If you have read it, would you mind continuing the discussion there on whether or not some addition is warranted? I am advocating the layman's desire to get a complete (though not necessarily detailed) birds-eye view of the concept. Thanks! Pooryorick (talk) 16:05, 15 October 2008 (UTC)

You reverted my latest adition to the first paragraph as "unnecessarily detailed". But in the talk page it is argued that a change in that line is necessary. Would you care to come there and discuss? Diego (talk) 16:51, 15 October 2008 (UTC)

I responded to your argument for making this change in the article talk page prior to reverting it (that subsection is getting confusing with the various threaded discussions that are happening). Derek farn (talk) 18:46, 15 October 2008 (UTC)
Ok thanks. Diego (talk) 20:07, 15 October 2008 (UTC)

You've undone my re-prioritization of some sentences in the lead to the body of the article. In doing so, this time you're breaking a Wikipedia guideline. If you feel that the moved ideas have merit, please discuss so in the talk page; the proper solution should be to expand those ideas with sourced content that state their relative importance to the subject, before they can be put back in the lead. Diego (talk) 01:37, 18 October 2008 (UTC)

Revert wars[edit]

Hi, I didn't meant to be too rude in the comments of my latest edits. I want to ask you to always comment with its author the quality of an addition before reverting it, as you seem to remove additions by other editors without properly explaining why that information should not be in Wikipedia. Sometimes your edits could be merged with those of the other editor, or that editor could change the wording if you just cared to explain why do you think it's wrong (instead of destroying the other people's work, which is bad nettiquette in Wikipedia). Diego (talk) 13:27, 20 October 2008 (UTC)

Reverting Redundant Code[edit]

Hi Derek, Dorchard here. Could we please discuss the redundant code article further. As it stands with your most recent revert the majority of the information is academically incorrect. "Redundant code is a computer programming term for code that is executed but has no effect on the output of a program" - This is true but is not the whole story as this is also true of dead code. "(dead code is the term applied to code that is never executed)" This is completely false- dead code is code that is executed but whose result is never used (see my update to dead code. What is described here is unreachable code which on the previous wiki page was completely false. I am a compilers researcher and am supervising an Optimizing Compilers course and noticed how wrong the information on Wikipedia is so in an attempt to guide people I have - with citations - corrected the information. If you'd like to clarify things for yourself this paper is very good and describes the correct meanings for redundant code, dead code, and unreachable code -> I appreaciate that you may not be able to download this without an ACM account (do you work for a university?) If you don't please contact me and I can transcribe for you the relevant parts of the paper or alternatively send you a hard copy. --Dorchard (talk) 08:40, 21 October 2008 (UTC)

Reverting Unreachable Code[edit]

In Optimizing Compiler books and papers it is *never* that case that dead code == unreachable code. If you find otherwise please find references to the contrary. It is unethical to remove definitions and change definitions that are fully referenced without making your own cases for removal with citations from published sources. I can find more instances of these uses of dead code and unreachable code in common books for compilers if necessary. —Preceding unsigned comment added by Dorchard (talkcontribs) 08:52, 21 October 2008 (UTC)

Continued Reversion[edit]

Hi Derek. I see you have reverted again with the comment: "rv: Inaccurate and incorrect text + added citation" The citation you have added is a really good one, thanks. However the citation you have added backs up exactly my previous edits and invalidates your edits as it states, again, that unreachable code is not the same as dead code. May I draw you to the sections of the book that pertain to these terms:

page 592 (Dead-Code Elimination) Muchnick S. S. 1997 Advanced Compiler Design and Implementation. Morgan Kaufmann.

A variable is dead if it is not used on any path from the location in the code where it is defined to the exit point of the routine in question. An instruction is dead if it comptues only values that are not used on any executable path leading from the instructions.

page 580 (Unreachable-Code Eliminiation) Muchnick S. S. 1997 Advanced Compiler Design and Implementation. Morgan Kaufmann.

Unreachable code is code that cannot possibly be executed, regardless of the input data. It may never have been executable for any input data to being with, or it may have achieved that status as a result of other optimizations."

page 407 (Partial-Redundancy Eliminiation) Muchnick S. S. 1997 Advanced Compiler Design and Implementation. Morgan Kaufmann.

In essense, a partial redundancy is a computation that is done more than once on some path through a flowgraph.... [see the example at the end of the page and on page 408]

Please can we resolve this issue? I am happy to change the articles back and make the citations clearer with exact quotations from the Advanced Compiler Design and Implementation book, from the Appel book, and from various publications. I can give direct quotations if necessary if you think this will make it clearer. Alternatively if you have a citation of a source that supports your view please can we include that? Thanks. --Dorchard (talk) 12:45, 21 October 2008 (UTC)

I think our main disagreement is on the use of dead code? I could quote "Engineering a compiler" by Cooper and Torczon pages 422 & 493, but I don't think that is the solution. We are talking about common usage of a term rather than how particular books define it. A count of web pages returned by Google is one option for measuring common usage, other ideas welcome. I don't think we should directly quote from various text books. I am traveling for the next 8 hours, so no postings for a while. Derek farn (talk) 13:09, 21 October 2008 (UTC)
Yes I agree that our main disagreement is about dead code. What exactly does "Engineering a compiler" say about unreachable code and dead code? I sadly can't get hold of it- it doesn't seem to be in any of the libraries around me. We *should* not be talking about common usage relative to looking on Google and seeing "how" people use a word as this constitutes original research- which Wikipedia is not about. I am happy for us to include multiple possible definitions where there are published differences. In all the books and journal papers I have seen there is a distinction between dead code and unreachable code (and often a clear definition of redundant code), both of which are analysed differently (data flow analysis for dead code and control flow for unreachable). If "Engineering a compiler" says to the contrary then I agree that we should put forward the contrary view- but it must be correctly referenced and presented as an alternative not the definitive. We do not need to directly quote from textbooks if they are all in agreement but can merely put a reference. If we find published texts that are in agreement we should at least summarise their alternate views with citations. Could you fill me in on what the "Engineering a compiler" book says on this issue (Google books does not provide enough pages and oddly the book is not in my local UK copyright library or any others!?) Thanks- have a good journey. --Dorchard (talk) 15:15, 21 October 2008 (UTC)
I think that you are taking an overly academic approach to the definition. If various sources use a term in closely similar ways we ought to give the broad usage and then point out that some people only apply the term in a subset of those contexts. I will be back home tomorrow and can give quotes then. Using Google is not original research if we are using it to show that a term is used in various ways by a substantial number of people. I am based in industry, not a prolific source of published papers, and I commonly hear the term dead code used in the context of redundant code. Derek farn (talk) 09:57, 22 October 2008 (UTC)
Derek, Wikipedia does not document "common usage". It is very strict about verifiability, to the point that it's one of the core policies. So you should really are required by policy to include a quotation from "Engineering a compiler" if you want to document that usage: even if common sense says that some knowledge is widespread, it's still required to have a reliable source reporting it. This is how Wikipedia works. Diego (talk) 11:20, 22 October 2008 (UTC)
Thanks Diego. So the redundant-dead code debate is perhaps a different debate to dead-unreachable as "redundant" code as an adjective-noun composition could refer to any type of redundancy, thus encompassing dead code and unreachable code. However as a term in publications "redundant code" is used to mean computations that are performed more than once, therefore some computations are superfluous. Unreachable code and dead code definitions are a lot clearer relative to published sources as there is less confusion about the use of "redundant" as an adjective describing code and the more specific term "redundant code". Perhaps this is irrelevant- sorry.
Either way. I have put the publicised definition of unreachable code in the unreachable code article but there is have left the alternate view that dead code can refer to unreachable code- now we just need a good citation. Thanks --Dorchard (talk) 15:41, 22 October 2008 (UTC)
Sorry for the delay. I realised that the definition of dead code you were using was domain specific (ie, compiler writing; 'Optimizing compilers for modern architectures' by Allen & Kennedy defines it similarly). In the domain of static analysis it is used to mean (DO178B, a widely used standard for high integrity systems) "Dead code - Executable object code (or data) which, as a result of a design error cannot be executed (code) or used (data) in a operational configuration of the target computer environment and is not traceable to a system or software requirement"; from "Code Reading: The Open Source Perspective" by Spinellis page 372: "dead code - program code that is never executed.". Derek farn (talk)
Okay great. Can we then make a disctinction in the article between the compilers terminology and software development (would this be the correct categorisation?). I'm happy to have both definitions on the page as long as they are both cited, categorised, and explained. --Dorchard (talk) 16:16, 23 October 2008 (UTC)
Given these two uses it looks as if the articles dealing with redundant code and dead code ought to be merged. This will surprise many people (including me until very recently). To me using "dead code" to refer to code that is executed is just plane wrong, the fact that the result is not used makes it redundant not dead Derek farn (talk) 19:30, 23 October 2008 (UTC)
"Redundant" isn't when something is used twice? Diego (talk) 20:35, 23 October 2008 (UTC)

Rice's theorem[edit]

Please see my comment on Talk:Rice's theorem. — Carl (CBM · talk) 03:14, 27 October 2008 (UTC)


Hi Derek,

You edited my edit on this topic. Actually, in the last paragraph, your edit makes it more concise and keeps the the meaning. However, the main thing you removed was the explanation that gives meaning to the concept, namely the relationship between slugs, call stack depth, and the technique of finding them via sampling. Readers will want to know this, because slugs are clearly bad things. Since it looks like you're going to edit this, and you do have the ability to improve it, could I ask you to please put back in the key information?

Thanks, MikeDunlavey (talk) 20:07, 8 November 2008 (UTC)

Hi Mike. I am not convinced that function calls are the main performance culprit, choice of algorithm or simply different data characteristics than that expected by the original design are more likely to cause performance problems. Leaving that to one side, the call stack material looked like it would belong in some article (I had thought of Performance_tuning), but not the current one. The referenced paper is new to me and I have downloaded it to read, perhaps it will convince me that it is the best technique to use to solve this problem (but then I am not convinced this is the main problem that needs solving). As it stood the material was way too detailed for the context in which it appeared. Perhaps this technique should be mentioned as an example of one the the techniques that could be used? Do you have any references to work showing that the function calls are the main culprit? Derek farn (talk) 20:41, 8 November 2008 (UTC)
Derek, There is a reference to a Dr. Dobbs' article in 11/93: Performance Tuning: Slugging it out, in which an example of a perfectly ordinary application is increased in speed by 40 times. That is accomplished almost entirely by eliminating intermediate function calls. Also, I've published a book, now out of print, but you can still get a copy on Amazon if you wish: Building Better Applications, ISBN 0442017405 in which I discuss this in depth and give the same examples as in the article. Also, there is the recent SIGPLAN article. The original article on profiling was a SIGPLAN article. There are also a number of anecdotes that people have tried this, and are surprised at how well it works. But they keep quiet, because while you are gentle in your circumspection, others are anything but. For example:
I'm not surprised that you're not convinced - few programmers are, except the ones who've tried it, with an open mind. It is counterintuitive. Being counterintuitive does not make an idea wrong. For example, if I told you that a ball dropped onto a hard surface from height H could bounce to a height higher than H, you would think I'm nuts. But it can. If you drop it with another ball of 3x mass underneath it, it can bounce up to 4H. Add another ball of 5x, and you get 9H. It's a cannon. Likewise, call stack sampling is counterintuitive, but a simple experiment, on a nice, big, program will demonstrate it. This is a science, after all, so we believe in experiments. Intuition is a poor guide. And this is not an unimportant issue. MikeDunlavey (talk) 14:44, 9 November 2008 (UTC)
I forgot to mention. I hate "argument by prestige", but Jon Bentley gets it. Here's an email I got from him a year ago:

Mike, Published, and now (at least informally) cited. I've attached a copy of a talk on "Tiny Experiments for Computing and Life). I gave it last month at Dartmouth, I'll be giving it next week at William Paterson University, and next month at Yale. You'll notice that slide 37 is now a reference to your wonderful technique. I just give a mention to SIGPLAN Notices and to Wikipedia on the slide itself (I don't want to overwhelm), but all the details are there in the notes. Your technique fits in really well with the theme of "Tiny Experiments" -- you describe an experiment that is tiny indeed by is nonetheless very effective at identifying cycle hogs. Please let me know if I should change my description of your work in any way. Thanks again, and congratulations! Best, Jon

This is his slide:

   Dunlavey’s Call-Stack Sampling (Paraphrased)
     Run the program under a debugger, halt it with a “pause”
       button, and examine the call stack. Make a record of the
       call stacks observed.
     Any statement that appears on more than one call stack
       might be a time hog.
     Invoking a statement less frequently (or eliminating it)
       reduces execution time by the fraction of time it resided
       on the call stack.
     [Details in SIGPLAN Notices or Wikipedia]
MikeDunlavey (talk) 17:24, 9 November 2008 (UTC)

I put some text back in. I don't mind if you improve it.MikeDunlavey (talk) 01:08, 10 November 2008 (UTC)

Mike, I think we are talking at cross purposes. I would agree that periodic sampling of the current program counter is a a surprisingly simple, and good, way of locating hotspots (I used this technique with the UCSD p-System, which enabled programs to be manually interrupted {giving the current function/unit} and restarted). I think the previous material was way too detailed and even your current, less detailed, edits is probably too much information (lets see what other editors make of it over the coming weeks). This technique has been "discovered" multiple times, does it deserve its own article? What you you think about moving the details to Performance_tuning (with a link in the current article)? Derek farn (talk) 02:20, 10 November 2008 (UTC)

Thanks for bearing with me, Derek. Let me visit your points one at a time.

  • You agree that sampling of the PC is a surprisingly simple, and good, way of locating hotspots, i.e. instructions that account for large fractions of time. Now, just extend this thinking higher up the call stack. It will locate function call sites that account for large fractions of time. If wasteful code can occur at the bottom of the call stack, why suppose it does not happen higher up? If the stack is 30 levels deep (as in our current project), that's a lot of supposing. (Not to mention the multiplier effect of compounded waste.) If a function call, from call to return, is thought of as a single instruction, it usually accounts for orders of magnitude more time than simple instructions.
This argument assumes that execution time is uniform across a function. In practice time tends to be spent in loops, so it is these that need to be optimized (yes, there may be a function call within a loop and the first port of call may be to inline it). Compilers do perform function inlining, however the main saving come from the optimizations this exposes and not the removal of a call/return instruction pair). Derek farn (talk) 20:51, 10 November 2008 (UTC)
  • You think the current material is too detailed. That may be. The trick is how to make the exposition as simple as possible, but no more so. Brevity is not my forte, I'm afraid.
  • Has the technique (sampling the call stack, not just the PC) been discovered multiple times? If so, it's news to me, and apparently to all the folks who doubt it. (It's not that the sampling is a new idea, but the significance of what it tells one.) Does it need its own article? I'm not the expert on that.
I am not an expert either, but people who explain it to me always seem to have arrived at it by a route I have not heard before. Derek farn (talk) 20:51, 10 November 2008 (UTC)

You did ask earlier if I have any references to work showing that the function calls are the main culprit.

  • Well, it's not exactly peer-reviewed, but I've given a very detailed example in that Dr. Dobbs article. If you have an email address I can use, I will be happy to scan it and send it to you. It's not easy to find on-line. (Remember, speedup of 40 times, not percent.) You could doubt that the example is typical, but I can only assure you that is distilled from a real one.
  • Also, I would point out that a major part of the current technology of profiling implicitly recognizes that function calls are the culprit. Much of their analysis has to do with call graphs and function residence time, while PC sampling has become less relevant. This function-call information is used to locate so-called "bottlenecks". These tend to be whatever the reader thinks they are, but they could easily be seen as function calls that could be removed via optimization. A function can only have high residence time if it is being called, and to reduce that one can either call it less, or make it faster by having it make fewer subordinate calls. The point is that current profilers have implicitly recognized that extraneous function calls are a major performance issue. Sampling the call stack is a simple, and not generally known, way to locate them. This may all seem ho-hum, until you see how bad the problems can be and that programmers are not in fact fixing them, but rather supposing they don't exist.
From the point of view of memory residency a function is often treated as the smallest unit. Fancy optimizers split functions up into the frequently/less frequently executed pieces and put them in non-contiguous storage locations, but this is very leading edge stuff. Derek farn (talk) 20:51, 10 November 2008 (UTC)

Thanks, MikeDunlavey (talk) 13:42, 10 November 2008 (UTC)

I scanned the article (1.8MB). I will send it to you if you send me a contact email address to mdunlavey AT pharsight DOT com. MikeDunlavey (talk) 18:50, 10 November 2008 (UTC)

I took another crack at wording it. See what you think. MikeDunlavey (talk) 16:28, 12 November 2008 (UTC)


I added a low quality and disputed tag to Compiler. Please do not remove it without discussion. That article is low quality. Thanks History2007 (talk) 18:55, 27 December 2008 (UTC)

Hello. You removed some classical references to Compiler construction which I inserted in the Compiler article. It's not quite out-of-date. You wrote: "Only contained very old and hard to obtain material." They are considered classics and timeless, so I've added them in as historical in case of arguing modernity. I am re-inserting them. Consider just one, the Cocke and Schwartz book. It's been written: "Programming Languages and their Compilers [44], published early in 1970, devoted more than 200 pages to optimization algorithms. It included many of the now familiar techniques such as redundant code elimination and strength reduction, dealt extensively with graphs of control flow and their partitioning into 'intervals', and showed how to split nodes in an irreducible flow graph to obtain a reducible one." Cheers. --- (Bob) Wikiklrsc (talk) 20:35, 28 January 2009 (UTC)

While the books might be classics they are not of much use to modern day readers of the article. References to these book would be useful in a history of compilers article but they only serve to clutter the compiler article. The fact that a book devoted more than 200 pages to optimization is only of interest if nothing better has been written since, and there are now longer books that discuss many more algorithms in a lot more depth. Derek farn (talk) 13:01, 29 January 2009 (UTC)
Hello. I respectfully disagree with you, having been in the field for decades. You also moved the book and article references into a near-orphaned article on the History of Compilers, which was seemingly awkward. All the more recently published books rely on the critical seminal aspects and breakthroughs of the books I cited. You likely haven't read them, so you don't know. A real disruption has been created, and hours of work on the article by me has been brushed away by you unilaterally. This is not good form. --- (Bob) Wikiklrsc (talk) 14:51, 29 January 2009 (UTC)
But, Derek, thanks for starting the ball rolling on the History of compiler writing. I'll be adding to it. Best Wishes. --- (Bob) Wikiklrsc (talk) 20:03, 30 January 2009 (UTC)

Little context in History of compiler writing[edit]

Information icon.svg

Hello, this is a message from an automated bot. A tag has been placed on History of compiler writing, by another Wikipedia user, requesting that it be speedily deleted from Wikipedia. The tag claims that it should be speedily deleted because History of compiler writing is very short providing little or no context to the reader. Please see Wikipedia:Stub for our minimum information standards for short articles.

To contest the tagging and request that administrators wait before possibly deleting History of compiler writing, please affix the template {{hangon}} to the page, and put a note on its talk page. If the article has already been deleted, see the advice and instructions at WP:WMD. Feel free to contact the bot operator if you have any questions about this or any problems with this bot, bearing in mind that this bot is only informing you of the nomination for speedy deletion; it does not perform any nominations or deletions itself. To see the user who deleted the page, click here CSDWarnBot (talk) 13:08, 29 January 2009 (UTC)


Putting "bar" there yield the same output, but... it doesn't demonstrate what is supposed to be demonstrated. Leave it as "FOO". - Richfife (talk) 00:44, 13 March 2009 (UTC)

Algorithmic efficiency[edit]

Of course algorithmic efficiency is the reason for compiler optimization - what other reason could there be !!! Similarly, reducing power consumption is naturally important for carbon footprint issuesken (talk) 07:38, 29 March 2009 (UTC)

As the article goes on to point out, space efficiency is also a reason for optimization. Also compilers do not usually change the algorithm used by a program but simple generate higher quality code for what has been written. Carbon footprint is not a primary driver in optimizing to reduce power consumption, it is a trendy term circulating at the moment that bears little connection to the article. Derek farn (talk) 12:35, 29 March 2009 (UTC)

Identifier (computing)[edit]

Nuvola apps important.svg

This is an automated message from CorenSearchBot. I have performed a web search with the contents of Identifier (computing), and it appears to be very similar to another Wikipedia page: Identifier. It is possible that you have accidentally duplicated contents, or made an error while creating the page— you might want to look at the pages and see if that is the case. If you are intentionally moving or duplicating content, please be sure you have followed the procedure at Wikipedia:Splitting by acknowledging the duplication of material in edit summary to preserve attribution history.

This message was placed automatically, and it is possible that the bot is confused and found similarity where none actually exists. If that is the case, you can remove the tag from the article and it would be appreciated if you could drop a note on the maintainer's talk page. CorenSearchBot (talk) 11:10, 27 April 2009 (UTC)

Copy-and-paste page moves[edit]

Ambox warning pn.svg

Hello, Derek farn. Concerning your contribution, Identifier (computing), a page move cannot be done by simply copying and pasting the contents of a page into a new location, as such a process does not transfer the page's edit history and therefore violates the GNU Free Documentation License (GFDL). As a violation of the page move process, Identifier (computing) needs to be temporarily deleted under the speedy deletion criteria so that the page you intended to move may be properly moved in a way that will preserve its edit history. Identifier (computing) has been tagged for deletion, and may have been deleted by the time you see this message. If not, please refrain from editing either the page you intended to move or Identifier (computing) until the latter has been deleted according to Wikipedia's speedy criterion G6 (non-controversial housekeeping).

If you did not intend to make a page move, then please insert the {{hangon}} tag right below the {{db-copypaste}} tag in Identifier (computing) and state your intentions on Talk:Identifier (computing). An administrator will look at your reasoning before deciding what to do. Thank you for your contributions.  Blanchardb -MeMyEarsMyMouth- timed 11:12, 27 April 2009 (UTC)


If you can provide evidence that RoadMap is notable, feel free to re-create it at RoadMap (software). — RHaworth (Talk | contribs) 10:04, 30 June 2009 (UTC)

Perl parsing may not finish[edit]

That statement is factually correct. I'm not sure what you're trying to say, but you're probably thinking of the fact that the halting problem is decidable for Turing machined with a finite number states. But the Perl language is Turing-complete. The fact that it's normally run on machines with finite hardware does not change its Turing completeness as a language (nor does it change the Turing-completeness of any other Turing-complete programming language). Since deciding whether a Perl BEGIN statement finishes is equivalent in general to solving the halting problem, the membership in the class of syntactically correct Perl programs is an undecidable problem. It follows that the parsing phase for Perl may not finish for some programs, since no algorithm can decide syntactic validity of Perl programs in general. This is the basic idea of the (rather convoluted) proofs given in the references cited there. Pcap ping 00:11, 13 September 2009 (UTC)

Pcap you are simply creating a drama where none exists. As written the wording sounds if these obscure cases can happen for a PERL program that somebody can write on a real computer. This undecidability issues require a computer with an infinite amount of memory. Derek farn (talk) 10:52, 13 September 2009 (UTC)
You seem to fail to grasp some basic topics in computability, so I thought that my previous message might explain things that don't necessarily belong on the article's talk page because that's not a classroom message board. Based on the rest of your talk page, I would not rush to accuse others of creating drama. The sources clearly say that Perl parsing is undecidable in general, and like I explained above that result does not "require a computer with an infinite amount of memory" as you state. Like I wrote in my edit summaries, the Perl programs that fail to finish parsing do no require an infinite amount of memory. Pcap ping 17:45, 13 September 2009 (UTC)


So, what are the other ways of writing non-integer numbers in unary? Protactinium-231 (talk) 02:46, 23 December 2009 (UTC)

Fixed point and continued fractions are two that spring to mind. Derek farn (talk) 15:45, 23 December 2009 (UTC)

Low quality reference[edit]

Added back - since the reference is perfectly valid and not at all 'low quality'. These optimizer products were in widespread use worldwide at 1000,s of COBOL sites and, of course, pre-dated modern post-pass optimizers on PC hardware by 30 years or so. It is simply that anything tagged mainframe is automatically assumed to be dated and irrelevant - not so. —Preceding unsigned comment added by (talk) 16:36, 4 January 2010 (UTC)

I have nothing against Cobol or mainframes, having worked on a Cobol compiler and on mainframes. A link to a 1982 article behind a pay-wall is of no use to most readers and there are freely available articles that could be linked too and given some free time I will link to one of them. Derek farn (talk) 13:07, 5 January 2010 (UTC)

Floating point "based on single thread of execution"[edit]

In the floating point article you have reworded it, quite well I must say, but one small point I have is that you put "programming model is based on a single thread of execution". I am not really sure what you mean here, because as far as I know the IEEE standard is purely declarative, i.e. just says the expected inputs and outputs of a single FLOP. (I haven't read it for a while, admittedly, and not in its latest version.) So I don't really understand your intent on adding this, over and above all the usual problems of atomicity in multi-threaded code. Could you perhaps explain a bit better?

Thanks and best wishes Si Trew (talk) 14:53, 8 January 2010 (UTC)

The original wording included a somewhat confused discussion about the problems of multi-threaded applications accessing error/status bits. This is a valid point and I simplified it to just saying that the IEEE standard used a model that involved a single thread (as you say the standard says no such thing, but I meant it said this by implication). It sounds as if I have been overly terse and that the discussion on this point ought to be expanded upon. Perhaps a brief paragraph is needed? Derek farn (talk) 17:19, 8 January 2010 (UTC)

AfD nomination of List of numerical analysis software[edit]

Ambox warning pn.svg

An article that you have been involved in editing, List of numerical analysis software, has been listed for deletion. If you are interested in the deletion discussion, please participate by adding your comments at Wikipedia:Articles for deletion/List of numerical analysis software. Thank you.
Please contact me if you're unsure why you received this message. Jwesley78 21:22, 24 February 2010 (UTC)

reverting your revert[edit]

Hi. In Talk:Programming_language#reverting_a_bad_revert I just explained why I reverted your revert. In my opinion, the version of the article that you reverted was actually better than the version you reverted it to. Even if it was only equally good, you should have let it stand, so as not to discourage other editors from contributing to Wikipedia. If you want to revert my reversion of your revert, go ahead, but please explain why you think the old version is better than the new version on the talk page of the article. Kragen Javier Sitaker (talk) 23:10, 12 December 2010 (UTC)

Your edits in WebM: Risk of edit warring[edit]

Hello, Derek farn

Please allow me to be frank with you: The event of two editors reverting edits of each other without attempting to discuss, known as Edit warring, is a very bad behavior that is not tolerated in Wikipedia. Please try not to engage in edit warring.

To be equally frank have you actually looked at the edit history? I made a change, somebody reverted citing a rather poor reason and I changed my edit to address that reason. Now you have reverted my edit without giving any reason for doing so, it seems to me you are the one who needs an edit warning. As per the comment on my edit I have simplified what was a rather bloated few sentences. Derek farn (talk) 14:42, 21 April 2011 (UTC)

One way of avoiding edit warring is following Wikipedia:BOLD, revert, discuss cycle guideline. Note that you had already removed contents from WebM article that Mabdul (talk · contribs) has once contested. So, please do not repeat it again. If you think your edit was okay, please discuss it in talk page. Do not repeat your edit until you reach a consensus.

Thanks in advance. Fleet Command (talk) 12:36, 21 April 2011 (UTC)

Power law[edit]

ref revision - rv: Lots of text relating to a recently published method whose overall significance is as yet unknown.

Dear Derek farn, the meaning of the method seems clear: it provides a novel criterion of estimate of power law distribution exponent and a formulation for its confidence interval. In the cited reference it is illustrated the theoretical derivation of formulas and it is shown by means of Monte Carlo simulation that this criterion provides a more convergent estimator of power law exponent than maximum likelihood method. I retain that terms such as “unknown significance” or “ambiguous quality” (so as stated by unknown user in revision of 25 April 2011) are inappropriate when dealing with theoretical topics. A theoretical proof can only be correct or incorrect. Maybe the text is not sufficiently clear. I would be grateful for providing me some suggestion aimed to make it more readable/clear. Thanks. Structuralgeol (talk) 00:39, 2 May 2011 (UTC)

June 2011[edit]

Please do not remove content or templates from pages on Wikipedia, as you did to Mechanical system, without giving a valid reason for the removal in the edit summary. Your content removal does not appear constructive, and has been reverted. Please make use of the sandbox if you'd like to experiment with test edits. Thank you. Gavin.perch (talk) 05:49, 9 June 2011 (UTC)

Gavin.perch, I am surprised by your claim that you do not consider the edit summary "Removed material only dealing with machines to prevent confusion with article on machines" to be a valid reason for removing material from the Mechanical system article. You should review the machine article to see that User:Prof McCarthy has cut-and-pasted large amounts of material over to the mechanical system article. Large scale duplication is not Wikipedia policy. Please do not revert edits dealing with two articles without reviewing both of them carefully. Derek farn (talk) 11:17, 9 June 2011 (UTC)
The Mediation Cabal: Request for case participation
Dear Derek farn: Hello, my name is MacMed; I'm a mediator from the Mediation Cabal, an informal mediation initiative here on Wikipedia. You've recently been named as a dispute participant in a mediation request here:
[[Wikipedia:Mediation Cabal/Cases/2011-05-08/Power law]]

I'd like to invite you to join this mediation to try to get this dispute resolved, if you wish to do so; note, however, it is entirely your choice whether or not you participate, and if you don't wish to take part in it that's perfectly alright. Please read the above request and, if you do feel that you'd like to take part, please make a note of this on the mediation request page. If you have any questions or queries relating to this or any other dispute, please do let me know; I'll try my best to help you out. Thank you very much. Best regards,


Nuvola apps edu languages.svg
Hello, Derek farn. You have new messages at Wikipedia:Mediation Cabal/Cases/2011-05-08/Power law.
Message added 23:06, 22 June 2011 (UTC). You can remove this notice at any time by removing the {{Talkback}} or {{Tb}} template.

MacMedtalkstalk 23:06, 22 June 2011 (UTC)


Nuvola apps edu languages.svg
Hello, Derek farn. You have new messages at Wikipedia:Mediation Cabal/Cases/2011-05-08/Power law.
Message added 21:20, 3 July 2011 (UTC). You can remove this notice at any time by removing the {{Talkback}} or {{Tb}} template.

MacMedtalkstalk 21:20, 3 July 2011 (UTC)


Are you sure that my paragraph is a POV? Was it factually incorrect? Well, by providing the mathematical equations I used, I tried to prevent any kind of inaccuracy. — Preceding unsigned comment added by (talk) 17:30, 14 July 2011 (UTC)

I agree with the sentiments of the comment and would have just made the change you made and not inserted a comment. The comment is the point of view of somebody with an efficiency perspective (i.e., there is no real inefficiency caused by the change). I had to put something in the edit summary, so was brief. Derek farn (talk) 19:24, 14 July 2011 (UTC)

Static Code Analysis deletions[edit]

Why were you deleting entries from the list of Static Code Analyzers out there? Just because there doesn't happen to be a page on Wikipedia for the program in question doesn't mean it shouldn't be in the list. It simply means that nobody's bothered to write an article about them yet.

I say this in the interest of fairness only. From a purely mercenary point of view, I wouldn't mind people not knowing about competition to the product I work on. From a broader perspective though, Wikipedia needs to be entirely fair. If something gets dropped, it should be a reason stronger than an annoying red link. You can always remove the link marker, leaving the product in question in the list. — Preceding unsigned comment added by Rpapo (talkcontribs) 11:00, 28 July 2011 (UTC)

Rpapo, what originally caught my eye was that some of the entries were not particularly notable. While I regard myself as being on the inclusionist rather than the deletionist wing of Wikipedia I don't think all tools should be listed. A least one of the red linked items I deleted is notable and I was surprised that it did not have an article. There are editors who go around removing long lists from articles (there is a rule against such things {I wish this would be changed)) and I did not want to give ammunition to such people with this list. Derek farn (talk) 11:54, 28 July 2011 (UTC)

October 2011[edit]

You currently appear to be engaged in an edit war according to the reverts you have made on Floating point. Users are expected to collaborate with others, to avoid editing disruptively, and to try to reach a consensus rather than repeatedly undoing other users' edits once it is known that there is a disagreement.

Please be particularly aware, Wikipedia's policy on edit warring states:

  1. Edit warring is disruptive regardless of how many reverts you have made; that is to say, editors are not automatically "entitled" to three reverts.
  2. Do not edit war even if you believe you are right.

If you find yourself in an editing dispute, use the article's talk page to discuss controversial changes; work towards a version that represents consensus among editors. You can post a request for help at an appropriate noticeboard or seek dispute resolution. In some cases it may be appropriate to request temporary page protection. If you engage in an edit war, you may be blocked from editing. --Guy Macon (talk) 21:09, 5 October 2011 (UTC)

So, a couple of minor updates means I am engaged in an edit war? I think not. Guy Macon, please stop being a drama queen. Derek farn (talk) 21:01, 6 October 2011 (UTC)
Please do not attack other editors. Comment on content, not on contributors. Personal attacks damage the community and deter users. Please stay cool and keep this in mind while editing. Thank you. --Guy Macon (talk) 23:41, 6 October 2011 (UTC)

list of static code analysis tools[edit]

Hello there,

checKing deserves to be in the list since it is a tool that complies with the content of the list as much as the other commercial tools listed. I don't want to start an editing war here. I think that if this list is thought as reference of static code analysis tools it has to be as complete as possible. Javier.salado (talk) 11:41, 24 November 2011 (UTC)

Hello Javier.salado, Thanks for starting this discussion rather than an edit war. In the past the criteria for adding a link to a commercial tool was that there be an existing Wikipedia article on that tool. If an article is created the discussion of relevance then centers around that article. When I reverted your edit there was no article on the checking tool, perhaps you could start the ball rolling by writing an article on this tool. Derek farn (talk) 13:48, 24 November 2011 (UTC)

Generating strings[edit]

Do you think you could improve this article a bit? I think it's potentially a valid topic, but the article is a bit useless as it stands. —Ruud 02:32, 5 December 2011 (UTC)

It is a bit thin on the ground. I have added a few links to it and added another example. I will see what more I can do later. Derek farn (talk) 02:58, 5 December 2011 (UTC)

arbitrary precision[edit]

You removed an external reference which presents a broader and clear disucssion of basic arbitrary precision computing. Why Wiki people (the same person to protect his own reference?) tend to delete useful references of this page? You have deleted a useful reference to many scientific students of teachers. — Preceding unsigned comment added by (talk) 20:48, 21 December 2011 (UTC)

The cited paper does not add any significant new information and does not provide teaching material that is is better than that provided by the many articles referenced in the article itself. Could you please list the information contained in the article you referenced that makes it worthy of being an external reference? Derek farn (talk) 21:27, 21 December 2011 (UTC)
I believe the has a WP:COI wrt the paper. See discussion at Talk:Arbitrary-precision arithmetic#Link to article about undergrad project Glrx (talk) 23:22, 24 December 2011 (UTC)

External links[edit]

Our external linking policy does not permit linking to mailing lists or newsgroups or other sites primarily based on user-submitted content. External links should be informative, not useful. Surely there are informative sites about compiler construction that could be added, but the links I removed should not be re-added. Yworo (talk) 21:11, 22 December 2011 (UTC)

Yworo, your characterization of external linking policy is incorrect. The relevant subsection heading is "Links normally to be avoided", which is very different than "does not permit". comp.compilers is over 30 years old and is packed full of very informative information. Please stop removing such useful links from an article for overly trivial reasons. Derek farn (talk) 23:38, 22 December 2011 (UTC)
Newsgroups are specifically listed in WP:ELNO #10. The reason blogs, forums, mailing lists, newgroups and other sources with user contributed content are restricted is that they may at any time contain copyright violations and/or libel over which we have no control. A guideline should be followed unless there is consensus to do otherwise. I've checked the talk page archives, and there has been no discussion of the link: this is just a disagreement between two editors, so right now, since there is no consensus to do otherwise, we follow the guideline. Feel free to use third-opinion or the request for comment process to develop a consensus to include the link. Yworo (talk) 02:25, 23 December 2011 (UTC)
Additionally, a link to the comp.compilers newsgroup is included on the DMOZ page I linked. Linking to DMOZ is the normal method we use to point to links that are otherwise to be avoided. It adds only a single click and scroll to find the desired content. Yworo (talk) 02:33, 23 December 2011 (UTC)


Original Barnstar.png The Original Barnstar
This barnstar is awarded to everyone who - whatever their opinion - contributed to the discussion about Wikipedia and SOPA. Thank you for being a part of the discussion. Presented by the Wikimedia Foundation.

Criteria for Speedy Deletion[edit]

Hey there! I just wanted to touch bases on the Speedy Deletion process. While the creator of an article cannot remove a speedy deletion tag, any other editor may review and assess the tag in accordance with the deletion policy and decline the deletion as appropriate. You can find out more information about the CSD process here, while the deletion policy may be found here. Please feel free to contact me anytime you have questions or need assistance. Best regards, Cind.amuse (Cindy) 12:42, 26 January 2012 (UTC)

Cind., sorry for the delay in getting back to you. What is your rationale for wanting to keep an article that is so obviously reads almost like an academic's CV. Derek farn (talk) 03:44, 27 January 2012 (UTC)

Unsourced edits[edit]

I have again removed your additions at Name generator. As WP:BURDEN states, "[t]he burden of evidence lies with the editor who adds or restores material". The claims about the history and purpose of name generators is unsourced and seems to express your POV. The language is unencyclopedic in its use of second person. We should also stick to "examples" from reliable, third-party published sources. Wyatt Riot (talk) 16:52, 29 January 2012 (UTC)

Disambiguation link notification[edit]

Hi. When you recently edited Secular variations of the planetary orbits, you added a link pointing to the disambiguation page Driving force (check to confirm | fix with Dab solver). Such links are almost always unintended, since a disambiguation page is merely a list of "Did you mean..." article titles. Read the FAQ • Join us at the DPL WikiProject.

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, DPL bot (talk) 10:35, 14 February 2012 (UTC)

Dispute resolution survey[edit]

Peace dove.svg

Dispute Resolution – Survey Invite

Hello Derek farn. I am currently conducting a study on the dispute resolution processes on the English Wikipedia, in the hope that the results will help improve these processes in the future. Whether you have used dispute resolution a little or a lot, now we need to know about your experience. The survey takes around five minutes, and the information you provide will not be shared with third parties other than to assist in analyzing the results of the survey. No personally identifiable information will be released.

Please click HERE to participate.
Many thanks in advance for your comments and thoughts.

You are receiving this invitation because you have had some activity in dispute resolution over the past year. For more information, please see the associated research page. Steven Zhang DR goes to Wikimania! 02:15, 6 April 2012 (UTC)

Disambiguation link notification for June 22[edit]

Hi. Thank you for your recent edits. Wikipedia appreciates your help. We noticed though that when you edited Maximal munch, you added a link pointing to the disambiguation page Code generation (check to confirm | fix with Dab solver). Such links are almost always unintended, since a disambiguation page is merely a list of "Did you mean..." article titles. Read the FAQ • Join us at the DPL WikiProject.

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, DPL bot (talk) 10:53, 22 June 2013 (UTC)

Disambiguation link notification for September 1[edit]

Hi. Thank you for your recent edits. Wikipedia appreciates your help. We noticed though that when you edited Laning and Zierler system, you added a link pointing to the disambiguation page Algebraic notation (check to confirm | fix with Dab solver). Such links are almost always unintended, since a disambiguation page is merely a list of "Did you mean..." article titles. Read the FAQ • Join us at the DPL WikiProject.

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, DPL bot (talk) 14:22, 1 September 2013 (UTC)

February 2014[edit]

Hello, I'm BracketBot. I have automatically detected that your edit to Quine (computing) may have broken the syntax by modifying 3 "{}"s. If you have, don't worry: just edit the page again to fix it. If I misunderstood what happened, or if you have any questions, you can leave a message on my operator's talk page.

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, BracketBot (talk) 22:15, 23 February 2014 (UTC)

November 2014[edit]

Hello, I'm BracketBot. I have automatically detected that your edit to Error analysis (mathematics) may have broken the syntax by modifying 1 "()"s and 1 "[]"s likely mistaking one for another. If you have, don't worry: just edit the page again to fix it. If I misunderstood what happened, or if you have any questions, you can leave a message on my operator's talk page.

List of unpaired brackets remaining on the page:
  • to a problem. This issue is particularly prominent in applied areas such as [[numerical analysis]]) and [[statistics].

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, BracketBot (talk) 00:40, 3 November 2014 (UTC)

Disambiguation link notification for January 30[edit]

Hi. Thank you for your recent edits. Wikipedia appreciates your help. We noticed though that when you edited SPARQL, you added links pointing to the disambiguation pages Schema, Graph and Predicate (check to confirm | fix with Dab solver). Such links are almost always unintended, since a disambiguation page is merely a list of "Did you mean..." article titles. Read the FAQ • Join us at the DPL WikiProject.

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, DPL bot (talk) 09:25, 30 January 2015 (UTC)