Geolocating a random island using geometry and CUDA programming

(yassa9.github.io)

399 points | by yassa9 12 hours ago

33 comments

  • NKosmatos 11 hours ago
    Excellent write up and an enjoyable read! Reminds me of the “good old times” where posts on HN were written by humans and with a specific writing style like yours. You could’ve used a little bit more of geoguessing to narrow down results, or do a brute force visual check on the last hundred or so ;-)
    • yassa9 11 hours ago
      yea, thanks :D , I used a tiny idea from geoguessing, that I banded the search on islands only in latitude between -30 to +30 deg. based on the sky and the tropical vibes in the img , and it worked !
    • jambalaya8 10 hours ago
      agree! AWESOME work!
  • bmurray7jhu 12 hours ago
    For drones and missiles, this technique is known as Terrain Contour Matching. If terrain contour are measured optically, navigation is independent of RF jamming, unlike GNSS.

    https://en.wikipedia.org/wiki/TERCOM

    • openasocket 9 hours ago
      It’s an effective a surprisingly old technique, being used on cruise missiles as early as the 1960s. It actually precedes GPS and satellite navigation by several decades. Im continuously blown away by what engineers were able to do in that era with such limited computing power. Take a look at SAGE, for example.

      Fun fact: the usage of TERCOM in the tomahawk missile actually limited its ability to be used in Operation Desert Storm. Routes had to be planned to go around actual topographical features, instead of hundreds of miles of flat desert.

      • 4gotunameagain 8 hours ago
        Rumour has it that they achieved the first TERCOM using the then revolutionary bit slicing technology.
    • yassa9 11 hours ago
      oh, wow, I didnt know that existed, thank u, sure gonna look into it
  • zer0x4d 8 hours ago
    Super fun! Interestingly, this is how JPL was able to significantly reduce the Mars 2020 landing radius on Mars. Cameras onboard take pictures of the terrain and match that to maps to figure out where the lander is. https://www-robotics.jpl.nasa.gov/what-we-do/flight-projects...
    • yassa9 8 hours ago
      omg wow, thats super hard, although cool ,
      • zer0x4d 7 hours ago
        It was cool, very fun 3 years of my life working as a part of that team :)
        • CamperBob2 1 hour ago
          Thanks for your service! Awesome work, I'm envious.
  • deiptx 8 hours ago
    I find it highly ironic that his is the second article on the main page right after "avoid building technologies that could be used by a police state".
    • fhn 6 hours ago
      EVERY technology could be used by a police state
      • esafak 4 hours ago
        It is a question of how adversely empowering the technology is.
  • treyd 2 hours ago
    A help with this is the sun is to the left and it seems to be midday, so you could answer the "cardinal direction" question just from the picture with "west ish", which is what it turns out to be.
    • yassa9 2 hours ago
      I tried to use the sun info , but honestly I couldn't at all,

      thx for the tip

  • lexlambda 12 hours ago
    OpenStreetMap data really is a godsend for such OSINT purposes. Works much better in populated areas too, with more features like roads, shops, electric lines that can be used to search.
    • GaryNumanVevo 10 hours ago
      Claude / Gemini + OSM Turbo is a crazy you can do natural language queries like "find me a bus stop in germany that's surrounded by more than 5 three story buildings"
    • yassa9 12 hours ago
      yea , heard about them before, but didnt know that whole treasure till I really used it , impressive
  • dwa3592 10 hours ago
    This is awesome. I worked on something similar a few months ago. It is a general purpose navigation system based on TERCOM and dead reckoning - https://github.com/deepanwadhwa/anumaan
  • sllabres 7 hours ago
    People liking this post will probably like this [1] and especially these [2] from the channel. All solved using algorithms and map data.

    [1] https://www.youtube.com/@colsto

    [2] https://www.youtube.com/watch?v=eY-W9gmwxhg https://www.youtube.com/watch?v=nzytWZPyuEw https://www.youtube.com/watch?v=rkmXs_7hELg

  • o4c 10 hours ago
    Really great article! OP, you did an awesome job breaking down a complex problem into manageable chunks and synthesizing the solution.
    • yassa9 10 hours ago
      thanks, appreciate it
  • souenzzo 1 hour ago
    That's kind of seed finder but in real life
  • mirzap 4 hours ago
    Awesome write up! This is now one of my favorite articles on HN.
    • yassa9 4 hours ago
      thaaank u man, I really appreciate ur comment
  • ImJasonH 10 hours ago
    Excellent read, I loved it.

    Incidentally, the image seems to be the one the resort uses on their website! https://oanresort.wixsite.com/chuuk

    • yassa9 10 hours ago
      thanks, and yea, it should be solved easily by passing the img to google lens, the website is the first result, but I found a fun opportunity to solve it in different way
  • Gooblebrai 4 hours ago
    This is beyond impressive. Very good work!
    • yassa9 3 hours ago
      glad u liked it :D
  • phalanxx 11 hours ago
    What do you mean by no LLM generation if an LLM did all the coding based on reading through the .py files? Pangram isn't kind to "your" text either.
    • yassa9 11 hours ago
      I meant the blog itself, the writeup, the steps and the walkthrough all by hand , the final code u see is llm refined, of course, I wont publish my messy and spaghetti files with much tests, failures and dead ends, also vizualizations functions to produce that green maps , and faulty versions of them

      but you are right, I should add that

      • StilesCrisis 11 hours ago
        Just by reading your actual messages it's easy to see that you didn't write the blog post entirely by hand.
    • StilesCrisis 11 hours ago
      "No EXIF, no GPS, no camera make or model."

      Yeah, a human definitely wrote this. Nothing fishy here. (Why would the camera make or model matter???)

      • voidUpdate 10 hours ago
        If you know the camera make and model, you might be able to get lens parameters and get better estimates of real world geometry from the image
        • yassa9 10 hours ago
          yea thank u, that's another part, but mainly it would hard although knowing that, because you need to know elevation of the drone or the camera, which is also extremely difficult (I already mentioned that in the blog)
          • StilesCrisis 10 hours ago
            The camera make and model wouldn't tell you the lens parameters. The EXIF would, but that was already covered in the triplet.
      • yassa9 11 hours ago
        ok, if u came with the whole conclusion by only this line, ok , but to answer u, ( I hate to justify myself , but have to ) I started writing the blog after I started solving another challenge from gralhix : https://gralhix.com/list-of-osint-exercises/osint-exercise-0...

        and the part of the solution came from the metadata, the camera model, you can check urself, so when I came back to write the blog, it just came by flow,

  • bitcurious 12 hours ago
    It’s interesting that most top contenders don’t pass the eyeball halo check, seems like there’s room to optimize that filter in code.
    • yassa9 11 hours ago
      yea, good observation, my guess is its the data more than the filter. OSM coastline polygons are generalized to different degrees depending on who traced them and from what imagery, so the fine shape detail a halo check would key on often is not in the geometry at all.

      I observed that at the end, didnt push on it further though. It already passed and I was super exhausted

  • num42 10 hours ago
    Good article! Off-topic, Is Palantir doing the same thing with its internal software to geolocate?
  • cecinuga 12 hours ago
    I read all the process, literally awesome, i don't do OSINT (i know only what is this) and i think that's very cool
    • yassa9 12 hours ago
      thaaank you !! Its my first ever challenge to do, and yea, I really found my passion
  • phkahler 5 hours ago
    @yassa How long did this take?
    • yassa9 5 hours ago
      do u mean the whole work ? I spent at first 3 "whole" days in research, trial and error trying different methods and scripts, like for example tried the depth estimation to build upon it, failed many times till I gave up then came back after a week and spent another 4 days till succeeded then the refining, cleaning and organizing of all of that, also structuring and writing the blog, took about another 3 days

      you can say that total is ~10 days of work

  • mattpk 3 hours ago
    > NOTE: this is a genuine human work, didnt use LLM generation.

    I'm sorry, but I don't believe this. The article reads like LLM text post-edited by an AI prompted to "write like a non-native English speaker, replace you for u, make errors, etc".

    The other pages on your site are cough, "the smoking gun". For instance, your "Suckless, single binary, zero-dependency CUDA/C++ inference engine for NVIDIA's DVLT. Reconstructs 3D scenes from a handful of images (depth + rays + camera pose => point cloud), no python, no torch, no framework." project.

    • john_strinlai 2 hours ago
      errors = llm, no errors = llm, any word from a list of hundreds = llm, absence of any llm-words = suspiciously like an llm instructed not to use those words, declare no llm was used = llm.

      there is no winning. if you post something in 2026 or beyond, someone is going to exclaim "llm!". i feel badly for aspiring bloggers or writers. it's also getting rather annoying that 50% of comments on hn, regardless of the topic they are posted on, are the exact same comment about llms.

      • yassa9 2 hours ago
        really thank u John, I felt disappointed after those comments, someone below said that the pangram is against my text, I doubted myself and even went to online pangram : https://pangramaidetector.org/

        spent literally half an hour copying each single section and paragraph (removed the code and Katex) and literally all the results are "0% AI-generated text" or max 15%

    • yassa9 3 hours ago
      haha : "write like a non-native English speaker"

      man, Im actually non native speaker xDD

      "replace you for u" ???? what ?!

  • ape4 11 hours ago
    What about tides? Would the outline of the island be different based on the time of day.
    • yassa9 10 hours ago
      honestly, I didn't think about it, I just trusted the OSM polygons
  • esafak 5 hours ago
    Good job, Yassa. This is how you get a job in the AI age.
    • yassa9 5 hours ago
      haha, I wish , this is my first OSINT challenge to solve tho
  • aquafox 8 hours ago
    Nice, but Rainbolt would do it in under a minute ;)
    • yassa9 8 hours ago
      haha, I actually agree
  • naniel 9 hours ago
    this is really cool. fun little problem turned into great write-up, and i love that you included the code snippets. thanks for sharing
    • yassa9 9 hours ago
      really glad that you liked it
  • hhh 12 hours ago
    great blog and great writeup
    • yassa9 12 hours ago
      thannks, really grateful :D
  • hnlb53nrpg 6 hours ago
    Not glamorous but it works
  • piterrro 12 hours ago
    really impressive, could that be the way to locate yourself without GPS? assuming we know more/less where we are
    • yassa9 12 hours ago
      yea, search about geoguessing on youtube, people like Rainbolt, https://www.youtube.com/@georainbolt

      they literally memorize and get patterns of every possible road, place, map of any area (scanned by google earth), getting exact coordinates from single image, and play competitions and world cup based on that

      they do really nice videos about finding places in old photos people ask for

  • jf93ap29sh 9 hours ago
    Loved it.
  • ohyoutravel 12 hours ago
    > NOTE: this is a genuine human work, didnt use LLM generation.

    A million upvotes from me.

    • yassa9 12 hours ago
      haha, thanks :D I was hesitant to whether write it or not, but I really really despise llm generated posts and blogs and im glad someone appreciated it
      • ohyoutravel 2 hours ago
        Great content too generally. Without the disclaimer I find myself less engaged with the content knowing it could be an LLM hallucination and am ready to eject at any moment.

        btw Micronesia is _not_ a country!

        • OkayPhysicist 2 hours ago
          Micronesia is, too, a country. Referring to the Federated States of Micronesia as "Micronesia" is just as legitimate as referring to the USA as "America".
  • grodes 12 hours ago
    impressive
  • _alphageek 1 hour ago
    [dead]
  • fenestella 12 hours ago
    [dead]
  • ligarota 9 hours ago
    All of this to not use Google images
    • melozo 8 hours ago
      All of this to try and learn something new
  • hno8a34nwn 11 hours ago
    This is the real takeaway