Replies (60)
I've hardly moved from my laptop for a week. π€£ Gonna go cook dinner and try to be human, for a bit.
Enjoy.
I'm trying to use "Search Publications" to search for things like "Don Quixote", "Cervantes", "Boethius", "Aristotle", etc. but I'm getting no results. Anything I'm doing wrong?
Amazing
I thiiiink... The indexes are still building.
Search still sucks in the protocol. π€£
Wait - I started getting results! Maybe it was just relay slowness. The results are not exactly what I'd expect. For example, putting in "Aristotle" gives me works related to Aristotle or philosophy, rather than works by Aristotle. Maybe it has something to do with the way these are indexed on Project Gutenberg.
Yes, feels like that.
I would like to be white listed. This is neat.
Wow this is really cool... How are the books subdivided into separate events?
Cringe...π¬
It's my vibeslop search endpoint. It searches title and author and d-tags.
The final one from the devs will be better and
more performant.
My job was to parse everything and get it on the Nostr network. All of the systems engineering and Alexandria app development is up to the rest of the team. Imwald is just my test tool, but it works well enough to give you the general idea and to cross-check Alexandria.
This is an interesting use of nostr.
Should be better now. I calmed down the background noise and added the ability to define what precisely you are searching for (d-tag, title, author, or source tag).
I have two questions...
first: my friend
@ΠΠ½ΠΊΠ°ΠΏ-ΡΡΠ½ wrote a book; can nostr users add their own books, - or is it limited to the Gutenerg project now?
second: can I just add your relay for search in nostr, - such as search.nos.today, - and search in your library (by titles is OK, I mostly don't need fulltext search), and get Aristotle as bunch of notes? (kind 1, or is it completely other kind of event, so, it needs your very own, brand new nostr app?)
The books are currently on our special document relay, which is http-based. The books are going to be uploaded to the "normal" websocksets, from which they can be normally searches.
There are already lots of publications, including originals from Nostriches, available on the wss relays, but we are going to add to that all of the public access journals and books we can find. The non-PG books can be viewed on
https://alexandria.imwald.eu
And those are findable from any normal Nostr search.
We also have a composer there. You can also use our Obsidian plug-in.

Gitea: Git with a cup of tea
scriptorium-obsidian
scriptorium-obsidian
Access to information is victory. Victory is life!
Wowwwww, incredible.
@npub1ek3y...a56k
This is me reminding you again to check out Alexandria.
Holy moly... β€οΈ
I got it to open on Alexandria.

I'll see if I can tweak it to jump over errant data and show an info message at the top.
Ah, actually, it was a different problem. Good catch!
The feature that makes results appear while you type into the input field sometimes works, but sometimes it freezes and I get a "Page Unresponsive" message. Maybe that's still some of the background noise you mentioned?
I'm also not sure how to define what type of content it should search for (e.g. title, author etc.). Is that something I can add into the input field, maybe something "title: Tom Jones"?
Did you get my zaps? I can't tell if they actually happened. Might need to try again, from a different wallet.
By the way, the Alexandria site can be a little difficult to find. I found it by entering "Gitcitadel Alexandria" into a search engine, which involves a bit of combinatorics. It might make sense to include links in your posts or on your profile, or something like that.
I have this nifty engagement filter running, so that you can see what your frens are interacting with, and it's dragging the entire client. Needs to be moved to an API. Taking it out.
The drop-down contains the labels on the left
Making the client barely useable on mobile. π
No drop-down!
Wow, really? Maybe it's too slow to show it. I have a patch coming soon. Still fixing something in the rendering.
At least right now I'm not seeing a drop-down on the box "Search publications by title, author ..." etc. This is a linux laptop with Chrome.
The drop-down started appearing now. Also text entry is now smooth and quick, no freezes. The search results are sort of related to the topic I entered, not always quite on point.
It'll get better, once they get all of the edge caching and indexing going and we get the big relays like theforest and NFDB holding the data. My wimpy little test server is always sluggish and it's like 20 GB of data to search through.
It's on my profile.
Let me add support for user statuses and render it in my client. Then I can add it there and it would appear on every event I publish.
I think this is the Alexandria site, no?
https://www.gitcitadel.eu/
I'm seeing only
https://gitcitadel.com and

Imwald
Imwald
Imwald β a user-friendly Nostr client focused on relay feed browsing, publications, and relay discovery.
on your profile.
Oh, it turns out that I can see the link to Alexandria on your profile as displayed at imwald.eu. But when your profile is displayed at inkan.cc or primal.net, I don't see any link to Alexandria.
Probably have old profile events.
Ah, wait, you don't read the tags, right? You're only rendering the stringified json.
Should be this one:
87aab6f5caa1ede72d7b05298d0dbe0be355583118a9226c648ee4c6b62d6342
Alexandria is in the tags.
That seems more likely. Inkan was built based on plain vanilla jumble from about 6 months ago, not sure what exactly it does with profiles. It's the same at primal.net, though.
Huh, I actually don't know how to figure out which profile event is being displayed by a client. But I'm pretty confident that I have the right event, it's most likely the tags not being rendered as you say.
Yeah, primal is always slow to upgrade and jumble hasn't updated anything on profiles in ages. Project seems to be in maintenance mode. The forks are all more active.
Could you actually read it? I could get that far but opening the book showed nothing
Should be a lot better, now. Tweaked both the client and the search endpoint on the relay.
It looks like this, now. You might need to go to settings - cache - clear service worker to see the newest version.
The content field of the 30041 section has an Asciidoc document header in it, which needs to be removed, and a locally-stored image (that can't work on a remote machine).

Hmmm .. searching for "Don Quixote" as title or "Cervantes" as author just hangs on "Searching publications ..." for maybe a minute and then I get a "No publications match your filters" message (although I got search results for these earlier). Same with "Plato", nothing matches. Ah, but I do get a result for "Ambrose Bierce" and for the "Bible". So maybe it's a matter of things still getting indexed, but it doesn't yet feel like the complete Project Gutenberg is getting found in the searches.
If you just type in, it does a local search. If you press the search relays button after typing, it uses the API to the Mercury document relay. That's the relay with the PG dump. I get a result for "Don Quixote" in 4 seconds.
I also changed it to cache search results, so it should find it faster, after the first time.
Yes, that works. Actually clicking the "Search the relays" button brings up a much more complete-looking list of results.
It should not say "Searching for publications ..." *before* the user has clicked the "Search the relays" button because, once it says that, the user is unlikely to click that button since they think the search is already underway.
Also, there are distracting oddities about the format in which the text of the books is displayed. Portions of the text appear inside black boxes which seem out of place and make the text look fragmented (see screenshot below).
Looking at the original PJ website, these may be portions of the text that had special formatting there (maybe centering or block-quoting or something like that). It would be better to more closely mirror the formatting / look of the original PJ.
Also, by the way, are you OTSing these books? That would be of great value if it's not already done somewhere else.

I just did the same but none seem to load.
Correction: certain ones don't seem to.
Yeah, that's my parser rendering quotes like codeblocks. I can tweak that.
What is OTS?
Yeah, that's confusing. Maybe I should make it a tiered search.
It's OpenTimestamps.

OpenTimestamps: a timestamping proof standard
OpenTimestamps aims to be a standard format for blockchain timestamping.
The created_at timestamps that are included in Nostr events are self-declared and can be faked. Instead of relying on these, Nostr events can get objective timestamps that are recorded on Bitcoin, proving that the event must have existed at the time of some Bitcoin block. To do this correctly, it's necessary to timestamp a concatenation of the event_id and the event's signature. These timestamps can be created efficiently for large numbers of events using Merkle trees, and it's pretty quick and easy for clients to verify that an event has a valid Bitcoin timestamp.
For Project Gutenberg, timestamping these books on Bitcoin would prove that they existed in the exact form in which you recorded them as of, say, June 11, 2026. This would give people the ability to confirm that these books have not been altered since that time. There have been attempts to alter classic works to fit current sensibilities, and there could conceivably be attempts to either remove the unaltered versions from the internet altogether or to obfuscate what the original version was.
It's possible that someone has already timestamped the Project Gutenberg texts, I'm not sure. But what you're doing seems like an opportunity to do so.
Ah, that's interesting! I might reparse and republish them, to fix the blockquote bug, so I could add that then.
You could timestamp them on the relay after they've been published, or client-side right after they've been signed. You need a mechanism for updating the timestamps once the event has been recorded on Bitcoin and the full Merkle proof is available.
I don't really know what people use these days to timestamp events. I've been running my own server that timestamps events on the inkan relay, but I haven't tried to make something that works on other people's relays.