Take the 2-minute tour ×
Web Applications Stack Exchange is a question and answer site for power users of web applications. It's 100% free, no registration required.

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?

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

1 Answer 1

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.

share|improve this answer
    
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 –  Jerry Dodge Oct 16 '13 at 23:37
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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