One bad practice in programming is to have a lot of unnamed parameters.
Footnotes/endnotes seem similar.
That’s what arrays are for.
It’s particularly annoying for authors not using great footnote-configuring software.
What software does this well?
One alternative would be to use what we can call named footnotes or endnotes.
If you have 10 endnotes,
10 endnotes? Break the document up into sections, and the footnotes up into sections.
and then decide to introduce a new one mid-way, you then must re-order all the others after it.
Authors also could not re-order the footnotes.
textual search.
Or separate drafting and finished product: * indicates a footnote (to be replaced with a number later). At the end, searching * will find the first instance. (If the footnotes are being made at the same, then /* for the notes in the body, and \* for the footnotes at the end. Any uncommon symbols work—like qw.)
Arrays are useful for some kinds of things, for sure, but not when you have some very different parameters, especially if they are of different kinds. It would be weird to replace getUser({userId, databaseId, params}) with something like getUser([inputs]) where inputs is an array of [userId, databaseId, params].
What software does this well?
Depends on your definition of “well”, but things like Microsoft Word and to what I believe is a lesser extent Google Docs at least have ways of formally handling footnotes/endnotes, which is better than not using these features (like, in most internet comment editors).
10 endnotes? Break the document up into sections, and the footnotes up into sections.
That could work in some cases. I haven’t seen that done much on most online blog posts. Also, there’s definitely controversy if this is a good idea.
Authors also could not re-order the footnotes.
Fair point, but this would be seen as lazy, and could be confusing. If your footnotes are numbers [8], [2], [3], [1], etc. that seems unpolished. That said, I wouldn’t mind this much, and it could be worth the cost.
The page you linked was a great overview. It noted:
If you want to look at the text of a particular endnote, you have to flip to the end of the research paper to find the information.
With a physical document, the two parts (body+endnotes) can be separated for side by side reading. With a digital document, it helps to have two copies open.
Depends on your definition of “well”, but things like Microsoft Word and to what I believe is a lesser extent Google Docs at least have ways of formally handling footnotes/endnotes, which is better than not using these features (like, in most internet comment editors).
This seems like a problem with an easy solution. (The difficult solution is trying to make it easier for website makers to get more sophisticated editors in their comments section.)
A brief search for browser extensions suggests it might be possible with an extension that offers an editor, or made easier with one that allows searching multiple things and highlighting them in different colors.
Alternatively, a program for this might:
Make sure every pair of []s is closed.*
Find the strings contained in []s.
Make sure they appear (at most) two times.**
If they appear 3 times, increment the later one (in both places where it appears, if applicable). This requires that the footnotes below already be written. This requirement could be removed if the program looked for (or created) a “Footnotes” or “Endnotes” header (just that string and an end of line), and handled things differently based on that.
Such a program could be on a website, though that’s requires people bother switching to that, which, even if bookmarked, is only slightly easier than opening an editor.
As a browser extension, it would have to figure out/be told 1. what part of the text it’s supposed to work on, 2. when to be active, and 3. how to make the change.
1. could be done by having the message begin with start, and end with end, as long as the page doesn’t include those words (with []s in between them).
2. This could be done automatically, or with a button.
3. Change the text automatically, or make a suggestion?
Fair point, but this would be seen as lazy, and could be confusing. If your footnotes are numbers [8], [2], [3], [1], etc. that seems unpolished. That said, I wouldn’t mind this much, and it could be worth the cost.
This could simplify things—if people took things in that format and ran them through a program that fixed it/pointed it out (and maybe other small mistakes).
*A programming IDE does this.
**And this as well, with a bit more work, enabling named footnotes. The trick would be making extensions that make this easy to use for something other than it was intended, or copying the logic.
That’s what arrays are for.
What software does this well?
10 endnotes? Break the document up into sections, and the footnotes up into sections.
Authors also could not re-order the footnotes.
Or separate drafting and finished product: * indicates a footnote (to be replaced with a number later). At the end, searching * will find the first instance. (If the footnotes are being made at the same, then /* for the notes in the body, and \* for the footnotes at the end. Any uncommon symbols work—like qw.)
Arrays are useful for some kinds of things, for sure, but not when you have some very different parameters, especially if they are of different kinds. It would be weird to replace
getUser({userId, databaseId, params})
with something likegetUser([inputs])
where inputs is an array of [userId, databaseId, params].Depends on your definition of “well”, but things like Microsoft Word and to what I believe is a lesser extent Google Docs at least have ways of formally handling footnotes/endnotes, which is better than not using these features (like, in most internet comment editors).
That could work in some cases. I haven’t seen that done much on most online blog posts. Also, there’s definitely controversy if this is a good idea.
Fair point, but this would be seen as lazy, and could be confusing. If your footnotes are numbers [8], [2], [3], [1], etc. that seems unpolished. That said, I wouldn’t mind this much, and it could be worth the cost.
The page you linked was a great overview. It noted:
With a physical document, the two parts (body+endnotes) can be separated for side by side reading. With a digital document, it helps to have two copies open.
This seems like a problem with an easy solution. (The difficult solution is trying to make it easier for website makers to get more sophisticated editors in their comments section.)
A brief search for browser extensions suggests it might be possible with an extension that offers an editor, or made easier with one that allows searching multiple things and highlighting them in different colors.
Alternatively, a program for this might:
Make sure every pair of []s is closed.*
Find the strings contained in []s.
Make sure they appear (at most) two times.**
If they appear 3 times, increment the later one (in both places where it appears, if applicable). This requires that the footnotes below already be written. This requirement could be removed if the program looked for (or created) a “Footnotes” or “Endnotes” header (just that string and an end of line), and handled things differently based on that.
Such a program could be on a website, though that’s requires people bother switching to that, which, even if bookmarked, is only slightly easier than opening an editor.
As a browser extension, it would have to figure out/be told 1. what part of the text it’s supposed to work on, 2. when to be active, and 3. how to make the change.
1. could be done by having the message begin with start, and end with end, as long as the page doesn’t include those words (with []s in between them).
2. This could be done automatically, or with a button.
3. Change the text automatically, or make a suggestion?
This could simplify things—if people took things in that format and ran them through a program that fixed it/pointed it out (and maybe other small mistakes).
*A programming IDE does this.
**And this as well, with a bit more work, enabling named footnotes. The trick would be making extensions that make this easy to use for something other than it was intended, or copying the logic.