-
Notifications
You must be signed in to change notification settings - Fork 6
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
Enhancement: Less obfuscated versions of some winners #2513
Comments
Thanks! Landon told me that there shouldn't be any hidden spoilers nowadays .. I can help out here. |
Actually .. I was going to do this now but I wonder something. Landon, do you think the spoiler files should be included in the website or just have them linked to from the index.html file ? I can do either one but including the files obviously means a manifest update. I'll hold off until you let me know what you prefer, @lcn2, and go from there. UPDATE 0Observe that each has a |
I originally proposed the idea of including spoilers a few years ago (didn't want to get hit by a ebike without having shared the originals), which were available in some places on I think if the author is maintaining the code on GitHub, GitLab, ... then a suitable link in the repository is probably sufficient (fewer changes), but of the author has abandoned the code and left spoilers, then a I did see place last night |
In my repos, I have the original entry at the root with a Would you link to the repo root or to the spoiler within the repo? I recommend the repo root, because the owner may restructure it in the future breaking links. |
Well I'm glad you didn't get hit by an e-bike .. or any other kind!
That's probably good enough but not sure what Landon thinks. I'd agree it's enough though. And if the files are not added then the manifest does not need to be updated. I'd say that maybe the only reason to include files is in case the repo is deleted. That seems most unlikely but the problem with including the files too is if they change (as you say in your next comment).
Well as for that one entry had a spoiler/ subdirectory but it was moved to the directory itself. This was in 2020: it had been a zip file which was password protected but the password was no longer known (wiki article that was changed). I had it from the winner archive though so I just added the files. But I'm not sure if a subdirectory is necessary or not. If it is then |
I noticed that. The first link you had I think was broken but I corrected it in the browser and got to it.
Good point indeed. |
You referring to the https://github.com/SirWumpus/ioccc-ae? That one is rather specially organised, because there was a some derivative work that followed after 1991. |
Yes that one .. but the link is 404. https://github.com/SirWumpus/ioccc-ae/tree/master seems good. |
That doesn't make sense. It works for me and DuckDuckGo search lists the repo URL in the results ( https://duckduckgo.com/?t=ffab&q=howe+ioccc+ae ). I would avoid reference |
I thought it was odd too but clicking on it got 404. I would also avoid the last part but I just copy pasted it from Safari without worrying about changing it. |
OK. Tested in Firefox and Vivaldi. The top level URL https://github.com/SirWumpus/ioccc-ae works as expected, while subdirectory https://github.com/SirWumpus/ioccc-ae/91 does not (404). From the top level README, GitHub converts the relative link to something like https://github.com/SirWumpus/ioccc-ae/blob/master/91 so using internal links into a repo can vary. |
The IOCCC web site has shifted to a more educational format: preferring to explain entries rather than hiding things under the guise of such information being a "spoiler". As a result, content that was "hidden" is now being made available. For example, stuff that was rot13 are now plaintext. Instead of a "can you guess", the IOCCC favors people being able to learn about an IOCCC winning entry. If there is a de-obfuscated version of an IOCCC winning entry, adding such code would be welcome. How to add a de-obfuscated version is up for discussion: one way is the provide an alt code version and reference it in the We would have the alt method (as Anyone who would care to provide de-obfuscated code would be thanked and credited in the So, @SirWumpus, if you have de-obfuscated code versions, we would be happy to add them into the IOCCC collection with our thanks. 🙏 |
Interesting. That is how I guessed it might be too given that I had to go to the top level directory. I found it odd. This was n Safari btw (I think I might have said that though). I wonder why subdirectories don't work. |
I've always tried to educate with each of my entries. I would reserve I still think the original developer's code (and any support tools they provide) go in a |
Yes and also
This might be something that can't say as it pertains to judging but I guess that it is not actually going to decrease the chance of winning if this is not done? (Whether it would increase if it is done I know you would not say and I would not want you to say it either).
I refer to that 'way to go about it' below. We often do
That's one way of doing it. I think I did that in a few cases but I'm not sure. In some cases it was already done - code submitted with the entry itself was turned into an alt version.
Ha. I did do that for a few .. maybe. I'm not sure. But I found it on the respective author's repo (or in one case website).
I can add those .. unless you wish to, @SirWumpus ? Let me know and I'd be happy to do it. On second thought .. I guess you don't have macOS so you can't update the manifest. Okay I'll do that in the next few days I hope. A question for you Landon is: where should they be? A subdirectory called Of course if @SirWumpus prefers to do it one of us can always fix the manifest. But might just be easier if I do it so the questions above still apply I think? [0] Siri really has told that joke. I have a screenshot of it .. alas I tried it again some years ago and no luck :( |
The focus from those initial readings the website is on the entry If the alt section, if there is a de-obfuscated version of Those wishing to just "download, compiler and dive-into the code" can just do a There are very special cases where Moreover
👍
Well @SirWumpus, I would recommend working with @xexyl to contribute your de-obfuscated code. If you provide @xexyl with the URLs of the code, and any additional commentary that might prove educational, @xexyl can go through the steps of adding your contributions with our THANKS and appreciation!
Adding a spoiler sub-directory with code to compile and clean and clobber adds some more complicatation the build system, so we would prefer to not use such a subdirectory mechanism. UPDATE 0aBTW: There is a TODO item issue #2239:
Perhaps we need an "FAQ 5.8: How may I contribute a de-obfuscated version of an entry?" @xexyl. Please see the updated DO item issue #2239: "Add an FAQ about how to handle de-obfuscated code". WE should NOT use terms like "spoiler" in the FAQ as well as NOT using "spoiler" in the entry's UPDATE 1aThank you, @SirWumpus, for your willingness to contribute de-obfuscated code! UPDATE 2We suggest, @xexyl, that you write the FAQ as mentioned in "UPDATE 0a" first, as this will help guide the design for how to add de-obfuscated "alt" code. You might even take one of @SirWumpus's contributions and write that up according to the FAQ you draft (including the |
All the spoiler code and any extra stuff are in a
I'd suggest NOT building (or cleaning) |
Excellent comment Landon and great idea about the FAQ. I think that would be a good idea. The question is do you want to do that or should I? I will reply to your comment in more detail tomorrow when at the laptop. I will be going to bed shortly. |
We will draft an initial FAQ for you to modify as needed ... doing that now .. UPDATE 0With commit 4d37308 added a draft of FAQ 5.8. QUESTIONShould we use the term "deobfuscated" or "de-obfuscated"? We used "deobfuscated" below. UPDATE 1dWith commit 4d6009b, and commit 3aec80f, and commit 85c9916, and commit 5dd3311: we shifted away from "spoiler" language and filenames and to "deobfuscation" information and filenames: as per FAQ 5.8. So all existing "spoiler" usage have been converted into "deobfuscated", although one may wish to check out and correct these edits. |
Yes I think some might be wrong indeed. One is in 2020/ferguson1 in fact. It's not really about de-obfuscation (well some of it is but it's not strictly it). It certainly is not an unobuscated version! It's just notes on how it's obfuscated so it might be better to call it (in this case) On the other hand the file: 2018/algmyr/deobfuscation.png doesn't seem like the right name, somehow. That being said I do think 'deobfuscated' is better than 'de-obfuscated'. But then again unobfuscated might also be valid depending on the context ... I don't know. What I do know though is that in some cases the way you put it is definitely not right. The question is what else has to be done with the changing of the file names. That I'm not sure other than updating the manifest. In the case of 2020/ferguson1 it's referenced in at least some files so I can just use In any case I will change 2020/ferguson1 now and then we can discuss the others later. I hope to look at the guidelines in a bit too ... |
.. actually I'm not sure that's the right name for 2020/ferguson1 either. The name spoilers works well but obfuscation does not work as well as it's not just about obfuscation. It has as a table of contents:
so So I don't know. .. and I see some grammar issues in that table of contents: odd. I don't recall having added a comma after |
Now as far as this file goes I could split it into two: a file that explains details on how things are implemented ( |
Who is the source of the
Again I repeat an earlier missive:
I don't see an issue with You can tell we're all programmers here. I think it takes a programmer to understand the power of what is in a name of a variable, function, file, object, etc. The original author would have put thought into it to some degree which should be respected. Like programmers working on an existing project, we should maintain the "coding & whitespace style" (or editorial style of documentation) of the original, no matter how much we want to scratch that itch to reformat. (I remember being told off about such things in my first professional job after uni.) |
I don't particularly like the name either in this case. In many cases the 'deobfuscated' version is simply less obfuscated but still obfuscated which means it's NOT deobfuscated (which means the file name is a misnomer). In some cases it's not even a C file but something else. That applies to a number of files including one of mine and as I noted above it has presented me a problem on what to call it as it's definitely not 'deobfuscated': it's not even code. I liked the name Thus in that case I don't know what to do. For Don Yang's entries that had spoiler.html (or maybe it was spoilers.html) it's not code but it types out from start to finish. That might work for deobfuscated but event that I think not as it ends up becoming obfuscated. In that case it might be better called 'obfuscation' but is that the right name? I don't know but I do know spoiler/spoilers worked fine.
Personally I think anything provided in this way by a person other than the author should NOT be accepted. As for 2020/ferguson1 I could split those two but I don't want to have to do that and it rather changes quite a bit of what was done. And as you said I would have to do more work as I refer to the file in a number of places in a number of ways which would have to be reviewed, updated etc.
Funny and very clever! :-) I don't think changing how the author presented it is a good idea either unless it's (for some cases where it's possible) only to make it fit into the new website.
I think
I don't see an issue with a
:-) that's true ... and something to consider too.
I rather agree with this. So with all this said, Landon, what do you think? I am at loss with the 2020/ferguson1 file rename other than to say it's wrong and I think in many other cases it's wrong too but I don't know what to call them all. One is an image which simply shows the output. I think that 'spoiler' is not only not the wrong word but it is the right and a good word for it. Like 2018/algmyr/deobfuscation.png: not only is it not deobfuscation (if anything maybe would be better to call it deobfuscatd), spoiler works nice. Certainly other things do too but that's just it: a single name shouldn't be necessary. It really depends on the file and the purpose of it (and in the case of spoilers - provided by authors only - who provided it). Please advise. I can change 2020/ferguson1/deobfuscation.md etc. to spoilers.md but I don't know now ... I would like to. I can see how in SOME cases it might be worth renaming them but not all. |
Okay looking at 2020/ferguson1 again the file name obfuscation.md could work okay .. it all is about obfuscation, some indirectly and others directly. I'll do that for this one but for the others I do not know .. |
Ah. Well it's a fun Easter egg for people to find now. AtariST was the first OS I used. I do seem to recall seeing something about you testing in some of those systems before but unless it was in a README file I don't know where. I have fond memories of SunOS/Solaris too but it's been years since I last used it. I have a mate who had an UltraSPARC and we used to play with it (though for me from a distance ... that was back in the days before ssh). |
I doubt it too but it's a fun addition for people to find and it's already in so why not? |
Commit a4fb0a8 takes care of 199[1-3]/ant. The other two can be decided later (it seems I did 2015 yesterday). What can also be discussed is if the way the build of alt code should be reorganised: it might need it but I'm not sure. I will look at the index.html files tomorrow .. been at this too long today and I'll be leaving soon most likely. |
I am not convinced the look of the However I do not feel up to fixing it today. Tomorrow should be better. But we still need to discuss the other two years, the ones with But I will have to worry about this tomorrow - hopefully with discussion already. I will reply to some comments in another issue and then I will be doing other things for the rest of the day. |
With commit 2e2ae5f we add notices to those who wish for a greater challenge. We believe this achieves a better convergence to our intent with the fixes and improvements that were made by @xexyl in response to our previous but not very good attempt. The details:We add the following level-3 header to help people identify text
After that notice we add:
And sometimes follow with:
Or sometimes follow with:
Where the alt code impacts a "greater challenge", we add instead:
And where a given command impacts a "greater challenge", we add instead:
|
Well without having looked at it just yet that does sound like an improvement. Thanks! The only other question is the directory name. But I will be booting up the laptop next and I can take a look. |
|
Sorry but would that be Smaug? Scatha? Ancalagon? When you're talking to Landon and me about dragons 🐉 you have to be more specific! |
|
Hahaha .. well if you're going for magic dragons why not Piff the Magic Dragon? Anyway I thank you for elaborating! |
Updating manifest now ( .. and I'll be afk soon: I think. But if I do not finish the manifest before then I will do so when I'm back. That will solve the problem from the other day. Hopefully today I can review the changes you made several hours back too: though I think that's probably pretty good. If I get that done then I can finally (!! - unless we decide upon 2004 and 2005: seems good to finish an issue first) get back to formatting fixes up through 1995 I think it was. After that I can then go beyond that and move towards 2020. UPDATE 0Just about done .. then will sync to server and take a quick look. Don't expect any problems. A couple other entries had an entry_text changed: changed deobfuscated to unobfuscated and now they're all the same text. Seemed a better word: if only slightly. |
Question for you @SirWumpus. In 2015/howe you wrote a summary for support files. You left out a summary for avgtime.sh though. Do you wish to provide one? The entry_text in the manifest has: |
Commit 92139c5 updates the 1991-1993 and 2015 entries plus the manifest for a couple other entries (as the entry_text was made the same wording - unobfuscated). What remains for this issue is 2004 and 2005 entries but I don't know how we want to have those organised. Please advise, Landon, when you can, so that we can hopefully get this issue resolved soon. |
Was only intended to help test basic performance of |
Thanks .. and great pun! I put in the manifest I think that works well enough. Unless you think something better can be contrived? |
Oh .. I just remembered the ideas you had about text to have about for a challenge etc. I did not add that to the entries I moved the alt code in. I will be finishing the four up today (except for the one with the pending question/concern) - perhaps you'd like to do this? Otherwise I can look at it tomorrow. I just feel like that issue is taking time away from this issue and it's taking longer than I was hoping :( |
Say woot? |
What Landon committed. But it I wasn't clear it's because I am very tired. Can try again tomorrow. |
I got hibachi done .. well minus the manifest. That will be fun! I'll also have to do the other one too. Might as well finish that before doing the manifest. An odd problem though with hibachi: it seems only the unobfuscated version is working. But perhaps that's due to socket options that were not used (just a guess based on my experience with sockets). Will have to try it in a bit. |
Working on manifest for both .. if all good then this issue can be closed (I think) - once something is decided in another issue (which is a simple fix once it's decided). The |
The entries 2004/hibachi and 2005/mynx have unobfuscated code now. 2004/hibachi has a configure script that is used along the lines of the original entry (with some adjustments and fixes) and the hibachi.alt.c had to have ctype.h included too. The directory src/localhost was copied to src-alt/localhost but the rest of src/ was from Anthony. The Makefile had to be updated to build this version. 2005/mynx does have a configure script but it is, just like the original entry, unused and so the unobfuscated (in source-alt/) is also unused. The mynx.alt.c was changed to mynx.alt2.c and the unobfuscated code was made mynx.alt.c. Updated manifest, rebuilt .entry.json and index.html files. After a question is answered and taken care of (in one of 199[1-3]/ant - not sure which one) issue ioccc-src#2513 can possibly be closed as complete (though the manifest updates will have to be looked at more when 2004 and 2005 are reviewed).
Commit 0d65af1 added 2004/hibachi and 2005/mynx. I have not looked at the manifest results as I haven't got to those years yet but I suspect that there won't have to be any real changes if any at all (unless it is decided that the order of files should be changed). This means that this issue is almost resolved - just the one thing we've been discussing. But I am off for the day. Back tomorrow! |
Looking at commit 2e2ae5f now but also made a change in the heading name used (added a ':'). When those files are rebuilt (quick_readme2index is taking longer as I used sgit and should have done on all rather than just .md files) I'll sync to server and then look at those entries - or at least those of the years I have already checked. After that I'll see if I can figure out the problematic file and entry_text for the one entry here. If I can then I think this issue can be closed as complete. Otherwise we will have to work that out. It would be nice if this can be marked complete as I could then move forward on the other issue in important ways. I also have to update the FAQ today but that shouldn't take much time I think. What else I'll do today I really don't know. I'm pretty worn out but it's also early enough where it's quite possible I'll be doing more. |
Thank you @SirWumpus and @xexyl |
You are most welcome .. though it's not completely resolved yet. Nonetheless it's about to be. I'll make a commit very soon: within minutes at most. |
This resolves issue ioccc-src#2513 entirely.
Commit 88d8a30 should be it! Now (or next time I look at the repo .. not sure how much more I'll do here today) I can look at the 'look and feel' issue again. |
I was reviewing how my past entries currently appear in the updated site.
All my winning entries are on GitHub, have spoilers, some have been cleaned up to C89 versions (ae, ag). All of them should work. Much of the documentation has been converted to Markdown (not the .hint files). Not sure if you want to reference these repositories, copy the formatted documentation, etc.
Anyway I provide these links to the material:
The text was updated successfully, but these errors were encountered: