Yeah, this is what I mean. Don't nobody know what you are talking about. 😅

We need some diagrams and examples. Give me a minute....

Reply to this note

Please Login to reply.

Discussion

And we're going to need to get your stuff running on our GitCitadel webserver, so that people who write stuff can see their stuff displayed.

Devs will run your program, but they're not usually writing anything they'd need your program for, so we need to host it.

The client should be effective enough to read. Could benifit from better design and to have nested notes, but if the events are formatted well, it should work.

Uploading, let alone doing so from a web interface is a different story 😅

Uploading isn't as important as reading. People won't use it unless they can show someone else what they wrote.

But, yeah, the design is sorta... 😬 😄

Would probably take nostr:npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn one afternoon to make it nice, though, and then he can use it to play around with CSS stuff.

🙋 halp plz #smolstr dev here

Do you have any UI benchmarks you like (or just know of) for these kinds of modular articles / books?

Trying to wrap my mind around how to handle all that source referencing, switching versions, opening wikis etc...

Nope. Brand new territory. Nothing like this exists on the planet, as far as I know.

That's why I've been watching these events so closely, but development has stalled and I want to publish, so here goes. 😅

Brand new design territory, you say!? 👀

Opens up an entire sector for magazine and book readers.

nostr:npub1dergggklka99wwrs92yz8wdjs952h2ux2ha2ed598ngwu9w7a6fsh9xzpc was talking about a reading apps like Readwise, but you could also make something to rate books like Goodreads, or to write and publish books like Adobe, or an ePaper viewer for Nostr 30023/30040 notes, so that someone could download the note and all of the first and second-level links or embedded items to their cache or local relay/database, to view them offline. Of course, eMagazines and eNewspapers. Etc.

Yep, text-based media is so perfect for these offline use cases since the cost of downloading annex-stuff is relatively low.

Seems like the soft- and hardware (nostr:npub1a00wj229auzjswlq4s77y4u8eqdx5k9ppatgl8rtv8va65f6mwksum9q3h ) are coming together for a pretty great homeschool experience for my kids 🤩 .

I would also just be grateful to have my Nostr reading move to ePaper. The screens are going to make me blind, but I can't print everything out.

I could imagine a homeschool curriculum that uses the original sources integrated into the actual curriculum.

Another thing that would be fun would be an online book club, as that could be both synchronous (daily reading) and asynchronous. Someone who was reading the book could just click on some often-highlighted passage and join the conversation, even if it were a year later. The people in the convo would get tagged and maybe drop by to chat and their own followers would see their reply and maybe wander over and read the passage, too.

I'm planning on doing that, with "The Rhetoric". I'm going to print the entire book as 30040/30041 and then go back, link to bits of it from articles, and add commentary, week by week. And then I'll take all of the articles, at the end, and bind them into a new 30040 collection "Laeserin reads The Rhetoric". And everyone can interact with that or print it out as an ePub and read it later.

Liminal is from the natural sciences, so he was inspired by this https://en.wikipedia.org/wiki/Zettelkasten

They're the basis for wikis, but wikis don't have stable content, so they're actually a different thing. The content of zettel isn't supposed to vary wildly or change 5 times per day. It's something you write down and keep, to use and rearrange later, like snippets cut out of paper.

Yes! Good on point on the difference between snippets of source material vs linking to variable wikis. Noted! ✍️

(Reminds me of the book "Lila" by Robert Pirsig, where the main character Phaedrus uses a similar system of slips to organize his thoughts into a book)

People probably think I'm nitpicking about using different types of events for different purposes, but it's the sort of narrow difference that balloons over time. And nostr's interoperability means that there's no advantage in just using one event-type or client for everything.

We can just make article addresses work inside of wiki pages and wiki addresses work inside of articles. Done.

when i was a kid this was how you found stuff in the library

Yeah, card catalogs.

those things were so awesome

Lets see how this works, sorry if I repeat or get too verbose:

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1568584395/Zettelkasten_Svg_1_iuqopd.svg

Just to reference the architecture of Zettlekasten for the architecture I'm trying to emulate.

Conceptually - think linked list

Implementation - think of kind 30040s as containers that can connect together. Why containers? Because we need a way to reference the article as a whole, whereas a linked list only deals with immediate neighbors for traversal.

If we have 3 article headers, where id# represents the id of a short text note and ah# is the id for a kind 30040

ah0 : [id0, id1, id2],

ah1 : [id3, id4, ah0],

ah2 : [ah0, id6, ah1]

Each of them contain 3 notes each, but ah1 contains ah0 while ah2 contains both ah0 and ah1.

Even though ah2 contains two headers with one being nested - traversing over the ids in the header allows everything outside that level to be loaded when needed.

