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

Enhancement: improve the look and feel of the constructed HTML files #2006

Open
lcn2 opened this issue Jan 22, 2024 · 314 comments
Open

Enhancement: improve the look and feel of the constructed HTML files #2006

lcn2 opened this issue Jan 22, 2024 · 314 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed top priority This a top priory critical path issue for next milestone

Comments

@lcn2
Copy link

lcn2 commented Jan 22, 2024

All generate HTML web pages are covered by this issue.

This issue covered all generated HTML files, including generated entry index.html files, top level web pages (both constructed form data such as authors.html and years.html as well as top level HTML files generated from markdown such as judges.html and news.html) and year level 'index.htmlweb pages,bin/index.htmlandarchive/historic/index.html`, etc. If the web page is generated or updated by a bin tool, then that page a candidate for this include the "look and feel" issue.

This issue focuses on these web pages "look and feel".

This is NOT about fixing content errors. (Well if you see something glaring, go ahead and fix it). This is about how the generated HTML pages look in a web browser.

Here are the types of questions ask about a generated HTML web page as viewed in a browser:

  • Some formatting that looks obnoxious?
  • Information displayed in way that is difficult to read?
  • Have too much to too little whitespace that makes the web page awkward to read?
  • Do links to viewable content fail by forcing you to download it?
  • Do links fail because the link is broken?

We are NOT focusing on the accuracy of the generated web page per se (although if you see something glaring, feel free to fix it under the guide of something that slipped passed the issue #3 effort). We are focusing on HOW it LOOKS with an emphasis on correcting dysfunctional presentations.

In many cases, corrections can be addressed by editing some markdown file such as the entry's README.md file. Please modify the entry's README.md file and re-build the entry's index.html in a pull request.

If, however, you see an issue that may be more a matter of changing ioccc.css or the related bin tool, please raise the matter as a comment in this issue #2239 so we can discuss the matter before editing the CSS and/or bin tool. Again, this is less likely to happen, but if it does, we recommend a comment related discussion first. Modification to the entry's README.md file can be done directly via pull requests.

We also want to address any fix all REASONABLE "validation errors and warnings" as reported by the "Nu HTML check this web page". We emphasize REASONABLE because in the past, we have found some of those "validation errors and warnings" to be on the pedantic side of things. Moreover, when it comes to the HTML generated by pandoc(1) we may not have much room to fix things.

See also comment-2101733908 regarding links to markdown files, links to GitHub, relative links, and links with %%TOKEN%% symbols.

Please note that the top index page of this repo, as rendered by GitHub, is https://ioccc-src.github.io/temp-test-ioccc/index.html.

@lcn2 lcn2 added the enhancement New feature or request label Jan 22, 2024
@lcn2 lcn2 self-assigned this Jan 22, 2024
@lcn2 lcn2 added the help wanted Extra attention is needed label Jan 22, 2024
@xexyl
Copy link

xexyl commented Jan 22, 2024

The generated winner index.html files need to have their "look and feel" improved.

NOTE: As of the time this issue was created, the procedure to generate HTML files other than winner index.html files has not been completed, this issue restricts itself to just the "look and fee" of the winner index.html files.

Using the method outlined in issue #1933, the winner index.html files may still be improved.

HINT: One may generate a single winner index.html file by using the bin/readme2index.sh tool on a single winner. For example, to regenerate 2020/ferguson1/index.html:

bin/readme2index.sh -v 3 2020/ferguson1

:-)

About that entry .. didn't you say I needed to fix something there in the README.md and maybe other markdown files? What did you have in mind (well besides the markdown file references on GitHub should be removed which I'll get to)?

Thanks.

HINT: We recommend using the method outlined in comment 1893176110 on a macOS machine to examine HTML files before pushing changes to the repo.

Good call on linking there.

Probably the most obvious way is to improve the winner README.md file itself. A number of "undesirable" nits and formatting issues may be addressed by changing the markdown content.

As above. Of course I think I've done much of this work but it'll be helpful to see how the index.html files come out to know what has to change further.

A somewhat less disable way to address a "Look and Feel" issue for a partical IOCCC winner would be to add a special line to the inc/md2html.cfg file that controls the way the bin/ tools and inc/ files form the winner index.html file. One would need to be sure the configuration line that matches the particular winner markdown line appears BEFORE more general configuration line. For example:

I can see how that would be less desirable yes.

# Fake example:We must disable pandoc warnings for 1984/anonymou because those warnings
# are not valid and we need a fake example.

1984/anonymous/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh -P '-f markdown -t html --quiet`

# Unless matched above, default process all winner README.md files

[12][0-9][0-9][0-9]/*/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh
mock/*/README.md                        -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh

This is an example of disabling warnings i.e. the less desirable way, right?

Or next might be to use a slightly modified inc/begin-rightcolumn.default.html file (lets pretend this file is called inc/begin-rightcolumn.1984_anonymous.html), by adding a special line to the inc/md2html.cfg file before BEFORE more general configuration line. For example:

# Fake example: We must disable pandoc warnings for 1984/anonymous because those warnings
# are not valid and we need a fake example.

1984/anonymous/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh -P '-f markdown -t html --quiet` -H begin-rightcolumn=1984_anonymous

# Unless matched above, default process all winner README.md files

[12][0-9][0-9][0-9]/*/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh
mock/*/README.md                        -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh

See the inc/md2html.cfg file comments for more information.

Again, we suggest you try and fix it by changing the README.md file first, before you try and setup a special case inc/md2html.cfg line.

Perhaps it'll be helpful to have all the html files generated so we can see what they look like here so I can know what to fix? And do feel free to assign this to me!

Another somewhat complex way to address a "Look and Feel" problem is to modify the default inc/_something_.default.html file. As an example, if the problem being address in the inc/begin-rightcolumn.default.html file is wide spread, instead adding a bunch of special case lines to the inc/md2html.cfg file using a bunch of special case inc/begin-rightcolumn.XYZZY.html files, one might be better off modifying the inc/begin-rightcolumn.default.html file.

I guess in general complex ways should be weighed against the easier ways and what is gained/lost. Of course in some cases more complex is the right way to go but not always. I can see how a widespread problem would be better fixed at the source of course.

This approach would require one to regenerate ALL HTML files that use inc/begin-rightcolumn.default.html, which because it is a default file for the "begin-rightcolumn" phase, is nearly all (if not all) HTML files. One cannot use the bin/quick-readme2index.sh either one can to force the rebuild of ALL HTML files and then test ALL HTML files to verify that the fix did not create a bunch of new problems.

Speaking of such. What will the other html files (from other markdown files I mean) be using?

Another more complex way to address a "Look and Feel" problem is to modify the ioccc.css file. By "more complex" and "less desirable" we mean that changing the ioccc.css file may impact ALL HTML files on the web site, forcing one to check the impact on ALL HTML files from the point of view of several common browses, and with various window sizes AND with printing files. This can be done (and there could be cases where it must be done), but hopefully this method can be avoided.

Agreed it would be good if this can be avoided!

Probably the most complex way to address a Look and Feel" problem to change the way scripts in bin/ work. This will impact ALL HTML files on the web site, forcing one to check the impact on ALL HTML files in addition to having to modify the bin/ code.

True. That seems even worse than modifying the CSS file. I guess you agree there. Anyway feel free to assign this (and every other one .. I'll mention that in 5) to me. I'll be asking for a priority list too.

@lcn2
Copy link
Author

lcn2 commented Jan 22, 2024

This is an example of disabling warnings i.e. the less desirable way, right?

Probably it is: that is untested and likely not needed. It was just a fake example.

@xexyl
Copy link

xexyl commented Jan 22, 2024

This is an example of disabling warnings i.e. the less desirable way, right?

Probably it is: that is untested and likely not needed. It was just a fake example.

Just making sure. Thanks for assigning it to me. I presume you'll get back to me on the other things later on.

@lcn2
Copy link
Author

lcn2 commented Jan 22, 2024

The generated winner index.html files need to have their "look and feel" improved.
NOTE: As of the time this issue was created, the procedure to generate HTML files other than winner index.html files has not been completed, this issue restricts itself to just the "look and fee" of the winner index.html files.
Using the method outlined in issue #1933, the winner index.html files may still be improved.
HINT: One may generate a single winner index.html file by using the bin/readme2index.sh tool on a single winner. For example, to regenerate 2020/ferguson1/index.html:

bin/readme2index.sh -v 3 2020/ferguson1

:-)

