6

Let's say I commented on a picture, among let's say 1 million other comments. If you try to press "View more comments" it will load 50 at a time. As you can imagine, it could take many hours to find the original comment within the post in this manner.

I can go to my activity log and click on the comment from there, but when I click on it, I'm taken to the post but I still have to scroll to find the comment. If someone happens to reply to my comment, I can click on that Facebook notification and it takes me to that post and automatically scrolls down to my comment. But if no one replied, I wouldn't have that ability.

How can I find a comment I made on such a post without scrolling through for hours?

3
  • So you want the context as well, not just the single comment, right?
    – Alex
    Oct 15, 2013 at 12:42
  • Yes, sorry, I forgot to mention I know how to find it in the activity log. Oct 15, 2013 at 12:44
  • Perhaps this is just one of Facebook's many weaknesses :( Oct 15, 2013 at 12:49

1 Answer 1

4

You could find your comment by using binary search and changing the url manually:

  1. Start by getting the time of your comment from the activity log. Then go to the post and press on the time-and-date-text below one of the comments. The URL you go to should look something like this:

    https://www.facebook.com/{page}/posts/{postID}?comment_id={comment_id}&offset=0&total_comments=1000000

  2. You are looking the offset for your comment, you know it should be between 0 (lower bound) and the number of comments (upper bound, In this case 1 000 000). Offset 0 means the newest post and 1000000 is the oldest post (in this case).

  3. Let L denote the lower bound of offset, U denote the upper bound and M half way between L and U. (M = (L + U)/2)

  4. Remove the comment_id from the URL and change the offset to M. The URL should look like this

    https://www.facebook.com/{page}/posts/{postID}?offset=M&total_comments=1000000

  5. Look at the time on the comment there and compare it to the time of your post.

    • If your post is older, then the offset is to low. Let U = M and calculate a new M.
    • If your post is newer, then the offset is to high. Let L = M and calculate a new M.
    • If your post is from almost the same time, just press "Show more" until you find yours.
  6. Go to step 4 and repeat until you found your comment.

This should give you the your comment within log2(1000000)=17 iterations, so even though it is complicated, you should find the comment a lot faster.

To find your comment (even) faster you could use the time difference to guess something between L and U other then M.


Optional:

Let t_L denote the time difference (e.g. in minutes) between post L and post U, and t_Y denote the time difference between your post and post U. Then the following formula for M should find your post in very few iterations (1, 2, 3 depending on how evenly the comments are spread):

M = (U - L) / t_L - L

But it probably won't save you much time because it is complicated to calculate the time difference in minutes.


If there is not a million comments you could probably skip the binary search and just guess from the time difference between the first comment, the last comment and your comment instead.

2
  • Nice, I just might write an app or even a browser plug-in for this :D Now I just have to take the time and try it Oct 16, 2013 at 23:37
  • Unfortunately this doesn't seem to work any more, as FB have changed the structure of their URLs. The unique id used to identify the comment doesn't seem to have any structure to it that can be used to extrapolate time and date information.
    – Joe Miller
    Feb 6, 2016 at 15:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.