IRC channel logs

2017-02-11.log

back to list of logs

<amz3>héllo there
<amz3>héllo here
<amz3>how do you handle data validation? I am looking for something similar to wtforms or pylons colander
<catonano>amz3: I was wondering if something similar to the new clojure thig could be implemented in Guile scheme
<amz3>what clojure thing?
<catonano>ah you were thinking about data inserted by humans
<catonano>the clojure thing is that kind of incremental type checking
<catonano>they introduced recently
<catonano>I can t remember its name, sorry
<amz3>I am thinking about data inserted by human
<amz3>+s
<amz3>I am writing my first graph traversal since months!
<amz3>exciting
<amz3>woot! it works! :)
<amz3>héhé
<amz3> https://framagit.org/a-guile-mind/culturia.one/blob/master/src/webui.scm#L823
<amz3>so i have a basic wiki, a basic forum
<catonano_>amz3: very interesting
<amz3>catonano_: did you see the query?
<amz3> https://framagit.org/a-guile-mind/culturia.one/blob/master/src/webui.scm#L823
<amz3>?
<amz3>I added a traversi-sort that keeps history of the value so that you can backtrack
<catonano_>no I diidn't
<catonano_>oh yes I saw the query
<catonano_>what is this forum for ?
<catonano_>culturia.one ?
<amz3>well... I am basically coding a bunch of feature around the search engine...
<amz3>features
<amz3>not sure how it makes sens
<catonano_>amz3: I couldn't install GuixSD on my laptop, and I couldn't install guix with a binary installation either
<amz3>catonano_: I was going to ask
<catonano_>so now I'm not sure how to continuue my work on the nodes packages graph
<amz3>did you post a message about the failed biiinary installation?
<catonano_>no
<catonano_>I could, yes
<catonano_>amz3: will you update your culturia package for guix ?
<catonano_>in particular, there's the last wiredtiger version in guix now
<amz3>catonano_: not yet
<amz3>ah yes
<catonano_>amz3: so I have some time in order to sort out my installation woes ;-)
<catonano_>amz3: we sould really move to the guix channel, to discuss guix related stuff ;-)
<amz3>it's ok i think
<amz3>last time I tried to updaet to guix, I've hit issues
<amz3>I did not have the energy to fix them
<amz3>but I fixed some of them
<amz3>I discovered that wiredtiger changed their API hence the issues I had
<amz3>I should really install guixsd proper on my laptop and work exclusvely with it
<amz3>but I am lazy especially since my current setup works
<catonano_>amz3: that's what I thought too
<catonano_>I attempted an installation of GuixSD but I was forced to come back on Fedora AND the old setup is lost too :-/
<amz3>also wiredtiger (and culturia) are not autotools based which makes supporting both guix and non-guix a pain
<catonano_>amz3: anyway I wanted to thank you for convincing me goiing to the Fosdem
<amz3>:)
<catonano_>it was really nice meeting the people in person
<amz3>catonano_: what presentation did you see?
<catonano_>I saw all of them, I stayed in the guile room all thhe time
<catonano_>I couldn't really follow thhem all
<catonano_>I was a bit weared off, especially in the first hhours in the morning
<catonano_>but I especially enoyed the dinnerr on sunday evening :-)
<amz3>what presentation did you enjoy the most?
<catonano_>cwebber's one
<catonano_>ffor 2 reasons
<amz3>which one he did several? the asyncmud thing?
<catonano_>first reason is that I am attracted to concurrency, wich I don'tknow so much about
<catonano_>and the second reason
<catonano_>is that it was not just a talk. It was a performance !
<amz3>:)
<catonano_>te guy has some wit
<catonano_>;-))
<catonano_>also the discussion about the future of guix was frank and highly insightfful
<amz3>really?
<amz3>what's the future of guix then?
<catonano_>eh, lots of stuff
<amz3>I planned to use guile fibers for culturia but then settled on using what I already know
<catonano_>thhe main ting I am interested in right now would be a script that automates the binary installation
<amz3>I will let other sort out how to build a web app uising fibers
<paroneayea>:)
<paroneayea>I'm glad you liked the mud talk catonano_ :)
<paroneayea>it was also nice meeting you! and everyone.
<catonano_>paroneayea: I did :-)
<paroneayea>I'm giving it again here in chicago to the local gnu/linux usergroup
<catonano_>paroneayea: you're accumulating experienced in giving it, like real showmen ;-)
<amz3>I got an idea on how to build a web app using websockets and no javascript inspired from nevow framework
<paroneayea>:)
<catonano_>amz3, paroneayea: I'd love to see some divulgative stuff about cps
<catonano_>sort of SICP chapter on it
<paroneayea>catonano_: I don't know much about CPS! I only know about the actor model, and the ways in which they overlap :)
<paroneayea>catonano_: but, there is this book that wingo referenced:
<catonano_>paroneayea: I was just thinking out loud ;-)
<paroneayea> http://usingcsp.com/cspbook.pdf
<paroneayea> http://usingcsp.com/
<catonano_>uh thanks !
<paroneayea>catonano_: I haven't read it, but if wingo thinks it's good...
<amz3>basically, you create a websocket link with the client and send a bunch of html to the browser which is rendered using snabbdom, DOM events are translated into messages over the ws link and execute a callback which must return some html
<catonano_>it's gonna be very good, I'm sure. But divulgative ? Mm
<amz3>basically dom events are translated to ws messages... the rest is boilerplate code
<catonano_>I'll see, anyway
<catonano_>paroneayea: thanks !
<catonano_>amz3: it wold be interesting to see what Hoplon is doing
<catonano_>Hoplon is a clourescript framework
<catonano_>the Hoplon guys are cool
<amz3> https://en.wikipedia.org/wiki/Nevow
<catonano_>I have the impressiion that they were influenced by the same Hop the Ludo mentioned in discussing gexps
<amz3>this makes it possible to build widgets directly in scheme
<amz3>catonano_: link?
<amz3>got it
<catonano_>amz3: http://hoplon.io/
<amz3>tx
<amz3>like I said in the framework I am thinking about you do not need to call javascript, there is small runtime that is all
<catonano_>anyway, for now I have to sorto ut the installation issue
<amz3>well... some stuff still require javascript like inline validation
<catonano_>amz3: I'm not sure I undertand, but Hoplon has a rntime too. A runtime tat runs inside the browser
<catonano_>but you don't write avascript. You write cliure
<catonano_>cloure
<catonano_>a compiler copmiles that to javascript, but taht's transparent
<catonano_>also
<catonano_>tey have a thing that arranges computation in a dataflow style
<catonano_>with cells that autoupdate each other
<catonano_>it's very convenient for GUIs
<catonano_>I have to apologize for my typing :-/
<catonano_>it seemed to me that the Hoplon cells framework is similar to what William Byrd presented
<catonano_>I can't remember tha name now, anyway I was just mumblig out louud
<catonano_>priority now is the installation
<paroneayea>catonano_: hm, there's also HipHop
<amz3>My framework is a backend framework, Hoplon seemms like a frontend framework
<paroneayea>which I know ludo has also talked about before
<paroneayea>o/ civodul
<amz3>in my framework, frontend state is stored in the backend, there is no state frontend side
<civodul>hey ho!
<amz3>and there is no javascriipit compilation required
<amz3>o/
<catonano_>paroneayea: never heard about it
<catonano_>amz3: ahhh I see. You're right, Hoplon is a front end thing.
<paroneayea> https://www-sop.inria.fr/indes/pwd/
<janneke>early this morning: janneke@debian:~/src/guix$ ./pre-inst-env guix package -i hello
<paroneayea>I assume that's the Hop civodul was discussing but I dunno for sure :)
<janneke>now at libunistring...no clue which round... :-(
<amz3>what is “the diffuse web”?
<catonano_>paroneayea: I heard him discuss Hop in the context of staging and gexps
<paroneayea>now there is a hop.js too? so much hopping! http://hop.inria.fr/home/index.html
<catonano_>te same way some code is "staged" to be run by thhe daemon, in guix, some code is "staged" to be run in thhe browser in Hoplon
<paroneayea>ah
<catonano_>yes as far as I understand, Hop is the origin
<paroneayea>:)
<catonano_>civodul: hey ;-)
<civodul>paroneayea: Hopjs is Hop with a JS syntax
<paroneayea>aha :)
<civodul>initially Hop was Scheme for both server- and client-side (browser)
<paroneayea>I read the scheme Hop paper but I didn't really get it :)
<civodul>and then, Manuel thought that making everything JS would make it so popular
<paroneayea>;)
<paroneayea>JS is popular right now!
<civodul>so now everything is JS, compiled to Scheme, and then compiled to JS again for the browser side :-)
<paroneayea>wow!
<civodul>a regression if you ask me ;-)
<civodul>and guess what, Hopjs is not any more popular than Hop
<civodul>and an order of magnitude less popular than Racket, which is Scheme
<civodul></rant>
<paroneayea>ACTION hopes webassembly will kill everyone's obsession with javascript as "but you gotta target javascript"
<catonano_>civodul: a regression indeed ;-)
<civodul>that said, Hop does the right thing in many ways for web stuff!
<civodul>lots of good ideas
<paroneayea>:)
<civodul>and yeah, staging
<civodul>janneke: https://github.com/namin/inc looks interesting
<civodul>wingo, mark_weaver: i was considering pushing 2.0.14 just so we can get the reproducible-build fix out
<civodul>WDYT?
<civodul>there's been only a handful of commits since 2.0.13
<janneke>civodul: thanks, it does!
<janneke>much like ur-scheme?
<civodul>dunno that one
<janneke>"Ur-Scheme is a compiler from a small subset of R5RS Scheme to Intel x86 assembly language for Linux. " -- http://canonical.org/~kragen/sw/urscheme/
<paroneayea>hrm.
<paroneayea>ahaaaaaaa :D
<paroneayea>wow readelf is coooool
<janneke>grrr, there are more types of laptop WIFI cards than I knew
<janneke>paroneayea: what you're reading?
<paroneayea>janneke: I submitted a guile2.2-gdbm-ffi package to guix, but I borked it
<paroneayea>so I was trying to find out what was wrong, and it turns out, multiple things
<paroneayea>it was having trouble reading from the .go file correctly
<paroneayea>so I was like, wtf is going on
<paroneayea>well, turns out it was a GOOF file!
<amz3>seems like guile-websocket assumes request/response kind of protocol whereas it's actually a multiplex protocol. The server can send msg to client anytime and receive messages anytime
<paroneayea>we were never using the guild binary from the input and instead were using an internal guile utility to compile the package. Oops!
<paroneayea>amz3: yes, the server in there was a demo example
<paroneayea>but luckily, easy to adapt
<amz3>ok
<paroneayea>8sync's snarfed guile-websocket code wraps in an actor
<paroneayea>and can do multiple connectoins just great
<amz3>I am looking at it
<janneke>paroneayea: whoa!
<paroneayea>janneke: yeah, my bad
<paroneayea>I'm making a fix :)
<janneke>:-)
<paroneayea>but anyway, I found out by running readelf on it and it wasn't an elf file, despite in theory compiled for guile 2.2
<paroneayea>and then after I fixed it, I looked at the readelf output
<paroneayea>it's so nice!
<janneke>yeah...
<janneke>i've been using objdump/readelf/gdb a lot for mes; some emacs hexl mode
<janneke>weird...the more i get into guile/guix, the less scheme i write
<paroneayea>ha :)
<didi>Is there some kind of abstract type for sequences? i.e. I can map over lists, strings, bytevectors using the same procedure?
<paroneayea>didi: unfortunately not
<didi>paroneayea: Oh well. Thank you.
<paroneayea>didi: you could write such a thing with goops, or perhaps wrap in a stream
<didi>paroneayea: Thank you.
<paroneayea>didi: np! sorry, wish there was a better answer.
<civodul>janneke: don't miss Guile's ELF module!
<civodul>OrangeShark, amz3: i just noticed that guile-git is GPLv3+, but ISTR libgit2 is GPLv2-only
<civodul>you may have to change to GPLv2+
<OrangeShark>civodul: It has a linking exception
<OrangeShark>all the official language bindings by libgit2 use MIT license
<civodul>OrangeShark: oh ok, so i guess that's fine
<civodul>cool
<daviid>civodul: so, i can't find the hop (scheme) website anymore? the wiki hop scheme link goes to the hop.js ... how sad!
<daviid>did read the log and wanted to look at it again ... just curious
<daviid>wingo: heya! did you have a chance to look at the goops related bugs filed by paroneayea wrt/since 2.1.x?
<amz3>daviid: are you looking for this https://github.com/manuel-serrano/hop
<daviid>amz3: that github says almost nothing, and at the end points to http://hop.inria.fr which lands to the js website:instead, it should still land to the scheme intro and based API, then offer a JS link for the 'JS folks'... civodul you should talk to Manual, this is terrible, imo
<amz3>:/
<linas>so .. is there any kind of jupyter for guile (or vice-versa, guile shims for jupyter)?
<linas>from what I can tell, a "native jupyter kernel" for quile would require guile json and guile zero-mq modules, at the bare minimum.
<amz3>would a jupyter kernel allow to easily draw diagrams?
<linas>I dunno. I hope so
<linas>I need to create a "data dashboard" so that I can understand what the heck is going on with my... err, data-research system
<linas>Up till now, I've been keeping diaries, writtten in plain ascii, or maybe lyx, and hand-curating graphics plotted with gnuplot
<didi>linas: You might like Emacs' org-mode.
<linas>but this is impractical, doesn't scale, if I need to monitor 100 subsystems.
<didi>Specifically, org's babel.
<linas>well - the org-mode page describes the exact opposite of what I need to do
<didi>oic
<daviid>linas: what about http://wingolog.org/projects/guile-charting/
<linas>Currently, I have 113 nearly-identical-but-different machine-learning tasks that are spweing vast quantities of data
<amz3>daviid: \\o/
<linas>so I currently use makefiles, bash scripts, and gnuplot graphics (generated by makefiles) to visual tht firehose
<linas>any charting program will do, but its the automation of the makefiles and bash scripts that is failing to integrate with my hand-written diary & research notes.
<amz3>I think org mode does allow to mix code with writing and execute the code in a similar fashion to what jupyter does but in emacs
<linas>In the "business intelligence" world, they call these things "dashboards"
<amz3>yes I see what it is, but it seems to me those things are highly business specific
<linas>the problem with emacs, is I need to share with other users, and they need to be able to use a polan web-browser to see it
<linas>(they'll be windows/macos people)
<linas>s/polan/plain/
<didi>Org can export to HTML.
<amz3>I org-mode can generate pdf but again I am not an expert
<linas>well -not export, but "live data", like "what is it doing right now"
<didi>Also PDF.
<amz3>linas: hire a frontend dev then :p
<linas>exporting a gigabyte of data for 113 different feeds would result in a 113 gigabyte pdf file which is absurd
<daviid>linas: for 'realtime' dashboard, I recommend guile-clutter and guile-async2 (for the integration with the glib main loop). if it is just reading soe and writing a pdf or what ever, then using guile-charting might be your friend here
<linas>look from what I can tell, jupyter does what I need
<daviid>linas there is a graphviz guile package as well, somewhere, I don't have the link
<amz3>linas: https://github.com/airbnb/superset#screenshots--gifs
<linas>hmm. maybe clutter might work.
<amz3>that ^ said, jupyter should work the only problem I had with it is that I could not use my db library for some reason...
<linas>The general idea would be kind-of-like http://www.pentaho.com/ except that one assumes that you've already written servers to serve up your data
<amz3>that's exactly like what I posted above called superset from airbnb
<amz3>but with bettter visuals
<linas>I don't have time to create servers and http/json API's, which is what makes jupyter so appealing
<linas>looking
<linas>OK, yes, the airbnb/superset looks like a nice front-end ... so the question is: how hard is it to create the backend?
<amz3>I am looking at it
<linas>my currently-totally-naive impression is that jupyters power is in having an OK front-end, and a super-easy way of scripting ad-hoc backends.
<linas>I might be wrong, but that's my impression
<linas> https://jupyter.readthedocs.io/en/latest/use-cases/content-user.html
<linas>this one lists R, python, julia and bash; there's also haskell : https://jupyter.readthedocs.io/en/latest/use-cases/data_science.html
<amz3>at least it seems like you can get rich representation working
<amz3> https://irkernel.github.io/
<amz3>but I don't think it comes for free with only the jupyter kernel done
<linas>well, so I was asking about the "iguile kernel", I guess
<johannes>yes, I've been wondering about that as well
<linas>ah, there are also ruby, scala, node.js and go kernels
<linas> http://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/What%20is%20the%20Jupyter%20Notebook.html
<johannes>There is a Python based scheme called Calysto that has a kernel
<johannes>the bare mininum interaction with the repl should be easy
<linas>bingo!
<civodul>daviid: hop.inria.fr works for me
<civodul>hopjs is the same thing as hop with with an additional js->scheme compiler
<civodul>(i'm not in touch with Manuel tho)
<daviid>civodul: ok. but for schermers, where is teh API? and imo, too bad the main site does not first describe it is a scheme 'toolbox', with an optional js API for the unfortunates :). my 2c
<civodul>ditching Scheme was on purpose, but i agree it's unfortunate
<weinholt>i'm looking at FreeDOS running in Guile, slowly
<ArneBab_>I just finished reviewing the natural script writing video from FOSDEM — yay!
<janneke>ArneBab_: yay!