IRC channel logs

2014-12-02.log

back to list of logs

***fangism-is-back is now known as fangism
<nalaginrut>morning guilers~
<cky>o/
<davexunit>hello!
<nalaginrut>;-D
<alandipert>cky: ahoy!
<alandipert>shoulda known i’d run into you in here :-)
<cky>alandipert: As a Guile committer, it'd be silly of me not to be around. :-P
<alandipert>cky: had no idea guile was your scheme of choice! learning has been very fun, esp. vm bits
<cky>alandipert: What brings you here to the fair land of Guile, as opposed to, say, Racket? :-P
<cky>alandipert: Yes, the Guile VM is awesome.
<alandipert>cky: mostly the vm, a wingolog sucked me in
<cky>Yes, wingo writes well and hacks on cool shit. :-D
<cky>I've actually met him once IRL, didn't get a chance to show him my CALL/CC car plate though. :'(
<cky>Maybe next time when he comes to the Triangle, I should get you to come along.
<cky>Last time we were meeting up with bipt and unknown_lamer, that was a cool gathering. :-)
<alandipert>cky: sounds excellent!
<cky>But yes, there is a Triangle Guile community. :-D
<cky>If we could ever make it more than just bipt, unknown_lamer, me, and (very occasionally) wingo, it'd be cool to have a Meetup group.
<cky>alandipert: Do you follow the guile-devel mailing list? I'm about to post another patch there.... ;-)
<davexunit>yay patches!
<cky>davexunit: It's just for SRFI 28, with mark_weaver's feedback applied.
<davexunit>still really cool
<cky>I still want to port Rackona to Guile. That's because I can't get Rackona to play nicely on OS X, and I'm hoping that Guile's FFI is...nicer. :-P
<cky>We'll see, I guess.
<cky>I met up with Rich Hickey as part of RacketCon/Strange Loop, and when I told him about my motivation for writing Rackona, he suggested I implement Transit for Racket instead.
<cky>So that might actually be top of my list.
<cky>(alandipert knows exactly what I'm talking about. People outside of Clojure might not.)
<cky>(Rich Hickey implemented a database called Datomic. It runs on the JVM only. I wanted to do Datomic stuff in Racket, and Rackona (an JVM FFI for Racket) was supposed to achieve that. Rich said that implementing Transit would be a better way to interface with Datomic.)
<davexunit>whoa, cool.
<davexunit>Clojure is a big deal these days.
<cky>It totally is, yes.
<davexunit>maybe guile will be someday...
*davexunit dreams
<cky>Well, whenever bipt's work goes mainstream in Emacs, I'm sure it will be. :-)
*davexunit continues to live code a small game with sly
<alandipert>is the stuff in the manual about vm and ffi up to date?
<davexunit>the ffi, yes, afaik. I use it frequently.
<cky>alandipert: I have no idea, but if I start porting Rackona to Guile, I'll find out really fast. :-P
<alandipert>ha, thanks
<davexunit>the vm is undergoing changes right now, but it should be accurate for 2.0.x
<alandipert>yes i’ve begun probing and it seems to be to me also
<alandipert>i was mostly curious about the vm changes
*davexunit loves pattern matching
<cky>alandipert: Well, all the VM changes are in 2.2-land, which is unstable.
<davexunit>(ice-9 match) is the best thing ever
<alandipert>cky: is 2.2 register vm land?
<cky>alandipert: Yes.
<cky>davexunit: It is.
<davexunit>so excited for that.
<cky>davexunit: I implemented stream-match in my SRFI 41 port using (ice-9 match).
<davexunit>oh cool!
<cky>So much nicer than the hand-written matching that the SRFI 41 reference implementation uses.
<davexunit>I'm hoping guile 2.2 gives my game engine a nice, gratis speed boost
<cky>:-D
<cky>davexunit: Racket's match has a different interface from (ice-9 match) though, so if I ever port our SRFI 41 to Racket, I'd have to rewrite that to line up with Racket's match.
<davexunit>cky: which do you like better? are they about equal? I'm not a racket user so I don't know how it works.
<cky>alandipert: If you're following this convo, have a look at module/srfi/srfi-41.scm. It's my port of SRFI 41 to Guile, and it's probably my biggest Guile project so far.
<cky>davexunit: I haven't started playing with Racket's match yet, so can't say. :-)
<cky>davexunit: I use Racket a lot, because until about a day ago, I don't have a working Guile for OS X. :-P
<davexunit>heh
<cky>davexunit: (See my patch to guile-devel for making tests pass on OS X.)
<davexunit>I saw that :)
<cky>:-D
<davexunit>OS X is causing me issues, too. guile-sdl doesn't build on it, and I depend on it. :(
<cky>Whoa. Maybe that's something for me to look at if I can find some time.
<davexunit>I'm going to start work on guile-sdl2 at some point to replace it.
<davexunit>guile-sdl is a rats nest of C and weird build scripts.
<cky>If we have a working SDL bindings for Guile, that means we can port Frozen-Bubble to it. :-P
<davexunit>ooh that would be a fun thing to write with Sly :)
<cky>:-D
<davexunit>I already wrote a 2048 clone
<cky>Nice. Someone wrote a Flappy 2048, BTW. :-P
<davexunit>hahaha
<cky>Mixing up the two big memes of 2014.
<nalaginrut>davexunit: 2048? nice~
<cky>Man, Flappy Android is insane.
<davexunit>I guess I should clone all the hip silly games in guile
<davexunit>nalaginrut: check it out: http://media.dthompson.us/mgoblin_media/media_entries/3/Screenshot_from_2014-03-31_163501.png
<cky>davexunit: I'd love to write a Minesweeper in Guile. That'd be fun.
<davexunit>I've been meaning to do that.
<cky>Wow, you're the first live MediaGoblin user I know.
<nalaginrut>davexunit: oh~I love it (and you may pack all these games into a book named Land of Guile)
<davexunit>I love the recursive algorithm in minesweeper.
<nalaginrut>Land of Lisp, Realm of Racket, and what of Guile?
<davexunit>I remember writing in qbasic years ago and blowing the stack when I made too big a minefield :)
<davexunit>nalaginrut: hmmmm
<nalaginrut>davexunit: looks cool!
<cky>nalaginrut: Galaxy of Guile.
<davexunit>bam!
<davexunit>that's it.
<nalaginrut>sounds nice~
<davexunit>we should name a guile themed blog aggregator that.
<cky>:-D
<davexunit>of course, we need to write the aggregator in guile.
<cky>But then, what of a games-orientated Guile book? :-P
<nalaginrut>yes, we should
<nalaginrut>I can do it I think
<davexunit>sigh, someone just needs to start paying us to do this stuff.
<nalaginrut>since Artanis is near releasing
<davexunit>exciting!
<nalaginrut>I guess I can use it for something practice
<davexunit>I've been meaning to write some small guile web libraries
<davexunit>like a CAS client
<davexunit>and I want to submit another patch to guile-json so that it uses alists instead of hash-tables to represent objects.
<nalaginrut>cky: I like this book
<nalaginrut>we should have it
<nalaginrut>davexunit: oh, please do it, Artanis needs a good json implementation
<nalaginrut>actually it's integrated into Artanis now
<cky>davexunit: See, one of the things I like about Racket is that it has a json library in-tree. Guile should have the same.
<cky>It makes it so much easier for me to implement Transit.
<cky>And Racket's implementation of JSON is nice.
<nalaginrut>davexunit cky : maybe we should write the ebook first, then looking for an investigator?
<davexunit>cky: yeah, maybe I should ask the maintainer to submit a patch to include it in guile-core
<davexunit>nalaginrut: do you mean 'investor'?
<davexunit>someone to give us money
<nalaginrut>hah, yes
<davexunit>:)
<cky>davexunit: It'd be awesome for it to get an mhw-review, for sure. :-)
<nalaginrut>bad completion ;-D
<davexunit>cky: those are invaluable, as we both know.
<cky>Indeed.
<davexunit>and ludo reviews, too.
<davexunit>I contribute to guix a lot, and his code review skills are sharp.
<nalaginrut>BTW, I may contribute a 1942 game, based on the old code from someone was in the ML
<cky>Nice. :-D
<davexunit>neat :)
<nalaginrut>it's GPLed, so it's fine for me to modify/rebirth it
<nalaginrut>but for next year, since my final aim of this year is to release Artanis anyway
<nalaginrut>I have bunch of docs to write ;-(
<davexunit>I have a lot of docs to write as well
<davexunit>cky: why did you decide to implement srfi-28? just because?
<cky>davexunit: I wanted to write a syntax-case macro that used something akin to Racket's format-id. It's much easier to achieve portably if there's a portable formatting facility.
<cky>(format-id is easier to implement portably if implementations provided SRFI 28, I mean.)
<davexunit>ah, I see.
<nalaginrut>well, I found Guix has problems to compile with guile-master, I planed to try a new small distro with Guix
<nalaginrut>maybe I should build a QEMU image...
<davexunit>stick with guile 2.0.11
<nalaginrut>davexunit: I'm learning master under my main laptop, so...
<nalaginrut>anyway, I'll setup a new VM environment
<nalaginrut>davexunit: is there any "blog aggregator" can I mimic?
<davexunit>I don't know the names of any specifically
<davexunit>but do you know how the concept works?
<davexunit>here's the GNU blog aggregator: http://planet.gnu.org/
<nalaginrut>I think maybe this: submit RSS url, and fetch it periodically, then update the page
<davexunit>yeah
<davexunit>that's the flow
<nalaginrut>but I'm a bad web frontend designer, so I need some good web design
<davexunit>just write the backend :)
<davexunit>throw together a sample theme with bootstrap
<nalaginrut>alright, I'll give it a try
<davexunit>it would be easy to write new themes using sxml
<davexunit>just let the user pick the procedure that gets called to render the template
<davexunit>someone left a comment on an HN article today that said s-expressions are a bad marshalling format because lisp is turing-complete. ha
<davexunit>they've got that data is code thing mixed up in their head.
<davexunit>(not (eq? 'read 'eval))
<davexunit>=> #t
<cky>davexunit: Well, as long as your reader does not implement this: http://www.lispworks.com/documentation/HyperSpec/Body/02_dhf.htm
<davexunit>ah!
<davexunit>that's scary!
<davexunit>I'm done hacking for the night. bed time.
<davexunit>good night, guilers.
<cky>\\o
<Chaos`Eternal>helo guilers
<ArneBab>nalaginrut: I looked a lot at the comparisons phoronix did with LLVM and GCC and actually looked at the numbers, not only at the prose. LLVM won for some time on multiple matrix transformations, but otherwise GCC had the upper hand. But the writing around those results was so skewed in favor of LLVM, that it bordered on dishonesty - so badly that I wrote an article about that: http://draketo.de/light/english/free-software/phoronix-distort-
<ArneBab>results-gcc-llvm-clang-amd-vishera
<ArneBab>nalaginrut: a few months after writing that article I stopped reading phoronix, because it became ever worse.
<nalaginrut>ArneBab: most of the time, we just pick some 'valuable' information to persuade our customers ;-P
<nalaginrut>as a developer, I never trust these kind of benchmark, unless I do it myself ;-D
<nalaginrut>I mean the information on phoronix like site
<ArneBab>nalaginrut: yes ☺ — but on a benchmarking site, the readers should be the customers and they should be persuaded that the *tests* are worth money.
<nalaginrut>yes, benchmarking site saved our energy and time to show something to customers
<ArneBab>so what phoronix did is only reasonable if their actual customers are non-GPL projects
<ArneBab>(but not the readers)
<ArneBab>which would in turn mean that phoronix does not create benchmarks for me, but rather sells influence over me.
<nalaginrut>I've used some articles to persuade gnome3 is not slow, with llvm-pipe
<nalaginrut>but I do know gnome3 is slow and sometimes halt...
<nalaginrut>to persuade customers that gnome3 is not slow
<nalaginrut>well, bad typing, I should get a coffee
<ArneBab>no probs :) enjoy the cup ☺
<civodul>Howdy Guilers!
<ArneBab>moin civodul
<artyom-poptsov1>Hello civodul
<civodul>hey, artyom-poptsov1
<nalaginrut>ArneBab: the "time to compile" contest is unfair IMO, LLVM shows far better than GCC, but I think there's a second compilation for LLVM on runtime, they should count it
<taylanub>nalaginrut: Clang compiles C-family languages to native code. I think you're thinking of some other feature of LLVM when you say there's a second compilation at runtime...
<nalaginrut>taylanub: I think it should be JIT which need second compilation at runtime, no?
<taylanub>yeah, LLVM has some JIT features too I think, but for C/C++ it just compiles to native code as usual
<nalaginrut>taylanub: alright, I didn't find the compile args of this benchmark, so I think it should be something like 'clang xx.c -o xx' as you said, which is not JIT ;-)
<nalaginrut>but it's amazing that the time to compile of LLVM is so short even if it's AOT
<nalaginrut>I mean well-optimized AOT
<civodul>nalaginrut: http://vmkit.llvm.org/publications/vmkit.html was not so optimistic
<civodul>apparently things have improved, but it's still not all that bright, i think
<nalaginrut>well, if so, I think LLVM is over-boasted these days
<nalaginrut>people around me boasting LLVM everyday, so that I thought LLVM is faster than GCC now
<nalaginrut>anyway, it's not the fault of LLVM community I think ;-P
<ArneBab>nalaginrut: the time to compile is ok to test, but it has to be marked clearly as not the same test.
<ArneBab>nalaginrut: also I recently saw a test which showed that LLVM actually isn’t faster at compiling…
<ArneBab>(at least in general)
<nalaginrut>ArneBab: ah...so many different opinions, what I've said? I don't trust benchmark unless I do it myself
<nalaginrut>;-S
<ArneBab>nalaginrut: yes :)
<ArneBab>nalaginrut: I think what is happening is that the anti-copyleft folks (at Apple and others) realized that they can leverage LLVM to break the GCC stronghold over free compilers.
<ArneBab>first make a non-copyleft compiler the dominant system, then add unfree extensions. Result: A new, optimized proprietary development environment.
<nalaginrut>ArneBab: you're right, I found some people who's happy with the result just because he want to see GCC get failed
<nalaginrut>but I want to know the truth ;-)
<nalaginrut>civodul: thanks for the paper, seems VMKit can catch up with mono and harmony, but there's still distance from jvm and cli
<civodul>VMKit is retired
<nalaginrut>civodul: oops
<nalaginrut>civodul: is it better now? I think the paper is old
<civodul>no idea, i'm just reading the web page, see http://vmkit.llvm.org/
<civodul>there's this red banner on the top
<nalaginrut>I saw it too, according to the paper, maybe it's not good enough to continue
*nalaginrut is planing to write docs of Artanis with org-mode...
<civodul>a very nice talk on FP and patterns: http://www.slideshare.net/ScottWlaschin/fp-patterns-buildstufflt
<nalaginrut>hah, I want to read it
<ArneBab>nalaginrut: docs in org-mode are pretty good - I think it’s the best solution for tutorials.
<ArneBab>civodul: 249 slides *yikes*
<nalaginrut>ArneBab: I'm not familiar with org-mode, is there any template I can use?
<nalaginrut>ArneBab: don't worry, most of them are just display different notes, so there's fewer pages
<nalaginrut>actually, I just spend 10 minutes to review it, but I believe I should read it more carefully later
<ArneBab>nalaginrut: maybe something like this? http://orgmode.org/worg/org-tutorials/org-jekyll.org
<ArneBab>nalaginrut: add to that #INCLUDE statements: http://orgmode.org/manual/Include-files.html
<ArneBab>nalaginrut: I also have quite a few here, but only few actually use org-mode as tutorial.
<ArneBab>hm, wait… http://draketo.de/proj/guile-basics/#sec-2-7
<ArneBab>nalaginrut: I can pastebin you the py2guile one
<nalaginrut>nice thank you very much
<nalaginrut>ArneBab: how to split the pages?
<nalaginrut>or I have to do it manually?
<ArneBab>what I found is just use multiple org-documents
<ArneBab>you should be able to also export to texinfo and then create HTML from that, but that costs you the source highlighting.
<nalaginrut>ArneBab: I tried jykell demo just now, is there any colorful example?
<ArneBab>nalaginrut: firstoff here’s a simple version: http://draketo.de/files/2014-07-21-Mo-exact-math-to-the-rescue-guile-scheme.org
<ArneBab>nalaginrut: what do you mean by colorful?
<ArneBab>nalaginrut: a template?
<nalaginrut>yes, something like that, with predefined css
<nalaginrut>I saw you got colorful slide with org-mode
<nalaginrut>I think I can do the same with docs
<ArneBab>nalaginrut: here’s something I wrote for freenet: https://github.com/ArneBab/freenet-fundraising/blob/master/index.org
<ArneBab>important line: #+html_head: <link rel="stylesheet" title="Standard" href="./worg.css" type="text/css" />
<ArneBab> https://raw.githubusercontent.com/ArneBab/freenet-fundraising/master/index.org
<ArneBab>uses this one: https://github.com/ArneBab/freenet-fundraising/blob/master/site/worg.css
<nalaginrut>ok, so I guess the trick is to redefine css youself?
<nalaginrut>ArneBab: thank you! I think I got some hint now
<nalaginrut>I'll try it later
<nalaginrut>have to go home now, see you
<ArneBab>nalaginrut: yepp: You create a beautiful CSS
<ArneBab>nalaginrut: if you get something beautiful, I’d love to use it, too ☺
<ArneBab>nalaginrut: I had no time to adapt it as far as I would have liked to…
<nalaginrut>yeah~I'll try
<ArneBab>nalaginrut: cu
<ArneBab>and happy hacking ☺
<dsmith-work>Morning Greetings, Guilers
<amirouche>hi
<wingo>evening, guile hackers
<amirouche>ah! I did some progress on my bindings it's possible to get and set values :)
<amirouche>the feature of wiredtiger are impressive. And the only people using it are building stock exchange software
<cky>wingo: G'day!
<cky>wingo: Are you planning any visits to NC this holidays, out of curiosity? :-)
<cky>wingo: I know you were keynoting at the Scheme Workshop, which I wasn't able to attend.
***cluck` is now known as cluck
*amirouche watch the milky way
*amirouche nods
***linas_ is now known as linas