Hacker News new | past | comments | ask | show | jobs | submit login
How to Create a Self-Referential Tweet (spinellis.gr)
58 points by Autre on Aug 5, 2009 | hide | past | favorite | 25 comments



Nice. Incidentally, similar techniques are often used in security breaches. I remember it both from the recent paper that guesses your SSN from you date of birth and other data (where it is used to extrapolate your SSN from those of dead people with a nearby date of birth), and in the recent paper on the rogue CA certificate, where it is used to guess the timestamp on the certificate to the exact second.

I highly recommend reading these two papers -- both attacks required a great deal of ingenuity to pull off, especially the second one.

http://www.pnas.org/content/106/27/10975.full

http://www.win.tue.nl/hashclash/rogue-ca/


That sucking sound you hear is a day of productive programming being lost forever to Twitter ... ;)



Pretty cool exercise.

My lame-o half-ass solution: buy a domain name, send out a tweet containing a link to that domain, and forward the domain to that tweet.

Why write a nerdy shell script when you can just throw some money at the problem? ;)


Looks like that was forbidden in the rules... it had to have its actual URL in it.


ok, the other lame-ass brute-force long-term percentage-playing solution: buy mad badwidth, create tons of whitelisted twitter usernames, and continually send tweets with a url to a tweet id that hasn't occurred yet.

for instance, every tweet contains a url for tweet id 3149892792 (2000 more than the current most recent tweet on the public timeline at the time of this comment). once the system creates a tweet that overshoots the desired id, a new goal id is selected.

eventually, you'll get the right answer, especially if you can tweet a good percentage of tweets for a particular period of time.


I'd rather see a tweet reply to itself.


Which would be kinda impossible because no two tweets can have the same id.


No, you can set the in_reply_to id in the request using the same approach. Then it'd say "in reply to @myname", and the "in reply to" link would link to the same tweet.


But then isn't that essentially the same thing as this challenge??? Putting a link to the tweet in itself???


yes, but the end result would be a cooler artifact


also a self referencing comment: http://news.ycombinator.com/item?id=743351


not as hard because of the ability to edit comments edit: nobody said it was


It's also not as hard even without editing because comment ids are extremely predictable on hn.


It's funny because just yesterday (while driving or walking the dog... one of those times when the thoughts just wander) I was thinking about how one could start a series of tweets of the kind "This tweet is the copy of the previous tweet" with a way to start and stop the series while all still being true. And then thought there could be other kinds of challenges around that theme. Apparently there are.


This is silly because of the ease of URL shorteners.

  1. Use a link with a unique keyword hash (you can check) eg http://bit.ly/hn_comment
  2. Take the action, get the link
  3. Make that link with the keyword hash
Note, I didn't edit this comment to change the link. Clickable: http://bit.ly/hn_comment


The fun was doing that without using this.


I get it. I agree, and called it silly. I didn't say pointless.


Note that this is now a fixed point of a function that maps a URL for a tweet onto the text of the tweet itself.


Neat. Some years back I played with self-referential del.icio.us posts. http://rubyforge.org/projects/delinquent


to much recursion!


Too! Too much recursion!

"To much recursion!" would be proper if you were, say, offering a toast on account of having loads of recursion. Like:

The Good King Lisp raised his glass and toasted with the Knights of Lambda, "To much recursion!"


Every once in a while, I fervently wish that I could upvote an HN comment more than once.


I thought that's what he was doing...


to too much recursion too!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: