Database connections as subprocesses
Lassi Kortela
(14 Sep 2019 07:30 UTC)
|
||
Re: Database connections as subprocesses
John Cowan
(15 Sep 2019 01:06 UTC)
|
||
Re: Database connections as subprocesses
Lassi Kortela
(15 Sep 2019 06:28 UTC)
|
||
Re: Database connections as subprocesses
John Cowan
(15 Sep 2019 23:02 UTC)
|
||
Re: Database connections as subprocesses
Lassi Kortela
(16 Sep 2019 08:22 UTC)
|
||
Binary S-expressions
Lassi Kortela
(16 Sep 2019 17:49 UTC)
|
||
(missing)
|
||
Re: Binary S-expressions
Lassi Kortela
(17 Sep 2019 09:46 UTC)
|
||
Re: Binary S-expressions
Alaric Snell-Pym
(17 Sep 2019 11:33 UTC)
|
||
Re: Binary S-expressions Lassi Kortela (17 Sep 2019 12:05 UTC)
|
||
Re: Binary S-expressions
Alaric Snell-Pym
(17 Sep 2019 12:23 UTC)
|
||
Re: Binary S-expressions
Lassi Kortela
(17 Sep 2019 13:20 UTC)
|
||
Re: Binary S-expressions
Lassi Kortela
(17 Sep 2019 13:48 UTC)
|
||
Re: Binary S-expressions
Alaric Snell-Pym
(17 Sep 2019 15:52 UTC)
|
||
Re: Binary S-expressions
hga@xxxxxx
(17 Sep 2019 16:25 UTC)
|
||
Re: Binary S-expressions
rain1@xxxxxx
(17 Sep 2019 09:28 UTC)
|
||
Re: Binary S-expressions
Lassi Kortela
(17 Sep 2019 10:05 UTC)
|
||
Python library for binary S-expressions
Lassi Kortela
(17 Sep 2019 21:51 UTC)
|
||
R7RS library for binary S-expressions
Lassi Kortela
(17 Sep 2019 23:56 UTC)
|
||
Re: Database connections as subprocesses
Alaric Snell-Pym
(16 Sep 2019 08:40 UTC)
|
||
Re: Database connections as subprocesses
Lassi Kortela
(16 Sep 2019 09:22 UTC)
|
||
Re: Database connections as subprocesses
Alaric Snell-Pym
(16 Sep 2019 11:28 UTC)
|
||
Re: Database connections as subprocesses
hga@xxxxxx
(16 Sep 2019 13:28 UTC)
|
||
Re: Database connections as subprocesses
Lassi Kortela
(16 Sep 2019 13:50 UTC)
|
||
Re: Database connections as subprocesses
hga@xxxxxx
(17 Sep 2019 13:59 UTC)
|
||
Re: Database connections as subprocesses
John Cowan
(16 Sep 2019 22:41 UTC)
|
||
Re: Database connections as subprocesses
Lassi Kortela
(17 Sep 2019 09:57 UTC)
|
||
Re: Database connections as subprocesses
Lassi Kortela
(17 Sep 2019 10:22 UTC)
|
> A tangential but related issue is that I shy away from using read and > write for "protocols" where possible due to the frequent presence of > vendor extensions that allow for executing arbitrary code in read - > which isn't a problem in trusted environments, but still seems like an > unnecessary danger that could lead to an exploit escalating... I've > ended up writing ad-hoc binary representations for protocol use when it > would have been far nicer to use read and write. An untrusted-data-safe > binary sexpression format SRFI would be most welcome with me - but I'd > like it in its own SRFI rather than a persistence one, as I'd use it for > protocols more than for persisting :-) Thanks for the support, Alaric :) Once again, I agree with all your points of view. Almost forgot, here is Rivest's Internet Draft for portable S-expressions: <http://people.csail.mit.edu/rivest/Sexp.txt>. Those are text-based, but permit bytevectors (octet strings) to be encoded with a length prefix, similar to rain1's encoding. The landing page with links to C code: <http://people.csail.mit.edu/rivest/sexp.html>. I would still prefer a binary encoding for interchange, since a text encoding using length prefixes is not really human-readable or editable. Also, people tend to open text files in text editors, which causes all the usual problems with character encodings and whitespace to start spreading. If we make binary S-expressions with the same data model as text ones, it'll be trivial to convert back and forth, so people can just convert to text for editing and inspection. If there is interest, I can write a spec about such an encoding, and solicit feedback. The basics are extremely easy to do with varints, as demonstrated. Intricate data types like floats, timestamps, etc. are harder, and could be left out, or if not, people like John know a lot more about those than I do. I'd like to have an encoding that has enough range that it can also be used seamlessly from Common Lisp, Clojure and Emacs Lisp. In fact, I'd like to have command-line program that converts between all the different text/binary S-expression representations. You could just pipe things to it as you went about your daily work. The encoders/decoders could have an option for how to convert nil/#f/().