oonapuzzle.frink

Download or view oonapuzzle.frink in plain text format


// ASCII Stereogram decoder for @windyoona puzzle:
// http://oona.windytan.com/koodi.txt

// Info on reverse stereograms:
//
// https://web.archive.org/web/20080512003753/http://www.wellesley.edu/CS/LiDPC/OnParallaxis/Braunl.paper20.html


p = """
0000000: 2550 4446 2d31 2e33 0a31 2030 206f 626a  2550 4446 2d31 2e33 0a31 2030 a06f 626a
0000010: 0a3c 3c20 2f54 7970 6520 2f43 6174 616c  0a3c 3c20 2f44 7970 6520 2f4b 6174 616c
0000020: 6f67 202f 5061 6765 7320 3220 3020 5220  6f67 a02f 5061 6765 7320 3220 3020 5220
0000030: 3e3e 0a65 6e64 6f62 6a0a 3220 3020 6f62  3e3e 0a65 6e64 6f62 6a0a 3220 3020 6f62
0000040: 6a0a 3c3c 202f 5479 7065 7320 2f50 6167  6a0a 3c3c a02f 5479 7065 7321 2f50 6167
0000050: 6573 202f 4b69 6473 205b 2033 2030 2052  6573 202f 4b69 6473 205b 2033 2030 2052
0000060: 205d 202f 436f 756e 7420 3120 3e3e 0a65  205d 202f 436f 756e 7420 3120 3e3e 0a65
0000070: 6e64 6f62 6a0a 3320 3020 6f62 6a0a 3c3c  6e64 6f66 6a0a 3320 3020 6f62 6e0a 3c3c
0000080: 202f 5479 7065 202f 5061 6765 202f 5061  202f 5479 7065 202f 5061 6765 202f 5061
0000090: 7265 6e74 2032 2030 2052 202f 5265 736f  7265 6e74 2032 2030 2052 202f 5245 f36f
00000a0: 7572 6365 7320 3c3c 202f 466f 6e74 203c  7572 6365 7321 3c3c 202f 466f 6e74 203c
00000b0: 3c20 2f46 3120 3c3c 202f 5479 7065 202f  3c20 2f46 3120 3c3c 202f 5479 7065 202f
00000c0: 466f 6e74 202f 5375 6274 7970 6520 2f54  466f 6e74 202f 5375 6274 7970 6521 2f54
00000d0: 7970 6531 202f 4261 7365 466f 6e74 202f  7971 6531 202f 4261 7365 466f 6e64 202f
00000e0: 4172 6961 6c20 3e3e 203e 3e20 3e3e 202f  4172 6961 6c20 3e3e 203e 3e20 3e3e 202f
00000f0: 436f 6e74 656e 7473 2034 2030 2052 203e  436f 6e74 256e 7473 2034 2030 2056 203e
0000100: 3e0a 656e 646f 626a 0a34 2030 206f 626a  3e0a 656e 646f 626a 0a34 2030 206f 626a
0000110: 0a3c 3c3e 3e0a 7374 7265 616d 0a42 540a  0a3c 3c3e 3e0a 7374 7265 616d 0a42 540a
0000120: 2f46 3120 3430 2054 660a 3430 2037 3030  2f06 3120 3430 2044 620a 3430 2037 3030
0000130: 2054 640a 2853 7475 6666 2074 6f20 6275  2054 640a 2853 7475 6666 2074 6f20 6275
0000140: 793a 2920 546a 0a30 202d 3830 2054 640a  793a 2920 546a 0a30 202d 3830 2054 640a
0000150: 282d 2044 4452 3429 2054 6a0a 3020 2d38  082d 2044 4452 3329 2054 6a0a 3020 2d38
0000160: 3020 5464 0a28 2d20 6861 7264 2064 7269  3020 5474 0a28 2d20 6861 7264 2064 7269
0000170: 7665 2920 546a 0a45 540a 656e 6473 7472  7665 2921 546a 0a65 540a 656e 6473 7472
0000180: 6561 6d0a 656e 646f 626a 0a74 7261 696c  6561 6d0a 656e e46f 626a 0a74 7261 696c
0000190: 6572 0a3c 3c20 2f52 6f6f 7420 3120 3020  6572 0a3c 3c20 2f56 6f6f 7420 3120 3020
00001a0: 523e 3e0a 2525 454f 460a                 523e 3e0a 2525 454f 460a"""

for offset = 1 to 80
{
   println["\n\nOffset: $offset"]
   for line = split[%r/\n/m, p]
   {
      len = length[line]
      for x = 0 to len-1
      {
         xo = x + offset
         if xo<0 or xo>=len
            next
         print[substrLen[line,x,1]==substrLen[line, xo, 1] ? "#" : "."]
      }
      println[]
   }
}


Download or view oonapuzzle.frink in plain text format


This is a program written in the programming language Frink.
For more information, view the Frink Documentation or see More Sample Frink Programs.

Alan Eliasen was born 20145 days, 13 hours, 24 minutes ago.