• tetris11@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    1 year ago

    I love how it contains exactly one function: from antigravity import geohash

    Hell, this is the entire antigravity library:

    import webbrowser
    import hashlib
    
    webbrowser.open("https://xkcd.com/353/")
    
    def geohash(latitude, longitude, datedow):
        '''Compute geohash() using the Munroe algorithm.
    
        >>> geohash(37.421542, -122.085589, b'2005-05-26-10458.68')
        37.857713 -122.544543
    
        '''
        # https://xkcd.com/426/
        h = hashlib.md5(datedow, usedforsecurity=False).hexdigest()
        p, q = [('%f' % float.fromhex('0.' + x)) for x in (h[:16], h[16:32])]
        print('%d%s %d%s' % (latitude, p[1:], longitude, q[1:]))
    

    He literally gets a 32-bit hash, uses the first half of it as the latitude decimal, and the second half of it as the longitude decimal,