IRC channel logs

2017-05-20.log

back to list of logs

<paroneayea>there we go
<paroneayea>tests pushed to guile-gcrypt, and they're passing just fine :)
<Guest64282>Hello All. I am building guile, having cloned the repo and switched to branch with tag 2.0.14, but when I run guile it reports 2.0.11. Is this to be expected?
<janneke>Guest64282: no, you're not running 2.0.14 then
<Guest64282>strange. because I built from tag 2.0.14.
<wingo>sneek: later tell stis debugging information and optimization level should be different options
<sneek>Got it.
<wingo>sneek: later tell stis -gN for debugging and -ON for optimization
<sneek>Will do.
***Guest64282 is now known as andro_
***andro_ is now known as andro__
<paroneayea>hello, *!
<janneke>hi paroneayea!
<paroneayea>hi janneke :)
<amz3`>one could write a editor'nema in the spirit of asciinema with annotations and stuff
<amz3`>io all!
<paroneayea>whew!
<paroneayea>I've now copied over all the crypto stuff from Guix and Pubstrate combined into guile-gcrypt :)
<amz3`>what's the properties of gcrypt?
<amz3`>rekado_: here is my soundcloud account https://soundcloud.com/xndxn
<amz3`>rekado_: it's french :)
<amz3`>héllo paroneayea where did you put gcrypt?
<paroneayea>hi amz3`
<paroneayea> https://notabug.org/cwebber/guile-gcrypt/
<amz3`>tx
<amz3`>it's the whole package, everything is bound?!
<amz3`>there is at least base64 which I need?
<amz3`>yes there is sha2
<amz3`>and there is (yet another?) number generator of some sort
<amz3`>that's neat!
<amz3`>the spider is nice on notabug, but I prefer framagit :p
<amz3`>at work we use fernet algorithm
<amz3`>which is not supported by libgcrypt, it's a symmetrical cyphering algorithm
<amz3`>I don't remember which algorithm Django use to hash its password
<amz3`>interestingly there is no bloom filters in libgcrypt ;)
<amz3`>my next scheme challenge will involve this https://github.com/amirouche/nerfed#tech
<stis>hej guilers!
<sneek>Welcome back stis, you have 2 messages.
<sneek>stis, wingo says: debugging information and optimization level should be different options
<sneek>stis, wingo says: -gN for debugging and -ON for optimization
<stis>sounds logical
<paroneayea>amz3`: yeah and there's more to be added too
<paroneayea>this is just the stuff guix and pubstrate have needed so far
<amz3`>well, it's already useful if you don't want to rely on industria
<amz3`>I am not sure what industria does that gcrypt doesn't and the other way around
<paroneayea>hey civodul !
<paroneayea>civodul: https://notabug.org/cwebber/guile-gcrypt
<paroneayea>civodul: now contains all the guix code and tests, as well as the additional code from pubstrate (adding access to the random generators and hmac signatures)
<paroneayea>as well as all the tests from each
<civodul>paroneayea: awesome!
<civodul>excellent
<paroneayea>civodul: so I guess up next is docs and a release, or maybe a release and then docs ;)
<civodul>yeah :-)
<civodul>i won't look into it right now but i'm happy you made it!
<paroneayea>:)
<paroneayea>hey davexunit
<paroneayea>in the CLIM documentation I found a reference to the original paper on which the SICP picture language was based
<paroneayea> https://web.archive.org/web/20050411171707/http://www.ecs.soton.ac.uk/~ph/funcgeo.pdf
<amz3`>paroneayea: what's the purpose of hmac signatures?
<paroneayea>amz3`: somewhere between hashing and signing. It's a signature that's usually pretty short and requires a pretty easy to construct private key of random data, but doesn't require a public/private keypair, just a private one
<paroneayea>I may not be describing this well
<paroneayea>amz3`: it's used by the signed cookie based sessions thing I'm about to add to guile-webutils
<stis>wingo: did what you suggested and over engineered the option a little modelling it on the -O option in case we would want to refine the option in the future.
<stis>I think the patch is ready for trying to get it reviewed. see email to the guile-devel list
<manumanumanu>WHAT! Guile has srfi-42!!!
<manumanumanu>omg. !! Why haven't you told me? I hae been feling sad that it is never included :)
<daviid>paroneayea: you're our history 'guardian' :) wrt to image 'calculus', all this will be dead easy using guile-cv, im-resize, im-crop, im-rotate, im-flip, im-compose ... http://www.gnu.org/software/guile-cv/manual/html_node/Utilities.html#index-im_002dcompose
<paroneayea>daviid: cool :)
<daviid>I plan to release early next week, but if anyone here is interested to help and has a little bit of free time, then clone, read and try the installation... that would help quite a lot already...
<daviid>vigra just released 1.11.1, need to grab and check...
<daviid>paroneayea: i think the description in guile-gcrypt guix.scm is not what it's ment to be?
<paroneayea>daviid: aha hehhhh you're right
<paroneayea>daviid: you can tell there's copy-pasta going on :)
<daviid>:) sure, we're all copy/pasters... :)
<paroneayea>daviid: fix pushed
<daviid>amz3`: you could ask the libgit2 folks to add an entry for guile-git, and try to get it in the front (sub)list, where chicken-git appears...
<reepca>Where could one find a behavior similar to common lisp's unwind-protect?
<civodul>reepca: there's dynamic-wind
<civodul>compared to unwind-protect it has an extra argument, which specifies what to do when restarting the continuation
<civodul>and most of the time you won't care about that one ;-)
<ijp>paroneayea: sorry about the really late reply, but it was exam season and I was prioritising those
<paroneayea>ijp: heya! :)
<paroneayea>happy to hear from you
<ijp>paroneayea: I look forward to getting this thing finally into guile this year with your help
<paroneayea>ijp: yay! I'm looking forward to that too :)
<paroneayea>ijp: so! What should we do as in terms of next steps? I think you have a branch, probably rebasing it onto current guile master and sending an email to guile-devel letting people know is a good step 0?
<ijp>did the cps representation get changed in master? I've been out of the loop for a while
<paroneayea>ijp: I'm not sure
<ijp>ACTION checks
<paroneayea>wingo would clearly know :)
<paroneayea>the module/language/cps directory seems to have some commits affecting it but I don't know if that would break the representation as you were using it
<ijp>I think I am stuck pre-intset, so that will require some work, but it would be a good first step
<ijp>the major hurdles when I left off were 1) dynamic-wind & co 2) the module system 3) tail calls
<paroneayea>ijp: ok, cool... iirc you said you got the Seasoned Schemer's interpreter working right?
<ijp>yes
<paroneayea>cool, glad my memory is working right :)
<paroneayea>ijp: you're more of an expert on this stuff than I am, so in that sense it may be an odd mentorship... I will probably be learning more than you. I think my role here will be to help check in and test the things you're doing as you go along, and check in regularly
<paroneayea>oops I said "check in" twice
<paroneayea>anyway.
<paroneayea>ijp: I think this is a great project, so I'm looking forward to seeing it advance over the summer, and I'm confident you can do great work :)
<ijp>I'm sure it won't be that bad, at the least I expect you are much more comfortable with js than me
<ijp>I've basically only written python this past 8 months or so
<ijp>paroneayea: thanks for your confidence, I really think it should have been manageable last time, but as wingo at least knew, it was a really bad summer for me
<paroneayea>ijp: it's ok, our goal here is to make this summer great :)
<ijp>indeed
<dsmith>ijp, paroneayea: what project is this?
<paroneayea>ijp: feel free to ping me at any point. I'd love to test things when you have things rebased or etc
<paroneayea>dsmith: ijp is working on a scheme (or really, any layer higher than CPS in the guile compiler tower) -> JS compiler layer
<ijp>dsmith: gsoc 2 electric boogaloo
<dsmith>Ahh yes!
<dsmith>I remember that. Cool
<ijp>paroneayea: which timezone are you in again?
<paroneayea>ijp: Central Standard Time; UTC-5 (currently!)
<paroneayea>ijp: so, it's 14:40 here currently.
<paroneayea>ijp: and you?
<paroneayea>I live in Madison, WI which is basically north of Chicago.
<ijp>British Standard Time, which is -1 I think
<ijp>er, summer not standard
<paroneayea>ijp: cool
<ijp>+1 even
<paroneayea>ijp: so what do you think you might have in the next 1-2 weeks?
<paroneayea>ijp: think you might have things rebased by then or etc, and something for me to test?
<paroneayea>based on last time's work?
<ijp>paroneayea: probably going to spend most of the time looking over the code trying to remember what I did. If I can find a way to get back the original representation from the intsets, then a rebase shouldn't (knock on wood) be out of the question
<paroneayea>ijp: cool, sounds like a good plan.
<paroneayea>ijp: feel free to ping me if you have something to see sooner in the week, and if not let's check in next weekend?
<ijp>I'll probably be on here a lot more often now, but yeah, definitely next saturday latest
<paroneayea>ijp: woo! looking forward to it. :)
<paroneayea>happy hacking / code-diving :)
<paroneayea>ijp: btw, I don't know how feasible this is within your goals, as it may involve also figuring out some kind of ffi between the guile generated code and browser js apis (specifically the DOM)
<paroneayea>but it would be interesting to have some visual demos generated by the end of the summer
<paroneayea>extra huge bonus points if something renders using sxml :)
<ijp>my original idea was to do something like (system foreign), but if we can figure out something better, I'd be open to it
<paroneayea>(system foreign) would be good
<ijp>I considered a quasi-js ` , thing, but I have no idea how to do it sensibly
<paroneayea>ijp: saying bonus points for sxml is mainly because eventually I have my own reasons to be interested in this: it would be nice to use the same sxml templates I render from on the guile server-side also in the browser for AJAX'y or websocket type applications that have interactive components
<paroneayea>ijp: (system foreign) sounds easier than some quasiquoted thing to me
<paroneayea>(system foreign) -like I should say
<paroneayea>ijp: but maybe the best route is to try and see :)
<amz3`>ijp: fwiw I can help you too, if we can coop we will have a full stack guile framework (right now the frontend is powered by biwascheme)
<amz3`>ijp: it's nearly isomorphic
<amz3`>ijp: i made a series of videos https://www.youtube.com/playlist?list=PL_jCPpfzyfeqqEcioz71x5XvXnq9UABdK
<amz3`>ijp: right now I don't use the module system 'load is enough
<amz3`>ijp: I don't tail call recursion I think but I am not sure
<amz3`>ijp: I don't need tail call recursion I think but I am not sure
<amz3`>ijp: basically, i only what seems to be a biwascheme specific instance of call/cc to give ajax a synchronous loook
<amz3`>+need
<amz3`>cf. https://framagit.org/a-guile-mind/azul/commit/920a676b85323b427741a7c07ad28aedc97b9fd9
<ijp>I'll give it a look later on. I do think it would be nice to have a full stack. My own site is guile+sxml and no js so I didn't have any problem there
<ijp>fwiw tail calls weren't really a huge problem, I just didn't start it because I figured I'd be able to handle it once I got all of boot-9.scm converted
<amz3`>I'd like to dig the progressive web apps, right now the only thing in the pipe is read-only static html and full capability with a js engine
<amz3`>ijp: it use guile-fiber :)
<amz3`>ijp: FYI here is the Jvascript language interface of biwascheme http://www.biwascheme.org/doc/reference.html#js-interface
<amz3`>I did not succeed at running chicken's spock
<amz3`>ijp: this is the bare minimum to make useable
<amz3`>I mean the js interface is the minimum to get started
<amz3`>with lists and its friendly primitives
<amz3`>and the pause/resume thing will allow to do calls to the server over AJAX (RPC)
<amz3`>that said under another configuration, you don't need call/cc or pause/resume
<amz3`>s/configuration/framework/
<jxself>Oh, this channel is still logged? Barf.
<jxself>"As a condition of participating in our community you must agree that everything you say and do will be recorded and broadcast on the internet for all to see."
<amz3`>nowdays async/await will become the norm in years to come
<civodul>heh fun
<amz3`>right now in javascript land it's considered the compatibility layer is too heavy
<amz3`>right now in javascript land it's considered the compatibility layer needed by async/await is too heavy in kb
<amz3`>right now in javascript land, the compatibility layer needed by async/await is too heavy in kb
<amz3`>on my side, I don't care much about the runtime library size, as long as it's as compatible as possible as guile to allow for seemless switch between the frontend part and backend stuff
<amz3`>(which will be always different somehow, but that's another story)
<amz3`>otherwise we won't be able to go explore space, the next shuttle for deep space will be ready at 00:00 AM GMT the 2050/01/01, we need you ijp
<amz3`>disclaimer: your code won't necessarly be part of the space shuttle code, but might come handy for the settlers that will live in GNU prime
<amz3`>We did not choose which framework to use for the space shuttle interface, Security council voted in favor of chicadee but it still lakes some to be feature ready
<amz3`>The council did not consider coop with the Mozilla fame as they are busy being rusty... :D
<amz3`>Apparently, the diversity council argues that C code should not be excluded from the program...
<amz3`>Diversity council doesn't seem aware that the program already includes C programs or forgot that iceweasel is C++
<amz3`>so, basically one way or another we need full stack scheme
<amz3`>if you have more hope, than most of the crew, you can investigate the earth software system which goal is to make it possible to bootstrap a civilization
<amz3`>DIY civilization kit of some sort
<amz3`>I am wondering what is more difficult
<daviid>I've improved (I think :)) Guile-CV's web site: http://www.gnu.org/software/guile-cv/ [constructive critiques are welcome...]