[HN Gopher] I Made a Self-Quoting Tweet
       ___________________________________________________________________
        
       I Made a Self-Quoting Tweet
        
       Author : OisinMoran
       Score  : 178 points
       Date   : 2020-11-29 12:53 UTC (1 days ago)
        
 (HTM) web link (oisinmoran.com)
 (TXT) w3m dump (oisinmoran.com)
        
       | alblue wrote:
       | To save people some time, here's the tweet:
       | 
       | https://twitter.com/quinetweet/status/1309951041321013248
       | 
       | In essence, the approach was:
       | 
       | * Find out what the tweet id is of a recent tweet * Find out what
       | a tweet is shortly after * Estimate the rate of new tweets
       | appearing * Publish a tweet with a reference to a tweet with a
       | now+guess id
       | 
       | The write up is well done and interesting but a little long
       | winded.
        
         | MaxBarraclough wrote:
         | I'm seeing this:
         | 
         | > _This is not available to you_
        
           | mulmen wrote:
           | That's a common Twitter bug, just try again a few times.
        
             | oneeyedpigeon wrote:
             | If it's the same bug I frequently see, manually refreshing
             | the page by hitting enter in the address bar always fixes
             | it for me.
        
             | chris_wot wrote:
             | Nope, I'm assuming that's someone on Twitter noticing what
             | he did and hiding it.
        
               | mulmen wrote:
               | It's definitely a common Twitter bug.
               | 
               | "This is not available to you." is something different
               | from "This Tweet is unavailable."
        
               | EB-Barrington wrote:
               | I have "This Tweet is unavailable."
        
               | gowld wrote:
               | Or the software just doesn't handle it.
        
               | tyrust wrote:
               | Why the speculation from you and the parent? You can
               | literally click on the Tweet and see that it works fine.
        
               | LeifCarrotson wrote:
               | When _I_ click on the tweet, it shows the URL in the text
               | and where the quoted inset should be it instead reads
               | "This Tweet is unavailable."
               | 
               | The parent and grandparent are speculating because it
               | works for them but not for others here.
        
             | est31 wrote:
             | Alternatively, replace twitter.com in the URL with
             | nitter.net. It points to an alternative client.
        
               | thursday0987 wrote:
               | sure, if you want to give your twitter credentials to
               | some random company based in the caribbean.
        
               | boogies wrote:
               | What?
               | https://nitter.net/quinetweet/status/1309951041321013248
               | doesn't ask for credentials and AFAIK there's no place to
               | enter them on the whole site, unless you type them into
               | the search bar.
        
             | MaxBarraclough wrote:
             | You were right, it worked this time.
        
       | s_m wrote:
       | My personal fave.
       | https://twitter.com/SarnatsPointer/status/253602578695344128
        
         | SamBam wrote:
         | I think I'm missing a tweet of context. I get that they quoted
         | their own url, like in the top article, but then the account
         | replies "Ugh, busted :(" to someone who has their tweets
         | protected.
        
           | yellowstuff wrote:
           | As I recall, the trick is that you can post a tweet, grab the
           | URL, then if you edit it quickly enough it won't show up as
           | edited.
        
             | SamBam wrote:
             | But you can't edit tweets. Any apps that offer "editing"
             | either just impose delays, or easy ways to delete-and-
             | tweet-again in one step, no?
        
           | s_m wrote:
           | It's just Twitter engineers goofing.
        
       | pomber wrote:
       | I made two mutual-quoting tweets that run the toad oscillator
       | from the Game of Life
       | 
       | https://twitter.com/mauritscorneIis/status/12668346972560875...
        
         | OisinMoran wrote:
         | This is actually much cooler in my opinion! I love your
         | progress indicator too. How did you go about doing this one?
         | And what are the four parts you are referring to?
         | 
         | Do you think a 3-cycle is doable?
        
       | forgotmypw17 wrote:
       | Posted at 4:20 PM :)
        
       | bazzargh wrote:
       | Previously (2018): https://news.ycombinator.com/item?id=16978913
       | 
       | Previously (2009):
       | https://twitter.com/selfrefer/status/3128391843
       | https://twitter.com/spoonhenge/status/2878871344
       | https://news.ycombinator.com/item?id=743144
       | 
       | (last 2 were self-referential at the time, but then twitter
       | changed the rules for linking; I recalled seeing these at the
       | time)
        
       | User23 wrote:
       | Writing quines is one of my favorite things to do in a new
       | language. That it is always possible is a consequence of the
       | recursion theorem[1], which is, in my opinion, one of the coolest
       | results in basic computing science. I personally find it far more
       | interesting than the halting problem.
       | 
       | [1] https://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem
        
       | hawktheslayer wrote:
       | I especially enjoyed the M.C. Escher Drawing Hands background you
       | chose for your Twitter account.
        
       | showerst wrote:
       | > And for anyone at Twitter who was depending on the network of
       | tweets being a Directed Acyclic Graph, I'm so terribly sorry.
       | 
       | I love the idea that there's someone out there with code that
       | resolves retweet chains recursively, who's about to be in for a
       | _great_ head scratcher of a bug.
        
         | suprfsat wrote:
         | They will have to reckon with the fifty thousand-long chain at
         | https://twitter.com/every_peano
        
           | OisinMoran wrote:
           | I actually just came across this account recently and was
           | tempted to make some sort of reply bot on whether they were
           | prime or not. I was also trying to find some of the "funnier"
           | numbers to see if they had a disproportionate number of likes
           | (certainly not to like them myself...) but gave up after
           | realising they had almost 50k tweets.
        
         | anonytrary wrote:
         | Recursion isn't the problem. Not keeping track of seen tweets
         | is the problem. Recursion can be used to detect cycles and
         | traverse a cyclic graph in a way that doesn't blow up.
        
           | eyelidlessness wrote:
           | But you wouldn't do that if your assumption is that the graph
           | doesn't cycle.
        
             | anonytrary wrote:
             | Graph doesn't need to cycle to hit a node twice. Good code
             | does not visit the same node twice.
        
               | [deleted]
        
             | ulber wrote:
             | For traversing a DAG you probably still would to avoid
             | exploring an exponential number of paths (consider a chain
             | of diamonds [1]).
             | 
             | 1: https://www.researchgate.net/figure/A-diamond-shaped-
             | DAG_fig...
        
               | zemnmez wrote:
               | It's a lot easier to just have a depth limit on such non-
               | cyclic graphs than keep an in-memory list of previously
               | seen nodes. its interesting for sure! but a much rarer
               | edge-case imo
        
               | tyrust wrote:
               | But a diamond cannot occur in a Twitter-reply graph,
               | right? It would require a Tweet to be able to reply to
               | more than one tweet.
        
               | anonytrary wrote:
               | It can because the assumption is that we are crawling
               | embedded links as well as native parents.
        
       | chrisshroba wrote:
       | It seems like Twitter knows not to show the quoted tweet in this
       | case, but I wonder if it would show it if it were a 2-cycle.
        
         | jdmichal wrote:
         | At first I thought a two-cycle would be incredibly hard. But I
         | suppose you really only have to adjust the timestamp to
         | forward-guess the next ID. You would know the ID of the first
         | one. It would definitely help narrow down the algorithm used
         | for preventing the recursion.
        
         | ehsankia wrote:
         | Higher up someone posted an example of that and it seems like
         | no: https://news.ycombinator.com/item?id=25259046
         | 
         | Only one of the two shows, as expected it only shows if the ID
         | of the quoted tweet is smaller than that of the tweet itself.
         | 
         | This also means that in general, you can't quote a non-existing
         | future tweet hoping it'll be something cool in the future. Well
         | you can but the preview won't work.
        
       | nneonneo wrote:
       | FWIW, I also did this back in 2019:
       | https://twitter.com/nneonneo/status/1177641328705851392?lang...
       | 
       | I don't know of a better way to do this other than some analysis
       | of the IDs + clever bruteforce. If I remember correctly, I used
       | just over 500 tweets to do it.
        
         | OisinMoran wrote:
         | This is excellent, hats off to you! I love your creative lead-
         | in as well, mine is bland in comparison but I'm somewhat glad
         | to be off the hook for destroying the DAG as all these prior
         | examples are showing.
        
       | MH15 wrote:
       | Congratulations! I tried a similar approach based on the original
       | attempt at this challenge
       | (https://www.spinellis.gr/blog/20090805/), but gave up after
       | running it for a few hours.
       | 
       | Very cool that you were able to achieve this. I'd thought it was
       | impossible while using the original method given how many more
       | tweets there are now then in 2009.
        
       | kyle-rb wrote:
       | A bit annoying that Twitter's quote tweet UI sort of breaks.
       | Maybe two mutually recursive tweets would show up better :)
        
         | pomber wrote:
         | They also break
         | https://twitter.com/mauritscorneIis/status/12668346972560875...
        
           | ehsankia wrote:
           | Specifically, it seems like it only shows if the ID of the
           | quoted tweet is stricted lower than that of the tweet itself,
           | which basically solves any sort of recursion and acyclic
           | issue, as well as trying to quote non-existing future tweets.
        
       | clashmeifyoucan wrote:
       | Interesting, I wondered if the same can be done on hn. Likely
       | easier since the IDs appear to be sequential. But one can simply
       | edit their post to point to the URL too if they wanted, so it
       | defeats the fun of the exercise.
        
         | wolfgang42 wrote:
         | On a related note, from 2012: "Show HN: This up votes itself"
         | https://news.ycombinator.com/item?id=3742902
        
           | olalonde wrote:
           | Unfortunately, I wasn't allowed to keep the karma :(
        
         | kemitche wrote:
         | In a similar vein, Reddit's "self" posts were originally formed
         | by users submitting posts linking to themselves, by guessing
         | the URL for the next submitted post.
        
       ___________________________________________________________________
       (page generated 2020-11-30 23:00 UTC)