IRC channel logs

2018-01-15.log

back to list of logs

<Apteryx>Hello! What should I use to check if a string contains NUL characters (#\\nul) ?
<Apteryx>can a single character be expressed as string ("#\\nul") to be used with string-contains?
<ft>You could use (make-string 1 #\\nul)
<Apteryx>oh, so it is "\\x00" as a string. That's a neat trick, thanks!
<ft>Or maybe use string-any
<ft>(string-any (lambda (x) (char=? x #\\nul)) the-string)
<Apteryx>OK. I'll use the first trick since it is easier to comprehend. Thanks!
<Apteryx>ah, now I see #2 does the whole contains-nul-byte? predicate. Neat also.
<ft>With the second one you can also use Guile's character-set API.
<ft>If you want to test for multiple different characters.
<Apteryx>cool
<hugo>jeko: The SRFI's seems to be in the debian package guile-2.0-libs
<hugo>So try downloading that
<amz3>héllo all
<rekado_>guile-debbugs is now part of GNU :)
<civodul>rekado_: woohoo!
<civodul>congrats!
<amz3>congrats!
<rekado_>thanks :)
<rekado_>now I only need to find time to continue work on mumi, the frontend to debbugs that I was working on some months ago.
<civodul>maybe you can offload it, just advertise it and see
<civodul>people are sufficiently unhappy with the debbugs interface to be willing to help ;-)
<amz3>+1
<amz3>rekado_: a frontend using guile-gnome :D
<amz3>rekado_: what do you have in mind?
<rekado_>amz3: a *web* frontend.
<dsmith>Howdy Guileers
<dsmith>sneek: botsnack
<sneek>:)
<dsmith>sneek: seen rlb?
<sneek>I last saw rlb on Jan 03 at 01:00 am UTC, saying: (nb. we may need to figure out the guile-2.2 arch build issues in the next couple of weeks to avoid removal from debian testing.).
<rlb>?
<dsmith>rlb: Just checking on the bot. Your nick is often the one I use to see if "seen" is working.
<dsmith>rlb: btw, what's up with guile in Debian? Will it potentially be removed for all archs? Or just the failing ones?
<rlb>I believe all.
<dsmith>Ouch
<rlb>But I should double-check.
<ZombieChicken>Why would Debian remove Guile?
<amz3>build issues
<amz3>daviid: hello
<cmaloney>is it just that someone hasn't picked up the maintenance?
<amz3>daviid: did you see my reply to the mail?
<manumanumanu>Good evening guilers
<amz3>o/
<daviid>amz3: i have no prediction on when g-golf will really exists, you should use, as I said may times recently, guile-gnome and/or guile-clutter...
<jeko>Hello !
<daviid>and wrt to your glib loop related quiz, you should look at guile-async2 (it is the only concurrent programming toolbox I'm aware of that intract with glib loop, and it is well written, well maintained, well documented...)
<dsmith>cmaloney: rlb has been the faithful packager of Guile for Debian for decades. Well, over 10 years at least.
<dsmith>cmaloney: Looks like there are bugs that prevent it from building on some archs.
<ArneBab>amz3: I think another reason for the meanness against web developers is that web developers get all the glory (of being visible to users). Nowadays if you want to do anything which directly benefits people, you need web developers, since what they build works everywhere, from desktop to smartphone, and only requires clicking a link to execute. A third reason is that many of current web applications don’t run on the beloved old platforms anymore
<ArneBab> (since they require more than 256 MiB of memory). But so do many modern desktop programs and games.
<rlb>Right, the issue is FTBS (failure to build from source) because a couple of tests are failing sometimes.
<ArneBab>amz3: but given the complexity of getting a web application right (lean, fast, beautiful, scaling), the thought of web dev being easy isn’t fair
<rlb>ArneBab: and *secure*
<rlb>...I've quite enjoyed writing a couple of "apps" in clojure (backend) and clojurescript (front end), but they're not industrial strength.
<rlb>(enjoyed, except for attempting to navigate the security minefield)
<daviid>rlb: why not kawa for the backend?
<rlb>I got interested in clojure a while back and built some bits I needed using it (and then clojurescript on fxos) to learn it.
<ArneBab>amz3: you could implement the spam defense via web of trust from freenet on top of gnunet. See https://github.com/freenet/plugin-WebOfTrust/blob/cc62a06eb541a147d88ffae84ab43cd48c18adc5/developer-documentation/core-developers-manual/OadSFfF-version1.2-non-print-edition.pdf
<rlb> https://gitlab.com/noservice/noservice
<rlb>As one (sketchy) example.
<ArneBab>that provides scaling, decentralized spam resistant communication
<ArneBab>rlb: getting the web apps secure is wizard level :)
<ArneBab>daviid: I’m thinking of learning kawa, because (at new work) I’ll mostly be working with java
<rlb>(and don't get me wrong, I've found the css/js/... world to be difficult, but it's quite nice to be able to use my bits from both my phone and my normal browser, and my experiences with gui tookits haven't been a walk in the park either)
<ArneBab>amz3: a direct download link is https://github.com/freenet/plugin-WebOfTrust/raw/cc62a06eb541a147d88ffae84ab43cd48c18adc5/developer-documentation/core-developers-manual/OadSFfF-version1.2-non-print-edition.pdf
<ArneBab>rlb: yes - and nothing in GUI land ever got close to the ease of chaining command on the command line
<ArneBab>at the same time nothing on the web reaches Emacs
<daviid>ArneBab: kawa is a lot better then clojure. it really is unfortunate it's not known and did not get the publicity clojure did ...
<ArneBab>and it’s all crazy to see the well working expert tools disappear behind simplified online tools …
<ArneBab>daviid: when I looked it up in some detail last week, kawa sounded great - I don’t understand why it’s not much more of a killer in ecraven’s benchmarks
<ecraven>ArneBab: I haven't run them in some time, and I still have to change the graphs to a better representation
<ecraven>I hope to get to do this tomorrow ;)
<ArneBab>ecraven: I created a small program to aggegrate the data
<daviid>i really don't like web app, i don't think i will ever like web app: imo an app must run locally, without iternet connection, all the rest is crap :)
<ecraven>daviid: you can always just open the html file locally, it doesn't need anything external, I think
<ArneBab>ecraven: https://bitbucket.org/ArneBab/wisp/src/d04938232934871bbb69f1beff53752ff4df85d8/examples/evaluate-r7rs-benchmark.scm
<ecraven>ArneBab: thanks!
<ArneBab>ecraven: if the app is written that way - it’s hard to tell till you try
<ArneBab>ecraven: maybe you can use that to add a summary plot
<daviid>amz3: of course if you wan't to contribute to g-golf, welcome, we can talk ... i'd have to think about how, and as you know, the learning curve is steep
<daviid>ecraven: i guess my idea of apps is the gnome 'stack' of libs, not html css js (I just hate js :))
<ecraven>daviid: yea, but this is more of a document than an app
<daviid>if we had more rsources, we would write CLIM in/for Guile
<ArneBab>ecraven: if you follow the instructions in the header (comments), you get a plot like this: http://www.draketo.de/bilder/guile-ecraven-benchmarks-result-2017-08-13.png
<rlb>(That's one thing I liked about cljs; I was able to just use clojure in the browser (still don't know much js).)
<amz3>I like FTBS, I think it's a good reason to hate JS
<ecraven>ArneBab: nice, thanks again! I'll look into this tomorrow
<ArneBab>daviid: we’d need a way to generate more hacking time for Guile - money and getting zealots
<daviid>rlb: yes, I hope we will have guile-javascript one day
<ArneBab>but it’s hard to get the latter without locking the system into a given state
<rlb>sounds good to me
<daviid>rlb: it's too bad there is no kawa-javascript
<ArneBab>guile compiled to JS with full tail recursion would be great
<ArneBab>kawa did add that on the JVM, but I learned over the years how hard it is to just transfer a feature from one system to another …
<rlb>One trick cljs uses is to pass relatively simpler js output through the closure compiler to make it much more efficient. No reason the same couldn't be done with guile's output.
<rlb>(if it helped)
<ArneBab>and from the tests in the kawa blog, kawa is really fast, outside some edge cases it’s even very fast with full tail recursion
<rlb> https://packages.debian.org/sid/closure-compiler
<daviid>and with kawa you don't need any ecosystem, just kawa and emacs... (but no slime/geiser, java does not let you a new compiled version of a function...
<ArneBab>ecraven: besides: a big thank you again for your benchmarks!
<daviid>going afk, bbl
<ecraven>I didn't do much, all the benchmark code is from larceny ;)
<ArneBab>you did the hard work of integrating that with everything else
<amz3>there is reason the learning curve is steep
<amz3>I don't need a PhD in language theory and MOP to use GOOPS
<amz3>simply said, https://learnxinyminutes.com/ is of tremendous help, rosetta code is of tremendous help
<amz3>guile mind book is helpful
<amz3>not everything should be in the academical wording, spelling and style to be useful and good
<amz3>since nobody, want to help me, I will learn GOOPS the hard way and make it simpler for future guilers
<amz3>whether they milleniums or not is irrevelant
<amz3>it's always the same, young generation are lazy and stuff
<amz3>wrong!
<amz3>it's not because older generation suffered reading book without the help of handy C-s or whatever to look up the book that is easier than an index that everybody must feel the same pain
<cmaloney>Everyone should start with two registers, 8 opcodes, and 12 bytes of memory
<cmaloney>6 of which are taken up by the boot loader
<amz3>not everybody can know everything, we have to help each other step by step and learn from mistakes to avoid future generation do the same
<cmaloney>(three of those opcodes are poorly documented and will crash the machine)
<cmaloney>I agree: We should all help others become better
<cmaloney>and learn from our mistakes
<jeko>I agree :)
<cmaloney>The only caution I have is for folks who eschew best practices that are hard-fought and won (packaging tends to get re-invented every 3 years or so and everyone discovers the same cyclic dependencies issues)
<cmaloney>and for experienced folks to step back and realize that the only way for folks to progress is to make mistakes and break free of traditions
<cmaloney>Also in scheme I think there's a tendency for folks to think of it as their D&D (Dungeons and Dragons)
<cmaloney>wherein the one true way to do Scheme is pretty much the way they do it
<cmaloney>I think Scheme is more prone to this than most languages because of its flexibility
<cmaloney>But when I said "D&D" you immediately thought of the the D&D that you most identify with
<cmaloney>But there's been many iterations over the years
<cmaloney>yet there's always someone who says "you're not playing D&D unless it comes from the original Chainmail rules!"
<cmaloney>and one that says "Moldvay Basic Rules were the best!"
<cmaloney>and another: "3.5 is the best becaause blargh hargle narglefop"
<amz3>^^
<cmaloney>And yet others who say that their OSR ruleset of choice is the best
<cmaloney>but they all scratch different itches for folks, even though they have the same root
<cmaloney>so understanding that Scheme is a giant tree and there are many places to sit amongst its branches, and many different views from those branches is key
<amz3>I agree
<daviid>knowledge is experience, you can't teach someone experience, so one has to practice, and practice gain, others may review (it takes time, and not everybody likes to teach (I really don't like to teach for example, though I did teach helicopter flying for years)
<amz3>ok