Going back to the rendering function

```

def render(e, kind):

if kind == 0 or kind == 30040:

metadata = JSON.decode(event.content)

if kind == 0:

print(metadata.name)

print(metadata.website)

else:

print(metadata.title)

print(metadata.author)

if card.clicked:

eventList = e.tags

return renderEvents(eventList)

elif kind == 1 or kind == 30041:

print(e.content)

else: # output raw json

def renderEvents(eventlist):

for e in eventList:

render(e, kind)

```

It is just a giant wrapped if-else statement that has rules to render the specific kind that appears in the list. The rule to render kind 30040 would be to just display the metadata from content. At minimum you can render the title, which can also be a section or chapter title. All events in the list should have a rule that says how to display it.

Referencing the spec:

```

{

"id": ...,

"pubkey":...,

"created_at": ,

"kind": 30040,

"tags": [ // influenced from nip-51 lists

['e', , ],

['e', , ],

['e', , ],

...

],

...

],

"content": `{'title':, 'author':, ...}`, // influenced from nip-01: kind 0 metadata, stringified JSON object

}

```

Some extra reading:

https://zettelkasten.de/introduction/

https://www.lesswrong.com/posts/NfdHG6oHBJ8Qxc26s/the-zettelkasten-method-1

Is there a particular reason you put author and title in the content, rather than as tags?

As far as I know, the header is metadata and that doesn't usually have content.

Typically no, but in trying to keep close to the specs I was working from (lists and long form content) this was a good compromise.

The tags section of a list makes up the whole list. There there is nothing in there that states what belongs or doesn't belong to the list.

I thought about some sort of "list spec" as an element of the tags section:

```

{

tags:[

...,

["eventlist", ["e", id0, relayhint0],["e", id1. relayhint1],...],

...

]

//eventlist as a list within the list of tags

}

```

Just doesn't seem fun to deal with. Stringified json is how nostr profile metadata works. Its not the most efficient but its a tradeoff because you're not iterating through every tag and checking a number of conditions to display - for every user.

Then seeing nip-01 and finding an equivalency between ideas:

kind1: text note, simple, just renders text. All the functionality needed for just a paragraph section, but being an article it could benefit from markdown as another rule. Thats how kind 30041 relates to kind 1, the base case for a section of text.

Kind 0 : Profile metadata - you click on the "title card" of a user's profile and then you're taken to a page where all their kind1s are dropped down like an accordian of index cards underneath the profile metadata. That's why 30040 is the article equivalent to kind 0 - gives bounds for rendering one layer and also provides surrounding context.

I think we're starting to be on the same page, now. I'm structuring the Bible as a Modular Article ERM in PlantUML. I'll post it here, in a minute. I've got the relationships mixed up. 😂 So many levels!

i will gladly help with this to add apocrypha

Feel free. 😊

I'll post it as a wiki page and you can then fork it and add.

jubilees was great... but quite short, jasher is so detailed and so many stories around Sodom and Gomorrah i'm into at the moment where i'm reading, and i'm not ever 1/4 through the book, and i'm pretty sure its timeline covers the time of Genesis only

We should probably color-code. Canon, Deuteurocanon, Apocrypha.

let me know when you've got some of it going and i'll start adding things

It came out waaaaaay too wide. Switching to classes, so that I can group in packages.

Darn it. Started counting the books with 0. 🤦‍♀️ Doh!

just remember, first and 1 are not the same thing

I always start with 0 and I hand-wrote all the numbers to 72 and I was like... it should be 73 books. 🤔

😅

The numbering isn't visible on the image, so if you add something, you can renumber or just start with 74 and go on from there.

I put the UML code and the generated image in a wiki page. Took me a while to figure out PlantUML, as I've only used it for some small stuff.

Feel free to fork and edit. :-)

naddr1qvzqqqrcvgpzphtxf40yq9jr82xdd8cqtts5szqyx5tcndvaukhsvfmduetr85ceqydhwumn8ghj7argv4nx7un9wd6zumn0wd68yvfwvdhk6tcqq43xjcnvv5em5nde

That was a lot of work and it's not very pretty, but making it programmable means we can do things like make the blocks clickable, so that you can navigate to the associated kind 30040 event by the picture. Clicking on the individual books, like "Genesis" would take you to the kind 30040 event that listed all of the kind 30041 event chapters, that contain the individual verses. We could even make the chapters into 30040 and the verses into 30041, if we wanted more granularity.

And then you could insert individual verses into a "bible reading of the day" article. Or make 30040 collections that are the Bible passages in a specific order, like chronological Bibles.

