Offtopic. I still have some weird troubles with my gmail. It's almost
impossible to send e-mail nowdays.

> You are very close! Just a minor glitch :)

Oh. Great! thanks! I fixed it now. At least, I've got something somewhat
useful. Now I can grow more "meat" upon that.

> The reason for this is the order of declaring 'allowed' and loading the
system libraries

Good to know. It should be written somewhere in the docs, with big letters.
:)

>> I added a note about this to the 'allow' reference.

Great!

> (%@ "symlink" 'I "db/pdfdb/blob/A/3.pdf" "files/book.pdf")

Great idea! I can create those symlinks when I'm adding pdf to the db.

> This is critical only for very large databases. Otherwise not measurable.

As of right now, I come up with the following db "schema". I guess more
benchmarking and testing is in order. When I start indexing pdf pages, the
db will become huge very quick. And I'm going to use it on modest hardware
with 512 MB ram. Any critique or comments are welcome.

### DB ###
(class +Pdf +Entity)
(rel nm (+IdxFold +String)) # pdf file name
(rel blb (+Blob))          # actual file
(rel pgs (+List +Joint) pdf (+Pg)) # List of pages in the pdf

(class +Pg +Entity)
(rel pn (+Number))          # page number
(rel ct (+IdxFold +String)) # content of the page
(rel pdf (+Joint) pgs (+Pdf))     # Back-link to parent pdf

#(class +Category +Entity)        # Fix it. Needs more research!
#(rel nm (+String))               # Each folder on the path to pdf file is
a category (cat1/cat2/Folder3/Folder4)
#(rel pdfs (+List +Joint) cats (+List +Pdfs))

(dbs
   (0)                           # @:64
   (2 +Pdf)                      # A:256
   (3 (+Pdf nm))                 # B:512
   (2 +Pg)                       # C:256
   (4 (+Pg ct)) )                # D:1024

> Perhaps you can take a look into it and tell us if you have any insights?

I guess it'll be a feature for the next "release". For now, I can just bulk
scp files to a server and load them with REPL. And time to time use web
upload for stray pdf I happened to download just now.
Right now I am much more interested in learning/exploring +DbChart for
search results. If there's a good tutorial I'd gladly read it. And by the
way, why there's no docs for gui classes in reference? Or am I missing
something?


> I'm planning to start online meetings

Great news! Hopefully you can share it on youtube or something. My first
interest with picolisp started when I saw that old video where you were
showing its powers.

On Sat, Jul 5, 2025 at 10:04 PM Alexander Burger <[email protected]>
wrote:

> On Sat, Jul 05, 2025 at 07:44:18AM +0200, Alexander Burger wrote:
> > The reason for this is the order of declaring 'allowed' and loading the
> > system libraries "@lib/http.l" "@lib/xhtml.l" "@lib/form.l" etc. The
> > libraries look for *Allow, and are "permissive" if not set. If you call
> > 'allowed' first, and *then* load the system libs (as the demo apps do),
> > everything should be fine.
>
> I added a note about this to the 'allow' reference.
>
> ☺/ A!ex
>
> --
> UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe
>

Attachment: pdfdb-web-simple.l
Description: Binary data

Reply via email to