Live data from Hacker News

Reconstructing Twitter's Firehose

docs.google.com

51–60 of 112 posts

Re: Reconstructing Twitter's Firehose

#51
post #12
post #6

If you need access to Twitter data you should sign up for a developer account and contact them. It's expensive but not prohibitively so for a company that needs Twitter data to do business. For academic research Twitter offers products which dramatically reduce the amount of data you need to consume via the full search API or historical powertrack.

I'm wondering if the Wayback Machine has access to it.

I would be extremely interested in getting the Twitter corpus ingested into the Internet Archive.

To my knowledge, the Archive does not have access to the firehose.

Re: Reconstructing Twitter's Firehose

#52
post #32

Earlier quoted context omitted.

Seems like a good way to get your IP blacklisted

I worked with a company in the past that abused the twitter api to an unimaginable level from a single IP address. That was a few years ago but at the time I’m pretty sure their blacklisting was between inexistent and pathetic.

It’s sad that you think this somehow reflects badly on Twitter. I appreciate a company that will opt to be conservative rather than ban-hammer innocent people on accident just to stop a single idiot.

Re: Reconstructing Twitter's Firehose

#53

> Twitter’s firehose is a complete stream of all tweets made on their platform and is only available to a few businesses at an extraordinary price. Anyone happen to know what that price is?

Hundreds of thousands per month. At least that was the price in 2012.

Not only that, but you need to prove you can handle the traffic.

Re: Reconstructing Twitter's Firehose

#54

I am the author of this document. If anyone has any questions, I'd be happy to answer them!

The timestamp is generated per server. The system time could differ across nodes in the cluster (even with NTP) by nano seconds. So, isn't the accuracy of the first tweet is approximation if there are multiple tweets containing same word "earthquake" at the same time at ns level? But I get the point.

Tweet object from the Twitter API has a "creation_time" that has 1s resolution, whereas the snowflake creation time has 1ms resolution. No doubt these could disagree, but if that happened then maybe both authors could get a prize?

Re: Reconstructing Twitter's Firehose

#55
post #32

Earlier quoted context omitted.

I worked with a company in the past that abused the twitter api to an unimaginable level from a single IP address. That was a few years ago but at the time I’m pretty sure their blacklisting was between inexistent and pathetic.

It’s sad that you think this somehow reflects badly on Twitter. I appreciate a company that will opt to be conservative rather than ban-hammer innocent people on accident just to stop a single idiot.

I don’t think it reflects badly on Twitter, it was simply a remark on the state of their blacklisting at the time. I’m sure they could’ve done a lot better if they chose to. Sorry I didn’t expressed myself better.

Re: Reconstructing Twitter's Firehose

#56
post #4

>Twitter’s statuses lookup API endpoint allows for a total of 1,200 API calls every 15 minutes. Each call allows the user to pass 100 ids for a total of 120,000 id requests every 15 minutes using both APP auth [...] Use the secret consumer keys from Twitter to bypass these limits: https://gist.github.com/shobotch/5160017

You can do the same for the Reddit API, change the agent header and then you have unlimited API calls.

Re: Reconstructing Twitter's Firehose

#57
post #12

Earlier quoted context omitted.

I'm wondering if the Wayback Machine has access to it.

I would be extremely interested in getting the Twitter corpus ingested into the Internet Archive. To my knowledge, the Archive does not have access to the firehose.

At one point the Library of Congress did, but they a) didn't share it with the general public, and b) stopped doing it.

https://www.npr.org/sections/thetwo-way/2017/12/26/573609499...

Re: Reconstructing Twitter's Firehose

#58
If Twitter is already storing the tweet timestamp, is there a reason to generate sequential IDs? It seems like they could move to a UUID scheme and protect their "firehose" from reverse-engineering.

Re: Reconstructing Twitter's Firehose

#59

Earlier quoted context omitted.

I see there is interest in this observation so I used a little ruby (.to_s(2)[-22..-17].to_i(2)) to get the datacenter id. Then ran it on a few Twitter accounts: https://pastebin.com/w8Dnj5kM It does work, and it's going to be hard to patch edit: I realized you don't only get one location but the whole location history of a Twitter user. Also locating Twitter's data centers as it doesn't seem to be public information

This is really interesting. When I did the original analysis on datacenter / server ids, I didn't think about correlation with user accounts. Nice observation!

I was curious and just did that :) https://gist.github.com/localhostdotdev/48ed13972c3e5391a47f... (small sample of ~1500 localized tweets)

Re: Reconstructing Twitter's Firehose

#60
post #58

If Twitter is already storing the tweet timestamp, is there a reason to generate sequential IDs? It seems like they could move to a UUID scheme and protect their "firehose" from reverse-engineering.

They're snowflake IDs, not exactly sequential.

Timestamp bits, shifted all the way left Data center id shifted left Server id shifted left Increment this millisecond

Since the left bits are the timestamp, they are date/time sortable and a much more useful index/primary key/whatever than a UUID.

Post reply on HN