migrate popular reads into database

This commit is contained in:
Hongbo Wu
2023-10-20 14:31:16 +08:00
parent 4e36a5809e
commit 6618a6ed19
19 changed files with 10007 additions and 10067 deletions

View File

@ -17,4 +17,46 @@ export const libraryItemRepository = appDataSource
countByCreatedAt(createdAt: Date) {
return this.countBy({ createdAt })
},
createByPopularRead(name: string, userId: string) {
return this.query(
`
INSERT INTO omnivore.library_item (
slug,
readable_content,
original_content,
description,
title,
author,
original_url,
item_type,
thumbnail,
published_at,
site_name,
user_id,
word_count
)
SELECT
slug,
readable_content,
original_content,
description,
title,
author,
original_url,
$1,
thumbnail,
published_at,
site_name,
$2,
word_count
FROM
omnivore.popular_read
WHERE
key = $3
RETURNING *
`,
['ARTICLE', userId, name]
) as Promise<LibraryItem[]>
},
})

View File

@ -11,12 +11,12 @@ export const addPopularReadResolver = authorized<
AddPopularReadError,
MutationAddPopularReadArgs
>(async (_, { name }, { uid }) => {
const item = await addPopularRead(uid, name)
if (!item) {
const items = await addPopularRead(uid, name)
if (items.length === 0) {
return { errorCodes: [AddPopularReadErrorCode.NotFound] }
}
return {
pageId: item.id,
pageId: items[0].id,
}
})

View File

@ -1,93 +1,23 @@
import * as httpContext from 'express-http-context2'
import { readFileSync } from 'fs'
import path from 'path'
import { DeepPartial, EntityManager } from 'typeorm'
import { EntityManager } from 'typeorm'
import { appDataSource } from '../data_source'
import { LibraryItem } from '../entity/library_item'
import { PageType } from '../generated/graphql'
import { authTrx } from '../repository'
import { libraryItemRepository } from '../repository/library_item'
import { generateSlug, stringToHash, wordsCount } from '../utils/helpers'
import { logger } from '../utils/logger'
import { createLibraryItem } from './library_item'
type PopularRead = {
url: string
title: string
author: string
description: string
previewImage?: string
publishedAt: Date
siteName: string
content: string
originalHtml: string
}
const popularRead = (key: string): PopularRead | undefined => {
const metadata = popularReads.find((pr) => pr.key === key)
if (!metadata) {
return undefined
}
try {
const content = readFileSync(
path.resolve(__dirname, `popular_reads/${key}-content.html`),
'utf8'
)
const originalHtml = readFileSync(
path.resolve(__dirname, `./popular_reads/${key}-original.html`),
'utf8'
)
if (!content || !originalHtml) {
return undefined
}
return {
...metadata,
content,
originalHtml,
}
} catch (e) {
logger.info('error adding popular read', e)
return undefined
}
}
const popularReadToLibraryItem = (
export const addPopularRead = async (
userId: string,
name: string,
userId: string
): DeepPartial<LibraryItem> | null => {
const pr = popularRead(name)
if (!pr) {
return null
}
return {
slug: generateSlug(pr.title),
readableContent: pr.content,
originalContent: pr.originalHtml,
description: pr.description,
title: pr.title,
author: pr.author,
originalUrl: pr.url,
itemType: PageType.Article,
textContentHash: stringToHash(pr.content),
thumbnail: pr.previewImage,
publishedAt: pr.publishedAt,
siteName: pr.siteName,
user: { id: userId },
wordCount: wordsCount(pr.content),
}
}
export const addPopularRead = async (userId: string, name: string) => {
const itemToSave = popularReadToLibraryItem(name, userId)
if (!itemToSave) {
return null
}
return createLibraryItem(itemToSave, userId)
entityManager?: EntityManager
) => {
return authTrx(
async (tx) =>
tx
.withRepository(libraryItemRepository)
.createByPopularRead(name, userId),
entityManager,
userId
)
}
const addPopularReads = async (
@ -95,15 +25,15 @@ const addPopularReads = async (
userId: string,
entityManager: EntityManager
) => {
const libraryItems = names
.map((name) => popularReadToLibraryItem(name, userId))
.filter((pr) => pr !== null) as DeepPartial<LibraryItem>[]
return authTrx(
async (tx) => tx.withRepository(libraryItemRepository).save(libraryItems),
entityManager,
userId
)
// insert one by one to ensure that the order is preserved
for (const name of names) {
try {
await addPopularRead(userId, name, entityManager)
} catch (error) {
logger.error('failed to add popular read', error)
continue
}
}
}
export const addPopularReadsForNewUser = async (
@ -132,81 +62,3 @@ export const addPopularReadsForNewUser = async (
defaultReads.push('omnivore_get_started')
await addPopularReads(defaultReads, userId, em)
}
const popularReads = [
{
key: 'omnivore_get_started',
url: 'https://blog.omnivore.app/p/getting-started-with-omnivore',
title: 'Getting Started with Omnivore',
author: 'The Omnivore Team',
description: 'Get the most out of Omnivore by learning how to use it.',
previewImage:
'https://proxy-prod.omnivore-image-cache.app/320x320,sxQnqya1QNApB7ZAGPj9K20AU6sw0UAnjmAIy2ub8hUU/https://substackcdn.com/image/fetch/w_1200,h_600,c_fill,f_jpg,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F658efff4-341a-4720-8cf6-9b2bdbedfaa7_800x668.gif',
publishedAt: new Date('2021-10-13'),
siteName: 'Omnivore Blog',
},
{
key: 'omnivore_ios',
url: 'https://blog.omnivore.app/p/saving-links-from-your-iphone-or',
title: 'Saving Links from Your iPhone or iPad',
author: 'Omnivore',
description: 'Learn how to save articles on iOS.',
previewImage:
'https://proxy-prod.omnivore-image-cache.app/320x320,sWDfv7sARTIdAlx6Rw_6t-QwL3T9aniEJRa1-jVaglNg/https://substackcdn.com/image/youtube/w_728,c_limit/k6RkIqepAig',
publishedAt: new Date('2021-10-19'),
siteName: 'Omnivore Blog',
},
{
key: 'omnivore_organize',
url: 'https://blog.omnivore.app/p/organize-your-omnivore-library-with',
title: 'Organize your Omnivore library with labels',
author: 'The Omnivore Team',
description: 'Use labels to organize your Omnivore library.',
previewImage:
'https://proxy-prod.omnivore-image-cache.app/320x320,sTgJ5Q0XIg_EHdmPWcxtXFmkjn8T6hkJt7S9ziClagYo/https://substackcdn.com/image/fetch/w_1200,h_600,c_fill,f_jpg,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf07af7-5cdb-4ecc-aace-1a46de3e9c58_1827x1090.png',
publishedAt: new Date('2022-04-18'),
siteName: 'Omnivore Blog',
},
{
key: 'rlove_carnitas',
url: 'https://medium.com/@rlove/carnitas-ff0ef1044ae9',
title: 'Slow-Braised Carnitas Recipe',
author: 'Robert Love',
description:
'Carnitas is a wonderful Mexican dish, pork shoulder cooked until tender and then given a great crisp. In Mexico, carnitas is eaten on its own, in tacos, or in tortas. This is not an authentic recipe.',
previewImage:
'https://proxy-prod.omnivore-image-cache.app/88x88,sIcDXt3Ar0baKG1e1Yi1e2VUZFL85xPlOeEfAxF-s-Nw/https://miro.medium.com/max/1200/1*Wl-dMBJpSgPUxUOnPQthyg.jpeg',
publishedAt: new Date('2017-02-24'),
siteName: '@rlove',
},
{
key: 'power_read_it_later',
url: 'https://fortelabs.co/blog/the-secret-power-of-read-it-later-apps',
title: 'The Secret Power of Read It Later Apps',
author: 'Tiago Forte',
description:
'At the end of 2014 I received an email informing me that I had read over a million words in the read it later app Pocket',
previewImage:
'https://proxy-prod.omnivore-image-cache.app/320x320,sGN5R34M5z068QMXDZD32CQD6mCbxc47hWXm__JVUePE/https://fortelabs.com/wp-content/uploads/2015/11/1rPXwIczUJRCE54v8FfAHGw.jpeg',
publishedAt: new Date('2022-01-24'),
siteName: 'Forte Labs',
},
{
key: 'elad_meetings',
url: 'http://blog.eladgil.com/2018/07/meeting-etiquette.html',
title: 'Better Meetings',
author: 'Elad Gil',
description: 'How to make meetings more productive.',
publishedAt: new Date('2018-07-02'),
siteName: 'Elad Blog',
},
{
key: 'jonbo_digital_tools',
url: 'https://jon.bo/posts/digital-tools/',
title: 'Digital Tools I Wish Existed',
author: 'Jonathan Borichevskiy',
description: `My digital life in a nutshell: I discover relevant content I dont have time to consume...`,
publishedAt: new Date('2019-11-28'),
siteName: 'JON.BO',
},
]

View File

@ -1,36 +0,0 @@
<DIV class="page" id="readability-page-1">
<div itemprop="description articleBody" id="post-body-9042058857940265690" dir="ltr" trbidi="on">
<p><span>As a company scales the number of meetings initially grows faster then headcount. With more people comes more coordination. Most companies have bad meeting etiquette, which means an enormous amount of time is wasted. The following steps help increase meeting efficiency:</span><br>
<span><br></span> <b><span>1. Determine who is necessary in the meeting.</span></b><br>
<span>Are there really 20 people needed in the room? Separate the must haves, from the nice to haves, from the politically expedient to be there.</span><br>
<span><br></span> <b><span>2. Send out an agenda in advance.</span></b><br>
<span>What will be discussed? How much time do you really need to spend per topic? Maybe the 60 minute meeting should really be 30 minutes? Like wedding planning, meetings fill the time available to them.</span><br>
<span><br></span> <span>Similarly, what preparation should people do in advance? Is there a document to pre-read or data to look at in advance so people come prepared?</span><br>
<span><br></span> <b><span>3. Set up (projecting, hangout or conference line, etc.) in advance if you can.</span></b><br>
<span>If you are running the meeting and are able to do so, arrive in advance. Dial into the conference line or start the Hangout and start projecting. Instead of wasting 5 minutes in setup with 10 people there, do it early.</span><br>
<span><br></span> <span>If your conference rooms are always fully booked back to back (often the case as the fast growing companies are always running out of space), it is hard to get into the room 5 minutes early. Companies can facilitate this by having an :05 policy. I.e. meetings start at 2:05 but the meeting owner books the room starting at 2:00 so has 5 minutes to set up.</span><br>
<span><br></span> <b><span>4. Kick off the meeting with objectives.</span></b><br>
<span>Review the agenda and purpose of the meeting. Is it to make a decision on a product? To brainstorm a new feature? To review a sales pipeline and prioritize leads? If the meeting does not have a clear objective, you should cancel it. If the same topic is repeated over and over in a weekly meeting without progress, decide if escalation or another method of breaking a bottleneck is needed. The same meeting should not take place 5 times.</span><br>
<span><br></span> <b><span>5. Assign a note taker.</span></b><br>
<span>Who is responsible for taking notes in the meeting? Any meeting with more then 3-4 people should send out notes. The meeting owner can assign/delegate note taker up front.</span><br>
<span><br></span> <b><span>6. Send out meeting notes.</span></b><br>
<span>Meeting notes help the rest of the company know what was discussed or decided. It allows different stakeholders to follow up if they were unable to attend. Notes increase cross-company transparency dramatically [1].</span><br>
<span><br></span> <span>Meeting notes would optimally include:</span><br>
<span>a. Subject/topic of meeting</span><br>
<span>b. Date</span><br>
<span>c. Attendees</span><br>
<span>d. Actions/decisions</span><br>
<span>e. Agenda</span><br>
<span>f. Detailed notes</span><br>
<span><span><br></span> <b><span>7. Clean up the meeting calendar ongoing.</span></b></span><br>
<span>Unnecessary regular meetings accumulate like rust on a company. Ask all meeting owners to go through and kill meetings once a quarter. (a) What meetings are still necessary or useful? (b) Who should still attend? People can be dropped and added as well to rebalance who should attend.</span><br>
<span><span><br></span> <b><span>NOTES</span></b></span><br>
<span>[1] There may be legal reasons to not take notes in specific meetings. Consult with the company's GC or external counsel on training for meeting note etiquette.</span>
</p>
<p><span><b>MY BOOK</b></span>
</p>
<p><span><span>You can&nbsp;</span><a href="https://www.amazon.com/High-Growth-Handbook-Elad-Gil/dp/1732265100/">pre-order the High Growth Handbook here</a><span>.</span></span><br>
<span><br></span>
</p>
</div>
</DIV>

View File

@ -1,208 +0,0 @@
<DIV class="page" id="readability-page-1">
<div>
<p> My digital life in a nutshell: I discover relevant content I dont have time to consume, I find time and become overwhelmed with my scattered backlog, I wish the content were in a different format, and then Im unable to find something again once Ive consumed it. <a href="https://andymatuschak.org/books/">Not retaining enough</a> is a valid problem but well tackle that one later. </p>
<p> Theres a lot of generalization in my summary but <strong>the core issue is an extraordinarily high level of friction in the process of finding, organizing, and sharing digital content</strong>. During the past few years Ive noticed: </p>
<ul>
<li>
<p> The more seamless the acquisition &amp; ingestion, the more engaged I am with the content </p>
</li>
<li>
<p> Insights are just as likely to be found in a 400-page book as in a 40-minute podcast </p>
</li>
<li>
<p> Notes and their subsequent review are essential for long-term retention </p>
</li>
<li>
<p> Recommendations from other humans are as good, if not better, than algorithmic suggestions </p>
</li>
</ul>
<p> In the rest of this post I attempt to explain the digital tools I wish existed, and how the the currently available tools do not suffice. What are also probably lacking are my <a href="https://www.buildingasecondbrain.com/">habits and workflows</a> around this - but Im looking at tools specifically here. </p>
<h2 id="queue-management-for-inbound-digital-content"> Queue management for inbound digital content&nbsp;<a href="#queue-management-for-inbound-digital-content">#</a>
</h2>
<p> Where to begin? Probably the most common problem I see myself and other people dealing with is processing the incoming deluge of articles to read and videos to watch. This isnt all personal recommendations - it encompasses any and all content I think my future self would appreciate me consuming. A list of issues, roughly by order of appearance: </p>
<ul>
<li>
<p> Content (or links to it) arrive from a variety of sources including text messages from friends, email conversations, tweetstorms and replies, references in books, suggestions in real-world conversations, and more. </p>
</li>
<li>
<p> Every book, article, post, or tweet has the potential to lead to more content. </p>
</li>
<li>
<p> Content is published in a variety of formats including but not limited to images, sound files, videos, Google Drive docs, diagrams, long-form paywalled articles, PDFs, powerpoint presentations, and base 64 encoded blobs. </p>
</li>
<li>
<p> I have little visibility into required time investment and foundational context until Ive opened it and started thinking about it. Should I sit down with a pen and paper to read this or can I skim it while waiting for my coffee? </p>
</li>
<li>
<p> Learning, work, news, and entertainment all have different priorities in my life (roughly in that order). </p>
</li>
<li>
<p> I would like to batch process content in different “streams” regardless of where they are stored. For example: I have two hours, let me work through interesting text content my friends sent me last week. Or: show me all the interesting/relevant videos Ive queued over the past month. </p>
</li>
<li>
<p> Im not always connected to a stable internet connection. </p>
</li>
<li>
<p> If its a long piece of content I want my position saved reliably so I can resume at a later point. </p>
</li>
<li>
<p> I often want it in a different format than the one it was originally published in (audio → text, text → audio, pdf → ebook). Automated conversion works but is cumbersome. Listening to text articles requires sending them to a special app and converting articles to ebooks is annoying and loses a lot of formatting and navigation. </p>
</li>
<li>
<p> I love to respond to a persons recommendation - preferably before theyve forgotten why they sent me it in the first place. </p>
</li>
<li>
<p> Id like a centralized history of content tied to my notes and annotations in case I want to find it again later. It feels like every week Im speaking with someone and I remember a blog post I read a few months ago they might find relevant … or was it a Reddit post? Can I find it my history? Oh no, its been replaced with <code>[deleted]</code> … find an archived copy… rinse and repeat. </p>
</li>
</ul>
<figure>
<img src="https://proxy-prod.omnivore-image-cache.app/0x0,sZWS0YDk87CXTDX82w3BSkkX8cxYRNQ8xkVbVMW8wRJM/https://imgs.xkcd.com/comics/icon_swap.png">
<figcaption> Relevant XKCD, as is tradition </figcaption>
</figure>
<p> Following my curiosity feels like chasing a caffeinated bunny around while real understanding requires time, perspective, and reflection. The internet makes the former much easier - so I find myself constantly balancing the two. Additionally, my energy and attention levels vary throughout the day and its far easier to just open Twitter rather than continue reading a long-form article I started on my laptop two days ago. Too often I default to the lower-friction one. </p>
<p> Honorable Mentions: <a href="https://getpocket.com/">Pocket</a>, <a href="https://www.instapaper.com/">Instapaper</a>
</p>
<h2 id="a-universal-book-log-recommendation-sharing-system"> A universal book log, recommendation &amp; sharing system&nbsp;<a href="#a-universal-book-log-recommendation-sharing-system">#</a>
</h2>
<p> I love exploring other peoples reading lists. Heres <a href="http://fakehost/books">my own</a>. I find everyone keeps their reading lists in different formats on different platforms. Plaintext lists are nice but hard to parse. Spreadsheets are easy to parse but a pain to manage. Third-party services arent interoperable, require logins, and are not future-proof. </p>
<p> Part of the problem here is <a href="https://people.well.com/user/doctorow/metacrap.htm">metadata is hard</a>. Someone has to sit there and fill out the author, title, subtitle, summary, page count - and theyre probably not going to do it for free. Amazon is a good at it but <a href="https://stallman.org/amazon.html#publishing">is hostile to publishers</a>. Goodreads has much potential but <a href="https://onezero.medium.com/almost-everything-about-goodreads-is-broken-662e424244d5">seems to have stagnated</a>. Linking to the books Wikipedia entry would be my preference but very few books have an entry. </p>
<p> Whatever this tool for managing my ever-growing reading list will be, it should: </p>
<ul>
<li>
<p> Let me compare my reading list with another to see overlap. I find this a wonderful way to spark conversation and find common interests. </p>
</li>
<li>
<p> Allow me to tag books instead of placing them into static lists (think clusters or tag clouds). </p>
</li>
<li>
<p> Be tied to my highlights, annotations, and bookmarks in a non-proprietary, searchable, and shareable format. Make them public if I want to. </p>
</li>
<li>
<p> Save context on where and when I found this book: why I thought it was important to read, when I read it, what I wrote down while reading it, and what other content I discovered through it. </p>
</li>
<li>
<p> Let me query this tool like a relational database. For example: show me all books about scaling startups recommended by people I follow on Twitter or by people they follow. The current Twitter search makes me feel like Im using a government site created before I myself even knew what a computer was. </p>
</li>
<li>
<p> Help me <a href="https://www.lesswrong.com/posts/Kmch6T2YscMyLFJD9/rational-reading-thoughts-on-prioritizing-books">deal with prioritization</a>. My reading list is a mess and I cant be alone. Are certain books better read before others? Prerequisites? Could three of them be replaced with one? What are the other books by the this author? Are they worth reading too? Why exactly did I think reading this 800 page book was relevant when I added it? <a href="https://www.samuelthomasdavies.com/book-summaries/health-fitness/the-checklist-manifesto/">Is 80% of the content attainable from a blog post?</a> Where is that post? Has someone in my network written a rebuttal to the ideas in this book? The list goes on and on. </p>
</li>
<li>
<p> Provide relevant suggestions with the typical recommender approach based on what people interested in the same topics also enjoyed reading and learning from. </p>
</li>
</ul>
<p> Honorable Mentions: None :( </p>
<h2 id="intelligent-pdf-viewers-ebook-readers-audiobook-podcast-players"> Intelligent PDF viewers, eBook readers, audiobook &amp; podcast players&nbsp;<a href="#intelligent-pdf-viewers-ebook-readers-audiobook-podcast-players">#</a>
</h2>
<figure>
<img src="https://proxy-prod.omnivore-image-cache.app/0x0,sECm2yNG0SpfWJthGyGHiTFk_7du_Ueh2VLXh_jLdtzU/https://d33wubrfki0l68.cloudfront.net/5aa98bca712e33bc729c180c9a588f4d5ac7e9af/c5011/digital-tools/ebook-concept.png">
<figcaption> Functionality I want in my document reader </figcaption>
</figure>
<p> Reading is incredible and I love my Kindle. But eBooks today are just a step above OCRing a book and slapping on a few basic features which have existed for 30+ years. While Im reading an eBook I want to: </p>
<ul>
<li>
<p> Have relevant illustrations, graphs, and tables appear for duration of their mentions so I dont have to flip back and forth between them. </p>
</li>
<li>
<p> See glossary terms and their definitions which appear on this page. Highlighting and searching a term is great but the author may have added important context to the glossary definition. </p>
</li>
<li>
<p> View popular annotations and highlights across <strong>all</strong> mediums - not just by other readers who own an Amazon Kindle readers and purchased this book version and also happened to highlight it enough times. A quote was referenced in 300 blog articles? A two sentence excerpt retweeted 50,000 times? You bet I want to know! </p>
</li>
<li>
<p> Follow referenced information easily. You cited a paper - great, lets look at the footnotes. Oh, the full reference is in the back of the book. Online list of citations? Of course not! Drop a bookmark, navigate to the back of the book, pull out my laptop, find the paper. Of course, a paywall. Grab a snack. Acquire the PDF. Search for keywords to try to find the referenced information. Sigh, 2019. </p>
</li>
<li>
<p> Not be hindered by the DRM system. Copyright is important and I want to support authors but its insane to me all these content licenses Im acquiring cant be donated to a library upon account closure. Yes, legal DRM-free eBooks exist but they arent without their own issues. </p>
</li>
<li>
<p> Seamlessly switch between devices and formats while retaining my position. Something like Whispersync (<a href="https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000827761">a neat idea</a> but come on, Im not made of money. Also, see above points). </p>
</li>
<li>
<p> Let me use a digital or physical keyboard instead of an e-ink keyboard to type my annotations. A possibility here is a companion app, which feels like a notes app but ties my notes to their location/text in the book Im reading. </p>
</li>
</ul>
<figure>
<img src="https://proxy-prod.omnivore-image-cache.app/0x0,sXee_1nhUYbWBBt7y_vCFpm-qbhSzFfklSS0e77sALK4/https://d33wubrfki0l68.cloudfront.net/7bc95c0c51628e5ba06ddb7e688a58c600e503c8/81599/digital-tools/audiobook-player.png">
<figcaption> What I want my audiobook player to look like </figcaption>
</figure>
<p> Most of these points above also apply to my experience listening to podcasts, audiobooks, and watching Youtube videos and interviews. I find myself wishing I could: </p>
<ul>
<li>
<p> Navigate them more comfortably. Both Libby and Audible leave much to be desired in terms of navigation. Finding a quote I remember hearing to three days ago is basically blindly stumbling around - and I lose my current spot too. Seeing a list of chapter numbers for the book Im <strong>listening to</strong> has been helpful a grand total of 0 times. And how cool would it be to drop a bookmark from my bluetooth-connected headphones as Im biking down a street. </p>
</li>
<li>
<p> View an auto-generated transcript of a podcast as Im listening to it. It should have easy-to-follow links to references to other podcasts, media, books and support searching for key terms. YouTube already transcribes all of their videos and Google Meet now generates live captions as were talking - why cant we do something similar with podcast apps? </p>
</li>
</ul>
<p> Honorable Mentions: <a href="https://readwise.io/">Readwise</a>, <a href="https://www.weavatools.com/">Weava</a>, <a href="https://www.descript.com/">Descript</a>, <a href="https://otter.ai/">Otter.ai</a>, <a href="https://getpolarized.io/#features">Polar</a>
</p>
<h2 id="a-centralized-search-interface-for-my-digital-brain-memex"> A centralized search interface for my digital brain (memex)&nbsp;<a href="#a-centralized-search-interface-for-my-digital-brain-memex">#</a>
</h2>
<p> I want to be able to open an interface, type three words, and instantly see results from everything my digital self has interacted with. Emails, years of full-text browsing history, text messages, Slack messages across <strong>all</strong> my organizations, calendar invites and events, books, podcast transcripts Ive consumed, Twitter and Instagram DMs, PDFs Ive downloaded, bash commands, videos Ive seen, my online and offline files, notes, blog post drafts - I really do mean everything. </p>
<p> I acutely feel the need for this when Im trying to find something I know Ive seen online but cant remember where I saw it. Google is wonderful for finding new information, but absolutely poor for re-finding things. Chromes history has so much potential - but I suspect Google would much rather have us look at their ads a few additional times rather than go direct to the source. I accept I might be in the minority on this one. Regardless, this tool should: </p>
<ul>
<li>
<p> Accept and parse the following queries: </p>
<ul>
<li>
<p> spacex announcement type:video 2016 </p>
</li>
<li>
<p> links from:jon@test.org topic:python </p>
</li>
<li>
<p> paper on temperature, productivity referenced in book:Uninhabitable Earth </p>
</li>
<li>
<p> type:pdf habits digital interfaces </p>
</li>
<li>
<p> reading comprehension type:blog post </p>
</li>
<li>
<p> printer ink receipt </p>
</li>
<li>
<p> type:book read:2017 finance </p>
</li>
<li>
<p> file:py datetime parse </p>
</li>
</ul>
</li>
<li>
<p> Respect my privacy: hosted on something I control and never mined for ads. </p>
</li>
<li>
<p> Support all my devices with two-way sync so I can search and add to it wherever I am. </p>
</li>
<li>
<p> Be extensible: allow me to easily ingest my own information and extend with desired functionality. </p>
</li>
<li>
<p> Cluster information based on content, tags, geo-location, connected people, conversations, source, and other factors Im not even aware of. </p>
</li>
<li>
<p> Notify me about changes to documents and webpages Ive visited. </p>
</li>
<li>
<p> Allow a rough export of my research on a topic (like, a knowledge dump off everything Ive consumed on pandas) with the ability to easily share it. </p>
</li>
</ul>
<p> Honorable Mentions: <a href="https://worldbrain.io/">Memex by Worldbrain.io</a>, <a href="https://roamresearch.com/">Roam Research</a>, <a href="https://www.notion.so/">Notion</a>, <a href="https://coda.io/welcome">Coda.io</a>, <a href="https://www.alfredapp.com/">Alfred</a>, <a href="https://trovenow.com/">Trove</a>, <a href="https://localnative.app/">Local Native</a>, <a href="https://github.com/pirate/ArchiveBox">ArchiveBox</a>, <a href="https://raindrop.io/">Raindrop</a>
</p>
<h2 id="parting-thoughts"> Parting Thoughts&nbsp;<a href="#parting-thoughts">#</a>
</h2>
<p> Im fascinated with a better bridge between our minds and our digital devices. A well-designed tool should disappear and allow complete attention to the task at hand, but digital devices today are far from this ideal - often due to arcane copyright laws or profit-seeking. These arent new ideas by any means. See Vannevar Bushs <a href="https://en.wikipedia.org/wiki/As_We_May_Think">original conception</a> of a memex over 70 years ago. We are way overdue for this. I see enormous potential at combining a true memex with all of our personal data (health, fitness, biometrics) along with our habits, goals, tasks, reflections, and communication tools. </p>
<p> It seems to me that as information becomes more abundant, the connections drawn between disparate pieces are becoming increasingly important. The easier it is to share that graph with other people, the faster we can learn from each other and understand complex relationships. Im excited for a world where knowledge is easier to discover, validate, dispute, understand, retain, and share. </p>
<p> I hope to cover my thoughts on processes, note-taking apps, and knowledge graphs next. Stay tuned <a href="https://mailchi.mp/0e81591ed912/jborichevskiy">here</a>. My thanks to Arthur Tyukayev, Alex Ly, <a href="https://twitter.com/davidmeh">David Heimann</a>, <a href="https://twitter.com/ylimedeg">Em deGrandpré</a>, <a href="https://twitter.com/alexeyguzey">Alexey Guzey</a>, Sam Tkachuk, and <a href="https://twitter.com/briantimar">Brian Timar</a> for reading drafts of this and providing wonderful feedback. </p>
<p>
<a href="https://news.ycombinator.com/item?id=21659876">HN Discussion</a>
</p>
<h2 id="appendix"> Appendix&nbsp;<a href="#appendix">#</a>
</h2>
<p>
<a href="https://beepb00p.xyz/sad-infra.html">The sad state of personal data and infrastructure (beepb00p.xyz)</a> <a href="https://zettelkasten.de/posts/reading-web-rss-note-taking">Note-Taking when Reading the Web and RSS</a>
</p>
</div>
</DIV>

View File

@ -1,453 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Digital Tools I Wish Existed :: up &amp; to the right — Jonathan Borichevskiy
</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
<meta name="description" content="My digital life in a nutshell: I discover relevant content I don&amp;rsquo;t have time to consume, I find time and become overwhelmed with my scattered backlog, I wish the content were in a different format, and then I&amp;rsquo;m unable to find something again once I&amp;rsquo;ve consumed it. Not retaining enough is a valid problem but we&amp;rsquo;ll tackle that one later. There&amp;rsquo;s a lot of generalization in my summary but the core issue is an extraordinarily high level of friction in the process of finding, organizing, and sharing digital content." />
<meta name="keywords" content="" />
<meta name="robots" content="noodp" />
<link rel="canonical" href="https://jon.bo/posts/digital-tools/" />
<link rel="stylesheet" href="https://jon.bo/assets/style.css" />
<link rel="stylesheet" href="https://jon.bo/style.css" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://jon.bo/img/apple-touch-icon-144-precomposed.png" />
<link rel="shortcut icon" href="https://jon.bo/img/favicon.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Digital Tools I Wish Existed" />
<meta name="twitter:description" content="My digital life in a nutshell: I discover relevant content I dont have time to consume, I find time and become overwhelmed with my scattered backlog, I wish the content were in a different format, and then Im unable to find something again once Ive consumed it. Not retaining enough is a valid problem but well tackle that one later. Theres a lot of generalization in my summary but the core issue is an extraordinarily high level of friction in the process of finding, organizing, and sharing digital content." />
<meta property="og:title" content="Digital Tools I Wish Existed" />
<meta property="og:description" content="My digital life in a nutshell: I discover relevant content I dont have time to consume, I find time and become overwhelmed with my scattered backlog, I wish the content were in a different format, and then Im unable to find something again once Ive consumed it. Not retaining enough is a valid problem but well tackle that one later. Theres a lot of generalization in my summary but the core issue is an extraordinarily high level of friction in the process of finding, organizing, and sharing digital content." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://jon.bo/posts/digital-tools/" />
<meta property="article:published_time" content="2019-11-28T02:09:25-05:00" />
<meta property="article:modified_time" content="2020-11-28T13:37:37-06:00" />
<meta property="og:site_name" content="up &amp; to the right" />
<script src="https://hypothes.is/embed.js" async="async"></script>
<link rel="sidebar" href="https://hypothes.is/app.html" type="application/annotator+html" data-hypothesis-asset="" />
<link rel="notebook" href="https://hypothes.is/notebook" type="application/annotator+html" data-hypothesis-asset="" />
<link rel="preload" as="style" href="https://cdn.hypothes.is/hypothesis/1.1062.0/build/styles/annotator.css?310566" data-hypothesis-asset="" />
<link rel="hypothesis-client" href="https://cdn.hypothes.is/hypothesis/1.1062.0/build/boot.js" type="application/annotator+javascript" data-hypothesis-asset="" />
<script src="https://cdn.hypothes.is/hypothesis/1.1062.0/build/scripts/annotator.bundle.js?dbbf5e" data-hypothesis-asset=""></script>
<link rel="stylesheet" type="text/css" href="https://cdn.hypothes.is/hypothesis/1.1062.0/build/styles/highlights.css?5dd56a" data-hypothesis-asset="" />
</head>
<body class="dark-theme hypothesis-highlights-always-on">
<div class="container">
<header class="header">
<span class="header__inner"><a href="/about" class="logo" style="text-decoration:none"><span class="logo__mark"><svg xmlns="http://www.w3.org/2000/svg" class="greater-icon" width="44" height="44" viewbox="0 0 44 44">
<path fill="none" stroke="#fff" stroke-width="2" d="M15 8 29.729 22.382 15 35.367"></path></svg></span><span class="logo__text">up &amp; to the right</span> </a></span>
<nav class="menu">
<ul class="menu__inner menu__inner--desktop">
<li>
<span class="header__right"><a href="/ideas">ideas</a></span>
</li>
<li>
<span class="header__right"><a href="/now">now</a></span>
</li>
<li>
<span class="header__right"><a href="/books">words-in</a></span>
</li>
<li>
<span class="header__right"><a href="/posts">words-out</a></span>
</li>
</ul>
<ul class="menu__inner menu__inner--mobile">
<li>
<span class="header__right"><a href="/ideas">ideas</a></span>
</li>
<li>
<span class="header__right"><a href="/now">now</a></span>
</li>
<li>
<span class="header__right"><a href="/books">words-in</a></span>
</li>
<li>
<span class="header__right"><a href="/posts">words-out</a></span>
</li>
</ul>
</nav><span class="header__right"><span class="menu-trigger hidden"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></svg></span><span class="theme-toggle"><svg class="theme-toggler" width="24" height="24" viewbox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22 41C32.4934 41 41 32.4934 41 22 41 11.5066 32.4934 3 22 3 11.5066 3 3 11.5066 3 22 3 32.4934 11.5066 41 22 41zM7 22C7 13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22z"></path></svg></span></span>
</header>
<div class="content">
<div class="post">
<h2 class="post-title">
<a href="https://jon.bo/posts/digital-tools/">Digital Tools I Wish Existed</a>
</h2>
<h3 class="post-subtitle"></h3>
<div class="post-meta">
<span class="post-date">Published: 2019-11-28</span>
</div><span class="post-tags" style="margin-top:10px">#<a href="https://jon.bo/tags/memex/">memex</a>&#160; #<a href="https://jon.bo/tags/information/">information</a>&#160; #<a href="https://jon.bo/tags/learning/">learning</a>&#160; #<a href="https://jon.bo/tags/web/">web</a>&#160; #<a href="https://jon.bo/tags/internet/">internet</a>&#160;</span>
<div class="post-content">
<p>
My digital life in a nutshell: I discover relevant content I dont have time to consume, I find time and become overwhelmed with my scattered backlog, I wish the content were in a different format, and then Im unable to find something again once Ive consumed it. <a href="https://andymatuschak.org/books/">Not retaining enough</a> is a valid problem but well tackle that one later.
</p>
<p>
Theres a lot of generalization in my summary but <strong>the core issue is an extraordinarily high level of friction in the process of finding, organizing, and sharing digital content</strong>. During the past few years Ive noticed:
</p>
<ul>
<li>
<p>
The more seamless the acquisition &amp; ingestion, the more engaged I am with the content
</p>
</li>
<li>
<p>
Insights are just as likely to be found in a 400-page book as in a 40-minute podcast
</p>
</li>
<li>
<p>
Notes and their subsequent review are essential for long-term retention
</p>
</li>
<li>
<p>
Recommendations from other humans are as good, if not better, than algorithmic suggestions
</p>
</li>
</ul>
<p>
In the rest of this post I attempt to explain the digital tools I wish existed, and how the the currently available tools do not suffice. What are also probably lacking are my <a href="https://www.buildingasecondbrain.com/">habits and workflows</a> around this - but Im looking at tools specifically here.
</p>
<h2 id="queue-management-for-inbound-digital-content">
Queue management for inbound digital content&#160;<a class="headline-hash" href="#queue-management-for-inbound-digital-content">#</a>
</h2>
<p>
Where to begin? Probably the most common problem I see myself and other people dealing with is processing the incoming deluge of articles to read and videos to watch. This isnt all personal recommendations - it encompasses any and all content I think my future self would appreciate me consuming. A list of issues, roughly by order of appearance:
</p>
<ul>
<li>
<p>
Content (or links to it) arrive from a variety of sources including text messages from friends, email conversations, tweetstorms and replies, references in books, suggestions in real-world conversations, and more.
</p>
</li>
<li>
<p>
Every book, article, post, or tweet has the potential to lead to more content.
</p>
</li>
<li>
<p>
Content is published in a variety of formats including but not limited to images, sound files, videos, Google Drive docs, diagrams, long-form paywalled articles, PDFs, powerpoint presentations, and base 64 encoded blobs.
</p>
</li>
<li>
<p>
I have little visibility into required time investment and foundational context until Ive opened it and started thinking about it. Should I sit down with a pen and paper to read this or can I skim it while waiting for my coffee?
</p>
</li>
<li>
<p>
Learning, work, news, and entertainment all have different priorities in my life (roughly in that order).
</p>
</li>
<li>
<p>
I would like to batch process content in different “streams” regardless of where they are stored. For example: I have two hours, let me work through interesting text content my friends sent me last week. Or: show me all the interesting/relevant videos Ive queued over the past month.
</p>
</li>
<li>
<p>
Im not always connected to a stable internet connection.
</p>
</li>
<li>
<p>
If its a long piece of content I want my position saved reliably so I can resume at a later point.
</p>
</li>
<li>
<p>
I often want it in a different format than the one it was originally published in (audio → text, text → audio, pdf → ebook). Automated conversion works but is cumbersome. Listening to text articles requires sending them to a special app and converting articles to ebooks is annoying and loses a lot of formatting and navigation.
</p>
</li>
<li>
<p>
I love to respond to a persons recommendation - preferably before theyve forgotten why they sent me it in the first place.
</p>
</li>
<li>
<p>
Id like a centralized history of content tied to my notes and annotations in case I want to find it again later. It feels like every week Im speaking with someone and I remember a blog post I read a few months ago they might find relevant … or was it a Reddit post? Can I find it my history? Oh no, its been replaced with <code>[deleted]</code> … find an archived copy… rinse and repeat.
</p>
</li>
</ul>
<figure class="center">
<img src="https://imgs.xkcd.com/comics/icon_swap.png" />
<figcaption class="center">
Relevant XKCD, as is tradition
</figcaption>
</figure>
<p>
Following my curiosity feels like chasing a caffeinated bunny around while real understanding requires time, perspective, and reflection. The internet makes the former much easier - so I find myself constantly balancing the two. Additionally, my energy and attention levels vary throughout the day and its far easier to just open Twitter rather than continue reading a long-form article I started on my laptop two days ago. Too often I default to the lower-friction one.
</p>
<p>
Honorable Mentions: <a href="https://getpocket.com/">Pocket</a>, <a href="https://www.instapaper.com/">Instapaper</a>
</p>
<h2 id="a-universal-book-log-recommendation-sharing-system">
A universal book log, recommendation &amp; sharing system&#160;<a class="headline-hash" href="#a-universal-book-log-recommendation-sharing-system">#</a>
</h2>
<p>
I love exploring other peoples reading lists. Heres <a href="/books">my own</a>. I find everyone keeps their reading lists in different formats on different platforms. Plaintext lists are nice but hard to parse. Spreadsheets are easy to parse but a pain to manage. Third-party services arent interoperable, require logins, and are not future-proof.
</p>
<p>
Part of the problem here is <a href="https://people.well.com/user/doctorow/metacrap.htm">metadata is hard</a>. Someone has to sit there and fill out the author, title, subtitle, summary, page count - and theyre probably not going to do it for free. Amazon is a good at it but <a href="https://stallman.org/amazon.html#publishing">is hostile to publishers</a>. Goodreads has much potential but <a href="https://onezero.medium.com/almost-everything-about-goodreads-is-broken-662e424244d5">seems to have stagnated</a>. Linking to the books Wikipedia entry would be my preference but very few books have an entry.
</p>
<p>
Whatever this tool for managing my ever-growing reading list will be, it should:
</p>
<ul>
<li>
<p>
Let me compare my reading list with another to see overlap. I find this a wonderful way to spark conversation and find common interests.
</p>
</li>
<li>
<p>
Allow me to tag books instead of placing them into static lists (think clusters or tag clouds).
</p>
</li>
<li>
<p>
Be tied to my highlights, annotations, and bookmarks in a non-proprietary, searchable, and shareable format. Make them public if I want to.
</p>
</li>
<li>
<p>
Save context on where and when I found this book: why I thought it was important to read, when I read it, what I wrote down while reading it, and what other content I discovered through it.
</p>
</li>
<li>
<p>
Let me query this tool like a relational database. For example: show me all books about scaling startups recommended by people I follow on Twitter or by people they follow. The current Twitter search makes me feel like Im using a government site created before I myself even knew what a computer was.
</p>
</li>
<li>
<p>
Help me <a href="https://www.lesswrong.com/posts/Kmch6T2YscMyLFJD9/rational-reading-thoughts-on-prioritizing-books">deal with prioritization</a>. My reading list is a mess and I cant be alone. Are certain books better read before others? Prerequisites? Could three of them be replaced with one? What are the other books by the this author? Are they worth reading too? Why exactly did I think reading this 800 page book was relevant when I added it? <a href="https://www.samuelthomasdavies.com/book-summaries/health-fitness/the-checklist-manifesto/">Is 80% of the content attainable from a blog post?</a> Where is that post? Has someone in my network written a rebuttal to the ideas in this book? The list goes on and on.
</p>
</li>
<li>
<p>
Provide relevant suggestions with the typical recommender approach based on what people interested in the same topics also enjoyed reading and learning from.
</p>
</li>
</ul>
<p>
Honorable Mentions: None :(
</p>
<h2 id="intelligent-pdf-viewers-ebook-readers-audiobook-podcast-players">
Intelligent PDF viewers, eBook readers, audiobook &amp; podcast players&#160;<a class="headline-hash" href="#intelligent-pdf-viewers-ebook-readers-audiobook-podcast-players">#</a>
</h2>
<figure class="center">
<img src="https://d33wubrfki0l68.cloudfront.net/5aa98bca712e33bc729c180c9a588f4d5ac7e9af/c5011/digital-tools/ebook-concept.png" />
<figcaption class="center">
Functionality I want in my document reader
</figcaption>
</figure>
<p>
Reading is incredible and I love my Kindle. But eBooks today are just a step above OCRing a book and slapping on a few basic features which have existed for 30+ years. While Im reading an eBook I want to:
</p>
<ul>
<li>
<p>
Have relevant illustrations, graphs, and tables appear for duration of their mentions so I dont have to flip back and forth between them.
</p>
</li>
<li>
<p>
See glossary terms and their definitions which appear on this page. Highlighting and searching a term is great but the author may have added important context to the glossary definition.
</p>
</li>
<li>
<p>
View popular annotations and highlights across <strong>all</strong> mediums - not just by other readers who own an Amazon Kindle readers and purchased this book version and also happened to highlight it enough times. A quote was referenced in 300 blog articles? A two sentence excerpt retweeted 50,000 times? You bet I want to know!
</p>
</li>
<li>
<p>
Follow referenced information easily. You cited a paper - great, lets look at the footnotes. Oh, the full reference is in the back of the book. Online list of citations? Of course not! Drop a bookmark, navigate to the back of the book, pull out my laptop, find the paper. Of course, a paywall. Grab a snack. Acquire the PDF. Search for keywords to try to find the referenced information. Sigh, 2019.
</p>
</li>
<li>
<p>
Not be hindered by the DRM system. Copyright is important and I want to support authors but its insane to me all these content licenses Im acquiring cant be donated to a library upon account closure. Yes, legal DRM-free eBooks exist but they arent without their own issues.
</p>
</li>
<li>
<p>
Seamlessly switch between devices and formats while retaining my position. Something like Whispersync (<a href="https://www.amazon.com/gp/feature.html?ie=UTF8&amp;docId=1000827761">a neat idea</a> but come on, Im not made of money. Also, see above points).
</p>
</li>
<li>
<p>
Let me use a digital or physical keyboard instead of an e-ink keyboard to type my annotations. A possibility here is a companion app, which feels like a notes app but ties my notes to their location/text in the book Im reading.
</p>
</li>
</ul>
<figure class="center">
<img src="https://d33wubrfki0l68.cloudfront.net/7bc95c0c51628e5ba06ddb7e688a58c600e503c8/81599/digital-tools/audiobook-player.png" />
<figcaption class="center">
What I want my audiobook player to look like
</figcaption>
</figure>
<p>
Most of these points above also apply to my experience listening to podcasts, audiobooks, and watching Youtube videos and interviews. I find myself wishing I could:
</p>
<ul>
<li>
<p>
Navigate them more comfortably. Both Libby and Audible leave much to be desired in terms of navigation. Finding a quote I remember hearing to three days ago is basically blindly stumbling around - and I lose my current spot too. Seeing a list of chapter numbers for the book Im <strong>listening to</strong> has been helpful a grand total of 0 times. And how cool would it be to drop a bookmark from my bluetooth-connected headphones as Im biking down a street.
</p>
</li>
<li>
<p>
View an auto-generated transcript of a podcast as Im listening to it. It should have easy-to-follow links to references to other podcasts, media, books and support searching for key terms. YouTube already transcribes all of their videos and Google Meet now generates live captions as were talking - why cant we do something similar with podcast apps?
</p>
</li>
</ul>
<p>
Honorable Mentions: <a href="https://readwise.io/">Readwise</a>, <a href="https://www.weavatools.com/">Weava</a>, <a href="https://www.descript.com/">Descript</a>, <a href="https://otter.ai/">Otter.ai</a>, <a href="https://getpolarized.io/#features">Polar</a>
</p>
<h2 id="a-centralized-search-interface-for-my-digital-brain-memex">
A centralized search interface for my digital brain (memex)&#160;<a class="headline-hash" href="#a-centralized-search-interface-for-my-digital-brain-memex">#</a>
</h2>
<p>
I want to be able to open an interface, type three words, and instantly see results from everything my digital self has interacted with. Emails, years of full-text browsing history, text messages, Slack messages across <strong>all</strong> my organizations, calendar invites and events, books, podcast transcripts Ive consumed, Twitter and Instagram DMs, PDFs Ive downloaded, bash commands, videos Ive seen, my online and offline files, notes, blog post drafts - I really do mean everything.
</p>
<p>
I acutely feel the need for this when Im trying to find something I know Ive seen online but cant remember where I saw it. Google is wonderful for finding new information, but absolutely poor for re-finding things. Chromes history has so much potential - but I suspect Google would much rather have us look at their ads a few additional times rather than go direct to the source. I accept I might be in the minority on this one. Regardless, this tool should:
</p>
<ul>
<li>
<p>
Accept and parse the following queries:
</p>
<ul>
<li>
<p>
spacex announcement type:video 2016
</p>
</li>
<li>
<p>
links from:jon@test.org topic:python
</p>
</li>
<li>
<p>
paper on temperature, productivity referenced in book:Uninhabitable Earth
</p>
</li>
<li>
<p>
type:pdf habits digital interfaces
</p>
</li>
<li>
<p>
reading comprehension type:blog post
</p>
</li>
<li>
<p>
printer ink receipt
</p>
</li>
<li>
<p>
type:book read:2017 finance
</p>
</li>
<li>
<p>
file:py datetime parse
</p>
</li>
</ul>
</li>
<li>
<p>
Respect my privacy: hosted on something I control and never mined for ads.
</p>
</li>
<li>
<p>
Support all my devices with two-way sync so I can search and add to it wherever I am.
</p>
</li>
<li>
<p>
Be extensible: allow me to easily ingest my own information and extend with desired functionality.
</p>
</li>
<li>
<p>
Cluster information based on content, tags, geo-location, connected people, conversations, source, and other factors Im not even aware of.
</p>
</li>
<li>
<p>
Notify me about changes to documents and webpages Ive visited.
</p>
</li>
<li>
<p>
Allow a rough export of my research on a topic (like, a knowledge dump off everything Ive consumed on pandas) with the ability to easily share it.
</p>
</li>
</ul>
<p>
Honorable Mentions: <a href="https://worldbrain.io/">Memex by Worldbrain.io</a>, <a href="https://roamresearch.com/">Roam Research</a>, <a href="https://www.notion.so/">Notion</a>, <a href="https://coda.io/welcome">Coda.io</a>, <a href="https://www.alfredapp.com/">Alfred</a>, <a href="https://trovenow.com/">Trove</a>, <a href="https://localnative.app/">Local Native</a>, <a href="https://github.com/pirate/ArchiveBox">ArchiveBox</a>, <a href="https://raindrop.io/">Raindrop</a>
</p>
<h2 id="parting-thoughts">
Parting Thoughts&#160;<a class="headline-hash" href="#parting-thoughts">#</a>
</h2>
<p>
Im fascinated with a better bridge between our minds and our digital devices. A well-designed tool should disappear and allow complete attention to the task at hand, but digital devices today are far from this ideal - often due to arcane copyright laws or profit-seeking. These arent new ideas by any means. See Vannevar Bushs <a href="https://en.wikipedia.org/wiki/As_We_May_Think">original conception</a> of a memex over 70 years ago. We are way overdue for this. I see enormous potential at combining a true memex with all of our personal data (health, fitness, biometrics) along with our habits, goals, tasks, reflections, and communication tools.
</p>
<p>
It seems to me that as information becomes more abundant, the connections drawn between disparate pieces are becoming increasingly important. The easier it is to share that graph with other people, the faster we can learn from each other and understand complex relationships. Im excited for a world where knowledge is easier to discover, validate, dispute, understand, retain, and share.
</p>
<p>
I hope to cover my thoughts on processes, note-taking apps, and knowledge graphs next. Stay tuned <a href="https://mailchi.mp/0e81591ed912/jborichevskiy">here</a>. My thanks to Arthur Tyukayev, Alex Ly, <a href="https://twitter.com/davidmeh">David Heimann</a>, <a href="https://twitter.com/ylimedeg">Em deGrandpré</a>, <a href="https://twitter.com/alexeyguzey">Alexey Guzey</a>, Sam Tkachuk, and <a href="https://twitter.com/briantimar">Brian Timar</a> for reading drafts of this and providing wonderful feedback.
</p>
<p>
<a href="https://news.ycombinator.com/item?id=21659876">HN Discussion</a>
</p>
<p>
2019-12-09: fixes grammar
</p>
<h2 id="appendix">
Appendix&#160;<a class="headline-hash" href="#appendix">#</a>
</h2>
<p>
<a href="https://beepb00p.xyz/sad-infra.html">The sad state of personal data and infrastructure (beepb00p.xyz)</a> <a href="https://zettelkasten.de/posts/reading-web-rss-note-taking">Note-Taking when Reading the Web and RSS</a>
</p>
</div>
<div class="pagination">
<div class="pagination__title">
<span class="pagination__title-h">Read other posts</span>
<hr />
</div>
<div class="pagination__buttons">
<span class="button previous"><a href="https://jon.bo/posts/year-in-review-2019/"><span class="button__icon"></span> <span class="button__text">Year in Review: 2019</span></a></span> <span class="button next"><a href="https://jon.bo/posts/healthy-living/"><span class="button__text">Healthy Living</span> <span class="button__icon"></span></a></span>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<div class="copyright copyright--user">
<a href="/about">jon.bo</a>
</div>
</div>
</footer>
<script src="https://jon.bo/assets/main.js"></script>
<script src="https://jon.bo/assets/prism.js"></script>
</div>
</body>
</html>

View File

@ -1,331 +0,0 @@
<DIV class="page" id="readability-page-1">
<article>
<div>
<h3> Omnivore is a read-it-later app that lets you save and organize everything you read online. </h3>
</div>
<div dir="auto">
<p> This guide will show you how to use Omnivores basic functions and advanced features, divided into four main activities: </p>
<ul>
<li>
<p> Saving </p>
</li>
<li>
<p> Reading </p>
</li>
<li>
<p> Organizing </p>
</li>
<li>
<p> Integrations </p>
</li>
</ul>
<p>
<span>The</span> <strong>Library</strong> <span>is the center of your Omnivore experience, where you can quickly access any links you have saved. Saved links remain in your Library forever unless you delete them.</span>
</p>
<p> There are five ways to save links to pages or articles that you wish to read later: </p>
<ul>
<li>
<p> Saving from Your Omnivore Library </p>
</li>
<li>
<p> Saving from a Browser&nbsp; </p>
</li>
<li>
<p> Saving from a Phone or Tablet (iOS or Android) </p>
</li>
<li>
<p> Newsletter Subscriptions via Email </p>
</li>
<li>
<p>
<span>Saving PDFs from a Mac</span><br>
</p>
</li>
</ul>
<h3> Saving from Your Omnivore Library </h3>
<p>
<span>1. In the upper right corner of your Library, tap the</span> <strong>Add Link</strong> <span>button.</span><br>
<span>2. Enter the URL you wish to save and tap</span> <strong>Add Link</strong><span>.</span><br>
<span>3. The link will appear in your Library the next time you refresh it.</span><br>
</p>
<h3> Saving from a Browser </h3>
<p> 1. Download and install the Omnivore extension for your browser: </p>
<ul>
<li>
<p>
<a href="https://omnivore.app/install/chrome" rel="">Chrome&nbsp;</a>
</p>
</li>
<li>
<p>
<a href="https://omnivore.app/install/edge" rel="">Edge</a>
</p>
</li>
<li>
<p>
<a href="https://omnivore.app/install/firefox" rel="">Firefox</a>
</p>
</li>
<li>
<p>
<a href="https://omnivore.app/install/safari" rel="">Safari</a>
</p>
</li>
</ul>
<p>
<span>2. Navigate to the page you wish to save and tap the Omnivore button in your browsers toolbar or Extensions menu.</span><br>
<span>3. Alternatively, you can right-click (command+click on Mac) on any hyperlink and select</span> <strong>Save to Omnivore</strong> <span>from the menu.</span><br>
<span>4. The link will appear in your Library the next time you refresh it.</span><br>
</p>
<h3> Saving from a Phone or Tablet </h3>
<p> The best way to save links from your mobile device is via the Omnivore app. You can download the app here: </p>
<ul>
<li>
<p>
<a href="https://omnivore.app/install/ios" rel="">iOS (iPhone or iPad)</a>
</p>
</li>
<li>
<p>
<a href="https://play.google.com/store/apps/details?id=app.omnivore.omnivore" rel="">Android (Currently in pre-release)</a>
</p>
</li>
</ul>
<p> Once the mobile app is installed: </p>
<ol>
<li>
<p>
<span>In your browser, navigate to the page you wish to save and tap the</span> <strong>Share</strong> <span>button.</span>
</p>
</li>
<li>
<p>
<span>Tap the</span> <strong>Omnivore</strong> <span>icon in the Share menu.</span>
</p>
</li>
<li>
<p> The link will appear in your Library the next time you refresh it. </p>
</li>
</ol>
<h3> Newsletter Subscriptions via Email </h3>
<p>
<span>1. On the Omnivore website or app, tap your photo, initial, or avatar in the top right corner to access the profile menu. Select</span> <strong>Emails</strong> <span>from the menu.</span>
</p>
<p>
<span>2. Tap</span> <strong>Create a New Email Address</strong> <span>to add a new email address (ex: username-123abc@inbox.omnivore.app) to the list.</span>
</p>
<p> 3. Click the Copy icon next to the email address. </p>
<p>
<span>4. Navigate to the signup page for the newsletter you wish to subscribe to.</span><br>
<span>5. Paste the Omnivore email address into the signup form.</span>
</p>
<p> 6. New newsletters will be automatically delivered to your Omnivore inbox. </p>
<p> NOTE: If Omnivore receive&apos;s an email that does not look like an article, such as a welcome message, or note from the author, it will be forwarded to your Omnivore account email address (the email you registered with). </p>
<h3> Saving PDFs from a Mac&nbsp; </h3>
<ol>
<li>
<p>
<span>Install the</span> <a href="https://omnivore.app/install/mac" rel="">Mac App</a><span>.&nbsp;</span>
</p>
</li>
<li>
<p> On your Mac, locate the PDF you wish to save and right-click or ctrl+click on the file name. </p>
</li>
<li>
<p>
<span>Select</span> <strong>Share</strong> <span>from the menu and choose</span> <strong>Omnivore</strong><span>.</span>
</p>
</li>
<li>
<p> The link will appear in your Library the next time you refresh it. </p>
</li>
</ol>
<h2> Reading </h2>
<p> Click any link saved in your Library to enter the Reader view.&nbsp; </p>
<p> Omnivore formats pages for easy reading and highlighting, removing ads and clutter for distraction-free reading. The text-focused view also makes articles smaller and quicker to load. </p>
<p> While reading, you can: </p>
<ul>
<li>
<p> Change Formatting </p>
</li>
<li>
<p> Highlight Text </p>
</li>
<li>
<p> Add Notes </p>
</li>
<li>
<p> View All Saved Highlights and Notes </p>
</li>
<li>
<p> Track Reading Progress </p>
</li>
</ul>
<h3> Change Formatting&nbsp; </h3>
<ol>
<li>
<p>
<em><strong>Theme:</strong></em> <span>Tap your photo, initial, or avatar&nbsp; in the top right corner to access the profile menu. Select the white or black thumbnail to choose the Light or Dark theme.</span>
</p>
</li>
<li>
<p>
<em><strong>Text Formatting:</strong></em> <span>Tap the Aa icon to adjust the text size, font, margins, and line spacing.</span>
</p>
</li>
</ol>
<h3> Highlight Text </h3>
<ol>
<li>
<p> Select the text you wish to highlight. </p>
</li>
<li>
<p>
<span>Tap the</span> <strong>Highlight</strong> <span>button.</span>
</p>
</li>
<li>
<p> The text will appear highlighted next time you view the article. </p>
</li>
</ol>
<h3> Add Notes </h3>
<ol>
<li>
<p> Highlight a section of text where you wish to add a note. </p>
</li>
<li>
<p>
<span>Tap the</span> <strong>Note</strong> <span>button, type your note, and tap</span> <strong>Save</strong><span>.</span>
</p>
</li>
<li>
<p> The Note icon will appear next time you view this article. </p>
</li>
</ol>
<h3> View All Saved Highlights and Notes </h3>
<ol>
<li>
<p> Tap the Highlight/Note icon to see a list of all the highlighted text and notes you have added to this page. </p>
</li>
<li>
<p> To remove a note or highlight, select it from the list and tap the Trash icon. </p>
</li>
</ol>
<h3> Track Reading Progress </h3>
<p> Omnivore automatically keeps track of your reading progress across your different devices so you can easily pick up where you left off. A progress bar will appear at the top of each link in your Library after you have started reading. </p>
<h2> Organizing </h2>
<p> By default, the Library inbox displays all links you have saved. To manage your list and keep your reading organized, Omnivore provides the following actions:&nbsp; </p>
<ul>
<li>
<p> Archiving </p>
</li>
<li>
<p> Labels </p>
</li>
<li>
<p> Search </p>
</li>
<li>
<p> Filters </p>
</li>
</ul>
<h2> Archiving </h2>
<ol>
<li>
<p> Tap the Menu icon next to the link you wish to archive (on the mobile app, long press the link to open the menu). </p>
</li>
<li>
<p>
<span>Select</span> <strong>Archive</strong><span>.</span>
</p>
</li>
<li>
<p> The link will disappear from the default Library view, but will show up if you select the Archived filter (see Filters below). </p>
</li>
</ol>
<h3>
<strong>Labels</strong>
</h3>
<ol>
<li>
<p>
<span>Tap the Menu icon next to any link and select</span> <strong>Set Label</strong><span>s.</span>
</p>
</li>
<li>
<p>
<span>Select an existing label from the list or tap</span> <strong>Edit Labels</strong> <span>to create a new one.</span>
</p>
</li>
<li>
<p> The label will appear next to the link in your Library. Tap it to view all links with the same label. </p>
</li>
<li>
<p>
<em>Omnivore mobile app only</em><span>: tap</span> <strong>Labels</strong> <span>to see a complete list of all labels you have used; tap one to view all links with the same label</span>
</p>
</li>
<li>
<p> Note: Omnivore will automatically assign some labels, such as “Newsletters.” </p>
</li>
</ol>
<h3> Search </h3>
<ol>
<li>
<p> To search through all your saved links, enter a keyword or phrase in the search bar.&nbsp; </p>
</li>
<li>
<p>
<span>You can combine keywords with labels and filters to focus your search even further.</span> <a href="https://docs.omnivore.app/using/search.html" rel="">Learn more about advanced search</a><span>.</span>
</p>
</li>
</ol>
<h3> Filters </h3>
<ol>
<li>
<p>
<span>Use the</span> <strong>Filters</strong> <span>menu to refine your Library view (some filters may be visible by default).</span>
</p>
</li>
<li>
<p>
<span>Select</span> <strong>Read Later</strong> <span>to view a list of all your non-archived links except Newsletters.</span>
</p>
</li>
<li>
<p>
<span>Select</span> <strong>Highlights</strong> <span>to view the text selections you have highlighted in all your saved pages.&nbsp;</span>
</p>
</li>
<li>
<p>
<span>Select</span> <strong>Today</strong> <span>to view a list of links you saved today.</span>
</p>
</li>
<li>
<p>
<span>Select</span> <strong>Newsletters</strong> <span>to view links saved via your newsletter subscriptions.</span>
</p>
</li>
</ol>
<h2> Integrations </h2>
<p> Omnivore allows integrations with knowledge bases and note-taking apps including: </p>
<ul>
<li>
<p> Logseq </p>
</li>
<li>
<p> Webhooks </p>
</li>
</ul>
<h3> Logseq </h3>
<p>
<span>With Omnivore's Logseq plugin you can sync all your saved articles, highlights, and notes into Logseq, a popular knowledge base. For information on setting up and using the Logseq plugin, please refer to this helpful</span> <a href="https://briansunter.com/graph/#/page/omnivore-logseq-guide" rel="">Omnivore for Logseq Plugin Guide</a><span>.</span>
</p>
<h3> Webhooks </h3>
<p>
<span>Omnivore can trigger webhooks when you save a link or add highlights to a page you are reading.</span> <a href="https://blog.omnivore.app/p/syncing-all-your-notes-to-google" rel="">This example</a> <span>shows webhooks being used to write all saved links to a Google Sheets spreadsheet stored on a Google Drive.</span>
</p>
</div>
</article>
</DIV>

File diff suppressed because one or more lines are too long

View File

@ -1,94 +0,0 @@
<DIV class="page" id="readability-page-1">
<article>
<div dir="auto">
<p>
<span>With the</span> <a href="https://omnivore.app/install/ios" rel="">Omnivore app for iOS</a><span>, its easy to save web pages and articles or archive web content to read later.</span>
</p>
<p>
<span>The Omnivore app uses the</span> <em>iOS Share System</em><span>, which lets you send items from one app (such as Safari) to another (such as Messages or Mail).&nbsp;</span>
</p>
<ul>
<li>
<p> Step 1: Log in to the Omnivore app. </p>
</li>
<li>
<p> Step 2: Add Omnivore to your Share menu favorites. </p>
</li>
<li>
<p> Step 3: Save links to your Omnivore Library. </p>
</li>
</ul>
<div id="youtube2-k6RkIqepAig" data-attrs="{&quot;videoId&quot;:&quot;k6RkIqepAig&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}">
<P>
<iframe src="https://www.youtube-nocookie.com/embed/k6RkIqepAig?rel=0&autoplay=0&showinfo=0&enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe>
</P>
</div>
<p> You must be logged in before you can save links via the Share menu. If you dont already have an Omnivore account, you can sign up for free from the login screen. </p>
<p>
<em>Note:</em> <span>If you havent installed the iOS app, download it here:</span> <a href="https://omnivore.app/install/ios" rel="">https://omnivore.app/install/ios</a>
</p>
<h2>
<strong>Step 2: Add Omnivore to your Share menu favorites.</strong>
</h2>
<p> Start by viewing the Share menu from within any supported iOS app (weve used Safari for this example). </p>
<ol>
<li>
<p>
<span>Tap the</span> <strong>Share</strong> <span>icon at the bottom of the screen.</span>
</p>
</li>
<li>
<p>
<span>Swipe left to the end of the list of app icons and tap</span> <strong>More</strong><span>.</span>
</p>
</li>
<li>
<p>
<span>Tap</span> <strong>Edit</strong> <span>at the top of the screen.</span>
</p>
</li>
<li>
<p>
<span>Scroll down until you see the</span> <strong>Omnivore</strong> <span>icon and tap the</span> <strong>+</strong> <span>icon next to it.&nbsp;</span>
</p>
</li>
<li>
<p>
<span>Press and hold the three-bar icon and drag Omnivore to one of the top positions under Favorites. Tap</span> <strong>Done</strong> <span>to close the menu.</span>
</p>
</li>
<li>
<p>
<strong>Omnivore</strong> <span>will appear as one of the first options the next time you use the Share feature (you may need to restart Safari).</span>
</p>
</li>
</ol>
<h2>
<strong>Step 3: Save links to your Omnivore Library</strong>
</h2>
<p>
<span>Start by navigating to the page or article you wish to save. Please note that Omnivore will save the content that appears on your screen (not just a link), so</span> <em>if the page is behind a paywall and you are logged into the paywalled site, you will save the paid content.</em><span>&nbsp;</span>
</p>
<ol>
<li>
<p>
<span>While viewing the page youd like to save, tap the</span> <strong>Share</strong> <span>icon.</span>
</p>
</li>
<li>
<p>
<span>Tap the</span> <strong>Omnivore</strong> <span>icon in the Share menu.</span>
</p>
</li>
<li>
<p>
<span>Tag the article with one or more labels (optional) and tap</span> <strong>Read Now</strong> <span>or</span> <strong>Read Later</strong><span>.&nbsp;</span>
</p>
</li>
<li>
<p> If you choose Read Later, the link will appear in your Library the next time you open the Omnivore app. </p>
</li>
</ol>
</div>
</article>
</DIV>

File diff suppressed because one or more lines are too long

View File

@ -1,73 +0,0 @@
<DIV class="page" id="readability-page-1">
<div dir="auto">
<p> Omnivore provides labels (also known as tags) to help you organize your library. Labels can be added to any saved read, and your library can be filtered based on labels. </p>
<p> On the web if you have a larger screen you can find the labels tool on the left side of the screen. </p>
<div>
<figure>
<a target="_blank" rel="nofollow" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif">
<picture>
<source type="image/webp" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,sHA-61cUdkLlHqhkwMKyEDZdKy0cdmA2AQHShDwn761k/https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 424w,https://proxy-prod.omnivore-image-cache.app/848x0,s60VrDRMEQMlt5zjgbNRvym69tgnvRY514EPKosaYDrk/https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,sTfg8_L2SP4WVwA-v8Dc-bUKS6RL9YGywx005YIoG9wg/https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,sPzsSZLI6hpp27vb6f9gV3gBB58eHm0aTD83jTtC1dsE/https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 1456w," sizes="100vw"><img src="https://proxy-prod.omnivore-image-cache.app/960x711,sd_iEqPoEHqI7WkOUFPZl1axCkvtYhw5KBmUIne0oSQ0/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif" width="960" height="711" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:711,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1016443,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null}" alt="" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,slvsfWZoZ_A1TVQ8QpH3LN5w1dC3Jy1uie5cndrE-tZs/https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 424w,https://proxy-prod.omnivore-image-cache.app/848x0,suUUNJbyMdnIvw4q5fxErvaYXNzSEe0yA2y7wHIrEnQo/https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,sln31AgX1WGwUsWgWsbFrbUqK1VIVdfg-MTQQpiwkjuI/https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,sflw_h96rXO4g7QF0vV59_KC2NngelRez7G4Ixrkj2zk/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ec9f3c-baef-464b-8d3a-0b8a384874d3_960x711.gif 1456w," sizes="100vw">
</picture>
</a>
<figcaption> Adding a label from the left menu </figcaption>
</figure>
</div>
<p> For a smaller screen you will find the labels button at the top of the page. </p>
<div>
<figure>
<a target="_blank" rel="nofollow" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png">
<picture>
<source type="image/webp" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,sEBY7cmBWHxBJXMYeEwU1FW_NcHsar4QFeoAz9A-_Yyk/https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 424w,https://proxy-prod.omnivore-image-cache.app/848x0,ssBFps48H1M84P8FVsw-_eaI1meXYr42JVhIVSly3boE/https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,skoJXcjZwXg6BA_gwVJbujU7kHNxtsC476mN7PketakA/https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,sjnylsSWwxUxve3xSanOtnsQEY3f2WzhzhwGWZ57BCvc/https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 1456w," sizes="100vw"><img src="https://proxy-prod.omnivore-image-cache.app/1456x1315,sdpGYdxa-cZ3SZWswOh__3ynxRP98SMiWWeOJz6juAzY/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png" width="1456" height="1315" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/b59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1315,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1313051,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null}" alt="" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,sw_MAvuT8u_Trc6iAYYP5KtjtvdfktPQEHSvcPROssoE/https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 424w,https://proxy-prod.omnivore-image-cache.app/848x0,sTfeJVoCai2yu951PbfyyLugk83O1UvFF_XfBVXUdYNY/https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,sFjPEAFWZC54Sd4GmV-0B0V2cW4rpq4G8md31PemR6SY/https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,sVydjWZiwAEf8wvbGePbjy7Yb7UAppypLR3hbNY2g35M/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59fdeb0-d711-442e-a7c2-4508bedad515_1818x1642.png 1456w," sizes="100vw">
</picture>
</a>
<figcaption> Article Actions at the top of the Omnivore Reader for smaller screens </figcaption>
</figure>
</div>
<p> iOS users can long press on an item in the library or access the labels modal from the menu in the top right of the reader page. </p>
<div>
<figure>
<a target="_blank" rel="nofollow" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png">
<picture>
<source type="image/webp" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,sOt9noZCunVuBpROAtiZQBkDOwdgE1CRHmpNW3x27aRs/https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 424w,https://proxy-prod.omnivore-image-cache.app/848x0,shW-fLBzfrQUqwHnKJXNJcAuS_cw78YvCHnVc8pYJXO4/https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,s7DNDbmEIOMT97yq6ImsWwUlDB_jja7BwgNHsiSqcXAM/https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,s7R1UrwH6NIGCBZd4oF49oYePNjCL_CdIbjmlf9jUUVA/https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 1456w," sizes="100vw"><img src="https://proxy-prod.omnivore-image-cache.app/470x0,sOUHLFwk4mORdkuStr6Jl719evRUX-XTauXEp85h4iL4/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png" width="470" height="808.7817258883249" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2034,&quot;width&quot;:1182,&quot;resizeWidth&quot;:470,&quot;bytes&quot;:836469,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null}" alt="" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,sZRuDIW1FiuuxbCgU4gRD1lqwX2C_EBAeceK04lfo4co/https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 424w,https://proxy-prod.omnivore-image-cache.app/848x0,smxwuOxWWEVnK762GvMxZvF2CMZwxzu7OVvk3n-jtoo0/https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,sSscWQnF-7-LlII4iPCbGvCcM_-tuP16Zv4IgexFir8g/https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,s5atcn3L9YanOBtMmNoF5zPalnJkUs4iq4LqYqjz88t0/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c99b6c9-7b78-41a8-84b1-a738e832308d_1182x2034.png 1456w," sizes="100vw">
</picture>
</a>
<figcaption> Editing labels from the library view on iOS </figcaption>
</figure>
</div>
<h2> Label searches on iOS </h2>
<p> On iOS you can use the label search modal to search for specific labels. This will create an OR search and return all links matching the assigned labels. </p>
<div>
<figure>
<a target="_blank" rel="nofollow" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png">
<picture>
<source type="image/webp" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,sJ4jGTXC-nT5NowjH9tcUMbLKEadv6f9J4rj7ds5KPjk/https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 424w,https://proxy-prod.omnivore-image-cache.app/848x0,spOjwvJF4WpKglp5DszrOTjDtlEXHJvkdDuhbmkW5ZKY/https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,sBBCweb8OKEbOEI0GJSKPBGGqphmj1JbHuSybjvQ70AA/https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,sgkAtI4pFKSY6tAGGLqzvMT-oHKgi2S0cf1xmEhR2qBA/https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 1456w," sizes="100vw"><img src="https://proxy-prod.omnivore-image-cache.app/418x0,s3ZzvKJlkfrGLNHHjmS1HkMp6toHMoHzZXkpZaap0C84/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png" width="418" height="773.5313653136532" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2006,&quot;width&quot;:1084,&quot;resizeWidth&quot;:418,&quot;bytes&quot;:309638,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null}" alt="" srcset="https://proxy-prod.omnivore-image-cache.app/424x0,svy8R8AOum-yggFgfrZEh2FRk2CGCkGer5IO5adBkPuQ/https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 424w,https://proxy-prod.omnivore-image-cache.app/848x0,swYr1SKvE17RcuizxoLgLqxglb77debxcFXMjH4laJi0/https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 848w,https://proxy-prod.omnivore-image-cache.app/1272x0,sDGcsXD48VD9cEICF2Yl3IB5JBVU_Y0uIDhJxwKI9xXA/https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 1272w,https://proxy-prod.omnivore-image-cache.app/1456x0,shlO3HLXoijZf7dhYb3NRfh5nsAMuJM_W4Smhlb9BsYw/https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6720208-7551-41cb-a86d-afc58bb160c9_1084x2006.png 1456w," sizes="100vw">
</picture>
</a>
<figcaption> Using labels to filter your search </figcaption>
</figure>
</div>
<h2> Using Advanced Search to filter your library with labels </h2>
<p> Omnivore's advanced search syntax supports searching for multiple labels using AND and OR clauses. You can also negate a label search to find pages that do not have a certain label. </p>
<p> Some examples: </p>
<ul>
<li>
<p>
<code>label:Newsletter</code> finds all pages that have the label Newsletter
</p>
</li>
<li>
<p>
<code>label:Cooking,Fitness</code> finds all your pages with either the Cooking or Fitness labels
</p>
</li>
<li>
<p>
<code>label:Newsletter label:Surfing</code> finds all pages with both the Newsletter and Surfing labels
</p>
</li>
<li>
<p> l<code>abel:Coding -label:News</code> finds all pages with the Coding label that do not have the News label </p>
</li>
</ul>
</div>
</DIV>

File diff suppressed because one or more lines are too long

View File

@ -1,239 +0,0 @@
<DIV class="page" id="readability-page-1">
<div>
<div data-widget_type="theme-post-content.default" data-element_type="widget" data-id="5d9db16f">
<figure>
<figure>
<img src="https://proxy-prod.omnivore-image-cache.app/900x380,sXXV7f9Au3y4tF2zoOnAQ1G8Xnf3Uh8IRqZcfVY3HoSY/https://i0.wp.com/cdn-images-1.medium.com/max/2000/1*rPXwIczUJRCE54v8FfAHGw.jpeg?resize=900%2C380&ssl=1" alt="" width="900" height="380" data-recalc-dims="1">
<figcaption> Image via Nuno Cruz </figcaption>
</figure>
<figcaption></figcaption>
</figure>
<p>
<em>By Tiago Forte of</em> <a href="http://fortelabs.co/" target="_blank" rel="noopener noreferrer"><em>Forte Labs</em></a>
</p>
<p> At the end of 2014 I received an email informing me that I had read over a million words in the read it later app Pocket over the course of the year. </p>
<p>
<img loading="lazy" src="https://proxy-prod.omnivore-image-cache.app/358x377,ssfZXhGmomcxzcD-VkrtnzD-6vk-rI8GUuXk4JlRMX2s/https://i0.wp.com/cdn-images-1.medium.com/max/600/1*Hd7YIhMrS5lldl1gDU8iWQ.png?resize=358%2C377&ssl=1" width="358" height="377" data-src="https://i0.wp.com/cdn-images-1.medium.com/max/600/1*Hd7YIhMrS5lldl1gDU8iWQ.png?resize=358%2C377&ssl=1" data-recalc-dims="1">
</p>
<p> This number by itself isnt impressive, considering our daily intake of information is equivalent to <a href="http://bits.blogs.nytimes.com/2009/12/09/the-american-diet-34-gigabytes-a-day/" target="_blank" rel="noopener noreferrer">34 gigabytes</a>, 100,000 words, or <a href="http://www.nytimes.com/2014/08/10/opinion/sunday/hit-the-reset-button-in-your-brain.html?smprod=nytcore-iphone&smid=nytcore-iphone-share" target="_blank" rel="noopener noreferrer">174 newspapers</a>, depending on who you ask. </p>
<p> What makes this number significant (in my view) is that it represents 22 books-worth of long-form reading that would not have happened without a system in place. </p>
<p> Weve made a habit of filling those hundred random spaces in our day with glances at Twitter, Instagram, and Facebook. But those glances have slowly become stares, and those stares have grown to encompass a major portion of our waking hours. </p>
<p> The end result is the same person who spends 127 hours per year on Instagram (the <a href="http://www.businessinsider.com/people-spend-21-minutes-per-day-on-instagram-2014-10" target="_blank" rel="noopener noreferrer">global average</a>) complains that she has “no time” for reading. </p>
<p> The fact is, <strong>the ability to read is becoming a source of competitive advantage in the world</strong>. </p>
<p> Im not talking about basic literacy. What has become exceedingly scarce (and therefore, valuable) is the physical, emotional, attentional, and mental capability to sit quietly and direct focused attention for sustained periods of time. </p>
<p> A <a href="https://hbr.org/2005/01/overloaded-circuits-why-smart-people-underperform" target="_blank" rel="noopener noreferrer">recent article</a> in the Harvard Business Review puts a name to this new neurological phenomenon: Attention Deficit Trait. Basically, the terms ADD and ADHD are falling out of use because effectively the entire population fits the diagnostic criteria. Its not a condition anymore, its a <em>trait</em>the inherent and unavoidable experience of modern life characterized by “distractibility, inner frenzy, and impatience.” </p>
<form action="https://app.convertkit.com/forms/1022733/subscriptions" method="post" data-sv-form="1022733" data-uid="308d24305b" data-format="inline" data-version="5" min-width="400 500 600 700">
<div data-style="full">
<p><img src="https://proxy-prod.omnivore-image-cache.app/0x0,sCKKsi_KsyhXjSRvn7hvFRJEjLKQkBiJU0agepFckkI4/https://embed.filekitcdn.com/e/oP2q5jihy5hj474ZFtvPjw/3edWskTMDwFhuVEtauLv5X"></p>
<p> Start Building Your Second Brain </p>
<p> Subscribe below to learn more about the next cohort of the Building a Second Brain course </p>
</div>
</form>
<h3> Read It.&nbsp;Later. </h3>
<p> Before I explain the massive, under-appreciated benefits these apps provide, and how to use them most effectively, a quick primer in case youre unfamiliar. </p>
<p> So-called “Read It Later” apps give you the ability to “save” content on the web for later consumption. They are essentially advanced bookmarking apps, pulling in the content from a page to be read or viewed in a cleaner, simpler visual layout. </p>
<p> On top of that core function they add features like favoriting, tags, search, cross-platform syncing, recommended content, offline viewing, and archiving. The most popular options are: </p>
<ul>
<li>
<a href="https://www.instapaper.com/" target="_blank" rel="noopener noreferrer">Instapaper</a>
</li>
<li>
<a href="https://getpocket.com/a/" target="_blank" rel="noopener noreferrer">Pocket</a>
</li>
<li>
<a href="https://chrome.google.com/webstore/detail/send-to-kindle-for-google/cgdjpilhipecahhcilnafpblkieebhea?hl=en" target="_blank" rel="noopener noreferrer">Send to Kindle</a> (for sending articles to your Kindle)
</li>
<li>
<a href="https://feedly.com/i/welcome" target="_blank" rel="noopener noreferrer">Feedly</a> (for those RSS fans)
</li>
<li>and <a href="https://support.apple.com/en-us/HT200294" target="_blank" rel="noopener noreferrer">Safaris built-in “Add to Reading List” feature</a>. </li>
</ul>
<p> The app I use, Pocket, adds a button to the Chrome toolbar that looks like this: </p>
<figure>
<img loading="lazy" src="https://proxy-prod.omnivore-image-cache.app/130x58,syYiQlMJ3hP3JyGS_AYz8D5Oq9FZ1QxR2ef29Fia7Ht0/https://i0.wp.com/cdn-images-1.medium.com/max/800/1*Lk-DPDFjLslM4h2GAv8KIA.png?resize=130%2C58&ssl=1" alt="" width="130" height="58" data-image-id="1*Lk-DPDFjLslM4h2GAv8KIA.png" data-width="130" data-height="58" data-recalc-dims="1">
<figcaption> Chrome toolbar </figcaption>
</figure>
<p>
<em>Note: at time of writing, I was using Pocket, but have recently switched to Instapaper because of Pockets “Share to Evernote” bug mentioned below.</em>
</p>
<p> Clicking the button while viewing a webpage turns the button pink, and saves the page to your “list.” Navigating to getpocket.com, or opening the Pocket app on your computer or mobile device shows you a list of everything youve saved: </p>
<figure>
<figure>
<img loading="lazy" src="https://proxy-prod.omnivore-image-cache.app/800x507,smjUUrOduWv7T0bCSx9oh_Ag0Yasq_HyFfgAoDXryOcM/https://i0.wp.com/cdn-images-1.medium.com/max/800/1*wkKD4oP3-kWJERxmBBI2cA.png?resize=800%2C507&ssl=1" alt="" width="800" height="507" data-src="https://i0.wp.com/cdn-images-1.medium.com/max/800/1*wkKD4oP3-kWJERxmBBI2cA.png?resize=800%2C507&ssl=1" data-recalc-dims="1">
<figcaption> Mac desktop client </figcaption>
</figure>
<p> You can also view your list in a “tile” layout on the web, making it into essentially a personalized magazine. Personalized, in this case, not by a cold, unfeeling algorithm, but by your past self: </p>
</figure>
<figure>
<img loading="lazy" src="https://proxy-prod.omnivore-image-cache.app/800x478,sFjAZnzFiVzsVRlXF9QyD5dq_jzT69dsyyp3Bb-k5ZGU/https://i0.wp.com/cdn-images-1.medium.com/max/800/1*ug06oorCHGFpEzMyl9kfhg.png?resize=800%2C478&ssl=1" alt="" width="800" height="478" data-src="https://i0.wp.com/cdn-images-1.medium.com/max/800/1*ug06oorCHGFpEzMyl9kfhg.png?resize=800%2C478&ssl=1" data-recalc-dims="1">
<figcaption> Web browser “tile” view </figcaption>
</figure>
<p> Marking an item as read in one version of the app will quickly sync across all platforms. It will also save your current progress on one device, so you can continue where you left off on a different device (for those longer pieces). </p>
<h3> The highest leverage point in a system is in the intakethe initial assumptions and paradigms that inform its development </h3>
<p> Ive <a href="https://medium.com/forte-labs/how-to-use-evernote-for-your-creative-workflow-f048f0aa3ed1" target="_blank" rel="noopener noreferrer">written previously</a> about how to use Evernote as a general reference filing system, not only to stay organized but to inspire creativity. </p>
<p> But I didnt address a key question when creating any workflow: how and from where does information enter the system? The quality of a workflows outputs is fundamentally limited by the quality of its inputs. Garbage in, garbage out. </p>
<p> There are A LOT of ways we could talk about to improve the quality of the information you consume. But I want to focus now on the two that Read It Later apps can help with: </p>
<ol>
<li>Increasing consumption of long-form content (which is presumably more substantive) </li>
<li>Better filtering </li>
</ol>
<h3> #1 | Increasing Consumption of Long-Form Content </h3>
<p> In order to consume good ideas, first you have to consume many ideas. </p>
<p> This is the fundamental flaw in the “information diet” advice from Tim Ferriss and others: strong filters work best on a larger initial flow. Using your friends as your primary filter for new ideas ensures you remain the dumbest person in the room, and contribute nothing to the conversation. </p>
<p> The problem is that our entire digital world is geared toward snackable chunks of low-grade informationphotos, tweets, statuses, snaps, feeds, cards, etc. To fight the tide you have to redesign your environmentyou have to create affordances. </p>
<blockquote>
<p> Affordance (n.): a relation between an object and an organism that, through a collection of stimuli, <strong>affords the opportunity for that organism to perform an action.</strong>
</p>
</blockquote>
<p> Lets look at the 4 main barriers to consuming long-form content, and the affordances that Read It Later apps use to overcome them: </p>
<h4> 1. App performance </h4>
<p> We know that the most infinitesimal delays in the loading time of a webpage will dramatically impact how many people stay on the page. <a href="https://blog.kissmetrics.com/speed-is-a-killer/" target="_blank" rel="noopener noreferrer">Google found</a> that increasing the number of results per page from 10 to 30 took only half a second longer, but <strong>caused 20% of people to drop off</strong>. </p>
<p> If you think your behavior is not affected by such trivialities, think again. Even on a subconscious level, you will resist even opening apps that dont reward you with snappy response times. Which is a problem because the apps most people turn to for reading are either ebook apps like iBooks and Kindle, or web browsers like Chrome and Safari. Im not sure which category is slower, but theyre both abysmal. </p>
<p> Meanwhile, your snaps and instas refresh at precog-like speeds. </p>
<p> Read It Later apps, by slurping in content (articles, videos, slideshows) into a clean interface, eliminate the culpritsads, site analytics, popupsall the stuff you dont care about. </p>
<p> A <a href="http://www.nytimes.com/2015/10/01/technology/personaltech/ad-blockers-mobile-iphone-browsers.html" target="_blank" rel="noopener noreferrer">recent analysis</a> by The New York Times of 3 leading ad-blockers (which have the same effect) measured a <strong>21% increase in battery life</strong>, and in the most egregious case of Boston.com, a drop in loading time <strong>from 33 seconds to 7 seconds</strong>. Many other leading sites were not that far off. </p>
<figure>
<img loading="lazy" src="https://proxy-prod.omnivore-image-cache.app/563x365,sFABKoLfIzSHIwYCEllG7t2i-uxewZOlI9ALe6-KJLSs/https://i0.wp.com/cdn-images-1.medium.com/max/800/1*vfmR5LKEjfx-0Lx-kWb4bw.png?resize=563%2C365&ssl=1" alt="" width="563" height="365" data-src="https://i0.wp.com/cdn-images-1.medium.com/max/800/1*vfmR5LKEjfx-0Lx-kWb4bw.png?resize=563%2C365&ssl=1" data-recalc-dims="1">
<figcaption> Effect of ad-blocker on loading times of Boston.com, via <a href="http://www.nytimes.com/2015/10/01/technology/personaltech/ad-blockers-mobile-iphone-browsers.html" target="_blank" rel="noopener noreferrer">NYT</a>
</figcaption>
</figure>
<p> Yeah thats pretty much an eternity in mobile behavior land. </p>
<h4> 2. Matching content with your&nbsp;context </h4>
<figure>
<figure>
<img loading="lazy" src="https://proxy-prod.omnivore-image-cache.app/507x676,sxG7LpsFKxnoEDDIOpwI06zJ3e8CoE30WZseOtRT8u6s/https://i0.wp.com/cdn-images-1.medium.com/max/600/1*N15BlTDGq8kTc7HdGUmShA.png?resize=507%2C676&ssl=1" alt="" width="507" height="676" data-src="https://i0.wp.com/cdn-images-1.medium.com/max/600/1*N15BlTDGq8kTc7HdGUmShA.png?resize=507%2C676&ssl=1" data-recalc-dims="1">
<figcaption> My Pocket list on iPad </figcaption>
</figure>
</figure>
<p> Much of the time when we pull out our phone, were looking for something to match our mood (or energy, or time available, or other context). We use our constellation of shiny apps as mood regulators and self-soothers, as time-fillers and boredom-suppressors, for better or worse. </p>
<p> So you need a little entertainment, and you open…an ebook? Yeah right. Monochrome pages dont attract you. They dont draw you in. </p>
<p> Pocket gives reading some of this stimulatory pleasure by laying out your list in a pleasing, magazine-style layout (at left). Not only is it generally attractive, but it gives you that same magazine-flipping pleasure of engaging with something that interests you <em>right in that moment</em>. </p>
<p> David Allen puts it this way: </p>
<blockquote>
<p> “Its practical to have organized reading material at hand when youre on your way to a meeting that may be starting late, a seminar that may have a window of time when nothing is going on, a dentist appointment that may keep you waiting, or, of course, if youre going to have some time on a train or plane. Those are all great opportunities to browse and work through that kind of reading. People who dont have their Read/Review material organized can waste a lot of time, since <strong>life is full of weird little windows when it could be used.</strong></p>
</blockquote>
<p> Youre not fighting your impulses forcing yourself to read a dense tome after a long work day. Willpower preserved ✓ </p>
<h4> 3. Asynchronous reading </h4>
<p> This is one of the least understood barriers to reading in our fragmented timescape. </p>
<p> There is something deeply, deeply unsatisfying about repeatedly starting something and not finishing it. This is what we experience all day at work, being continuously interrupted by a stream of “emergencies.” The last thing we want after a stressful day starved of wins is to fail even at reading an article. </p>
<p> The <a href="https://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity-ebook/dp/B00KWG9M2E/ref=as_li_ss_tl?ie=UTF8&linkCode=ll1&tag=fortelabs07-20&linkId=fe6db72d8e5bbb38b1ea43241924f7e9&language=en_US" target="_blank" rel="noopener noreferrer">2015 revised edition (affiliate link)</a> of <em>Getting Things Done</em> <a href="http://users.wfu.edu/masicaej/MasicampoBaumeister2011JPSP.pdf" target="_blank" rel="noopener noreferrer">cites the work</a> of Dr. Roy Baumeister, who has shown that “uncompleted tasks take up room in the mind, which then limits clarity and focus.” The risk of cognitive dissonance at not being able to finish a long article (much less a book) keep us from even beginning it. </p>
<p> Read It Later apps address this by simply saving your progress in a given article, allowing you to pick back up at a different time, or on a different device, and clearly marking items as “read” once youre finished. </p>
<h4> 4. Focus </h4>
<p> A common response when I recommend people adopt <em>yet another</em> category of apps is “Why dont I just use Evernote?” Or whatever app theyre using for general reference or task management. Evernote even makes a Chrome extension called <a href="https://evernote.com/clearly/" target="_blank" rel="noopener noreferrer">Clearly</a> for reading online content and <a href="https://evernote.com/webclipper/?downloaded" target="_blank" rel="noopener noreferrer">Web Clipper</a> for saving it. </p>
<p> It is a question of focus. Why dont you use your task manager to keep track of content (i.e. “Read this article”)? Because the last thing you want to see when you cuddle up with your hot cocoa for some light reading is the hundreds of tasks youre not doing. </p>
<p> Likewise, the last thing you want to see when you (finally!) have time to read is the thousands of notes youve collected from every corner of the universe, only some of which you havent read, only some of which you <em>want</em> to read, only some of which are <em>meant</em> to be read. </p>
<blockquote>
<p> Actionable info ≠ Reference info ≠ To Read&nbsp;pile </p>
</blockquote>
<p> Ergo, </p>
<blockquote>
<p> Task manager ≠ Evernote ≠&nbsp;Pocket </p>
</blockquote>
<h3> #2 | Better filtering </h3>
<p> Now youve got the funnel filled. Its time to narrow it. </p>
<p> Most advice on this topic focuses on being more selective about your sources. Cutting out the email digests that just throw you off track, unfollowing people posting crap, or even <a href="https://chrome.google.com/webstore/detail/ad-replacer-turn-spammy-a/eckeeomlpacfhejaameopnmgipghaoam" target="_blank" rel="noopener noreferrer">directly replacing ads with quality sources</a>. </p>
<p> The problem is that this assumes you are always at your best, always at 100% self-discipline, totally aligned with your life values, priorities ship shape. </p>
<p> Yeah. </p>
<p> In the moment, with your blood sugar at a negative value and every fiber of your being screaming for a dopamine hit, <em>of course</em> that Buzzfeed article seems like the best conceivable use of your time. If you think you can permanently seal off your life from the celebrity news, content marketing, and spammy friends that dominate the web, the NSA has a job for you. </p>
<p> Procrastination is the most powerful force in the universe. <em>It will find a way.</em>
</p>
<p> I have a different approach: <strong>waiting periods</strong>. Every time I come across something I may want to read/watch, Im totally allowed to. No limits! The only requirement is I have to save it to Pocket, and then choose to consume it at a later time. </p>
<p> Ive found that even just clicking a link to open the URL, in order to save it to Pocket, is too much of a temptation. The first glimpse of a cute GIF and Im off to Reddit, completely forgetting my morning email session. </p>
<p> So instead I just <strong>command-click</strong> every link Im interested in (or <strong>right-click &gt; Open link in new tab</strong>), which opens each link in a separate tab <em>without taking me to that tab</em>. </p>
<p> Heres what a typical Monday morning link-fest looks like, just from email: </p>
<p>
<img src="https://proxy-prod.omnivore-image-cache.app/0x0,s6KkWg-OdGcQNuvOShcztrmaslDz3Cm5o9rD1eDOxxRc/https://i0.wp.com/cdn-images-1.medium.com/max/2000/1*cLy09F0SPJJmi0WfazXi3Q.png?w=900&ssl=1" data-src="https://i0.wp.com/cdn-images-1.medium.com/max/2000/1*cLy09F0SPJJmi0WfazXi3Q.png?w=900&ssl=1" data-recalc-dims="1">
</p>
<p> Then, because Im still in <strong>collection mode</strong>, not in read mode, I cycle through each tab one at a time (<strong>shift-command-}</strong> or <strong>control-tab</strong>), saving each one to Pocket using the shortcut I set up: <strong>command-p</strong> (chosen for irony and to avoid inadvertent printing). </p>
<p> Theres only one rule: <strong>NO READING OR WATCHING!</strong>
</p>
<p> Bringing this back to filtering, not only am I saving time and preserving focus by batch processing both the collection and the consumption of new content, Im <strong>time-shifting the curation process</strong> to a time better suited for reading, and (most critically) removed from the temptations, stresses, and biopsychosocial hooks that first lured me in. </p>
<p> I am always amazed by what happens: no matter how stringent I was in the original collecting, no matter how certain I was that this thing was worthwhile, I <strong>regularly eliminate 1/3 of my list before reading</strong>. The post that looked SO INTERESTING when compared to that one task Id been procrastinating on, in retrospect isnt even something I care about. </p>
<p> What Im essentially doing is creating a buffer. Instead of pushing a new piece of info through from intake to processing to consumption without any scrutiny, Im creating a pool of options drawn from a longer time period, which allows me to make decisions from a higher perspective, where those decisions are much better aligned with what truly matters to me. </p>
<blockquote>
<p> Remove any feature, process, or effort that does not directly contribute to the learning you seek.Eric Ries, The Leaders Guide </p>
</blockquote>
<p> Heres a visual of how this works, from my Pocket analytics: </p>
<p>
<img src="https://proxy-prod.omnivore-image-cache.app/0x0,stGbUueP6GB86OSUIreA-v1CvD10SF4A-ecLznSBpGQc/https://i0.wp.com/cdn-images-1.medium.com/max/800/1*YRExWXbhPma8-AcWP_KSrw.png?w=900&ssl=1" data-src="https://i0.wp.com/cdn-images-1.medium.com/max/800/1*YRExWXbhPma8-AcWP_KSrw.png?w=900&ssl=1" data-recalc-dims="1">
</p>
<p> You can see that I save more things toward the beginning of the week and the weekend, and then draw down the buffer more towards the end of the week. </p>
<p>
<strong><em>/sidebar</em></strong>
</p>
<p> Imagine for a second if we could do this with everything. On Saturday morning, well-rested and wise, you retroactively decide everything you <em>want to have done</em> during the previous week. Anything you decide was not worthwhile, you <em>get that time back</em>. </p>
<p> I experienced this recently with emailafter returning from a 10-day meditation course during which I was completely off the grid, I was surprised to notice it took only 1.9 hours to process almost 2 weeks worth of email (I track these things). I normally spend on average 2.19 hours on email <strong>per week</strong> —<em>what happened to those extra 2.48 hours?!</em> Besides the gains from batch processing such a large quantity of emails at once, I believe the main factor was that I evaluated my emails from a longer time horizon and higher perspective, more correctly judging whether something was worth responding to or acting on. </p>
<p> If only this method would scale. </p>
<p>
<strong>/end_sidebar</strong>
</p>
<h3> Mo apps, mo&nbsp;problems </h3>
<p> There are drawbacks, which Ive glossed over until now. The two main ones: </p>
<h4> 1. Formatting issues </h4>
<p> Many sites, including popular ones, arent presented correctly within the Pocket app (and I imagine others). Theres always the option of opening the link in a web browser, but this eliminates all the positive affordances and then some. If there wasnt so much value provided otherwise, this would be a deal breaker. </p>
<p> The worst part is that, sometimes, the article is cut off or links dont appear <em>without any indication that something is amiss</em>. On Tim Ferriss blog, for example, links (of which there are many) are simply removed. </p>
<p> One solution is to tag problematic items with “desktop” so you know that these need to be read/viewed on your computer. </p>
<h4> 2. Dependence </h4>
<p> Every productivity tool eventually becomes a victim of its own success. In this case, Ive become so dependent on Pocket that bugs really affect me. </p>
<p> For example, the Share to Evernote feature, which I use to highlight and save key passages, has been broken for at least a month. My hysterical tweets to Pocket Support have been answered but not resolved. </p>
<p> You wouldnt think such a minor feature within one app could be so disruptive, but it has been massively so. This simple workflow: </p>
<p>
<em>Highlight &gt; Share &gt; Share to Evernote &gt; Save</em>
</p>
<p> …has been replaced with this: </p>
<p>
<em>Highlight &gt; Copy &gt; Switch to Evernote &gt; New note &gt; Paste &gt; Switch back to Pocket &gt; Share &gt; More &gt; Copy URL &gt; Switch back to Evernote &gt; Paste URL &gt; Switch back to Pocket</em>
</p>
<p> Worse, I often forget to go back and grab the URL, so I have to hunt it down at some later date. </p>
<p>
<strong>/rant_over</strong>
</p>
<h3> Progress Traps and Paradigms </h3>
<p> The amount of information in the world is a <a href="https://en.wikipedia.org/wiki/Progress_trap" target="_blank" rel="noopener noreferrer">progress trap</a>. Too much stuff to read is just as limiting as too little. </p>
<p> As the inimitable Venkatesh Rao <a href="http://breakingsmart.com/season-1/" target="_blank" rel="noopener noreferrer">has written</a>, were moving from a world of <strong>containers</strong> (companies, departments, semesters, packages, silos) to a world of <strong>streams</strong> (social networks, info feeds, main streets of thriving cities, Twitter). Problems and opportunities alike resist having neat little boxes drawn around them. Theres way too much to absorb. Way too much to even guess what you dont know. </p>
<p> As the pace of change in the world accelerates, we double down on all the methods that created the problems in the first placemore planning, more forecasting, more control and risk management. Were left with massive institutions that nobody trusts, that are simultaneously brittle and too-big-to-fail, creating precarity at every level of the socioeconomic pyramid. </p>
<p> What would it look like instead to solve problems (and explore opportunities) in a way that gets better the faster we go? </p>
<p> I cant do justice to Raos blog series linked above (its in 20 partsmay want to save it for later&nbsp;;), but the first step he proposes is “exposing yourself to as many different diverse streams as possible.” </p>
<p> When youre immersed in a stream, the faster it goes, the more novel perspectives and ideas youre exposed to. You develop an <a href="http://rogerlmartin.com/lets-read/the-opposable-mind" target="_blank" rel="noopener noreferrer">opposable mind</a>the ability to juggle and play around with different perspectives on any issue, instead of seeing it through one lens. </p>
<p> Increasingly, the only metric that will matter in your journey of personal growth will be <strong>ROL: Rate-of-Learning</strong>. Weve heard a lot in recent years about the importance of hands-on learning and practical experimentation. We get it. Burying your head in a book by itself gets you nowhere. </p>
<p> But the pendulum is swinging too far in that direction. Yes, you can be <em>too</em> action-oriented. Ideas, while cheap when compared to effective execution, are still more valuable than many of the other things we spend time on. </p>
<p> Theres another way to learn faster: assimilate and build on the ideas of others. Sure, you wont understand every tacit lesson their experience gave them, but you can incorporate many of them, and in a fraction of the time it would take you to make every mistake yourself. </p>
<p> Ideas are high leverage agents. They become more so when arranged in highly cross-referenced networks. The only tool we have available that is capable of both creating and accessing these networks on demand is the human brain. </p>
<p> I lied before. There is one form of leverage even more powerful than the initial assumptions and paradigms that inform a systems development: the <strong>ability to transcend paradigms</strong>. </p>
<p> I cant put it any better than Donella Meadows, in her <a href="http://www.donellameadows.org/archives/leverage-points-places-to-intervene-in-a-system/" target="_blank" rel="noopener noreferrer">seminal piece</a> on complex systems: </p>
<blockquote>
<p> People who cling to paradigms (which means just about all of us) take one look at the spacious possibility that everything they think is guaranteed to be nonsense and pedal rapidly in the opposite direction. Surely there is no power, no control, no understanding, not even a reason for being, much less acting, in the notion or experience that there is no certainty in any worldview. But, in fact, everyone who has managed to entertain that idea, for a moment or for a lifetime, has found it to be the basis for radical empowerment. <strong>If no paradigm is right, you can choose whatever one will help to achieve your purpose.</strong>
</p>
</blockquote>
<blockquote>
<p> It is in this space of mastery over paradigms that people throw off addictions, live in constant joy, bring down empires, get locked up or burned at the stake or crucified or shot, and <strong>have impacts that last for millennia</strong>. </p>
</blockquote>
<blockquote>
<p> In the end, it seems that mastery has less to do with pushing leverage points than it does with <strong>strategically, profoundly, madly letting go.</strong>
</p>
</blockquote>
<p> Reading is the closest thing we have to thinking anothers thoughts. Its long and sometimes ponderous, but that work is required to wrap yourself in another persons paradigm. Which is the first step in madly letting go of your own. </p>
<p> The amazing thing about ideas is that it takes zero time for one to change your paradigm. It happens in time, but takes no time, like an inter-dimensional wormhole, one entangled particle in your brain mirroring its twin across a chasm even more vast than the universethe chasm between two minds. </p>
<p> And that is the secret power of Read It Later apps. </p>
<p>
<strong>P.S.</strong> <em>My latest setup has 2 parts: 1) using</em> <a href="https://ifttt.com/recipes/182352-instpaper-to-evernote" target="_blank" rel="noopener noreferrer"><em>this IFTTT recipe</em></a> <em>to automatically send “liked” articles in Instapaper to an Evernotebook called “Instapaper favorites” (for things I want to save in general but dont have any particular notes on), and 2)</em> <a href="https://ifttt.com/recipes/368728-send-instapaper-highlights-to-evernote-default-notebook" target="_blank" rel="noopener noreferrer"><em>this recipe</em></a> <em>that saves anything I highlight in Instapaper to a new note, and sends it to the Evernote default notebook where I can decide where it belongs later (for when I have specific passages I want to extract)</em>
</p>
<hr>
<p><em><strong>Subscribe below to receive free weekly emails with our best new content, or follow us on <a href="https://twitter.com/fortelabs/">Twitter</a>, <a href="https://www.facebook.com/fortelabs/">Facebook</a>, <a href="https://www.instagram.com/fortelabsco/">Instagram</a>, <a href="https://www.linkedin.com/in/tiagoforte/">LinkedIn</a>, or <a href="https://www.youtube.com/user/simulacrumsquared/">YouTube</a>. Or become a <a href="https://fortelabs.co/about-praxis/">Praxis member</a> to receive instant access to our full collection of members-only posts.</strong></em></p>
<form action="https://app.convertkit.com/forms/1022693/subscriptions" method="post" data-sv-form="1022693" data-uid="c4407a2f08" data-format="inline" data-version="5" min-width="400 500 600 700">
<div data-style="full">
<p><img src="https://proxy-prod.omnivore-image-cache.app/0x0,sqWznQTJOu8MLbN_KvWQgeSkhwNPdvLRWTom32MHspAE/https://embed.filekitcdn.com/e/oP2q5jihy5hj474ZFtvPjw/pkwszL6w2hsV41vY6MLfdR"></p>
<p> Join the Forte Labs Newsletter </p>
<p> Join 50,000+ people receiving my best ideas on learning, productivity &amp; knowledge management every Tuesday. I'll send you my Top 10 All-Time Articles right away as a thank you. </p>
</div>
</form>
</div>
<div data-widget_type="post-info.default" data-element_type="section" data-id="60a66d24">
<ul>
<li itemprop="about">
<span><span>POSTED IN:</span> <span><a href="https://fortelabs.co/blog/category/topics/building-a-second-brain/">Building a Second Brain</a>, <a href="https://fortelabs.co/blog/category/topics/curation/">Curation</a>, <a href="https://fortelabs.co/blog/category/types/free/">Free</a>, <a href="https://fortelabs.co/blog/category/topics/note-taking/">Note-taking</a>, <a href="https://fortelabs.co/blog/category/topics/technology/">Technology</a>, <a href="https://fortelabs.co/blog/category/topics/workflow/">Workflow</a></span></span>
</li>
</ul>
</div>
</div>
</DIV>

File diff suppressed because one or more lines are too long

View File

@ -1,34 +0,0 @@
<DIV class="page" id="readability-page-1">
<div>
<article>
<div>
<p id="4d80" data-selectable-paragraph=""> I used to have a bunch of recipes up online. But writing recipes is no fun; it is difficult to capture the beauty of a dish with a bunch of steps. Moreover, using recipes isnt how I cook. I want to understand the flavors of a dish and then execute it in my own way, in my own hands. So the recipes went away. </p>
<p id="73f9" data-selectable-paragraph=""> But one of the most popular — and one of my personal favorites — was a recipe for the Mexican pork dish <em>carnitas</em>. It was a fun, relatively easy recipe, not traditional in approach but fairly traditional (and really delicious) in output. Folks keep asking for it. So here it is, in hopes I can eat it at your next house party. </p>
<p id="afba" data-selectable-paragraph=""> Carnitas is a wonderful Mexican dish, pork shoulder cooked until tender and then given a great crisp. In Mexico, carnitas is eaten on its own, in tacos, or in tortas. The traditional recipe is simple: several pounds of pork shoulder, a pound or two of lard, orange peel, and some water (or coca-cola), slow roasted and then “boiled” to a crisp. That is…a bit much. What follows is not an authentic approach. </p>
<figure>
<p><img alt="" src="https://proxy-prod.omnivore-image-cache.app/400x400,s_6qxS4HCIYx4uqq8zAMZNZoz3y16TvrIiWkBbMa5wFY/https://miro.medium.com/max/800/1*Wl-dMBJpSgPUxUOnPQthyg.jpeg" width="400" height="400" role="presentation">
</p>
<figcaption data-selectable-paragraph=""> Photo by <a href="https://web.archive.org/web/20160318211638/http://www.flickr.com/" rel="noopener ugc nofollow" target="_blank">flickr</a> user <a href="https://web.archive.org/web/20160318211638/http://www.flickr.com/photos/mccun934/" rel="noopener ugc nofollow" target="_blank">mccun934</a> licensed <a href="https://web.archive.org/web/20160318211638/http://creativecommons.org/licenses/by/2.0/deed.en" rel="noopener ugc nofollow" target="_blank">CC BY 2.0</a>
</figcaption>
</figure>
<p id="a3be" data-selectable-paragraph=""> Never ones to eschew taste for health, the French have nonetheless taught us nothing if not that we can make a succulent, flavorful dish without boiling a tough cut of meat in lard. In that vein, my recipe is more of a <em>braiser de porc</em> than a <em>confit de porc</em> — pork shoulder, aromatics, citrus juice, and a little Grand Marnier, slow cooked on the stove. Healthier for the heart, but also — more importantly — tastier to the tongue. To obtain that classic carnitas crisp, we braise the meat uncovered until the liquid evaporates and then move the pot to the oven and caramelize. </p>
<p id="2954" data-selectable-paragraph=""> Makes about 6 servings. </p>
<p id="b0e5" data-selectable-paragraph=""> Ingredients: </p>
<p id="5c56" data-selectable-paragraph=""> 3 lbs <strong>boneless pork shoulder</strong>, preferably Boston butt (the upper shoulder)<br> 4 tablespoons <strong>grape seed oil</strong><br> 6 cloves <strong>garlic</strong>, peeled and thinly-sliced<br> 2 <strong>oranges</strong>, juiced, plus the zest of 1/2<br> 2 <strong>limes</strong>, juiced and zested<br> several cups <strong>chicken stock</strong><br> 1 teaspoon <strong>ground cayenne pepper</strong><br> 1 tablespoon <strong>ground ancho chile</strong><br> 1 tablespoon <strong>ground chipotle pepper</strong><br> 2 teaspoons <strong>cumin</strong><br> 1 teaspoon <strong>ground cinnamon</strong><br> 1 teaspoon freshly-ground <strong>black pepper</strong><br>
<strong>herb sachet</strong> with 8 sprigs <strong>Mexican oregano</strong>, 6 sprigs <strong>thyme</strong>, 2 sticks <strong>cinnamon</strong>, and 2 <strong>bay leaves</strong>, wrapped in a cheese cloth and tied shut with cooking twine<br> 1 cup <strong>Grand Marnier</strong><br> coarse <strong>sea salt</strong>, to coat meat, plus more to taste
</p>
<p id="78f1" data-selectable-paragraph=""> Cut the pork shoulder into 5" chunks. Remove any gratuitously-excessive fat, but leave at least a thin layer. Sprinkle the chunks with sea salt. Let sit at room temperature at least 30 minutes. Pat dry. </p>
<p id="c35e" data-selectable-paragraph=""> Heat the grape seed oil in a dutch oven over medium-high heat. Sauté the pork shoulder until well browned on each side. If needed, sauté across multiple batches. </p>
<p id="5c2a" data-selectable-paragraph=""> Add the garlic and sauté for one more minute. </p>
<p id="48dd" data-selectable-paragraph=""> Add the orange zest, lime zest, ground cayenne pepper, ground ancho chile, ground chipotle chile, cumin, ground cinnamon, black pepper, and herb sachet. Mix. </p>
<p id="c098" data-selectable-paragraph=""> Add the Grand Marnier, orange juice, and lime juice. Stir, scrapping the bottom of the pot. </p>
<p id="88ed" data-selectable-paragraph=""> Add chicken stock as needed such that the pork is two-thirds submerged in liquid. </p>
<p id="f490" data-selectable-paragraph=""> Stirring, raise heat to high and bring to a boil. Once boiling, lower heat until the liquid is at a simmer and braise, uncovered, stirring occasionally, until the pork is cooked and tender but not disintegrating and the liquid is reduced by at least two-thirds, about three hours. If the liquid gets perilously-low while cooking, add a little chicken stock. </p>
<p id="efa0" data-selectable-paragraph=""> Remove pork from pot. Once cool enough to handle, use a fork to shred the pork into bite-sized, but fairly large, chunks, removing any fatty pieces as desired. </p>
<p id="3c34" data-selectable-paragraph=""> Preheat oven to 450°F. </p>
<p id="f864" data-selectable-paragraph=""> Return pork chunks to pot. Place uncovered pot in oven. Continue cooking until the liquid has evaporated and the pork is crispy and starting to caramelize, about 20 minutes. </p>
<p id="b38a" data-selectable-paragraph=""> Taste and adjust salt. Serve with warm corn tortillas, guacamole, pico de gallo, diced white onion, chopped cilantro, lime wedges, margaritas, and college football. </p>
</div>
</article>
</div>
</DIV>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,9 @@
-- Type: UNDO
-- Name: popular_read
-- Description: Create omnivore.popular_read table
BEGIN;
DROP TABLE IF EXISTS omnivore.popular_read;
COMMIT;