IRC channel logs

2017-09-21.log

back to list of logs

<dustyweb> https://gitlab.com/dustyweb/guile-csexps
<cmaloney>\\o/
<dustyweb>needs better docs and a Real Release(TM) but I think the README explains the rationale well
<cmaloney>Yeah, it's mostly clear
<cmaloney>though my mind kept saying "JUST USE JSON"
<dustyweb>for binary data? :)
<cmaloney>Yes
<cmaloney>#\\7FFF#\\8FFF
<cmaloney>;)
<dustyweb>heh
<dustyweb>one nice thing about this library also
<dustyweb>though I haven't demo'ed it yet in the docs
<dustyweb>is you can describe how to transform something like a srfi-9 record or a goops class
<dustyweb>and it'll recursively package it all up
<dustyweb>and unpack it back
<cmaloney>Oh, nice
<cmaloney>ACTION thinks of pickling data. ;)
<dustyweb>yes, except less dangerous :)
<dustyweb>when you set up a serializer here you're explicitly describing how it works
<dustyweb>though there are some lazy procedures to make describing that in just a couple of lines very easy
<dustyweb>more to come anyway
<cmaloney>iirc Python Pickling is essentialy a memory dump, no?
<dustyweb>yup
<dustyweb>also not safe to send across the wire because of it
<cmaloney>Yeah
<cmaloney>which is why we json all the things.
<cmaloney>except dates
<cmaloney>because JavaScript
<dustyweb>the pain of not knowing whether or not a field was a uri or a string in json-ld is partly what kept me thinking about canonical s-exps
<dustyweb>you have to expand it out to its unambiguous form
<dustyweb>and then you aren't really working on json anymore
<cmaloney>Yeah
<dustyweb>however
<cmaloney>The sad thing about XML is you can spec that nonsense. The sad thing about JSON is you can't.
<dustyweb>json has a nice feature in that it provides a few core types and it's easy to parse for pretty much everywhere
<dustyweb>json is a good lowest common denominator
<dustyweb>but when you want more than that, it gets a bit irritating
<cmaloney>Right, save for when you have to ensure type-safety
<cmaloney>Funnily enough a friend was lamenting a situation where he was passing XML somewhere
<cmaloney>and it screamed "USE SOAP / WSDL"
<cmaloney>and naturally they weren't using it
<cmaloney>crazy-making
<cmaloney>They had to install some black-box tech that would say whether the XML was passing or non-passing
<dustyweb>SXML is really nice in scheme-land
<dustyweb>though
<dustyweb>also not good for binary data either
<cmaloney>XML is terrible for binary data
<dustyweb>and you can't write an xml parser in 150 lines of code :)
<cmaloney>God no. It's like parsing an email address using regex. ;)
<dustyweb>I wrote the csexp reader/writer both in 150 SLOC
<cmaloney>w00t
<dustyweb>largely inspired by davexunit's json stuff :)
<dustyweb>of course in csexp you need to make sure that both sides know how to interpret type stuff the same way
<dustyweb>which is fine if you've just got pretty much the same two programs running, but if you want somthing more complicated... that's another layer to implement
<dustyweb>but for what I wanted it for it's not a big deal
<cmaloney>Yeah, that's cool
<str1ngs>hello, I'm messing around with ffi. I'm trying to call the glob libc function. but I'm having trouble figure out how to get the char **gl_pathv field. I can get the int fields but not sure how to handle C string arrays
***Amynka is now known as Marvin
***Marvin is now known as Marviin
***Marviin is now known as Marwin
***Marwin is now known as Amynka
<amz3`>tzag
<stis_>hurray, I managed to compile python *arg *kwargs e.g. keyword arguments and optional arguments
<stis_>It's lot of work just to reach somewhat accapteble default python environment.
<dustyweb>o/
<dustyweb>hm, what to use for csv parsing
<dustyweb>I guess https://github.com/NalaGinrut/guile-csv ?
<dustyweb> https://github.com/NalaGinrut/guile-csv/commits/master not sure what's going on in these recent commits, looks like nala removed the automake stuff(?)
<hooverville>dustyweb: i struggled with finding a csv parser that fit my needs earlier in the year. Someone in this channel pointed/provided me with an older module neil van dyke wrote for racket, before it required other racket modules
<ArneBab_>dustyweb: I’m currently using guive-csv, but not for anything performance critical
<dustyweb>hooverville: ArneBab_: thanks for the feedback
<dustyweb>ACTION packages for guix
<ArneBab_>it works pretty well, gives me lists like (record-1 ((header1 value1) (header2 value2) ...)
<amz3`>what do you use to hash password to store in database?
<dustyweb>amz3`: I can point you what I do if you like
<amz3`>dustyweb: sure
<dustyweb>amz3`: it uses guile-gcrypt
<dustyweb>so you'll need that
<dustyweb>ACTION ought to make a proper release...
<dustyweb>amz3`: https://gitlab.com/dustyweb/pubstrate/blob/master/pubstrate/webapp/auth.scm#L43
<amz3`>tx
<dustyweb>np
<dustyweb>oof :< https://github.com/NalaGinrut/guile-csv/blob/master/Makefile
<dustyweb>I do not like that Makefile
<civodul>heh :-)
<OrangeShark>dustyweb: https://github.com/NalaGinrut/guile-csv/issues/1
<dustyweb>OrangeShark: yeah I saw that
<dustyweb>OrangeShark: well, the build script for guix is also pretty simple ;)
<dustyweb>copy over and compile over a file :)