About that entry .. didn't you say I needed to fix something there in the README.md and maybe other markdown files? What did you have in mind (well besides the markdown file references on GitHub should be removed which I'll get to)?

We just needed a fake example to use.

@lcn2
Copy link
Author

lcn2 commented Jan 22, 2024

Or next might be to use a slightly modified inc/begin-rightcolumn.default.html file (lets pretend this file is called inc/begin-rightcolumn.1984_anonymous.html), by adding a special line to the inc/md2html.cfg file before BEFORE more general configuration line. For example:

# Fake example: We must disable pandoc warnings for 1984/anonymous because those warnings
# are not valid and we need a fake example.

1984/anonymous/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh -P '-f markdown -t html --quiet` -H begin-rightcolumn=1984_anonymous

# Unless matched above, default process all winner README.md files

[12][0-9][0-9][0-9]/*/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh
mock/*/README.md                        -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh

See the inc/md2html.cfg file comments for more information.
Again, we suggest you try and fix it by changing the README.md file first, before you try and setup a special case inc/md2html.cfg line.

Perhaps it'll be helpful to have all the html files generated so we can see what they look like here so I can know what to fix?

They ARE generated ‼️ Well OK, only all of the winner index.html files are generated. 😉 Maybe we did not announce that fact with enough fanfare? 😀

OK, as mentioned the higher level HTML files and the winner HTML files that are not index.html still need to be generated. 😉

It was a milestone that we had been working on for months. It was why we asked to hold off on edits being made to the manifest numbers spreadsheet until now. It was the reason for the creation of all those new issues, etc.

start side note

We are actively working on generating the rest of the HTML files (see the TODO list of issue #4): racing to try and finish issue #4 before the other ((top primary)) issues are completed. For a number of people, work on issue #2 and issue #3 might seem nice, but as they might not take the time to try all of the IOCCC winners of the past, they might not understand the full benefit .. that it until they are looking at past winners for ideas and discover that they actually have a reasonable change to download the core, compile it and run it today. Sadly it will be the look and feel that will catch the attention of most people.

The winner index.html files are ready for review and improvement on their look at feel. Again this isn't to say that the tremendous work on issue #2 and issue #3 are not important: they are very important and your efforts on behalf of the IOCCC website are very much appreciated.

If we were make a new accouchement now about the work done so far, and people see a bunch of broken links, missing HTML files, etc. it will be hard for some people to perceive the tremendous progress that was made by issue #2 and issue #3. Thus we have be working very hard to race to try and get the look and feel ready so that your important efforts may present themselves in a good light for others to see.

end side note

And as the top comment suggests, much of the work will likely involve editing the README.md file, running bin/readme2index.sh for the given winner, looking at the resulting winner index.html locally using the method outlined in comment 1893176110. Because what really matters now is what the resulting winner index.html looks like from a web browser.

@lcn2
Copy link
Author

lcn2 commented Jan 22, 2024

This approach would require one to regenerate ALL HTML files that use inc/begin-rightcolumn.default.html, which because it is a default file for the "begin-rightcolumn" phase, is nearly all (if not all) HTML files. One cannot use the bin/quick-readme2index.sh either one can to force the rebuild of ALL HTML files and then test ALL HTML files to verify that the fix did not create a bunch of new problems.

Speaking of such. What will the other html files (from other markdown files I mean) be using?

For this issue, only the winner index.html files are involved. As it states in the issue title "... winner index.html files".

When other HTML files are generated, there will be other issues to review them: likely 2 more issues that will be created, one for the winner non-index.html files and one more for all of the top level HTML files, one those HTML files are generated in the first place.

@xexyl
Copy link

xexyl commented Jan 23, 2024

This approach would require one to regenerate ALL HTML files that use inc/begin-rightcolumn.default.html, which because it is a default file for the "begin-rightcolumn" phase, is nearly all (if not all) HTML files. One cannot use the bin/quick-readme2index.sh either one can to force the rebuild of ALL HTML files and then test ALL HTML files to verify that the fix did not create a bunch of new problems.

Speaking of such. What will the other html files (from other markdown files I mean) be using?

For this issue, only the winner index.html files are involved. As it states in the issue title "... winner index.html files".

When other HTML files are generated, there will be other issues to review them: likely 2 more issues that will be created, one for the winner non-index.html files and one more for all of the top level HTML files, one those HTML files are generated in the first place.

Sure .. but I was thinking of in general. But I'll worry about that later on. Thanks.

Still what problem existed in I think you said 2020/ferguson1/README.md ? That way I can correct it.

@xexyl
Copy link

xexyl commented Jan 23, 2024

The generated winner index.html files need to have their "look and feel" improved.
NOTE: As of the time this issue was created, the procedure to generate HTML files other than winner index.html files has not been completed, this issue restricts itself to just the "look and fee" of the winner index.html files.
Using the method outlined in issue #1933, the winner index.html files may still be improved.
HINT: One may generate a single winner index.html file by using the bin/readme2index.sh tool on a single winner. For example, to regenerate 2020/ferguson1/index.html:

bin/readme2index.sh -v 3 2020/ferguson1

:-)
About that entry .. didn't you say I needed to fix something there in the README.md and maybe other markdown files? What did you have in mind (well besides the markdown file references on GitHub should be removed which I'll get to)?

We just needed a fake example to use.

Right but I thought you said some days back that that file needed some fixes?

@xexyl
Copy link

xexyl commented Jan 23, 2024

Or next might be to use a slightly modified inc/begin-rightcolumn.default.html file (lets pretend this file is called inc/begin-rightcolumn.1984_anonymous.html), by adding a special line to the inc/md2html.cfg file before BEFORE more general configuration line. For example:

# Fake example: We must disable pandoc warnings for 1984/anonymous because those warnings
# are not valid and we need a fake example.

1984/anonymous/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh -P '-f markdown -t html --quiet` -H begin-rightcolumn=1984_anonymous

# Unless matched above, default process all winner README.md files

[12][0-9][0-9][0-9]/*/README.md         -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh
mock/*/README.md                        -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh

See the inc/md2html.cfg file comments for more information.
Again, we suggest you try and fix it by changing the README.md file first, before you try and setup a special case inc/md2html.cfg line.

Perhaps it'll be helpful to have all the html files generated so we can see what they look like here so I can know what to fix?

They ARE generated ‼️ Well OK, only all of the winner index.html files are generated. 😉 Maybe we did not announce that fact with enough fanfare? 😀

No .. you did indeed mention it. I was thinking of something specific but I'm afraid I don't know what it is now. Maybe it's already fine as it is. That's possible - it might just be I have to look at the rendered files to find errors.

OK, as mentioned the higher level HTML files and the winner HTML files that are not index.html still need to be generated. 😉

Of course.

It was a milestone that we had been working on for months. It was why we asked to hold off on edits being made to the manifest numbers spreadsheet until now. It was the reason for the creation of all those new issues, etc.

I remember you saying that yes. And I wish I had thought of the fact that I know of some errors in one of my entries. Wrong file name. Well I won't do that today. The manifest task is taking too much for me today. I really don't know why I am so exhausted today but I am.

start side note

