Talk:Straddling checkerboard: Difference between revisions

(→‎Bug: The bug is still a bug)
 
(8 intermediate revisions by 5 users not shown)
Line 1:
==Scramble?==
The [[wp:Straddling checkerboard|Wikipedia page]] implies that the order of the digits 0-9 can also be scrambled to improve security. To make the task more complete but not much more complicated, I think it would make sense to also provide numbers to the function in the desired order. To leave the existing cipher for the example valid, the inputs to the StraddlingCheckerboard function would become ("0123456789HOLMESRTABCDFGIJKNPQUVWXYZ./", 3, 7) --[[User:Tikkanz|Tikkanz]] 15:05, 6 June 2011 (UTC)
 
Line 36 ⟶ 37:
 
:: Sounds good to me. If no one else makes the changes, I'll make them later. Either way, I'll rerun the C++ solution afterwards. [[User:MagiMaster|MagiMaster]] 18:15, 9 June 2011 (UTC)
 
:: I agree that these sound like sensible changes. There are a number of solutions using the initial (draft) task description, is it still acceptable to make these changes?--[[User:Tikkanz|Tikkanz]] 15:39, 18 June 2011 (UTC)
 
::: Sorry. I completely forgot that I said I'd make those changes. Yeah, I think we should change the description before any more examples get added. [[User:MagiMaster|MagiMaster]] 21:28, 18 June 2011 (UTC)
::: I'm going to have to let someone else do it though. I'm no good at picking out demonstrative examples here. I'll fix the C++ code to whatever gets posted. [[User:MagiMaster|MagiMaster]] 21:42, 18 June 2011 (UTC)
 
:::: Too late...! I think that specifying "numbers should be encrypted by inserting the escape character before each digit" is redundant, since it is a part of the algorithm (wikipedia explains how digits should be handled). The first paragraph seems to give a particular "function signature" as task requirement, though it sounds strange/weak requirement, and thus I did not create functions taking that input explicitly. --[[User:ShinTakezou|ShinTakezou]] 21:45, 18 June 2011 (UTC)
 
== Min/max ==
 
Line 61 ⟶ 70:
::The only reason you are getting away with `exchange(u,v) when u>v` is because you are using the same program to encode and decode. If one program changes (7,3) into (3,7) and encodes, and then a correct program (that does not exchange()) tries to decode using (7,3), FAIL.
::Also, since you are building the first[] row in a straight loop, skipping the gaps with "(i != u && i != v)", you should not need to reorder (u,v) at all! [ Which also makes moot the whole `#include algorithm` issue :) ] Using the current C++ code, when I change "rowU = min(u, v); rowV = max(u, v);" to "rowU = u; rowV = v;", the program works correctly for (3,7) and (7,3). --[[User:Util|Util]] 16:52, 11 June 2011 (UTC)
::: Ok. I see what you're saying, but between this and the other section, I can't tell if you're proposing that the task description should be changed so that u should be less than v, or that the C++ code should be changed. [[User:MagiMaster|MagiMaster]] 19:39, 11 June 2011 (UTC)
:::: Thinking about it again, I don't really see the point. Why should we distinguish between reordering columns and reordering rows when both are redundant? [[User:MagiMaster|MagiMaster]] 21:42, 18 June 2011 (UTC)
 
== Someone else ==
 
Would someone else want to take over handling this task? I don't seem to be getting much done and I'd rather hand it off than see it stuck in draft. [[User:MagiMaster|MagiMaster]] 00:27, 21 June 2011 (UTC)
 
: I think you are doing fine.
: On Wed July 6th, I will be able to focus on the task again, and can also take over the process of maturing the draft to full Task status, if you still want to hand over the duty at that time. --[[User:Util|Util]] 14:46, 24 June 2011 (UTC)
:: Yeah, that'd be fine with me. [[User:MagiMaster|MagiMaster]] 20:52, 24 June 2011 (UTC)