00:17 (quit) mheld: Quit: mheld 00:48 (join) corruptmemory 00:54 (quit) parcs: Ping timeout: 240 seconds 00:56 (join) parcs 02:07 (join) kevin01123 02:09 kevin01123: I've compiled racket from git, both from the master branch and v5.0.2. When I start DrRacket, I get this message: Error saving preferences: open-output-file: cannot open output file: "~/.racket/.LOCKracket-prefs.rktd" (Permission denied; errno=13) 02:09 kevin01123: Anyone know what's going on with this? 02:11 jonrafkind: do you have ~/.racket ? 02:11 kevin01123: jonrafkind: Yes. 02:11 jonrafkind: hm, can you run drracket with strace? you have to hack the drracket bash script 02:12 jonrafkind: unless strace -f wil do it 02:13 kevin01123: I did a "strace drracket" at the prompt, and it spit out a lot of stuff. What should I be looking for in that? 02:13 jonrafkind: something about that file, ~/.racket/.LOCK... 02:14 kevin01123: jonrafkind: The text from the strace output is going a million miles a second though. How do I parse it? 02:14 jonrafkind: send it to a file, strace drracket &> out 02:15 jonrafkind: grep LOCK out 02:16 kevin01123: jonrafkind: Nothing useful in that. Lot's of passing of variables (SIG_BLOCK, NONBLOCK, CLOCK, etc.) 02:17 jonrafkind: oh, maybe LOCKracket 02:18 kevin01123: open("/home/kevin/.racket/.LOCKracket-prefs.rktd", O_WRONLY|O_CREAT|O_EXCL|O_NONBLOCK, 0666) = -1 EACCES (Permission denied) 02:18 kevin01123: That's what I got. 02:18 jonrafkind: do you have that file? 02:18 jonrafkind: run 'stat' on it 02:19 kevin01123: Which one? The out file or the .LOCKracket-prefs.rktd file? 02:19 jonrafkind: .LOCKrac... 02:23 (nick) abbe -> all 02:23 (nick) all -> abbe 02:23 kevin01123: The file is nonexistant. However, doing an ls -l on the ~/.racket directory show that it has root ownership. So my user is trying to create a file in a root owned directory, and it's throwing fits. Why this directory was created with root ownership, I don't know. 02:23 jonrafkind: ok whatever, jsut blow it away 02:24 jonrafkind: i wish unix error messages provided more information.. "permission denied" is so painfully unhelpful 02:25 kevin01123: jonrafkind: Strange. Deleting the directory makes everything work. 02:25 jonrafkind: why is that strange? 02:25 jonrafkind: since you blew it away, now when the directory is created its owned by you 02:25 jonrafkind: i was going to suggest maybe you accidentally ran drracket with root priveleges 02:25 jonrafkind: or did you do 'sudo make install' ? 02:26 kevin01123: jonrafkind: Yeah. 02:26 jonrafkind: racket installs to its own directory so you dont need the sudo 02:26 jonrafkind: but probably that was the culprit 02:26 jonrafkind: hm, the build system should warn you if you run make install with sudo I guess 02:26 kevin01123: So how should I run make install? Just as a user? 02:26 jonrafkind: yea 02:27 jonrafkind: it installs to the racket directory you are already in 02:27 (quit) Quetzalcoatl_: Read error: Operation timed out 02:27 jonrafkind: instead of /usr/local or wahtever 02:27 jonrafkind: didnt you notice where the drracket binary ended up? 02:27 jonrafkind: (shell script rather) 02:27 jonrafkind: i mean how are you running it? 02:27 kevin01123: I passed --prefix=/usr/local to configure. 02:28 kevin01123: And compiled it from /usr/local/src after cloning it from git. 02:28 jonrafkind: oh, so did it isntall there? 02:28 jonrafkind: to /usr/local ? 02:28 kevin01123: Yes. 02:28 jonrafkind: ok i guess some part of the installation process creates that lock file 02:28 jonrafkind: hm... 02:29 kevin01123: jonrafkind: Yeah. It's kind of weird. I compiled it the exact same way on Fedora, but I used su -c './configure ...' rather than sudo ./configure ... 02:29 jonrafkind: i was gonna say, why didnt it create /root/.racket 02:29 jonrafkind: maybe sudo doesn't change the $HOME and su -c does? 02:30 jonrafkind: let me test.. 02:30 kevin01123: jonrafkind: Yeah. su -c logs into root for that one command. Once it completes, it logs out. 02:30 jonrafkind: ok so thats it 02:31 jonrafkind: im not sure if the racket build system can do anything about this (using sudo make install) 02:31 jonrafkind: but ill bring it up to the other devs to see if anyone has an idea to prevent it from happening in the future 02:33 jonrafkind: kevin01123, one more thing, when you started drracket before after receiving that error message did drracket shutdown or continue normally? 02:34 kevin01123: jonrafkind: Continued. It would not let me advance to the IDE, however. When I clicked the "OK" button on the dialog, it went away, and was replaced with the exact same dialog box immediatley afterward. 02:34 kevin01123: I was stuck in a loop. 02:34 jonrafkind: so it showed oyu that error foreveR? ok 02:36 kevin01123: jonrafkind: Thank you for your help. You and the other devs have a really great project going. 02:36 jonrafkind: no problem, thanks a lot! 02:38 (quit) kevin01123: Remote host closed the connection 02:45 (join) Quetzalcoatl_ 02:56 (quit) dnolen: Quit: dnolen 03:48 (quit) Demosthenes: Quit: leaving 03:50 (quit) jonrafkind: Ping timeout: 260 seconds 04:07 (join) aLeSD 04:16 (quit) mceier: Quit: leaving 04:24 (join) mceier 05:06 (quit) jao: Ping timeout: 240 seconds 05:09 (join) stis 05:43 (quit) clklein: Ping timeout: 240 seconds 05:50 (join) clklein 05:57 (join) masm 07:57 (quit) aLeSD: Quit: Leaving 08:06 (join) mheld 08:16 (join) MayDaniel 08:50 (join) jao 08:50 (quit) jao: Changing host 08:50 (join) jao 10:26 (join) carleastlund 10:57 (nick) abbe -> folks 10:57 (nick) folks -> abbe 11:15 em: Today Im going to figure out Racket 11:17 offby1: ha ha! No you aren't. 11:17 Lajla: em, never. 11:17 Lajla: offby1, by the way. 11:17 Lajla: Ehh 11:17 Lajla: Oh yeah 11:17 offby1: If you figured it out, we'd have to ... you know. 11:17 Lajla: Say you want to make a safe list-length. 11:18 Lajla: THaat 11:18 Lajla: If the structure passed is not a proper list. 11:18 Lajla: returns #f 11:18 Lajla: and otherwise a nonnegative integer. 11:18 Lajla: Which just happens to be 11:18 Lajla: the length of the list. 11:18 Lajla: How would you do this without continuations? 11:21 offby1: Lajla: oh! you're talking to me. 11:21 offby1: I dunno. 11:21 offby1: if my scheme has a built-in "proper-list?" procedure, I'd just use that. 11:22 offby1: Otherwise, I might have to write something to detect circular lists, just like an interview question 11:22 Lajla: offby1, that's a bit expensive no? 11:22 offby1: I dunno 11:22 Lajla: To check it beforehand 11:22 offby1: the problem has never come up, so I've never thought about it. 11:22 Lajla: don't you want to check it while you go. 11:22 Lajla: Well. 11:23 Lajla: What I mean is. 11:23 Lajla: you want continuations 11:23 Lajla: Becaaause 11:23 offby1: srfi/1 has proper-list? ; why not use that? 11:23 Lajla: you can then check while transfersreing. 11:23 Lajla: Well, because you first have to transverse the entire list to check if it's proper 11:23 offby1: .oO("transfersreing"?) 11:23 Lajla: and then again to count the length. 11:23 offby1: true 11:24 Lajla: I never claimed to be able to be awesome spelling. 11:24 offby1: oh I think i see what you're getting at 11:24 Lajla: So, you want to do that at once. 11:24 Lajla: and use continuations 11:24 Lajla: To just escape with #f to the call the moment you see that it is not. 11:24 offby1: you're saying that you want to be able to break out of a loop 11:24 offby1: yeah suer 11:24 offby1: sure 11:24 Lajla: Yeah. 11:24 offby1: I'd use let/ec for that. 11:24 Lajla: So thatis why 11:24 Lajla: continuations rock. 11:24 Lajla: That is cool. 11:24 offby1: well. 11:24 Lajla: But I am just telling you that continuations rock 11:24 Lajla: and you should use them. 11:25 offby1: To play devil's advocate -- lots of languages that don't have first-class continuations nevertheless have a way to return from the middle of a function. 11:25 offby1: Like, in Python, you can just say "return". 11:26 offby1: I guess I was saying, not that I _never_ have _any_ use for continuations; but rather, that I don't need _all_ of the power and generality that you get from call/cc 11:26 offby1: nor am I saying that Scheme shouldn't have call/cc; just that it's a feature that I don't really understand. 11:26 offby1: that is all 11:27 Lajla: offby1, yeah, but the point is, you have a function inside a function to do this. 11:27 Lajla: Like 11:27 (join) kevin01123 11:27 Lajla: return statements 'shadow' each other in most languages. 11:27 (quit) kevin01123: Remote host closed the connection 11:27 Lajla: Basically you can explicitly name them in scheme. 11:27 offby1: that's true. 11:27 Lajla: Same with your recursion point in a named let. 11:27 Lajla: So the inner function can recur the outer one. 11:27 offby1: now, I use named let all the time. 11:27 Lajla: Same with continuations 11:28 Lajla: the inner function can return to the outer. 11:28 Lajla: Yeah 11:28 Lajla: And you agree 11:28 offby1: (or used to, before PLT 4 introduced all that iteration stuff) 11:28 Lajla: that if it always jused used the symbol 'recur' for the recursion point,t hat would be annoying. 11:28 Lajla: But like 11:28 Lajla: in clojure. 11:28 Lajla: The aequivalent is loop/recur. 11:28 Lajla: loop is like a named let without a name. 11:28 offby1: yep 11:28 Lajla: The recursion point is always bound to the symbol recur. 11:28 Lajla: Aaand 11:28 Lajla: I am convincinv them more and more 11:29 Lajla: that you should be able to specify a name. 11:29 Lajla: For inner recursion 11:29 Lajla: to jump back to some outer point if you would so please. 11:29 Lajla: Aaaand 11:29 Lajla: THe same must be done. 11:29 Lajla: for syntax-rules and syntax-case 11:29 Lajla: THat you can name your ... 11:30 Lajla: So that you don't have to use the silliness of (((... ...) (... ...)) ((... ...) (... ...))) to escape it when you expand to a macro which expands to a macro et cetera. 11:32 (join) offby1` 11:33 (quit) offby1: Disconnected by services 11:33 (nick) offby1` -> offby1 11:35 Lajla: offby1, hey, don't go leave me. 11:35 Lajla: You must answer and say 'Yes lajla, that is a very good idea, the peope behind R6RS are silly, you are better' 11:38 offby1: I missed your last bunch of spew because my IRC client hung 11:38 offby1: also I refuse to get involved in flame wars about R6RS 11:39 Lajla: http://codepad.org/2LslmZdV 11:39 Lajla: That is no excuse for not telling me how good I am. 11:39 Lajla: offby1, nahh, I like R6RS. 11:39 Lajla: OR well, I rephrase 11:39 Lajla: I like thelanguage, as a standard it's bad because it hardly standardizes existing practices. 11:39 (join) anRch 11:40 Lajla: But it's more that syntax-rules I perceive was mistaken to make ... a special identifier from the start. 11:40 offby1: you're talking about features that I never use. 11:40 offby1: like syntax-case. 11:40 Lajla: Instead of just having (syntax-rules ellipses () 11:40 offby1: I think I used that once, maybe. 11:40 Lajla: And syntax-rules? 11:40 offby1: a few times. 11:40 Lajla: What do you use? 11:40 offby1: now racket has an even simpler thing-- "define-syntax", I think -- and that's what I use 11:40 Lajla: What do you use this language for? 11:40 Lajla: Ehh 11:40 offby1: mostly rudybot 11:40 Lajla: Define syntax consumes either right? 11:41 offby1: I dunno 11:41 offby1: rudybot: doc define-syntax 11:41 rudybot: *offby1: your scheme sandbox is ready 11:41 rudybot: *offby1: http://docs.plt-scheme.org/reference/define.html#(form._((lib._racket%2Fprivate%2Fbase..rkt)._define-syntax)) 11:41 Lajla: (define-syntax let (syntax-rules () ((let ((name value) ...) body ...) ((lambda (name ...) body ...) value ...))))) 11:41 Lajla: something along those lines 11:42 offby1: actually I think I use define-syntax-rule 11:42 offby1: that's the super-simple one. 11:43 Lajla: Ahhh 11:43 Lajla: Yeha 11:43 Lajla: well,t hat is just syntax rules. 11:43 Lajla: but like, you have the ... right? 11:43 offby1: I think so. 11:43 Lajla: Which carries special meaning. 11:43 Lajla: Yeah 11:43 Lajla: wouldn't you think it to be more scheme. 11:43 Lajla: If you could name that thng. 11:43 Lajla: And use like 'Offby1-dots' in its place 11:44 Lajla: If you so choosed? 11:44 (join) mwolfe 11:44 offby1 stares blankly 11:44 offby1: You seem to be under the impression that I've had my coffee 11:46 Lajla: offby1 =( 11:46 Lajla: You must see the wisdom. 11:46 offby1: sure, I must 11:48 Lajla: =( 11:48 Lajla: I hate you. =( 11:49 offby1: you need to find someone who will reciprocate your whatever. 11:52 Lajla: My hatred? 11:52 Lajla: I think chandler hates me. 11:58 offby1: ask him! 11:58 offby1: rudybot: does chandler hate Lajla? 11:58 rudybot: *offby1: I think chandler hates me. 11:58 offby1: grr 11:58 offby1: I gotta teach the bot not to spew out anything that's less than (say) five minutes old 11:59 Lajla: offby1, ohhh, he just regurgitates things that are said? 12:00 Lajla: offby1, nahhh, it's pretty transparent. 12:00 offby1: Lajla: of course :) 12:00 Lajla: Like, I think samth 'dislikes' me and tries harder to not get annoyed. 12:00 Lajla: And eli is at best not really sure of what to think of me. 12:00 Lajla: But you, you're okay with me. 12:00 offby1 backs away slowly 12:00 Lajla: Hey 12:00 Lajla: THat is not allowed. 12:00 Lajla: I know you love me. 12:00 Lajla: xoxo, Gossip Girl. 12:00 offby1 presses his Panic Button 12:23 Lajla: There is no panic or non panic. 12:23 Lajla: Only power 12:23 Lajla: And those too weak to take it. 12:26 (quit) parcs: Read error: Connection reset by peer 12:29 (quit) anRch: Quit: anRch 12:38 (join) dnolen 12:44 (join) Demosthenes 12:46 (join) anRch 12:59 (join) parcs 13:01 (quit) parcs: Client Quit 13:01 (join) parcs 13:01 (quit) anRch: Quit: anRch 13:14 (join) jonrafkind 13:58 (quit) MayDaniel: Read error: Connection reset by peer 14:04 (quit) Demosthenes: Quit: leaving 14:10 (quit) masm: Quit: Leaving. 14:27 eli: Lajla: Huh? 14:27 Lajla: eli, what? 14:27 Lajla: Did I say something silly. 14:28 eli: "12:00 Lajla: And eli is at best not really sure of what to think of me." 14:29 Lajla: Well, let me phrase it your way 'Eli thinks I'm okay but my breath smells and he has important guests'. 14:29 Lajla: I think that was something along the lines of what you said. 14:30 eli: I have no memory of important guests, or of your breath... 14:30 Lajla: eli, it was in a discussion where I defended someone who quaestioned scheme's academic potential, you said something like that of me. 14:31 Lajla: Let me see if its praecise phrasing is in the logs. 14:31 Lajla: Oh, every day is another one. 14:31 eli: Lajla: Whatever it was, it has nothing to do with me being sure of what o think of you, or responding to you. Same goes for any other interpretations, like me not responding etc. 14:33 Lajla: Oct 14 23:21:31 Lajla: I like you; you seem like a nice person to talk to, and I enjoy your company. Just don't stand so close to me -- your breath stinks and I have *important* guests for dinner. 14:34 Lajla: It was reasonably metaphorical I suppose. 14:37 eli: Yes, it was. IIRC, any chances of me smelling your breath is astronomically small, similar to chances of me remembering whether there were any physical guests at the time. 14:38 Lajla: I guess what you wanted to say was 'you're a nice guy, you just don't know what you talk about', or something. Both of which I would strongly disagree with by the way. 14:42 eli: ...and this is a kind of a sentence that I'd usually just won't reply to, but just to make it clear: IIUC, you claim (indirectly) that you are not a nice guy who knows what he's talking about; there's enough subjectivity there that makes it uninteresting, and it revolves around a personal analysis of yourself, which is also off-topic -- for me, at least. 14:43 Lajla: Well, maybe, but the core of the thing is the first part, not the latter. 14:43 Lajla: What would be most useful, and offtopic admittely is 'Yes, I wanted to say that' or 'No, I did not', or some other explanation of the comment or that you forgot what oyu meant. 14:44 Lajla: Hence the 'by the way' as in, it's a side remark. 14:45 eli: And now I'm completely lost in this argument, and I'm even more certain of my even-smaller interest in it... 14:46 Lajla: Well, it's not the inquisition, can't make you talk if you don't want to. 14:48 eli whews... 14:50 (join) masm 15:06 (quit) dnolen: Quit: dnolen 15:25 (join) Demosthenes 15:42 (join) anRch 15:45 (join) Nanakhiel 15:45 (join) losvedir 15:48 (quit) Lajla: Ping timeout: 240 seconds 15:54 (quit) masm: Ping timeout: 276 seconds 15:59 (join) masm 16:08 (quit) corruptmemory: Ping timeout: 240 seconds 16:08 (join) lucian 16:09 (quit) lucian: Remote host closed the connection 16:17 (quit) losvedir: Quit: losvedir 16:39 (quit) Demosthenes: Quit: Lost terminal 16:48 (quit) mheld: Quit: mheld 16:49 (join) mheld_ 16:50 (join) Demosthenes 17:01 (quit) anRch: Quit: anRch 17:02 (quit) tv|z: Ping timeout: 240 seconds 17:04 (nick) Nanakhiel -> Lajla 17:04 (join) tv|z 17:05 (quit) masm: Quit: Leaving. 17:16 (quit) mheld_: Quit: mheld_ 17:17 (join) losvedir 17:46 (quit) losvedir: Quit: losvedir 18:04 (quit) clklein: Read error: Operation timed out 19:07 (quit) stis: Remote host closed the connection 19:20 (quit) Quetzalcoatl_: Ping timeout: 246 seconds 20:28 (join) Gwyth 20:32 (quit) mwolfe: Remote host closed the connection 20:39 (join) xradionut 20:41 (quit) xradionut: Quit: Leaving 21:00 (quit) parcs: Ping timeout: 276 seconds 21:00 (join) parcs 21:25 (join) masm 21:36 (quit) masm: Quit: Leaving. 21:38 (join) losvedir 21:58 (part) losvedir 22:12 (join) clklein 22:33 (join) corruptmemory 22:49 (quit) offby1: Ping timeout: 264 seconds 23:54 (quit) jonrafkind: Ping timeout: 250 seconds 23:58 (quit) mceier: Quit: leaving