IRC channel logs

2017-08-24.log

back to list of logs

<ArneBab>amz3`: if you want to build a social network, you need to think about scaling it, so you need a way to remove no longer needed data (though I don’t think GNU social provides this).
***logicmoo is now known as dmiles
<cmaloney>amz3: This sounds like that git-annex project for backups
<cmaloney>I'm not sure that would scale well. ;)
<cmaloney>amz3: I think a book like Realm of Racker for Guile would be pretty sweet
<cmaloney>Though I think DrRacket makes a book like that more convenient
<cmaloney>since you're not fighting with platform strangeness as much
<felipebalbi>while building guile-2.2.2 (from git) I get a lot of "ERROR: In procedure load-thunk-from-memory: No such file or directory". For several of the files under bootstrap
<felipebalbi>any hints?
<Apteryx>I think the bootstrap is using guile@2.0? I'm not sure why building guile 2.2.2 would affect it?
<Apteryx>oh, sorry, I thought this was a Guix question somehow.
<Apteryx>Hello; would anyone know how I can statically link Guile with the readline library?
<dsmith-work>Morning Greetings, Guilers
<davexunit>Apteryx: I'm not sure that is possible
<davexunit>guile's readline integration uses the dynamic linker to load it at runtime
<Apteryx>davexunit: OK. I'm not knowledgeable with autoconf, but I thought I can maybe supply some variable there to have it buils statically instead?
<Apteryx>built*
<davexunit>it's beyond an autoconf thing
<davexunit>readline support is activated via a guile module at runtime that uses the dynamic linker to open the readline shared library
<davexunit>maybe there is a way to statically link it, but it's very unlikely that it's as easy as a gcc flag or something
<Apteryx>davexunit: OK, thanks for the disclaimer :)
<Apteryx>One interesting bit is that there is this file: /gnu/store/xxi8scxxx8g6i9h0lm57i5kc3xwcgj5r-guile-static-2.0.14/lib/libguilereadline-v-18.a for the guile-static@2.0 package in Guix.
<Apteryx>This is the package used in the initrd; it'd be nice to have readline support there!
<dsmith-work>There is also the license difference between Guile and libreadline. One (the?) reason readline is dynamically loaded and not loaded by default.
<dsmith-work>I think it could be posisble to link libreadline.a and libguile.a into an application. You would still need to load the module and call (activate-readline).
<dsmith-work>No one does static linking though, so the code may have bitrotted.
<davexunit>dsmith-work: I haven't read the source but activate-readline could very well unconditionally call on the dynamic linker to do the work
<davexunit>if static linking is possible somehow there would be no problem wrt licensing for guix. the resulting guile would be distributed under the gpl and that's just fine
<Apteryx>dsmith-work: Based on the guile-static package definition in Guix, it seems that setting guile_LDFLAGS = -all-static in the Makefile.in should accomplish that.
<random-nick>it's also be nice if the guile repl had some basic line editing support
<random-nick>s/it's/it'd/
<Apteryx>Oh, it also sets the configre flags: --disable-shared" "LDFLAGS=-static
<Apteryx>I'll have a look at the build log
<davexunit>it doesn't incorporate readline, though
<davexunit>I took a look at the source and here's what I've learned
<davexunit>guile contains a GPL licensed extension called guile-readline
<davexunit>it's a C extension + some supporting scheme code
<davexunit>the C extension is a shared library. it ought to be possible to statically link readline into that shared object
<davexunit>but AFAIK (someone correct me if I'm wrong) guile extensions are always loaded via the dynamic linker
<davexunit>I know of no way to statically link guile extensions into a guile executable
<Apteryx>Thanks for the detective work! This is interesting. It seems it'd be a useful feature; I can think that when embedding Guile, to have it fully static would desirable.
<amz3`>someone here was working on a guile repl with line editing support, I don't remember who
<amz3`>based on ncurses iirc
<davexunit>Apteryx: yeah so I think the follow-up to this would be to see if a guile maintainer could chime in on what they think of statically linked extensions
<amz3`>ecraven: is that you ?
<davexunit>the guixsd initrd is a good use-case for it
<Apteryx>OK. I'll try to formulate something comprehensible to send to guile-devel; is this the right mailing list?
<CharlieBrown>Does Guile WM work yet?
<CharlieBrown>I see a commit from this year.
<CharlieBrown> https://github.com/mwitmer/guile-wm
<davexunit>oh wow, mwitmer is alive and committing
<davexunit>maybe he'll make a comeback
<davexunit>I guess he's been using guile-wm silently this whole time
<janneke>yay!
<CharlieBrown>I don't want to go thru the effort of building StumpWM.
<dustyweb>I use stumpwm, it's ok.
<CharlieBrown>davexunit: Hey, he [fixed it for Guile 2.2](https://github.com/mwitmer/guile-xcb/commit/3d25fcb177141c235dbaf2c7e934e3c00bfddb1f)!
<dustyweb>I pretty much set it up for my basic needs and left it there
<dustyweb>especially because I still don't trust the SLIME live hacking since they didn't fix the localhost spoofing thing yet
<Guest69444>hello :)
<CharlieBrown>Man, I want GuixSD with Guile WM and Guile Emacs.
<Guest69444>Do anyone here has a project that a begginer like me can help :) ??
<CharlieBrown>Guest69444: Fix Guile Emacs.
<CharlieBrown>:P
<Guest69444>CharlieBrown: that seems cool but, I think it is too complex for me :/
<CharlieBrown>Guest69444: Write a Guix package for a simple program like mcwm. I alrady started: https://launchpad.net/calher-mcwm-guix
<CharlieBrown>mcwm has only one dependency, it should be easy.
<dustyweb>hi Guest69444
<dustyweb>welcome to #guile :)
<Guest69444>dustyweb: hi :)
<dustyweb>Guest69444: writing packages for Guix is indeed a nice way to get started, but it also has a lot of its own overhead
<dustyweb>Guest69444: what have you done so far? or are you just getting started?
<dustyweb>are you familiar with lisp or scheme before Guile?
<Guest69444>dustyweb: yes sorry, I have almost finished the little schemer
<dustyweb>Guest69444: awesome!
<janneke>CharlieBrown: i'm running emacs-exwm which is not too bad
<dustyweb>Little Schemer is fabulous.
<Guest69444>I've read like 250 pages of SICP
<Guest69444>I use emacs
<dustyweb>Guest69444: you're more than prepared to hack on things then :)
<Guest69444>And I am reading also the land of lisp
<davexunit>sometimes writing shell scripts in guile is a fun way to get into things
<davexunit>solve a real problem with some scheme code
<dustyweb>that can be fun too
<dustyweb>Guest69444: what are *you* interested in?
<CharlieBrown>janneke: I've thought about exwm, but can it do floating?
<Guest69444>I did the first edx How to design data
<Guest69444>the one based on how to design programs
<janneke>CharlieBrown: supposedly it can...
<dustyweb>Guest69444: if you aren't totally sure, I do recommend writing some simple guix packages as an early way to get started... it helped me. but I also worked on some projects that I really wanted
<CharlieBrown>davexunit: How can shell scipts be written in Guile? I'd like to get out of Bash, since it's unfashionable to write shell.
<Guest69444>I have a little experience with javascript and python, but pretty basic too
<janneke>CharlieBrown: i used stumpwm before and i never got that into sane floating
<Guest69444>dustyweb: so I should install guix?
<dustyweb>Guest69444: I recommend it; Guix is also kind of Guile's de-facto package manager these days
<dustyweb>so that's another reason to do it :)
<dustyweb>Guest69444: there are some videos on the Guix homepage that may give you an interesting overview
<Guest69444>do you mean like creating my own package, or packaging something like i.e. pidgin or something
<CharlieBrown>Guest69444: The init system is written in Scheme.
<dustyweb>Guest69444: yes, package something that exists as a good first step
<dustyweb>find, what do you wish was packaged there? and package that :)
<Guest69444>yes I should use guix, it uses linux-libre and libre drivers right?
<CharlieBrown>janneke: If your computer won't boot, you can at least compute with it: (+ 2 2)
<dustyweb>Guest69444: if you use it as a distro (GuixSD). You can also use it as a package manager on top of another GNU/Linux distro
<CharlieBrown>janneke: Stumpwm has a float extension
<Guest69444>dustyweb: well I think going full guix will help me too :)
<dustyweb>Guest69444: awesome! It's a lot of fun :)
<CharlieBrown>Guest69444: packaging software for guix, like the mcwm i suggested witch is a tiny program with only one dep that's in guix already
<Guest69444>ok so I install guix and then I package something right?
<Guest69444>CharlieBrown: it is a windows manager written in guile right?
<janneke>CharlieBrown: is that packaged with guix?
<dustyweb>Guest69444: if that's what you want to package, go for it, but find something you want
<dustyweb>scratching your own itch is a good way to move forward and stay motivated
<CharlieBrown>Guest69444: no, mcwm is a tiny c program. i wish a guile wm reimplemented its features, though, so i could live-hack it with scheme
<Guest69444>dustyweb: to be honest I am a little afraid of not understanding things
<Guest69444>I feel like I can do small scripts that do nothing interesting
<rekado_>The website hosting the Guile WM tarball has disappeared :(
<CharlieBrown>janneke: mcwm is not pkg'd with guix, whcih is why im trying to convince Guest69444 to pkg it lol
<CharlieBrown>b/c it's real simple
<CharlieBrown>rekado_: yes, mwitmer's domain expired. github still has it tho
<Guest69444>but I don't know C CharlieBrown, do I need to know?
<CharlieBrown>Guest69444: you don't neeed to know c to build a program
<CharlieBrown>written in c
<CharlieBrown>just compile it using the guix tools
<CharlieBrown>and make that a pkg def
<dustyweb>CharlieBrown: if Guest69444 wants to package that it's fine but, they should work on what they're interested in
<dustyweb>so they can look and see :)
<CharlieBrown>dustyweb: i can still try
<davexunit>guix *may* be a bridge too far for a guile beginner right now
<dustyweb>Guest69444: don't be too afraid of having trouble
<dustyweb>you can't imagine the kinds of mistakes I made early on :)
<CharlieBrown>tbh, i dont need mcwm the most rn. what i need most on guix is Ekiga
<CharlieBrown>i use ekiga to call my mom
<Guest69444>I feel desperate because I want to do GUI's and useful things
<davexunit>dustyweb has the right idea. scratch an itch.
<Guest69444>but then I read code
<Guest69444>And I don't understand a thing
<Guest69444>someone elses code
<dustyweb>Guest69444: it took me a lonnnnng time until I understood the majority of guile code I read
<dustyweb>it gets easier over time
<Guest69444>programming is hard :/
<CharlieBrown>Guest69444: write nice wrappers around already existing tools, to give them a gui so ppl dont have to use the cli
<CharlieBrown>wrappers are easy
<dustyweb>hmmmmmm that's not necessarily so
<dustyweb>wrappers are a lot of gruntwork
<janneke>Guest69444: "GUI's and useful things" in one sentence ;-)
<Guest69444>how do I do a GUI with guile?
<dustyweb>Guest69444: our GUI options are kind of limited right now. guile-gnome is probably the most fleshed out system
<davexunit>Guest69444: I wouldn't recommend trying GUI programs with Guile right now. there is no beginner friendly option right now.
<dustyweb>Guest69444: most of the stuff I do is webdev so most of it is sxml -> html ;)
<Guest69444>janneke: I do understand that CLI is great but for majority of people it is too hard
<CharlieBrown>Guest69444: the gtk bindings for guile have major suck
<Guest69444>ok oh
<dustyweb>CharlieBrown: be nice please
<Guest69444>so I will stuck to CLI
<davexunit>a web UI is much more feasible, *if* you already know how to do html and such
<dustyweb>yeah
<Guest69444>I do know html css and javascript
<dustyweb>Guest69444: oh cool
<CharlieBrown>dustyweb: it's ok to be mean to programs.
<Guest69444>not expert, but I've done a few websites
<dustyweb>Guest69444: so the guile manual has a nice tutorial on getting started with webdev stuff
<Guest69444>I don't know server side though :/
<rekado_>are the gtk bindings provided by guile-gnome? Or is this something else.
<CharlieBrown>davexunit: why does guile's gtk binding suck?
<dustyweb>Guest69444: it's a lot to take in but really interesting
<Guest69444>oh dustyweb cool!!
<Guest69444>ok I will download guix
<davexunit>CharlieBrown: I wouldn't use that word.
<Guest69444>and try it
<rekado_>CharlieBrown: most programs have authors.
<davexunit>gtk is a *big* library
<Guest69444>let me connect here from my main account
<davexunit>writing a good wrapper that fits in with the host language well is difficult
<Guest69444>the Riot one
<davexunit>guile-gnome is not currently up to date with the latest gtk, it's a work-in-progress
<CharlieBrown>davexunit: if you want to get into a language war, i will have you know that 'suck' has nothing to do with a human activity. it has to do with an animal activity between cow and calf
<CharlieBrown>so it's not bad
<Guest69444>is I3wm in guix?
<CharlieBrown>yes
<Guest69444>that is good enough for me then :)
<dustyweb>\\o/
<Guest69444>I haven't used another wm
<Guest69444>but someone suggested me to try a Common Lisp WM
<rekado_>stumpwm is a common lisp wm
<Guest69444>yes that one
<dustyweb>yeah that's probably what was suggested
<Guest69444>is it on guix?
<rekado_>I found it adequate.
<rekado_>yes
<dustyweb>yeah that's what I run
<dustyweb>it does the job, and it's written in a lisp :)
<rekado_>but I haven’t been able to control it from within Emacs
<rekado_>dustyweb: have you got SLIME and stumpwm interaction working?
<dustyweb>rekado_: I did and I disabled it because they haven't dealt with the localhost rebinding attack we fixed in guile yet
<rekado_>oh
<dustyweb>and by we I mean Mark Weaver :)
<rekado_>heh :)
<dustyweb>yeah, bummer :(
<rekado_>when people say that Guile WM isn’t quite usable yet and needs a champion,… what exactly does that mean?
<rekado_>does it crash often or does it just lack features?
<davexunit>rekado_: I encountered a bug that completely locked it up and I had to restart X
<davexunit>and I had no luck trying to identify the issue
<rekado_>oof
<davexunit>some bad key combo I did
<davexunit>problems like that are tough to deal with without an active maintainer
<rekado_>is it still worth working on an X11 window manager, or should one rather hack up a window manager for wayland?
<dustyweb>I think a wayland wm would be amazing
<janneke>guile-emacs-wayland-wm
<Guest69444>I am happy_gnu[m] :)
<davexunit>rekado_: wayland would be the more forward looking thing. the developer of guile-wm wanted to explore wayland support.
<davexunit>if anyone is interested in wayland, the first step is a libwayland (or whatever it is called) wrapper library
<dustyweb>oh hey happy_gnu[m] :)
<dustyweb>I am paroneayea :)
<paroneayea>just to make life complicated ;)
<happy_gnu[m]>Hei
<happy_gnu[m]>I use Riot to connect here
<paroneayea>happy_gnu[m]: great to hear that you went forward with studying little schemer and sicp and etc since we last talked :D
<paroneayea>that's super awesome.
<Guest69444>paroneayea: yes thanks :) Riot is on my phone so is harder to use the happy_gnu[m] right now..
<Guest69444>paroneayea: I am trying to do some real programming now
<Guest69444>that is why I was asking about a project to help
<Guest69444>I didn't avanced much the last month because I was on rehabilitation, because I was hurt on my knees and back
<Guest69444>But I want to keep learning now :)
<CharlieBrown>davexunit: do i need to prove to you that my insult to guile-gnome has no lewd etymology, so you won't be offended by everyday language?
<paroneayea>cool Guest69444 :)
<paroneayea>Guest69444: sorry to hear about your injury though :(
<paroneayea>Guest69444: it sounds like you want to work on things but don't really know where to start; my suggestion would be
<paroneayea>Guest69444: write a fun little web application, something simple, following the guile web tutorial
<paroneayea>Guest69444: from there, maybe install guix and contribute a package?
<paroneayea>that would be a pretty good on-ramp I think
<paroneayea>and I'm sure we'd love to have your help in Guix-land :)
<CharlieBrown>davexunit: I'm put on heavy defensive, because you made issue with something that was far removed from the idea I was conveying using standard speech.
<Guest69444>do I need to learn about apache and mysql and that?
<paroneayea>Guest69444: nope!
<Guest69444>ok then let me start :)
<paroneayea>CharlieBrown: I can't speak for davexunit, but what I'd like is for you to stop escalating this conversation aggressively
<paroneayea>just cool it down
<Guest69444>I realy like web applications :)
<paroneayea>Guest69444: :)
<CharlieBrown>paroneayea: I'm scared I'll use the phase again by accident, and get banned.
<Guest69444>I have seen a lot of guile making references to C, should I learn C? I mean I plan to eventually, but for now?
<paroneayea>Guest69444: you don't need to know C
<paroneayea>Guest69444: Guile is built on C and for historical reasons is a good language for embedding in C
<paroneayea>but you don't have to write any C stuff
<paroneayea>I don't know C very well
<paroneayea>and am doing a lot in Guile
<paroneayea>just skip those sections for now :)
<Guest69444>oh ok paroneayea, well I will start reading now
<Guest69444>thank you so much :)
<Guest69444>I hope to advance more now, that I am better, I was counting, it is actually almost 2 months I've been on therapy :/. For a while I couldn't even walk
<Guest69444>I was so desperate to be back :)
<rekado_>CharlieBrown: don’t. Just don’t dwell on it.
<rekado_>CharlieBrown: remember that comments like this can make the authors of the software rather sad.
<Guest69444>rekado_: your nick seems familiar, do you visit trisquel forums?
<paroneayea>Guest69444: glad to hear you're doing better
<Guest69444>thanks :)
<rekado_>Guest69444: no, I’ve never been there.
<Guest69444>rekado_: oh ok, my mistake then
<ijp>paroneayea: I don't have much of an update for you, but I hope to have a draft for you tomorrow
<paroneayea>ijp: ok, cool thanks