IRC channel logs

2017-03-04.log

back to list of logs

<amz3>ArneBab: do you have ideas on how to make http://guildhall.hypermove.net work with guildhall by ijp?
<amz3>there is almost no comment in my code except maybe this very useful one
<amz3>(define (make-context request body)
<amz3> "Create a route context"
<amz3>which second argument is useless
<amz3>the `maybe' procedure sound like magic at play
<amz3> https://framagit.org/a-guile-mind/culturia.one/blob/guildhall/src/webui.scm#L718
<daviid>amz3: guildhall users need to tell guildhall where to look for packages, that is done in .config/guildhall/config.scm
<daviid>as an example: (repository shift-reset "http://shift-reset.com/doro/")
<amz3>oh!
<daviid>(destination shift-reset (fhs "/opt")
<amz3>tx!
<daviid>guild update
<amz3>interesting topic about guildhall https://groups.google.com/forum/#!topic/ikarus-users/-ruJDjAV9vE
<amz3> I think the fact that the result of excercising Dorodango is
<amz3> essentially a "polished mudball", makes this quite suitable a name
<amz3> for a Package manager ;-)
<amz3>Dorodango is the package manager which guildhall is based on
<amz3>guildhall seems all nice but it's broken for 2.2, or seems like it. I will Arne branch
<daviid>ArneBab: using this repo git://github.com/ijp/guildhall.git, which seems to have your patches, guild update raises an excepton using 2.1.7.10-f261eaf, is there a working repo somewhere or is that what we have for now?
<amz3>there is port of industria to guile in that repo
<daviid>knowing i have 'discrete' float values, such as 1.0, 2.0 ... is there a faster way to convert to exact then our inexact->exact ?
<spk121>daviid: all the numbers have zero after the decimal place?
<daviid>spk121: yes
<spk121>daviid: I don't have a better idea. In the general case (inexact->exact (round x)) is often faster than (inexact->exact x)
<spk121>daviid: but probably not for your
<daviid>spk121: trying to boost some image processing relayed stuff, in this case, im-scrap, where 40% is spent in inexact->exact
<daviid>s/relayed/related
<daviid>and I know they are 'discrete' floats, I need their 'integer' value to access a vector (which is cache to boost performance precisly...)
<daviid>I was hoping there is a math 'shortcut' in case ...
<amz3>maybe (inexact->exact (round x)) triggers the optimisation, dunno
<amz3>apparently it's possible to solve the package dependency algorithm using minisat https://en.wikipedia.org/wiki/ZYpp
<xkapastel>amz3: reminded me of https://research.swtch.com/version-sat
<xkapastel>particularly this quote: One reaction is to embrace the complexity and be thankful that SAT solvers are as good as they are. Another reaction is to ask whether this can possibly be a good idea. Maybe we should not be building tools that require solving this problem. Maybe something has gone wrong in the way we develop software.
<amz3>tx!
<amz3>They are arguing that sat solver is overkill for the subset of the problem of package management basically
<amz3>that package management can be made a simpler problem, so that it isn't NP-complete
<xkapastel>yeah
<amz3>yes, but I need to learn minisat or 3-sat solvers, because that's what grammar link use for deciding the correct grammartical parse of a natural language sentence
<xkapastel>it does seem like allowing two different versions of a package is a simple solution
<amz3>yes
<xkapastel>well, sat solvers are good for all sorts of things
<xkapastel>so don't let this turn you off them :P
<amz3>prolly! I need to find a 3-sat solver with which I can work with now
<spk121>daviid: I decided to goof off with your prob for a second. exact->inexact is very complicated
<spk121>daviid: a func like this http://paste.lisp.org/+7APG. is 100x faster
<spk121>daviid: i made a tiny binary module to test it out
<spk121>daviid: so it is a solvable problem. But, it requires some C hacking in upstream.
<daviid>sneek: later tell spk121 thanks! i was hoping to reduce the time still using scheme only, but thanks for the pasted code, let's talk (maybe) about this .. thanks again
<sneek>Okay.
<marcus>HELP
<ryanwatkins>Hi guys, I am trying to configure a guile library from source on GuixSD, any idea how to solve the error 'No Guile development packages were found'?
<ryanwatkins>It is the chickadee game engine library :D
<jmd>ryanwatkins: Guile is probably not in you profile
<Amynka>hey guys :) https://bugs.gentoo.org/show_bug.cgi?id=610052 any idea?
<slyfox>Amynka: looks like a ~known gcc-6 bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71020
<Amynka>slyfox: that would make sence if the guy does not have gcc 4.9.4
<slyfox>-Os might also trigger an old gcc bug
<Amynka>slyfox: yea i mostly wonder what upstream thinks
<Amynka>slyfox: i will try though good tip :)
<Amynka>thanks
<amz3>let's look at this sat resolver for computing package dependencies
<amz3>I stumbled upon a scheme version of sat solver, but without licence file, I am wondering if I had the right to read that code...
<amz3>Someone added gnu guix to http://guildhall.hypermove.net/
<amz3>:)
<amz3>It seems like I need to write the sat solver myself :/
<amz3>I was reading again my code, and it's there is minor differences betweeen webui.scm @ master and webui.scm @ guildhall.hypermove.net
<amz3>fun! In git lab you can create merge requests between branches
<amz3> https://framagit.org/a-guile-mind/culturia.one/merge_requests/1.diff
<amz3>basically in master I use the graph database with guix-web run-server handler
<amz3>in guildhall branch it's minikanren, some validation of input and another run-server handler that dispatch on http method too
<amz3> http://culturia.one/
<amz3>So I think i have sat solver ready
<amz3> http://paste.lisp.org/display/340542
<amz3>now i need to test to test it to resolve dependencies
<wingo>good evening
<paroneayea>hello *
<wingo>heya
<daviid>hello
<paroneayea>ACTION boots up haunt again
<paroneayea>time to update https://activitypub.rocks/ now that we have an implementation reports template
<paroneayea>probably should update the 8sync site too pointing to the videos from chicagolug / fosdem too
<wingo>ACTION trying to bang together my spam classifier with tekuti
<paroneayea>wingo: ooh I am interested in that btw for different reasons
<paroneayea>wingo: I'd like to play with your code once you got it going... I want to experiment with anti-spam, and eventually anti-abuse, systems for federated networks
<amz3>expressing a dependency seems so simple in predicate logic, that it looks unreal: (or (not haunt) guile)
<amz3>paroneayea: how many implementation a activitypub are on going?
<paroneayea>amz3: not 100% sure, but Pubstrate (Guile server and minimal scheme'y client) and socie-el (emacs client) are the main testbeds I'm hacking right now, and I know Benjamin Goering has one, and this summer MediaGoblin will be implementing it
<paroneayea>additionally, I *believe* Pump.io will be implementing it, as well as Mastadon, probably uh, the OwnCloud replacement
<paroneayea>what's it called
<paroneayea>NextCloud
<paroneayea>that's the one
<paroneayea>and Amy Guy has an implementation
<amz3>oh
<amz3>lot of people seems to be interested
<paroneayea>so a few, but we could use more, and we could use help with submitting implementation reports :)
<paroneayea>if you want to take a crack at it:
<paroneayea> https://github.com/w3c/activitypub/blob/gh-pages/implementation-reports/TEMPLATE.md
<amz3>right now the only "thought" as I have is that one could create a P2P network on top of activitypub but not sure how
<amz3>paroneayea: I need to finish my current mini project, I'd like to improve guildhall package dependency solver using sat algorithm
<amz3>it seems like apt has use also a sat solver if you request it
<amz3>maybe it can be useful for guix
<wingo>paroneayea: i don't know much about the field. bayesian classification works ok when there are just two categories, attacker not too too active, and you can tokenize well; but it seems that other strategies are the state of the art these days
<wingo>would be nice if we had a text classification community in guile; we have a nice dev environment, so it's possible one day i guess ^^
<paroneayea>:)
<wingo>paroneayea: so are you free of w3c things now, activitypub-wise?
<paroneayea>wingo: I wish
<paroneayea>wingo: Activity*Streams* made it to Proposed Recommendation, which means it's left the hands of the group and is on to w3c advisory committee to approve
<paroneayea>which is great, because that's the vocabulary backbone of ActivityPub
<paroneayea>however, ActivityPub still needs implementation reports and a test suite
<paroneayea>but!
<paroneayea>now at least I have some nice async options to build the test suite on in Guile :)
<wingo>paroneayea: have you been able to try fibers yet?
<wingo>i know there were some gouix snafus before
<wingo>*guix
<paroneayea>wingo: not yet. I want to soon!
<paroneayea>wingo: now that it's in guix, it's a finding a spare moment thing :)
<paroneayea>wingo: I have read the manual several times though :)
<wingo>:)
<paroneayea>wingo: I have been thinking a lot about how to put 8sync on top of fibers
<paroneayea>I think it'll be doable but the "juggling actors" bit might be a bit trickier, or would have to be redone... I'll see :)
<paroneayea>explaining that probably isn't worth it without trying it
<paroneayea>so soon! I'll know better
<daviid>folks, yesterday spk121 posted http://paste.lisp.org/+7APG, to help me boosting (inexact->exact (round val)) where val is always a 'discrete' float (such as 1.0, 2.0 ...) but (a) I don't know how to use this from scheme :), and (b), it uses SCM_I_MAKINUM, so that is part of our VM, so the quizz is is there a way to access this SCM_I_MAKINUM from scheme 'immediately'?
<daviid>in the above I used round because spk121 said it somehow makes inexact->exact faster
<daviid>though I know all floats are already rounded
<daviid>and the above does not seems true, I removed the call to round and win 0.03 seconds
<spk121>oh hi. The round trick only works when you have non-integers (eg 1.234) that your trying to convert to integers. It doesn't speed up 1.0, etc
<sneek>spk121, you have 1 message.
<sneek>spk121, daviid says: thanks! i was hoping to reduce the time still using scheme only, but thanks for the pasted code, let's talk (maybe) about this .. thanks again
<daviid>ah spk121 hello!
<daviid>spk121: how do i use what you posted yesterday from scheme?
<spk121>daviid: The whole story? lemme find a place to post it...
<daviid>spk121: what i dont get is SCM_I_MAKINUM is 'in' guile, so why can't i 'just bind it or call it?
<amz3>meh... my sat solver is buggy
<daviid>so i would use the guile ffi to bind a libguile function, how is that? :)
<spk121>daviid: maybe? SCM_I_MAKINUM is a gnarly macro, so it can't be bound w/o making it a function first
<daviid>spk121: I see, too bad
<daviid>but at least it exists
<spk121>daviid: but you might be able to bind scm_to_double and scm_from_int32
<spk121>daviid: and join them that way
<daviid>spk121: why scm_to_double? and i guess you mean scm_to_int32? I'msorry i'm very unknowledgeable of that side of guile
<daviid>my floats are single float (f32)
<spk121>daviid: because the C procedure scm_to_int32 will throw an exception when passed a non-integer SCM
<daviid>spk121: I read i the manual that scm_from_int32 expects an integer, s I don't see how to convert ...
<spk121>daviid: so SCM -> scm_to_double -> double -> cast to int -> scm_from_int32 -> SCM