libera/#lisp - IRC Chatlog
Search
5:57:09
holycow
i am looking for some feedback from any lisp programmer that remembers and has used the Lotus Notes / Lotus Domino client server technology
5:58:07
holycow
I am doing initial research and trying to gather preliminary feedback on how much work it might take to replicate the core features of that stack in common lisp + clog web framework
5:59:02
holycow
I am familiar with all the critiques of the Lotus suite, but as a sysadmin I am also familiar with the really great features that it had
6:02:02
holycow
such that if i had that django app running locally i can subscribe to your server and push / pull changes to the app
6:03:14
holycow
the lotus part is incidental to lotus notes / domino actually having created this solution in the 80s
6:03:33
holycow
their agents needed to work all around the world, store the data locally and have it encrypted
6:04:20
holycow
although notes / domino ran full document oreinted apps, similar to say wikipedia or threaded forums and such
6:04:34
amirouche
I mean if you know microsoft access (a database + visual basic + possibly networked) how lotus note is different?
6:05:48
holycow
lotus notes stored / could read write to a local database. the database was document oriented and hierarchical. from the file system perspective it was just one file.
6:06:05
holycow
but the database actually store all of the source code for your application and the application date
6:06:17
amirouche
so to summarize my opinion and experience, you should look for a rich set of data or database-like primitives on top of Distributed-Hash-Table, with publish-subscribe and crypto signatures
6:07:45
amirouche
but you still need to go beyond the original low-level key-value get and set of the kademlia dht
6:08:04
holycow
do you have any opinions on how much work with would take to create a document oriented "spec" for creating apps and then creating a replication mechanism?
6:08:43
holycow
both are document oriented applications but the input fields, data stored and relationships between each documents are deifferent
6:09:05
holycow
but you need version each document and then replicate out the changes to whomever subscribes. or vice versa
6:09:06
amirouche
here is food for thought about the networked database layer: https://github.com/pre-srfi/peer-to-peer#specification
6:10:08
amirouche
because of the two general problem, aka. unreliable network, you can't have a mongodb public interface as-is on top the network.
6:10:42
amirouche
two general problem, sybil attack and various other problem in publicly distributed networks
6:12:45
amirouche
by the way, I would be doing you and the other a disfavor not to mention libp2p work https://libp2p.io/
6:14:07
holycow
ultimately i though that either it is a monolithic project all done in one language like common lisp
6:14:21
amirouche
lot of javascript lib / projects, there is also opendht part of jami, there is gnunet, possibly others?
6:14:27
holycow
or it is going to end up as a hodge podge of technologies andyou are going to have to stick them in a vm and publish the vm
6:15:01
holycow
my thought was to just narrow everything down to the "document" and see if a single binary could be published.
6:15:10
amirouche
you mean like interop existing libs and deliver the end-user application you wnat?
6:15:23
holycow
this single binary would be basically the server, the client would be the browser and your editor could be whatever ide you want
6:16:14
holycow
and all of these projects are great in their own way. i love them all in some way. i'm a fan
6:16:21
amirouche
that you have a good idea of where you want to go, if you have a good grasp of CL, and after asking #lispcafe, do a prototype
6:16:43
holycow
but i also run enterprise environments and i know what it means to run server farms and complexity
6:19:04
amirouche
holycow: I asked the maintainer of the CL project called `netfarm` some input document, here are links: https://zenodo.org/record/4712699 and https://gitlab.com/cal-coop/netfarm
6:19:36
holycow
if it was common lisp + clog + sqlite and the simplest possible document oriented application ...
6:20:33
holycow
how much time + full time programmers might you need to create an mvp (minimum viable product)
6:21:57
holycow
oh wow, i see you know a heck of a lot about this. those are really intersting links
6:23:16
amirouche
I can tell you how much time it can take to build a prototype, it took me two weeks: https://git.sr.ht/~amirouche/qadom
6:24:11
holycow
the only difference between qadom and what i am thinking about is the offlien storage
6:24:25
amirouche
regarding the mvp, I can not say, it depends on the perimeter, whether you have experts in network (hole punching etc...) whether you rely on existing systems (sqlite, netfarm), and whether you have upfront a good grasp of the MvP feature set (again)
6:24:53
amirouche
holycow: it also work offline, there is database replicating the p2p-network database
6:25:00
holycow
i'm only envisioning people creating things and popping online to publish whenever and subscribers can subscribe whenever. if we can publish via onion over torrent, people can just subscribe to a torrent node.
6:25:17
amirouche
but it is meant to work online nonetheless (you can schedule a publication in the prototype)
6:27:24
amirouche
I mean a place where to share and exchange ideas about specifically an alternative platform to the web that is publicly distributed
6:28:57
holycow
which kind of gives me a ballpark way to think about what something like this would need in terms of resources