5,400 geolocated tweets with phrases like "it's hot as hell" or "it's cold as a bitch" were collected from August 2017 to January 2018, and the outdoor temperature collected for each.
The result is a derived curseword-based temperature scale: "it's hot as hell" is 86°F, statistically speaking.
By @jimwebb, and presented at Hack and Tell DC (Presentation: Keynote | PDF). Thanks to @metasemantic for inspiration and code.
| Phrase | Count | Median Temp (°F) |
|---|---|---|
| (it's) cold as fuck | 623 | 41°F |
| cold as shit | 497 | 45°F |
| cold as hell | 466 | 48°F |
| cold as balls | 78 | 37°F |
| cold as a bitch | 43 | 37°F |
| --------------------------- | ------- | --------------- |
| hot as hell | 549 | 86°F |
| hot as fuck | 495 | 86°F |
| hot as shit | 261 | 86°F |
| hot as balls | 197 | 84°F |
| hotter than hell | 58 | 85°F |
Displayed with frequency, median (black) and 95% confidence (gray)
Displayed with frequency, median (black) and 95% confidence (gray)
"Cold as hell" (48°F) and "hot as hell" (86°F) exist together, and hell isn't the only subject with this duality:
| Phrase | When Hot (°F) | When Cold (°F) |
|---|---|---|
| dick | 92 | 36 |
| satan's balls | 90 | 34 |
| a witch's tit | 90 | 26 |
| a bitch | 89 | 38 |
| a mf | 88 | 42 |
| a mother | 88 | 29 |
| ever | 87 | 59 |
| f | 87 | 45 |
| tits | 85 | 40 |
| shit | 85 | 45 |
| hell | 85 | 47 |
| fuck | 84 | 41 |
| balls | 84 | 36 |
| heck | 78 | 28 |
Some subjects are used in one context (either hot or cold), but not both. "Boogers" and "Mars" are always cold; "the devil's dick" and "two rats (fucking)" are always hot:
Dataset provided in data/collected-tweets.csv; tweets with temperatures added are a SQLite database, in data/collected-tweets.db. Contact me for raw tweets (250MB).
python src/0-scrape.py
Requires an empty folder in the local directory named raw_firehose and a file named access_tokens.json with your Twitter API keys:
{
"key":"XXXXXXXXXXXXXXXXXXXXXXXXX",
"secret":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"access":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"access_secret":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}Set up SQLite database for processing (one-time)
php src/1-dbsetup.php
Parse the tweets and organize by phrasing
php src/2-collect-tweets.php
Poll the Dark Sky API for temperatures (edit file with your Dark Sky API key)
php src/3-get-weather.php



