new: 2020-12-28 13:22 UTCLionKimbro:

Something I have been thinking about, at the intersection of:

…and the idea developed for me as an evolution of practice.

The short version is, “Build your database up from content embedded in other contexts.”

Let me explain how I got there.

new: 2020-12-28 13:22 UTCLionKimbro:

I started out by keeping track of websites by using DelIcioUs. Then started to suck, so I migrated my bookmarks over to UnaLog. Then that started going down and then back up, and then back down, and then back up, – and I said, “Fuck it, I can write this locally, on my own, and it’ll be faster and easier to use anyways.”

I wrote seven incremental versions of my own system, (which I called “urlstore”, incidentally,) and I loved it. I added a capacity not only to add entries and tag them and such, but I also added the capacity to add tags for tags (yes, I swear, this actually makes sense,) and started working on adding “frames” – my name for a collection of URLs that are treated as a comprehensive whole, rather than individually.

I was exploring InteractivitySystems? around this time and so I reimplemented (partially) in a graphical environment, and I with also exploring using the good ol’ browser bookmarks toolbar, when I realized that what I was trying to do was to build more stable contextual information around links – sort of, “islands of stability.”

After all, one of the bad things about the tags-based SocialBookmarking systems is that you can’t get a sense of territory – links are kind of seen atomically, or in the context of a unifying tag, but there’s no stability there – the kind of stability that you get with a hierarchical arrangement of bookmarks, using (say) the browser toolbar with nested folders. That “stability” is about a link having a “place,” and nearby things in the place, and the ability to get to them.

So I started thinking, “Well hang on now. What if I kept my links contextualized, and kept track of the context in which I found them?”

So here’s an example – from one of my source files:

TTL: Dogen (Seattlite Living in Japan Youtuber)
DAT: 2020-10-27

== Notes ==

