IRC channel logs

2014-03-28.log

back to list of logs

<zacts>mark_weaver: are you around? I have questions in regards to the guile2 build process.
<mark_weaver>zacts: I might have to go afk at some point with little warning, but for now I'm free. what's up?
<zacts>mark_weaver: hey, we are trying to figure out why the guile2 build is eating up so much CPU.
<zacts>it seems to get to almost 100% of CPU resources.
<zacts>and also, is the build intelligent enough to know not to build guile in a parallel fashion?
<mark_weaver>it won't build in parallel unless you pass -j to make. are you doing that?
<mark_weaver>if you want to minimize the number of CPU cycles then don't pass -j.
<zacts>mark_weaver: I think FreeBSD passes -j to 'gmake' by default
<zacts>namely, the poudriere build framework
<zacts>let me look into that and test it further
<mark_weaver>otoh, if your box is not doing anything else and you want to minimize the amount of wall-clock time before the build is finished, -j probably helps, so it's a tradeoff.
<mark_weaver>but yeah, for a build farm, you probably want to avoid -j
<zacts>ok neat! thanks. :-)
<zacts>we'll test it out. anyway, I have no more questions at this moment.
<mark_weaver>the issue is that the compiler is written in scheme, and when compiling the early files, the compiler itself is being interpreted, which is quite close.
<mark_weaver>s/close/slow/
<mark_weaver>the compiler gets progressively faster as more of its modules are compiled.
<taylanub>haha, I wasn't aware that that's how exactly it works. typical of lisp I guess :)
<taylanub>Why don't we ship a pre-compiled compiler for common platforms, like MIT/GNU Scheme does ?
***jao` is now known as jao
<nalaginrut>morning guilers~
<b4283>morning~
<madsy>Hey :)
<nalaginrut>I found there's another FSF in this world, Feminist Software Foundation ;-O
<nalaginrut>And they have their own programing language C+= hmm...
<madsy>The what?
<nalaginrut> http://feministsoftwarefoundation.org/
<madsy>Hopefully not a serious organization
<madsy>Feminist software makes just about as much sense as a feminist science
<madsy>Or "jewish science" or "muslim science"
<madsy>Hm, I declare Poe's law on this one
<nalaginrut>;-D you could be in dangerous under certain circumstances
<madsy>Oh well. If self-proclaimed feminists chop my head off, at least I died for a good cause :-)
<mark_weaver>I consider myself a feminist, but I agree that it doesn't make sense to apply the term to software. people are feminists, not software.
<nalaginrut>their slogan is 'stop rape'...OMG...
<madsy>I'm all for equal pay and equal opportunity, but some of these new feminists take equality a bit too far.
<madsy>Seeing sexism where there is none
<mark_weaver>well, I think the more common problem is men failing to see sexism where there is some.
<madsy>Sure
<madsy>But you don't tacle that problem by making up issues that don't exist
<madsy>+k
<nalaginrut>I find this organization because of a patch to Linux kernel from them, and rejected by Linus...
<madsy>Countries still struggle with proper abortion rights for women, and some feminists are busy with showing that programming languages are sexist? Seriously?
<madsy>Or some other bullshit nonexisting problem
<madsy>I'm not to decide what people spend their time on, but I think it's a weird priority if one claim to fight for women's rights
<nalaginrut>I still don't get the main philosophy from them, hmm...
<nalaginrut>now I can understand the pain of Linus, their patch is going to change all 'the' to 'xhe'...
<madsy>haha
<madsy>nalaginrut: I'm pretty sure that is a parody site. No one is that crazy
<nalaginrut>but they are so serious to argue with Linux developers
<nalaginrut> https://github.com/torvalds/linux/pull/82
<madsy>Hm, good point. Could be trolls/sockpuppets?
<mark_weaver>I don't know about that particular site. I'm unable to read the site with my w3m-over-tor setup. I certainly find it easy to believe that it's a parody site.
<madsy>That would be my guess unless you see someone mention their full name somewhere
<zacts>mark_weaver: emacs-24.4 is supposed to ship with a shiny new web browser
<nalaginrut>mark_weaver: well, please save your time for hacking, I'm going to hack now...
<nalaginrut>zacts: any reference?
<zacts>nalaginrut: yeah, let me post a link..
<mark_weaver>yeah, that sounds interesting.
<madsy>nalaginrut: Of course, some of the most horrendous things I've heard been said by these crazy feminist is stuff like "You guys who don't like to hear about feminism, you are worse than rape-threats"
<madsy>I was like.. wat
<madsy>Who even comes up with these ideas.
<nalaginrut>alright, I confess I searched 'feminism' this morning and learned this word first time
<nalaginrut>I have sin...
<zacts>mark_weaver: http://www.masteringemacs.org/articles/2013/12/29/whats-new-in-emacs-24-4/
<madsy>Anyway.. sorry for the divergence on the topic. I'm done
<zacts>^ nalaginrut
<mark_weaver>madsy: on *any* issue, you could find people who say incoherent crazy things.f
<nalaginrut>madsy: never mind, it's an entertainment ;-)
<nalaginrut>zacts: thanks
<mark_weaver>zacts: thanks
<mark_weaver>interesting, I look forward to trying that out.
<madsy>Oh, I changed my graphics engine to use a single thread instead of two. Now rendering a complex scene in OpenGL takes about 2 ms with Guile
<nalaginrut>oh, it claimed that the browser render this site 'pretty good', maybe I can drop chrome
<nalaginrut>if they support html5 well
<madsy>It occasionally jumps up to 30 ms when the GC runs
<madsy>But that's fine
<madsy>So, 500 fps on average, and 30 fps for one frame when the GC runs.
<mark_weaver>cool
<madsy>I'll have to test it by using more data later. I don't know yet how the time complexity of the GC increases.
<zacts>lo
***ben| is now known as bentgf
<Onslauth>Hi guys, me again :(
<Onslauth>Sorry to bother you, but I have a question regarding readline in guile.
<Onslauth> https://gist.github.com/onslauth/9826915
<Onslauth>If you look at that example, in bash, we can set a prompt as well as some placeholder (default) text.
<Onslauth>How do we do that in guile, is it a possibility?
***vicenteH` is now known as vicenteH
<ArneBab>is it possible to have linebreaks in readline history in the REPL?
<ArneBab>as use-case:
<ArneBab>(define (show a) ; just a test
<ArneBab> (display a)(newline))
<ArneBab>put that in your REPL and then try to use the history.
<ArneBab>this would be especially useful for pasting code from a file to the repl.
<ArneBab>pasting→copy-pasting
<atheia>Bright and sunny morning to you Guilers!
<nalaginrut>oh~it's near my supper time ;-)
<atheia>oh — well, bright and sunny supper? :-)
<nalaginrut>;-P
<Onslauth>Hey nalaginrut
<Onslauth>Does anyone know if its possible to set some default text with readline in guile.
<Onslauth>Its possible in bash, but is it possible to do it with guile?
<nalaginrut>Onslauth: I'm very busy now ;-)
<Onslauth>Howcome?
<Onslauth>Its evening on a friday for you isnt it?
***wingo_ is now known as wingo
<Onslauth>I have an example in bash, does anyone have any idea if its also possible to do with guile?
<wingo>moin :)
<wingo>Onslauth: prompt text or input text?
<Onslauth>Sorry, let me show you
<Onslauth> https://gist.github.com/onslauth/9826915
<Onslauth>So in bash it gives you a prompt, with the text already pre-populated
<Onslauth>but cannot figure out if its possible to do that iwth guile, can only set the prompt.
<nalaginrut>Onslauth: I'm sorry but I have something to do ;-)
<nalaginrut>emergency
<Onslauth>No worries nalaginrut
<wingo>i don't think that guile has a way to do that, though we could add it somehow
<Onslauth>Well, I think Andrew has already started on patching it, so if you wait a few hours he will most probably have sent a patch :D
<civodul>Hello Guilers!
<wingo>heya civodul :)
<ArneBab>moin
<madsy>hey all :)
<ArneBab>I just sent a wish to the Gentoo lisp team to version-bump guile to 2.0.11
<mark_weaver>ArneBab: thanks!
<mark_weaver>greetings all!
<ArneBab>glad to ☺
*mark_weaver just received his liberated ThinkPad X60 from Gluglug.
<mark_weaver>unfortunately, based on my understanding of Jacob Appelbaum's keynote at LibrePlanet, since I'm a sysadmin and involved with building software for other people (via GNU Guix), and this machine came through US Customs, there's a good chance that it has been modified by someone in transit :-(
<davexunit>mark_weaver: that bit blew my mind!
<davexunit>I am thinking about buying one of those x60s.
<ArneBab>mark_weaver: ouch…
<davexunit>a couple of people have recommended that I use a computer that never connects to the internet, and a liberated x60 might be just the thing.
<mark_weaver>Here's a link to Jacob's keynote (highly recommended viewing): http://media.libreplanet.org/u/zakkai/m/free-software-for-freedom-surveillance-and-you/
<davexunit>er, forgot some text. for the purpose of storing private keys!
<davexunit>and here's the script that jake used to make this stream! https://raw.githubusercontent.com/ioerror/freenote/master/stream.sh
<mark_weaver>davexunit: yeah, I've thought about that too, but the thing is, I don't have a secure place to store computers, so I basically choose some subset of them whose integrity I want to try to protect, and carry them around everywhere with me.
<ArneBab>mark_weaver: may I quote you in the #freenet channel?
<mark_weaver>ArneBab: sure
<ArneBab>thanks!
<ArneBab>shared
<ArneBab>(well, into #freenet-chat)
<mark_weaver>davexunit: I'm not sure I have it right, but given the kind of work I'm involved in, at this point my strategy is to instead keep my main development machine as secure as I can make it without disconnecting from the net entirely, and without hindering my ability to get work done.
<mark_weaver>so for example, that machine (my YeeLoong 8101B) never runs a complex web browser capable of running javascript. for that, I use a different machine.
<mark_weaver>in my particular case, most of my communication is on public fora anyway, and what I really want to prevent is for my dev machine to be compromised, so that I cannot be used as a vector to introduce vulnerabilities into the repos of the software I work on.
<davexunit>mark_weaver: ah, I see. I have remained ignorant of GPG and other software for some time now and I'm trying to change that, but I want to make sure I do it right.
<mark_weaver>so yeah, I want to keep my private keys secure, of course, but since my private keys are primarily used to communicate with people over the internet and access git repositories, I really don't see how I could work efficiently if those keys only lived on a disconnected machine.
<ArneBab>mark_weaver: I actually do not go that far, even though I fear that long-term involvement with freenet is a pretty sure recipe for getting on their radar…
<ArneBab>I need to stay able to communicate
<mark_weaver>it depends on your threat model, though. if I was a journalist covering whistleblowers, that would change the requirement entirely, and indeed I should use a disconnected machine for those communications.
<davexunit>mark_weaver: yeah, my ssh key will have to live on a machine that can access the internet. but what about a GPG key?
<davexunit>afaict, the private key can live on a computer that never touches the network because for every day tasks the subkeys can be used.
<davexunit>I've also been pointed towards using a gnupg smart card for storing the subkeys.
<mark_weaver>sure, that seems reasonable, but then you still have to protect your subkeys properly. I guess what I'm saying is that there's also a need for our primary development/communication machines to be different from the machines that we use for modern web browsing.
<davexunit>okay, I see.
<mark_weaver>because it has become clear that the NSA makes it a high priority to know about vulnerabilities in popular modern web browsers, and uses them to break into machines by intercepting your web connections with other sites.
<davexunit>I've also been looking into Tor.
<davexunit>I thought that maybe I should just route *all* of my traffic through tor, but I don't know if that is sensible.
<mark_weaver>i.e. even if you don't visit a web site that's controlled by them, you're still screwed, because they have privileged access to key parts of the network infrastructure, and can detect that you've sent out an HTTP request, and shoot back a response to you before the main site has done so. so the genuine response packets are treated as duplicates, and the NSA ones are the ones your browser gets.
<davexunit>that also blew my mind.
<davexunit>it's a race condition that the NSA easily wins.
<mark_weaver>I now route all of my web traffic through Tor.
<davexunit>do you use the Tor browser?
<mark_weaver>no
<mark_weaver>I use much simpler, unpopular, text-only web browsers.
<davexunit>the reason I ask is because the Tor website really pushes that web browser.
<davexunit>it also says that just setting up a SOCKS proxy in iceweasel or another browser isn't good enough.
<davexunit>because of other things that browsers do by default that can de-anonymize you.
<mark_weaver>here's why I don't want to run a complex browser on any machine whose integrity I care about: http://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa-users-online-anonymity
<davexunit>thanks for the link.
<mark_weaver>well, Tor Browser (or better yet Tails) are probably the best things available that are reasonably *usable* for ordinary people.
<davexunit>yeah
<davexunit>I also need to learn to use OTR when talking with people via jabber.
<davexunit>so much to learn, but I need to do it.
<mark_weaver>but the set of sites I care about looking at are such that text-only web browsers without javascript are mostly okay.
<mark_weaver>anyway, I should stop chatting now and open my X60 package :)
<davexunit>I installed librejs in iceweasel the other day, it's amazing how much of the web is completely unusable without free software.
<davexunit>absolutely! thanks for indulging me.
<mark_weaver>np!
<dsmith-work>Happy Friday, Guilers!!
<davexunit>s/free/nonfree/
<civodul>Happy Friday!
*civodul has yet to watch Appelbaum's talk
<mark_weaver>hmm, I wonder what the root password is on this machine.
<ijp>hunter2
<mark_weaver>apparently not
<ijp>worth a shot
<zacts>mark_weaver: I've heard back from kwm, I just need to clean up my port a bit more, then I'm hoping for a PR soon.
<mark_weaver>zacts: cool!
<stis>Happy Friday dsmith work!
<mark_weaver>oh, I see. there was a README sitting on the desktop. duh :)
<ArneBab>mark_weaver: I’m trying to get used to jitsi - currently I have one friend with whom I can use it.
<davexunit>ArneBab: ooh! I installed jitsi the other day but had no one to talk to.
<ArneBab>bbl
<didi>Can I control Guile's SRFI-64 test-runner? Specifically, its output and the creation of log files.
<ksinkar>I am trying to compile the bdwgc from github
<ksinkar>I get the following error
<ksinkar>libtool: install: /usr/bin/install -c .libs/libgc.lai /home/ksinkar/workspace/bdwgc/libatomic_ops-install/lib/libgc.la
<ksinkar>libtool: install: error: cannot install `libcord.la' to a directory not ending in /usr/local/lib
<ksinkar>Anyone who has faced the same problem?
<jmd>What is the difference between the procedures complex? and number?
<davexunit>number? returns #t for all numeric types.
<davexunit>... and apparently complex? is returning #t for things that aren't complex.
<davexunit>hmm, surely there's a good reason for this that I'm not aware of?
<davexunit>yup, there is.
<davexunit>"Return #t if z is a complex number, #f otherwise. Note that the sets of real, rational and integer values form subsets of the set of complex numbers, i.e. the predicate will also be fulfilled if z is a real, rational or integer number."
<jmd>davexunit: Exactly. So what is the difference?
<davexunit>jmd: nothing!
<davexunit>I just looked at the source code to verify.
<davexunit>the implementation of complex? is in the C source and the function body is simply: /* all numbers are complex. */
<davexunit> return scm_number_p (x);
<davexunit>
<jmd>ok. Thanks.
<jmd>My next research project will be to invent a number which is not complex.
<davexunit>jmd: you're welcome
<taylanub>davexunit: jmd: There are even wider sets of numbers than complex ones, they're just not supported by Guile (yet). :)
<taylanub>Not directly anyway, AFAIK one can use GOOPS to extend the numeric procedures to support e.g. quaternions.
<wingo>ksinkar: i think that eans you need to make clean, ./configure and make again
<ksinkar>wingo: thankx
<mark_weaver>quaternions are numbers that aren't complex
<mark_weaver>ah, taylanub already pointed that out.
<mark_weaver>didi: you can make custom test runners. see the srfi-64 spec, and test-suite/tests/srfi-64.test for a simple example
***ngz` is now known as ngz
<didi>mark_weaver: Thank you, I will, tho I would prefer to tweak Guile's. Nice addition to Guile, btw.
<zacts>lo
<aidalgol>ijp: Dude, sugar module.
*davexunit is having a hard time finding the motivation to hack right now
<mark_weaver>that happens to me sometimes too, so do something else :)