I'm working on modernizing Rosetta Code's infrastructure. Starting with communications. Please accept this time-limited open invite to RC's Slack.. --Michael Mol (talk) 20:59, 30 May 2020 (UTC)

Talk:Changeable words

From Rosetta Code

Duplicate task[edit]

This task is a less sophisticated version of https://rosettacode.org/wiki/Text_completion. --Chunes (talk) 01:07, 6 December 2020 (UTC)

Could you expand on what/how it is a duplicate? Normally we try to not have "duplicate" tasks on RC. --Paddy3118 (talk) 13:51, 7 December 2020 (UTC)


Misspelling?[edit]

Two of the best online dictionaries, Collins, and Merriam-Webster don't have changeable without the first e. They do however have it with the e here and here. Several other sites rank "changable" as a common misspelling. Lets not perpetuate that on RC.

Since the spelling is made a point of, we should stick with the preferred spelling in the task name and description. --Paddy3118 (talk) 08:57, 7 December 2020 (UTC)

P.S. The misspelling isn't in unixdict.txt either. --Paddy3118 (talk) 09:06, 7 December 2020 (UTC)


Varying answers[edit]

Does that wordlist change? There are answers with 52, 54 and others with far less than 50 word pairs found? --Paddy3118 (talk) 12:13, 15 December 2020 (UTC)

One reason is that at least one of the computer programming entries (Python) used a minimum length of   11   instead of   12.       (With a minimum length of 11,   there are 108 changeable words.)   -- Gerard Schildberger (talk) 13:00, 15 December 2020 (UTC)
This is one reason that I suggested (elsewhere) that a summary count be provided at the end of the list to save people counting up the words in the output.   Also suggested was to have a count of words found in the dictionary   (and which dictionary is being used, i.e., the filename of the dictionary).   My points were not well received.     -- Gerard Schildberger (talk) 13:00, 15 December 2020 (UTC)
I had read '>11' as '>=11' in the Python entry and now get 26 words from swapping one char for another and 6 words from removing a char as another interpretation of changing a char in a word. Thanks.
The task specifies the directory (which I downloaded). I provide counts, but I agree that the task might suggest that solutions do so, (as others do too).
--Paddy3118 (talk) 14:28, 15 December 2020 (UTC)


task requirement wording[edit]

I would re-word the task's requirements as:


Using the dictionary   unixdict.txt,   change one letter in a word   (to different letter),   and if the changed word occurs in the dictionary,
then display the original word   and   the changed word here (on this page).

Also, provide of summary count of words changed that yielded another (changed) word.

Optional:   show the name (filename) of the dictionary being used as well as a count of words found (read) in that dictionary.

-- Gerard Schildberger (talk) 14:40, 15 December 2020 (UTC)
I have no problems with the original wording, and the link to unixdict.txt defines a specific file already - it doesn't allow for a file of the same name - it links to a specific file that should be used. I would emphasize aspects of the original task rather than change it - something like:
Task
Using the dictionary   unixdict.txt,   change one letter in a word,   and if the changed word occurs in the dictionary,

then display the original word   and   the changed word here (on this page).
The length of any word shown should have a length   >  11.
Note
  • A copy of the specific unixdict.txt linked to should be used for consistency of results.
  • Words >  11 are required, ie of 12 characters or more.
I wouldn't necessarily add a clarification on whether single character deletions are allowed or not.
--Paddy3118 (talk) 08:48, 17 December 2020 (UTC)
Can I just say that web.archive.org is blocked for me, whereas www.puzzlers.org is not. If you want a very specific file, then you have to figure out a way to get it onto rosettacode.org Also, I just don't see "delete a letter" being part of this task. --Pete Lomax (talk) 11:23, 17 December 2020 (UTC)
Spoke too soon, they're both down now. --Pete Lomax (talk) 11:37, 17 December 2020 (UTC)
The task is poorly named in the first place, which is why there is confusion over the sketchy specs. If the task was: Hamming distance "Find word pairs, 12 letters or more, in unixdict.txt, that have a Hamming edit distance of 1", all of these debates would be moot. Hamming distance is what most of the entries are effectively (or explicitly) doing anyway. A web search for 'Hamming distance' is less likely to find 'Changeable words'. I have long campaigned for naming tasks for exactly what they do to make it easier to find them and/or implement them. Here is yet another prime example of why a crappy name coupled with vague, borderline incoherent specs causes ongoing issues. --Thundergnat (talk) 14:32, 17 December 2020 (UTC)
The "Hamming distance of one" excludes a deletion of one character and may or may not be what is required. Hamming distance of one might be obscure to many programmers - in a list of tasks it may give less information to a reader. A reader wanting to look at character manipulation tasks might find this title but skip "Hamming distance". I have this problem when searching in mathematics; you are interested in a topic, but until you are well versed in that particular branch of maths, for example graph theory, it is very hard to research your problem as you don't have the key words/phrases to aid your search . --Paddy3118 (talk) 07:14, 18 December 2020 (UTC)
<quote>The "Hamming distance of one" excludes a deletion of one character</quote> Ah, because that would be a Levenshtein distance of one. <quote>Hamming distance of one might be obscure</quote>, <quote>it is very hard to research your problem as you don't have the key words/phrases to aid your search</quote> I challenge you to put "Hamming distance" and "Changeable words" in to the search engine of your choice and see which gives more relevant information about what that might be. Just because some theoretical reader doesn't know what "Hamming distance" is, doesn't mean we shouldn't call it what it is and what the rest of the world calls it. --Thundergnat (talk) 12:35, 18 December 2020 (UTC)
If they don't know the word Hamming, they can't search for it. --Paddy3118 (talk) 20:48, 18 December 2020 (UTC)
I had the same sentiment (and similar discussion) about   anomalous cancellation,     ... is that kinda like some aberrant unknown entity canceling something or another?     But, back to the point, the first thing I think of when I see "hamming" is either hamming it up (on stage), or a drinking a beer or two or three.     -- Gerard Schildberger (talk) 21:33, 18 December 2020 (UTC)
<quote>If they don't know the word Hamming, they can't search for it.</quote> And if they do know the word Hamming, they are completely out of luck finding this task. If the name of the task was Hamming distance and this theoretical person thought "Hmmm. I have no idea what a Hamming distance is, I wonder what wikipedia has to say about it? Oh, Ok." vs "Hmmm. I have no idea what a Changeable word is is, I wonder what wikipedia has to say about it? Oh. Nothing whatsoever." I don't see any advantage in calling it some made-up name when an actual name for the desired operation is well established. Arguments like "Well I've never heard of it before, sounds like something some redneck would do." when well known names from fairly reputable references are pointed out doesn't really bolster your position much. All of this started as debate over what the task exactly is calling for. Call it what it is, and the confusion would largely disappear. --Thundergnat (talk) 00:17, 19 December 2020 (UTC)
Adding Levenshtein distance of one to the task description might aid both types of searches whilst preserving the original aim of the task. It would, however, invalidatet hose examples that did not check for a single deletion of a character. --Paddy3118 (talk) 16:07, 19 December 2020 (UTC)
Well, in that case, we may as well change the name to Levenshtein distance... again and then delete it for being a duplicate task. --Thundergnat (talk) 22:55, 19 December 2020 (UTC)