Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing/incorrect authors for the example programs #19

Open
j4james opened this issue Sep 26, 2018 · 3 comments
Open

Missing/incorrect authors for the example programs #19

j4james opened this issue Sep 26, 2018 · 3 comments

Comments

@j4james
Copy link

j4james commented Sep 26, 2018

Based on what I've been able to find in the archives of the Befunge mailing list, I think I know the authors of some of the uncredited example programs.

  • rand6.bf, which is currently tentatively credited to Artyom Baranov, was actually written by you (on 1996/03/10).
  • rand7.bf is the one that was written by Artyom N. Baranov (on 1996/02/28).
  • selflist.bf was written by Dmitry Litvinov (on 1996/02/21).
  • surprise.bf was written by Timothy Howe (on 1996/11/26).

Now we get to the more complicated issue of the quine mixup. You've got two 14-byte quines, selflis3.bf and selflis6.bf, which are identical. One is credited to Kevin Vigor, and one to Denis Moskowitz.

From what I can tell, Kevin come up with the first 14 byte quine (inspired by Ben Olmstead's 15 byte solution), but he got his loop length slightly wrong, so it was outputting an extra couple of spaces at the end that it shouldn't have. He posted a "fix" soon afterwards, but that was still off by one. And in the meantime, Denis had also noticed the problem, and posted a correct fix. So technically Denis was the first to post the correct version, but it was really just a trivial fix of Kevin's solution.

So that's the history - how you want to deal with the credits I'll leave up to you. But I do think having two identical examples is a bit confusing. And if you want a date for this, note that all of these solutions were posted on May 8th, 1997.

Then continuing the quine confusion, there are another four quines which are essentially just duplicates of some of the selflis set, only with a b97 directive header tacked on the front.

  • revquine.bf is a copy of selflis2.bf
  • quine.bf is a copy of selflis3.bf and/or selflis6.bf
  • quine2.bf is a copy of selflis5.bf
  • quine3.bf is a copy of selflist.bf, and has been miscredited (I believe) to Andrew Turley, since as far as I can tell, selflist.bf was written by Dmitry Litvinov, and at an earlier date than the one given in the quine3 header.

I'm not sure there's a whole lot of value in keeping these partial duplicates, but if you do, you should probably double check the credits of that last one.

And on a related noted, if you want an estimated date for Andrew Turley's sig, the oldest example I've seen of it was on a mailing lists post on October 30th, 1997. It was almost certainly not around before June 20th, since he was using a different version of the sig then (he'd had it in one form or another from at least February 1997).

I'm not sure why I spent so much time researching all of this, but there you are.

@cpressey
Copy link
Member

This is awesome. Thank you for doing this.

I think revquine.bf, quine.bf, quine2.bf, and quine3.bf came into existence when I learned that self-listing programs were called quines, and started a misguided project to "fix" their names. They should be deleted.

The provenance of selflist.bf has been asked about before with inconclusive results, but if it appears in the mailing list archives from Dmitry Litvinov I'll definitely go with that attribution.

@cpressey
Copy link
Member

cpressey commented Oct 2, 2018

I'm beginning to make the fixes described here.

Re selflis3.bf and selflis6.bf, I think maybe one way to fix it is to make the two sources non-identical, and make selflis3.bf be Kevin Vigor's earlier, "flawed" version.

I say this because obviously Kevin deserves some credit, and outputting extra spaces is, well, it's not perfect but it hardly seems like a fatal flaw for a self-listing program.

The other option would be to delete one of these sources, and list these two individuals as co-authors on one of these sources. This is an option but it currently seems like the less desirable one to me (partly because Markdown tables are less than fantastic).

However I don't have Kevin Vigor's version at hand. If I bring myself to go mailing-list diving for it, or if you would be so kind to supply it, then I may go for the first option, otherwise I may go with the second.

(btw, the README gives dates of 5/28/97 and 5/8/97 respectively for these two, which, based on your report, sounds like it must be wrong.)

@j4james
Copy link
Author

j4james commented Oct 2, 2018

I think including Kevin's original version as a separate program is a good way to credit him. This is the source of his second attempt (which only has one extra space):

:0g,:94+`#@_1+

And yes, the dates should be May 8, 1997 for both of them, if the mailing list logs are to be believed. If you want to double check, these are the message ids that you can search for:

Kevin's original attempt that was off by two:

Date: Thu, 8 May 97 14:22:10 -0700
Message-ID: <227871.ensmtp@slc.eng.ascend.com>

His later fix that was off by one:

Date: Thu, 8 May 97 14:44:42 -0700
Message-ID: <227931.ensmtp@slc.eng.ascend.com>

Denis' correction that got it exactly right:

Date: Thu, 8 May 1997 14:38:45 -0700 (PDT)
Message-Id: <199705082138.OAA29698@turing.cs.hmc.edu>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants