From 096f5768aa1535c865ce929938f7ea6bb16536cb Mon Sep 17 00:00:00 2001 From: moritzWa Date: Sun, 25 Aug 2024 09:44:18 -0700 Subject: [PATCH 1/3] try fixing cors --- server/README.md | 2 + server/src/core/surfaces/express/index.ts | 50 +++++++++++++++-------- server/src/core/surfaces/graphql/index.ts | 34 ++++++++++----- 3 files changed, 60 insertions(+), 26 deletions(-) diff --git a/server/README.md b/server/README.md index ea2c0ac8..b57bbe28 100644 --- a/server/README.md +++ b/server/README.md @@ -40,6 +40,8 @@ Run the following command from the root directory: docker compose -f deployments/pickup/docker-compose.yml up ``` +This will run the postgres server with pgvector extension AND the redis server. + If you want to stop and remove the containers: ```console diff --git a/server/src/core/surfaces/express/index.ts b/server/src/core/surfaces/express/index.ts index 4a6efb32..7a98b288 100644 --- a/server/src/core/surfaces/express/index.ts +++ b/server/src/core/surfaces/express/index.ts @@ -1,22 +1,19 @@ -import http from "http"; -import express from "express"; import cors from "cors"; +import express from "express"; +import http from "http"; -import { startApolloServer } from "../graphql"; -import { Exception } from "src/core/logic"; -import ApiResponse from "src/core/logic/ApiResponse"; -import { config } from "src/config"; -import { omit } from "lodash/fp"; -import { initSentry } from "src/utils/sentry"; import * as Sentry from "@sentry/node"; +import helmet from "helmet"; import { serve } from "inngest/express"; -import { cronInngestFunctions, inngestFunctions } from "src/jobs/inngest"; -import { inngest, cronsInngest } from "src/jobs/inngest/clients"; -import { RedisStore } from "rate-limit-redis"; import RedisClient from "ioredis"; -import helmet from "helmet"; - -import { rateLimit } from "express-rate-limit"; +import { omit } from "lodash/fp"; +import { config } from "src/config"; +import { Exception } from "src/core/logic"; +import ApiResponse from "src/core/logic/ApiResponse"; +import { cronInngestFunctions, inngestFunctions } from "src/jobs/inngest"; +import { inngest } from "src/jobs/inngest/clients"; +import { initSentry } from "src/utils/sentry"; +import { startApolloServer } from "../graphql"; const port = normalizePort(config.port); const app = express(); @@ -57,7 +54,28 @@ const startInngest = async () => { app.use(express.urlencoded({ extended: true })); app.use(express.json({ limit: "50mb" })); - app.use(cors()); + app.use( + cors({ + origin: (origin, callback) => { + const allowedOrigins = [ + "http://localhost:3000", + "https://talkpickup.com", + ]; + if ( + !origin || + allowedOrigins.includes(origin) || + origin.startsWith("chrome-extension://") + ) { + callback(null, true); + } else { + callback(new Error("Not allowed by CORS")); + } + }, + methods: ["GET", "POST", "OPTIONS"], + allowedHeaders: ["Content-Type", "Authorization"], + credentials: true, + }) + ); app.use( helmet({ contentSecurityPolicy: @@ -223,4 +241,4 @@ async function exceptionHandler(err, req, res, next) { } } -export { startServer, startInngest }; +export { startInngest, startServer }; diff --git a/server/src/core/surfaces/graphql/index.ts b/server/src/core/surfaces/graphql/index.ts index 95d88b51..0cb237fa 100644 --- a/server/src/core/surfaces/graphql/index.ts +++ b/server/src/core/surfaces/graphql/index.ts @@ -1,16 +1,13 @@ -import * as http from "http"; -import { Express } from "express"; -import { schema } from "./schema"; -import { createContext as context } from "./context"; -import graphqlUploadExpress from "graphql-upload/graphqlUploadExpress.js"; -import { config } from "src/config"; -import { hasValue } from "src/core/logic"; import { ApolloServer } from "@apollo/server"; import { expressMiddleware } from "@apollo/server/express4"; import { ApolloServerPluginDrainHttpServer } from "@apollo/server/plugin/drainHttpServer"; -import cors from "cors"; -import express from "express"; import { InMemoryLRUCache } from "@apollo/utils.keyvaluecache"; +import cors from "cors"; +import express, { Express } from "express"; +import graphqlUploadExpress from "graphql-upload/graphqlUploadExpress.js"; +import * as http from "http"; +import { createContext as context } from "./context"; +import { schema } from "./schema"; const startApolloServer = async (app: Express) => { const httpServer = http.createServer(app); @@ -31,7 +28,24 @@ const startApolloServer = async (app: Express) => { app.use( "/graphql", - cors(), + cors({ + origin: (origin, callback) => { + const allowedOrigins = [ + "http://localhost:3000", + "https://talkpickup.com", + ]; + if ( + !origin || + allowedOrigins.includes(origin) || + origin.startsWith("chrome-extension://") + ) { + callback(null, true); + } else { + callback(new Error("Not allowed by CORS")); + } + }, + credentials: true, + }), express.json(), expressMiddleware(server, { context: context, From 727e49f6da92d56351993ce2f08fe5d7738a6633 Mon Sep 17 00:00:00 2001 From: moritzWa Date: Sun, 25 Aug 2024 17:32:24 -0700 Subject: [PATCH 2/3] try to fix auth --- app/src/api/api.ts | 4 +- chrome-extension-mv3-firebase/dist.zip | Bin 85762 -> 0 bytes .../src/css/popup.css | 10 ++- .../src/popup/main-script.js | 80 ++++++++++++++---- .../src/popup/main.html | 7 +- .../src/popup/popup.html | 4 +- .../src/popup/popup.js | 5 +- schema.graphql | 4 +- server/README.md | 2 + server/src/core/surfaces/express/index.ts | 50 +++++++---- .../core/surfaces/graphql/generated/nexus.ts | 2 - server/src/core/surfaces/graphql/index.ts | 34 +++++--- .../graphql/mutations/createContentFromUrl.ts | 32 ++++--- .../graphql/queries/getIsBookmarked.ts | 40 ++------- .../content/services/contentFromUrlService.ts | 10 ++- 15 files changed, 174 insertions(+), 110 deletions(-) delete mode 100644 chrome-extension-mv3-firebase/dist.zip diff --git a/app/src/api/api.ts b/app/src/api/api.ts index b99da0a8..dccb3d43 100644 --- a/app/src/api/api.ts +++ b/app/src/api/api.ts @@ -307,8 +307,8 @@ const Bookmark = gql` const CreateContentFromUrl = gql` ${BaseContentFields} - mutation CreateContentFromUrl($url: String!, $authProviderId: String) { - createContentFromUrl(url: $url, authProviderId: $authProviderId) { + mutation CreateContentFromUrl($url: String!) { + createContentFromUrl(url: $url) { ...BaseContentFields } } diff --git a/chrome-extension-mv3-firebase/dist.zip b/chrome-extension-mv3-firebase/dist.zip deleted file mode 100644 index 8ca7532f9d0c5ccb93b278f40d5d9c96c2760c9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85762 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 diff --git a/chrome-extension-mv3-firebase/src/css/popup.css b/chrome-extension-mv3-firebase/src/css/popup.css index 3531446c..5d03378c 100644 --- a/chrome-extension-mv3-firebase/src/css/popup.css +++ b/chrome-extension-mv3-firebase/src/css/popup.css @@ -70,6 +70,12 @@ h1 { font-size: 18px; } +.btn__sign_out { + margin-top: 10px; + background-color: #f44336; + color: white; +} + .btn__google:hover { background-color: #fff; color: #4285f4; @@ -92,6 +98,6 @@ h1 { display: none; } -#main-content { +/* #main-content { display: none; -} +} */ diff --git a/chrome-extension-mv3-firebase/src/popup/main-script.js b/chrome-extension-mv3-firebase/src/popup/main-script.js index 86e0cdbe..5a81fd33 100644 --- a/chrome-extension-mv3-firebase/src/popup/main-script.js +++ b/chrome-extension-mv3-firebase/src/popup/main-script.js @@ -3,6 +3,7 @@ import { GoogleAuthProvider, onAuthStateChanged, signInWithCredential, + signOut, } from "firebase/auth"; import { firebaseApp } from "./firebase_config"; @@ -10,12 +11,22 @@ const auth = getAuth(firebaseApp); console.log("popup main!"); +const apiUrl = process.env.API_URL; +console.log(`API URL: ${apiUrl}`); + +const isDevelopment = + apiUrl.includes("localhost") || apiUrl.includes("127.0.0.1"); + function handleAuthStateChange(user) { if (user) { console.log("logged in!"); console.log("current user:", user); document.getElementById("likeContent").style.display = "block"; saveCurrentLink(); + + if (isDevelopment) { + document.getElementById("signOutContainer").style.display = "block"; + } } else { console.log("No user"); window.location.replace("./popup.html"); @@ -42,27 +53,32 @@ function checkForExistingToken() { }); } -const apiUrl = process.env.API_URL; -console.log(`API URL: ${apiUrl}`); - async function saveCurrentLink() { const messageDiv = document.getElementById("message"); chrome.tabs.query({ active: true, currentWindow: true }, async (tabs) => { const tab = tabs[0]; const user = auth.currentUser; - const authProviderId = user ? user.uid : null; + + if (!user) { + console.error("No user logged in"); + messageDiv.textContent = "Please log in to save links."; + return; + } console.log("saving link using api url:", apiUrl); try { + const idToken = await user.getIdToken(); + const response = await fetch(`${apiUrl}/graphql`, { method: "POST", headers: { "Content-Type": "application/json", + Authorization: `Bearer ${idToken}`, }, body: JSON.stringify({ - query: `mutation($url: String!, $authProviderId: String) { - createContentFromUrl(url: $url, authProviderId: $authProviderId) { + query: `mutation($url: String!) { + createContentFromUrl(url: $url) { id title websiteUrl @@ -73,7 +89,6 @@ async function saveCurrentLink() { }`, variables: { url: tab.url, - authProviderId, }, }), }); @@ -111,21 +126,28 @@ async function checkBookmarkStatus() { const tab = tabs[0]; const url = tab.url; const user = auth.currentUser; - const authProviderId = user ? user.uid : null; + + if (!user) { + console.error("No user logged in"); + messageDiv.textContent = "Please log in to check bookmark status."; + return; + } try { + const idToken = await user.getIdToken(); + const response = await fetch(`${apiUrl}/graphql`, { method: "POST", headers: { "Content-Type": "application/json", + Authorization: `Bearer ${idToken}`, }, body: JSON.stringify({ - query: `query($url: String!, $authProviderId: String) { - getIsBookmarked(url: $url, authProviderId: $authProviderId) + query: `query($url: String!) { + getIsBookmarked(url: $url) }`, variables: { url, - authProviderId, }, }), }); @@ -169,24 +191,31 @@ async function toggleBookmark() { } const user = auth.currentUser; - const authProviderId = user ? user.uid : null; + + if (!user) { + console.error("No user logged in"); + messageDiv.textContent = "Please log in to toggle bookmark."; + return; + } try { + const idToken = await user.getIdToken(); + const response = await fetch(`${apiUrl}/graphql`, { method: "POST", headers: { "Content-Type": "application/json", + Authorization: `Bearer ${idToken}`, }, body: JSON.stringify({ - query: `mutation($contentId: ID!, $authProviderId: String) { - bookmarkContent(contentId: $contentId, authProviderId: $authProviderId) { + query: `mutation($contentId: ID!) { + bookmarkContent(contentId: $contentId) { id isBookmarked } }`, variables: { contentId: contentId, - authProviderId, }, }), }); @@ -217,8 +246,29 @@ async function toggleBookmark() { }); } +console.log("isDevelopment", isDevelopment); + +function signOutUser() { + console.log("signing out user now"); + + signOut(auth) + .then(() => { + console.log("User signed out successfully"); + window.location.replace("./popup.html"); + }) + .catch((error) => { + console.error("Error signing out:", error); + }); +} + document .getElementById("likeContent") .addEventListener("click", toggleBookmark); +if (isDevelopment) { + document + .getElementById("signOutButton") + .addEventListener("click", signOutUser); +} + onAuthStateChanged(auth, handleAuthStateChange); diff --git a/chrome-extension-mv3-firebase/src/popup/main.html b/chrome-extension-mv3-firebase/src/popup/main.html index 6b3d8604..34798f2e 100644 --- a/chrome-extension-mv3-firebase/src/popup/main.html +++ b/chrome-extension-mv3-firebase/src/popup/main.html @@ -4,12 +4,15 @@ + Pickup Chrome Extension - Pickup Chrome Extension

    Will appear on your profile

    + - + \ No newline at end of file diff --git a/chrome-extension-mv3-firebase/src/popup/popup.html b/chrome-extension-mv3-firebase/src/popup/popup.html index e44fc46c..d937c2c3 100644 --- a/chrome-extension-mv3-firebase/src/popup/popup.html +++ b/chrome-extension-mv3-firebase/src/popup/popup.html @@ -11,9 +11,9 @@ /> diff --git a/chrome-extension-mv3-firebase/src/popup/popup.js b/chrome-extension-mv3-firebase/src/popup/popup.js index 5282e328..c8abf255 100644 --- a/chrome-extension-mv3-firebase/src/popup/popup.js +++ b/chrome-extension-mv3-firebase/src/popup/popup.js @@ -17,7 +17,8 @@ function handleAuthStateChange(user) { window.location.replace("./main.html"); } else { console.log("No user logged in"); - checkForExistingToken(); + // checkForExistingToken(); + showLoginButton(); } } @@ -44,7 +45,7 @@ function checkForExistingToken() { function showLoginButton() { document.querySelector(".btn__google").style.display = "block"; document.getElementById("loading").classList.add("hidden"); - document.getElementById("main-content").classList.remove("hidden"); + // document.getElementById("main-content").classList.remove("hidden"); } function startGoogleSignIn() { diff --git a/schema.graphql b/schema.graphql index 5ba7e718..a694c854 100644 --- a/schema.graphql +++ b/schema.graphql @@ -179,7 +179,7 @@ type Mutation { bookmarkContent(authProviderId: String, contentId: ID!): ContentSession! clearQueue: String! createAuthor(imageUrl: String, name: String!): Author - createContentFromUrl(authProviderId: String, url: String!): Content! + createContentFromUrl(url: String!): Content! createUser(email: String!, name: String, password: String, referralCode: String, username: String): CreateUserResponse! deleteMe: String! followProfile(username: String!): String! @@ -254,7 +254,7 @@ type Query { getFollows(username: String!): FollowersResponse! getFriends: [FriendProfile!]! getIntercomMobileToken(platform: String): String! - getIsBookmarked(authProviderId: String, url: String!): Boolean! + getIsBookmarked(url: String!): Boolean! getLikes(limit: Int, page: Int): [ContentSession!]! getMobileUpdate: GetMobileUpdateResponse! getNextContent(afterContentId: ID!, currentMs: Int): FeedItem diff --git a/server/README.md b/server/README.md index ea2c0ac8..b57bbe28 100644 --- a/server/README.md +++ b/server/README.md @@ -40,6 +40,8 @@ Run the following command from the root directory: docker compose -f deployments/pickup/docker-compose.yml up ``` +This will run the postgres server with pgvector extension AND the redis server. + If you want to stop and remove the containers: ```console diff --git a/server/src/core/surfaces/express/index.ts b/server/src/core/surfaces/express/index.ts index 4a6efb32..7a98b288 100644 --- a/server/src/core/surfaces/express/index.ts +++ b/server/src/core/surfaces/express/index.ts @@ -1,22 +1,19 @@ -import http from "http"; -import express from "express"; import cors from "cors"; +import express from "express"; +import http from "http"; -import { startApolloServer } from "../graphql"; -import { Exception } from "src/core/logic"; -import ApiResponse from "src/core/logic/ApiResponse"; -import { config } from "src/config"; -import { omit } from "lodash/fp"; -import { initSentry } from "src/utils/sentry"; import * as Sentry from "@sentry/node"; +import helmet from "helmet"; import { serve } from "inngest/express"; -import { cronInngestFunctions, inngestFunctions } from "src/jobs/inngest"; -import { inngest, cronsInngest } from "src/jobs/inngest/clients"; -import { RedisStore } from "rate-limit-redis"; import RedisClient from "ioredis"; -import helmet from "helmet"; - -import { rateLimit } from "express-rate-limit"; +import { omit } from "lodash/fp"; +import { config } from "src/config"; +import { Exception } from "src/core/logic"; +import ApiResponse from "src/core/logic/ApiResponse"; +import { cronInngestFunctions, inngestFunctions } from "src/jobs/inngest"; +import { inngest } from "src/jobs/inngest/clients"; +import { initSentry } from "src/utils/sentry"; +import { startApolloServer } from "../graphql"; const port = normalizePort(config.port); const app = express(); @@ -57,7 +54,28 @@ const startInngest = async () => { app.use(express.urlencoded({ extended: true })); app.use(express.json({ limit: "50mb" })); - app.use(cors()); + app.use( + cors({ + origin: (origin, callback) => { + const allowedOrigins = [ + "http://localhost:3000", + "https://talkpickup.com", + ]; + if ( + !origin || + allowedOrigins.includes(origin) || + origin.startsWith("chrome-extension://") + ) { + callback(null, true); + } else { + callback(new Error("Not allowed by CORS")); + } + }, + methods: ["GET", "POST", "OPTIONS"], + allowedHeaders: ["Content-Type", "Authorization"], + credentials: true, + }) + ); app.use( helmet({ contentSecurityPolicy: @@ -223,4 +241,4 @@ async function exceptionHandler(err, req, res, next) { } } -export { startServer, startInngest }; +export { startInngest, startServer }; diff --git a/server/src/core/surfaces/graphql/generated/nexus.ts b/server/src/core/surfaces/graphql/generated/nexus.ts index 37743960..1285f105 100644 --- a/server/src/core/surfaces/graphql/generated/nexus.ts +++ b/server/src/core/surfaces/graphql/generated/nexus.ts @@ -754,7 +754,6 @@ export interface NexusGenArgTypes { name: string; // String! } createContentFromUrl: { // args - authProviderId?: string | null; // String url: string; // String! } createUser: { // args @@ -865,7 +864,6 @@ export interface NexusGenArgTypes { platform?: string | null; // String } getIsBookmarked: { // args - authProviderId?: string | null; // String url: string; // String! } getLikes: { // args diff --git a/server/src/core/surfaces/graphql/index.ts b/server/src/core/surfaces/graphql/index.ts index 95d88b51..0cb237fa 100644 --- a/server/src/core/surfaces/graphql/index.ts +++ b/server/src/core/surfaces/graphql/index.ts @@ -1,16 +1,13 @@ -import * as http from "http"; -import { Express } from "express"; -import { schema } from "./schema"; -import { createContext as context } from "./context"; -import graphqlUploadExpress from "graphql-upload/graphqlUploadExpress.js"; -import { config } from "src/config"; -import { hasValue } from "src/core/logic"; import { ApolloServer } from "@apollo/server"; import { expressMiddleware } from "@apollo/server/express4"; import { ApolloServerPluginDrainHttpServer } from "@apollo/server/plugin/drainHttpServer"; -import cors from "cors"; -import express from "express"; import { InMemoryLRUCache } from "@apollo/utils.keyvaluecache"; +import cors from "cors"; +import express, { Express } from "express"; +import graphqlUploadExpress from "graphql-upload/graphqlUploadExpress.js"; +import * as http from "http"; +import { createContext as context } from "./context"; +import { schema } from "./schema"; const startApolloServer = async (app: Express) => { const httpServer = http.createServer(app); @@ -31,7 +28,24 @@ const startApolloServer = async (app: Express) => { app.use( "/graphql", - cors(), + cors({ + origin: (origin, callback) => { + const allowedOrigins = [ + "http://localhost:3000", + "https://talkpickup.com", + ]; + if ( + !origin || + allowedOrigins.includes(origin) || + origin.startsWith("chrome-extension://") + ) { + callback(null, true); + } else { + callback(new Error("Not allowed by CORS")); + } + }, + credentials: true, + }), express.json(), expressMiddleware(server, { context: context, diff --git a/server/src/modules/content/graphql/mutations/createContentFromUrl.ts b/server/src/modules/content/graphql/mutations/createContentFromUrl.ts index 72acd495..ff3e7d70 100644 --- a/server/src/modules/content/graphql/mutations/createContentFromUrl.ts +++ b/server/src/modules/content/graphql/mutations/createContentFromUrl.ts @@ -1,4 +1,4 @@ -import { arg, mutationField, nonNull, stringArg } from "nexus"; +import { mutationField, nonNull, stringArg } from "nexus"; import { Content as ContentEntity, User, @@ -31,23 +31,24 @@ curl -X POST http://localhost:8888/graphql \ }' */ +const generateAudioImmediately = false; + export const createContentFromUrl = mutationField("createContentFromUrl", { type: nonNull(Content), args: { url: nonNull(stringArg()), - authProviderId: arg({ type: "String" }), }, resolve: async (_parent, args, ctx: Context, _info) => { - const { url, authProviderId } = args; - Logger.info( - `createContentFromUrl called with url: ${url}, authProviderId: ${authProviderId}` - ); + const { url } = args; + Logger.info(`createContentFromUrl called with url: ${url}`); + // logg ctx.me + console.log("ctx", ctx); + + if (!ctx.me) { + throw new Error("User not authenticated"); + } let content: ContentEntity; - let user = await getUserFromContextOrAuthProviderId( - ctx, - authProviderId - ); // Check if content with the given URL already exists const existingContentResponse = await contentRepo.findOne({ @@ -64,7 +65,8 @@ export const createContentFromUrl = mutationField("createContentFromUrl", { content = existingContentResponse.value; } else { const contentResponse = await ContentFromUrlService.createFromUrl( - url + url, + generateAudioImmediately ); if (contentResponse.isFailure()) { throw contentResponse.error; @@ -73,12 +75,8 @@ export const createContentFromUrl = mutationField("createContentFromUrl", { Logger.info(`New content created for url: ${url}`); } - if (user) { - await addContentToUserQueue(user, content); - Logger.info(`Content added to queue for user: ${user.id}`); - } else { - Logger.info(`No user found to add content to queue`); - } + await addContentToUserQueue(ctx.me, content); + Logger.info(`Content added to queue for user: ${ctx.me.id}`); return content; }, diff --git a/server/src/modules/content/graphql/queries/getIsBookmarked.ts b/server/src/modules/content/graphql/queries/getIsBookmarked.ts index 26740d2d..a9e46b8a 100644 --- a/server/src/modules/content/graphql/queries/getIsBookmarked.ts +++ b/server/src/modules/content/graphql/queries/getIsBookmarked.ts @@ -2,7 +2,6 @@ import { arg, nonNull, queryField, stringArg } from "nexus"; import { User } from "src/core/infra/postgres/entities"; import { throwIfError } from "src/core/surfaces/graphql/common"; import { Context } from "src/core/surfaces/graphql/context"; -import { pgUserRepo } from "src/modules/users/infra/postgres"; import { Logger } from "src/utils"; import { contentRepo } from "../../infra"; import { ContentSessionService } from "../../services/contentSessionService"; @@ -11,25 +10,19 @@ export const getIsBookmarked = queryField("getIsBookmarked", { type: nonNull("Boolean"), args: { url: nonNull(stringArg()), - authProviderId: arg({ type: "String" }), }, resolve: async (_parent, args, ctx: Context) => { - const { url, authProviderId } = args; + const { url } = args; Logger.info( - `getIsBookmarked: Checking if URL ${url} is bookmarked, authProviderId: ${authProviderId}` + `getIsBookmarked: Checking if URL ${url} is bookmarked for user ${ctx.me?.email}` ); if (!url) { throw new Error("URL is required"); } - let user = await getUserFromContextOrAuthProviderId( - ctx, - authProviderId - ); - - if (!user) { + if (!ctx.me) { throw new Error("User not authenticated"); } @@ -45,7 +38,7 @@ export const getIsBookmarked = queryField("getIsBookmarked", { const sessionResponse = await ContentSessionService.findOrCreate( content, - user + ctx.me ); throwIfError(sessionResponse); @@ -54,32 +47,9 @@ export const getIsBookmarked = queryField("getIsBookmarked", { sessionResponse.value?.isBookmarked ? "bookmarked" : "unbookmarked" - } by user ${user.email}` + } by user ${ctx.me.email}` ); return sessionResponse.value?.isBookmarked ?? false; }, }); - -async function getUserFromContextOrAuthProviderId( - ctx: Context, - authProviderId?: string | null -): Promise { - if (ctx.me) { - return ctx.me; - } - if (authProviderId) { - const userResponse = await pgUserRepo.findOne({ - where: { authProviderId }, - }); - - if (userResponse.isSuccess() && userResponse.value) { - Logger.info( - `getUserFromContextOrAuthProviderId: Found user ${userResponse.value?.email} with authProviderId ${authProviderId}` - ); - - return userResponse.value; - } - } - return null; -} diff --git a/server/src/modules/content/services/contentFromUrlService.ts b/server/src/modules/content/services/contentFromUrlService.ts index b2dc38f8..74072ef9 100644 --- a/server/src/modules/content/services/contentFromUrlService.ts +++ b/server/src/modules/content/services/contentFromUrlService.ts @@ -26,7 +26,8 @@ const truncateText = (text: string, maxLength: number = 100): string => { export const ContentFromUrlService = { createFromUrl: async ( - url: string + url: string, + generateAudioImmediately: boolean ): Promise> => { try { // Only turn this of if scraping content from json like response where author is already extracted/created @@ -97,8 +98,11 @@ export const ContentFromUrlService = { return failure(savedContentResponse.error); } - const createAudioContent = true; - // process.env.NODE_ENV === "production" ? true : false; + const createAudioContent = + process.env.NODE_ENV === "production" && + generateAudioImmediately + ? true + : false; if (createAudioContent) { // Enqueue audio generation task await AudioGenerationQueue.add("generateAudio", { From fe276c2044022ab3f6d7273a5344c60f77def054 Mon Sep 17 00:00:00 2001 From: moritzWa Date: Sun, 25 Aug 2024 17:33:42 -0700 Subject: [PATCH 3/3] cleanup --- server/combined.log | 1424 ------------------------------------------- 1 file changed, 1424 deletions(-) delete mode 100644 server/combined.log diff --git a/server/combined.log b/server/combined.log deleted file mode 100644 index 4281e77a..00000000 --- a/server/combined.log +++ /dev/null @@ -1,1424 +0,0 @@ -{"level":"info","message":"Starting to process 100 links without full text..."} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetching link: https://sivers.org/kimo"} -{"level":"info","message":"Fetching link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetching link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetching link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetching link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetching link: https://www.math3ma.com"} -{"level":"info","message":"Fetching link: https://sivers.org/slow"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetching link: "} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetching link: http://xroads.virginia.edu/~hyper/walden/hdt07.html"} -{"level":"info","message":"Fetching link: https://xkcd.com"} -{"level":"info","message":"Fetching link: test"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/hamming.html"} -{"level":"info","message":"Fetching link: https://www.youtube.com/watch?v=8S0FDjFBj8o"} -{"level":"info","message":"Fetching link: asdf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetching link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetching link: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1"} -{"level":"info","message":"Fetching link: http://paulgraham.com/cities.html"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetching link: https://en.wiktionary.org/wiki/upsert"} -{"level":"info","message":"Fetching link: https://pioneer.app"} -{"level":"info","message":"Fetching link: https://joininteract.com"} -{"level":"info","message":"Fetching link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetching link: https://www.firstactfund.com"} -{"level":"info","message":"Fetching link: https://www.workatastartup.com"} -{"level":"info","message":"Fetching link: http://hackersurfing.com"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetching link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetching link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetching link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetching link: https://www.media.mit.edu/posts/time-100-next-2019/"} -{"level":"info","message":"Fetching link: https://www.ycombinator.com/"} -{"level":"info","message":"Fetching link: https://mindbook.dev/shelf"} -{"level":"info","message":"Fetching link: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py"} -{"level":"info","message":"Fetching link: xkcd.com"} -{"level":"info","message":"Fetching link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetching link: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow"} -{"level":"info","message":"Fetching link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetching link: http://paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetching link: http://paulgraham.com/disc.html"} -{"level":"info","message":"Fetching link: http://paulgraham.com/noob.html"} -{"level":"info","message":"Fetching link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetching link: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18"} -{"level":"info","message":"Fetching link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong/bookshelf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetching link: https://mindbook.dev/bookshelf"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal/bookshelf"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetching link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetching link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetching link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetching link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetching link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetching link: http://paulgraham.com/hackernews.html"} -{"level":"info","message":"Fetching link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetching link: https://bubble.io/blog/empower-don-t-disrupt/"} -{"level":"info","message":"Fetching link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetching link: https://link.springer.com/article/10.3758/s13414-019-01760-1"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-019-0480-6"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full"} -{"level":"info","message":"Fetching link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/ncomms13276"} -{"level":"info","message":"Fetching link: https://science.sciencemag.org/content/346/6209/551"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/407007v2"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full#ref-44"} -{"level":"info","message":"Fetching link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41583-020-0277-3"} -{"level":"info","message":"Fetching link: https://montrealgazette.com/news/local-news/coronavirus-quebec-rental-board-suspends-eviction-hearings/"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.11.984757v1"} -{"level":"info","message":"Fetching link: https://arxiv.org/abs/2004.07580"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-020-0614-x"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N"} -{"level":"info","message":"Fetching link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetching link: https://www.facebook.com"} -{"level":"info","message":"Fetching link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetching link: https://www.messenger.com/t/daoud.piracha"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 10:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"t","26":"e","27":"s","28":"t","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 14:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"a","26":"s","27":"d","28":"f","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 17:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"x","26":"k","27":"c","28":"d","29":".","3":"l","30":"c","31":"o","32":"m","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 42:"} -{"level":"warn","message":"Skipped saving link 10: No full text extracted"} -{"level":"warn","message":"Skipped saving link 14: No full text extracted"} -{"level":"warn","message":"Skipped saving link 17: No full text extracted"} -{"level":"warn","message":"Skipped saving link 42: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Eris_(dwarf_planet), length: 415390"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 29:"} -{"level":"warn","message":"Skipped saving link 29: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html, length: 377443"} -{"level":"info","message":"Successfully processed link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetched HTML content for: https://en.wiktionary.org/wiki/upsert, length: 34378"} -{"level":"warn","message":"Skipped saving link 25: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://xkcd.com, length: 7333"} -{"level":"info","message":"Successfully processed link: https://xkcd.com"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Slaughterhouse-Five, length: 236321"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 38:"} -{"level":"warn","message":"Skipped saving link 38: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 56:"} -{"level":"warn","message":"Skipped saving link 56: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 61:"} -{"level":"warn","message":"Skipped saving link 61: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 62:"} -{"level":"warn","message":"Skipped saving link 62: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 63:"} -{"level":"warn","message":"Skipped saving link 63: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 64:"} -{"level":"warn","message":"Skipped saving link 64: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://pioneer.app, length: 30430"} -{"level":"info","message":"Successfully processed link: https://pioneer.app"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series), length: 363863"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"warn","message":"Skipped saving link 31: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://nn.labml.ai/transformers/gpt/, length: 57991"} -{"level":"info","message":"Successfully processed link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetched HTML content for: https://joininteract.com, length: 34428"} -{"level":"info","message":"Successfully processed link: https://joininteract.com"} -{"level":"info","message":"Fetched HTML content for: https://www.math3ma.com, length: 243079"} -{"level":"info","message":"Successfully processed link: https://www.math3ma.com"} -{"level":"info","message":"Fetched HTML content for: https://www.workatastartup.com, length: 149615"} -{"level":"info","message":"Successfully processed link: https://www.workatastartup.com"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/funding-for-covid-19-projects, length: 18002"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetched HTML content for: https://www.media.mit.edu/posts/time-100-next-2019/, length: 67207"} -{"level":"warn","message":"Skipped saving link 36: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://arxiv.org/abs/2004.07580, length: 47340"} -{"level":"warn","message":"Skipped saving link 90: No full text extracted"} -{"level":"warn","message":"Skipped saving link 80: No full text extracted"} -{"level":"warn","message":"Skipped saving link 84: No full text extracted"} -{"level":"warn","message":"Skipped saving link 85: No full text extracted"} -{"level":"warn","message":"Skipped saving link 89: No full text extracted"} -{"level":"warn","message":"Skipped saving link 88: No full text extracted"} -{"level":"warn","message":"Skipped saving link 76: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Scott_Forstall, length: 183706"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"warn","message":"Skipped saving link 12: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1, length: 92885"} -{"level":"warn","message":"Skipped saving link 20: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374, length: 94117"} -{"level":"info","message":"Successfully processed link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetched HTML content for: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055, length: 44930"} -{"level":"info","message":"Successfully processed link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/West_Berlin, length: 368367"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetched HTML content for: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle, length: 752983"} -{"level":"info","message":"Successfully processed link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetched HTML content for: https://en.m.wikipedia.org/wiki/Special:Random, length: 57370"} -{"level":"info","message":"Successfully processed link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Sviatoslav_Richter, length: 249567"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/noob.html, length: 12533"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/kimo, length: 5202"} -{"level":"info","message":"Successfully processed link: https://sivers.org/kimo"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/slow, length: 2699"} -{"level":"info","message":"Successfully processed link: https://sivers.org/slow"} -{"level":"info","message":"Fetched HTML content for: https://danluu.com/sounds-easy, length: 14807"} -{"level":"info","message":"Successfully processed link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/makersschedule.html, length: 16855"} -{"level":"info","message":"Successfully processed link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/disc.html, length: 7898"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/ycstart.html, length: 14169"} -{"level":"info","message":"Successfully processed link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetched HTML content for: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d, length: 98158"} -{"level":"info","message":"Successfully processed link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Starting to process 100 links without full text..."} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetching link: https://sivers.org/kimo"} -{"level":"info","message":"Fetching link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetching link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetching link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetching link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetching link: https://www.math3ma.com"} -{"level":"info","message":"Fetching link: https://sivers.org/slow"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetching link: "} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetching link: http://xroads.virginia.edu/~hyper/walden/hdt07.html"} -{"level":"info","message":"Fetching link: https://xkcd.com"} -{"level":"info","message":"Fetching link: test"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/hamming.html"} -{"level":"info","message":"Fetching link: https://www.youtube.com/watch?v=8S0FDjFBj8o"} -{"level":"info","message":"Fetching link: asdf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetching link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetching link: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1"} -{"level":"info","message":"Fetching link: http://paulgraham.com/cities.html"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetching link: https://en.wiktionary.org/wiki/upsert"} -{"level":"info","message":"Fetching link: https://pioneer.app"} -{"level":"info","message":"Fetching link: https://joininteract.com"} -{"level":"info","message":"Fetching link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetching link: https://www.firstactfund.com"} -{"level":"info","message":"Fetching link: https://www.workatastartup.com"} -{"level":"info","message":"Fetching link: http://hackersurfing.com"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetching link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetching link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetching link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetching link: https://www.media.mit.edu/posts/time-100-next-2019/"} -{"level":"info","message":"Fetching link: https://www.ycombinator.com/"} -{"level":"info","message":"Fetching link: https://mindbook.dev/shelf"} -{"level":"info","message":"Fetching link: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py"} -{"level":"info","message":"Fetching link: xkcd.com"} -{"level":"info","message":"Fetching link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetching link: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow"} -{"level":"info","message":"Fetching link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetching link: http://paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetching link: http://paulgraham.com/disc.html"} -{"level":"info","message":"Fetching link: http://paulgraham.com/noob.html"} -{"level":"info","message":"Fetching link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetching link: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18"} -{"level":"info","message":"Fetching link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong/bookshelf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetching link: https://mindbook.dev/bookshelf"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal/bookshelf"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetching link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetching link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetching link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetching link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetching link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetching link: http://paulgraham.com/hackernews.html"} -{"level":"info","message":"Fetching link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetching link: https://bubble.io/blog/empower-don-t-disrupt/"} -{"level":"info","message":"Fetching link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetching link: https://link.springer.com/article/10.3758/s13414-019-01760-1"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-019-0480-6"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full"} -{"level":"info","message":"Fetching link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/ncomms13276"} -{"level":"info","message":"Fetching link: https://science.sciencemag.org/content/346/6209/551"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/407007v2"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full#ref-44"} -{"level":"info","message":"Fetching link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41583-020-0277-3"} -{"level":"info","message":"Fetching link: https://montrealgazette.com/news/local-news/coronavirus-quebec-rental-board-suspends-eviction-hearings/"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.11.984757v1"} -{"level":"info","message":"Fetching link: https://arxiv.org/abs/2004.07580"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-020-0614-x"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N"} -{"level":"info","message":"Fetching link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetching link: https://www.facebook.com"} -{"level":"info","message":"Fetching link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetching link: https://www.messenger.com/t/daoud.piracha"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 10:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"t","26":"e","27":"s","28":"t","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 14:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"a","26":"s","27":"d","28":"f","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 17:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"x","26":"k","27":"c","28":"d","29":".","3":"l","30":"c","31":"o","32":"m","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 42:"} -{"level":"warn","message":"Skipped saving link 10: No full text extracted"} -{"level":"warn","message":"Skipped saving link 14: No full text extracted"} -{"level":"warn","message":"Skipped saving link 17: No full text extracted"} -{"level":"warn","message":"Skipped saving link 42: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 29:"} -{"level":"warn","message":"Skipped saving link 29: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://nn.labml.ai/transformers/gpt/, length: 57991"} -{"level":"info","message":"Successfully processed link: https://nn.labml.ai/transformers/gpt/"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 38:"} -{"level":"warn","message":"Skipped saving link 38: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 56:"} -{"level":"warn","message":"Skipped saving link 56: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 61:"} -{"level":"warn","message":"Skipped saving link 61: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 62:"} -{"level":"warn","message":"Skipped saving link 62: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 63:"} -{"level":"warn","message":"Skipped saving link 63: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 64:"} -{"level":"warn","message":"Skipped saving link 64: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Slaughterhouse-Five, length: 236321"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Starting to process 100 links without full text..."} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetching link: https://sivers.org/kimo"} -{"level":"info","message":"Fetching link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetching link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetching link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetching link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetching link: https://www.math3ma.com"} -{"level":"info","message":"Fetching link: https://sivers.org/slow"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetching link: "} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetching link: http://xroads.virginia.edu/~hyper/walden/hdt07.html"} -{"level":"info","message":"Fetching link: https://xkcd.com"} -{"level":"info","message":"Fetching link: test"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/hamming.html"} -{"level":"info","message":"Fetching link: https://www.youtube.com/watch?v=8S0FDjFBj8o"} -{"level":"info","message":"Fetching link: asdf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetching link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetching link: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1"} -{"level":"info","message":"Fetching link: http://paulgraham.com/cities.html"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetching link: https://en.wiktionary.org/wiki/upsert"} -{"level":"info","message":"Fetching link: https://pioneer.app"} -{"level":"info","message":"Fetching link: https://joininteract.com"} -{"level":"info","message":"Fetching link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetching link: https://www.firstactfund.com"} -{"level":"info","message":"Fetching link: https://www.workatastartup.com"} -{"level":"info","message":"Fetching link: http://hackersurfing.com"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetching link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetching link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetching link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetching link: https://www.media.mit.edu/posts/time-100-next-2019/"} -{"level":"info","message":"Fetching link: https://www.ycombinator.com/"} -{"level":"info","message":"Fetching link: https://mindbook.dev/shelf"} -{"level":"info","message":"Fetching link: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py"} -{"level":"info","message":"Fetching link: xkcd.com"} -{"level":"info","message":"Fetching link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetching link: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow"} -{"level":"info","message":"Fetching link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetching link: http://paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetching link: http://paulgraham.com/disc.html"} -{"level":"info","message":"Fetching link: http://paulgraham.com/noob.html"} -{"level":"info","message":"Fetching link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetching link: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18"} -{"level":"info","message":"Fetching link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong/bookshelf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetching link: https://mindbook.dev/bookshelf"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal/bookshelf"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetching link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetching link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetching link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetching link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetching link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetching link: http://paulgraham.com/hackernews.html"} -{"level":"info","message":"Fetching link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetching link: https://bubble.io/blog/empower-don-t-disrupt/"} -{"level":"info","message":"Fetching link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetching link: https://link.springer.com/article/10.3758/s13414-019-01760-1"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-019-0480-6"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full"} -{"level":"info","message":"Fetching link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/ncomms13276"} -{"level":"info","message":"Fetching link: https://science.sciencemag.org/content/346/6209/551"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/407007v2"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full#ref-44"} -{"level":"info","message":"Fetching link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41583-020-0277-3"} -{"level":"info","message":"Fetching link: https://montrealgazette.com/news/local-news/coronavirus-quebec-rental-board-suspends-eviction-hearings/"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.11.984757v1"} -{"level":"info","message":"Fetching link: https://arxiv.org/abs/2004.07580"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-020-0614-x"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N"} -{"level":"info","message":"Fetching link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetching link: https://www.facebook.com"} -{"level":"info","message":"Fetching link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetching link: https://www.messenger.com/t/daoud.piracha"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 10:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"t","26":"e","27":"s","28":"t","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 14:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"a","26":"s","27":"d","28":"f","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 17:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"x","26":"k","27":"c","28":"d","29":".","3":"l","30":"c","31":"o","32":"m","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 42:"} -{"level":"warn","message":"Skipped saving link 10: No full text extracted"} -{"level":"warn","message":"Skipped saving link 14: No full text extracted"} -{"level":"warn","message":"Skipped saving link 17: No full text extracted"} -{"level":"warn","message":"Skipped saving link 42: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 29:"} -{"level":"warn","message":"Skipped saving link 29: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 38:"} -{"level":"warn","message":"Skipped saving link 38: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://nn.labml.ai/transformers/gpt/, length: 57991"} -{"level":"info","message":"Successfully processed link: https://nn.labml.ai/transformers/gpt/"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 56:"} -{"level":"warn","message":"Skipped saving link 56: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 61:"} -{"level":"warn","message":"Skipped saving link 61: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 62:"} -{"level":"warn","message":"Skipped saving link 62: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 63:"} -{"level":"warn","message":"Skipped saving link 63: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 64:"} -{"level":"warn","message":"Skipped saving link 64: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://xkcd.com, length: 7333"} -{"level":"info","message":"Successfully processed link: https://xkcd.com"} -{"level":"info","message":"Fetched HTML content for: https://en.wiktionary.org/wiki/upsert, length: 34378"} -{"level":"warn","message":"Skipped saving link 25: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Slaughterhouse-Five, length: 236321"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetched HTML content for: https://arxiv.org/abs/2004.07580, length: 47340"} -{"level":"warn","message":"Skipped saving link 90: No full text extracted"} -{"level":"warn","message":"Skipped saving link 31: No full text extracted"} -{"level":"warn","message":"Skipped saving link 84: No full text extracted"} -{"level":"warn","message":"Skipped saving link 85: No full text extracted"} -{"level":"warn","message":"Skipped saving link 89: No full text extracted"} -{"level":"warn","message":"Skipped saving link 80: No full text extracted"} -{"level":"warn","message":"Skipped saving link 88: No full text extracted"} -{"level":"warn","message":"Skipped saving link 76: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.media.mit.edu/posts/time-100-next-2019/, length: 67207"} -{"level":"warn","message":"Skipped saving link 36: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Scott_Forstall, length: 183706"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetched HTML content for: https://pioneer.app, length: 30430"} -{"level":"info","message":"Successfully processed link: https://pioneer.app"} -{"level":"info","message":"Fetched HTML content for: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055, length: 44930"} -{"level":"info","message":"Successfully processed link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series), length: 363863"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Eris_(dwarf_planet), length: 415390"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetched HTML content for: https://danluu.com/sounds-easy, length: 14807"} -{"level":"info","message":"Successfully processed link: https://danluu.com/sounds-easy"} -{"level":"warn","message":"Skipped saving link 12: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1, length: 92885"} -{"level":"warn","message":"Skipped saving link 20: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html, length: 377386"} -{"level":"info","message":"Successfully processed link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetched HTML content for: https://joininteract.com, length: 34428"} -{"level":"info","message":"Successfully processed link: https://joininteract.com"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/funding-for-covid-19-projects, length: 18002"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetched HTML content for: https://www.math3ma.com, length: 243079"} -{"level":"info","message":"Successfully processed link: https://www.math3ma.com"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Sviatoslav_Richter, length: 249567"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/noob.html, length: 12533"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/ycstart.html, length: 14169"} -{"level":"info","message":"Successfully processed link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/makersschedule.html, length: 16855"} -{"level":"info","message":"Successfully processed link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/kimo, length: 5202"} -{"level":"info","message":"Successfully processed link: https://sivers.org/kimo"} -{"level":"info","message":"Fetched HTML content for: https://www.facebook.com, length: 56862"} -{"level":"warn","message":"Skipped saving link 100: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374, length: 94117"} -{"level":"info","message":"Successfully processed link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/disc.html, length: 7898"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/hackernews.html, length: 24290"} -{"level":"warn","message":"Skipped saving link 74: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/cities.html, length: 30263"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/West_Berlin, length: 368367"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/slow, length: 2699"} -{"level":"info","message":"Successfully processed link: https://sivers.org/slow"} -{"level":"info","message":"Fetched HTML content for: https://en.m.wikipedia.org/wiki/Special:Random, length: 118318"} -{"level":"info","message":"Successfully processed link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Skipping inaccessible PDF: http://www.math.lsa.umich.edu/~kesmith/infinite.pdf"} -{"level":"warn","message":"Skipped saving link 94: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/how-to-be-successful, length: 127401"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/hamming.html, length: 76513"} -{"level":"info","message":"Fetched HTML content for: https://www.npmjs.com/package/jhucsse.covid, length: 73190"} -{"level":"info","message":"Successfully processed link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetched HTML content for: https://www.workatastartup.com, length: 149617"} -{"level":"info","message":"Successfully processed link: https://www.workatastartup.com"} -{"level":"info","message":"Fetched HTML content for: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service, length: 249290"} -{"level":"info","message":"Successfully processed link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow, length: 91676"} -{"level":"warn","message":"Skipped saving link 44: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.mercatus.org/emergentventures, length: 103224"} -{"level":"info","message":"Successfully processed link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetched HTML content for: https://ghr.nlm.nih.gov/condition/huntington-disease, length: 41476"} -{"level":"info","message":"Successfully processed link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetched HTML content for: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d, length: 98158"} -{"level":"info","message":"Successfully processed link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetched HTML content for: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173, length: 76668"} -{"level":"info","message":"Successfully processed link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Alliance_90/The_Greens, length: 626894"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18, length: 78059"} -{"level":"warn","message":"Skipped saving link 54: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5, length: 89808"} -{"level":"info","message":"Successfully processed link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetched HTML content for: https://www.ycombinator.com/, length: 199514"} -{"level":"warn","message":"Skipped saving link 37: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.messenger.com/t/daoud.piracha, length: 184931"} -{"level":"warn","message":"Skipped saving link 102: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Berlin_Wall, length: 685708"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetched HTML content for: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle, length: 754187"} -{"level":"info","message":"Successfully processed link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetched HTML content for: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics, length: 151961"} -{"level":"info","message":"Successfully processed link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetched HTML content for: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627, length: 354626"} -{"level":"info","message":"Successfully processed link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetched HTML content for: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1, length: 504972"} -{"level":"info","message":"Successfully processed link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetched HTML content for: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner, length: 1041881"} -{"level":"info","message":"Successfully processed link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetched HTML content for: https://developer.chrome.com/extensions/getstarted, length: 136751"} -{"level":"info","message":"Successfully processed link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetched HTML content for: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3, length: 139318"} -{"level":"info","message":"Successfully processed link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Hamburg, length: 916594"} -{"level":"info","message":"Starting to process 100 links without full text..."} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetching link: https://sivers.org/kimo"} -{"level":"info","message":"Fetching link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetching link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetching link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetching link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetching link: https://www.math3ma.com"} -{"level":"info","message":"Fetching link: https://sivers.org/slow"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetching link: "} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetching link: http://xroads.virginia.edu/~hyper/walden/hdt07.html"} -{"level":"info","message":"Fetching link: https://xkcd.com"} -{"level":"info","message":"Fetching link: test"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/hamming.html"} -{"level":"info","message":"Fetching link: https://www.youtube.com/watch?v=8S0FDjFBj8o"} -{"level":"info","message":"Fetching link: asdf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetching link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetching link: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1"} -{"level":"info","message":"Fetching link: http://paulgraham.com/cities.html"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetching link: https://en.wiktionary.org/wiki/upsert"} -{"level":"info","message":"Fetching link: https://pioneer.app"} -{"level":"info","message":"Fetching link: https://joininteract.com"} -{"level":"info","message":"Fetching link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetching link: https://www.firstactfund.com"} -{"level":"info","message":"Fetching link: https://www.workatastartup.com"} -{"level":"info","message":"Fetching link: http://hackersurfing.com"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetching link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetching link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetching link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetching link: https://www.media.mit.edu/posts/time-100-next-2019/"} -{"level":"info","message":"Fetching link: https://www.ycombinator.com/"} -{"level":"info","message":"Fetching link: https://mindbook.dev/shelf"} -{"level":"info","message":"Fetching link: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py"} -{"level":"info","message":"Fetching link: xkcd.com"} -{"level":"info","message":"Fetching link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetching link: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow"} -{"level":"info","message":"Fetching link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetching link: http://paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetching link: http://paulgraham.com/disc.html"} -{"level":"info","message":"Fetching link: http://paulgraham.com/noob.html"} -{"level":"info","message":"Fetching link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetching link: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18"} -{"level":"info","message":"Fetching link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong/bookshelf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetching link: https://mindbook.dev/bookshelf"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal/bookshelf"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetching link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetching link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetching link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetching link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetching link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetching link: http://paulgraham.com/hackernews.html"} -{"level":"info","message":"Fetching link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetching link: https://bubble.io/blog/empower-don-t-disrupt/"} -{"level":"info","message":"Fetching link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetching link: https://link.springer.com/article/10.3758/s13414-019-01760-1"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-019-0480-6"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full"} -{"level":"info","message":"Fetching link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/ncomms13276"} -{"level":"info","message":"Fetching link: https://science.sciencemag.org/content/346/6209/551"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/407007v2"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full#ref-44"} -{"level":"info","message":"Fetching link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41583-020-0277-3"} -{"level":"info","message":"Fetching link: https://montrealgazette.com/news/local-news/coronavirus-quebec-rental-board-suspends-eviction-hearings/"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.11.984757v1"} -{"level":"info","message":"Fetching link: https://arxiv.org/abs/2004.07580"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-020-0614-x"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N"} -{"level":"info","message":"Fetching link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetching link: https://www.facebook.com"} -{"level":"info","message":"Fetching link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetching link: https://www.messenger.com/t/daoud.piracha"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 10:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"t","26":"e","27":"s","28":"t","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 14:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"a","26":"s","27":"d","28":"f","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 17:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"x","26":"k","27":"c","28":"d","29":".","3":"l","30":"c","31":"o","32":"m","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 42:"} -{"level":"warn","message":"Skipped saving link 10: No full text extracted"} -{"level":"warn","message":"Skipped saving link 14: No full text extracted"} -{"level":"warn","message":"Skipped saving link 17: No full text extracted"} -{"level":"warn","message":"Skipped saving link 42: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 29:"} -{"level":"warn","message":"Skipped saving link 29: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 38:"} -{"level":"warn","message":"Skipped saving link 38: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 56:"} -{"level":"warn","message":"Skipped saving link 56: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 61:"} -{"level":"warn","message":"Skipped saving link 61: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 62:"} -{"level":"warn","message":"Skipped saving link 62: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 63:"} -{"level":"warn","message":"Skipped saving link 63: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 64:"} -{"level":"warn","message":"Skipped saving link 64: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://nn.labml.ai/transformers/gpt/, length: 57991"} -{"level":"info","message":"Successfully processed link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetched HTML content for: https://xkcd.com, length: 7333"} -{"level":"info","message":"Successfully processed link: https://xkcd.com"} -{"level":"info","message":"Fetched HTML content for: https://en.wiktionary.org/wiki/upsert, length: 34378"} -{"level":"warn","message":"Skipped saving link 25: No full text extracted"} -{"level":"warn","message":"Skipped saving link 31: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1, length: 92885"} -{"level":"warn","message":"Skipped saving link 20: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://arxiv.org/abs/2004.07580, length: 47340"} -{"level":"warn","message":"Skipped saving link 90: No full text extracted"} -{"level":"warn","message":"Skipped saving link 89: No full text extracted"} -{"level":"warn","message":"Skipped saving link 80: No full text extracted"} -{"level":"warn","message":"Skipped saving link 84: No full text extracted"} -{"level":"warn","message":"Skipped saving link 85: No full text extracted"} -{"level":"warn","message":"Skipped saving link 88: No full text extracted"} -{"level":"warn","message":"Skipped saving link 76: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Slaughterhouse-Five, length: 236321"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetched HTML content for: https://pioneer.app, length: 30430"} -{"level":"info","message":"Successfully processed link: https://pioneer.app"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Scott_Forstall, length: 183706"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"warn","message":"Skipped saving link 12: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.media.mit.edu/posts/time-100-next-2019/, length: 67207"} -{"level":"warn","message":"Skipped saving link 36: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://joininteract.com, length: 34428"} -{"level":"info","message":"Successfully processed link: https://joininteract.com"} -{"level":"info","message":"Fetched HTML content for: https://danluu.com/sounds-easy, length: 14807"} -{"level":"info","message":"Successfully processed link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/funding-for-covid-19-projects, length: 18002"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetched HTML content for: https://en.m.wikipedia.org/wiki/Special:Random, length: 59425"} -{"level":"info","message":"Successfully processed link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series), length: 363863"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetched HTML content for: https://ghr.nlm.nih.gov/condition/huntington-disease, length: 41476"} -{"level":"info","message":"Successfully processed link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetched HTML content for: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html, length: 377386"} -{"level":"info","message":"Successfully processed link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Eris_(dwarf_planet), length: 415390"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/ycstart.html, length: 14169"} -{"level":"info","message":"Successfully processed link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetched HTML content for: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle, length: 753765"} -{"level":"info","message":"Successfully processed link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Sviatoslav_Richter, length: 249567"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetched HTML content for: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055, length: 44930"} -{"level":"info","message":"Successfully processed link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/hackernews.html, length: 24290"} -{"level":"warn","message":"Skipped saving link 74: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/noob.html, length: 12533"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/disc.html, length: 7898"} -{"level":"info","message":"Fetched HTML content for: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374, length: 94117"} -{"level":"info","message":"Successfully processed link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/slow, length: 2699"} -{"level":"info","message":"Successfully processed link: https://sivers.org/slow"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/kimo, length: 5202"} -{"level":"info","message":"Successfully processed link: https://sivers.org/kimo"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow, length: 91675"} -{"level":"warn","message":"Skipped saving link 44: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/cities.html, length: 30263"} -{"level":"info","message":"Fetched HTML content for: https://www.math3ma.com, length: 243079"} -{"level":"info","message":"Successfully processed link: https://www.math3ma.com"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/West_Berlin, length: 368367"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/makersschedule.html, length: 16855"} -{"level":"info","message":"Successfully processed link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: https://www.facebook.com, length: 56861"} -{"level":"warn","message":"Skipped saving link 100: No full text extracted"} -{"level":"info","message":"Skipping inaccessible PDF: http://www.math.lsa.umich.edu/~kesmith/infinite.pdf"} -{"level":"warn","message":"Skipped saving link 94: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.mercatus.org/emergentventures, length: 103224"} -{"level":"info","message":"Successfully processed link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/hamming.html, length: 76513"} -{"level":"info","message":"Fetched HTML content for: https://www.npmjs.com/package/jhucsse.covid, length: 73190"} -{"level":"info","message":"Successfully processed link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/how-to-be-successful, length: 127401"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetched HTML content for: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service, length: 249290"} -{"level":"info","message":"Successfully processed link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetched HTML content for: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d, length: 98158"} -{"level":"info","message":"Successfully processed link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetched HTML content for: https://www.workatastartup.com, length: 149617"} -{"level":"info","message":"Successfully processed link: https://www.workatastartup.com"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18, length: 78050"} -{"level":"warn","message":"Skipped saving link 54: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173, length: 76668"} -{"level":"info","message":"Successfully processed link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Starting to process 100 links without full text..."} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetching link: https://sivers.org/kimo"} -{"level":"info","message":"Fetching link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetching link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetching link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetching link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetching link: https://www.math3ma.com"} -{"level":"info","message":"Fetching link: https://sivers.org/slow"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetching link: "} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetching link: http://xroads.virginia.edu/~hyper/walden/hdt07.html"} -{"level":"info","message":"Fetching link: https://xkcd.com"} -{"level":"info","message":"Fetching link: test"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/hamming.html"} -{"level":"info","message":"Fetching link: https://www.youtube.com/watch?v=8S0FDjFBj8o"} -{"level":"info","message":"Fetching link: asdf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetching link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetching link: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1"} -{"level":"info","message":"Fetching link: http://paulgraham.com/cities.html"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetching link: https://en.wiktionary.org/wiki/upsert"} -{"level":"info","message":"Fetching link: https://pioneer.app"} -{"level":"info","message":"Fetching link: https://joininteract.com"} -{"level":"info","message":"Fetching link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetching link: https://www.firstactfund.com"} -{"level":"info","message":"Fetching link: https://www.workatastartup.com"} -{"level":"info","message":"Fetching link: http://hackersurfing.com"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetching link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetching link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetching link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetching link: https://www.media.mit.edu/posts/time-100-next-2019/"} -{"level":"info","message":"Fetching link: https://www.ycombinator.com/"} -{"level":"info","message":"Fetching link: https://mindbook.dev/shelf"} -{"level":"info","message":"Fetching link: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py"} -{"level":"info","message":"Fetching link: xkcd.com"} -{"level":"info","message":"Fetching link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetching link: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow"} -{"level":"info","message":"Fetching link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetching link: http://paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetching link: http://paulgraham.com/disc.html"} -{"level":"info","message":"Fetching link: http://paulgraham.com/noob.html"} -{"level":"info","message":"Fetching link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetching link: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18"} -{"level":"info","message":"Fetching link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong/bookshelf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetching link: https://mindbook.dev/bookshelf"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal/bookshelf"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetching link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetching link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetching link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetching link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetching link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetching link: http://paulgraham.com/hackernews.html"} -{"level":"info","message":"Fetching link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetching link: https://bubble.io/blog/empower-don-t-disrupt/"} -{"level":"info","message":"Fetching link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetching link: https://link.springer.com/article/10.3758/s13414-019-01760-1"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-019-0480-6"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full"} -{"level":"info","message":"Fetching link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/ncomms13276"} -{"level":"info","message":"Fetching link: https://science.sciencemag.org/content/346/6209/551"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/407007v2"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full#ref-44"} -{"level":"info","message":"Fetching link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41583-020-0277-3"} -{"level":"info","message":"Fetching link: https://montrealgazette.com/news/local-news/coronavirus-quebec-rental-board-suspends-eviction-hearings/"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.11.984757v1"} -{"level":"info","message":"Fetching link: https://arxiv.org/abs/2004.07580"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-020-0614-x"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N"} -{"level":"info","message":"Fetching link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetching link: https://www.facebook.com"} -{"level":"info","message":"Fetching link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetching link: https://www.messenger.com/t/daoud.piracha"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 10:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"t","26":"e","27":"s","28":"t","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 14:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"a","26":"s","27":"d","28":"f","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 17:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"x","26":"k","27":"c","28":"d","29":".","3":"l","30":"c","31":"o","32":"m","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 42:"} -{"level":"warn","message":"Skipped saving link 10: No full text extracted"} -{"level":"warn","message":"Skipped saving link 14: No full text extracted"} -{"level":"warn","message":"Skipped saving link 17: No full text extracted"} -{"level":"warn","message":"Skipped saving link 42: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 29:"} -{"level":"warn","message":"Skipped saving link 29: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 38:"} -{"level":"warn","message":"Skipped saving link 38: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 56:"} -{"level":"warn","message":"Skipped saving link 56: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 61:"} -{"level":"warn","message":"Skipped saving link 61: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 62:"} -{"level":"warn","message":"Skipped saving link 62: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 63:"} -{"level":"warn","message":"Skipped saving link 63: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 64:"} -{"level":"warn","message":"Skipped saving link 64: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wiktionary.org/wiki/upsert, length: 34378"} -{"level":"warn","message":"Skipped saving link 25: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://arxiv.org/abs/2004.07580, length: 47340"} -{"level":"warn","message":"Skipped saving link 90: No full text extracted"} -{"level":"warn","message":"Skipped saving link 84: No full text extracted"} -{"level":"warn","message":"Skipped saving link 85: No full text extracted"} -{"level":"warn","message":"Skipped saving link 80: No full text extracted"} -{"level":"warn","message":"Skipped saving link 89: No full text extracted"} -{"level":"warn","message":"Skipped saving link 31: No full text extracted"} -{"level":"warn","message":"Skipped saving link 76: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://xkcd.com, length: 7333"} -{"level":"info","message":"Successfully processed link: https://xkcd.com"} -{"level":"info","message":"Fetched HTML content for: https://nn.labml.ai/transformers/gpt/, length: 57991"} -{"level":"info","message":"Successfully processed link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetched HTML content for: https://pioneer.app, length: 30430"} -{"level":"info","message":"Successfully processed link: https://pioneer.app"} -{"level":"info","message":"Fetched HTML content for: https://danluu.com/sounds-easy, length: 14807"} -{"level":"info","message":"Successfully processed link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Scott_Forstall, length: 183706"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetched HTML content for: https://joininteract.com, length: 34428"} -{"level":"info","message":"Successfully processed link: https://joininteract.com"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/funding-for-covid-19-projects, length: 18002"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetched HTML content for: https://www.media.mit.edu/posts/time-100-next-2019/, length: 67207"} -{"level":"warn","message":"Skipped saving link 36: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055, length: 44930"} -{"level":"info","message":"Successfully processed link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Slaughterhouse-Five, length: 236321"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"warn","message":"Skipped saving link 12: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Sviatoslav_Richter, length: 249567"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/disc.html, length: 7898"} -{"level":"info","message":"Fetched HTML content for: https://www.facebook.com, length: 56864"} -{"level":"warn","message":"Skipped saving link 100: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.m.wikipedia.org/wiki/Special:Random, length: 59296"} -{"level":"info","message":"Successfully processed link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/ycstart.html, length: 14169"} -{"level":"info","message":"Successfully processed link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/makersschedule.html, length: 16855"} -{"level":"info","message":"Successfully processed link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/noob.html, length: 12533"} -{"level":"info","message":"Fetched HTML content for: https://www.math3ma.com, length: 243079"} -{"level":"info","message":"Successfully processed link: https://www.math3ma.com"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/hackernews.html, length: 24290"} -{"level":"warn","message":"Skipped saving link 74: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/cities.html, length: 30263"} -{"level":"info","message":"Fetched HTML content for: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle, length: 752736"} -{"level":"info","message":"Successfully processed link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Starting to process 100 links without full text..."} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetching link: https://sivers.org/kimo"} -{"level":"info","message":"Fetching link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetching link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetching link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetching link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetching link: https://www.math3ma.com"} -{"level":"info","message":"Fetching link: https://sivers.org/slow"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetching link: "} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetching link: http://xroads.virginia.edu/~hyper/walden/hdt07.html"} -{"level":"info","message":"Fetching link: https://xkcd.com"} -{"level":"info","message":"Fetching link: test"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/hamming.html"} -{"level":"info","message":"Fetching link: https://www.youtube.com/watch?v=8S0FDjFBj8o"} -{"level":"info","message":"Fetching link: asdf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetching link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetching link: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1"} -{"level":"info","message":"Fetching link: http://paulgraham.com/cities.html"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetching link: https://en.wiktionary.org/wiki/upsert"} -{"level":"info","message":"Fetching link: https://pioneer.app"} -{"level":"info","message":"Fetching link: https://joininteract.com"} -{"level":"info","message":"Fetching link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetching link: https://www.firstactfund.com"} -{"level":"info","message":"Fetching link: https://www.workatastartup.com"} -{"level":"info","message":"Fetching link: http://hackersurfing.com"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetching link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetching link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetching link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetching link: https://www.media.mit.edu/posts/time-100-next-2019/"} -{"level":"info","message":"Fetching link: https://www.ycombinator.com/"} -{"level":"info","message":"Fetching link: https://mindbook.dev/shelf"} -{"level":"info","message":"Fetching link: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py"} -{"level":"info","message":"Fetching link: xkcd.com"} -{"level":"info","message":"Fetching link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetching link: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow"} -{"level":"info","message":"Fetching link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetching link: http://paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetching link: http://paulgraham.com/disc.html"} -{"level":"info","message":"Fetching link: http://paulgraham.com/noob.html"} -{"level":"info","message":"Fetching link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetching link: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18"} -{"level":"info","message":"Fetching link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong/bookshelf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetching link: https://mindbook.dev/bookshelf"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal/bookshelf"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetching link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetching link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetching link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetching link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetching link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetching link: http://paulgraham.com/hackernews.html"} -{"level":"info","message":"Fetching link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetching link: https://bubble.io/blog/empower-don-t-disrupt/"} -{"level":"info","message":"Fetching link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetching link: https://link.springer.com/article/10.3758/s13414-019-01760-1"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-019-0480-6"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full"} -{"level":"info","message":"Fetching link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/ncomms13276"} -{"level":"info","message":"Fetching link: https://science.sciencemag.org/content/346/6209/551"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/407007v2"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full#ref-44"} -{"level":"info","message":"Fetching link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41583-020-0277-3"} -{"level":"info","message":"Fetching link: https://montrealgazette.com/news/local-news/coronavirus-quebec-rental-board-suspends-eviction-hearings/"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.11.984757v1"} -{"level":"info","message":"Fetching link: https://arxiv.org/abs/2004.07580"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-020-0614-x"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N"} -{"level":"info","message":"Fetching link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetching link: https://www.facebook.com"} -{"level":"info","message":"Fetching link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetching link: https://www.messenger.com/t/daoud.piracha"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 10:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"t","26":"e","27":"s","28":"t","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 14:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"a","26":"s","27":"d","28":"f","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 17:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"x","26":"k","27":"c","28":"d","29":".","3":"l","30":"c","31":"o","32":"m","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 42:"} -{"level":"warn","message":"Skipped saving link 10: No full text extracted"} -{"level":"warn","message":"Skipped saving link 14: No full text extracted"} -{"level":"warn","message":"Skipped saving link 17: No full text extracted"} -{"level":"warn","message":"Skipped saving link 42: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 29:"} -{"level":"warn","message":"Skipped saving link 29: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 38:"} -{"level":"warn","message":"Skipped saving link 38: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 56:"} -{"level":"warn","message":"Skipped saving link 56: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 61:"} -{"level":"warn","message":"Skipped saving link 61: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 62:"} -{"level":"warn","message":"Skipped saving link 62: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 63:"} -{"level":"warn","message":"Skipped saving link 63: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 64:"} -{"level":"warn","message":"Skipped saving link 64: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://nn.labml.ai/transformers/gpt/, length: 57991"} -{"level":"info","message":"Successfully processed link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetched HTML content for: https://xkcd.com, length: 7333"} -{"level":"info","message":"Successfully processed link: https://xkcd.com"} -{"level":"warn","message":"Skipped saving link 31: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wiktionary.org/wiki/upsert, length: 34378"} -{"level":"warn","message":"Skipped saving link 25: No full text extracted"} -{"level":"warn","message":"Skipped saving link 89: No full text extracted"} -{"level":"warn","message":"Skipped saving link 80: No full text extracted"} -{"level":"warn","message":"Skipped saving link 84: No full text extracted"} -{"level":"warn","message":"Skipped saving link 85: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Slaughterhouse-Five, length: 236321"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetched HTML content for: https://arxiv.org/abs/2004.07580, length: 47340"} -{"level":"warn","message":"Skipped saving link 90: No full text extracted"} -{"level":"warn","message":"Skipped saving link 88: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://pioneer.app, length: 30430"} -{"level":"info","message":"Successfully processed link: https://pioneer.app"} -{"level":"warn","message":"Skipped saving link 76: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Scott_Forstall, length: 183706"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetched HTML content for: https://www.media.mit.edu/posts/time-100-next-2019/, length: 67207"} -{"level":"warn","message":"Skipped saving link 36: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/funding-for-covid-19-projects, length: 18002"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetched HTML content for: https://danluu.com/sounds-easy, length: 14807"} -{"level":"info","message":"Successfully processed link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Sviatoslav_Richter, length: 249567"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetched HTML content for: https://joininteract.com, length: 34428"} -{"level":"info","message":"Successfully processed link: https://joininteract.com"} -{"level":"info","message":"Fetched HTML content for: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055, length: 44930"} -{"level":"info","message":"Successfully processed link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"warn","message":"Skipped saving link 12: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Eris_(dwarf_planet), length: 415390"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series), length: 363863"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/ycstart.html, length: 14169"} -{"level":"info","message":"Successfully processed link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/disc.html, length: 7898"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/noob.html, length: 12533"} -{"level":"info","message":"Fetched HTML content for: https://www.npmjs.com/package/jhucsse.covid, length: 73190"} -{"level":"info","message":"Successfully processed link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetched HTML content for: https://ghr.nlm.nih.gov/condition/huntington-disease, length: 41476"} -{"level":"info","message":"Successfully processed link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/makersschedule.html, length: 16855"} -{"level":"info","message":"Successfully processed link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetched HTML content for: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1, length: 92885"} -{"level":"warn","message":"Skipped saving link 20: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/West_Berlin, length: 368367"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/hackernews.html, length: 24290"} -{"level":"warn","message":"Skipped saving link 74: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/cities.html, length: 30263"} -{"level":"info","message":"Fetched HTML content for: https://www.math3ma.com, length: 243079"} -{"level":"info","message":"Successfully processed link: https://www.math3ma.com"} -{"level":"info","message":"Fetched HTML content for: https://www.facebook.com, length: 56862"} -{"level":"warn","message":"Skipped saving link 100: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/slow, length: 2699"} -{"level":"info","message":"Successfully processed link: https://sivers.org/slow"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/kimo, length: 5202"} -{"level":"info","message":"Successfully processed link: https://sivers.org/kimo"} -{"level":"info","message":"Fetched HTML content for: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service, length: 249290"} -{"level":"info","message":"Successfully processed link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/hamming.html, length: 76513"} -{"level":"info","message":"Fetched HTML content for: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html, length: 377386"} -{"level":"info","message":"Successfully processed link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetched HTML content for: https://www.mercatus.org/emergentventures, length: 103224"} -{"level":"info","message":"Successfully processed link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetched HTML content for: https://www.workatastartup.com, length: 149617"} -{"level":"info","message":"Successfully processed link: https://www.workatastartup.com"} -{"level":"info","message":"Fetched HTML content for: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d, length: 98158"} -{"level":"info","message":"Successfully processed link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetched HTML content for: https://en.m.wikipedia.org/wiki/Special:Random, length: 79138"} -{"level":"info","message":"Skipping inaccessible PDF: http://www.math.lsa.umich.edu/~kesmith/infinite.pdf"} -{"level":"warn","message":"Skipped saving link 94: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow, length: 91380"} -{"level":"warn","message":"Skipped saving link 44: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374, length: 94117"} -{"level":"info","message":"Successfully processed link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/how-to-be-successful, length: 127401"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Alliance_90/The_Greens, length: 626894"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetched HTML content for: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle, length: 752770"} -{"level":"info","message":"Successfully processed link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetched HTML content for: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1, length: 504972"} -{"level":"info","message":"Successfully processed link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18, length: 78063"} -{"level":"warn","message":"Skipped saving link 54: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173, length: 76667"} -{"level":"info","message":"Successfully processed link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Berlin_Wall, length: 685708"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetched HTML content for: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5, length: 89808"} -{"level":"info","message":"Successfully processed link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetched HTML content for: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics, length: 151961"} -{"level":"info","message":"Successfully processed link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetched HTML content for: https://www.ycombinator.com/, length: 199514"} -{"level":"warn","message":"Skipped saving link 37: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.messenger.com/t/daoud.piracha, length: 184918"} -{"level":"warn","message":"Skipped saving link 102: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627, length: 354626"} -{"level":"info","message":"Successfully processed link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Starting to process 100 links without full text..."} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetching link: https://sivers.org/kimo"} -{"level":"info","message":"Fetching link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetching link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetching link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetching link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetching link: https://www.math3ma.com"} -{"level":"info","message":"Fetching link: https://sivers.org/slow"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetching link: "} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"info","message":"Fetching link: http://xroads.virginia.edu/~hyper/walden/hdt07.html"} -{"level":"info","message":"Fetching link: https://xkcd.com"} -{"level":"info","message":"Fetching link: test"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/hamming.html"} -{"level":"info","message":"Fetching link: https://www.youtube.com/watch?v=8S0FDjFBj8o"} -{"level":"info","message":"Fetching link: asdf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetching link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetching link: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1"} -{"level":"info","message":"Fetching link: http://paulgraham.com/cities.html"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetching link: https://en.wiktionary.org/wiki/upsert"} -{"level":"info","message":"Fetching link: https://pioneer.app"} -{"level":"info","message":"Fetching link: https://joininteract.com"} -{"level":"info","message":"Fetching link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetching link: https://www.firstactfund.com"} -{"level":"info","message":"Fetching link: https://www.workatastartup.com"} -{"level":"info","message":"Fetching link: http://hackersurfing.com"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetching link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetching link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetching link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetching link: https://www.media.mit.edu/posts/time-100-next-2019/"} -{"level":"info","message":"Fetching link: https://www.ycombinator.com/"} -{"level":"info","message":"Fetching link: https://mindbook.dev/shelf"} -{"level":"info","message":"Fetching link: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py"} -{"level":"info","message":"Fetching link: xkcd.com"} -{"level":"info","message":"Fetching link: https://en.m.wikipedia.org/wiki/Special:Random"} -{"level":"info","message":"Fetching link: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow"} -{"level":"info","message":"Fetching link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetching link: http://paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetching link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetching link: http://www.paulgraham.com/know.html"} -{"level":"info","message":"Fetching link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetching link: http://paulgraham.com/disc.html"} -{"level":"info","message":"Fetching link: http://paulgraham.com/noob.html"} -{"level":"info","message":"Fetching link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetching link: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18"} -{"level":"info","message":"Fetching link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong/bookshelf"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetching link: https://mindbook.dev/bookshelf"} -{"level":"info","message":"Fetching link: https://mindbook.dev/marley-xiong"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal"} -{"level":"info","message":"Fetching link: https://mindbook.dev/nikhil-khansal/bookshelf"} -{"level":"info","message":"Fetching link: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8"} -{"level":"info","message":"Fetching link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetching link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetching link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetching link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetching link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetching link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetching link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetching link: http://paulgraham.com/hackernews.html"} -{"level":"info","message":"Fetching link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetching link: https://bubble.io/blog/empower-don-t-disrupt/"} -{"level":"info","message":"Fetching link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetching link: https://link.springer.com/article/10.3758/s13414-019-01760-1"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-019-0480-6"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full"} -{"level":"info","message":"Fetching link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/ncomms13276"} -{"level":"info","message":"Fetching link: https://science.sciencemag.org/content/346/6209/551"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/407007v2"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.30.015511v1.full#ref-44"} -{"level":"info","message":"Fetching link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41583-020-0277-3"} -{"level":"info","message":"Fetching link: https://montrealgazette.com/news/local-news/coronavirus-quebec-rental-board-suspends-eviction-hearings/"} -{"level":"info","message":"Fetching link: https://www.biorxiv.org/content/10.1101/2020.03.11.984757v1"} -{"level":"info","message":"Fetching link: https://arxiv.org/abs/2004.07580"} -{"level":"info","message":"Fetching link: https://www.nature.com/articles/s41593-020-0614-x"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL"} -{"level":"info","message":"Fetching link: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N"} -{"level":"info","message":"Fetching link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetching link: https://www.facebook.com"} -{"level":"info","message":"Fetching link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetching link: https://www.messenger.com/t/daoud.piracha"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 10:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"t","26":"e","27":"s","28":"t","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 14:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"a","26":"s","27":"d","28":"f","3":"l","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 17:"} -{"0":"F","1":"a","10":"p","11":"a","12":"r","13":"s","14":"e","15":" ","16":"U","17":"R","18":"L","19":" ","2":"i","20":"f","21":"r","22":"o","23":"m","24":" ","25":"x","26":"k","27":"c","28":"d","29":".","3":"l","30":"c","31":"o","32":"m","4":"e","5":"d","6":" ","7":"t","8":"o","9":" ","level":"error","message":"Error processing HTML link 42:"} -{"level":"warn","message":"Skipped saving link 10: No full text extracted"} -{"level":"warn","message":"Skipped saving link 14: No full text extracted"} -{"level":"warn","message":"Skipped saving link 17: No full text extracted"} -{"level":"warn","message":"Skipped saving link 42: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 29:"} -{"level":"warn","message":"Skipped saving link 29: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 38:"} -{"level":"warn","message":"Skipped saving link 38: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 56:"} -{"level":"warn","message":"Skipped saving link 56: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 61:"} -{"level":"warn","message":"Skipped saving link 61: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 62:"} -{"level":"warn","message":"Skipped saving link 62: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 63:"} -{"level":"warn","message":"Skipped saving link 63: No full text extracted"} -{"0":"f","1":"e","10":"e","11":"d","2":"t","3":"c","4":"h","5":" ","6":"f","7":"a","8":"i","9":"l","level":"error","message":"Error processing HTML link 64:"} -{"level":"warn","message":"Skipped saving link 64: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://arxiv.org/abs/2004.07580, length: 47340"} -{"level":"warn","message":"Skipped saving link 90: No full text extracted"} -{"level":"warn","message":"Skipped saving link 80: No full text extracted"} -{"level":"warn","message":"Skipped saving link 31: No full text extracted"} -{"level":"warn","message":"Skipped saving link 76: No full text extracted"} -{"level":"warn","message":"Skipped saving link 88: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wiktionary.org/wiki/upsert, length: 34378"} -{"level":"warn","message":"Skipped saving link 25: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://xkcd.com, length: 7333"} -{"level":"info","message":"Successfully processed link: https://xkcd.com"} -{"level":"warn","message":"Skipped saving link 84: No full text extracted"} -{"level":"warn","message":"Skipped saving link 85: No full text extracted"} -{"level":"warn","message":"Skipped saving link 89: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://nn.labml.ai/transformers/gpt/, length: 57991"} -{"level":"info","message":"Successfully processed link: https://nn.labml.ai/transformers/gpt/"} -{"level":"info","message":"Fetched HTML content for: https://pioneer.app, length: 30430"} -{"level":"info","message":"Successfully processed link: https://pioneer.app"} -{"level":"info","message":"Fetched HTML content for: https://www.media.mit.edu/posts/time-100-next-2019/, length: 67207"} -{"level":"warn","message":"Skipped saving link 36: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://danluu.com/sounds-easy, length: 14807"} -{"level":"info","message":"Successfully processed link: https://danluu.com/sounds-easy"} -{"level":"info","message":"Fetched HTML content for: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055, length: 44930"} -{"level":"info","message":"Successfully processed link: https://www.freecodecamp.org/news/how-to-integrate-maps-in-react-native-using-react-native-maps-5745490fe055"} -{"level":"info","message":"Fetched HTML content for: https://joininteract.com, length: 34428"} -{"level":"info","message":"Successfully processed link: https://joininteract.com"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Scott_Forstall, length: 183706"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Scott_Forstall"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/funding-for-covid-19-projects, length: 18002"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/funding-for-covid-19-projects"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Slaughterhouse-Five, length: 236321"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Slaughterhouse-Five"} -{"level":"warn","message":"Skipped saving link 12: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://ghr.nlm.nih.gov/condition/huntington-disease, length: 41476"} -{"level":"info","message":"Successfully processed link: https://ghr.nlm.nih.gov/condition/huntington-disease"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Sviatoslav_Richter, length: 249567"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Sviatoslav_Richter"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/disc.html, length: 7898"} -{"level":"info","message":"Fetched HTML content for: https://en.m.wikipedia.org/wiki/Special:Random, length: 43693"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/ycstart.html, length: 14169"} -{"level":"info","message":"Successfully processed link: http://paulgraham.com/ycstart.html"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/know.html, length: 10410"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/noob.html, length: 12533"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/makersschedule.html, length: 16855"} -{"level":"info","message":"Successfully processed link: http://www.paulgraham.com/makersschedule.html"} -{"level":"info","message":"Fetched HTML content for: https://www.figma.com/file/xYn5NPcsSc3FdD8CV2eq6p/Personal-Page?node-id=0%3A1, length: 92885"} -{"level":"warn","message":"Skipped saving link 20: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.math3ma.com, length: 243079"} -{"level":"info","message":"Successfully processed link: https://www.math3ma.com"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/cities.html, length: 30263"} -{"level":"info","message":"Skipping inaccessible PDF: http://www.math.lsa.umich.edu/~kesmith/infinite.pdf"} -{"level":"warn","message":"Skipped saving link 94: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series), length: 363863"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"} -{"level":"info","message":"Fetched HTML content for: https://www.npmjs.com/package/jhucsse.covid, length: 73190"} -{"level":"info","message":"Successfully processed link: https://www.npmjs.com/package/jhucsse.covid"} -{"level":"info","message":"Fetched HTML content for: http://paulgraham.com/hackernews.html, length: 24290"} -{"level":"warn","message":"Skipped saving link 74: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/slow, length: 2699"} -{"level":"info","message":"Successfully processed link: https://sivers.org/slow"} -{"level":"info","message":"Fetched HTML content for: https://sivers.org/kimo, length: 5202"} -{"level":"info","message":"Successfully processed link: https://sivers.org/kimo"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/West_Berlin, length: 368367"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/West_Berlin"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Eris_(dwarf_planet), length: 415390"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Eris_(dwarf_planet)"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/What-was-your-path-toward-learning-ML-What-books-did-you-enjoy-most-while-learning-ML-What-were-the-blind-alleys/answer/Ian-Goodfellow, length: 91651"} -{"level":"warn","message":"Skipped saving link 44: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.facebook.com, length: 56863"} -{"level":"warn","message":"Skipped saving link 100: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: http://www.paulgraham.com/hamming.html, length: 76513"} -{"level":"info","message":"Fetched HTML content for: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle, length: 753150"} -{"level":"info","message":"Successfully processed link: https://www.goodreads.com/book/show/11275.The_Wind_Up_Bird_Chronicle"} -{"level":"info","message":"Fetched HTML content for: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service, length: 249290"} -{"level":"info","message":"Successfully processed link: https://www.eugenewei.com/blog/2019/2/19/status-as-a-service"} -{"level":"info","message":"Fetched HTML content for: https://www.mercatus.org/emergentventures, length: 103224"} -{"level":"info","message":"Successfully processed link: https://www.mercatus.org/emergentventures"} -{"level":"info","message":"Fetched HTML content for: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1, length: 504972"} -{"level":"info","message":"Successfully processed link: https://www.forbes.com/sites/bizcarson/2019/01/18/an-early-facebook-investor-is-creating-a-scouting-network-for-brilliant-engineers/?fbclid=IwAR02kFzhx4IGCQV3VTP3XRcBVN0hhu-xuy1d-88kB6CYeLqvwwExBbmuYf4#64e4cb0018e1"} -{"level":"info","message":"Fetched HTML content for: https://www.workatastartup.com, length: 149617"} -{"level":"info","message":"Successfully processed link: https://www.workatastartup.com"} -{"level":"info","message":"Fetched HTML content for: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374, length: 94117"} -{"level":"info","message":"Successfully processed link: https://zora.medium.com/what-i-saw-at-the-values-voter-summit-b072f77c8374"} -{"level":"info","message":"Fetched HTML content for: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d, length: 98158"} -{"level":"info","message":"Successfully processed link: https://onezero.medium.com/apple-has-been-gaslighting-us-for-years-f72ccb1ef27d"} -{"level":"info","message":"Fetched HTML content for: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html, length: 377386"} -{"level":"info","message":"Successfully processed link: https://www.nytimes.com/2018/04/11/magazine/black-mothers-babies-death-maternal-mortality.html"} -{"level":"info","message":"Fetched HTML content for: https://www.quora.com/Aside-from-a-tan-why-does-Ariana-Grandes-face-look-so-different/answer/Deena-Jones-18, length: 78021"} -{"level":"warn","message":"Skipped saving link 54: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://blog.samaltman.com/how-to-be-successful, length: 127401"} -{"level":"info","message":"Successfully processed link: https://blog.samaltman.com/how-to-be-successful"} -{"level":"info","message":"Fetched HTML content for: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5, length: 89808"} -{"level":"info","message":"Successfully processed link: https://medium.com/@cjmacdonald_14717/dare-to-suck-a437494682a5"} -{"level":"info","message":"Fetched HTML content for: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173, length: 76668"} -{"level":"info","message":"Successfully processed link: https://www.annualreviews.org/doi/abs/10.1146/annurev.psych.47.1.173"} -{"level":"info","message":"Fetched HTML content for: https://www.messenger.com/t/daoud.piracha, length: 184925"} -{"level":"warn","message":"Skipped saving link 102: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Alliance_90/The_Greens, length: 626894"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Alliance_90/The_Greens"} -{"level":"info","message":"Fetched HTML content for: https://www.ycombinator.com/, length: 199514"} -{"level":"warn","message":"Skipped saving link 37: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Berlin_Wall, length: 685708"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Berlin_Wall"} -{"level":"info","message":"Fetched HTML content for: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics, length: 151961"} -{"level":"info","message":"Successfully processed link: https://longitudinal.blog/2019/01/01/on-whole-mammalian-brain-connectomics"} -{"level":"info","message":"Fetched HTML content for: https://elifesciences.org/articles/22901, length: 724636"} -{"level":"info","message":"Successfully processed link: https://elifesciences.org/articles/22901"} -{"level":"info","message":"Fetched HTML content for: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627, length: 354626"} -{"level":"info","message":"Successfully processed link: https://www.quantamagazine.org/a-path-less-taken-to-the-peak-of-the-math-world-20170627"} -{"level":"info","message":"Fetched HTML content for: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=gm0p2LaP3HTL, length: 87193"} -{"level":"warn","message":"Skipped saving link 97: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google, length: 464259"} -{"level":"info","message":"Successfully processed link: https://www.invisionapp.com/inside-design/designing-in-the-material-style-without-just-copying-google"} -{"level":"info","message":"Fetched HTML content for: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3, length: 139188"} -{"level":"info","message":"Successfully processed link: https://medium.com/better-programming/incorporating-apple-maps-with-autocomplete-in-a-react-native-application-31b56befef3"} -{"level":"info","message":"Fetched HTML content for: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c, length: 181868"} -{"level":"info","message":"Successfully processed link: https://medium.com/@gajus/stop-using-knex-js-and-earn-30-bf410349856c"} -{"level":"info","message":"Fetched HTML content for: https://en.wikipedia.org/wiki/Hamburg, length: 916594"} -{"level":"info","message":"Successfully processed link: https://en.wikipedia.org/wiki/Hamburg"} -{"level":"info","message":"Fetched HTML content for: https://www.robinwieruch.de/react-hooks-fetch-data, length: 462246"} -{"level":"info","message":"Successfully processed link: https://www.robinwieruch.de/react-hooks-fetch-data"} -{"level":"info","message":"Fetched HTML content for: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=ZDozOXTsPrL8, length: 87208"} -{"level":"warn","message":"Skipped saving link 96: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://github.com/geek-ai/magent, length: 346507"} -{"level":"info","message":"Successfully processed link: https://github.com/geek-ai/magent"} -{"level":"info","message":"Fetched HTML content for: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner, length: 1041881"} -{"level":"info","message":"Successfully processed link: https://www.newyorker.com/news/news-desk/curiosity-and-the-prisoner"} -{"level":"info","message":"Fetched HTML content for: https://developer.chrome.com/extensions/manifest/icons, length: 120555"} -{"level":"info","message":"Successfully processed link: https://developer.chrome.com/extensions/manifest/icons"} -{"level":"info","message":"Fetched HTML content for: https://github.com/shariqiqbal2810/MAAC/blob/master/algorithms/attention_sac.py, length: 514745"} -{"level":"warn","message":"Skipped saving link 39: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership, length: 244556"} -{"level":"info","message":"Successfully processed link: https://time.com/5803225/yuval-noah-harari-coronavirus-humanity-leadership"} -{"level":"info","message":"Fetched HTML content for: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg, length: 87210"} -{"level":"warn","message":"Skipped saving link 95: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://colab.research.google.com/drive/1_SoZlLYR2n4Eso6F93WFn_GhjLwfDKvg#scrollTo=VFKrOuHIMk6N, length: 87198"} -{"level":"warn","message":"Skipped saving link 98: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://developer.chrome.com/extensions/getstarted, length: 132905"} -{"level":"info","message":"Successfully processed link: https://developer.chrome.com/extensions/getstarted"} -{"level":"info","message":"Fetched HTML content for: https://developers.google.com/maps/documentation/javascript/get-api-key, length: 256442"} -{"level":"info","message":"Successfully processed link: https://developers.google.com/maps/documentation/javascript/get-api-key"} -{"level":"info","message":"Fetched HTML content for: https://www.google.com/search?q=steven+tyler+aerosmith&rlz=1C5CHFA_enCA886CA886&oq=steven+tyler+aerosmith&aqs=chrome..69i57j46j0l6.3135j1j1&sourceid=chrome&ie=UTF-8, length: 173759"} -{"level":"warn","message":"Skipped saving link 65: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.google.com/search?q=upsert+meaning&oq=upsert+meaning&aqs=chrome..69i57j0l5.2159j0j4&sourceid=chrome&ie=UTF-8, length: 140877"} -{"level":"warn","message":"Skipped saving link 23: No full text extracted"} -{"level":"info","message":"Fetched HTML content for: https://www.nature.com/articles/s41593-019-0480-6, length: 507689"}