1*cda5da8dSAndroid Build Coastguard Worker 2*cda5da8dSAndroid Build Coastguard Workerimport webbrowser 3*cda5da8dSAndroid Build Coastguard Workerimport hashlib 4*cda5da8dSAndroid Build Coastguard Worker 5*cda5da8dSAndroid Build Coastguard Workerwebbrowser.open("https://xkcd.com/353/") 6*cda5da8dSAndroid Build Coastguard Worker 7*cda5da8dSAndroid Build Coastguard Workerdef geohash(latitude, longitude, datedow): 8*cda5da8dSAndroid Build Coastguard Worker '''Compute geohash() using the Munroe algorithm. 9*cda5da8dSAndroid Build Coastguard Worker 10*cda5da8dSAndroid Build Coastguard Worker >>> geohash(37.421542, -122.085589, b'2005-05-26-10458.68') 11*cda5da8dSAndroid Build Coastguard Worker 37.857713 -122.544543 12*cda5da8dSAndroid Build Coastguard Worker 13*cda5da8dSAndroid Build Coastguard Worker ''' 14*cda5da8dSAndroid Build Coastguard Worker # https://xkcd.com/426/ 15*cda5da8dSAndroid Build Coastguard Worker h = hashlib.md5(datedow, usedforsecurity=False).hexdigest() 16*cda5da8dSAndroid Build Coastguard Worker p, q = [('%f' % float.fromhex('0.' + x)) for x in (h[:16], h[16:32])] 17*cda5da8dSAndroid Build Coastguard Worker print('%d%s %d%s' % (latitude, p[1:], longitude, q[1:])) 18