We are actively working on generating the rest of the HTML files (see the TODO list of issue #4): racing to try and finish issue #4 before the other ((top primary)) issues are completed. For a number of people, work on issue #2 and issue #3 might seem nice, but as they might not take the time to try all of the IOCCC winners of the past, they might not understand the full benefit .. that it until they are looking at past winners for ideas and discover that they actually have a reasonable change to download the core, compile it and run it today. Sadly it will be the look and feel that will catch the attention of most people.

Hmm yes I can imagine that. I don't think nearly as many people understand how many entries no longer worked and how almost all of them now do. And the ones that don't I think work in some platforms. In one case I'm pretty sure it has to do with the version of perl in macOS, as to why it crashes. I think this based on the author's remarks.

Even those that do they might not care as much as the look and feel as you say. Presentation etc. seems to get to people in ways that sometimes goes to quite some extremes. The flashy websites being something that so many people like (even if the content is not quality) is a classic example.

The winner index.html files are ready for review and improvement on their look at feel. Again this isn't to say that the tremendous work on issue #2 and issue #3 are not important: they are very important and your efforts on behalf of the IOCCC website are very much appreciated.

Thank you very much! I needed to hear that! When I'm done with that other issue, 3, I will look at the rendered files and then go from there. It is probably better that order anyway since that way I can be sure the html files are up to date. As noted in another issue some are not now (though they're being updated). Then if a file name changes or a file is added or removed or that also means the index.html is out of date. So better to finish that first. Though I have to say today the manifest one is getting to me. But that's because I'm extremely tired - more than usual - and also probably because it's my first time with the very long process.

If we were make a new accouchement now about the work done so far, and people see a bunch of broken links, missing HTML files, etc. it will be hard for some people to perceive the tremendous progress that was made by issue #2 and issue #3. Thus we have be working very hard to race to try and get the look and feel ready so that your important efforts may present themselves in a good light for others to see.

That's true and it's also true that there will be broken links. Let me say that differently: there ARE broken links. That includes from typos on my part (normal typos that I haven't gone back to 'zoom in on' yet and also it's possible I had the wrong link to type .. and then there are other things too).

end side note

And as the top comment suggests, much of the work will likely involve editing the README.md file, running bin/readme2index.sh for the given winner, looking at the resulting winner index.html locally using the method outlined in comment 1893176110. Because what really matters now is what the resulting winner index.html looks like from a web browser.

Yes. I'm still doing that of course.

I think manifest issue is about done, what I'm working on, so I'll post this and hopefully be making a pull request shortly.

@lcn2
Copy link
Author

lcn2 commented Feb 8, 2024

Added an "UPDATE 0" to the top level comment.

@xexyl
Copy link

xexyl commented Feb 8, 2024

Added an "UPDATE 0" to the top level comment.

I did like the 2020 version of the entries' index.html files and the year's index.html too but I also liked the way you had the index.html files here. Speaking of such I thought you had linked to an example index.html that was rendered as html. I can't find it now though. Can you post it again please? Thanks. That'll help I think.

@lcn2
Copy link
Author

lcn2 commented Feb 9, 2024

Added an "UPDATE 0" to the top level comment.

I did like the 2020 version of the entries' index.html files and the year's index.html too but I also liked the way you had the index.html files here. Speaking of such I thought you had linked to an example index.html that was rendered as html. I can't find it now though. Can you post it again please? Thanks. That'll help I think.

Then are rendering on the GitHub pages for the web site such as:

https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson1/index.html

Better still one can view them locally on macOS using the built in Apache server as needed.

@xexyl
Copy link

xexyl commented Feb 9, 2024

Added an "UPDATE 0" to the top level comment.

I did like the 2020 version of the entries' index.html files and the year's index.html too but I also liked the way you had the index.html files here. Speaking of such I thought you had linked to an example index.html that was rendered as html. I can't find it now though. Can you post it again please? Thanks. That'll help I think.

Then are rendering on the GitHub pages for the web site such as:

https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson1/index.html

Better still one can view them locally on macOS using the built in Apache server as needed.

The GitHub version is better for me actually. Thanks. Would you mind adding a link to it in the todo list so I am sure to not lose it again? Thanks.

@xexyl
Copy link

xexyl commented Feb 9, 2024

Speaking of such I see a problem with the index.html files ...

They should list more than just name and location. In particular they should list URLs and also award title. Where should this be fixed? And if it's later in the file I think that's a mistake.

A lesser matter is I'm not sure if the 'Author' heading level is right. But I'm not sure if it's wrong either. Seems smaller though and maybe it shouldn't be? But I don't know and the more #s there are the smaller it gets and that's not good esp for the author's/authors' remarks as if they have sections too it gets too small.

