00:17:46  * contrahaxjoined
00:44:18  * phatedjoined
00:49:15  * phatedquit (Ping timeout: 260 seconds)
02:32:32  * phatedjoined
02:37:05  * phatedquit (Ping timeout: 258 seconds)
03:39:11  <noffle>substack: any qualms with https://github.com/substack/node-charm/pull/30 ? seems useful, but I didn't want to merge in case you had strong feelings about the exact licencing
03:47:26  <substack>looks good
03:47:30  <substack>I just hadn't gotten around to it
03:47:53  <substack>kemitchell knows lawyery stuff
03:48:42  * phatedjoined
03:52:33  * lrlnaquit (Quit: Connection closed for inactivity)
03:53:43  * phatedquit (Ping timeout: 265 seconds)
03:57:34  <emilbayes>It occurred to me the other day that CSS selectors are a query language / pattern matching for trees. I know of the graph query languages that try to mimic sql, but are there any good tree query languages out there? Of course there's jsonpath and xpath, but any interesting ones?
04:05:31  <jfhbrook>emilbayes: gremlin?
04:05:47  <jfhbrook>emilbayes: also whatever language neo4j uses
04:06:12  <jfhbrook>emilbayes: oh, also consider jq's dsl, it's different from jsonselect
04:06:17  <jfhbrook>(jsonselect for that matter)
04:07:01  <jfhbrook>actually now that I think about it, what I mean to say is that there's jsonselect in addition to jsonpath, which *might* be what jq speaks?
04:08:43  <jfhbrook>https://github.com/lloyd/JSONSelect
04:11:03  <jfhbrook>oh wow, no, jq is definitely distinct from both
04:11:18  <jfhbrook>https://stedolan.github.io/jq/manual/#Advancedfeatures
04:39:06  <substack>emilbayes: if you bring the data to your process instead of externalizing it you can do the queries in a straightforward way
04:39:43  <substack>using leveldb for example you can do db.get() recursively without much a penalty for round-trips like you would get with an external db
04:46:52  <jfhbrook>query DSLs are nice in that they're serializable in a safe-ish way
04:47:05  <jfhbrook>like if you want to expose it to outside parties as an api
04:48:01  <jfhbrook>like I've toyed with "just use javascript" for that kinda thing
04:48:19  <jfhbrook>and in fact I kinda did implement that, since that part of the code was javascript-as-config
04:48:51  <jfhbrook>but as an api, thinking more about replacing graphql with a javascript query builder
04:50:57  <jfhbrook>it turns out search indexing and external querying are related
04:53:28  <substack>I think moving the data closer to the compute is underexplored
04:53:42  <substack>there's inertia for external databases
04:54:05  <substack>this makes a ton of sense particularly in the browser
04:54:26  <substack>because of the latency to round-trip all writes to a hosted db
04:55:35  <jfhbrook>so the reason SOAs are a thing isn't because it "scales better", at least not for a lot of people, it's a matter of conway's law
04:56:05  <jfhbrook>though, fair point, you could store the data itself in sqlite
04:56:10  <jfhbrook>or similar
05:01:46  <jfhbrook>otoh I see a db as being a specialized api, in a sense, like you interact with it in largely the same way
05:01:51  <jfhbrook>couch especially
07:50:14  <emilbayes>substack jfhbrook I was looking for something neat like regex for trees, like a concise DSL. Cipher from neo4j is more like a sql, and Jw is quite nice, but there's all the transform stuff in there too. I was just wondering about if there was some nice ideas I hadn't come across
07:50:54  <emilbayes>But thanks for the suggestions! Not looking for practical implementations, but ideas, maybe papers?
08:17:27  * domanicjoined
08:26:12  * domanicquit (Ping timeout: 260 seconds)
08:27:56  * domanicjoined
08:32:21  * domanicquit (Ping timeout: 246 seconds)
08:33:07  * domanicjoined
09:09:32  * contrahaxquit (Quit: Sleeping)
11:08:46  * lrlnajoined
11:20:05  * dominic__joined
11:23:10  * domanicquit (Read error: Connection reset by peer)
11:25:09  * thealphanerdquit (Quit: farewell for now)
11:25:39  * thealphanerdjoined
11:39:49  * fotoveritequit (Quit: fotoverite)
13:33:29  * contrahaxjoined
13:42:34  * lrlnaquit (Quit: Connection closed for inactivity)
13:42:57  * dominic__quit (Ping timeout: 268 seconds)
14:07:17  * contrahaxquit (Quit: Sleeping)
14:29:12  * contrahaxjoined
14:32:43  * lrlnajoined
14:42:10  * contrahaxquit (Quit: Sleeping)
15:45:28  * contrahaxjoined
16:00:25  * fotoveritejoined
18:08:43  * contrahaxquit (Quit: Sleeping)
18:52:34  * lrlnaquit (Quit: Connection closed for inactivity)
19:37:23  * contrahaxjoined
19:41:51  * pfallenopquit (Remote host closed the connection)
20:00:20  * pfallenopjoined
21:31:03  * contrahaxquit (Quit: Sleeping)
21:57:32  * contrahaxjoined
23:48:22  * lrlnajoined