They admitted, apologized, and are in the process of revising the paper.
Mistakes always happen whether small or big. What is more important is to be transparent, learn from it, and make sure the same mistake doesn't happen again.
Reducing cognitive load is the key. Several approaches I usually take are:
1. Make strict rules for code convention, especially naming things, and stick to that.
2. Use intermediate variables (let binding) often
3. Turn meaningful code block to a function often
4. Write Clojure specs and turn them to docstrings
In addition to that, a real REPL programming really helps to do small tests and understand the code quickly, immutable data structures with data-oriented approach and locally scoped code blocks combined with structural editor are godsend as well.
Do you have any resources showing what this type of coding works in the real world? I keep running into this same types issue when I use languages without types specified everywhere, where the cognitive load gets too much for non-trivial projects. I would be pretty unhappy writing python without type hints and tools that check these for correctness built into my workflow for example.
This was from my experience that I thought may work for others too.
Types may help in some sense, but is not enough and sometimes even add extra load especially on heterogenous data structures.
Before using any tools beside basic IDE features, I think there are fundamental things you can do to reduce cognitive load, such as focusing more on code design, convention, structures, naming, testing, documentation, which can be applied whatever language you use.
Not reading but writing code, I have a similar feeling as playing the piano, especially
in highly interactive programming languages like Clojure or Common Lisp. Does anyone have similar experiences?
Not me. Far from it, actually. Playing music feels very distinct from programming. However, mathematicians and computer scientists are more drawn to Bach than other people. There's some connection between music appreciation and programming.
Dumb question: in Cryptonomicon, there's a character named "Goto Dengo". Is Goto used as both a first and last name, or is the notion of first and last name something that doesn't map cleanly between English and Japanese?
In this case, unless shown otherwise, the assumption should be that the program is copying parts of itself to the output. Whatever the program is generating is likely to carry pieces which are a part of the program ... unless it is evident that the code being output is generated entirely from a separate part which is not under GPL.
The situation for Github Copilot [1] may be different where each output by it may be argued to be novel, however, even there the answer is not fully settled [2].
[2] Excerpt from [1] above: "Does GitHub Copilot recite code from the training set? GitHub Copilot is a code synthesizer, not a search engine: the vast majority of the code that it suggests is uniquely generated and has never been seen before. We found that about 0.1% of the time, the suggestion may contain some snippets that are verbatim from the training set. ..."
Although he had lived in the US for more than a decade and has no problem with the English language, he seem to have a kind of "western culture allergy" that is written in detail in the post below:
I know an example. The Aum Shinrikyo, which is known as one of the most violent cults in Japanese history, had many elites from top universities including doctors, lawyers, graduate students and so on.