Skip to content

EXERCISE IN GEEKDOM NO.29 Mystery Cache

Hidden : 6/29/2020
Difficulty:
4 out of 5
Terrain:
2.5 out of 5

Size: Size:   small (small)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:


Programming Language No.29

Many years ago I described a programming language which I called Surströmming. It was a bit of a stinker, the principal of which was that it had to have elements from as many other programming languages inside it as was practical  but still for the code to be processed in a logical way.

Whether you parse the code, compile parts of it, assemble it, disassemble it, reverse engineer it, or run it through a debugger, the program should give an answer to the problem you are hoping to solve. You could also print out the code, and eat the print out, perhaps with some fish.



function(n,w) // GO PUB CACHING GEEKDOM NO.29 PUZZLE JUNE 2020
{
        if n <> null or w <> null INITIALISE DATA DIVISION 

        fileopen $STDIN && begin

        try
        {
                y=51
                on fileopen error do exit;
                next // need some exception handling
        }
        exception (E1) { E1.printf("%03d", 1"); }

        try
        {
                while ( sqrt(-1) in REAL )
                {
                        echo y
                        new Sub 
                        token = 27;
                        y= 15;
                        Sub End
                        exit if done.
                        verify loop .
                }
        }
        exception (E2) 
        {
                next .
        }

        fileopen $STDOUT

        if ( -1 > float(0.0) )
        {

                verify COORDS   
                echo "Hidden in a tree with some ivy"

                try {
                        while ( GCCODE != GC8VBVC ) do
                                on loop end do exit.

                        new CoordinateSet
                        input "Found it?" [Y|N] as answer
                        next.
                }

                exception (E3)
                {
                        z = set(000.999)
                        end
                }

                repeat
                {
                        on COORDS true do log "cache"

                        on COORDS false do {
                                next lat.lon
                        }
                }
                else
                {

                        for N=000 N<1000 N=N+1
                        {
                                if N>100
                                for W=000 W<1000 W=W+1
                                {
                                        try {
                                                echo "Coordinates at $N $W"
                                        }
                                        exception (E4)
                                        {
                                                next.
                                        }
                                }

                                on COORDS false
                                next N W
                        }
                        end loop

                        set final as 
                                if GPS enabled
                                x="degrees"
                        }

                        type GZ =
                        wait for
                                output("The coordinates are :")
                        }
                }
        }
}


Additional Hints (Decrypt)

Ab uvagf hagvy 5 ybttrq svaqf.

Decryption Key

A|B|C|D|E|F|G|H|I|J|K|L|M
-------------------------
N|O|P|Q|R|S|T|U|V|W|X|Y|Z

(letter above equals below, and vice versa)