\

Geolocating a random island using geometry and CUDA programming

483 points - yesterday at 12:19 PM

Source
  • NKosmatos

    yesterday at 1:42 PM

    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

        yesterday at 1:50 PM

        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

          yesterday at 3:17 PM

          agree! AWESOME work!

      • bmurray7jhu

        yesterday at 1:18 PM

        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

            yesterday at 4:09 PM

            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

                yesterday at 5:17 PM

                Rumour has it that they achieved the first TERCOM using the then revolutionary bit slicing technology.

            • yassa9

              yesterday at 1:28 PM

              oh, wow, I didnt know that existed, thank u, sure gonna look into it

          • zer0x4d

            yesterday at 4:36 PM

            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

                yesterday at 4:52 PM

                omg wow, thats super hard, although cool ,

                  • zer0x4d

                    yesterday at 5:45 PM

                    It was cool, very fun 3 years of my life working as a part of that team :)

                      • CamperBob2

                        yesterday at 11:23 PM

                        Thanks for your service! Awesome work, I'm envious.

            • lexlambda

              yesterday at 12:52 PM

              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

                  yesterday at 2:33 PM

                  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

                    yesterday at 1:02 PM

                    yea , heard about them before, but didnt know that whole treasure till I really used it , impressive

                • dwa3592

                  yesterday at 2:36 PM

                  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

                  • deiptx

                    yesterday at 4:47 PM

                    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".

                      • E-Reverance

                        today at 2:15 AM

                        I don't see it, did he delete it?

                        • fhn

                          yesterday at 6:18 PM

                          EVERY technology could be used by a police state

                            • esafak

                              yesterday at 8:27 PM

                              It is a question of how adversely empowering the technology is.

                      • treyd

                        yesterday at 11:03 PM

                        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

                            yesterday at 11:08 PM

                            I tried to use the sun info , but honestly I couldn't at all,

                            thx for the tip

                              • treyd

                                today at 3:34 AM

                                It'd probably be hard to do directly/algorithmically, but the shadows from the trees is what I was looking for visually.

                        • sllabres

                          yesterday at 5:50 PM

                          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

                            yesterday at 2:20 PM

                            Really great article! OP, you did an awesome job breaking down a complex problem into manageable chunks and synthesizing the solution.

                              • yassa9

                                yesterday at 2:29 PM

                                thanks, appreciate it

                            • ImJasonH

                              yesterday at 2:37 PM

                              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

                                  yesterday at 2:53 PM

                                  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

                              • phalanxx

                                yesterday at 1:47 PM

                                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

                                    yesterday at 2:00 PM

                                    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

                                        yesterday at 2:07 PM

                                        Just by reading your actual messages it's easy to see that you didn't write the blog post entirely by hand.

                                          • yassa9

                                            yesterday at 3:11 PM

                                            ok

                                    • StilesCrisis

                                      yesterday at 2:07 PM

                                      "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???)

                                        • yassa9

                                          yesterday at 2:18 PM

                                          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,

                                          • voidUpdate

                                            yesterday at 2:18 PM

                                            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

                                                yesterday at 2:22 PM

                                                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

                                                    yesterday at 2:40 PM

                                                    The camera make and model wouldn't tell you the lens parameters. The EXIF would, but that was already covered in the triplet.

                                                      • voidUpdate

                                                        today at 6:54 AM

                                                        It does if you google the make and model to find out the lens parameters (assuming it isn't a fancy camera with interchangeable lenses)

                                    • bitcurious

                                      yesterday at 1:18 PM

                                      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

                                          yesterday at 1:27 PM

                                          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

                                      • mirzap

                                        yesterday at 9:02 PM

                                        Awesome write up! This is now one of my favorite articles on HN.

                                          • yassa9

                                            yesterday at 9:06 PM

                                            thaaank u man, I really appreciate ur comment

                                        • cecinuga

                                          yesterday at 12:38 PM

                                          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

                                              yesterday at 12:43 PM

                                              thaaank you !! Its my first ever challenge to do, and yea, I really found my passion

                                          • num42

                                            yesterday at 3:04 PM

                                            Good article! Off-topic, Is Palantir doing the same thing with its internal software to geolocate?

                                              • consumer451

                                                yesterday at 10:02 PM

                                                I have no idea about that particular company, but wouldn't satellite-based synthetic aperture radar datasets make this "super easy?" I would imagine so.

                                                https://en.wikipedia.org/wiki/Synthetic-aperture_radar

                                                https://eos.com/blog/what-is-sar-synthetic-aperture-radar-im...

                                                • pphysch

                                                  yesterday at 6:19 PM

                                                  Assuming they (and militaries broadly) do this +more, like actually using vision models trained on billions of geolocated landscape photos.

                                                  • yassa9

                                                    yesterday at 3:09 PM

                                                    thanks ! no idea about Palantir, but in my opinion, this can not be automated , needs much manual work and tons of trial and error

                                                • Gooblebrai

                                                  yesterday at 9:15 PM

                                                  This is beyond impressive. Very good work!

                                                    • yassa9

                                                      yesterday at 9:18 PM

                                                      glad u liked it :D

                                                  • mattpk

                                                    yesterday at 9:28 PM

                                                    > 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

                                                        yesterday at 10:30 PM

                                                        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

                                                            yesterday at 10:57 PM

                                                            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

                                                          yesterday at 9:43 PM

                                                          haha : "write like a non-native English speaker"

                                                          man, Im actually non native speaker xDD

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

                                                      • phkahler

                                                        yesterday at 7:53 PM

                                                        @yassa How long did this take?

                                                          • yassa9

                                                            yesterday at 8:11 PM

                                                            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

                                                        • ohyoutravel

                                                          yesterday at 1:02 PM

                                                          > NOTE: this is a genuine human work, didnt use LLM generation.

                                                          A million upvotes from me.

                                                            • yassa9

                                                              yesterday at 1:13 PM

                                                              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

                                                                  yesterday at 10:22 PM

                                                                  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

                                                                      yesterday at 10:27 PM

                                                                      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".

                                                          • souenzzo

                                                            today at 12:00 AM

                                                            That's kind of seed finder but in real life

                                                            • ape4

                                                              yesterday at 1:57 PM

                                                              What about tides? Would the outline of the island be different based on the time of day.

                                                                • yassa9

                                                                  yesterday at 2:33 PM

                                                                  honestly, I didn't think about it, I just trusted the OSM polygons

                                                              • hhh

                                                                yesterday at 12:54 PM

                                                                great blog and great writeup

                                                                  • yassa9

                                                                    yesterday at 1:01 PM

                                                                    thannks, really grateful :D

                                                                • aquafox

                                                                  yesterday at 4:31 PM

                                                                  Nice, but Rainbolt would do it in under a minute ;)

                                                                    • yassa9

                                                                      yesterday at 4:32 PM

                                                                      haha, I actually agree

                                                                  • naniel

                                                                    yesterday at 4:08 PM

                                                                    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

                                                                        yesterday at 4:12 PM

                                                                        really glad that you liked it

                                                                    • esafak

                                                                      yesterday at 7:51 PM

                                                                      Good job, Yassa. This is how you get a job in the AI age.

                                                                        • yassa9

                                                                          yesterday at 8:13 PM

                                                                          haha, I wish , this is my first OSINT challenge to solve tho

                                                                      • piterrro

                                                                        yesterday at 12:48 PM

                                                                        really impressive, could that be the way to locate yourself without GPS? assuming we know more/less where we are

                                                                          • yassa9

                                                                            yesterday at 1:06 PM

                                                                            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

                                                                        • hnlb53nrpg

                                                                          yesterday at 6:24 PM

                                                                          Not glamorous but it works

                                                                          • jf93ap29sh

                                                                            yesterday at 3:45 PM

                                                                            Loved it.

                                                                            • grodes

                                                                              yesterday at 12:59 PM

                                                                              impressive

                                                                              • NeoByte

                                                                                today at 8:26 AM

                                                                                [flagged]

                                                                                • _alphageek

                                                                                  yesterday at 11:31 PM

                                                                                  [dead]

                                                                                  • fenestella

                                                                                    yesterday at 12:55 PM

                                                                                    [dead]

                                                                                    • ligarota

                                                                                      yesterday at 4:12 PM

                                                                                      All of this to not use Google images

                                                                                        • melozo

                                                                                          yesterday at 4:20 PM

                                                                                          All of this to try and learn something new

                                                                                      • hno8a34nwn

                                                                                        yesterday at 2:09 PM

                                                                                        This is the real takeaway