Or have collections that take a verse and show it in different versions ancient Greek, Latin, King James, ESV, etc.

You could also highlight, reply to, or quote events and add commentary. Then, anyone who went to that event could find what you wrote, as the responses would branch out from there.

And, of course, the 30040 event contains the information you need to generate an eBook with the ePub, Kindle, or PDF formats.

So, you can use Nostr to publish books formatted in Asciidoc or Markdown.

what is the best client in your opinion right now for making events that use markdown that can link into this thing?

when i said i want to put the texts in, i was serious

i bought these books from Amazon, and frankly some of them are so bad my inner typographer and editor wanted to scream

notably, the copy of Timaeus and Critias that i got (Plato), was so so so bad... but The Book of Jubilees was also quite bad

so anyway, as you know i type quite fast and i think it would be fun to an hour or two a day properly transcribing, correcting and formatting texts, a chapter at a time or so, with all the nice numbers and paragraphing and all that, proper titles, etc

i don't think that many people have been exposed to these old texts and they say some things that are quite ... interesting... especially Enoch

What's the best version of Enoch rn?

idk, i have a book with three:

The Book of Enoch (Ethiopian Orthodox)

The Book of Secrets of Enoch

The Hebrew Book of Enoch

btw the reason why it's not in the canon is because it says that angels bred with humans, implying that angels were some kind of human

even though it clearly also says that in the canonical Genesis and several other places, and these angels appear all the way through the Old Testament and many times again in the New Testament - and even versions of such more recent incidents are recounted in the Qur'an - the teller of the stories is claimed to be Gabriel, the angel who told Mary she would have a child, and in the Qur'an it is said that he "blew something up her dress" causing it... implying that Jesus might be the product of artificial insemination and the source was angel DNA... (and probably the son of the leader of the angels)

so, it's very heretical of me to say these things but just read enoch and then come back to thinking about this

btw, learning this made me change my mind about Jesus

up until i learned about this stuff i was inclined to believe that Jesus was just a story composite of many people, one of them being part of the theme of the movie Life of Brian - a jewish revolutionary who very nearly managed to kick the romans out of palestine around the time of Jesus

but now, i think that the whole death and resurrection thing is real, or more exactly, when he was 12, as it says, he was sent off to train, and then after his training was done, in his early thirties, he starts his ministry to fulfill the prophecy, they nail him up, he does this whole next level yoga thing, appears to be dead for 3 days, and then disappears from the tomb, visits his buddies, and then the angels come pick him up with their tractor beam and they fly back home

and so on and so forth... i have no idea, honestly but it's plausible enough for me to entertain it, and i'm almost certain something along these lines is happening, and all the signs about the impending natural disaster coming up in the next decades suggests to me that it would be a good time to do it - if it is, according to the angelic science, like many of the prophecies say, gonna be a "earth set on fire" situation and almost everything ded... then it makes sense why to come back, and also why to be selective about who gets evacuated

in enoch, one of the angels, with the title Head of Days expresses regret about letting a certain individual onto the Ark as well... and it makes reference to the fact the man had red hair and pale skin, and even mentions that his pubic and armpit hair is orange

It's very funny (and scary tbh) that this makes more sense than most interpretations. The whole "taking it literally" thing is mind blowing.

Noah literally building a bad ass ark and riding it on the most insane storm.

Maria birthing a son of angels that does space-travel.

Freakin' legendary.

yeah man, it's hard to exactly put it all together, i'd love to just spend 3 months with a collection of writings and trace out the common threads and discern an overarching timeline that pins everything together

the way that the orthodoxy did not want the people to know about enoch is quite concerning, to me, because it is probably the case that the orthodoxy was infiltrated by those fallen angels

i mean, this is just the stuff that is slowly leaking out because of people conserving the old texts, first enoch from the ethiopians, and then they turned up in some obscure places in eastern europe (the slavonic version) and then the dead sea scrolls included several versions and fragments of enoch as well, all lining up with the same ...

and we know that they almost certainly have all of it in the vaults of the vatican library

Another thing your could do with this modular article structure is have something like a

30040 Chronological Bible header

with each day being an article that is also posted every day, containing Bible verses (30041) and commentary (other articles).

Yeeeeeeees! 🙏

Increased the resolution. Wasn't that easy to read before. Should be better, now. We can always increase it some more.

So basically ah0 is a nosli (a book of notes) ah1 is 30001 ah2 is 30001

Yes, books of notes, collections of articles, journal publications. And the idea is that you can split each bit up into smaller bits and mix-n-match, instead of quoting or copy-pasting.

the bridge between brainstorm and nostViewstr https://github.com/TsukemonoGit/nostviewstr

Ah, interesting. Bookmark hierarchies.