We could have the author information at the top level 1 (as in #) too. I think that might look nicer esp as it won't be indented (or I presume it won't be). It seems odd to have subsection heading level as the very first heading. It seems out of place: like something is missing. What do you think?

@lcn2
Copy link
Author

lcn2 commented Feb 9, 2024

Added an "UPDATE 0" to the top level comment.

I did like the 2020 version of the entries' index.html files and the year's index.html too but I also liked the way you had the index.html files here. Speaking of such I thought you had linked to an example index.html that was rendered as html. I can't find it now though. Can you post it again please? Thanks. That'll help I think.

Then are rendering on the GitHub pages for the web site such as:
https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson1/index.html
Better still one can view them locally on macOS using the built in Apache server as needed.

The GitHub version is better for me actually. Thanks. Would you mind adding a link to it in the todo list so I am sure to not lose it again? Thanks.

As mentioned in the top comment:

HINT: We recommend using the method outlined in comment 1893176110 on a macOS machine to examine HTML files before pushing changes to the repo.

This allows you to first check and test HTML files on your local machine before pushing out a commit for a pull request.

@xexyl
Copy link

xexyl commented Feb 9, 2024

Added an "UPDATE 0" to the top level comment.

I did like the 2020 version of the entries' index.html files and the year's index.html too but I also liked the way you had the index.html files here. Speaking of such I thought you had linked to an example index.html that was rendered as html. I can't find it now though. Can you post it again please? Thanks. That'll help I think.

Then are rendering on the GitHub pages for the web site such as:
https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson1/index.html
Better still one can view them locally on macOS using the built in Apache server as needed.

The GitHub version is better for me actually. Thanks. Would you mind adding a link to it in the todo list so I am sure to not lose it again? Thanks.

As mentioned in the top comment:

HINT: We recommend using the method outlined in comment 1893176110 on a macOS machine to examine HTML files before pushing changes to the repo.

You should first check and test HTML files on your local machine before pushing out a commit for a pull request.

I meant to see what they look like now. I was too tired to think of more details but that's what I was getting at.

@lcn2
Copy link
Author

lcn2 commented Feb 9, 2024

Speaking of such I see a problem with the index.html files ...

They should list more than just name and location. In particular they should list URLs and also award title. Where should this be fixed? And if it's later in the file I think that's a mistake.

A lesser matter is I'm not sure if the 'Author' heading level is right. But I'm not sure if it's wrong either. Seems smaller though and maybe it shouldn't be? But I don't know and the more #s there are the smaller it gets and that's not good esp for the author's/authors' remarks as if they have sections too it gets too small.

We could have the author information at the top level 1 (as in #) too. I think that might look nicer esp as it won't be indented (or I presume it won't be). It seems odd to have subsection heading level as the very first heading. It seems out of place: like something is missing. What do you think?

Addressing any such missing information is probably premature given the ongoing actions are mentioned in comment 1928224505.

@xexyl
Copy link

xexyl commented Feb 9, 2024

Speaking of such I see a problem with the index.html files ...
They should list more than just name and location. In particular they should list URLs and also award title. Where should this be fixed? And if it's later in the file I think that's a mistake.
A lesser matter is I'm not sure if the 'Author' heading level is right. But I'm not sure if it's wrong either. Seems smaller though and maybe it shouldn't be? But I don't know and the more #s there are the smaller it gets and that's not good esp for the author's/authors' remarks as if they have sections too it gets too small.
We could have the author information at the top level 1 (as in #) too. I think that might look nicer esp as it won't be indented (or I presume it won't be). It seems odd to have subsection heading level as the very first heading. It seems out of place: like something is missing. What do you think?

Addressing any such missing information is probably premature given the ongoing actions are mention in comment 1928224505.

Just wanted to bring it up. No rush on my behalf. I'm afraid I won't do more than the manifest that I did today .. too tired and too much on my mind. I'll do more tomorrow.

@lcn2
Copy link
Author

lcn2 commented Feb 9, 2024

FYI @xexyl , the mention of the IOCCC award for a winning entry has been addressed in index.html files and will be released when we finish the actions mentioned in comment 1928224505.

@xexyl
Copy link

xexyl commented Feb 9, 2024

FYI @xexyl , the mention of the IOCCC award for a winning entry has been addressed in index.html files and will be released when we finish the actions mentioned in comment 1928224505.

Thanks for the update.

@lcn2
Copy link
Author

lcn2 commented Feb 9, 2024

Also FYI: @xexyl , the questions about formatting such as 'Author' heading level has been addressed in index.html files and will be released when we finish the actions mentioned in comment 1928224505.

@xexyl
Copy link

xexyl commented Feb 10, 2024

Also FYI: @xexyl , the questions about formatting such as 'Author' heading level has been addressed in index.html files and will be released when we finish the actions mentioned in comment 1928224505.

Thanks!

I am going to get myself to bed now. I don't know what I will be able to do tomorrow but hopefully I can do a bit. If nothing else I should be able to start back at doing more in the days after my birthday - though as I said there are a few days after it that will be slower.

Enjoy the rest of your day!

@lcn2
Copy link
Author

lcn2 commented Feb 12, 2024

We believe we have addressed all of the current questions that still need answering at this time. If we've missed something or something else needs to be clarified, please ask again.

@lcn2
Copy link
Author

lcn2 commented Feb 12, 2024

See commit cc73503

As a result, from the top level Makefile:

make quick_www

and try:

make www

among other things. :-)

@xexyl
Copy link

xexyl commented Feb 12, 2024

See commit cc73503

As a result, from the top level Makefile:

make quick_www

and try:

make www

among other things. :-)

Nice. Thanks! That'll be helpful. I guess I can update the manifest tool I wrote to do that too but we'll see. Will hopefully do some things tomorrow morning. Just spending a couple more hours and then probably will get sleep: very tired.

@lcn2 lcn2 changed the title Enhancement: improve the look and feel of the winner index.html files Enhancement: improve the look and feel of the constructed index.html files Feb 29, 2024
@lcn2
Copy link
Author

lcn2 commented May 17, 2024

Would you please, when you get a chance, add the root index.html URL on GitHub (that is rendered as a html file) to the top comment here? That way it's easy to find. Thanks.

By "root index.html URL on GitHub (that is rendered as a html file)" do you mean:

https://ioccc-src.github.io/temp-test-ioccc/index.html

If not, please elaborate on your request.

That is indeed what I was referring to. Thanks.

Although I have them on my server it is sometimes useful to see it here too.

Added to the top TODO comment.

@xexyl
Copy link

xexyl commented May 17, 2024

Would you please, when you get a chance, add the root index.html URL on GitHub (that is rendered as a html file) to the top comment here? That way it's easy to find. Thanks.

By "root index.html URL on GitHub (that is rendered as a html file)" do you mean:
https://ioccc-src.github.io/temp-test-ioccc/index.html
If not, please elaborate on your request.

That is indeed what I was referring to. Thanks.
Although I have them on my server it is sometimes useful to see it here too.

Added to the top TODO comment.

Thanks!

@xexyl
Copy link

xexyl commented May 19, 2024

Suggestion

At the last entry of a year if there is another year, have at the menu (at the top where it shows previous entries) a link to the next year (not sure what it should be if there isn't another year).

Might be good to have this for previous years too if that's not already there (haven't checked).

@xexyl
Copy link

xexyl commented May 19, 2024

Should binary files (like in 2006/toledo2) really use %%REPO_URL%%? I think not: there's no syntax highlighting to show and it's meant to be downloaded, right?

.. considering the manifest says to not display via GitHub I'll change it in the README.md files. Doing manifest updates. Not sure how far I'll get but I figured out how to do it so I'm making good progress!

@lcn2
Copy link
Author

lcn2 commented May 19, 2024

Should binary files (like in 2006/toledo2) really use %%REPO_URL%%? I think not: there's no syntax highlighting to show and it's meant to be downloaded, right?

Correct: Binary files should not use %%REPO_URL%% as they need to be downloaded.

.. considering the manifest says to not display via GitHub I'll change it in the README.md files. Doing manifest updates. Not sure how far I'll get but I figured out how to do it so I'm making good progress!

👍

@xexyl
Copy link

xexyl commented May 19, 2024

Should binary files (like in 2006/toledo2) really use %%REPO_URL%%? I think not: there's no syntax highlighting to show and it's meant to be downloaded, right?

Correct: Binary files should not use %%REPO_URL%% as they need to be downloaded.

Already fixed but thanks for confirming!

.. considering the manifest says to not display via GitHub I'll change it in the README.md files. Doing manifest updates. Not sure how far I'll get but I figured out how to do it so I'm making good progress!

👍

I'm trying to get it done so I can do other things. I figured out if I sort by entry_text field it works out well. Unfortunately I have a lot to do still and not sure if I'll have the energy to do it all today. Or maybe the patience as I have other things I'd like to do too. Still making good progress and mostly it's quick. I have made fixes and I hope that when done the other issue can be closed though with the caveat that when I go through the html files I might have to make fixes still.

@lcn2
Copy link
Author

lcn2 commented May 19, 2024

With commit 69c38e0 an interesting "failure to report an error" bug set was fixed. These bugs hid the impact of markdown bugs that went unnoticed ... until we were looking carefully at messages that should have been reported as fatal errors.

@xexyl
Copy link

xexyl commented May 21, 2024

With commit 69c38e0 an interesting "failure to report an error" bug set was fixed. These bugs hid the impact of markdown bugs that went unnoticed ... until we were looking carefully at messages that should have been reported as fatal errors.

Thanks for the note and the fix (though I had already seen that some fixes were made)!

I hope to look at the repo again tomorrow but I am afraid it might be a few more days. We shall see.

@xexyl
Copy link

xexyl commented May 22, 2024

As I noted in a comment in #5 I might have come up with a way that will give me more time to work on this repo. I doubt very much I'll do anything today here though I do have some fixes in the other repo I just remembered. But I was wondering something...

Several of the scripts have the gross hack because of the no jnamval and I wondered something. Would it be worthwhile to implement the necessary functionality of that tool (not anything else) so that we don't have to rely on the hack in the scripts here? Or is it because this issue is a top priority and more so the website in general is so important that we should wait?

On that note I was pondering something. Although it might be good for me to do the code that uses the low level json parse tree code (as it would be good to since I have the jparse repo) it might also (when the time comes to work on the three tools) speed things along a bit if we co-develop it like we did the parser itself. Just a thought. But for instance you noted that there are some things that have to be done with the option parsing that I am not sure I even followed and that could be done by you, for example. And it might be you do some other parts too.

Of course I can do it all but if we were to co-develop it it would speed things along I'd think and that would mean the mock context could be here sooner. Just a thought that might or might not be worth much.

I do have some minor fixes in that repo (documentation related) but then I'll be doing other things for the rest of the day. Those changes incidentally are already done I just have to update the changes file and then do a commit.

As for my thoughts on this comment: I really don't know if it would be worth trying to get rid for the need of the hack but it crossed my mind so I figured I'd bring it up just in case. It would slow the progress down here and since the hack at least works it might be fine to keep it in place until the website is in good shape but I'll leave that to you. Of course if we were to do this one functionality it might also mean that things would have to be done over again. Actually I had the thought of adding to the top (in comments) that those tools are likely going to be mostly rewritten if not entirely rewritten but that's for another day I think: it's getting to the point I should be doing other things and then I'd like to do some other things that although not required I would like to do.

@xexyl
Copy link

xexyl commented May 22, 2024

Suggestions for the authors page. I don't know if <code> is allowed in <h2> elements but if it is the keyword should be in it I think. If it's not (as some say) maybe it could be in italics instead (it wouldn't work for bold as it seems to already be)? That way it stands out a bit more (even if only slight) as to what it's saying. As it stands it's just the same format and colouring.

Maybe you disagree but thought I'd bring it up as I think it'd make it a bit nicer.

Anyway off for the day. Back tomorrow or the weekend (if not Friday)!

@xexyl
Copy link

xexyl commented May 23, 2024

Problem with make www with some possible solutions.

The problem is that it generates the status.json and status.html file. Not a problem except in one way: it updates the news date even when no news is updated.

Possible solutions:

  • make www does not run the gen-status tool. Problem with this is that if the status.html file needs to be generated it won't be.
  • Don't make the gen-status tool update the news without an option. I was going to offer adding that option and I can but I wouldn't know what letter to use and I would need to know how you would want it to work. Still I can likely do it if you wish and tell me how it should work.
  • Something else ?

@lcn2
Copy link
Author

lcn2 commented May 23, 2024

Several of the scripts have the gross hack because of the no jnamval and I wondered something. Would it be worthwhile to implement the necessary functionality of that tool (not anything else) so that we don't have to rely on the hack in the scripts here? Or is it because this issue is a top priority and more so the website in general is so important that we should wait?

Post Great Fork Merge, writing tools such as jval and jnamval can be designed (along with the new JSON parse tree walking interface), developed and written, BUT NOT NOW.

The bin/ scripts currently work now and places where a gross hack was done has been clearly marked. However, to wait until tools such as jval and jnamval are written and then to modify the gross hack places in the bin/ scripts to use them would only delay the Great Fork Merge and also delay the eventual start of IOCCC28.

The code race

We are racing to get the submit server in such a state where reasonable screenshots can be taken and the faq.md can be updated (on how to register and submit to the IOCCC) AND so that the XXX-ed defines in mkioccentry.h in the other repo can be replaced with real values (in a new mkiocccentry repo release).

Once the above mentioned "code race" is nearly done, we plan to close this issue in whatever stare it is in (with only about two weeks notice) and start the final TODO tasks of issue #2239 (the Great Fork Merge).

The important implication of "closing this issue in whatever stare it is in (with only a week or two notice)" is that any web page problems will go live on the Official IOCCC Website.

Once the Great Fork Merge is done and the site goes live, any fixes to the Official IOCCC Website will be most "slow walked", updating the web site once every few weeks so as not trash the contents of the site like we do to the temp-test-ioccc web site.

So NOW, while the "code race" is not yet close to the "finish line", is the time to complete this issue .. while we can.

@lcn2
Copy link
Author

lcn2 commented May 23, 2024

I don't know if <code> is allowed in <h2> elements but if it is the keyword should be in it I think .. maybe it could be in italics instead

We seem to recall that such modifiers in a header HTML was flagged as problematic by the HTML 5 checker, but we could be mistaken. Until we verify this, please don't add such modifiers (including italics and other) inside the header stings.

UPDATE 0

Suggestions for the authors page. ... That way it stands out a bit more (even if only slight) as to what it's saying. As it stands it's just the same format and colouring.

Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify <h2> strings so that it would stand out.

@xexyl
Copy link

xexyl commented May 23, 2024

Several of the scripts have the gross hack because of the no jnamval and I wondered something. Would it be worthwhile to implement the necessary functionality of that tool (not anything else) so that we don't have to rely on the hack in the scripts here? Or is it because this issue is a top priority and more so the website in general is so important that we should wait?

Post Great Fork Merge, writing tools such as jval and jnamval can be designed (along with the new JSON parse tree walking interface), developed and written, BUT NOT NOW.

The bin/ scripts currently work now and places where a gross hack was done has been clearly marked. However, to wait until tools such as jval and jnamval are written and then to modify the gross hack places in the bin/ scripts to use them would only delay the Great Fork Merge and also delay the eventual start of IOCCC28.

The code race

We are racing to get the submit server in such a state where reasonable screenshots can be taken and the faq.md can be updated (on how to register and submit to the IOCCC) AND so that the XXX-ed defines in mkioccentry.h in the other repo can be replaced with real values (in a new mkiocccentry repo release).

Once the above mentioned "code race" is nearly done, we plan to close this issue in whatever stare it is in (with only about two weeks notice) and start the final TODO tasks of issue #2239 (the Great Fork Merge).

The important implication of "closing this issue in whatever stare it is in (with only a week or two notice)" is that any web page problems will go live on the Official IOCCC Website.

Once the Great Fork Merge is done and the site goes live, any fixes to the Official IOCCC Website will be most "slow walked", updating the web site once every few weeks so as not trash the contents of the site like we do to the temp-test-ioccc web site.

So NOW, while the "code race" is not yet close to the "finish line", is the time to complete this issue .. while we can.

Okay but if the FAQ has to be modified towards the end (or kind of towards the end) should I not evaluate that file yet?

As for the other web pages I'll do my best. I'm still not sure I can say I'm fully recovered from surgery but I think the real trouble is problem of being exhaustion. I'm sure I'll get it done but I do feel like it's going slower than I'd like. I have some other things I have to take care of too but the one in mind can wait a bit of time (and indeed it must wait some time).

I will see about looking at this issue tomorrow. There's no way I can finish it in a single day but hopefully I can get a fair number of years done - or a few of the other pages that aren't years of the contest. I do think that most of the entries are probably in good order already: maybe a few changes in the manifest here and there but probably mostly okay. I imagine that formatting is in good shape too but maybe some needs to be fixed.

I do think that being able to scroll down the pages looking for formatting and not worrying so much about content will greatly speed things up - as long as I can focus my eyes enough to see. And that is a big problem lately I must admit. But even if I have problems with that I still can go over the files even if by some chance the job is not as good as it would otherwise be (but of course it might be fine).

@xexyl
Copy link

xexyl commented May 23, 2024

I don't know if is allowed in

elements but if it is the keyword should be in it I think .. maybe it could be in italics instead

We seem to recall that such modifiers in a header HTML was flagged as problematic by the HTML 5 checker, but we could be mistaken. Until we verify this, please don't add such modifiers (including italics and other) inside the header stings.

UPDATE 0

Suggestions for the authors page. ... That way it stands out a bit more (even if only slight) as to what it's saying. As it stands it's just the same format and colouring.

Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify

strings so that it would stand out.

I was thinking of in the one file only, authors.html and in particular lines like:

<h2 id="f-is-for-float">F is for float</h2>

I think the float should be in italic or code block or something so it stands out better. Of course if <h2> does not allow it then there would be another way, a <stong> (maybe?) with styling to make it match <h2>. But the point is that since the X in .. is for X .. is a C keyword it would be nicer if it stood out a bit more, even if only just a little bit.

@lcn2
Copy link
Author

lcn2 commented May 23, 2024

Okay but if the FAQ has to be modified towards the end (or kind of towards the end) should I not evaluate that file yet?

Go ahead and work on the FAQ now. When it comes time to update the FAQ for registration and the FAQ for submission, we can just evaluate the change after the update.

@xexyl
Copy link

xexyl commented May 23, 2024

Okay but if the FAQ has to be modified towards the end (or kind of towards the end) should I not evaluate that file yet?

Go ahead and work on the FAQ now. When it comes time to update the FAQ for registration and the FAQ for submission, we can just evaluate the change after the update.

That's a good idea and for that file I think it's probably good that I read through it to make sure things look okay or at least skim through it.

Maybe I can do that in the coming days.

@xexyl
Copy link

xexyl commented May 24, 2024

May I suggest a change in the stylesheet and an element in <head>? I don't know what max-width value you'd want but something like this for <img>:

img{height:auto;max-width:95%;position:relative;}

and then for the <head> part have something like:

<meta name="viewport" content="width=device-width,initial-scale=1.0">

The reason is without this images are not responsive. See the screenshot below for what I mean:

IMG_5933

As you can see you have to scroll in order to see the image instead of it scaling based on the device screen size.

FYI: this comes from my IOCCC web site but I've used it for others too.

lcn2 added a commit that referenced this issue May 24, 2024
As per
[comment-212792541](#2006 (comment))
we have added HTML italics around the "float" in "f is for float"
HTML header.

Perform `make gen_authors` to test the above.
@lcn2
Copy link
Author

lcn2 commented May 24, 2024

I don't know if ` is allowed in ## elements but if it is the keyword should be in it I think .. maybe it could be in italics instead
..
Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify ## strings so that it would stand out.
..
I was thinking of in the one file only, authors.html and in particular lines like ...
..
Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify ## strings so that it would stand out.
..
I was thinking of in the one file only, authors.html and in particular lines like .. F is for float ..

With commit 194e0ad and 1289003 the "a is for atoi" headers in authors.html has been improved.

It turns out that HTML header tags (e.g., <h2>...</h2>) allow for HTML bold tags (i.e., <b>...</b>) and
HTML code tags (i.e., <code>...</code>) within their scope. It is not immediately clear from the HTML 5 spec which HTML tags are allowed within the HTML header tag scope. We know that HTML div tags (i.e., <div>...</div>) are NOT allowed, so we had to test (commit f2a629d) first.

Thank you, @xexyl, for suggesting this change. The "a is for atoi" is a fine IOCCC tradition.

FYI: The "a is for atoi" was a C language variant and nod to the much older needlework sampler:

Sampler_by_Elizabeth_Laidman,_1760

that was practiced by some our ancestors of the last few centuries as well as a nod to a common Nursery Rhymes so that same era.

Your suggestion helps present this IOCCC tradition better.

BTW: We changed the letters to lower case, out of a long standing tradition of lower case letters.

on lower case

As a bonus thank you, we offer this historical perspective on lower case:

The preference for lower case came partly from the fact that "newer"
CRT terminals that whose advancement was that they could display
both UPPER and lower case letters.  There were older CRT terminals
that were retrofitted from UPPER CASE ONLY hardware didn't display
lower case letters such as "a" vs "o" well.  The "better" and "newer"
CRT terminals needed a slightly higher CRT dot resolution to form
the lower case letters well, and so code looked better.

The preference for lower case also case from electromechanical
terminals such as the very common and widely sued Teletype Model
33 (ASR-33) terminal.

See Teletype Model 33.

Teletype-IMG_7287

A new ASR-33 was low cost (about $1 000 US in their day: equivalent
to about $10 000 US in 2024) than a CRT terminal (newer models with
good looking lover case ability were $ 2500 plus and a good Tektronix
4010 could run about $10 000 US: equivalent to about $100 000 US
today), had one of the least ergonomic keyboards every produced.

Typing on ASR-33 terminals took physical effort and was slow.
Pressing the SHIFT key on an ASR-33 required more than an average
amount of force as well as time. The ASR-33 keyboard did NOT have
a caps lock key:

Mappa_Teletype_ASR-33

If one wanted to type lots of UPPER CASE keys, one had to HOLD DOWN
the shift key with one hand and finger peck with the other hand.

Teletypes were standard terminals for DEC and Data General minicomputers,
both of which had a UNIX port:

DEC_PDP-8_family_-PDP-8F(1972),PDP-8(1965),PDP-8S(c 1966)-and_Teletype_ASR-33(1964),on_the_side_of_Data_General_Eclips(1974) Nova(1969)_-Computer_History_Museum(2007-11-10_23 08 07_by_Carlo_Nardone)

And while the last ASR-33 terminal was made in 1981, they remained
in wide use well into the 1990's.    Typewriter repair people could
make good money servicing old ASR-33 terminals.

To TYPE LOTS OF UPPER CASE LETTERS IN A ROW required physical effort
on most electromechanical terminals.  One could put physical effort
and be somewhat aggressive BY TYPING IN ALL CAPS.  Even the cadence
of typing changed WHEN YOU HAD TO FORCE DOWN THE SHIFT KEY AND PICK
LETTERS, ONE AT A TIME WITH THE OTHER HAND.  In early "social media"
of the 1960's, 1970's and 1980's the tradition of SHOUTING IN ALL
CAPS came in part because of electromechanical terminals such as
the ASR-33.

For mostly these reasons, lower case usually faster and easier to
type and became the preferred case in man places.

BTW: The MAIN reason why the Unix creat(2) system call was without
the final "e" AND the MAIN reason why commands such as ls(1) and
mv(1) and cp(1) (etc.) were not "list", "move", and "copy" also to
minimize typing letters: especially when it came to a terminal
such as an ASR-33.  Lower case filenames, minimalist function names,
and reserving UPPER CASE to special things such as #define CONSTANTS:
those traditions were highly motivated by the terminals of their day.

@lcn2
Copy link
Author

lcn2 commented May 24, 2024

and then for the <head> part have something like:

<meta name="viewport" content="width=device-width,initial-scale=1.0">

We are working on this, but as an FYI, inc/head.default.html, which is where the HTML head (<head>..</head>) scope is defined, already contains the line:

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">

Stay tuned ...

UPDATE 0

May I suggest a change in the stylesheet and an element in ? I don't know what max-width value you'd want but something like this for :

img{height:auto;max-width:95%;position:relative;}
...
The reason is without this images are not responsive. See the screenshot below for what I mean:
...
As you can see you have to scroll in order to see the image instead of it scaling based on the device screen size.
...

With commit 07b8fcc and dacfdd0 the above request has been processed.

FYI: this comes from my IOCCC web site but I've used it for others too.

Thank you @xexyl and feel free to make other recommended improvements to ioccc.css.

@lcn2
Copy link
Author

lcn2 commented May 24, 2024

Problem with make www with some possible solutions.

The problem is that it generates the status.json and status.html file. Not a problem except in one way: it updates the news date even when no news is updated.

Fair request, @xexyl.

With commit 36ab67d we will do a combination of:

Possible solutions:

  • make www does not run the gen-status tool.

  • Something else

Now make gen_top_html rule, via bin/gen-top-html.sh will form status.html based solely on the contents of status.md. Only the make gen_status rule will modify status.md if needed, and then rebuild status.html if needed.

@lcn2
Copy link
Author

lcn2 commented May 24, 2024

We believe we have addressed all of the current questions that still need answering at this time. If we've missed something or something else needs to be clarified, please ask again.

@xexyl
Copy link

xexyl commented May 25, 2024

I don't know if is allowed in ## elements but if it is the keyword should be in it I think .. maybe it could be in italics instead .. Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify ## strings so that it would stand out. .. I was thinking of in the one file only,authors.htmland in particular lines like ... .. Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify ## strings so that it would stand out. .. I was thinking of in the one file only,authors.html` and in particular lines like .. F is for float ..

With commit 194e0ad and 1289003 the "a is for atoi" headers in authors.html has been improved.

It turns out that HTML header tags (e.g., <h2>...</h2>) allow for HTML bold tags (i.e., <b>...</b>) and HTML code tags (i.e., <code>...</code>) within their scope. It is not immediately clear from the HTML 5 spec which HTML tags are allowed within the HTML header tag scope. We know that HTML div tags (i.e., <div>...</div>) are NOT allowed, so we had to test (commit f2a629d) first.

Thank you, @xexyl, for suggesting this change. The "a is for atoi" is a fine IOCCC tradition.

FYI: The "a is for atoi" was a C language variant and nod to the much older needlework sampler:

Sampler_by_Elizabeth_Laidman,_1760

that was practiced by some our ancestors of the last few centuries as well as a nod to a common Nursery Rhymes so that same era.

Your suggestion helps present this IOCCC tradition better.

BTW: We changed the letters to lower case, out of a long standing tradition of lower case letters.

on lower case

As a bonus thank you, we offer this historical perspective on lower case:

The preference for lower case came partly from the fact that "newer"
CRT terminals that whose advancement was that they could display
both UPPER and lower case letters.  There were older CRT terminals
that were retrofitted from UPPER CASE ONLY hardware didn't display
lower case letters such as "a" vs "o" well.  The "better" and "newer"
CRT terminals needed a slightly higher CRT dot resolution to form
the lower case letters well, and so code looked better.

The preference for lower case also case from electromechanical
terminals such as the very common and widely sued Teletype Model
33 (ASR-33) terminal.

See Teletype Model 33.

Teletype-IMG_7287

A new ASR-33 was low cost (about $1 000 US in their day: equivalent
to about $10 000 US in 2024) than a CRT terminal (newer models with
good looking lover case ability were $ 2500 plus and a good Tektronix
4010 could run about $10 000 US: equivalent to about $100 000 US
today), had one of the least ergonomic keyboards every produced.

Typing on ASR-33 terminals took physical effort and was slow.
Pressing the SHIFT key on an ASR-33 required more than an average
amount of force as well as time. The ASR-33 keyboard did NOT have
a caps lock key:

Mappa_Teletype_ASR-33

If one wanted to type lots of UPPER CASE keys, one had to HOLD DOWN
the shift key with one hand and finger peck with the other hand.

Teletypes were standard terminals for DEC and Data General minicomputers,
both of which had a UNIX port:

DEC_PDP-8_family_-PDP-8F(1972),PDP-8(1965),PDP-8S(c 1966)-and_Teletype_ASR-33(1964),on_the_side_of_Data_General_Eclips(1974) Nova(1969)_-Computer_History_Museum(2007-11-10_23 08 07_by_Carlo_Nardone)

And while the last ASR-33 terminal was made in 1981, they remained
in wide use well into the 1990's.    Typewriter repair people could
make good money servicing old ASR-33 terminals.

To TYPE LOTS OF UPPER CASE LETTERS IN A ROW required physical effort
on most electromechanical terminals.  One could put physical effort
and be somewhat aggressive BY TYPING IN ALL CAPS.  Even the cadence
of typing changed WHEN YOU HAD TO FORCE DOWN THE SHIFT KEY AND PICK
LETTERS, ONE AT A TIME WITH THE OTHER HAND.  In early "social media"
of the 1960's, 1970's and 1980's the tradition of SHOUTING IN ALL
CAPS came in part because of electromechanical terminals such as
the ASR-33.

For mostly these reasons, lower case usually faster and easier to
type and became the preferred case in man places.

BTW: The MAIN reason why the Unix creat(2) system call was without
the final "e" AND the MAIN reason why commands such as ls(1) and
mv(1) and cp(1) (etc.) were not "list", "move", and "copy" also to
minimize typing letters: especially when it came to a terminal
such as an ASR-33.  Lower case filenames, minimalist function names,
and reserving UPPER CASE to special things such as #define CONSTANTS:
those traditions were highly motivated by the terminals of their day.

Thanks for all this history! I agree with the lower case of the letters and I almost mentioned it. This comment is a lot to reply to and i have some things I need to do but it's also a lot of great stuff with some questions I might have too. I am not sure if I'll get to it today but I hope to. Still I feel like it's already afternoon even though it's only a quarter after 8! I feel like it'll be a slow day but it was a hard night (I think - it feels like it might have been) so it makes sense if it is slow.

@xexyl
Copy link

xexyl commented May 25, 2024

There's a bug with GitHub website right now (or maybe a glitch is a better word .. for certain definitions of glitch :-) ) that is preventing me from quoting comment 2130333823 so I'm going to reply to the comment without context.

First I had forgotten about the inc/ header file.

I had to try loading it on the old phone due to cache and it works fine: thanks for adding my fix!

@xexyl
Copy link

xexyl commented May 25, 2024

Problem with make www with some possible solutions.

The problem is that it generates the status.json and status.html file. Not a problem except in one way: it updates the news date even when no news is updated.

Fair request, @xexyl.

With commit 36ab67d we will do a combination of:

Possible solutions:

  • make www does not run the gen-status tool.
  • Something else

Now make gen_top_html rule, via bin/gen-top-html.sh will form status.html based solely on the contents of status.md. Only the make gen_status rule will modify status.md if needed, and then rebuild status.html if needed.

Thanks!

I noticed it touches other files too but I forgot to mention those. Not sure if your fix takes care of those too. I'm running make www now to see. But I'll report it if necessary or else fix in a way you did for status. I know you're busy with that emergency (sorry for you!) but I have other things to do here too of course and things besides the IOCCC.

@xexyl
Copy link

xexyl commented May 25, 2024

I don't know if is allowed in ## elements but if it is the keyword should be in it I think .. maybe it could be in italics instead .. Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify ## strings so that it would stand out. .. I was thinking of in the one file only,authors.htmland in particular lines like ... .. Please cite some examples (say 2 or 3) in a comment below, of where, in the authors page, you want to modify ## strings so that it would stand out. .. I was thinking of in the one file only,authors.html` and in particular lines like .. F is for float ..

First of all I know you're busy with an emergency: I am happy to wait on the below.

With commit 194e0ad and 1289003 the "a is for atoi" headers in authors.html has been improved.

Thanks!

It turns out that HTML header tags (e.g., <h2>...</h2>) allow for HTML bold tags (i.e., <b>...</b>) and HTML code tags (i.e., <code>...</code>) within their scope. It is not immediately clear from the HTML 5 spec which HTML tags are allowed within the HTML header tag scope. We know that HTML div tags (i.e., <div>...</div>) are NOT allowed, so we had to test (commit f2a629d) first.

Ah yes .. standards. What to say?

Thank you, @xexyl, for suggesting this change. The "a is for atoi" is a fine IOCCC tradition.

You're welcome! I wonder though: should the is for also be in italic? I would think maybe it would look better if it was in normal text?

FYI: The "a is for atoi" was a C language variant and nod to the much older needlework sampler:

Sampler_by_Elizabeth_Laidman,_1760

that was practiced by some our ancestors of the last few centuries as well as a nod to a common Nursery Rhymes so that same era.

Would you please explain, when you can, how the needlework is related to this? Also what do you mean by a C language variant?

Your suggestion helps present this IOCCC tradition better.

I am glad. I offered up another thought above too.

BTW: We changed the letters to lower case, out of a long standing tradition of lower case letters.

I almost said something about it and probably would have, as noted earlier, so I'm glad you did it.

on lower case

As a bonus thank you, we offer this historical perspective on lower case:

The preference for lower case came partly from the fact that "newer"
CRT terminals that whose advancement was that they could display
both UPPER and lower case letters.  There were older CRT terminals
that were retrofitted from UPPER CASE ONLY hardware didn't display
lower case letters such as "a" vs "o" well.  The "better" and "newer"
CRT terminals needed a slightly higher CRT dot resolution to form
the lower case letters well, and so code looked better.

I knew that older terminals only had upper case but I did not know the other part (or I don't think I did .. maybe some): thanks!

By preference to lower case do you mean in the unix/programming/C world specifically, as I think?

The preference for lower case also case from electromechanical
terminals such as the very common and widely sued Teletype Model
33 (ASR-33) terminal.


See [Teletype Model 33](https://en.wikipedia.org/wiki/Teletype_Model_33).

![Teletype-IMG_7287](https://private-user-images.githubusercontent.com/10429707/333724600-716eba89-fa88-4ce0-91d1-e1f1bec5db16.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY2NjIyNzcsIm5iZiI6MTcxNjY2MTk3NywicGF0aCI6Ii8xMDQyOTcwNy8zMzM3MjQ2MDAtNzE2ZWJhODktZmE4OC00Y2UwLTkxZDEtZTFmMWJlYzVkYjE2LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTI1VDE4MzI1N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQyMmMzZGQ4NzkwOGJlMTg1YWE2MDQ3NWQ3NWI5Yzg5MzU2OWJhMjhmZmI4ZjFjMTBlZGFlNzlmZGRhYTk1YzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.31esMuQdXvab2ffG1UwhEi9EEol0B6XOyUQHXwHkFU4)

A new ASR-33 was low cost (about $1 000 US in their day: equivalent
to about $10 000 US in 2024) than a CRT terminal (newer models with
good looking lover case ability were $ 2500 plus and a good Tektronix
4010 could run about $10 000 US: equivalent to about $100 000 US
today), had one of the least ergonomic keyboards every produced.

'Low cost' ? :-)

... I remember though when 1GB HDDs first came out: those things were bloody expensive too! And 'they were enough for a lifetime' too ... how funny how things turn out sometimes!

Typing on ASR-33 terminals took physical effort and was slow.
Pressing the SHIFT key on an ASR-33 required more than an average
amount of force as well as time. The ASR-33 keyboard did NOT have
a caps lock key:


Did you have to do this too? Of course that's also not ergonomic.

Mappa_Teletype_ASR-33

If one wanted to type lots of UPPER CASE keys, one had to HOLD DOWN
the shift key with one hand and finger peck with the other hand.

Teletypes were standard terminals for DEC and Data General minicomputers,
both of which had a UNIX port:

And hence tty(1), right?

DEC_PDP-8_family_-PDP-8F(1972),PDP-8(1965),PDP-8S(c 1966)-and_Teletype_ASR-33(1964),on_the_side_of_Data_General_Eclips(1974) Nova(1969)_-Computer_History_Museum(2007-11-10_23 08 07_by_Carlo_Nardone)

And while the last ASR-33 terminal was made in 1981, they remained
in wide use well into the 1990's.    Typewriter repair people could
make good money servicing old ASR-33 terminals.

I imagine that they could!

To TYPE LOTS OF UPPER CASE LETTERS IN A ROW required physical effort
on most electromechanical terminals. One could put physical effort
and be somewhat aggressive BY TYPING IN ALL CAPS. Even the cadence
of typing changed WHEN YOU HAD TO FORCE DOWN THE SHIFT KEY AND PICK
LETTERS, ONE AT A TIME WITH THE OTHER HAND. In early "social media"
of the 1960's, 1970's and 1980's the tradition of SHOUTING IN ALL
CAPS came in part because of electromechanical terminals such as
the ASR-33.
I couldn't have named the device but I would have thought something like it anyway. Thanks!

For mostly these reasons, lower case usually faster and easier to
type and became the preferred case in man places.

And still is of course.

BTW: The MAIN reason why the Unix creat(2) system call was without
the final "e" AND the MAIN reason why commands such as ls(1) and
mv(1) and cp(1) (etc.) were not "list", "move", and "copy" also to
minimize typing letters: especially when it came to a terminal
such as an ASR-33. Lower case filenames, minimalist function names,
and reserving UPPER CASE to special things such as #define CONSTANTS:
those traditions were highly motivated by the terminals of their day.

Interesting! That makes sense of course. I know that Ken Thompson joked about how his only regret is that he didn't spell creat(2) with an 'e' but what he meant to say is 'with a second e'. Still it's a funny statement.

Thanks for the history! I'm going back to some reading now but I hope tomorrow I will be able to work more on the repo. I have company coming in a bit so won't get as much reading done as I'd like but should be nice. Anyway best wishes on the trouble you have to fix! I guess we all are familiar with some company or entity removing some service that was vital or useful without a concern for the people it affects. I certainly am.

@xexyl
Copy link

xexyl commented May 25, 2024

Problem with make www with some possible solutions.

The problem is that it generates the status.json and status.html file. Not a problem except in one way: it updates the news date even when no news is updated.

Fair request, @xexyl.
With commit 36ab67d we will do a combination of:

Possible solutions:

  • make www does not run the gen-status tool.
  • Something else

Now make gen_top_html rule, via bin/gen-top-html.sh will form status.html based solely on the contents of status.md. Only the make gen_status rule will modify status.md if needed, and then rebuild status.html if needed.

Thanks!

I noticed it touches other files too but I forgot to mention those. Not sure if your fix takes care of those too. I'm running make www now to see. But I'll report it if necessary or else fix in a way you did for status. I know you're busy with that emergency (sorry for you!) but I have other things to do here too of course and things besides the IOCCC.

Hmm ... make www still touches status.json and status.html. Not sure about other files as yet but I'll let you know another time if there are any others touched.

@xexyl
Copy link

xexyl commented May 26, 2024

The is for suggestion I made was done (script updated and rebuilt html file) in 0239463.

@xexyl
Copy link

xexyl commented May 26, 2024

Problem with make www with some possible solutions.

The problem is that it generates the status.json and status.html file. Not a problem except in one way: it updates the news date even when no news is updated.

Fair request, @xexyl.

With commit 36ab67d we will do a combination of:

Possible solutions:

  • make www does not run the gen-status tool.
  • Something else

Now make gen_top_html rule, via bin/gen-top-html.sh will form status.html based solely on the contents of status.md. Only the make gen_status rule will modify status.md if needed, and then rebuild status.html if needed.

Thanks!

I noticed it touches other files too but I forgot to mention those. Not sure if your fix takes care of those too. I'm running make www now to see. But I'll report it if necessary or else fix in a way you did for status. I know you're busy with that emergency (sorry for you!) but I have other things to do here too of course and things besides the IOCCC.

Hmm ... make www still touches status.json and status.html. Not sure about other files as yet but I'll let you know another time if there are any others touched.

I figured out the problem here! It seems like it might not be possible to resolve either in which case I will have to just be careful with not committing those files (checking them out first to undo changes) unless I can add a check that would improve the script some to prevent this problem from occurring in the likely rare cases it happens.

But it's strange: from all signs and tests I have made it should work. What's more is that it's not updating the news date to the current date but rather a date some days ago. See UPDATE 0: I might have found the real problem and I'm not sure why it's happened. Perhaps I can correct it with touch(1) but the real question is why it happened.

But the script properly detects that the stat(1) I have is NOT the macOS (well I have it but my PATH has GNU stat(1) from MacPorts in front of the macOS paths). Also the stat(1) command given for the RHEL stat command gives correct output.

But here's the thing: in Rocky Linux (also RH based) it also does not work: the date is updated too but even more bizarre is that the date is different.

UPDATE 0

Ah! The news.md file has a different mod time ...

In rocky linux:

TZ=UTC stat -c '%y' news.md
2024-05-04 13:57:27.239661473 +0000

and in macOS:

TZ=UTC /opt/local/libexec/gnubin/stat -c '%y' news.md
2024-05-24 17:24:43.577475609 +0000

So everything is actually working correctly but the timestamps are messed up. But why?

... still I made a change (not committed yet) that does type -P stat and type -P ls to pick up the user preferred stat and ls tools. Whether it's worth committing or not I'll decide later. Soon I have some things to do. I'm not sure if I'll manage to do anything with the editing / checking html files but at least this problem has been identified even if not resolved.

UPDATE 1

I figured it out. I thought it would take the timestamp from the repo (as in the commit time) when doing a checkout but apparently not: it takes the time of the checkout as the mod time instead and since I had to do a checkout before (for different reasons) the timestamp got changed.

I wonder if this is a problem. It might be because someone who forks the repo and then clones their fork to make a change and does make www might without realising it (being less familiar with the repo) commit a news date modification.

Can you think of any solution to this problem? The way the previous script that I wrote worked it did not try and detect a change in timestamp but rather only updated the values if requested; the rest remained the same. But your model is what you need (and after all mine was a potentially temporary one) so that can't work I think? But obviously this can be a problem.

UPDATE 2

Perhaps a file with the last update timestamps of the relevant files that the script can read from instead? That file would have to be maintained either manually (not good way) or else add an option to the script to update the respective timestamps in the file. I'd be happy to do that but you might have another thing in mind and maybe it's not even a problem worth fixing in your mind. It's just a possible solution if solution is the right word. But then again it would kind of defeat the purpose. That makes me wonder though if the last mod time is a good way to go about it. Unless no other make rule runs gen-status.sh? That could also work as it seems like that's a file that only the judges should update anyway. If a typo fix is made bye someone else in the news.md file then that isn't really a news update so much as a textual correction.

Well anyway this is the explanation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed top priority This a top priory critical path issue for next milestone
Projects
None yet
Development

No branches or pull requests

2 participants