01:27:29  * DarkGodquit (Ping timeout: 248 seconds)
01:58:07  * ryan_fordjoined
03:57:27  * Soniquit (Ping timeout: 246 seconds)
04:00:55  * Sonijoined
05:09:27  * SkyRocknRolljoined
05:09:36  * SkyRocknRollquit (Remote host closed the connection)
07:12:33  * rendarjoined
08:34:24  * DarkGodjoined
09:32:58  * squeek502_joined
09:36:00  * squeek502quit (Ping timeout: 248 seconds)
14:44:41  * creationixtopic: http://luvit.io | https://gitter.im/luvit/luvit | IRC Logs at http://logs.nodejs.org/luvit/latest
16:02:55  * SkyRocknRolljoined
17:34:02  <Soni>creationix: does dat have a uri scheme?
17:34:07  <Soni>or w/e it's called
17:34:44  <Soni>basically do I get dat://<some long hex string> or dat:<some long hex string> URIs?
17:35:31  <creationix>with slashes
17:35:46  <Soni>ok good
17:35:56  <Soni>is there a dat daemon with dbus api?
17:36:00  <creationix>most tooling accepts anything with 64 hex chars honestly
17:36:17  <creationix>but beaker registers the `dat` protocol in electron and so urls start with `dat://`
17:36:56  <creationix>I doubt there is anything with dbus integration, how would you imagine that working?
17:37:16  <Soni>shove file in dbus, get file hex string
17:37:23  <Soni>shove hex string in whatever protocol you're using
17:37:32  <Soni>let other end download things off of you
17:38:21  <creationix>I suppose you could write such a service
17:38:36  <creationix>the hex is the public key and corresponds to the signing key of the writable archive
17:38:52  <creationix>normally a dat repo contains more than one file (not that it can't be just one file)
17:38:54  <Soni>just as long as I don't need to use node myself
17:39:09  <creationix>an http server would be a lot simpler than dbus
17:39:37  <Soni>http over unix sockets?
17:39:39  <Soni>hmm
17:39:41  <Soni>doesn't sound too bad
17:39:50  <creationix>or custom protcol over sockets
17:39:53  <Soni>how do I bind node's http to a unix socket?
17:40:10  <Soni>or the windows equivalent uh
17:40:15  <Soni>i forgot what it's called
17:40:23  <creationix>That's actually fairly easy, just pass in a path instead of a port number
17:40:58  <creationix>https://nodejs.org/dist/latest-v8.x/docs/api/http.html#http_server_listen_path_callback
17:41:02  <creationix>I think luvit does the same thing
17:42:19  <Soni>you see, I want dbus because I can access dbus from hexchat with no external dependencies
17:43:10  <creationix>sounds good. I just haven't written a dbus service in a long time
17:43:31  <creationix>your service will need to be running in the background so it can be on the P2P network accepting connections
17:44:17  <Soni>yeah
17:44:19  <Soni>that's the idea
17:44:38  <creationix>so in that case, there is no need for http. you can do something a lot simpler
17:45:07  <creationix>so your api is:
17:45:08  <creationix>- upload file
17:45:08  <creationix>- get hex
17:45:08  <creationix>?
17:45:18  <Soni>pretty much
17:45:36  <Soni>"upload" more like "copy" + notify peers but yes
17:45:39  <creationix>I almost made just that the other dat, let me dig it up
17:45:47  <creationix>*other day
17:46:15  <Soni>(copy from my program to another program, and notify peers that it's now available)
17:46:34  <creationix>so I made this https://github.com/creationix/drop-dat#p2p-mode
17:46:54  <creationix>you give it one or more files or folders, it imports them into a new dat and shares it on the p2p network returning the url to the console
17:47:02  <creationix>when you kill the process, it stops sharing
17:47:06  <Soni>oh uh
17:47:10  <Soni>I also need it as a client
17:47:11  <creationix>made it for quick ad-hoc file sharing
17:47:16  <Soni>give hex, download file
17:48:11  <creationix>and the default dat CLI doesn't work for you?
17:48:29  <Soni>uh
17:48:44  <creationix>`dat folder` -> `hex`, `dat clone hex` -> write to folder
17:49:06  <creationix>I could see how shelling out to that might be hard in your platform
17:49:08  <Soni>does it send files or do I need to keep a pipe open?
17:49:27  <Soni>(do I need to keep stdin/stdout open? or can I use it as a background daemon)
17:49:46  <Soni>(also what if I need to do thousands of files? do I need to have thousands of processes running?)
17:49:57  <creationix>yeah, something custom is probably better for you
17:55:04  <Soni>so what do I need to do?
17:55:18  <Soni>I never devved with dat
17:55:25  <creationix>so your chat plugin/bot will open a socket via dbus and either upload a file or download a file?
17:55:39  <creationix>do you need the file contents sent over the pipe or will you send a file path over the pipe?
17:55:41  <Soni>something like that, yes
17:55:52  <Soni>contents, preferably
17:56:19  <creationix>that's fine, it's actually a little easier
17:56:36  <creationix>just means your protocol needs to handle arbitrary binary data
17:56:57  <Soni>I want the daemon to handle storage and stuff, it's more uh
17:57:10  <creationix>do you have any existing binary protocols you can use? (HTTP does work, it's just overkill for this use case)
17:57:11  <Soni>it's better that way
17:57:38  <Soni>uh, idk?
17:57:48  <Soni>TFTP with extensions?
17:58:20  <Soni>but that assumes sockets
17:58:27  <Soni>not dbus
17:58:33  <Soni>uh hmm
17:58:44  <creationix>assumed UDP afaik, dbus is more like TCP which will work fine
17:58:58  <creationix>*assumes
17:59:07  <Soni>does dbus have packets?
17:59:50  <creationix>if it does, they are abstracted away. The interesting question would be if it offers frames as part of the interface
18:00:15  <creationix>what's your API look like from the chat side? do you just write and read arbitrary binary chunks?
18:00:53  <Soni>doesn't dbus have a built-in way to handle this?
18:00:59  <creationix>I don't know
18:01:04  <creationix>that's what I'm asking
18:02:05  <creationix>looks like they have a fairly robust RPC protocol already https://dbus.freedesktop.org/doc/dbus-tutorial.html#members
18:02:29  <creationix>as long as there are node bindings for this, it should be easy
18:14:58  * yumaikaschanged nick to yumaikaspook
18:15:04  * yumaikaspookchanged nick to yumaikas
18:58:58  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
19:05:57  * ryan_fordquit (Ping timeout: 240 seconds)
19:11:54  <Soni>creationix: what do you think? https://github.com/kvirc/KVIrc/issues/2322
19:12:00  <Soni>I still need to implement it on hexchat or something
19:12:02  <Soni>hmm
19:12:03  <Soni>wait
19:13:07  <Soni>it's not impossible...
19:15:50  <Soni>it's not pretty, either...
19:26:30  * yumaikaschanged nick to yumaikaspook
20:43:17  * yumaikaspookchanged nick to yumaikillers
20:43:41  * yumaikillerschanged nick to yumaikruger
20:45:06  * yumaikrugerchanged nick to yuckyikas
23:37:26  * Soniquit (Ping timeout: 258 seconds)
23:52:24  * Sonijoined