I've got a casual rec this week:
\\n\\n
\\n\\n
~110k words, weekly updates, CW: Explicit content
\\n\\n
\\n\\n
Basically a "modern world" insert or reincarnation fic, where the protagonist's mind is yeeted into a a random 1998 8 y/o orphan with a 2024 internet snapshot and he decides to leverage his future knowledge along with the whole "adult mind"-shtick of the genre into becoming a wildly successful child actor, taking over the role of Radcliffe in the Harry Potter franchise and taking it from there (Tokyo Drift, Psych, Tropic Thunder, etc).
\\n\\n
The author is clearly into movies and TV because I feel they manage to capture the acting scene quite well (at least from my ignorant outsider perspective) and there's a lot of "how the sausage is made" in terms of film industry. They also really nail the vibe of the early 2000's.
\\n\\n
The biggest strength here is the comedy aspect, a lot of it is just downright hilarious, but there's also the back-in-time chess moves stuff like investing big in the right companies and playing the Big Short IRL with his HP franchise earnings to become fantaboulously wealthy at a young age.
\\n\\n
In terms of explicit content, there are like a handful of lewd scenes but I'd probably rate it more "R" rather than "X" since it's not really the focus. Also, of note, is that besides the protagonist, this is fanfiction where the genre is "real life" and all the people he interacts with in the story are real life people. I feel that so far the author has managed to do this with reasonable respect to the actual people depicted, but something to be aware of.
\\n\\n
Again, not particularly deep, but a lot of fun.
\\n\\n
\\n\\n
Anyone have other recommendations for real-life fanfiction with people going back in time to near or more distant human history?
\\n
',\n",
- " 'removal_reason': None,\n",
- " 'collapsed_reason': None,\n",
- " 'distinguished': None,\n",
- " 'associated_award': None,\n",
- " 'stickied': False,\n",
- " 'author_premium': False,\n",
- " 'can_gild': False,\n",
- " 'gildings': {},\n",
- " 'unrepliable_reason': None,\n",
- " 'author_flair_text_color': 'dark',\n",
- " 'score_hidden': False,\n",
- " 'permalink': '/r/rational/comments/1ef093v/d_monday_request_and_recommendation_thread/lfhs456/',\n",
- " 'subreddit_type': 'public',\n",
- " 'locked': False,\n",
- " 'report_reasons': None,\n",
- " 'created': 1722263937.0,\n",
- " 'author_flair_text': 'Path to Victory',\n",
- " 'treatment_tags': [],\n",
- " 'link_id': 't3_1ef093v',\n",
- " 'subreddit_name_prefixed': 'r/rational',\n",
- " 'controversiality': 0,\n",
- " 'depth': 0,\n",
- " 'author_flair_background_color': None,\n",
- " 'collapsed_because_crowd_control': None,\n",
- " 'mod_reports': [],\n",
- " 'num_reports': None,\n",
- " 'ups': 17,\n",
- " '_fetched': True}"
- ]
- },
- "execution_count": 21,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# TODO store whole threads in markdown for an llm to view\n",
- "comment = comments[0]\n",
- "comment.__dict__"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "5cebfad8",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "6d102e3d",
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3.10.4 64-bit",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.10.12"
- },
- "toc": {
- "base_numbering": 1,
- "nav_menu": {},
- "number_sections": true,
- "sideBar": true,
- "skip_h1_title": false,
- "title_cell": "Table of Contents",
- "title_sidebar": "Contents",
- "toc_cell": false,
- "toc_position": {},
- "toc_section_display": true,
- "toc_window_display": false
- },
- "vscode": {
- "interpreter": {
- "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
- }
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/nbs/mjc_001_download.ipynb b/nbs/mjc_001_download.ipynb
new file mode 100644
index 00000000..212dd556
--- /dev/null
+++ b/nbs/mjc_001_download.ipynb
@@ -0,0 +1,742 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "1b44551e",
+ "metadata": {},
+ "source": [
+ "# Exploratory Data Analysis\n",
+ "\n",
+ "Hypothesis: What is this notebook about?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "198de680",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2022-06-28T02:34:01.879987Z",
+ "start_time": "2022-06-28T02:34:01.864103Z"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "# autoreload your package\n",
+ "%load_ext autoreload\n",
+ "%autoreload 2\n",
+ "import rrational\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "a372ed7c",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2022-06-28T02:34:02.470436Z",
+ "start_time": "2022-06-28T02:34:02.424826Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "## secrets\n",
+ "from dotenv import load_dotenv\n",
+ "load_dotenv() # take environment variables from .env.\n",
+ "\n",
+ "import warnings\n",
+ "# warnings.simplefilter(\"ignore\")\n",
+ "warnings.filterwarnings(\"ignore\", \".*does not have many workers.*\")\n",
+ "warnings.filterwarnings(\"ignore\", \".*divide by zero.*\")\n",
+ "\n",
+ "## numeric, plotting\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "plt.style.use('ggplot')\n",
+ "plt.rcParams['figure.figsize'] = (7.0, 4)\n",
+ "\n",
+ "## utils\n",
+ "from pathlib import Path\n",
+ "from tqdm.auto import tqdm\n",
+ "import logging, os, re\n",
+ "import collections, functools, itertools\n",
+ "\n",
+ "# logging\n",
+ "from loguru import logger\n",
+ "logger.remove()\n",
+ "logger.add(os.sys.stdout, level=\"ERROR\", colorize=True, format=\"