00:01 (quit) superjudge: Quit: superjudge 00:08 (quit) janne: Ping timeout: 252 seconds 00:08 (join) janne 00:14 (quit) tewk: *.net *.split 00:14 (quit) stride: *.net *.split 00:14 (quit) fds: *.net *.split 00:38 (quit) bremner_: Ping timeout: 246 seconds 00:39 (quit) realitygrill: Quit: realitygrill 00:42 (join) PLT_Notify 00:42 PLT_Notify: racket: master Asumu Takikawa * 3e3e736 (1 files in 1 dirs): Fix bug in toolbar class in guibuilder 00:42 PLT_Notify: racket: master Asumu Takikawa * 9922062 (1 files in 1 dirs): Make guibuilder preview work and Racketize 00:42 PLT_Notify: racket: master Asumu Takikawa * 7868909 (1 files in 1 dirs): Fix docs on editor-snip% init arg 00:42 PLT_Notify: racket: master Asumu Takikawa * 7f143f0 (3 files in 3 dirs): Add impersonator-contract? along with docs/tests. ... 00:42 PLT_Notify: racket: master Asumu Takikawa * f4aab53 (3 files in 3 dirs): Added option/c for possibly #f values in unstable. 00:42 PLT_Notify: racket: master commits b548bc5...f4aab53 - http://bit.ly/iypNXo 00:42 (part) PLT_Notify 00:43 (join) bremner_ 00:44 (quit) mario-goulart: Read error: Connection reset by peer 00:44 (join) mario-go` 00:45 (join) stride 00:45 (join) fds 00:45 (join) tewk 00:49 (join) ideasman_42 00:49 ideasman_42: Hi, anyone here? 00:49 ideasman_42: just listened to the podcast :) 00:52 jonrafkind: yea 00:53 ideasman_42: jonrafkind, can you embed racket in a C applicaton? 00:53 jonrafkind: yea 00:53 ideasman_42: does it have an embeddable C api like - tinyscheme, cpython, lua 00:53 jonrafkind: yea 00:54 jonrafkind: http://docs.racket-lang.org/inside/overview.html?q=embed#(part._3m_.Embedding) 00:54 ideasman_42: cheers 00:54 ideasman_42: (I work on embedded python in blender3d) 00:54 RandalSchwartz: ideasman_42 - I knew the podcast would bring more people here. :) 00:55 ideasman_42: hey, RandalSchwartz, I was on your sho a while ago! 00:55 RandalSchwartz: oh hey! 00:55 ideasman_42: the blender one ofcourse 00:55 RandalSchwartz: yeah - I suspected as much 00:55 ideasman_42: recall it was 3am and using my laptop mic 00:55 jonrafkind: embedded python is nice. embedded ruby is a nightmare 00:55 jonrafkind: to be honest, ive played with the C api for racket and couldnt figure it out 00:55 jonrafkind: other people have gotten it to work though 00:56 ideasman_42: RandalSchwartz, interestingly people use blender in a similar way to racket 00:56 RandalSchwartz: as a teaching platform? 00:56 jonrafkind: also you have to play nicely with the racket garbage collector which uses precise garbage collection. in particular you have to explicitly mark which stack objects can contain pointers 00:56 ideasman_42: more as a way of learning python/3d 00:57 ideasman_42: we have a 3D environment and interactive command line which is very easy to get into 00:57 RandalSchwartz: ahh 00:57 RandalSchwartz: yeah 00:57 ideasman_42: you can for example display python console vars in the 3d view 00:57 (join) neilv 00:57 ideasman_42: http://wiki.blender.org/index.php/File:Add-ons_MathVis.png 00:57 ideasman_42: ack 00:57 ideasman_42: http://wiki.blender.org/uploads/c/c2/Add-ons_MathVis.png 01:00 (quit) jeapostrophe: Quit: jeapostrophe 01:01 ideasman_42: since we have most of our access through a generic type system now Im keeping an eye out on other embeddable languages 01:04 neilv: i embedded racket many years ago. it was definitely doable. if i were to do it nowadays, i might instead put it in its own process, and embed only a little communication adapter that talks through a socket 01:04 jonrafkind: neilv, you should attempt to fix the embedded C examples we have 01:04 ideasman_42: yeah, think thats wise in general 01:04 neilv: if it's good enough for postgresql... :) 01:04 jonrafkind: i tried a year ago and failed 01:05 ideasman_42: problem with how we embed python its it locks the whole application while python runs 01:06 ideasman_42: kindof horrible, but in practice its not tooo bad. just means writing an interactive debugger is not really an option 01:06 jonrafkind: collects/mzscheme/examples 01:08 (join) dnolen 01:12 (join) jeapostrophe 01:13 (quit) mithos28: Quit: mithos28 01:15 neilv: with racket's more mainstream exposure on merlyn's podcast, i'm feeling like a hipster 01:15 neilv: i knew racket when they were underground, mannn 01:25 RandalSchwartz: heh 01:38 (quit) dnolen: Quit: dnolen 01:46 (quit) jeapostrophe: Quit: jeapostrophe 01:53 (quit) jonrafkind: Ping timeout: 252 seconds 02:26 (join) vu3rdd 02:26 (quit) vu3rdd: Changing host 02:26 (join) vu3rdd 02:30 (join) samth 02:33 (part) samth 02:33 (join) samth 02:54 ohwow: Hello, anybody up? 03:08 neilv: everyone is listening to drscheme v103 on vinyl 03:24 ohwow: http://www.youtube.com/watch?v=CAYQNb8v-9w 03:24 ohwow: that's why i love twit 03:30 (join) hkBst 03:37 (join) leo2007 03:44 (quit) alcuadrado: Ping timeout: 246 seconds 03:44 (join) MayDaniel 03:46 (quit) sstrickl: Ping timeout: 246 seconds 03:46 (quit) MayDaniel: Read error: Connection reset by peer 03:49 (join) sstrickl 04:05 (join) guestNaN 04:24 (quit) samth: Ping timeout: 246 seconds 04:29 (join) misterncw 04:48 (quit) neilv: Quit: Leaving 04:59 (quit) leo2007: Ping timeout: 260 seconds 05:03 (join) masm 05:11 (join) leo2007 05:31 (join) RpR` 06:37 (join) lucian 06:43 (join) lucian_ 06:46 (quit) lucian: Ping timeout: 260 seconds 06:57 (quit) vu3rdd: Remote host closed the connection 07:04 (nick) mario-go` -> mario-goulart 07:07 (join) ysangkok 07:07 ysangkok: hello? 07:09 ysangkok: how do i do (apply or (list #t #f #f)) ? 07:11 DT``: ysangkok, you can't, or is a macro. 07:12 ysangkok: yeah i found out 07:12 ysangkok: thanks so much for answering DT``! :) 07:12 DT``: np. 07:12 DT``: btw, there's ormap. 07:12 ysangkok: yeah i know but ormap takes a function 07:13 DT``: rudybot, (ormap values (list #t #f #f)) 07:13 rudybot: DT``: your sandbox is ready 07:13 rudybot: DT``: ; Value: #t 07:13 ysangkok: ah 07:13 ysangkok: i was thinking about doing (lambda (x) x) 07:13 ysangkok: what is preferrable? 07:13 DT``: it's the same (with one argument), I prefer values. 07:13 ysangkok: okay 07:14 ysangkok: it's better than (foldl (lambda (i j) (or i j)) false list1) which is what i do now 07:15 ysangkok: ah! turns out i can't use "values" since i'm restricted to use HtDP languages 07:15 ysangkok: so i'll do the NOOP lambda instead 07:16 DT``: didn't it had `identity'? 07:17 ysangkok: yes it does :) thanks a lot 07:20 (join) spdegabrielle 07:51 (nick) lucian_ -> lucian 07:53 (quit) spdegabrielle: Quit: Page closed 07:53 ysangkok: what's the best way of getting the index of value in a list? 07:54 ysangkok: currently i use: (- (length (memf (lambda (x) (equal? needle x)) (reverse haystack))) 1) 07:55 ysangkok: rudybot, (- (length (memf (lambda (x) (equal? 'c x)) (reverse '(a b c)))) 1) 07:55 rudybot: ysangkok: ; Value: 2 07:58 DT``: ysangkok, why do you need that? 08:05 ysangkok: because i'm trying to find out which of two lists that contains an element from a third list first 08:06 ysangkok: i'm at the uni now and i have to go home. i'll be back in ~15 min ! 08:06 ysangkok: but you can answer now if you want 08:06 ysangkok: i'll check the logs 08:06 (part) ysangkok 08:10 (quit) lucian: Remote host closed the connection 08:12 (quit) leo2007: Quit: rcirc on GNU Emacs 23.3.50.1 08:21 (quit) shofetim: Ping timeout: 255 seconds 08:26 hkBst: ysangkok: search both lists simultaneously... 08:28 hkBst: otherwise (let loop ((n 0)) (if (equal? needle (car haystack)) n (loop (+ n 1)))) 08:36 (quit) janne: Read error: Operation timed out 08:38 (join) janne 08:40 (join) ysangkok 08:43 (join) leo2007 09:00 ysangkok: hkBst: thanks a lot for the suggestion, but i am restrcited to htdp-intermediate-lambda :/ 09:01 hkBst: ysangkok: I am not familiar with its restrictions 09:05 ysangkok: hkBst: i get: let: expected a parenthesized sequence of local name definitions after `let', but found something else 09:06 DT``: ysangkok, try this: (define (index-of x xs) (((lambda (x) (x x)) (lambda (loop) (lambda (xs n) (if (equal? (car xs) x) n ((loop loop) (cdr xs) (+ n 1)))))) xs 0)) 09:06 (join) vu3rdd 09:06 (quit) vu3rdd: Changing host 09:06 (join) vu3rdd 09:06 DT``: basically, use a loop. 09:07 hkBst: ysangkok: the named let is syntactic sugar for a letrec... if you don't have that, then maybe use the Y combinator like DT`` suggests... 09:10 ysangkok: hkBst: i have let. doc says: "same as Intermediate’s local, letrec, let, and let*." 09:15 hkBst: ysangkok: in that case something like (let ((loop (lambda (needle haystack n) (if (equal? needle (car haystack)) .... might work. 09:17 ysangkok: DT``: thanks a lot. i was hoping to do it in a cleaner functional way though. also when benchmarking, my version is >50% faster: https://gist.github.com/993116 09:17 DT``: ysangkok, there's nothing more functional than ω! 09:17 DT``: It's also meant to be slow. 09:18 DT``: since you have local, use an internal define to define the loop: (define loop (lambda (xs n) (if (equal? (car xs) x) n ((loop loop) (cdr xs) (+ n 1] 09:18 DT``: *(loop (cdr xs) (+ n 1] 09:19 ysangkok: ω? i don't know if i used the right term, i meant like higher-order-functions vs loops 09:20 DT``: sometimes being smarter is worse, though. 09:20 DT``: (ω is (λ (x) (x x))) 09:20 ysangkok: ah okay 09:21 hkBst: ysangkok: intermediate with lambda has letrec in my racket... 09:21 ysangkok: hkBst: yes it has it, i cited the docs too. they said that too. the error is about something else 09:22 ysangkok: DT``: could you paste the full function? i have difficulties figuring out what you tried fixing with the "*" 09:23 DT``: sure, wait a sec. 09:24 DT``: http://paste.lisp.org/display/122279 09:24 (join) dnolen 09:26 ysangkok: hkBst: this function (let ((loop (lambda (needle haystack n) (if (equal? needle (car haystack))))))) 09:26 ysangkok: hkBst: gives me this error: let: expected an expression after the name-defining sequence, but nothing's there 09:27 hkBst: ysangkok: yeah, you quoted some text which said `let' acts (among other things) like `letrec', but inter+lam has `letrec', so I don't think that quote is correct. 09:29 (join) PLT_Notify 09:29 PLT_Notify: racket: master Matthew Flatt * c0811dc (1 files in 1 dirs): cocoa: fix `get-y' in `frame%' - http://bit.ly/kCvhko 09:29 (part) PLT_Notify 09:31 (quit) sstrickl: Quit: sstrickl 09:31 ysangkok: hkBst: quote is from here: http://goo.gl/DhouH 09:32 (quit) dnolen: Quit: dnolen 09:33 ysangkok: DT``: your second version is faster, but still pretty slow. benchmark: 2*10^6+1 elements. my: 281. dt-ver1: 4415. dt-ver2: 2854 09:33 hkBst: ysangkok: the way you quoted it it seemed like you were saying `let' acted like all four of those forms... but that's not what the doc says. 09:33 (join) dnolen 09:34 DT``: ysangkok, for some reason, the htdp language is really slow, it's ~2000 ms here. 09:34 DT``: in #lang racket, yours is still faster, though (46 vs 50) 09:35 ysangkok: DT``: btw i had to modify your function like this: http://paste.lisp.org/display/122279#2 09:36 ysangkok: DT``: but it kinda boggles me. i thought (reverse ...) would be really expensive. but i guess that it's fast since memf does all the finding... 09:36 DT``: ysangkok, it looks the same to me (look the one above) 09:37 DT``: ysangkok, beats me too, I thought it would have been slow, but it's faster than an explicit loop. 09:37 DT``: is it the JIT doing miracles? 09:37 ysangkok: hmm yeah i must have made an error copypasting 09:41 ysangkok: hkBst: ah yes i'm sorry. i misinterpreted it. i still can't get it to run though 09:43 ysangkok: hkBst: the reason is that i searched for "let", then clicked the function name for the correct language. i didn't look at the function definition syntax since i thought it was irrelevant. i then read "same as ..." and thought that since i clicked on "let", this means that this function is the same as these other functions 09:50 ysangkok: hkBst: I even get an error when running (define (index-hkbst needle haystack) (let ((loop (lambda (needle haystack n) (if (equal? needle (car haystack)))))))) 09:50 ysangkok: hkBst: in normal racket 09:50 ysangkok: hkBst: let: bad syntax in: (let ... 09:51 DT``: it's missing a body. 09:51 DT``: (I don't know what hkBst wanted to do) 09:53 hkBst: ysangkok: you need to use letrec instead of let and fill in the ... blanks 09:54 ysangkok: hkBst: you mean closing parenthesises by ..., right? 09:55 ysangkok: hkBst: this is my definition: (define (index-hkbst needle haystack) (letrec ((loop (lambda (needle haystack n) (if (equal? needle (car haystack)))))))) 09:55 ysangkok: hkBst: and i get the same "expected an expression" error (with inter+lam now) 09:56 ysangkok: aaah hkBst okay i guess you didn't want me to just close them parantheses then... 09:57 ysangkok: DT``: thanks for the hint 09:58 hkBst: ysangkok: http://paste.pocoo.org/show/395584/ for example 10:01 (join) MayDaniel 10:02 (join) shofetim 10:03 ysangkok: hkBst: yes now it works, thanks 10:11 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 10:13 (quit) dnolen: Quit: dnolen 10:39 (join) bugQ 10:53 (join) samth 11:02 (join) sstrickl 11:04 (quit) misterncw: 11:06 (join) dnolen 11:19 (quit) guestNaN: Remote host closed the connection 11:20 (join) ckrailo 11:30 (quit) samth: Ping timeout: 260 seconds 11:33 (quit) bugQ: Read error: Operation timed out 11:56 (join) jonrafkind 12:00 (quit) MayDaniel: Read error: Connection reset by peer 12:02 (quit) leo2007: Ping timeout: 260 seconds 12:16 (quit) DT``: Quit: EOF 12:19 (join) DT`` 12:22 (quit) hkBst: Remote host closed the connection 12:23 ohwow: http://farm3.static.flickr.com/2676/5755280417_307c972448_b.jpg 12:25 ysangkok: meh, he got the font wrong 12:26 ysangkok: this one's better: http://www.geekologie.com/2007/05/24/mazda-pi.jpg 12:27 (quit) masm: Ping timeout: 250 seconds 12:27 ohwow: omg 12:30 eli: The MA guy has a better license plate number too. 12:32 (join) lucian 12:37 ysangkok: i saw it with e=2.71... too but i can't seem to find it 12:40 jonrafkind: zero=0.0000000000000000 12:41 ohwow: heh 12:43 ysangkok: i meant the irrational number e. approximation is there so that it didn't look like a typo or something 12:54 eli: 1=0.999999999999999999... 13:00 (join) leo2007 13:06 (join) masm 13:20 (join) samth 13:24 (quit) ysangkok: Quit: Leaving. 13:24 (quit) tonyg: *.net *.split 13:24 (quit) ohwow: *.net *.split 13:25 (join) tonyg 13:25 (join) ohwow 13:30 (join) bugQ 13:31 bugQ: aaaah plai doesn't have fold! 13:33 ohwow: huh? 13:34 ohwow: can't you load srfi1? 13:38 bugQ: ok ok yes 13:42 bugQ: but I mean come on, that request is 11.6 years old!! hasn't it been proofed enough yet? 13:47 bugQ: well ok, it looks like some stuff has been added bit by bit 13:48 bugQ: how long until fold gets in? it's a pretty essential iterator 13:48 RandalSchwartz: by the way, the videos of yesterday's interview are now up at twit.tv/floss 13:50 ohwow: yeah 13:50 ohwow: twit is horrible tho 13:51 ohwow: i mean the had ads for literally more than 3 minutes 13:51 samth: bugQ: use `foldl' 13:51 samth: or `foldr' 13:51 ohwow: "OH GOD I LOVE NETFLIX ITS SO GOOD" 13:51 bugQ: samth: now there's an answer that makes sense 13:51 RandalSchwartz: 3 minutes out of 60 13:51 RandalSchwartz: that's less than broadcast tv 13:51 ohwow: It's not a tv show, it's a podcast, jeez 13:52 RandalSchwartz: and yeah, I got a bit carried away, and read more than the copy 13:52 ohwow: and it's about floss 13:52 RandalSchwartz: ohwow - if you open your pocketbook for the $500 or so it costs to produce each show, I'll be happy to take that instead of the ad money 13:52 RandalSchwartz: seriously - there *are* costs 13:52 ohwow: duh 13:52 ohwow: it's a hobby, not a job 13:53 ohwow: of course there are cost 13:53 RandalSchwartz: it's not a hobby for leo 13:53 RandalSchwartz: it *is* a full time job for the 7 people at the cottage 13:53 ohwow: huh 13:54 RandalSchwartz: so leo either puts ads on floss, or he has to subsidize it from his pocket 13:54 ohwow: well they should quit their `job' then and do something else 13:54 (join) PLT_Notify 13:54 PLT_Notify: racket: master Vincent St-Amour * c3da0ba (2 files in 2 dirs): sub-in -> multi-in 13:54 PLT_Notify: racket: master Vincent St-Amour * 3210aa6 (1 files in 1 dirs): Extend multi-in to deal with more general trees. 13:54 PLT_Notify: racket: master Vincent St-Amour * 48b5725 (1 files in 1 dirs): Document extension to multi-in. 13:54 PLT_Notify: racket: master Vincent St-Amour * 2c470ee (1 files in 1 dirs): Tests for multi-in. 13:54 PLT_Notify: racket: master commits c0811dc...2c470ee - http://bit.ly/jMfT7f 13:54 (part) PLT_Notify 13:54 ohwow: probably read some marx too 13:54 RandalSchwartz: ohwow... at this point, you've lost any interest from me. 13:54 ohwow: full-time job as a podcaster, what a joke 13:54 RandalSchwartz: you're just someone who wants everything free all the time. 13:54 ohwow: I am sorry you feel that way 13:55 ohwow: and yes, I want everything to be free for everybody 13:55 RandalSchwartz: twit.tv is a network of high quality shows, and there are costs in producing that 13:55 ohwow: sorry for not being a republican 13:55 eli: RandalSchwartz: We have a link on the blog post that was made (blog.racket-lang.org), but the embedded video is from youtube -- just because it was easier to plop that in... 13:55 RandalSchwartz: I'm not a republican either. no need to apologize 13:55 RandalSchwartz: but I do believe in free market. 13:55 RandalSchwartz: yeah - the youtube one is fine 13:55 offby1: Gentlemen, you can't fight here. This is the War Room. 13:56 ohwow: yeah i do believe in free market too.. i believe that it causes poverty and destruction 13:56 eli: (FWIW, I have no problems with the ads -- the direct benefit to OSS here is very direct.) 13:56 RandalSchwartz: ohwow - let me know what the color of the sky is on the planet you're from then. :) 13:56 ohwow: Racket is a serious project and many people *really* work on it doing a lot of usefull stuff. I don't see any ads on racket-lang.org 13:57 RandalSchwartz: that's because the costs are buried in PhD salaries and grad student sweat 13:57 RandalSchwartz: and apparently, that's sufficient 13:58 RandalSchwartz: but the guy who professionally edits my show doesn't have any motivation to produce FLOSS. he's just a hired guy. 13:58 RandalSchwartz: similarly, the electric company doesn't care about open source... they just provide electricity, and a bill at the end of the month 13:58 RandalSchwartz: so for FLOSS Weekly to exist, someone has to pony up, about $500 or so per week 13:59 (join) superjudge 13:59 RandalSchwartz: and from that, you get a website, audio, video, hosts, guests, etc. 13:59 ohwow: you pay your hosts and your guests? 13:59 RandalSchwartz: nope. 13:59 RandalSchwartz: just saying, that's the result 13:59 ohwow: also lol @ hiring someone who doesnt give a shit about podcast 13:59 samth: ohwow: this isn't really an appropriate way to behave on #racket 13:59 RandalSchwartz: ohwow - I'm guessing you're young, or naive, or both. 14:00 RandalSchwartz: perhaps never had to live away from school or your parents. 14:00 samth: there's really nothing morally wrong with advertising supported media 14:00 eli: ohwow: RandalSchwartz is absolutely right about the funds that go into developing racket. 14:01 RandalSchwartz: probably believes it's ok to copy copyrighted songs too, "because it helps the performers get more exposure" 14:01 eli: They're disguised in the form of various academic projects, by overall the costs are definitely there and they are pretty big. 14:01 ohwow: eli: why can't twit get donations or other forms of support? 14:01 RandalSchwartz: and we also did try to run floss weekly strictly on contributions 14:02 RandalSchwartz: it's a small piece, but people don't pony up 14:02 ohwow: Plus, I am not really familiar with Racket development cycle, but a lot of OSS projects receive support for volonteers 14:02 RandalSchwartz: how much would *you* be willing to contribute each week for floss weekly, and if so, why haven't you started? 14:02 eli: ohwow: see what RandalSchwartz said -- and that doesn't durprise me. 14:02 eli: s/dur/sur/ 14:02 ohwow: RandalSchwartz: I haven't started because that's the first episode I have watched 14:03 ohwow: never heard of that podcast before 14:03 RandalSchwartz: cool. and now that you've seen it, would you contribute $1 per week, and help encourage 499 of your friends to do so? 14:03 RandalSchwartz: if so, we'll stop the ads. :) 14:03 ohwow: and I dont listen to artists, who are against sharing music 14:04 RandalSchwartz: you now sound more bitter than happy 14:04 RandalSchwartz: Sad... in that sense. 14:04 ohwow: I might as well send a donation, but unfortunately I dont have 499 friends, not even on facebook. 14:04 RandalSchwartz: "the world must conform to my rules!" 14:04 eli: ohwow: What RandalSchwartz is telling you is that people in general would not commit in a form of a payed account. (Eg, see offby1's earlier post.) Otherwise everyone would be happy to have no-ads pay-to-subscribe service. 14:04 ohwow: I just believe that copyright system is wrong 14:04 RandalSchwartz: That's not how it works. The world conforms to a consensus. 14:04 ohwow: Can you please link me to offby1's post? 14:05 RandalSchwartz: eli - very true 14:05 RandalSchwartz: it was tried 14:05 (join) carleastlund 14:05 RandalSchwartz: at the moment, the production costs are paid by sponsor ads. the bandwidth is paid by network sponsors (and tiny ads). Leo's salary is the only thing that comes from the contributions, and even that's below his normal paygrade. 14:06 RandalSchwartz: However, we could keep floss weekly ad-free if enough contributions were earmarked that way. 14:06 ohwow: "That's not how it works. The world conforms to a consensus." <-- also a lot of people are starving to death in this world 14:06 RandalSchwartz: And a lot of people are also having a great time. 14:07 eli: ohwow: Here -- samth: offby1: see lwn.net; offby1: I used to read them! They had/have a great editor.; offby1: But I am also the problem: I think I stopped reading once they charged $ :) 14:07 RandalSchwartz: If you want to live in an ideal world, build a spaceship, and go there. 14:07 RandalSchwartz: I'll continue to live on Planet Earth in the meanwhile. 14:07 eli: My guess is that he won't mind some small payment if it was painless to do so. 14:08 RandalSchwartz: yeah - a paywall for floss weekly would quickly kill the circulation 14:08 ohwow: Why can't we have change on this planet? 14:08 RandalSchwartz: maybe make it 5% of what it was 14:08 eli: But as someone who needs to pay N bills to N places, I know that it is impractical in general to expect people to do so. 14:08 RandalSchwartz: ohwow - you get change by first acknowledging what there is. 14:08 RandalSchwartz: you can't live in a fantasy world. it unenrolls others from caring about what you say. 14:09 eli: ohwow: And such things (small payments by what you actually read) have been suggested and tried *many* times. I don't think that anything ever came close to being practical. 14:09 eli: Except for advertising. 14:09 RandalSchwartz: Yeah - repeated failures. ads are about the only consistent model 14:09 eli: (Which is unfortunate, because I hate some of the more offensive forms of advertising.) 14:09 ohwow: I am not talking about small payments, I am talking about donations 14:09 RandalSchwartz: I'm very careful to advertise only things that I personally believe in 14:09 ohwow: I have been on a webforum which relies solely on donations 14:10 RandalSchwartz: Leo insists on that from his hosts. 14:10 ohwow: and they manage to raise $400 every month 14:10 eli: And in that sense, I was actually happy for the netflix ads that RandalSchwartz did -- they're a step back to personal radio advertising. 14:10 eli: IE, this way it's very unlikely that you'll try to hear a racket interview and get some viagra ad... 14:13 (join) MayDaniel 14:15 (join) stchang 14:17 ohwow: As for copying songs -- I recommend reading "Against Intellectual Property" and Stallman's book about freedom, I forgot it's name. Sorry for hijacking the topic, but this is a serious issue for me. 14:17 RandalSchwartz: Until that is a majority view, it's not relevant to me. I live in a world that has heavily entrenched ideas about ownership of creative acts. 14:18 ohwow: RandalSchwartz: I would like to talk to you more, but without spreading offtopic flames in this channel. May I pm you later? 14:18 RandalSchwartz: I *can* suggest that I prefer much shorter copyright lenghts. 14:18 RandalSchwartz: like 14 years for *everything*. non-renewable. 14:18 RandalSchwartz: I'd be willing to put all of my works under such a clause. 14:18 RandalSchwartz: if I can't monetize my work in 14 years, it wasn't really time for it anyway. :) 14:19 ohwow: But Twit is released under CC? 14:19 RandalSchwartz: sadly, we seem to be slipping ever further into "protect mickey mouse at all costs" territory 14:19 RandalSchwartz: leo's shows are all CC, yes. 14:19 RandalSchwartz: I forget the specific version 14:19 ohwow: and what about your show? 14:20 RandalSchwartz: by-nc-sa 14:20 RandalSchwartz: it's leo's show, not mine. he's the exec producer, I'm just the producer and host. 14:20 ohwow: oh, sorry 14:20 RandalSchwartz: I have no copyright stake at all in floss 14:20 (join) anRch 14:24 RandalSchwartz: And no, I'm not interested in a private debate. I have other things to do. :) 14:24 RandalSchwartz: If I liked to debate on this topic, I'd join EFF-ish and FSF-ish mailing lists. 14:24 RandalSchwartz: instead, I just live in the real world. simpler. :) 14:24 ohwow: farewell then 14:25 samth: lets not be expecting people to leave *this* community b/c they disagree about whether advertising is bad 14:26 samth: ohwow: you should also note that RMS doesn't agree with the positions you've been taking in this discussion 14:27 ohwow: About ads? Well, it's hard to find a person who 100% agrees with all of your views, isn't it? 14:28 (quit) jonrafkind: Read error: Operation timed out 14:30 (join) asumu 14:48 (quit) MayDaniel: Read error: Connection reset by peer 14:59 (quit) vu3rdd: Remote host closed the connection 15:00 (part) RpR`: "ERC Version 5.3 (IRC client for Emacs)" 15:08 (quit) anRch: Quit: anRch 15:29 (quit) ideasman_42: Remote host closed the connection 15:40 (quit) masm: Quit: Leaving. 15:59 (quit) superjudge: Quit: superjudge 16:17 (quit) tonyg: Quit: leaving 16:35 (quit) bugQ: Ping timeout: 276 seconds 16:58 (part) fds 17:14 (join) jeapostrophe 17:15 (quit) jeapostrophe: Client Quit 17:22 (quit) leo2007: Quit: rcirc on GNU Emacs 23.3.50.1 17:24 (join) jonrafkind 17:29 (join) jeapostrophe 17:31 (quit) jeapostrophe: Client Quit 17:42 (join) shofetim 17:52 (join) masm 17:55 (quit) DT``: Ping timeout: 246 seconds 18:03 (quit) dnolen: Ping timeout: 252 seconds 18:09 (quit) sstrickl: Quit: sstrickl 18:53 (join) dnolen 19:02 (join) Demosthenes 19:03 (quit) lucian: Remote host closed the connection 19:04 (quit) asumu: Read error: Operation timed out 19:05 Demosthenes: so, what's everyone's preferred logging solution? 19:06 (quit) carleastlund: Quit: carleastlund 19:08 jonrafkind: (define-syntax (log str x ...) (when verbose? (printf str x ...)) 19:08 samth: Demosthenes: have you seen the built in logging system? 19:12 offby1: samth: I found it surprisingly hard to use 19:12 offby1: especially given that I didn't really care about its main feature (dispatching based on the type of the message) 19:12 samth: offby1: i haven't used it much 19:14 (quit) ckrailo: Quit: Leaving... 19:14 Demosthenes: samth: yeah, it blows ;] 19:14 Demosthenes: see offby1's comments ;] 19:16 Demosthenes: i got a code snippet that allows me to bump the loglevel on the fly, but learning threads, sync, and events just to spawn log messages... its overboard 19:17 (join) ckrailo 19:17 offby1: yep 19:18 Demosthenes: neat video off the ml too 19:18 offby1: could probably be fixed by adding some helper functions 19:18 (join) lucian 19:18 offby1: I really only played with it when it was new; I haven't tried to use it. 19:18 offby1: e.g. I don't think I ever integrated it into rudybot 19:18 samth: yeah, it would be nice to have a library on top of it 19:19 Demosthenes: i've built a big, dispatching packet parser, and the ability to specify log levels in different portions of the program, to a file or stdout, on the fly... 19:19 Demosthenes: would rock 19:21 Demosthenes: really, i find that i want to trace stuff in a single function, or a step through debugger... the lack of them is annoying 19:28 offby1: I've heard you can do that with DrRacket's "stepper", but it never seems to work for me 19:28 bremner_: the macro stepper or the debugger stepper? 19:29 bremner_: I guess the debugger, from context 19:30 Demosthenes: i'm in geiser, or cli 19:30 Demosthenes: no dr racket here 19:32 offby1: not even sure what the difference is, actually. 19:32 (quit) samth: Ping timeout: 240 seconds 19:33 Demosthenes: i don't use drracket... geiser is the emacs repl 19:42 (quit) qha: Quit: Leaving. 19:47 offby1: I use that too. But I don't know any way to step via geiser. 19:47 offby1: M-x geiser-db RET would be sweet. 19:48 Demosthenes: yep 19:48 Demosthenes: or just racket-debug on the cli, drop me to a prompt 19:49 (quit) lucian: Ping timeout: 240 seconds 19:53 (join) lucian 19:54 (join) qha 19:54 Demosthenes: mr. flatt had a great interview! 19:59 offby1: I swear that guy looks like his 24 years old 19:59 offby1: must be the hair gel 19:59 offby1: s/his/he's/ 20:04 Demosthenes: *laugh* well, still gave a great interview 20:04 Demosthenes: i need to go read up on contracts... 20:09 (quit) lucian: Read error: Operation timed out 20:10 RandalSchwartz: I hate to add another bin to my already excessive $PATH. on OSX, can I just symlink the few things in that I might invoke directly, and it'll find the rest of them relatively, or do I need to add it to my PATH? 20:12 shofetim: RandalSchwartz: I think the symlinking would work. Its pretty smart about paths. But never tried it on a Mac. 20:12 (part) shofetim: "off to LUG meeting" 20:13 Demosthenes: (i think i was just watching his interview!) 20:14 eli: RandalSchwartz: It works fine like that by design. (On linux too, which makes it very easy to just put the directory somewhere and remove when you're done or when you update. Much easier than the FHS scatter.) 20:15 RandalSchwartz: cool 20:15 RandalSchwartz: it must do a hard pwd then internally? 20:16 RandalSchwartz: I mean if I do "ln -s ~/Projects/Racket/bin/raco ~/bin" 20:16 RandalSchwartz: then I'm saying "raco foo" 20:16 RandalSchwartz: which maps to $HOME/bin/raco 20:16 RandalSchwartz: but the pieces are really over in ~/Projects/Racket/lib/* 20:17 eli: Yeah, `raco foo' does its own dispatch over whatever library registered a `foo' verb. 20:17 RandalSchwartz: but it finds it ok given the above scenario? 20:18 eli: Yes, you shouldn't have any problems. 20:18 RandalSchwartz: probably doing absolute path. 20:18 Demosthenes: hrm, anyone know how to tell regexp to debug verbosely? 20:18 eli: RandalSchwartz: No, it's all relative to the racket binary. (After chasing symlinks.) 20:18 Demosthenes: perl has a way to tell regexp to dump internal state... 20:19 RandalSchwartz: perl has a way to do everything. :) 20:19 eli: Demosthenes: Racket's `regexp-replace' will accept a function, which you might use to do some debugging. 20:20 eli: But I'm not surprised that Perl has much more support for debugging regexps... They're used much more... 20:20 RandalSchwartz: I don't think it's compiled in by default 20:20 RandalSchwartz: I think you have to build a special Perl 20:20 Demosthenes: http://perl.active-venture.com/pod/perldebguts-debugregexp.html 20:21 Demosthenes: i've used it before, needed something similar for racket ;] 20:21 RandalSchwartz: you could just post it to a pastebin... and wait for me to look it over. :) 20:23 RandalSchwartz: I've been hacking regex for 30+ years 20:23 Demosthenes: oh no, thats not the issue 20:23 Demosthenes: when capturing more than one item, against a multi-line input string... how else can you debug other than disassembling? 20:24 RandalSchwartz: look at the result? :) 20:24 Demosthenes: when it all fails ;] 20:24 RandalSchwartz: and in Perl, use side-effects to store the vars. 20:24 (join) lucian 20:24 RandalSchwartz: no - even when it fails, I can run it in my head to figure out what's wrong 20:24 Demosthenes: named capture in perl rocks, something racket doesn't have yet 20:24 RandalSchwartz: seriously... I just "grok" this stuff 20:25 Demosthenes: i wrote a multiline extractor because i was sick of making event driven parsers over and over against just so i could multiline extract AND be able to debug / trace. 20:25 Demosthenes: perl's re you can trace. 20:28 RandalSchwartz: even though I don't. I just "grok" them :) 20:28 Demosthenes: i love re's ;] 20:29 Demosthenes: http://bazaar.launchpad.net/~rladams/+junk/RacketParser/files 20:29 RandalSchwartz: can you have code run on the finalization of an object? 20:29 RandalSchwartz: I'm looking at the "More: ..." docs, and the (define stop (serve 8081)) looks a bit silly 20:29 Demosthenes: eli: i don't see where regexp-replace takes a function in the ref 20:31 (quit) ckrailo: Quit: Computer has gone to sleep. 20:33 RandalSchwartz: whoa. datalog 20:35 eli: Demosthenes: http://docs.racket-lang.org/reference/regexp.html#(def._((quote._~23~25kernel)._regexp-replace)) 20:35 eli: "The insert argument can be either a (byte) string, or a function that returns a (byte) string." 20:36 eli: But looking at your file, it seems that you're implementing a parser, do you know about parser-tools? 20:36 eli: (BTW, using (regexp foo) at runtime means that you pay for the regexp compliation at runtime.) 20:36 Demosthenes: eli: nope 20:37 Demosthenes: but i'm not doing computer languages, i'm doing HL7 and other vendor records :P 20:37 (join) ckrailo 20:38 eli: Demosthenes: As long as it's a proper formal language, it's the same thing... 20:38 RandalSchwartz: perl66 is going to be great at that 20:38 RandalSchwartz: errr.. .perl6 20:39 eli: At parsing? Aren't there 2000 libraries now? 20:39 Demosthenes: nope. imagine mixes of k/v pairs and such 20:39 Demosthenes: ugly 20:39 Demosthenes: and they tend to diverge and change over time, sometimes i can at least get a version number 20:40 (quit) ckrailo: Client Quit 20:40 Demosthenes: regexp has all the power i need, when multi-line and some sort of debug mode 20:41 (quit) jonrafkind: Ping timeout: 252 seconds 20:44 Demosthenes: eli: lexers look close, but i run better off examples... 20:46 (join) PLT_Notify 20:46 PLT_Notify: racket: master John Clements * 53cfbd2 (1 files in 1 dirs): fix to string to fulfill contract on empty input 20:46 PLT_Notify: racket: master John Clements * 10cb0e6 (1 files in 1 dirs): oops, no match available here 20:46 PLT_Notify: racket: master commits 2c470ee...10cb0e6 - http://bit.ly/jKjJNF 20:46 (part) PLT_Notify 20:46 eli: You should really look at it -- IIRC, the lexer part is very easy, and I think that it can use regexps for the specifications. 20:46 Demosthenes: if you're on linux, try "cat /proc/zoneinfo" and that's almost as nasty ;] 20:47 eli: That looks very easy. 20:47 eli `find-file's instead of `cat'ting, of course... 20:50 Demosthenes: i'm essentially reverse printf'ing, and think of it like text extracting from mainframe reports. 20:50 Demosthenes: the TXR project does similar 20:51 Demosthenes: funny, i do this in racket because i felt i could do the control code i wnated in perl ;] 20:52 (join) jeapostrophe 20:53 Demosthenes: i'm extracting data into a hash, indexing on keys and typecasting or converting 20:54 (quit) jeapostrophe: Client Quit 20:56 (quit) dnolen: Quit: dnolen 21:03 (quit) lucian: Quit: Ex-Chat 21:06 (join) lucian 21:08 eli: Demosthenes: Well, it's similar to the zoneinfo thing, it doesn't sound hard. 21:10 Demosthenes: i've got lines with multiple k/v pairs to extract, inconsistent formatting, all kinds of crazy 21:10 Demosthenes: i wish it were just "k: v" :P 21:10 Demosthenes: lexers sound close, certainly similar to what i was doing 21:11 (quit) masm: Ping timeout: 240 seconds 21:11 (join) jeapostrophe 21:15 Demosthenes: bbiab 21:20 (quit) Demosthenes: Ping timeout: 240 seconds 21:29 (join) Demosthenes 21:29 Demosthenes: right, back ] 21:31 (quit) martinhex: Remote host closed the connection 21:32 (part) jeapostrophe 21:33 (join) jeapostrophe 21:33 (quit) jeapostrophe: Client Quit 21:34 (quit) Demosthenes: Ping timeout: 264 seconds 21:42 (join) tauntaun 21:45 (join) Demosthenes 21:45 Demosthenes: bah, stupid hotel net ;] 21:47 (join) martinhex 21:50 (quit) martinhex: Read error: Connection reset by peer 21:51 offby1 hates Hates HATES hotel internet 21:51 offby1: Demosthenes: lemme guess -- you're in a kinda expensive hotel. 21:51 offby1: If you were in a cheap fleabag, the Internet would be free and reasonably reliable 21:52 offby1: /proc/zoneinfo -- I was expecting timezones 21:52 (quit) Demosthenes: Ping timeout: 240 seconds 21:55 (join) martinhex 22:04 (quit) lucian: Read error: Operation timed out 22:10 (join) asumu 22:22 (join) Demosthenes 22:29 (quit) Demosthenes: Ping timeout: 276 seconds 22:35 (join) jeapostrophe 22:37 (quit) martinhex: Remote host closed the connection 22:45 (quit) jeapostrophe: Quit: jeapostrophe 22:48 (join) Demosthenes 22:49 (join) samth 22:49 Demosthenes: gah. lemme get you a sample record 22:52 (join) dnolen 22:52 Demosthenes: http://pastebin.com/G436icZW 22:53 Demosthenes: with an event driver parser, i just capture the controller detail, then parse each k: v pair as needed. with that lexer-like paragraph parser i can specify the keys and pre/post processing (ie: convert to number or date) 22:53 Demosthenes: the issue is treating a pattern to match like a sliding window going down a file 22:53 Demosthenes: i'm just saving to hashes. 22:54 (join) Rodolfo 22:55 Rodolfo: hey, is there any way to copy stuff from DrRacket into somewhere else (Blogger.com) and keep colors? 22:56 Rodolfo: I would like to write on a blog post some results from my interactions area 22:57 Rodolfo: (maybe there's somewhere else a syntax coloring facility outputting HTML?) 22:58 samth: Rodolfo: the syntax coloring isn't part of the copy-and-paste, it's just text 22:59 samth: you can try gist.github.com for someplace w/ syntax coloring 22:59 (join) martinhex 23:00 (join) ZachBeta 23:01 Rodolfo: thanks 23:01 Rodolfo: I tried this solution, and actually found it on an old thread in the list 23:02 Rodolfo: but I'd like to keep the default colors in my post, just like "a picture to my reader" 23:02 Rodolfo: Is there any path using http://docs.racket-lang.org/syntax-color/index.html ? 23:03 (join) neilv 23:03 (join) jeapostrophe 23:03 Rodolfo: well, Slideshow can colorize code, and also save as HTML... so I guess there's something in this process that I could use 23:05 (join) leo2007 23:05 (quit) leo2007: Client Quit 23:06 samth: slideshow doesn't produce html, that's scribble 23:08 (quit) jeapostrophe: Quit: jeapostrophe 23:11 Demosthenes: hrm, so i'm still trying to read on lexing, it looks like the lex layer provides no dependencies between items. ie: you can say in "k: v" k is a key, v is a value, but then you have to pass it to a parser to understand they are related or BOTH are required to make a valid pair. 23:11 (quit) neilv: Quit: Leaving 23:15 Rodolfo: samth: yeah, that's right, my mistake 23:16 Rodolfo: anyway, is there any chance to produce the same coloring from DrRacket in HTML (in a sane way)? 23:16 samth: scribble is the best way 23:17 samth: see the `scribble/manual' library 23:18 (nick) ec|detached -> ec|irssi 23:19 Rodolfo: thanks 23:23 (nick) ec|irssi -> ec|detached 23:25 Demosthenes: hrm, and i have to match every k/v pair in a multiline record for the record to "count", i guess i'm lexing and parsing at the same time 23:25 (join) sstrickl 23:31 (join) neilv 23:34 (quit) samth: Ping timeout: 244 seconds 23:41 (part) Rodolfo 23:43 (quit) tauntaun: Quit: Ex-Chat 23:53 (join) jeapostrophe