{"action":"created","issue":{"url":"https://api.github.com/repos/virtualagc/virtualagc/issues/572","repository_url":"https://api.github.com/repos/virtualagc/virtualagc","labels_url":"https://api.github.com/repos/virtualagc/virtualagc/issues/572/labels{/name}","comments_url":"https://api.github.com/repos/virtualagc/virtualagc/issues/572/comments","events_url":"https://api.github.com/repos/virtualagc/virtualagc/issues/572/events","html_url":"https://github.com/virtualagc/virtualagc/issues/572","id":197584648,"number":572,"title":"Certainly fixes to AGC comment text have a tendency to be incorrect","user":{"login":"rburkey2005","id":11841400,"avatar_url":"https://avatars.githubusercontent.com/u/11841400?v=3","gravatar_id":"","url":"https://api.github.com/users/rburkey2005","html_url":"https://github.com/rburkey2005","followers_url":"https://api.github.com/users/rburkey2005/followers","following_url":"https://api.github.com/users/rburkey2005/following{/other_user}","gists_url":"https://api.github.com/users/rburkey2005/gists{/gist_id}","starred_url":"https://api.github.com/users/rburkey2005/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rburkey2005/subscriptions","organizations_url":"https://api.github.com/users/rburkey2005/orgs","repos_url":"https://api.github.com/users/rburkey2005/repos","events_url":"https://api.github.com/users/rburkey2005/events{/privacy}","received_events_url":"https://api.github.com/users/rburkey2005/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"thewonderidiot","id":94056,"avatar_url":"https://avatars.githubusercontent.com/u/94056?v=3","gravatar_id":"","url":"https://api.github.com/users/thewonderidiot","html_url":"https://github.com/thewonderidiot","followers_url":"https://api.github.com/users/thewonderidiot/followers","following_url":"https://api.github.com/users/thewonderidiot/following{/other_user}","gists_url":"https://api.github.com/users/thewonderidiot/gists{/gist_id}","starred_url":"https://api.github.com/users/thewonderidiot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thewonderidiot/subscriptions","organizations_url":"https://api.github.com/users/thewonderidiot/orgs","repos_url":"https://api.github.com/users/thewonderidiot/repos","events_url":"https://api.github.com/users/thewonderidiot/events{/privacy}","received_events_url":"https://api.github.com/users/thewonderidiot/received_events","type":"User","site_admin":false},"assignees":[{"login":"thewonderidiot","id":94056,"avatar_url":"https://avatars.githubusercontent.com/u/94056?v=3","gravatar_id":"","url":"https://api.github.com/users/thewonderidiot","html_url":"https://github.com/thewonderidiot","followers_url":"https://api.github.com/users/thewonderidiot/followers","following_url":"https://api.github.com/users/thewonderidiot/following{/other_user}","gists_url":"https://api.github.com/users/thewonderidiot/gists{/gist_id}","starred_url":"https://api.github.com/users/thewonderidiot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thewonderidiot/subscriptions","organizations_url":"https://api.github.com/users/thewonderidiot/orgs","repos_url":"https://api.github.com/users/thewonderidiot/repos","events_url":"https://api.github.com/users/thewonderidiot/events{/privacy}","received_events_url":"https://api.github.com/users/thewonderidiot/received_events","type":"User","site_admin":false}],"milestone":null,"comments":20,"created_at":"2016-12-26T12:47:31Z","updated_at":"2016-12-27T13:41:08Z","closed_at":null,"body":"# The Problem\r\n\r\nI have recently been proofing and correcting comment text in AGC source-code files using the [octopus/ProoferComments](https://github.com/virtualagc/virtualagc/wiki/Verifying-Correctness-of-Comment-Text-in-AGC-Source-Code-Files), but a small percentage of those fixes have tended to break already-correct comments in a systematic way, by removing certain characters which were actually supposed to be present.\r\n\r\nThe scenario in which the problem occurs is best illustrated by comments which serve as documentation of the functionality of a log section, a program, or a subroutine, as in this slightly-edited excerpt from Luminary210/P51-53.agc:\r\n\r\n<pre>\r\n# PROGRAM NAME- PROG52          DATE- JAN 9, 1967\r\n# MOD NO- 0                     LOG SECTION- P51-P53\r\n# MODIFICATION BY- LONSKE       ASSEMBLY- SUNDANCE REV 46\r\n\r\n# FUNCTIONAL DESCRIPTION-\r\n\r\n#      ALIGNS THE IMU TO ...\r\n</pre>\r\n\r\nIn this example, heading names are followed by a '-' character, though in other cases they may alternatively be followed by '\\_' or ':', depending on the whims of the original developer, I suppose.\r\n\r\nThe _problem_ is that naively proofing using octopus/ProoferComments has a fairly high probability of _removing_ the '-', '\\_', or ':' character during the proofing process.  I do not have statistics, but for the sake of argument let's suppose that the probability of this false removal is 25%.  Furthermore, the nature of the proofing process is such that additional proofing passes using octopus/ProoferComments cannot detect the error and restore the now-missing '-', '\\_', or ':'.\r\n\r\nThe cause of this problem is that it is octopus itself removes these characters from the proofing images created by ProoferComments, so from the proofing images, the absence of these characters seems perfectly correct ... it is only by consulting the original scans that the truth can be determined.  And while this consultation with the original scans is feasible (though time-consuming) in the initial proofing pass with octopus/ProoferComments, in subsequent proofing passes there is nothing whatever which would prompt someone to make such a check!\r\n\r\nThe AGC versions directly affected are:\r\n\r\n* Aurora 12\r\n* Sunburst 120\r\n* Luminary 99\r\n* Comanche 55\r\n* First 600 pages of Luminary 210.  (After about p. 600, I recognized the nature of the problem and began actively trying to avoid it.)\r\n\r\nThe following AGC versions are indirectly affected, since their transcription is based on cut-and-paste from Aurora 12 and Luminary 99:\r\n\r\n* Retread 44\r\n* Luminary 69\r\n\r\n# Proofing with octopus/ProoferComments, Going Forward\r\n\r\nThe best thing would be for octopus to be fixed so that it either does not do this, or else has a much-reduced probability of doing so.  I was under the impression that this removal &mdash; and the somewhat-similar problem of arbitrary removal of '=' characters &mdash; was a side-effect of the process of removal of image backgrounds (green-and-white bars or black horizontal rules on white paper), but it is not:  \"octopus --comments\" exhibits the problem, but \"octopus --no-crop\" does not.  Therefore, it is an artifact of the cropping process ... though I have personally not been able to figure out how it occurs.\r\n\r\nLacking a fix to \"octopus --comments\", the only strategies for correct proofing seem to be:\r\n\r\n* Check the original scans every time the correction may be removal of one of the problematic characters, and to edit them back into the imagery produced by octopus if the character is supposed to be present ... a very time-consuming process, relative to normal proofing.  Or,\r\n* Generate all proofing images by manually editing \"octopus --no-crop\" imagery rather than relying on \"octopus --comments\" imagery.  \r\n\r\nThe latter is, of course, the safer alternative.  But since it is far more time-consuming &mdash; I think &mdash; I am going to personally stick with the former.\r\n\r\n# Restoral of the '-', '\\_', ':' Characters _Already_ Removed by the Proofing Process\r\n\r\nIn order to restore the now-missing problematic characters, it is necessary to know where the problem occurs, and additional proofing passes with octopus/ProoferComments (as octopus presently operates) cannot achieve that.  It seems to me that there are three possible means of addressing the problem:\r\n\r\n1. If octopus were fixed, then it would be possible to generate all-new proofing imagery, and perform a new proofing pass (which would hopefully be much, much quicker than the original proofing).  One area of caution would be that since octopus is not perfect in many respects, a high percentage of images created by octopus have _already_ been manually edited, and it is important _not_ to regenerate those images and thus lose all of the time-consuming manual editing that has been performed.  (Only a very tiny proportion of the manually-edited pages would exhibit the problem described in this problem report anyway, since they are mainly, though not entirely, derived from \"octopus --no-crop\" images rather than \"octopus --comments\" images.)  Thus, rather than straighforwardly generate all-new octopus images, it would be necessary to do so _only_ for images not already manually edited.\r\n2. The locations of all removals of '-', '\\_', or ':' characters could be extracted from the git logs, and each of those occurrences could be examined manually.  It would be necessary not only to restore the missing characters into the .agc files, but also to edit the still-exiting octopus imagery, so that future runs of ProoferComments didn't revert back to the problem.\r\n3. To a limited extent, cross-comparisons of different AGC versions can detect the problem, since it likely does not occur at the same places in every image set.  On the other hand, if the problem was inherited by cut-and-paste (such as Aurora-Retread or Luminary 99-69), cross-checking is of no help.\r\n4. Simply ignore the problem.  The problematic scenario mentioned only occurs a tiny percentage of the time &mdash; i.e., the number of errors introduced is far, far less than the number corrected &mdash; and besides, many time there isn't supposed to be '-', '\\_', or ':' character in that situation anyway, since in many cases the developer actually _didn't_ use such a character; thus, the absence of the character, while incorrect with respect to the original printout, is neither weird nor abnormal.\r\n\r\nSince it is simpler, the latter is what I personally intend to do for now, until a more-effective strategy can be implemented.\r\n"},"comment":{"url":"https://api.github.com/repos/virtualagc/virtualagc/issues/comments/269327655","html_url":"https://github.com/virtualagc/virtualagc/issues/572#issuecomment-269327655","issue_url":"https://api.github.com/repos/virtualagc/virtualagc/issues/572","id":269327655,"user":{"login":"rburkey2005","id":11841400,"avatar_url":"https://avatars.githubusercontent.com/u/11841400?v=3","gravatar_id":"","url":"https://api.github.com/users/rburkey2005","html_url":"https://github.com/rburkey2005","followers_url":"https://api.github.com/users/rburkey2005/followers","following_url":"https://api.github.com/users/rburkey2005/following{/other_user}","gists_url":"https://api.github.com/users/rburkey2005/gists{/gist_id}","starred_url":"https://api.github.com/users/rburkey2005/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rburkey2005/subscriptions","organizations_url":"https://api.github.com/users/rburkey2005/orgs","repos_url":"https://api.github.com/users/rburkey2005/repos","events_url":"https://api.github.com/users/rburkey2005/events{/privacy}","received_events_url":"https://api.github.com/users/rburkey2005/received_events","type":"User","site_admin":false},"created_at":"2016-12-27T13:41:08Z","updated_at":"2016-12-27T13:41:08Z","body":"And even _if_ there were too many unique characters being used, we could re-encode illegal 2-character combinations as legal 2-character ones, because I'd venture to say that it's highly unlikely that the number of _used_ 2-character combinations exceeds the potential number of legal 2-character combinations.\r\n\r\nOr we could detect any word that uses an illegal character and replace it with some unused word consisting entirely of legal characters.\r\n\r\nOr some other illegal-to-legal encoding scheme.  Since I've just thought of three of them, there are probably lots of possibilities."}}
{"actor":{"display_login":"rburkey2005"}}