Seite wählen

NETWAYS Blog

Digging up hidden information for a scavenge hunt?

Since today is Ascension Day – which is a public holiday here in Germany – I figured, why not write a post that is also relevant to our readers who have the day off?

So what could be relevant and fun?
Most of the people here who read this blog probably work in tech. And a trait, that I found that a lot of people working in tech have, is enjoying solving puzzles – be it on the computer or in the outside world. I got introduced into something that appeals to me in exactly that way: Geocaching – Mystery caches (yes, yes, I know, geocaching is sooooo 2015 – but solving puzzles is always going to be cool!)

Map of Nuremberg with about 200 caches marked on it

Map of Nuremberg with caches marked on it – each icon is a hidden treasure

A little explanation what that even is (stolen from Wikipedia):
Geocaching is an outdoor recreational activity, in which participants use a GPS receiver or mobile device and other navigational techniques to hide and seek containers, called „geocaches“ or „caches“, at specific locations marked by coordinates all over the world.
Mystery/puzzle caches require one to discover information or solve a puzzle to find the cache. Some mystery caches provide a false set of coordinates with a puzzle that must be solved to determine the final cache location. In other cases, the given location is accurate, but the name of the location or other features are themselves a puzzle leading to the final cache. Alternatively, additional information is necessary to complete the find, such as a padlock combination to access the cache.

 

text: Ugh? Ugh. Ugh? Ugh. Ugh? Ugh. Ugh? Ugh. Ugh? Ugh. Ugh! Ugh! Ugh? Ugh! Ugh. Ugh? Ugh! Ugh! Ugh! Ugh! Ugh! Ugh. Ugh. Ugh? Ugh! Ugh! Ugh! Ugh! Ugh! Ugh! Ugh! Ugh. Ugh. Ugh? Ugh. Ugh. Ugh. Ugh. Ugh! Ugh. Ugh. Ugh? Ugh. Ugh. Ugh. Ugh. Ugh. Ugh. Ugh! Ugh. Ugh! Ugh! Ugh! Ugh! Ugh!

Or about 100 lines that look something like this

So what does that have to do with the tech world?
Well, it’s the way people hide the coordinates.

 

The difficulty of the riddle and the reachability of the box is measured with a scale from 1 – 5 stars. If you’re looking for a real challenge in solving riddles, you want to go for caches with the rating D3 – D5 (D stands for difficulty here).

Sometimes you just get a cryptic cache description with pretty much only „[Coordinates]: 0e9bfe8f349ed4b75d480743d1ab55e6e83c8176“ as a hint

Others just consist of an image. Images can hold a lot of information – if you know where to look.
Steganography – the practice of concealing a file, message, image, or video within another file, message, image, or video – is also often used to hide coordinates from plain view!

I really enjoy geocaching because it’s a nicely balanced pastime. I get to use both my brain and my legs! (A lot of the caches are also wheelchair accessible too though)
Sometimes you even get to see some really cool new places you would have never gone to!

If this sounds like something you could enjoy – just check your area at geocaching.com or the open source alternative opencaching.de where you can select your preferred language and country in the header. Both are using OpenStreetMap for their maps.

My preferred app for caching is c:geo which is an open source app for Android – check out their project on github.

Look for the little  '?' icon  icons for mystery caches

 

Caches I hinted in my post:
1: Password Swordfish
2: Ugh! Ugh?
3: Nano
4: The series: How Do I Solve These #@&%$ Puzzles?!!

Feu Mourek
Feu Mourek
Developer Advocate

Feu verbrachte seine Kindheit im schönen Steigerwald, bevor es sich aufmachte die Welt zu Erkunden. Seit September 2016 unterstützt es Icinga zunächst als Developer und seit 2020 als Developer Advocate, und NETWAYS als Git und GitLab Trainer. Seine Freizeit verbringt es hauptsächlich damit Video-, und Pen and Paper Rollenspiele zu spielen, sich Häuser zu designen (die es sich nie leisten können wird) oder ganz lässig mit seinem Cabrio durch die Gegend zu düsen.

Google Maps – Der Crash-Kurs

Ich habe diese Woche ein paar Dinge mit der Google Maps API ausprobiert und bin begeistert! Auch wenn ich bei weitem kein Entwickler bin, ist das ganze Thema mit wenig Wissen in Sachen JavaScript locker zu bewältigen. Hierzu trägt unter anderem die fantastische Dokumentation bei von der sich wahrscheinlich jeder noch eine Scheibe abschneiden kann. Von einigen Tutorials für Leute die keine Ahnung haben (wie z. B. mich) bis hin zur detaillierten Beschreibung aller JavaScript Funktionen ist alles vorhanden.
Nun ein kleines Beispiel: Wir möchten einfach eine Seite erstellen auf der eine Google Maps Karte angezeigt und darin auf eine spezielle Adresse fokusiert wird.
Schritt 1: Einbinden der Google Maps API auf der Webseite

<html>
<head>
   <title>Meine tolle Google-Maps Seite</title>
   <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
   <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
</head>
<body>
</body>
</html>

Schritt 2: Einbinden des JavaScript-Codes und laden der Karte

  • Im DIV „map_canvas“ wird uns die Karte angezeigt
  • <body onload="initialize()">

    sorgt für das laden der JavaScript Funktion

  • Die Koordinaten innerhalb der initialize-Funktion (49.45394, 11.06361) sind der sogenannte Geocode, das Ziel der Anzeige
<html>
<head>
   <title>Meine tolle Google-Maps Seite</title>
   <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
   <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
   <script type="text/javascript">
      function initialize() {
         var latlng = new google.maps.LatLng(49.45394, 11.06361);
         var myOptions = {
            zoom: 17,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.SATELLITE
         };
         var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
      }
   </script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>

Schritt 3: Hinzufügen von Markern
Wie man es aus Google Karten gewohnt ist, benötigt man nicht nur die Anzeige eines Ziels, sondern ebenso ein paar Informationen innerhalb der Karte. Dies funktioniert mit sogenannten Markern.

<html>
<head>
   <title>Meine tolle Google-Maps Seite</title>
   <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
   <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
   <script type="text/javascript">
      function initialize() {
         var latlng = new google.maps.LatLng(49.45394, 11.06361);
         var myOptions = {
            zoom: 17,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.SATELLITE
         };
         var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
         var marker = new google.maps.Marker({
            position: latlng,
            map: map
         });
         var infiwindow = new google.maps.InfoWindow({
            content: "NETWAYS GmbH<br>Deutschherrnstrasse 15 - 19<br>90429 Nuernberg<br><br>Tel.: 0911-92885-0"
         });
	infiwindow.open(map,marker);
      }
   </script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>

PS: Wer zu faul ist den Text zu lesen und nachzuvollziehen, einfach den Code aus Schritt 3 in eine HTML-Datei kopieren, Geocode [Zeile 8] und Beschreibung [Zeile 22] abändern, fertig! 😉

Tobias Redel
Tobias Redel
Head of Professional Services

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker und renoviert, baut und bastelt als Heimwerker an allem was er finden kann.