- Favorite Videos to Share
  - [URL: Trains in Tokyo vs. Trains everywhere else / 東京の電車 vs. 田舎の電車 -- -- dogen youtubevideo train trains tokyo inaka favorite]
    - [URL: Animated version of Trains in Tokyo vs. Trains Everywhere Else -- -- dogen youtubevideo train trains tokyo inaka favorite animated]
  - [URL: When your Japanese finally becomes legit jōzu / 日本語が本当にうまくなったら -- -- youtubevideo dogen nihongo jouzu good]
  - [URL: Having Kids in Japan / 日本で子供を作ると -- -- dogen youtubevideo kids japan]
  - [URL: Japanese Residence Card / 在留カード -- -- dogen youtubevideo favorite japan]
  - [URL: Advanced Japanese Lesson #15: The Conversation / 上級日本語:レッスン 15「例の会話」 -- -- dogen japanese conversation introduction gangster]
  - [URL: "Why did you come to Japan?" / 「何で日本に来たの?」 -- -- dogen youtubevideo favorite japan motivation]

- Okay Videos
  - [URL: Japanese Supermarkets / 日本のスーパー -- -- dogen youtubevideo supermarket humor funny story suupaa]
  - [URL: The Obligatory Translation / 翻訳の義理 -- -- dogen youtubevideo story translating translation]
  - [URL: Christmas in Japan / 日本のクリスマス -- -- japan japanese christmas dogen youtubevideo towatch]
  - [URL: BUTTER /「バター」 -- -- japan japanese butter story dogen youtubevideo funny]

- To watch
  - [URL: Uncle Magnet / オヤジ・マグネット -- -- dogen japan culture youtubevideo towatch]

- Japanese Learning
  - Humerous
    - [URL: Advanced Japanese Lesson #20: THE HARDEST PART OF JAPANESE / 上級日本語:レッスン 20「日本語の最も難しい要素」 -- -- katakana dogen youtubevideo pronunciation hatsuon]
	- [URL: Advanced Japanese Lesson #21: RUDE JAPANESE / 上級日本語:レッスン 21「失礼な日本語」 -- -- rude japanese dogen humor youtubevideo]
	- [URL: SUPER Advanced Japanese / 超上級日本語 -- -- japanese misconception misconceptions languagelearning textbook textbooks youtubevideo dogen]
  - Pure Teaching
    - Pitch Accent (Beginner)
	  - [URL: Japanese Pitch-Accent in 10 Minutes / 日本語の高低アクセントを十分で解説 -- -- pitchaccent japanese dogen youtubevideo basic basics 4types]
	  - [URL: Japanese Phonetics #2: How I Studied Japanese / Series Philosophy -- -- pitchaccent dogen japanese youtubevideo history gakureki -- {HOOK} Dogen's Background]

- To Watch
  - [URL: Living in Japan Q&A / 日本に住むことについての質疑応答 -- -- tokyo living japan dogen youtubevideo towatch]

Things to notice:

  • There’s text that is not part of the data aggregation, that is purely human-read.
  • The format in which URLs are encoded

The format for the URLs works like so:

  • Sentinels: brackets declare the beginning and the end of a URL’s data
  • Type: “URL:” declares what type of information is encoded here (another one I use is “TAG:”, but it’s not used here.)
  • Positional Arguments: separated by “--”
  • 1st Argument: Link Title
  • 2nd Argument: the URL
  • 3rd Argument: list of tags, separated by white space
  • Optional Additional Arguments: (for example, {HOOK} is used on one of these, but {PUB} and {NOTE} and others are also possible)

Now – despite having about 190 of these files just like this, – I haven’t yet written the (trivial) scanner to read all the data, and compile it all together. That’s just because I’m busy with a lot of things.

But I think that the idea is sound:

  • At the beginning of the URL lookup program, scan all the files and pull out all the bookmarks, as well as noting in which file they were found, and at what character index.
  • Also load the urlstore7 database.
  • Perhaps there will also be a “corrections” database. (I get ahead of myself.)

Index the data by tags, and let the user do all the search things that I permit in urlstore7.

When the user looks up a link, present it. But also print the information about where this link was sourced from. Edits could go directly into a “corrections” database; or the source file could be reloaded, edited around the URL portion, and then spat back out to disk – editing it at the originating point. It should also be trivial to say, “Show me the 7 lines before, and the 7 lines after this particular URL from its source context.”

If I keep to the hierarchical system around how links show up well enough, it should be possible to see the tree around it in an intelligent way.

And if I add a {UID} to each link, then it should be possible to put a single link into multiple contexts, and say, “This link was referred to in 3 files, and here are what those contexts are, …”

The human readable text can shape the context, and the way that the data is encoded should make it so that it is machine traversable as well.

Then I realized, “Well, if the data was kept in a wiki, then people could be building the database of links together.” Since everything is based on a combination of human readable text and machine-readable text (recalling MachineCodeBlocks, in spirit somewhat,) then it should be more approachable and humanly manageable.

The basic format of “type, positional arguments, named arguments” is general enough and easy enough that there’s an incredible reach of worldly data that could be collected and aggregated in this way.

new: 2020-12-28 13:22 UTCLionKimbro:

I know – “a lot of detail,” – and I’m not entirely sure where I’m going with this.

But this idea really intrigues me.

In a way, it’s kind of a poor man’s semantic web.

But in the vein of TheWebIsBroken and the needs motivating WikiRevival – I continue to think, “How can communities on the Internet humanely organize data together?”

And I think that embedding sharable data, machine-readable information, in the “speech acts” of writing on the Internet, is a smart idea.

"Hey, Alex, I was reading this book, [BOOK: The Name of the Wind -- Patrick Rothfuss -- {ISBN} 978-0-7564-0407-9 -- {WIKIPEDIA} -- {HOOK} Lion liked this book, because it had a creepy spider in it.] and I thought you'd be interested in it."

new: 2020-12-28 13:22 UTCLionKimbro:

Stuff you could collect:

  • URLs & Websites
  • People & Associations
  • Quotes & Notes
  • Timelines & Events
  • Songs & Images & Maps
  • Note on Directory Structures

Pretty much anything could be collected really.

new: 2020-12-28 15:17 UTCTimurIsmagilov:

Have you thought about using OrgMode? I’m not sure but I expect it to be able to do what you want. [[Emacs?]] is always like that.

I collect links too, I do it on my PersonalWiki called CyberRachel. Links that are related to things I created, are placed near the things I created. Ideally, there should be a hypha for every thing I created. For example, I once created a small statue. Its hypha is called art/cxebarkula. It has such contents (in MycoMarkup, but this exact snippet is also valid in GemText):

=><EDITED> 🐦

So, a link to the tweet, a quote from there. I don’t want to give a link to my twitter in this part of the internet, so I edited it away.

Or here’s hypha art/нежный_фиолетовый (нежный фиолетовый means tender purple or something like that):

2020-09-06 два рисунка в фиолетовых тонах. Оба написаны на кальке. Были созданы между 22:00 и завтра. Были придерживаемы английскими булавками.

<= ./озеро
<= ./море

## в процессе
<= ./bts

See, no links because it has never been posted anywhere. Also, three other hyphae are transcluded. They contain some metainfo about the pictures in question.

If I store a copy of an article (especially, mine), I always link it.

But there are hyphae that are focused on collecting hyphae. They are mostly subhyphae of hyphae z (my mini ZettelKasten) and urls. Here’s how urls/wiki looks like:

### Другие вики и сады
=> Mentat Wiki

### Двигла

### Коллекции

Just a bunch of links. As for z, I expect myself to write something about the content written in the links; that’s the point of ZettelKasten, right? No, it’s not just that; z is not a ZettelKasten. Sometimes I do something based on the links collected there. Here’s z/wiki_necrolog:


It later grew into the WikiRevival manifesto.

new: 2020-12-28 15:39 UTCAlex Schroeder: It makes me happy that we’ve all been investigating similar things! In my case, I didn’t much care for personal bookmarks. Well, I guess I sometimes post link posts to my blog (e.g. my link collection on Trump). But I also maintain a public link collection that links to role-playing game related blog posts called Links to Wisdom. It consists of a bunch of pages with nested lists. Every leaf is a link, every parent node has some text. There is an “all-included” page that uses Transclusion to pull it all together, in case you want to save it.

Here’s the beginning of the Introduction page:

* [ How To Get Started Playing Old-School D&D For Free ~ Dungeons and Possums]: A good summary of free options to get going.
* The Basics of Role-Playing Games
** [ Campaign Wiki: Submit a new link] :star::star::star:
** [ D&D ID], an illustrated guide to how to identify the editions of D&D
** [ D&D Retroclones - Taxidermic Owlbear]

It’s a wiki. You can edit any page, change all the stuff. But there’s also a submission form where you can add a URL and pick the place where you want to put it. The form fetches the title, you can provide some extra description, and a five star rating.

new: 2020-12-28 13:22 UTCLionKimbro:

I guess the reason why I keep URLs in a tagged database to begin with, is:

  • You can store anything in there – you’re not limited by the scope of your tree.
  • It’s super super fast to pull information out, because a tag or two cuts the database immensely, and across any organizational boundary.
  • Cache misses are not so costly – if you know the tags it should be under, you can quickly rule everything else out; You’re doing very little manual searching.

So it’s mainly about retrieval speed, and minimizing the cost of a miss.

I can (and have) found things that I put in there 10 years ago, fairly quickly.

This said – it’s easy to see how your database could be easily extended to support tags, hooks, and stars, as stored. You’ve already got stars and hooks, all you have to add is a convention like – “– TAGS: tag1 tag2 tag3 tag4” at the end of a line, or something like that, and you’ve got it.

new: 2020-12-28 13:22 UTCLionKimbro:

By a “hook,” what I mean is a brief (typically, a portion of a sentence) annotation to a resource.

So when you have:

[ How To Get Started Playing Old-School D&D For Free ~ Dungeons and Possums]: A good summary of free options to get going.

I call that:

I reserve the word “description” for something more like – a paragraph describing the link, and “notes” for something more like – a collection of personal notes that are related to the material at the target, but not directly describing it.

new: 2020-12-28 13:22 UTCLionKimbro:

What I meant by AggregatedInformation is subtly different than what I meant by AssembledInformation.

I think I should fix the names.

  • AggregatedInformation – this should probably mean TextuallySourcedAssembledInformation?
  • AssembledInformation – I mean information that is assembled piecemeal, from multiple sources, regardless of where it came from.

new: 2020-12-28 15:17 UTCTimurIsmagilov: Lion, why don’t you also store quotes from the links? When looking through my link collection, I often search for exact wordings that I remember. I think it’s convenient.

Perhaps, you may put them in the Hook.

new: 2020-12-28 13:22 UTCLionKimbro:

I often do! But I put them on line items following in a tree structure. I think {QUOTE} could be used, too, though I don’t think I’ve done it yet.


Define external redirect: Emacs InteractivitySystems TextuallySourcedAssembledInformation TextMarkup

EditNearLinks: DelIcioUs DocumentMode