00:15 (join) mithos28 00:24 (join) realitygrill_ 00:28 (quit) realitygrill: Ping timeout: 240 seconds 00:28 (nick) realitygrill_ -> realitygrill 00:54 (quit) realitygrill: Remote host closed the connection 00:54 (join) realitygrill 00:56 (quit) realitygrill: Read error: Connection reset by peer 00:56 (quit) mithos28: Quit: mithos28 00:58 (join) realitygrill 01:07 (quit) realitygrill: Read error: Connection reset by peer 01:07 (join) realitygrill 01:17 (quit) rekahsoft: Ping timeout: 260 seconds 01:17 (join) rekahsoft 01:28 (join) ckrailo 02:03 (join) realitygrill_ 02:06 (quit) realitygrill: Ping timeout: 250 seconds 02:06 (nick) realitygrill_ -> realitygrill 02:38 (quit) jonrafkind: Ping timeout: 250 seconds 02:58 (join) 5EXACKXDZ 02:58 5EXACKXDZ: racket: release Eli Barzilay * 6f8817d (2 files in 1 dirs): v5.1.1 stuff ... - http://bit.ly/iv17CR 02:58 (part) 5EXACKXDZ 02:58 (join) 64MAAGT3U 02:58 64MAAGT3U: racket: master Eli Barzilay * 1f7ac35 (2 files in 1 dirs): v5.1.1 stuff - http://bit.ly/iPtcHl 02:58 (part) 64MAAGT3U 04:27 (quit) realitygrill: Quit: realitygrill 05:48 (join) Blkt 05:49 Blkt: good day everyone 05:52 (quit) ckrailo: Quit: Computer has gone to sleep. 05:59 (join) masm 07:09 (join) tauntaun 07:12 (join) yoklov 07:32 (join) MayDaniel 07:41 (quit) Demosthenes: Ping timeout: 248 seconds 07:58 (quit) yoklov: Quit: Leaving. 08:15 (join) lucian 08:23 (quit) EM03: Quit: EM03 08:24 (join) mceier 08:53 (quit) MayDaniel: 08:55 (quit) mceier: Ping timeout: 240 seconds 09:10 (join) cpach 09:14 (join) mceier 09:42 (join) PLT_Notify 09:42 PLT_Notify: racket: master Matthew Flatt * ddbb3b0 (3 files in 2 dirs): win32 places: make break-signal semaphore place-local - http://bit.ly/kkSeSw 09:42 (part) PLT_Notify 09:48 (join) yoklov 09:48 (quit) mceier: Ping timeout: 240 seconds 09:54 (quit) Blkt: Ping timeout: 240 seconds 10:03 (quit) DT``: Ping timeout: 250 seconds 10:04 (join) anRch 10:15 (join) DT`` 10:34 bremner_: Does anyone have experience to share teaching second year students with 2 courses of Java from HTDP? 10:34 (join) mceier 10:35 bremner_: you have to parse that right to avoid teaching Java from HTDP, which would be a challenge. 10:54 (join) lucian_ 10:56 (quit) lucian: Disconnected by services 10:56 (nick) lucian_ -> lucian 10:58 (join) lucian_ 11:00 (quit) lucian: Ping timeout: 240 seconds 11:02 (quit) masm: Ping timeout: 240 seconds 11:03 yoklov: This doesn't really answer your question in the slightest, but the school I attend does it. the honor's intro CS course is based on scheme (from SICP though, not HTDP), second semester course is java 11:04 bremner_: yeah, same programming languages, pretty different approach 11:04 yoklov: yeah 11:05 bremner_: how are you finding it? 11:05 yoklov: I just took the SICP class and loved it 11:05 yoklov: taking the java one over the summer 11:05 yoklov: but, that hasn't started yet, I imagine it won't be that hard. 11:07 (nick) lucian_ -> lucian 11:09 yoklov: I don't think the imperative paradigm is that hard for someone with little experience in it to learn if they understood functional programming. I've been teaching myself C from K&R and that's been going well. THen again, from what I know HTDP is much more… functional than SICP 11:11 bremner_: yoklov: yeah, there is some Object Oriented stuff in Java. I wouldn't say it is hard, but it is hard to avoid ;) 11:12 yoklov: yeah, well we covered object oriented things some 11:12 yoklov: chapter 3 in sicp 11:12 yoklov: but it was very 11:12 yoklov: uh 11:12 yoklov: bare bones 11:14 bremner_: yeah. well, don't worry, most java courses concentrate pretty heavily on that. 11:14 yoklov: also I have familiarity with racket's object oriented stuff, but yeah, I don't know, it seems fairly… unexciting to me. Object oriented programming seems like the kinda thing you end up having to do if you work for a soulless corporate entity designing huge bulky programs with a ton of people who suck at what they do 11:15 (join) mithos28 11:15 yoklov: but that's coming from someone who hasn't ever used full-on object oriented programming 11:17 (quit) rekahsoft: Read error: Operation timed out 11:17 (join) rekahsoft 11:18 bremner_: it's a tool, like any other. try not to hate it before you try it ;) 11:18 (quit) anRch: Quit: anRch 11:20 yoklov: thats a good point, and I've enjoyed it in scheme and racket, I just have misgivings about it. 11:21 (quit) rekahsoft: Ping timeout: 260 seconds 11:22 (quit) lucian: Ping timeout: 240 seconds 11:24 (join) dnolen 11:31 (join) lucian 11:38 (join) rekahsoft 11:41 (quit) lucian: Remote host closed the connection 11:42 (join) lucian 11:43 (join) masm 12:08 (quit) dnolen: Ping timeout: 250 seconds 12:11 (quit) mithos28: Quit: mithos28 12:15 (join) dnolen 12:19 (quit) dnolen: Client Quit 12:43 (join) kenjin2201 13:11 (join) MayDaniel 13:13 (join) PLT_Notify 13:13 PLT_Notify: racket: master Matthew Flatt * 4377d88 (7 files in 7 dirs): win32: increase stack size to 8 MB ... - http://bit.ly/kNpD4S 13:13 (part) PLT_Notify 13:19 offby1: If I build racket from git, which commit corresponds to the new 5.1.1 release? 13:20 offby1: I'm guessing d61b573eb38bb5ec3fd91f66344b57d8cf4cf6c9 13:22 yoklov: hm, i dont really know, but i think it's 1f7ac35d8e4207f30afaee22cd83575b44f99cde 13:23 yoklov: http://git.racket-lang.org/plt/commit/1f7ac35d8e4207f30afaee22cd83575b44f99cde ? 13:23 rudybot: http://tinyurl.com/3wvc9ns 13:25 yoklov: man, way to have excellent internet manners rudybot. tinyurled it up for him and everything 13:29 offby1: yoklov: some people HATE that behavior. I can't win. 13:29 offby1: huh, I don't have that commit. 13:30 offby1 smacks forehead 13:30 offby1: I was out of date; there's like a tag and everything. 13:30 offby1 shrivels in embarrassment 13:31 yoklov: what do you mean, some people hate when things are tinyurled? 13:31 offby1: well, they hate when the bot just spews (what they consider) annoying distractions into the channel 13:31 offby1: there are also people who say that URL-tinyfiers are destroying the web 13:31 offby1: never did understand their argument 13:31 yoklov: well, for git-commits i think they're pretty reasonable 13:32 offby1: I added that feature since I always use a text-mode IRC client, and it breaks URLs across lines -- and inserts a backslash -- if they're wider than my screen. That makes them really hard to copy and paste into a browser. 13:33 offby1: ... aaaaand I'm using a stone-age laptop with a really low-res screen. 13:33 offby1: yoklov: and by the way, the commit you chose is indeed the one with the 5.1.1 tag; I assume you knew that. 13:35 yoklov: well not really, I don't know how git works but i could see that it said v5.1.1 stuff, and came out 10 hours ago, which is around the time the post for 5.1.1 showed up in my rss feed, so i figured it was either that one or i just /really/ didnt understand git 13:35 (quit) MayDaniel: Read error: Connection reset by peer 13:36 offby1: :) 14:01 (quit) yoklov: Quit: Leaving. 14:02 (join) realitygrill 14:03 (join) PLT_Notify 14:03 PLT_Notify: racket: master Jay McCarthy * 8708268 (1 files in 1 dirs): Fixing problems with %is discovered by Casey - http://bit.ly/m2Y1TF 14:03 (part) PLT_Notify 14:14 (join) chandler 14:16 (join) yoklov 14:20 (quit) qha: Ping timeout: 260 seconds 14:23 chandler: Is jonrafkind still the person to pester about the Ubuntu PPA? 14:23 offby1: *crickets* 14:24 bremner_: chandler: afaik, yes 14:25 (join) Blkt 14:25 chandler: OK. I was just about to send him an email about Natty and .desktop files. 14:26 bremner_: chandler: do you have a .desktop file, or just want one? 14:28 bremner_: I'm not sure to what extent jonrafkind is still using my debian packaging as upstream, but I'd take donations of a desktop file. 14:31 chandler: I don't have one, but when I raised the question once before someone sent some along to racket-devel. Let me see if I can dig that up again. 14:32 chandler: http://lists.racket-lang.org/users/archive/2011-February/044480.html 14:36 bremner_: hmm. well, not exactly brimming with license and copyright info ;) 14:38 chandler: Good point. 14:38 chandler: I'll email the fellow who sent that and ask about that. 14:38 bremner_: thanks 14:45 (quit) em: Ping timeout: 240 seconds 14:45 (quit) Blkt: Ping timeout: 252 seconds 15:19 (join) emma 15:27 (nick) emma -> em 15:33 (join) geoffhill 15:38 (part) yoklov 15:50 (join) yoklov 16:05 (quit) em: Ping timeout: 276 seconds 16:07 (join) PLT_Notify 16:07 PLT_Notify: racket: master Matthew Flatt * 68d2353 (1 files in 1 dirs): places: trigger GC after many message pages adopted 16:07 PLT_Notify: racket: master Matthew Flatt * 6c1ec25 (2 files in 1 dirs): win32: fix page counting in memory manager 16:07 PLT_Notify: racket: master commits 8708268...6c1ec25 - http://bit.ly/juUJ49 16:07 (part) PLT_Notify 16:23 (quit) kenjin2201: Remote host closed the connection 16:46 (join) em 17:14 (join) qha 17:18 (quit) yoklov: Quit: Leaving. 17:30 (join) MayDaniel 17:39 (join) dnolen 17:59 (quit) rekahsoft: Ping timeout: 260 seconds 17:59 (join) rekahsoft 18:04 (quit) dnolen: Quit: dnolen 18:05 (join) lucian_ 18:07 (quit) lucian: Ping timeout: 276 seconds 18:15 (join) yoklov 18:28 (join) mithos28 18:29 (join) lucian 18:32 (quit) lucian_: Ping timeout: 250 seconds 18:46 (quit) yoklov: Quit: Leaving. 18:47 (join) yoklov 18:47 (quit) yoklov: Client Quit 18:51 (join) dnolen 19:00 (join) yoklov 19:05 (quit) MayDaniel: Read error: Connection reset by peer 19:07 (join) lucian_ 19:08 (quit) lucian: Ping timeout: 276 seconds 19:13 (join) Demosthenes 19:20 (nick) lucian_ -> lucian 19:35 (quit) Demosthenes: Ping timeout: 260 seconds 19:40 (quit) rekahsoft: Ping timeout: 240 seconds 19:40 (join) rekahsoft 19:51 (quit) dnolen: Quit: dnolen 19:53 (join) PLT_Notify 19:53 PLT_Notify: racket: master Sam Tobin-Hochstadt * db5d59a (1 files in 1 dirs): new version of sigplanconf.cls 19:53 PLT_Notify: racket: master Sam Tobin-Hochstadt * 31aa47f (2 files in 1 dirs): Fix a couple typos found by mflatt and the optimzer. 19:53 PLT_Notify: racket: master commits 6c1ec25...31aa47f - http://bit.ly/llYBrE 19:53 (part) PLT_Notify 19:58 (quit) lucian: Ping timeout: 240 seconds 20:00 (join) dnolen 20:00 (quit) mithos28: Quit: mithos28 20:07 (join) PLT_Notify 20:07 PLT_Notify: racket: master Carl Eastlund * 01f1add (1 files in 1 dirs): Made define-syntax-block less restrictive about source of bindings. 20:07 PLT_Notify: racket: master Carl Eastlund * 723d389 (1 files in 1 dirs): Singular version of define-renamings. 20:07 PLT_Notify: racket: master Carl Eastlund * 4990029 (1 files in 1 dirs): Added documentation for define-renaming. 20:07 PLT_Notify: racket: master commits 31aa47f...4990029 - http://bit.ly/jFtRjX 20:07 (part) PLT_Notify 20:14 (join) mithos28 20:14 (quit) mithos28: Client Quit 20:16 (join) mithos28 20:20 (quit) chandler: Read error: Operation timed out 20:21 (join) chandler 20:22 (quit) mceier: Quit: leaving 20:22 (nick) chandler -> Guest39454 20:39 (join) ckrailo 20:44 (join) jonrafkind 21:22 (quit) jonrafkind: Ping timeout: 246 seconds 21:31 (quit) Guest39454: Changing host 21:31 (join) Guest39454 21:35 (join) PLT_Notify 21:35 PLT_Notify: racket: master Robby Findler * c8d476c (1 files in 1 dirs): adjust scribble's racketblock renderer so that #true and #false ... - http://bit.ly/jvGter 21:35 (part) PLT_Notify 21:39 (join) jonrafkind 21:41 (quit) jonrafkind: Remote host closed the connection 22:07 (join) Demosthenes 22:09 (nick) Guest39454 -> chandler 22:10 askhader: awr I love it when my pussy snores 22:11 Demosthenes: *blink* 22:21 askhader: So that was meant for #reddit 22:22 askhader: Also, when my kitty kat decides to nap in my lap it's adorable D= 22:31 Demosthenes: oddly enough.... 22:31 Demosthenes: i was thinking it belonged there 22:31 Demosthenes: am i the only one who enters a multi-line sexp in geiser, adn then can't meta-P to get it bafck? 22:34 (quit) masm: Quit: Leaving. 22:35 Demosthenes: i find myself doing this.... alot. extracting a record from multiline data... http://pastebin.com/UXvQUTZM 22:35 Demosthenes: can anyone suggest improvements? 22:36 Demosthenes: the only thing that comes to mind is a recursive event driven parser, where i pass a list of regexp/key pairs to get, and if they all occur in order while scanning down the input list returns one or more records 22:57 yoklov: not that i really know anything about how to do this, but what's wrong with your current implementation? 22:59 Demosthenes: verbosity 22:59 Demosthenes: imagine having 50 different record types to import 22:59 Demosthenes: and on top of that, multiple versions 23:06 (join) chemuduguntar 23:08 Demosthenes: i'm also trying to do things like get the hash key from the text at times 23:09 yoklov: yeah 23:10 yoklov: no i get the problem 23:10 yoklov: i wish i could help but I'm fairly useless when it comes to regular expressions 23:13 yoklov: so wait, you're going through a list of strings and if it has a : you split it into 2 parts and send it to the cache, the first one being the key, the second being the thing stored in the hash? 23:14 yoklov: hm 23:14 yoklov: and doing something to cache 23:17 yoklov: wait 23:17 yoklov: i see. 23:19 Demosthenes: it can be more complex. thats why a regexp instead of split 23:19 yoklov: yeah 23:19 Demosthenes: sometimes i have to use a complex regexp to extract one or more values 23:20 Demosthenes: the goal is to express it in as few lines as possible 23:20 Demosthenes: the cache is so i don't run the regexp twice.... i originally though set! returned the value it just set... :P 23:21 Demosthenes: instead, i had to wrap it so the t/f cond returned the status, and preserved the value for the next line 23:21 yoklov: wait 23:21 yoklov: hold on 23:22 yoklov: i dont know for sure but you might not need a cache if you did somethign like 23:23 yoklov: (cond ((regexp #somecrap l) => (lambda (i) (hash-set! record 'a (second i)) or whatever 23:24 yoklov: i mean 23:24 yoklov: regexp-match returns #f if its not found 23:24 yoklov: unless i'm missing somethign you're doing with cache 23:26 yoklov: appears to work 23:27 yoklov: though only reduced lines by one :/ 23:27 yoklov: still, no cache which.. simplifies things? 23:30 yoklov: and hm 23:30 Demosthenes: *hrm* 23:30 yoklov: this doesnt need to be a for/list 23:30 Demosthenes: i hadn't seen => 23:31 yoklov: yeah, its pretty awesome 23:31 yoklov: for/list creates a list as you go 23:31 Demosthenes: yeah, thats a neat trick! 23:31 yoklov: i think you might be able to do this as a for/hasheq 23:31 Demosthenes: that eliminates the cache 23:31 Demosthenes: i was just storing the return of the test 23:32 yoklov: yeah 23:32 Demosthenes: well, i'm stepping through the list 23:32 yoklov: well 23:32 yoklov: yeah 23:32 yoklov: but 23:32 Demosthenes: someone on here was talking about match the other day, and i thought split/match was neat, but couldn't figure out how to make it handle multiline records 23:32 yoklov: thats (for ([l (in-list list)] 23:32 yoklov: or at least thats always what i've done 23:33 Demosthenes: i thought that was the same as for/list? 23:33 yoklov: no 23:33 yoklov: for/list creates a list 23:33 yoklov: with your results 23:33 yoklov: wich are all void 23:33 yoklov: which* 23:33 yoklov: because you're setting somethign which i dont think returns anything 23:33 Demosthenes: oh, yeah, i don't need to keep the results, i'll record the hashes elsewhere 23:33 yoklov: hm 23:34 yoklov: do you need the uh 23:34 yoklov: hash to be mutable at all? 23:34 Demosthenes: i ought to be able to change it later 23:35 yoklov: hm 23:35 Demosthenes: but for/hash is neat, i hadn't considered that. it also breaks where i return more than one k/v pair on a line 23:37 yoklov: hm 23:37 Demosthenes: and really, think of it this way... i'm trying to define a template to extract data. imagine printing a single record on a page, and cutting out the values... then scanning that template down a dictionary, and only snapshojtting values through the paper windows when they all fit. 23:37 Demosthenes: the TXR language is close 23:38 yoklov: hm 23:38 yoklov: so you would want to give a function something like a list of regexps? or what 23:38 Demosthenes: yeah essentially 23:39 yoklov: oh 23:39 Demosthenes: and only collect a hashed record if all lines match 23:39 yoklov: well oh 23:39 yoklov: hm 23:39 Demosthenes: though ideally that behavior would be configurable 23:39 yoklov: so 23:39 yoklov: wait, only collect a record if all lines match? 23:39 Demosthenes: yep 23:39 yoklov: what do you mean by that 23:39 yoklov: only return a hash if all lines match? 23:40 Demosthenes: only if all regexps match k/v, return the results 23:40 Demosthenes: preventing false positives 23:40 Demosthenes: like i said, imagine a paper printout, cut the values, only where they line up exactly snapshot 23:41 yoklov: so a false positive would be something like… 23:41 yoklov: i'm sorry, i just am having a hard time following here 23:41 yoklov: or at least 23:41 yoklov: i dont know how you're currently checking for false positives 23:41 Demosthenes: what if a: was followed by duh: instead of b 23:42 Demosthenes: and my template says a: b: c: 23:42 Demosthenes: so it doesn't match the whole template, it doesn't collect 23:42 yoklov: well 23:42 yoklov: i mean 23:42 yoklov: if you switch a bakka and clorp 23:42 Demosthenes: the example i had ought to create a new hash on a:, and collect it on c:.... but thats a hack too 23:42 yoklov: it seems like 23:42 yoklov: it will still work 23:42 yoklov: i'll check 23:43 Demosthenes: clorp'ed be absorbed by the regexp match to turn the key into a symbol 23:43 Demosthenes: but bakka wouldn't work after that. 23:43 Demosthenes: that code isn't feature complete, just an example of what i'm trying to accomplish 23:43 yoklov: err 23:43 Demosthenes: imagine, records mixed with noise, repeating through the file, and yep, i have to scan line by line seeking 23:43 Demosthenes: really because the file has mixed record types :P ' 23:43 yoklov: well 23:43 Demosthenes: moronic app vendors 23:44 yoklov: i mean 23:44 Demosthenes: i don't control the output format, i just need to import it 23:44 yoklov: in your code bakka still works if you switch the two 23:44 Demosthenes: http://www.nongnu.org/txr/ 23:44 Demosthenes: yeah, that one like i said was an example, it can take false positives 23:45 Demosthenes: it shouldn't, thats what i'm fighting now 23:45 yoklov: okay 23:46 Demosthenes: i'd considered ignore linefeeds and using long regexps, but they're hard to debug 23:46 yoklov: hm, so, i guess my problem here is that my understanding of a hash is unordered 23:46 Demosthenes: you can't report accurately where a failure occurred. 23:46 Demosthenes: yep, the hash doesn't matter the order, but the incoming record has a pseudo-fixed format 23:47 yoklov: so if at any point 23:47 yoklov: the next symbol you get 23:47 Demosthenes: i have to match the record across lines, but the hash is ok 23:47 yoklov: okay 23:47 Demosthenes: so for instance, single line records, like CSV are easy to parse... and split 23:48 Demosthenes: but paragraph (multiline) records are a pita 23:48 yoklov: yup 23:48 yoklov: right 23:48 Demosthenes: thus my conundrum 23:48 yoklov: i follow 23:48 yoklov: so if the strings are in a different order than the regexps, failure and no return of hash 23:48 Demosthenes: yep 23:49 Demosthenes: so i'm sliding a template down across input strings.... 23:49 yoklov: what about duplication or missing regexps 23:49 yoklov: ones that it fails for 23:49 yoklov: err 23:49 yoklov: like 23:49 Demosthenes: duplication i'll have to handle later 23:49 yoklov: if bakka didnt exist 23:49 yoklov: ideally would that be failure 23:49 Demosthenes: yeah, ideally it'd report somehow 23:49 yoklov: or would it be a:1 and clorp:123.01 23:49 Demosthenes: like a log message 23:50 Demosthenes: if it got a single match, and failed later, it ought to speak up 23:50 yoklov: but still return a hash or no 23:50 Demosthenes: no hash on error 23:50 Demosthenes: or partial 23:50 yoklov: i see. 23:50 (quit) mithos28: Quit: mithos28 23:51 yoklov: hold on, i'm pretty good at list manipulation so let me see if i can do something 23:52 Demosthenes: i thought that match function might be useful 23:52 yoklov: eh, no clue. 23:52 yoklov: i'm assuming the regexps work. 23:52 yoklov: and are given in a list 23:53 yoklov: wait, what exactly is going on in your function in the second cond test 23:55 yoklov: or after it rather 23:55 yoklov: eh you can figure out how to implement that 23:57 yoklov: hm.