00:00:00 well if I only took the 1-gram set I could generate 2-grams and 3-grams from those. 00:00:06 (total-counts file of unigrams for "English") 00:00:08 or just use the 3-gram set 00:00:18 -!- hagb4rd has joined. 00:00:19 fizzie: There's also that "one million" dataset. 00:00:21 well if I only took the 1-gram set I could generate 2-grams and 3-grams from those. 00:00:24 Uhh, I don't think so. 00:00:45 If you do letter bi/trigrams, yes, you can generate them from word-unigrams, when modeling a single word. 00:00:50 Oh, well, right. 00:00:59 The word-trigram set is pretty useless in that case. 00:01:01 /usr/share/dict/words would do just as well though, surely. 00:01:35 NOPE NEEDS MOAR DATA. 00:01:54 elliott: The web dataset was built over 1 trillion "words" (it's a bit messy) of random Internet pages, I believe. 00:02:02 More obscure and therefore probably less familiar-looking data? 00:02:16 well the wlanguage-insane would be enough 00:02:27 -!- ais523 has quit (Remote host closed the connection). 00:02:46 elliott: I'm not necessarily looking for familiar-looking acronyms. 00:02:48 http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13 00:02:55 $150 for non-members. 00:03:07 But you'll get the shiny DVDs. :p 00:03:22 fizzie: Is that of the web corpus? 00:03:24 Worpus. 00:03:26 Hunt the Worpus. 00:03:29 Indeed it is. 00:03:32 Yes. 00:03:41 What kind of DVD is it? 00:03:44 i.e. capacity. 00:03:49 for mad overkill I could interpolate the non-duplicate occurences of words in both the insane language dictionaries and google data. 00:04:26 fizzie: Also what are the chances of you putting them up on a torrent tracker. :p 00:04:36 Very zero. :p 00:04:40 It has about 13.5 million unique "words" of "English". 00:04:56 What kind of DVD is it? 00:04:56 i.e. capacity. 00:05:09 fizzie: Also it doesn't really matter how real the words are with chains that long. :p 00:05:42 File sizes: approx. 24 GB compressed (gzip'ed) text files 00:05:42 Ah. 00:05:42 4.4G says du -h. 00:05:57 (For DVD1.) 00:05:57 the google data would also allow my acronym generator to take year filters. 00:06:13 you know, if you're into that thing. 00:06:13 fizzie: I can't help but think that any Markov algorithm running on the data would be... how do I put it... slow. 00:06:21 Yes, the book data is fancy that way. 00:06:45 elliott: nah I'm using Perl it'll be fine. 00:07:04 elliott: Dumped into PostgreSQL, I think it took a second or three per query (i.e. to sample one new word). 00:07:10 fizzie: (It'd be nice to do the MegaHAL-style backwards-from-query and forwards-from-query stuff so you can answer questions with THE INTERNET on IRC.) 00:07:15 Well PostgreSQL is not very optimised. 00:07:17 basically my "markov" chain will be hash tables. 00:07:29 Can't you use one of those fancy short-English-text-optimised compression things? 00:07:31 Bloom filters?? 00:07:31 Help. 00:08:19 fizzie: help. 00:08:24 You can arrange them into a reversed-context tree, that makes the sampling fast. It's what fungot does. 00:08:24 fizzie: only one place can sit one rnd first 00:08:57 fizzie: Like, a hash table of most recent word to (a hash table of second-most recent word to ...)? 00:09:04 That's just... a trie. 00:09:11 so the acronym generating data structure will basically be Ngram -> (Char -> Frequency) 00:09:16 where -> is a hash table. 00:09:28 CakeProphet: Yes, that's going to be so awfully "efficient" with gigabytes of data. 00:10:06 fizzie: Oh, dear, that 24 GB figure is gzipped. 00:10:15 fizzie: That means it's probably ten terabytes unzipped. 00:10:15 Basically all unigrams to root node, all bigrams starting with "foo" to /foo, all trigrams starting with "bar foo" to /foo/bar; then you can just walk backwards in your current context + the tree, and when reaching a leaf use that node's wordlist to generate the next word (or backoff). 00:10:46 I think it was a bit less than a terabyte in Postgres, IIRC. 00:11:04 fizzie: But I don't have a disk that big. :( 00:11:19 elliott: what are you going to use this data for? 00:11:20 fizzie: I suppose I could plug in an external drive, but that'd be laughably slow. 00:11:29 CakeProphet: An IRC bot to answer questions and babble, duh. 00:11:46 would it be good 00:11:58 monqy: Well, I mean, I'd like it to be good. 00:12:31 The book dataset could be more reasonable, not to mention more book-learned. Plus, as mentioned, you could tell it to sound like someone who lived e.g. in the 1920s. 00:12:46 Assuming they have enough books from each period, anyway. 00:12:57 fizzie: Yeeeees, but that's a much less interesting engineering challenge. 00:13:15 fizzie: I don't suppose the books n-gram data includes punctuation. 00:15:17 Haven't looked. The web-data does. 00:16:26 "argle, bargle" seems to have been turned into three tokens <,> for the web. 00:16:33 -!- sebbu2 has joined. 00:16:44 They've probably also filtered it somewhat. 00:17:00 Right. 00:17:10 It'd be nice to get open and close quotes separately. :p 00:17:15 Or at least space-quote differentiated from quote-space. 00:18:25 I have some sort of a regex-driven guesswork for that in fungot's preprocessing script, generates different tokens (POQUOT and PCQUOT or something) for them. 00:18:25 fizzie: it in raffle city got mac meh? ya i'm also came to just saw ur msg only lol... after is everything wen v miss something ". real value. create a contact on indyarocks.com 00:18:29 if the data contained all punctuation then a close quote would be preceded by [,.!?] 00:18:41 fizzie: How does it do the guesstimationeration? 00:18:44 Or is that from raw data? 00:18:54 It's from raw data, yes. 00:19:21 It can't preprocess-fake an already ngrammized data like the Goggel stuff. 00:19:22 -!- sebbu has quit (Ping timeout: 260 seconds). 00:19:22 -!- sebbu2 has changed nick to sebbu. 00:20:11 Graa, I'll the sleep now. It's 3-and-a-half hours to wakeup time. 00:20:21 -!- augur has quit (Remote host closed the connection). 00:21:20 halp what's fastest way to download all of the 1-gram data for every language on this page 00:21:36 wget? 00:22:14 does it have some kind of URL regex option? 00:24:01 searching for the term regex in its man page yielded nothing. 00:24:43 Regexps: The only way to do anything. 00:24:43 oh nevermind I found it. 00:24:46 I don't think it's smart enough to know what urls are valid 00:24:46 oh? 00:24:56 It can't preprocess-fake an already ngrammized data like the Goggel stuff. 00:24:57 fizzie: Right. :( 00:25:19 Regexps: probably the best way to filter only the URLs I want in this case 00:25:45 but it's more like sh wildcard stuff and not regex. 00:25:51 should work fine 00:27:52 any idea what "english 1 million" is? 00:29:22 -!- evincar has joined. 00:31:01 Probably either "English with just 1 million most common words", or "English from 1 million words of text"; former sounds more likely. 00:31:16 fizzie: Good slepping. 00:31:24 fizzie: But, um, BLOOM FILTERS 00:31:28 SOLUTION TO ALL MARKVS??? 00:31:30 EXPERTS SAYS YES 00:32:04 -!- azaq23 has joined. 00:32:25 ls 00:32:26 ... 00:33:13 Which one of us did you expect to give you a directory listing? 00:33:13 evincar: You have 1 new message. '/msg lambdabot @messages' to read it. 00:33:45 I'm not immediately clear on how probabilistic set-membership-testing would help all that much. 00:33:52 TIL that Israeli DST is neither deterministic nor algorithmic. 00:34:04 evincar: the lines following http://codu.org/logs/log/_esoteric/2011-08-25#103037Patashu for my response to what you were saying about whatever last night 00:34:58 Now the real sleep. (I just took a quick shower there, that's why still awake.) 00:35:10 DST in Israel is determined by whatever their legislature declares that year. 00:35:27 evincar: in short, using good judgment when picking names is better than just sticking to well-established notation/whatever 00:35:31 Which means that there must always be at least one tzdata update a year. 00:35:41 monqy: I agree. 00:36:02 Good judgement includes genre awareness, that's all. 00:37:03 consistency, clarity, and brevity are good too 00:37:03 weee wget 00:37:51 CakeProphet: What have you wgotten? 00:39:51 is this still about acronyms or have you moved onto more grand (general term for whatever you're doing)s 00:39:58 things 00:40:01 all the 1-gram data from http://ngrams.googlelabs.com/datasets 00:40:02 (that works, right?) 00:41:32 evincar: I'm still working on the acronym generator. 00:41:38 elliott has some kind of bot in mind. 00:42:11 Bluh. English orthography isn't exactly ideal for this sort of thing. 00:42:20 english orthography is awful 00:42:41 But as long as we all agree on it, it serves. 00:42:52 (Well, apart from color/colour etc.) 00:42:53 !perl %x = (); $x{a}++; print %x 00:42:55 a1 00:42:59 im disagree 100% 00:43:07 looka t me go 00:44:29 I wonder if I should base my frequency data on the page/volume count 00:44:49 My language continues to evolve. 00:45:09 I decided it would be nice to have a non-TC language for making families of stack combinators. 00:45:18 ok 00:46:08 stack combinators are like rot, dup etc? 00:46:20 Yep. 00:46:34 lol wgerman-medical 00:46:57 * CakeProphet downloads everything 00:46:58 But rather than specifying dup1, dup2, dup3, you can just specify dupn. 00:47:14 I don't like arbitrary implementation-defined limits on things. 00:47:26 "if you use more than dup2 ever you're doing something very wrong" --every designer of a stack language ever 00:47:28 (experts) 00:47:31 True. 00:47:38 "similarly with almost all other non-trivial stack manipulation combinators" --them 00:47:46 Most stack shuffling operations are for the benefit of beginners. 00:47:52 "and since you can compose them all from a set of primitive ones why do you need a sublanguage for the rare cases" --me 00:48:17 I dunno, it feels cleaner. 00:48:30 It's no worse than having a type system. 00:51:20 the nice thing is that I'llonly have to generate the frequency tables once by using Data::Dumper to generate a hardcoded hash. 00:51:39 Say what you will about Perl. It gets stuff done. 00:51:39 it would be silly to traverse all of the data every invocation. 00:52:11 the same can be said of most languages. 00:52:22 except C++ 00:53:18 CakeProphet: ^5 00:53:31 I maintain that every language is good for some things. 00:53:42 C++'s is torture. 00:53:57 pikhq: did you just exponentiate what I said by 5 or something? 00:54:02 I'm confused by this notation. 00:54:04 C++ is good for...confusing beginners, being warty, and having a cocktease functional language embedded in the most godawful metaprogramming facility known to man. 00:54:05 No, that's "high five". 00:54:10 oh... 00:54:11 yes. 00:55:15 Then again, if you treat it as C+const+RAII+templates, it's tolerably good. 00:55:15 * CakeProphet is having to use C++ in his data structures class 00:55:21 which will mean I will be getting slightly more familiar with it. 00:55:36 At the very least you don't have to resort to macros or untyped pointers to make type-agnostic data structures. 00:55:44 hi i got back whjat's hapening 00:56:02 -!- oerjan has quit (Quit: Goof night). 00:56:02 "wget is awesome" is happening. 00:56:10 ok 00:56:22 Then again, templates bloat binaries something awful. 00:56:27 And compile times. 00:56:40 why are we talking about c++ 00:56:50 Because I feel like complaining. 00:56:55 And C++ is easy to complain about. 00:57:38 ok 00:58:06 17:46:59 < evincar> I decided it would be nice to have a non-TC language for making families of stack combinators. 00:58:09 why 00:58:24 s/language/sublanguage/ 00:58:30 Genericity. 00:58:33 In a word. 00:58:41 why 00:58:43 yo dawg we heard you like stacks so we put stack combinators in your language so you can stack while you stack. 00:58:53 :| 00:59:00 Your meme is not welcome here. 00:59:30 17:49:42 < elliott> "and since you can compose them all from a set of primitive ones why do you need a sublanguage for the rare cases" --me 00:59:34 me too 00:59:38 17:50:07 < evincar> I dunno, it feels cleaner. 00:59:39 17:50:20 < evincar> It's no worse than having a type system. 00:59:39 what 00:59:51 17:53:28 < evincar> Say what you will about Perl. It gets stuff done. 00:59:52 what 01:00:17 What what? 01:00:19 evincar: there's a lot of perl hatred up in this bitch. be careful. 01:00:36 evincar: respectively, what, and what 01:00:51 -!- augur_ has joined. 01:00:54 -!- augur_ has quit (Remote host closed the connection). 01:01:21 monqy: so have you seen that new language 01:01:21 uh 01:01:23 what was the name again 01:01:24 let me check 01:01:25 on the wiki 01:01:27 which one 01:01:28 the bad one 01:01:31 half-broken car in heavy traffic 01:01:34 oh 01:01:35 the two-dimensional one that ais likes??? 01:01:35 and that is 01:01:37 kind of coo 01:01:37 l 01:01:39 imo 01:01:41 yeah it's kind of cool 01:01:43 it is.... rpettyt 01:01:47 I'm willing to use a shitty language if it has a library that does what I need it to. 01:01:59 but see, Perl isn't a bad language. 01:02:02 monqy: well 01:02:02 Because it's that much less of my program that I have to write. 01:02:04 hmm 01:02:08 monqy: i do wonder if its tc though 01:02:19 monqy: it seems like it might not be with a finite initial field 01:03:36 maybe its tc.... 01:03:38 maybe not.... 01:04:02 monqy: hmmmmmmmmmmmmmmmmmmm 01:04:03 maybe its 01:04:04 BOTHE??????? 01:04:06 discus 01:04:07 :o 01:04:10 no never 01:04:11 i refuse 01:04:13 to 01:04:14 believe 01:04:22 The docs don't specify what it does when it goes outside the initial bounds. 01:04:23 but 01:04:24 belief is 01:04:25 essential to 01:04:27 screenwich 01:04:28 emean 01:04:29 times???? 01:04:31 If it's unbounded, it should be isomorphic to BF. 01:04:34 think abutt it, monqy ........ 01:04:39 thinkeing........ 01:04:50 got nothing 01:04:51 oops 01:06:12 ops 01:06:17 ooops 01:06:39 "belief is essential to screenwich emean times" -- elliott, philosopher and mathematician 01:07:07 yes 01:07:23 he did say that didnt he.... 01:08:59 what does this "random" example mean...for half broken car in heavy trafic 01:09:14 does the car go in a random direction at start 01:10:55 it looks like when it leaves one side it will wrap around.... 01:11:02 at least that's what that example indicates 01:11:04 i think 01:13:09 -!- zzo38 has joined. 01:13:37 the program is a torus 01:13:45 yes.....] 01:13:57 a much more sophsticated style of programming than your inferior linear languages. 01:14:06 okay..... 01:14:21 what is a linear language 01:15:14 where programs are a linear sequence of instructions. 01:15:35 instead of extradimensional, man. 01:16:15 are all that many languages really just sequences of instructions 01:16:33 or what are yous aying 01:16:37 what is an instrcution 01:16:41 what is a sequenc e therof 01:16:42 help 01:16:59 depends on how you interpret instruction I guess. I suppose if you go by "lines of source code" then even 2-dimensional languages are linear. 01:17:10 Music, writing; painting, photography; sculpture, film, 3D photography; 3D film. 01:17:36 My new goal is to write a programming language whose sources are 3D movies. 01:17:37 evincar: what 01:17:44 evincar: hi 01:18:19 Thus in some useless and gimmicky sense four-dimensional. 01:18:20 evincar: good luck 01:18:45 Everyone is paying attention to me. :( 01:18:46 evincar: waht 01:18:51 my languages all require viewing by 3d glasses. 01:18:56 evincar: if you don't like it, stop talking :( 01:19:13 Can't. Boredom compels me otherwise. 01:19:17 ok 01:19:28 evincar: learn Haskell and Perl 01:19:31 and then make a hybrid language. 01:19:48 that should give you plenty to do. 01:20:04 no 01:20:07 i will 01:20:08 pierce 01:20:09 your eyeballs 01:20:25 -->0_0 01:20:28 Is that a joke? 01:20:31 make a hybrid language...implemented in overloardedstrings 01:20:33 It's not funny enough to be a joke. 01:20:34 Help. 01:21:09 the Perlskell is my cherished deity. Soon it will come... 01:21:13 STOP STEALING HELP OMG 01:21:13 (C) 01:21:16 (C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C) 01:21:18 (C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C) 01:21:20 (c) 01:21:21 (C) 01:21:31 elliott: has anyone else done so? 01:21:36 I'll write Hasperll and we'll see whose is better. 01:21:39 CakeProphet: (C)(C)(C)(C)(C)(C)(C)(C)(C) 01:21:53 I think I've seen some other instances 01:21:57 I forget who did it though 01:22:03 CakeProphet has i think 01:22:04 because 01:22:05 bad person 01:22:06 elliott: I use "halp" but I've (C)'d that one for a while now. 01:22:15 halp is a bad word 01:22:31 the internet ruined it??? maybe??? maybe i am imagining things??? 01:22:45 man you guys are so stingy about personal preferences. 01:22:57 I am hurt. 01:22:59 halp is a 4 letter word 01:23:14 -!- augur has joined. 01:23:16 word is a 4 letter word 01:23:45 a bug in irp interpreter perhaps? 01:24:10 the addition of 2 and 2 is 4. 01:25:05 the is a four letter word 01:25:28 not only is it now given answers to questions that were not asked, but it seems to be given misleading answers. 01:25:41 irp is all I can program in halp 01:25:43 the internet ruined "teh", so when i misspell "the", i make sure to do it "hte" 01:25:59 ~monqy secrets~ 01:26:12 i have so many monqy secrets 01:27:03 Great, now I have to get used to accidentally hitting AltGr so I type þe. 01:27:50 32bit word is a 4 letter word 01:28:20 friend is a 4 letter word 01:28:41 what is a 4 letter word 01:28:42 -!- augur has quit (Remote host closed the connection). 01:28:44 friendship word 01:29:06 i think i won. 01:29:24 > length "32bit word" - length "friend" 01:29:25 4 01:29:54 > length "CakeProphet" - length "hagb4rd" 01:29:54 4 01:30:18 word 01:35:40 sub length($) {$_=@_;/^.*(?{pos})$/;$^R} length "word" 01:35:45 sub length($) {$_=@_;/^.*(?{pos})$/;$^R} print length "word" 01:35:51 hlep 01:35:53 !perl sub length($) {$_=@_;/^.*(?{pos})$/;$^R} print length "word" 01:35:53 4 01:36:01 regex = best way to do everything 01:36:43 !perl sub length($) {$_=@_;/^.*$/;pos} print length "word" 01:36:43 4 01:37:16 D: 01:37:53 perl at work: getting things done 01:38:06 Can you properly pronounce the name "Iuckqlwviv Kjugobe"? 01:38:14 no 01:39:23 ee-yuck-kull-wuh-viv kuh-juh-go-be 01:39:29 there is my attempt 01:39:54 That not pronounce it is just writing! 01:40:03 lol 01:41:56 [i@k:'lwvIv 'kjugobe] 01:42:48 evincar: Now you are trying better. 01:42:55 wats dat I dunt speaks no unamerican 01:44:12 Do you think this is someone's name? Do you like this? 01:44:21 its my name 01:44:29 Do you think "Also" can be a proper name? 01:44:36 yet i still do not know how to pronounce it.. 01:44:47 also zzo 01:44:48 my name 01:44:48 irl 01:44:53 could zzo38 sound any creepier than when he asks "Do you think this is someone's name? Do you like this?" 01:45:06 what 01:45:12 how is that creepy 01:45:13 CakeProphet: I don't know. Can you learn? 01:46:26 what is learn? 01:48:33 help 01:48:36 Actually, "Iuckqlwviv Kjugobe" and "Also" are names of some characters in the D&D game. The letters of the first name were generated at random. 01:48:44 monqy: pleh 01:49:14 zhelp plehz 01:50:40 I think English should adopt the ¿ 01:51:02 ¿What is learn? 01:51:07 ¿¿¿ 01:51:37 ¿¿¿¿¿¿help?????? 01:52:02 Old Norse hjalpa, Old Frisian helpa, Middle Dutch, Dutch helpen, Old High German helfan, German. helfen 01:52:11 hi 01:53:36 !wacro 01:53:37 OIMESO 01:53:42 oimeso 01:53:55 why are we all so weird. 01:53:56 -!- Vorpal has quit (Ping timeout: 240 seconds). 01:54:56 CakeProphet: Because weird. 01:55:06 monqy: im markov chane 01:55:17 elliott: hi markov chane 01:55:36 dick chainy 01:56:19 00:10:15: Basically all unigrams to root node, all bigrams starting with "foo" to /foo, all trigrams starting with "bar foo" to /foo/bar; then you can just walk backwards in your current context + the tree, and when reaching a leaf use that node's wordlist to generate the next word (or backoff). 01:56:29 time to figure out how this differs from the obvious way of doing it trie-wise 01:57:31 twice I made markov bots. both dead now,. rest peacefully. 01:57:47 monqy: yes but were YOURS designed to work on almost a terabyte of raw data in realtime 01:57:48 I THINK NOT 01:58:04 i guess i'll have to run it from home lol because no host will give me a terabyte 01:58:13 I want to make another bot but not markov 01:58:23 because markov is not cool enough 01:58:27 botte will be good... but markov more important 01:58:34 monqy: yes but mine will answer questions too...... 01:58:38 oh.... 01:58:52 elliott: perhaps you should try to get a freelance project to make money to pay for awesome hosting. 01:58:54 "what is X?" --> start with "X is", do one markov chain forward from that and one backwards, until complete sentence made 01:59:04 some time i want to try scfg............. 01:59:21 CakeProphet: well let's see now. 01:59:27 instead of markov..... 01:59:30 scfg is cool right..... 01:59:37 I considered using it. with regex of course to implement the transition rules. 01:59:37 monqy: maybe 01:59:41 because there is no better way. 01:59:42 TERABYTE 02:00:10 ok so 02:00:21 the only vps providers i can find offering anywher enear a terabyte of storage 02:00:35 slicehost - 620GB gigs of storage, fiteen gigs of ram, two point five terabytes monthly bandwidth 02:00:37 eight hundred dollars a month 02:00:42 8) 02:00:43 rackspace - cba to work it out it's per-hour 02:00:56 i guess a dedicated server 02:00:58 would be cheaper in that case 02:01:02 but w/e im not paying a hundred pounds a month to run a bot 02:01:29 buy a server. host it yourself. profit. 02:01:35 host it myself where 02:01:36 no 02:01:36 die 02:01:38 from my home connetion? 02:01:40 because thats called 02:01:42 WHAT I WAS GOING TO DO 02:01:47 i always just run bots from home.. 02:01:48 except i can just reuse an existing machine 02:01:49 COOL DO THAT. 02:01:53 PROBLEM SOLVED. 02:01:57 NICE YELLING 02:02:01 hi 02:02:03 FUUUUCK 02:02:32 @let cruiseControl = map toUpper 02:02:32 Defined. 02:02:39 I invented sokoban compression. It is like RLE, but it first encodes the walls/spaces (like the Generic Font format, it switches after every number), and then the targets skipping the walls, and then it encodes the number of positions between crates, skipping positions where there are walls or where a crate can never be moved from if it is placed there, and stopping when the number of crates is equal to the number of targets. Numbers are stored 02:04:13 you should make a patent. 02:04:19 and then when someone else invents you can get mad $$$$$ 02:04:20 No. 02:04:32 I want it freely usable. 02:05:17 I am one english 1-gram file number 7... 02:05:23 monqy: help i need a really space-efficient thing that's also really efficient to seek about while keeping it all on-disk 02:05:24 317K/s 02:05:32 In addition, it is automatically assumed there are walls on the edges; you do not need to encode the edges. 02:06:07 elliott: i am bad at knowing how to solve this probleme 02:06:11 hey wait I have money now why do I not own an external hard drive. 02:07:36 1.5 TB HD: $57 external HD case: $11 02:08:08 I saw a program using Huffman coding to code a Sokoban game on Texas Instruments calculators, but I invented mine independently and it usually compresses better (since it avoids redundancy). 02:08:40 -!- augur has joined. 02:08:43 I can't imagine a huge need to compress sokoban levels, unless you've made some mega sokoban that'll take a year to beat 02:08:48 In a few cases, rotating or flipping the level will make it compress better. 02:09:03 1.5 TB HD: $57 external HD case: $11 02:09:03 or 02:09:06 just buy 02:09:07 an external hd 02:09:13 and get it for cheaper than the combination 02:09:59 cheapest I've found is $70 02:10:10 Patashu: Yes, that is a purpose. Although mostly I did just to see if I can. Another purpose is a game with many levels but for systems with small ROM, but large enough to write the decompression program; the improvement improves as more levels are added in this case. 02:10:37 now I'm curious as to whether there there are any notable sokoban variants 02:11:29 elliott: yes it makes absolutely no sense but buying the case and HD seperately is cheaper. 02:11:34 There are some. There are many different ways to decide variants. Including geomerty, such as hex grid sokoban, or 3D sokoban; sokoban with new pieces such as blocks that move different number of spaces when pushed; etc 02:11:59 some assembley required: save $$$$$ 02:12:02 yeah, I can imagine all the ways to vary it, but what results in a Good Game 02:12:04 * Patashu google google 02:13:23 Or, such thing as Snaky Sokoban (one of my ideas, too), where there is tail of your pieces and therefore you cannot go backwards. Another thing is you have multiple pieces all of which move in the same direction to push blocks, so you have to be more careful. Another idea is different color of crates which must match colors of targets 02:14:27 monqy: oh and i need to store it in reverse format too, oops 02:14:33 i guess iw ill have to... soncult fizzie on that 02:15:03 order placed. Now I just need to figure out what to do with 1.5 TBs 02:16:01 Do you have any other ideas about sokoban game? 02:16:36 reverse format what is that 02:16:42 I also once played a game that is sokoban except they added keys and doors as well. 02:17:21 How about receptors being level-changing triggers? When a crate is on them, they alter one or more tiles. When a crate is not on them, the alteration might revert. 02:17:27 It'd be like those dickish block puzzles in La Mulana 02:17:44 And it combines trivially with any other sokoban modification 02:17:54 Well, not trivially 02:18:02 But with obvious usage 02:24:12 Hmm... 02:24:33 I think I have a decent idea of how to do the reverse-way around too without massive duplication 02:24:35 Well, two ways 02:24:40 I'm not sure if they are any good though 02:40:26 being a consumer sure is fun. 02:41:32 I get to work, buy things, consume them, and die!! 02:43:57 uh oh, I didn't check to see if my external is bootable. 02:44:00 oh well. 02:44:39 "Also, I wasnt talking about lists (you cant express Lisp-like lists in OCaml because they cant be statically typed)" 02:44:45 doesn't really matter 02:44:48 is it usb 02:44:51 because running os off usb = FAST 02:44:52 :P 02:45:05 What? I guess Lisp-like lists can't be statically typed in O'Caml? 02:45:14 Because Haskell handles them just fine 02:45:17 Chip's Challenge is a superset of sokoban, I just realized 02:45:27 http://schani.wordpress.com/2007/07/23/why-ocaml-is-not-my-favorite-programming-language/#comment-6957 02:45:31 elliott: fast enough. I used to have an Ubuntu flash drive that suited its purpose well. 02:46:03 block receptor -> brown button, and make a row of beartraps with the exit at the end 02:47:29 lets see... what's a large collection of useless data I could get. 02:47:46 halp pirate bay is down. 02:47:52 wat do? 02:48:43 zzo38, ever play chip's challenge? 02:48:44 I guess large volumes of word data would be nice to have. It allows for some interesting projects. 02:49:55 CakeProphet: torrentz.eu 02:50:06 meta-tracker 02:55:48 I guess 02:55:57 I should make a bot? 02:56:16 would it be a good bot 02:56:21 well, no need. I can do everything via an egobot command actually. 02:57:29 ok 02:59:31 but yes eventually I will probably make an irc bot. 03:00:10 a good bot? a few times I've made bot. all dead. rest peacefully. 03:00:23 dunno. we'll see. 03:00:57 -!- augur has quit (Remote host closed the connection). 03:00:59 it would serve a variety of purposes. One in particular is being able to facillitate pen and paper RPGs 03:01:04 over IRC. 03:01:23 another would be a playground of programs, similar to egobot I suppose. 03:03:26 I might write it on top of lambdabot I'd like to have all of lambdabots commands. 03:05:07 or I could write in Perl, and then implement lambdabot's commands by PMing lambdabot and relaying the answer. :P 03:06:16 :( 03:06:26 Hacks are ideal. 03:06:28 I jest I jest. 03:09:05 !perl $test = q/(?{print "launch missiles"})/; "hi" =~ /$test/ 03:09:05 Eval-group not allowed at runtime, use re 'eval' in regex m/(?{print "launch missiles"})/ at /tmp/input.10433 line 1. 03:09:14 oh look security. 03:09:35 !perl $test = q/(??{print "launch missiles"})/; "hi" =~ /$test/ 03:09:35 Eval-group not allowed at runtime, use re 'eval' in regex m/(??{print "launch missiles"})/ at /tmp/input.10715 line 1. 03:10:13 so I /could/ allow user-defined commands that execute when they match an arbitrary regex 03:10:16 the question is 03:10:23 do I really want that to be possible? 03:10:55 probably not, unless I restricted them somehow. 03:11:24 -!- augur has joined. 03:12:55 Patashu: I think I have once play Chip's Challenge 03:13:27 !perl print /(?R)/ 03:13:27 Pattern subroutine nesting without pos change exceeded limit in regex at /tmp/input.11361 line 1. 03:23:51 -!- augur has quit (Remote host closed the connection). 03:38:09 !perl local $x; '5' =~ /(?\d+)(?&FAC)(?(DEFINE)(?\g{N}(?(?=0)(*ACCEPT)|(?(??{$x*=$_{N};$_{N}-1})(?&FAC))))) 03:38:10 Search pattern not terminated at /tmp/input.13080 line 1. 03:38:13 !perl local $x; '5' =~ /(?\d+)(?&FAC)(?(DEFINE)(?\g{N}(?(?=0)(*ACCEPT)|(?(??{$x*=$_{N};$_{N}-1})(?&FAC)))))/ 03:38:37 !perl local $x; '5' =~ /(?\d+)(?&FAC)(?(DEFINE)(?\g{N}(?(?=0)(*ACCEPT)|(?(??{$x*=$_{N};$_{N}-1})(?&FAC)))))/; print $x 03:38:40 lulz 03:38:45 if only that had worked. 03:38:57 I'm not even going to try to fix it. 03:40:27 If you want to play RPGs on IRC, there is some IRC servers I have seen that have a GS command that allow you to do dice roll and calculation, as well as a few other things. (Type GS HELP for more information about this service.) 03:41:45 -!- derrik has joined. 03:43:34 -!- azaq23 has quit (Ping timeout: 264 seconds). 03:44:31 -!- azaq23 has joined. 03:46:49 !perl local $x; '5' =~ /(?\d+)(?&FAC)(?(DEFINE)(?(?(?)((??{$x*=$_{N}--})(?&FAC))?|(*ACCEPT))))/; print $x 03:49:20 recursive factorial in regex is probably not meant to be. 03:50:16 how do you debug that shi 03:50:30 I don't think you can. 03:51:06 !perl local $x; /(?{$x=2})/; print $x 03:51:07 2 03:51:07 youre bad person 03:51:09 monqy: tel themb ad 03:51:12 CakeProphet: bad 03:51:18 !perl my $x; /(?{$x=2})/; print $x 03:51:18 2 03:51:26 !perl use strict;my $x; /(?{$x=2})/; print $x 03:51:26 bad 03:51:27 2 03:51:29 bad 03:51:29 oh okay. 03:51:58 what other modern languages support dynamic scope? 03:52:21 haskell????/ 03:52:30 -!- MDude has changed nick to MSleep. 03:52:32 really? 03:52:40 CakeProphet: Would you count "can freely peek up the call stack"? 03:52:40 implicit arguments 03:52:51 If so, then Tcl. 03:52:53 pikhq: kind of. 03:53:21 is (whatever)lisp a monder nlanguage 03:53:22 It's a bit more "explicitly pulling something into scope", though. 03:53:27 i am sure there are lots of lisps with dynamic scope 03:54:08 Well, yeah. Dynamic scope is the historical norm. 03:54:17 For Lisp, that is. 03:55:05 :t ?x 03:55:05 forall t. (?x::t) => t 03:55:12 :t let ?dynamic = 9 in ?dynamic 03:55:13 forall t. (Num t) => t 03:55:24 :t let map [] = []; map (x:xs) = ?f x : map xs in map 03:55:24 forall t a. (?f::t -> a) => [t] -> [a] 03:55:35 > let map [] = []; map (x:xs) = ?f x : map xs in let ?f = succ in map [0,99,0] 03:55:35 [1,100,1] 03:55:47 CakeProphet: dymanically scoped 03:55:53 oh my 03:56:07 GHC extension? 03:56:12 yes, like everything 03:56:14 Is that what the question mark is for? 03:56:20 you could use that to have a this similar to methods in OO languages... 03:57:07 is that a more interesting abuse of language extensions that misusing overloaded strings? 03:57:10 does that count? 03:57:17 s/that/than/ 03:57:39 there is nothing worse than misusing overloaded stirngs.....ecxept maybe worse things..... 03:57:50 Does Haskell have overloading strings? 03:57:57 what's misusing overloaded strings? 03:58:02 like calling lock/wait on them? 04:00:15 Patashu: like using them to interpret arbitrary code as Haskell strings. 04:00:39 ooo, fun 04:01:07 no 04:01:07 no 04:01:08 no 04:01:11 Patashu: dont let CakeProphet exist 04:01:13 make him die, stop, no, 04:01:17 monqy: no help stop 04:01:20 helop 04:02:13 (.) o m = let ?this = o in m 04:02:30 would that work? 04:03:32 I guess .$ would allow you to not hide composition 04:03:36 :t \o m -> let ?this = o in m 04:03:37 forall t t1. t1 -> t -> t 04:03:41 no. 04:03:55 :t \o (m :: forall x. (?this :: x) -> r) -> let ?this = o in m 04:03:55 Predicate used as a type: ?this :: x 04:03:55 In the type `forall x. (?this :: x) -> r' 04:03:55 In a pattern type signature: forall x. (?this :: x) -> r 04:03:58 Do you know the function of double quoted strings in WEB? Do you know if it is possible to make Haskell to have that function, too? 04:04:01 :t \o (m :: forall x. (?this :: x) => r) -> let ?this = o in m 04:04:02 A pattern type signature cannot bind scoped type variables `r' 04:04:02 unless the pattern has a rigid type context 04:04:02 In the pattern: m :: forall x. (?this :: x) => r 04:04:21 :t (\o m -> let ?this = o in m) :: x -> ((?this :: x) => r) -> r 04:04:22 forall x r. x -> ((?this::x) => r) -> r 04:04:26 CakeProphet: yes 04:05:13 neato 04:05:18 CakeProphet: don't do it though 04:05:20 ill cut your veins 04:05:23 I don't intend to 04:05:59 elliott: also arteries would be much more effective if you intend to have me bleed out quickly and die. 04:06:32 no i want you to suffer like i have 04:11:04 elliott: lol, really? that's the effect my conversations on this channel have on you? 04:11:18 yes slow painful blood losss, tell him monqy 04:11:19 sounds like a personal problem. :> 04:12:14 No! You have to bet your blood at a game of mahjong first. 04:13:00 my bot is going to sporadically respond about 2-3 times a day to something, babbling inanely about something and then following with a ":>" 04:13:45 Is that one the bot or just an example? 04:14:02 that's CakeProphet 04:14:09 anyway :> is my smiley 04:14:12 (c) eso-std.org 04:14:14 years ago 04:14:14 ok 04:14:16 channel famous 04:14:17 what? 04:14:18 channel famous placeholder page 04:14:19 nonsense 04:14:24 "sometimes i fly around in a spaceship :>" 04:14:29 that has been a channel icon for years 04:14:31 you cannot just 04:14:33 steal the smiley 04:14:37 I do not live at the moon! 04:14:41 ah 04:14:43 I didn't steal it dawg. 04:14:49 it's on my face right now. it's mine. 04:14:52 :> 04:15:54 fak 04:15:54 u 04:15:56 shat 04:15:57 had 04:15:57 :( 04:16:11 i used to say :> a lot and now i dont 04:16:19 :> is the best smiley 04:16:26 now im only :( 04:16:29 and :'( 04:16:30 I also like :} 04:16:32 and ;-; 04:16:34 and ;_; 04:16:37 > ((:[])>=>(:[])>=>(:[])) "elliott" 04:16:37 ["elliott"] 04:16:38 and ;_----___---____-_____-; 04:16:48 elliott: totem pole eats you 04:17:06 [] is its belly. 04:17:18 elliott is a symbolic representation of Elliott Hird 04:17:54 hi 04:19:08 :t fix ((:[])>=>) 04:19:08 forall b c. b -> [c] 04:19:15 wtf is that monstrosity 04:19:29 it's like...cons to an empty list then whatever >=> is 04:19:59 it's really simple actually 04:20:00 > fix ((:[])>=>) "elliott" --the infinite totem pole of death 04:20:01 *Exception: stack overflow 04:20:09 dead 04:20:32 In the D&D game, my character wrote "DO NOT SIT ON THIS CHAIR PAST THE HOUR OF 6AM" on one of the chairs. Does this make sense to you? 04:20:42 -!- derrik has quit (Ping timeout: 258 seconds). 04:20:48 > fix ("cakeprophet is a bad. "++) 04:20:49 "cakeprophet is a bad. cakeprophet is a bad. cakeprophet is a bad. cakeprop... 04:20:53 > ((>=>)>=>(>=>))(:[])(:[])"foo" 04:20:54 ["foo"] 04:21:35 zzo38: no 04:21:43 CakeProphet: Are you sure? 04:21:45 yes. 04:21:47 I mean 04:21:56 I understand what you said, but not why. 04:22:05 what's sitting help 04:22:27 Did you know it is actually a chair made up by a magic spell (Major Creation) and it eventually expires? 04:22:32 :t (>=>) --patashu 04:22:33 forall a (m :: * -> *) b c. (Monad m) => (a -> m b) -> (b -> m c) -> a -> m c 04:22:40 all should be clear. 04:23:00 -!- derrik has joined. 04:23:02 zzo38: no, not at all. 04:23:10 monad composition or something 04:23:12 Now hopefully you do know. 04:23:25 Patashu: not monads but functions-that-you-can-use-with-bind 04:23:29 I'm sure there's a better way to say that. 04:23:37 Read it; I finished typing the recording of the session this time by now. 04:24:00 @src (>=>) 04:24:01 Source not found. Are you on drugs? 04:24:46 Do you know how to read that recording? How many mistakes does it contain? 04:25:17 Should be something like f>=>g=\x->f x>>=g 04:26:00 :t (\f g x -> f x >>= g) 04:26:01 forall t (m :: * -> *) a b. (Monad m) => (t -> m a) -> (a -> m b) -> t -> m b 04:26:10 yep 04:27:16 zzo38: interested in Shadowrun much? 04:27:20 I've been looking for a group. 04:27:29 CakeProphet: I don't know much about it. 04:27:38 You can explain more details if you want to. 04:27:39 me neither. :P I've only read the 5th edition book a few times. 04:27:51 it's uh... fantasy / cyberpunk basically. 04:27:56 I could link you to a PDF. 04:30:21 Did you read the recording of my game? (I am not requiring payment for you to read it) 04:30:45 I wasn't aware I had access to it. 04:31:57 http://zzo38computer.cjb.net/dnd/recording/level20.tex (In the same directory are "dungeonsrecording.tex" which is the macros, and "level20.dvi" which is the printout file) 04:33:56 You can find the \session heading which specifies the date that this game is played, while \chaptertitle is used for chapters organized according to story format instead. 04:34:13 Currently it has eight footnotes. 04:35:05 Do you like this? Do you like ___________? 04:37:06 not really sure how to view this stuff. 04:37:40 The .tex is just a text file, can be viewed in any program. DVI file is viewable in any DVI viewer program or printer. 04:38:19 said incorrect format when I tried to view the dvi 04:39:07 also don't know much about DND so the stats don't mean much to me. 04:39:09 Then view the .tex file 04:39:31 Also, the Doppelganger 04:39:56 It has the entire story text too, you do not need to know much about D&D to read that. The footnotes and character data is more having to do with the game to make it difficult to understand if you do not understand D&D, but the story text can be read by anyone (if you can read English story texts) 04:39:58 !wacro 04:39:58 CVEBFHWL 04:40:09 bad 04:40:46 zzo38: help(c) what is read. 04:41:06 help(c) 04:41:06 CakeProphet: Yes, there is the doppelganger named Also, that is my brother's character so he made up that name. "Hello, my name is Clark." "I am Also." "O, you are also Clark?" "..." 04:41:19 elliott: help(c) 04:41:31 help 04:41:45 !help help 04:41:45 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 04:41:55 Gregor: help 04:41:58 CakeProphet: It is. 04:42:11 @help help 04:42:11 help . Ask for help for . Try 'list' for all commands 04:43:12 zzo38: I'm not sure I'll get anything out of reading all of this. :/ 04:43:43 except "Also is also a slave on Thesk island" = lol 04:44:02 Are you sure? Maybe you would notice mistakes having to do with story text. I am not very good at that kind of writing stuff. Of course, you can also learn a few things about D&D game from reading this, too. 04:44:30 * CakeProphet is fucking Kurt Vonnegut himself and master of all writtens. 04:45:01 well it kind of switches from third person to first person randomly 04:45:15 One day, a dwarf who was working in the mines decided to rescue both of us 04:45:16 slaves 04:45:24 us = first person 04:45:33 -!- pikhq_ has joined. 04:45:40 OK, thanks for noticing that. 04:45:41 and then goes back to being third person again. 04:45:50 -!- derrik_ has joined. 04:46:52 s/tracking device. Note that both of/tracking device, and both of/ 04:47:19 the whole thing is kind of oddly worded but technically not incorrect I suppose. 04:47:25 or at least what I've read so far. 04:47:29 -!- pikhq has quit (Ping timeout: 240 seconds). 04:47:38 OK, I will take note of that in case I can correct that or someone can correct it. I will fix the "tracking device". OK I corrected that sentence now. 04:48:18 -!- derrik has quit (Ping timeout: 258 seconds). 04:48:32 -!- derrik_ has changed nick to derrik. 04:49:06 s/Now, Kjugobe suggested to put/Now, Kjugobe suggested putting/ 04:49:15 though I'm not really sure if that's incorrect, it just sounds strange to me. 04:49:33 OK, I fixed that too. 04:50:21 I don't think there's any need for me to make suggestions honestly. It's not like you're writing a novel or anything. 04:50:30 Do you like this story? Is it interesting story that you like to read this kind of stuff? (Note: the \note{...} indicates footnotes. They are not part of the story text) 04:50:32 just recording what happened. 04:50:58 you should have used a \note{} to explain 04:51:03 for great humor. 04:51:44 CakeProphet: Well, I am recording what happened as well as trying to make it like writing a novel. But not for selling; just for reading by computer. You can print it in many modes to specify detail level; detail level 1 is mostly like a novel, while detail level 6 is everything. 04:52:09 CakeProphet: Use a \note{} to explain what, specifically do you mean? 04:52:35 \note{the \note{} indicates footnotes. they are not part of the story text} 04:53:18 O, like that. But the printout does not actually say \note 04:53:42 oh yeah I know I just meant in your sentence it would have been funny. 04:53:49 oh let me find something else... 04:54:17 O, you mean in my sentence on this IRC. Yes, in that case I agree with you it is funny way to do it I like it like that 04:54:25 while you're letting me correct you in stuff... 04:54:29 lemme find it. 04:56:09 16:44:08: I think too many paragraphs begin with "Also" 04:56:22 s/^/Also, / 04:56:34 lolololololololol 04:56:40 ok 04:56:43 > cycle "lo" 04:56:44 "lololololololololololololololololololololololololololololololololololololo... 04:57:04 that is how funny I think that would be. 04:58:15 ok 04:58:25 monqy is a bad. 04:58:32 monqy is a bad. 04:58:35 yep. 05:02:15 -!- zzo38 has left. 05:06:00 Where is zzo from anyway? I'm occasionally suspicious he's a bot. 05:06:48 die 05:06:52 he is our hero 05:07:12 this channel would be fucking unsalvagable without him 05:07:49 zzo is amasing 05:07:53 amaiznge 05:07:55 amazing 05:08:05 hlep 05:08:20 Did I say being a bot would be a bad thing? 05:11:06 * CakeProphet is an hero. 05:11:36 hi 05:11:46 -!- elliott has quit (Ping timeout: 264 seconds). 05:14:00 GNU Emacs comes with ABSOLUTELY NO WARRANTY 05:14:14 what if software /did/ come with absolutely warranties? 05:14:14 Huh. 05:14:14 oh no 05:14:16 http://www.urbandictionary.com/define.php?term=zzo38 05:14:21 Well this is interesting. 05:16:30 https://plus.google.com/117832052760789742441/posts 05:16:45 "HI IM A BIG DUDE FOR BIG PEOPLE" -- elliott hird 05:17:25 You look like two sides of a strange rounded canyon. 05:18:01 maybe I should get a gougle plusse sometime 05:18:09 not sure what i would do with it 05:18:27 I don't do anything with mine. 05:18:34 Largely because I haven't made a video in a while. 05:18:40 I talk about all of my nerd projects to all of my non-nerd friends who basically don't pay attention. 05:18:43 it's fun. 05:18:45 So I haven't told any of my subscribers to add me. 05:19:15 the only friends I have it'd be pretty useless to google+ 05:19:20 CakeProphet: That's what my blog is for. 05:19:24 or something like that 05:19:31 Except I acknowledge that no one listens. 05:21:47 all I have is a livejournal, where I post pictures of me cutting myself. 05:21:58 I don;t livejournal 05:22:11 I also write poems. -_;; 05:22:17 hehehehe 05:23:47 I didn't know LJ was still a thing. 05:23:51 HAHAH I LIED. JOKES ON YOU. 05:24:12 ok 05:24:53 bahahahahaha 05:25:04 buh huh huh huh huh 05:25:05 cake "easily amused" prophet 05:26:57 mon "help(c)" qy 05:28:34 Hmm. 05:28:42 Idea. 05:29:13 Unix-style programs have one port for input and two ports for output, but all of these ports are one-dimensional. 05:29:36 We should have 2D ports as well, for images and such. 05:29:47 Just a thought. 05:29:53 Won't work well with C. 05:29:57 It'd be more useful in a graphical shell. 05:30:03 Yeah, C = Unix. 05:30:06 :( 05:30:06 Or, really, any other bits of the stack. 05:30:28 Too moronic to allow for any data structures other than char*. 05:30:59 Meh. You *can* serialise everything. 05:31:08 Obviously that's been working all along. 05:31:47 Maybe I'll just make programs that open up file descriptors 3-13 and output 10 bytes to each if I want to write a 10x10 image. :P 05:31:50 It's also utterly moronic. 05:32:10 Yes, it technically works, but so does assembly. 05:32:36 Yeah, so some higher-level language integration with the shell would be nice. 05:33:01 Haskshell 05:33:05 If there were a consumer-quality Lisp-based OS, I'd go for it. 05:33:33 Or any number of other things. Factor would be fine, or even something like Smalltalk. 05:33:57 Guess I should team up with that guy who wanted to write a "Kay OOP" system. 05:34:07 I hear Symbolics offered those. In the 80s. 05:34:27 What you're saying is true. 05:34:36 But I don't know if you're toying with me. 05:34:51 No, being quite honest and depressed. 05:35:59 What's got your gills down and brown, toothflake? 05:36:53 EVERYTHING SUCKS 05:37:00 Not just computers, EVERYTHING! 05:37:15 Most people like things that suck. 05:37:26 Most people suck. 05:37:40 More or less. 05:39:01 So I'm re-doing my web site. 05:39:17 Going to get started on that programming language genome project. 05:39:21 Remember, and make baby IESVS cry! 05:39:23 I know there was some genuine interest here. 05:39:34 IESVS? 05:39:58 Sgeo: Jesus. 05:40:02 I don't believe in miniscule letters, U, and J in Latin. 05:40:18 pikhq_: Nor spaces. But maybe interpuncts. 05:40:31 evincar: Interpuncts are a bit harder to type, sadly. 05:40:51 * Sgeo was thinking some bizarre version of Internet Explorer 05:41:08 Welp, Internet Explorer version SVS is the Son of God. It's official. 05:41:20 IESVS, now with more YHWH! 05:42:08 pikhq_: Crap, just found out interpunct isn't in my compose map! This must be fixed. 05:42:17 Lest I type • instead. 05:43:12 I think the only one I can get at trivially is "・". 05:44:01 Which is U+30FB, KATAKANA MIDDLE DOT 05:47:01 Also, time to write a script for cat /usr/share/X11/locale/en_US.UTF-8/Compose | grep 05:47:09 Because that shit's handy. 05:47:14 And yes, I know, UUOC. 05:48:28 -!- derrik has quit (Quit: gone). 05:56:05 !wacro 05:56:06 HNG 05:56:30 awful 05:56:38 !wacro 05:56:39 HIDAWSTS 05:57:11 !wacro 05:57:11 ACCPP 05:57:33 Well, you're getting closer? 05:57:35 I think? 05:57:45 ...no, I haven't changed the program at all. 05:57:53 Although with that HNG I think Ego had a hernia. 05:58:11 !wacro 05:58:11 OWH 05:58:15 Yep. 05:58:18 Definitely injured. 05:58:46 !wacro 05:58:47 STCDST 05:58:56 !wacro 05:58:56 KDAS 05:59:04 !wacro 05:59:04 RAFR 05:59:11 Hee. 05:59:14 I am sated. 05:59:30 elliott-the-logreader: Regarding the reverse-context tree, doing it "the obvious way" is going to be just as fast for a fixed-length n-gram query (e.g. "what are all the 5-grams that begin 'argle garble blargle merf'"), but when they're arranged in the tree I mentioned, you can 1) easily have a variable-length n-gram model (just stop descending when you hit a leaf), and 2) do smoothing/interpolation without performing the corresponding 4-gram query ("what are t 05:59:31 he 4-grams that begin 'garble blargle merf'"), because the answer to that is just the parent node of where you were. 06:00:27 !wacro 06:00:28 BDD 06:00:52 (Of course in fungot's case it's not about the speed, it's about the amount of code needed for sampling, since writing it takes time.) 06:00:52 fizzie: ya i hav got one downloading the full match it up. love u so much. sorry. will see in half an hour. thennow i'm going home le. retarded. 06:00:56 CakeProphet: absolutely miserable 06:01:29 fungot 06:01:29 CakeProphet: there is no. yellow is yes. i tell. stupid hear after i wont talk to you:-. 06:01:59 What style is this? 06:02:12 sms? 06:02:17 Sgeo: The SMS one, I'd guess. 06:02:18 ^style 06:02:18 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft nethack pa sms* speeches ss wp youtube 06:02:20 Yes. 06:02:50 ^style c64 06:02:50 Selected style: c64 (C64 programming material) 06:02:54 fungot 06:02:55 CakeProphet: communication registers: a, x, its starting address for the ieee bus card timeout flag 06:03:04 I think that one suffers from poor preprocessing. 06:03:20 There's so much code examples and tables and that sort of stuff in the material. 06:03:52 ^style jargon 06:03:53 Selected style: jargon (UNIX-HATERS mailing list archive) 06:03:58 fungot 06:03:58 CakeProphet: dump always does the young heroine, unruffled amidst the snarls and snaps of hunters from 65myears ago, but since it would be 06:04:05 That one's just weird. 06:04:08 ^style c64 06:04:08 Selected style: c64 (C64 programming material) 06:04:09 fungot: So how do I... let's say, configure the VIC-II so that I get an interrupt at the hblank at the middle of the frame? 06:04:09 fizzie: expressions are: none note: the read/ write line on the screen is 208. since this will minimize digital noise at the end of this book in appendix e lists the program is to read. 06:04:40 It's possibly not very useful for a programmer. 06:05:02 ^style youtube 06:05:02 Selected style: youtube (Some YouTube comments) 06:05:08 fungot! 06:05:08 quintopia: strange but very good. john moore hasn't really proven himself as a kid i have played the game! :) so funny 06:05:23 That one suffers from a rather small dataset, but otherwise it does sound quite youtubey. 06:05:37 expand the dataset! 06:05:53 fungot: So how about them airplanes? (It's made from the comments of like three videos, one of which was a plane crash, or something.) 06:05:54 fizzie: finally a snow mobile? gfto this game! i love those commercials but you obviously can't be serious by your own advice verify your information before posting stupid comments. this would never make it true that it's a throwback to techno pop. 06:06:02 you could have the youtube dataset randomly select several thousand youtube videos every month or so. 06:06:18 It's not my dataset, it was donated by asiekierka. I'm not sure I'm interested enough to make it "for reals". 06:07:12 ^style fisher 06:07:12 Selected style: fisher (Fisher corpus of transcribed telephone conversations) 06:07:18 fungot: Hullo can you hear me huh? 06:07:18 fizzie: in her car 06:07:26 fungot: In her car what? 06:07:26 fizzie: uh and fight for everything they need to be really good noise 06:07:38 fungot: You're not really making much sense here. 06:07:39 fizzie: so i mean i can be near someone who smokes and i can see maybe the school not actually stocking certain books in their library 06:07:49 "A-ha." 06:07:56 ^style homestuck 06:07:57 Selected style: homestuck (Homestuck pages 1901-4673) 06:08:05 fungot: Sword 06:08:05 Patashu: of apocalypse your thoughts on these developments in your gamefaqs walkthrough/ journal. it can only be a moment. 06:08:09 That's a bit of work-in-progress still. 06:08:24 fungot: worthless piece of shit 06:08:24 Patashu: john, it appears we have reached an impasse 06:08:27 haha 06:08:39 Probably a straight quote, sadly. :p 06:08:49 fungot: fungot 06:08:49 Patashu: the life in the water. dave's package contained a modified with rose's knitting. he gave rose a knitting set, the fabled to live on the green moon. they deemed the code which would inevitably be used to create becquerel. this animal must be a trick, interestingly enough, pertaining to punching cards, you've been contemplating what could it be the same. trolls think fashion is stupid. stop doing nothing but wondering wh 06:12:15 5~3~3~3~3~3~5~3~5~ 06:13:48 Coincidentally enough, fungot doesn't actually use the n-gram model for ending the sentence in the usual way (by just generating until it generates an end-of-sentence-token). It wasn't quite controllable enough, so I just flagged all (n-1)-grams that have occurred at the end of a sentence with a "can-stop" flag, and then for each such place it has a probability of stopping which depends on the length of the generated stuff. 06:13:48 fizzie: a not boring way, build a way up the echeladder a while. until you woke up. she went this way. the cost a fortune 06:16:11 so it just randomly selects n-grams from the dataset? 06:17:05 fungot 06:17:06 CakeProphet: to, uhhh....... 06:17:17 does fungot look at your input? 06:17:17 Patashu: at that point you would essentially the same as the word " crazy" 06:17:21 or just start generating when it hears its name 06:17:43 Patashu: Unfortunately not, because it'd need to map your input into tokens, and I haven't implemented that in Befunge. 06:17:52 Hay guaiyz, should the programming language genome thing have user accounts? 06:18:04 I figure if it does I'll just use OpenID and be done with it. 06:18:10 CakeProphet: Well, yes, based on the previously generated context, of course. In the "usual" way. 06:18:29 lolwat 06:19:50 Watlol? 06:20:32 I guess my real question is: would you expect to *need* to log in to this thing? It is sort of wiki-like, after all. 06:20:51 And that raises the question of what the hell people would do with a user page if they had one. 06:20:58 Maybe have points? 06:21:01 And badges? 06:21:06 'Cheevements? 06:21:26 \(°_o)/ 06:22:01 I can't say help(C) because help(C) is (C) and (C) is (C). 06:23:40 1) Let people make accounts 2) store passwords in plaintext 3) enjoy your credit card fraud opportunities 06:26:17 Trollolol. 06:26:32 Oh wait. 06:26:34 Tripcodes. 06:26:36 Derp. 06:26:42 Everyone likes tripcodes. 06:27:03 And it's already been joked in here that this thing is an imageboard but not for images. 06:36:05 hi 06:36:55 monqy: hi how do i tripcode 06:36:58 assist 06:37:04 what's a tripcode 06:37:28 evincar: http://en.wikipedia.org/wiki/Tripcode hjelp 06:37:46 Patashu: No-registration authentication. Basically just a hash of a password that gets tacked on to your username so you can be identified if necessary. 06:38:24 Oh, that's clever 06:38:25 monqy: I'm looking for something...better. 06:38:26 Never seen that before 06:38:37 Then you never go on imageboards, I take it. 06:38:52 Any of the chans. 06:39:02 nope 06:39:17 I only just heard of tripcodes last night myself 06:39:21 I forget how 06:39:25 nubs 06:39:58 > nub "these guys are" 06:39:59 "thes guyar" 06:41:07 They're actually frowned upon for the most part. 06:41:26 But I don't care. 06:41:28 nub "jumps quick lazy fox brown over dog the the" 06:41:35 > nub "jumps quick lazy fox brown over dog the the" 06:41:36 "jumps qicklazyfoxbrwnvedgth" 06:41:48 If you want the option to identify yourself, so be it. 06:41:50 they'd be easy to crack actually 06:41:52 if the algorithm is public 06:41:56 > sort $ nub "jumps quick lazy fox brown over dog the the" 06:41:56 " abcdefghijklmnopqrstuvwxyz" 06:42:04 just brute force attempts on your botnet until you get a match 06:42:36 True. 06:42:41 But I don't know how much I care. 06:44:16 The gist of the site is: add/flag language, add/remove/flag/suggest gene. 06:44:27 I don't want to have too much spam to deal with. 06:44:41 But then again I'm not sure who'd spam a random informational site for programmers. 06:45:09 if it's built custom then it probably won't get any spam 06:45:40 Maybe I'll just throw my hands up. 06:45:58 And say "anyone can edit; if you see spam, delete it". 06:46:39 In that case, all edits will just be anonymous. 06:46:57 Still, there needs to be some sanity in the genes. 06:47:12 I'll probably moderate just gene suggestions. 06:52:11 Can anyone suggest a better name than "Programming Language Genome Project"? 06:52:21 Or a better acronym than "PLGP"? :P 06:53:06 !wacro 06:53:07 SPO 06:53:23 The name of that one mouse from "Housepets!"? 06:53:32 !wacro 06:53:33 WSESTT 06:53:34 !wacro 06:53:34 !wacro 06:53:35 !wacro 06:53:35 BGMBRD 06:53:35 HTSM 06:53:35 DICSUIF 06:53:46 Dicks you if. 06:53:55 How helpful. 06:54:13 appaling 06:54:30 A-pailing. 06:54:57 a peeling 06:54:59 Genome Project for Languages of Programming, the GPL-pee. 06:55:38 how will that even work 06:55:56 You pee, and then everyone is free to modify that, as long as they pee too in public. 06:56:41 Also you can maybe have some invariant sections, I don't know. 07:02:36 !wacro 07:02:38 EHPHC 07:03:24 !wacro 07:03:24 BHR 07:03:26 EPIC is a Programming-language Index for Coders? 07:03:27 !wacro 07:03:27 BARS 07:03:41 :O 07:04:05 I'm pretty sure I can't escape bad acronyms. 07:04:08 -!- Lymee has quit (Read error: Operation timed out). 07:04:15 So I should probably just avoid them. 07:04:35 !wacro 07:04:36 ECBM 07:04:50 After all, it's a Programming Language Genome Project, and nothing else. 07:05:19 i prefered gpl pee 07:05:33 The pee of champions! 07:05:49 > replicateM 4 "plgp" 07:05:49 ["pppp","pppl","pppg","pppp","pplp","ppll","pplg","pplp","ppgp","ppgl","ppg... 07:05:57 er... 07:06:12 > permutations "plgp" 07:06:12 ["plgp","lpgp","glpp","lgpp","gplp","pglp","pglp","gplp","glpp","plgp","lpg... 07:06:29 > nub $ permutations "plgp" 07:06:29 ["plgp","lpgp","glpp","lgpp","gplp","pglp","pplg","plpg","lppg","ppgl","pgp... 07:07:00 GePPLa. The Genome Project for Programming Languages. 07:07:07 -!- copumpkin has quit (Ping timeout: 260 seconds). 07:07:25 Geproprolang. 07:07:28 GULP, the Genome Undertaking for the Languages of Programming. 07:07:32 -!- copumpkin has joined. 07:07:47 Can't sleep? Incontinent? Someone suck out your eyes with a powerful hoover? You need Geproprolang! 07:08:37 fizzie: That's surprisingly not terrible. 07:08:39 son I am proud. 07:09:50 > (`replicateM` words "son I am proud") =<< [3..] 07:09:50 [["son","son","son"],["son","son","I"],["son","son","am"],["son","son","pro... 07:10:16 > join $ (`replicateM` words "son I am proud") =<< [3..] 07:10:16 ["son","son","son","son","son","I","son","son","am","son","son","proud","so... 07:10:34 > join . join $ (`replicateM` words "son I am proud") =<< [3..] 07:10:35 "sonsonsonsonsonIsonsonamsonsonproudsonIsonsonIIsonIamsonIproudsonamsonsona... 07:11:57 > join . join . drop 40 $ (`replicateM` words "son I am proud") =<< [3..] 07:11:58 "amamsonamamIamamamamamproudamproudsonamproudIamproudamamproudproudproudson... 07:24:35 -!- zzo38 has joined. 07:29:50 I realized that when designing CPU instruction sets, sometimes I have come up with things similar to VAX such as that if you write to a literal, you end up modifying the instruction, and setting the flags. 07:33:15 I have once designed an electronic circuit which can do CPU, there is only one instruction, which is transfer register and jump. The different registers have different side effects. Instructions must be aligned; the other bits of the PC register are flags that are manipulated with every jump. 07:34:11 > nub . permutations $ "help" 07:34:12 ["help","ehlp","lehp","elhp","lhep","hlep","pleh","lpeh","leph","pelh","epl... 07:34:29 I think I also had one register which is XORed by the PC register to determine what the actual address of the next instruction will be. 07:34:31 > unwords . nub . permutations $ "help" 07:34:32 "help ehlp lehp elhp lhep hlep pleh lpeh leph pelh eplh elph phel hpel hepl... 07:37:53 I had code segment and data segment, which are used as the high sixteen bits for code addresses and for data addresses. 07:38:08 > length . nub . permutations $ "help" 07:38:09 24 07:38:16 > length . permutations $ "help" 07:38:17 24 07:38:28 > length . permutations $ "hhhh" 07:38:30 24 07:38:34 I have never tested my design, however. 07:38:58 > length . nub . permutations $ "hhhh" -- 1. I'd feel awkward not including it though 07:38:59 1 07:39:05 Night 07:40:19 I'm not really following this very well: http://blog.ezyang.com/2011/08/joseph-and-the-amazing-technicolor-box/ 07:43:35 I especially like the [[User:Ian]] article in esolang wiki. 08:07:05 > (`replicateM` words "const & const &") =<< [3..] 08:07:06 [["const","const","const"],["const","const","&"],["const","const","const"],... 08:07:15 > unwords . join $ (`replicateM` words "const & const &") =<< [3..] 08:07:16 "const const const const const & const const const const const & const & co... 08:07:28 examples of common idioms in C++ 08:07:36 Derp. 08:08:18 > unwords . join $ (`replicateM` words "const & const &") =<< [1..] 08:08:19 "const & const & const const const & const const const & & const & & & cons... 08:16:31 -!- zzo38 has quit (Remote host closed the connection). 08:32:42 > null (undefined:undefined) 08:32:43 False 08:32:54 > null undefined 08:32:55 *Exception: Prelude.undefined 08:36:25 -!- copumpkin has quit (Ping timeout: 250 seconds). 08:36:50 -!- copumpkin has joined. 08:43:16 Welcome to the world of laziness. 08:43:43 yawn 10:05:48 -!- evincar has quit (Quit: leaving). 10:09:41 -!- azaq23 has quit (Quit: Leaving.). 10:11:08 -!- GreaseMonkey has quit (Quit: The Other Game). 10:27:41 -!- Phantom_Hoover has joined. 10:28:55 'permutations' is a function I soooo wish existed in C# etc 10:28:56 ;_; 10:29:00 or does it? 10:29:58 -!- monqy has quit (Quit: hello). 10:34:09 Patashu: C++ STL has std::next_permutation. 10:34:23 Rearranges a list to the next permutation. 10:34:43 Well, a collection. A container. A something with bidirectional iterators. 10:35:09 There is also the corresponding "prev_". 10:35:18 o_o 10:35:51 how did I miss this ;_; 10:38:41 java.util.Collections, the obvious place for it, doesn't. Don't think C# has one either. 11:25:49 -!- sebbu has quit (Ping timeout: 240 seconds). 11:26:22 -!- Lymee has joined. 11:34:05 -!- sebbu has joined. 11:34:05 -!- sebbu has quit (Changing host). 11:34:05 -!- sebbu has joined. 11:36:35 -!- Vorpal has joined. 11:37:02 -!- copumpkin has quit (Ping timeout: 252 seconds). 11:37:27 -!- copumpkin has joined. 11:41:19 -!- oerjan has joined. 11:42:08 23:57:28 > unwords . nub . permutations $ "help" 11:42:09 23:57:30 "help ehlp lehp elhp lhep hlep pleh lpeh leph pelh eplh elph phel hpel hepl... 11:42:15 i suppose that was inevitable. 11:50:51 -!- boily has joined. 11:51:06 02:57:00 Patashu: C++ STL has std::next_permutation. 11:51:06 02:57:15 Rearranges a list to the next permutation. 11:51:28 that cannot be a pure function can it, i doubt it would get through all permutations otherwise. 11:51:44 C++, pure function? 11:51:54 i mean, depending only on the list input 11:52:35 It just mutates the list to be the (lexicographically) next permutation, based on the elements' comparison operator, or a custom comparator type. 11:52:56 actually it obviously cannot, since S_n is not cyclic for n large enough 11:53:02 And returns true, except if it's the "largest" permutation, it goes to the "smallest" one, and returns false. 11:53:09 ok so depends on an element order then 11:53:16 Yes, it does. 11:54:16 -!- Slereah has quit (Ping timeout: 252 seconds). 11:54:43 you can't draw a graph linking every permutation? why not? 11:54:47 -!- GuestIceKovu has joined. 11:54:58 you need to know where you started? 11:56:14 Patashu: i mean with opaque elements that cannot be compared. because then the new list must always be a fixed permutation of the old one. 11:56:35 you'd -hope- they can be compared 11:56:55 ...haskell's permutations works even if they cannot. 11:57:28 > length . permutations $ replicate 5 undefined 11:57:30 120 11:59:25 You could say it's [a] -> [[a]], as opposed to C++'s Ord a => [a] -> [a]. If you were feeling silly enough. 12:04:37 > let nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in nextPermutation [1,2,3,4,5] 12:04:39 [1,2,3,5,4] 12:04:42 The best implementation? 12:07:53 it _might_ not be ideal speedwise 12:11:12 @t iterate 12:11:12 Maybe you meant: tell thank you thanks thx ticker time todo todo-add todo-delete topic-cons topic-init topic-null topic-snoc topic-tail topic-tell type . ? @ ft v 12:11:35 > let nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in iterate nextPermutation [1,2,3,4,5] 12:11:37 [[1,2,3,4,5],[1,2,3,5,4],[1,2,4,3,5],[1,2,4,5,3],[1,2,5,3,4],[1,2,5,4,3],[1... 12:11:49 > let nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in iterate nextPermutation [1,2,3] 12:11:50 [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1],[1,2,3],[1,3,2],[2,1,3],[2... 12:11:55 seems to work 12:13:41 ah I get how it works 12:13:50 > let nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in iterate nextPermutation [1,2,3,4,5,6,7,8] 12:13:54 mueval-core: Time limit exceeded 12:13:57 ouch 12:14:02 thought so :P 12:16:16 > let t = [1,2,3,4,5]; nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in sort (t : (takeWhile (/= t) . tail $ iterate nextPermutation t)) == (sort . permutations) t 12:16:17 True 12:16:21 See, you do get them all. 12:25:19 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in iterate nextPerm [1,2,3,4,5] 12:25:19 Couldn't match expected type `[a]' 12:25:19 against inferred type `Data.Eith... 12:25:24 oops 12:25:46 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in nextPerm [1,2,3,4,5] 12:25:48 Right [1,2,3,5,4] 12:26:56 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in iterate (either id id . nextPerm) [1,2,3,4,5] 12:26:58 [[1,2,3,4,5],[1,2,3,5,4],[1,2,4,3,5],[1,2,4,5,3],[1,2,5,3,4],[1,2,5,4,3],[1... 12:27:20 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in iterate (either id id . nextPerm) [1,2,3,4,5,6,7,8] 12:27:22 [[1,2,3,4,5,6,7,8],[1,2,3,4,5,6,8,7],[1,2,3,4,5,7,6,8],[1,2,3,4,5,7,8,6],[1... 12:27:27 looks good 12:28:03 -!- derrik has joined. 12:28:52 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in unfoldr (either (const Nothing) (id &&& id) . nextPerm) [1,2,3] 12:28:53 Couldn't match expected type `Data.Maybe.Maybe a' 12:28:53 against inferred ... 12:29:02 Yes, and it's even conceptually closer to the C++ version, since it also indicates the wraparound. 12:29:10 that was the idea 12:29:47 oh 12:30:39 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in unfoldr (either (const Nothing) ((Just.).(id &&& id)) . nextPerm) [1,2,3] 12:30:40 Couldn't match expected type `Data.Maybe.Maybe a' 12:30:40 against inferred ... 12:30:46 urk 12:30:55 :t (Just.).(id &&& id) 12:30:55 forall b. b -> (b, Maybe b) 12:31:01 oops 12:31:35 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in unfoldr (either (const Nothing) (Just.(id &&& id)) . nextPerm) [1,2,3] 12:31:36 [[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 12:31:50 oops. oh well. 12:31:53 that's a hell of a way to use the function XD 12:32:27 :t isLeft 12:32:28 Not in scope: `isLeft' 12:33:10 How come plain ":t" doesn't work in a query? 12:34:55 > let nextPerm [] = Left []; nextPerm (x:xs) = (case nextPerm xs of Right ys -> Right (x:ys); Left ys -> case span (< x) ys of (_,[]) -> Left (ys++[x]); (zs,z:zss) -> Right (z:zs++x:zss)) in takeWhile isJust . iterate (either (const Nothing) (Just . nextPerm)) $ Just [1,2,3] 12:34:55 Couldn't match expected type `Data.Maybe.Maybe a' 12:34:55 against inferred ... 12:35:00 bah 12:35:05 too much work 12:35:08 fizzie: no idea 12:41:08 -!- sllide has joined. 12:47:21 -!- derrik_ has joined. 12:47:32 -!- derrik_ has quit (Client Quit). 12:47:56 -!- derrik_ has joined. 12:49:47 -!- derrik has quit (Ping timeout: 258 seconds). 12:49:55 -!- derrik_ has changed nick to derrik. 12:58:41 -!- copumpkin has quit (Ping timeout: 245 seconds). 12:59:05 -!- copumpkin has joined. 13:03:41 -!- augur has joined. 13:12:51 -!- augur has quit (Ping timeout: 245 seconds). 13:16:20 -!- Taneb has joined. 13:16:32 Hello 13:17:58 hello, you look distinctively unkindled 13:18:00 How are we all help 13:18:25 we are all doomed 13:18:33 No I just couldnt be bothered to put that in 13:18:36 so, business as usual 13:18:43 oh 13:20:21 I got my GCSE reults yesterday 13:20:36 They were... very neat 13:21:02 Two A stars two As two Bs and Two Cs 13:22:46 -!- oerjan has quit (Quit: So tired). 13:23:34 A-star is like A but with a footnote? 13:24:28 Taneb, did you attach a handle to your Kindle. 13:24:29 It is the top decile 13:25:01 That would be Kindlehandled 13:25:40 But,almost 13:26:36 -!- GuestIceKovu has changed nick to Slereah. 13:26:42 fizzie, A* is what they introduced because the English haven't got the hang of this "preventing rampant grade inflation" thing. 13:27:28 (In Scotland, grades are defined entirely in terms of percentiles.) 13:27:29 Next, the A☄. 13:27:41 The A meteor? 13:27:52 Right. It's like the next step from a star. 13:27:59 A star that shoots. 13:28:30 Yes. That is how it works. 13:28:31 Or possibly A*, A⁑ and A⁂. 13:29:55 -!- Taneb has quit (Ping timeout: 252 seconds). 13:30:12 All the stars must've been too much for the Kindel. 13:30:24 A*, A ░, A§. 13:31:52 A⁂͙̽͘. (Disclaimer: might not work right in a monospace thing.) 13:32:19 -!- Taneb|Kindle has joined. 13:32:40 That's better 13:32:46 Taneb|Kindle, what were the A*s in? 13:33:02 Maths and Physics 13:33:22 Oh you silly browser. "javascript: and data: URIs typed or pasted in the address bar are disabled to prevent social engineering attacks. Developers can enable them for testing purposes by toggling the "noscript.allowURLBarJS" preference." 13:34:58 Which browser? 13:35:39 FF3.6.18. (This is at work.) 13:35:58 OK 13:36:28 I use mainly Chrome and recently the Kindle browser 13:36:51 Which annoyingly lacks tabbed browsing 13:37:47 I wonder what framework it uses... 13:38:18 Too quick and too non-Microsoft to be Trident 13:39:11 It's an ARM slate, isn't it? I wouldn't think Trident is even portable to anything non-Windows. 13:40:36 Maybe it is an in-ouse developement by Amazon 13:40:37 "Kindle’s new web browser is based on WebKit to provide a better web browsing experience. Now it’s easier than ever to find the information you’re looking for right from your Kindle. Experimental web browsing is free to use over 3G or Wi-Fi." -- http://www.kindleincolor.com/kindle-browser/ when speaking of the Kindle 3. 13:41:18 WebKit it is 13:41:45 WebKit here, WebKit there, WebKit everywhere. 13:45:08 WebKit, WebKit everywhere, nor any drop to drink! 13:48:02 I wonder how possible it would be to make a web browser in, say, Befunge-98 + PSOX 13:48:35 SHH DON'T MENTION THE P-WORD 13:48:46 For one thing, Befunge-98 has its own way of doing that kind of thing. 13:49:02 Oh yes 13:49:11 -!- MSleep has changed nick to MDude. 13:49:54 So, possible 13:49:58 Don't say the P-word, you'll awaken the sleeping beast. 13:50:13 I was supposed to add a HTTP client to fungot for fetching URLs, but never really got that done. 13:50:13 fizzie: for a while it was frustrating. she's a huge culprit was. you can still be a way that it shakes is the same. trolls think fashion is stupid. stop doing nothing but wondering what could it be the same as the word " crazy" 13:51:57 Taneb|Kindle, wait did you witness the glory of Homestuck Mode. 13:52:30 ...Possib 13:52:33 ly 13:53:02 -!- derrik has quit (Ping timeout: 258 seconds). 13:53:04 If you are talking about old fungie there,then yes 13:53:08 IMPOSSIBLATOR. 13:54:05 If you are talking abou a specif fungot moment then no 13:54:05 Taneb|Kindle: the one who got you killed him for it? can't we say it, were all formerly the white text guy. you are sort of spectacular fucking jackknife off the loop, stable or otherwise. 13:56:25 I am going eexploring bye 13:56:37 Is that like exploring? 13:56:39 Go spelunking. 13:56:55 fizzie, I don't think there are any caves in Northumberland. 13:57:13 OH WAIT NO: http://en.wikipedia.org/wiki/Category:Caves_of_Northumberland 13:57:19 North UNDERland, certainly it's made out of caves. 13:57:58 "Cateran Hole is a circa 45m length cave set in the Gritstone of Cateran Hill in Northumberland. It lies about 4 miles due north of Eglingham, and can be reached by lining up the tall mast behind the farm with the left-hand end of the wood to the side of the Quarry House farm (to the north of the cave), then walking on this bearing." 13:58:01 I like the directions. 13:58:08 "Yeah, you know, the tall mast behind the farm." 13:58:34 You underestimate the scarcity of notable things in Northumberland. 13:58:45 The tall mast behind the farm is probably a beacon to all around. 14:00:10 -!- coppro has quit (Ping timeout: 240 seconds). 14:00:14 -!- coppro has joined. 14:00:34 -!- MDude has quit (Ping timeout: 240 seconds). 14:00:43 -!- Taneb|Kindle has quit (Ping timeout: 252 seconds). 14:00:52 -!- MDude has joined. 14:02:57 -!- iamcal has quit (Ping timeout: 240 seconds). 14:03:04 -!- iamcal has joined. 14:03:14 -!- augur has joined. 14:05:57 Question, when you see stuff like (This is implemented using C's pow(3) function, which actually works on doubles internally.) - what is the (3)? 14:06:03 I see this a lot when talking about unix 14:06:25 -!- derrik has joined. 14:18:58 Wow, perl has a unary + 14:21:56 Patashu, it's the man section. 14:22:15 man pages refer to other pages as page(section). 14:22:19 3 is libraries. 14:23:45 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:29:55 -!- coppro_ has joined. 14:32:16 Used like "man 3 printf", to distinguish it from printf(1), the shell command. 14:34:11 so is it just, the first one is numbered 1, the second function with the same name is numbered 2 and so on? 14:35:08 -!- coppro has quit (*.net *.split). 14:35:08 -!- pikhq_ has quit (*.net *.split). 14:35:08 -!- quintopia has quit (*.net *.split). 14:36:16 Patashu, no. 14:36:44 1 is shell commands, 2 is system calls, 3 is libraries, I forget what 4, 5 and 6 are, 7 is miscellanea, 8 is root commands. 14:37:35 OOOH 14:37:37 thank you thank you! 14:37:41 I have to write this down 14:37:53 `man man 14:37:57 man: can't open the manpath configuration file /etc/manpath.config 14:38:15 On my system, that gives: 14:38:16 1 Executable programs or shell commands 14:38:16 2 System calls (functions provided by the kernel) 14:38:16 3 Library calls (functions within program libraries) 14:38:16 4 Special files (usually found in /dev) 14:38:16 5 File formats and conventions eg /etc/passwd 14:38:18 6 Games 14:38:20 7 Miscellaneous (including macro packages and conven‐ 14:38:22 tions), e.g. man(7), groff(7) 14:38:24 8 System administration commands (usually only for root) 14:38:26 9 Kernel routines [Non standard] 14:43:13 -!- pikhq_ has joined. 14:43:13 -!- quintopia has joined. 14:54:17 -!- copumpkin has joined. 14:56:03 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 14:57:54 -!- mycrofti1 has changed nick to mycroftiv. 15:58:35 -!- BeholdMyGlory has joined. 16:02:19 -!- FireFly has joined. 16:02:30 -!- copumpkin has quit (Ping timeout: 252 seconds). 16:09:36 -!- Wamanuz has joined. 16:15:07 -!- copumpkin has joined. 16:20:50 -!- variable has joined. 16:36:55 -!- kwertii has quit (Quit: kwertii). 16:44:30 "During the 1980s Yossi and Avi Piamenta recorded traditional Jewish wedding lyrics to the tune of the song. The name of this song is Asher Bara Sasson ve'Simcha. It is often played at Orthodox Jewish weddings and celebrations." — WP page on Down Under 16:44:32 whaaaaaaat 16:44:36 I mean 16:44:41 who thinks 16:45:42 "Australian patriotic song — the perfect tune for my Jewish wedding!" 17:22:50 Sounds legit. 17:25:05 -!- MDude has quit (Read error: Connection reset by peer). 17:25:30 all of the ngram data is close to 10 GBs 17:25:37 1gram I mean 17:27:06 < Patashu> Wow, perl has a unary + 17:27:20 uh, so do other languages. 17:30:04 !python print (+2) 17:30:05 2 17:30:41 > (+2) 17:30:42 Overlapping instances for GHC.Show.Show (a -> a) 17:30:42 arising from a use of `... 17:30:47 though I suppose Perl is one of the few where it's actually useful in certain situations. 17:31:15 Well. Clearly Haskell has unary +. It just results in a function. 17:31:51 to distinguish something as numeric, or to distinguish hashrefs from blocks in situations where they're ambiguous. 17:33:06 > :t (+2) 17:33:07 : parse error on input `:' 17:33:25 :t (+2) 17:33:26 forall a. (Num a) => a -> a 17:33:43 See, it has the obvious type. 17:36:00 -!- derrik has quit (Quit: gone). 17:37:38 -!- ais523 has joined. 17:56:28 -!- elliott has joined. 17:59:15 05:33:05: If there were a consumer-quality Lisp-based OS, I'd go for it. 17:59:16 05:34:07: I hear Symbolics offered those. In the 80s. 17:59:26 they still do. 18:00:30 05:47:01: Also, time to write a script for cat /usr/share/X11/locale/en_US.UTF-8/Compose | grep 18:00:31 I... 18:01:14 05:59:30: elliott-the-logreader: Regarding the reverse-context tree, doing it "the obvious way" is going to be just as fast for a fixed-length n-gram query (e.g. "what are all the 5-grams that begin 'argle garble blargle merf'"), but when they're arranged in the tree I mentioned, you can 1) easily have a variable-length n-gram model (just stop descending when you hit a leaf), and 2) do smoothing/interpolation without performing the corre 18:01:14 sponding 4-gram query ("what are t 18:01:14 05:59:31: he 4-grams that begin 'garble blargle merf'"), because the answer to that is just the parent node of where you were. 18:01:30 fizzie: A variable-length n-gram model would take up considerably more disk space. :p 18:02:05 fizzie: I'm not sure what smoothing/interpolation would be there -- merging together the four-gram and five-gram lists and picking from that, rather than just using one? 18:04:27 06:04:05: That one's just weird. 18:04:27 06:04:08: ^style c64 18:04:27 06:04:08: Selected style: c64 (C64 programming material) 18:04:27 06:04:09: fungot: So how do I... let's say, configure the VIC-II so that I get an interrupt at the hblank at the middle of the frame? 18:04:27 elliott: be in cahoots with! you guess none the wiser, you board the shuttle. next stop, it's unbecoming fuel a process known in advance how terrible you were going to be at this matching game, so it probably knows you know it. 18:04:27 elliott: have a look. a trail of this fluid in the hall. you are going in. he's sent it in the first place 18:04:32 You typed that in one second? 18:05:20 06:08:24: Patashu: john, it appears we have reached an impasse 18:05:20 06:08:27: haha 18:05:20 06:08:39: Probably a straight quote, sadly. :p 18:05:20 elliott: not that it would actually bother pitying you. 18:05:26 "fellow john, it appears we have reached an impasse" (http://www.mspaintadventures.com/?s=6&p=002414) 18:05:43 (I'm not sure it's so wise to include page titles.) 18:06:13 06:13:48: Coincidentally enough, fungot doesn't actually use the n-gram model for ending the sentence in the usual way (by just generating until it generates an end-of-sentence-token). It wasn't quite controllable enough, so I just flagged all (n-1)-grams that have occurred at the end of a sentence with a "can-stop" flag, and then for each such place it has a probability of stopping which depends on the length of the generated stuff. 18:06:13 elliott: your sylladex thinks they are fabulous beta envelopes. i was just that you'd never tell me any idea how a video. it looks so 8ad! 18:06:37 fizzie: So, with the glitch in the Final Fantasy data set, the problem is that "that sword alone" can't-stop? 18:06:44 OHHHHHHH SNAPPPPP 18:08:40 06:37:28: evincar: http://en.wikipedia.org/wiki/Tripcode hjelp 18:08:41 Wouldn't it be hilarious if evincar implemented the trivial-to-crack original tripcode system. (Yes.) 18:09:48 ObZen 18:10:04 06:41:50: they'd be easy to crack actually 18:10:04 06:41:52: if the algorithm is public 18:10:04 lol 18:10:12 yeah just like all the SHA algorithms are totally beaten 18:10:13 RSA too 18:10:19 they just weren't hidden enough 18:10:27 waht is cryprogrtaphy 18:10:27 heh 18:10:37 mind you the originals are insanely crackable 18:10:39 http://en.wikipedia.org/wiki/Tripcode#Description_of_the_algorithm 18:10:42 just look how beautiful it is 18:10:49 help what is public key 18:10:54 "Most noticeably, many implementations substitute various characters with their HTML entities. For example, 2channel translates <, >, and " to <, >, and "." 18:11:00 failed html escaping → STANDARD 18:11:49 Aww, someone already wrote a GPU tripcode cracker... 18:12:00 Looks Windows/ATI-only though. 18:12:17 http://blog.ezyang.com/2010/12/gin-and-monotonic/ 18:12:25 I imagine this has been on reddit 18:12:28 i looked at that but then i ran away scared oops 18:12:33 elliott: those are the correct HTML escapes, aren't they? 18:12:35 todo: read ezyang's words in depth 18:12:40 I can kind of follow it up to like... the last part 18:12:53 it helps to read the previous blog that he links, where he explains some of the notation. 18:12:54 ais523: yes, but you don't escape something that is going into crypt(), rather than being rendered as html 18:13:29 oh, that's on the /input/ to crypt() 18:13:33 that is stupid 18:13:54 he interesting to see a diagram of the partial orders of data types. 18:13:57 *it's interesting 18:14:53 > head undefined 18:14:54 *Exception: Prelude.undefined 18:15:07 Smoothing would involve considering the 4-grams too (either always, with interpolation; or sometimes, with backoff) when generating the next word, so that the model can generate also words for which there are no 5-grams in your dataset. Anyway, it's not really a necessary thing for babbling; fungot manages without. It's more important for actual language modeling purposes, where you have new data coming in. 18:15:07 fizzie: the point. for the first time in i don't really have a choice based on a strong pale relationship will serve to balance and complement each other's, since there is no quadrant which naturally conceals two licorice scotty dogs are still here. you tell him. you thought he'd washed his hands of you. 18:15:24 though he has the diagram for head messed up. He says bottom -> [] 18:15:34 but it's obviously bottom -> bottom 18:15:46 or maybe I'm reading it wrong. 18:15:50 (Mostly away; have to leave to Florence tomorrow at 0530am or so, and I haven't really packed yet.) 18:16:22 yes, I'm reading it wrong. 18:17:07 it's not showing the partial order of the output values. 18:17:15 elliott: Also, I typed the C64-related question first, and while typing it someone else went and switched the style away to something else, so had to do some cut-write-pasting. 18:17:20 just demonstrating that it's monotonic. 18:17:24 fizzie: But I was _just_ about to ask about my insane case. :p 18:17:47 I had also another C64 question ready to go when someone else changed the styles again, so I just abandoned that one. 18:18:34 the diagram for const is kind of neat. 18:21:01 Sweet Jesus I want. Researchers at IBM are putting together a 250 petabyte array. For no apparent reason. 18:21:02 > uncurry const (1,2) 18:21:03 1 18:21:07 fizzie: Anyway, my next question was going to be about what a nice (space and time-efficient) way to store reverse ngrams would be too. That is: literally just reverse the input data and n-gram that, along with the forwards n-grams, such that I can either query for "words appearing after" or "words appearing before" for any n-gram. 18:21:30 fizzie: I was just going to say "turn every leaf [(String,Int)] into ([(String,Int)], [(String,Int)])", but, you know, maybe there's a nicer way. 18:21:40 Maybe a doubly-linked tree. :p 18:22:46 dude use teh huffmans 18:23:06 fizzie: Also: BLOOM FILTERS. Tell me bloom filters help. BLOOM. FILTERS. 18:23:54 elliott: Always does. 18:24:13 fizzie: BLOOM FILTERS 18:25:04 I wonder if it would save space to keep an array of encountered words, and then the tree merely stores the indices..? 18:25:18 I doubt that would help at all actually. 18:25:26 CakeProphet: With a billion words, I doubt it. 18:25:34 because now you have two data structures. :P 18:25:39 I mean, that's four bytes; words are four bytes. Sometimes. :p 18:25:47 I guess it might be smaller. 18:25:52 I do that (use 32-bit -- well, 28-bit, I think -- integers) in fungot. 18:25:52 fizzie: it is a hate so pure and... pumpkin seeds? are you volunteering? prospit. by which of course it was a nasty pair of beagle puss glasses, several () a blank card, producing a different hole in the roof 18:26:05 I mean, the unigram list is a lot shorter than the 5-gram list. 18:26:25 elliott: well if you're using Haskell then every word will be larger than four bytes I believe. 18:27:27 CakeProphet: Dude. 18:27:31 It's going to be almost a terabyte. 18:27:37 You think I'm storing it in memory? 18:27:46 HUFFMAN CODING. 18:27:49 fizzie: Right, it's true. 18:28:03 elliott: I didn't know it was TB. 18:28:13 fizzie: Just answer the easy questions and avoid the ones involving the backwards n-grams, why don't you. :p 18:28:14 or rather, had forgotten 18:28:18 As for building the reverse-context tree (if you want to do it; certainly you could make it work with a normal trie), assuming you don't want to do any pruning, I think it should be reasonably simple to just build it from a provided n-gram list. That's what fungot's conversion script does to the VariKN-generated model. 18:28:18 fizzie: for a while it was frustrating. they are the most delicious bunches, not the nap in the grand dad for one for christmas. he is a rather piss-poor excuse. we 8oth of us, the whole plan hinged on that. 18:28:18 that that was the issue at hand. 18:28:29 CakeProphet: Well, twenty five gigs compressed, but when put into a reasonable-ish database and decompressed, about a terabyte, says the fizzie. 18:28:53 The terabyte might be a bit high estimate, I think that included Postgres indices too. 18:28:58 fizzie: Well, yes, but I'm asking how to do a backwards tree in the same thing. 18:29:05 Or, hmm, you might not be trying to answer that. 18:29:14 fizzie: Anyway, my next question was going to be about what a nice (space and time-efficient) way to store reverse ngrams would be too. That is: literally just reverse the input data and n-gram that, along with the forwards n-grams, such that I can either query for "words appearing after" or "words appearing before" for any n-gram. 18:29:15 fizzie: I was just going to say "turn every leaf [(String,Int)] into ([(String,Int)], [(String,Int)])", but, you know, maybe there's a nicer way. 18:29:15 Maybe a doubly-linked tree. :p 18:29:18 s/reverse/backwards/. 18:29:19 I recall reading about a compression algorithm that allowed for fast access but I can't recall the name... 18:29:21 Clash of terminology there. 18:31:09 LZW would probably allow for fast reads? 18:31:29 since it's pretty simple to decode. 18:34:39 The tree, then. Well, assuming you have a sorted list of ngrams like "a b c foo -> w1; a b c bar -> w2; a b d foo -> w3; a b d bar -> w4" (with w1..w4 weights), what you want is a tree where the /c/b/a node contains [(foo, w1), (bar, w2)] and the /d/b/a node contains [(foo, w3), (bar, w4)]. 18:35:07 fizzie: I'm... not sure you understand me at all. 18:35:31 I'm not sure I'm trying to, I'm just elaborating on how I built it. 18:35:34 Oh. 18:35:51 I thought "The tree, then." was trying to answer my question. 18:36:35 Though there really isn't much to it, after that. I think I just built it by constructing the weight-list [(foo, w1), (foo, w2)] for one context (the n-grams are sorted, so they're all next to each other), and then just, you know, a tree-insertion. 18:36:44 I suppose just storing what averages out to twice the data in a leaf would work. 18:36:50 But it feels like I could do it more efficiently. :/ 18:37:07 (The only idea I had was to somehow build the tree loopy-style so that you could go up just as well as down and that worked somehow.) 18:39:38 if you're using the google data, you could flatten all of the year lines into a single to save a lot of space. 18:40:02 The five-DVD web data is not per-year. 18:40:08 I don't think I have parent-pointers in my tree, since those aren't really needed for backoff either, if you just keep track of the current (at most 5 words deep) path you've descended. I think the perl-babbler is even a recursive function, so I could do backoff just by having a backoff-weight-derived probability for the function returning "I don't feel like generating a word today, why don't you have a go", at which point the previous recursion level would the 18:40:08 n use its weights. (Those being the (n-1)-gram weights.) 18:40:38 Anyway, I really neeeeed to pakc. This was just a random outburst. Happy to help, have a nice day, etc., etc. 18:41:26 fizzie: For someone who isn't trying to answer my questions, you sure are replying to all my questions with advice that would be perfectly relevant if I hadn't explicitly said why I wanted a backwards path thing :P 18:42:08 What *is* an n-gram, anyway. 18:42:25 fizzie: For whenever: I basically just want two separate trees -- one built as usual, and another one built from the same data but with the data items themselves reversed. I just want to store the two in less than twice the space of one. 18:42:38 a sequence of n elements basically 18:42:42 from some other sequence. 18:42:44 fizzie: I could obviously just do it on the leaves -- an "if you're going forwards" wordset and an "if you're going backwards" wordset in every leaf. 18:43:01 in this context an n-gram is a sequence of n words. 18:43:03 fizzie: But it feels like I could, I don't know, make it so that just like descending the tree downwards when going forwards, you could somehow ascend it upwards when going backwards. Or something. 18:43:09 Oh, *that* sort of reversed. (Yes, I paid some attention, finally.) 18:43:22 I DID say s/reversed/backwards/ for a reason :P 18:43:37 Unfortunately I don't have an immediate opinion on *that*. :p 18:43:56 Phantom_Hoover: for my acronym generator though I'm using n-grams of characters. So it can be any kind of sequence really. 18:44:05 fizzie: But what about BLOOM FILTERS? 18:45:47 -!- calamari has joined. 18:47:53 > take 5 [1,2,3] 18:47:54 [1,2,3] 18:50:08 > take 5 $ repeat 1 18:50:08 [1,1,1,1,1] 18:50:37 > let ngrams [] = []; ngrams ls = take n ls : ngrams (tail ls) in ngrams "hello friends" 18:50:37 Couldn't match expected type `GHC.Types.Int' 18:50:37 against inferred type ... 18:50:47 > let ngrams n [] = []; ngrams n ls = take n ls : ngrams (tail ls) in ngrams "hello friends" 18:50:48 Couldn't match expected type `[t]' 18:50:48 against inferred type `GHC.Types... 18:51:48 > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in ngrams 3 "hello friends" 18:51:49 ["hel","ell","llo","lo ","o f"," fr","fri","rie","ien","end","nds","ds","s"] 18:52:23 > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in ngrams 3 $ words "the quick brown fox jumped over the lazy dog" 18:52:24 [["the","quick","brown"],["quick","brown","fox"],["brown","fox","jumped"],[... 18:52:44 Normally you'd stop at "nds" there in the letter-case. 18:53:38 Hmm, I wonder if that tree-ascent thing would work. 18:53:42 Also pattern-match that tail. 18:53:43 > let ngrams _ [] = []; ngrams n l@(_:ls) = take n l : ngrams n ls in ngrams 3 "hello friends" 18:53:44 ["hel","ell","llo","lo ","o f"," fr","fri","rie","ien","end","nds","ds","s"] 18:53:54 All I have to do is store every parent as well as every child. 18:54:04 That's probably more wasteful than just storing twice the data in leaves, though. 18:54:10 fizzie: personal preference. I think it's nicer without the @ pattern. 18:54:13 fizzie: Ha, the Haskell Bug has got you. 18:54:16 CakeProphet: tail is a partial function. 18:54:20 You do not use partial functions when unnecessary. 18:54:38 ngrams n ls is also a partial function. in particular it is guaranteed to never have ls = [] 18:54:55 You don't know what a partial function is, I see. 18:55:01 no I do. 18:55:13 but it's the same thing. I am using tail in a case expression. 18:55:21 No, there is no case expression there. 18:55:24 elliott: Though he can be sure he will never be hitting the tail [] case. 18:55:38 elliott: let ngrams n [] = []; ngrams n ls = ... in ... 18:55:39 pikhq_: Great -- so everyone has to mentally prove that to themselves to make sure the function is right. 18:55:41 see the case expression? 18:55:48 pikhq_: So readable! 18:55:58 CakeProphet: You do not know what a case expression is. 18:56:02 yes. 18:56:19 do you know what syntactic sugar is? 18:56:34 -!- pikhq has joined. 18:56:51 fizzie: Additional nitpick with yours: lss@(_:ls) is more idiomatic. 18:58:16 12:56 < pikhq_> elliott: Though he can be sure he will never be hitting the tail [] case. 18:58:19 12:56 < pikhq_> Since that is handled by the ngrams n [] match. 18:58:22 12:56 < pikhq_> Still, the @ pattern is nicer. 18:58:22 pikhq: pikhq_: Great -- so everyone has to mentally prove that to themselves to make sure the function is right. 18:58:24 pikhq_: So readable! 18:58:42 a match which /is/ a case expression, but whatever I am done with this line of conversation. 18:59:02 CakeProphet: I'm pretty sure the semantics aren't actually identical to case. 18:59:07 Mumble mumble irrefutable patterns. 18:59:22 Actually I don't know if cases are defined by reduction of patterns or vice-versa in the report, but I'm fairly sure they differ in GHC. 18:59:33 Regardless, no matter what it's defined in terms of it's not a case expression. 19:00:00 -!- pikhq_ has quit (Ping timeout: 264 seconds). 19:00:29 * ais523 reads comments to a proggit article, finds that everyone's complaining that the content of the web page is hard to read because it automatically draws the cursors of everyone else reading the article onto the page 19:00:39 and yet people say that leaving JavaScript on by default is a good idea 19:00:43 ais523: I linked that in -minecraft 19:00:50 ais523: and -1, Troll 19:00:53 (did I get my slashdot syntax right?) 19:00:54 heh, that's why I wouldn't have seen it 19:01:00 possibly 19:01:13 the thing about JavaScript is, I can't think of too many legitimate uses for it 19:01:18 -minecraft is more -df these days 19:01:19 elliott: what is the difference exactly with irrefutable patterns? 19:01:42 elliott: that makes me smugly satisfied, is that wrong? 19:01:48 at least, it's what I'd expect as a natural evolution 19:02:19 ais523: bear in mind that we've been hating on minecraft almost as long as -minecraft exists :P 19:02:23 s/exists/has existed/ 19:02:32 elliott: oh, it's not /just/ me who hates on it? 19:02:52 ais523: well, _we_ hate on it because it doesn't nearly live up to its potential 19:03:00 ais523: Most people who play Minecraft both like and curse it. 19:03:06 elliott: same here, I think 19:03:08 pikhq: you clearly haven't seen /r/minecraft 19:03:13 I think other things do live up to its potential quite well, though 19:03:16 so it isn't necessary 19:03:18 (DF is one of them) 19:03:26 Oh, right, sorry, not all people are sane. 19:03:27 ais523: DF is not the game Minecraft could be 19:03:31 Elliottcraft is :) 19:03:35 (my Elliottcraft) 19:03:53 Not all people realise that adding more bugs than bug fixes with every release is not actually a sign of good programming. 19:04:31 * elliott inserts sceptical remark regarding whether _any_ software project gets less bugs over time on average 19:05:37 Smartass. :P 19:06:00 Y'know what I mean. Really, really *stupid* shit gets broken *directly by* his bug fixes. 19:06:54 And it runs on a really slow pace of development, with really rather conservative gameplay changes. 19:07:27 I mean, since 1.3 we've had, what. Repeaters, powered rail, pistons, wolves? 19:07:42 elliott: pattern binding is semantically equivalent to case expressions in the Haskell Report, for what it's worth. 19:07:58 lambdabot has language extensions. 19:07:59 Or "what a modder puts in on day 1 of their 'ZOMG AWESOME' mod". 19:08:15 I see. 19:08:17 pistons are a one day thing? 19:08:18 pro 19:08:42 Okay, fine, give that one a week, maybe two if you don't want stupid breaking bugs. 19:08:50 language extensions = mass chaos? I guess? 19:09:05 Mostly because you're having to hack block movement into an architecture that doesn't handle it at all. 19:10:02 Meanwhile, the Nether is still a boring-as-hell place. 19:10:16 And by the time you've got diamond you've won. 19:10:16 LIGHTSTONE WEEEEEEE 19:10:36 Heck, by the time you've got a nice bit of iron you've won. 19:10:57 I believe invedit is the standard way to win Minecraft. 19:11:31 Okay, yeah, SPC and TMI to hack together a Creative mode is kinda entertaining still. 19:14:10 Hey fizzie, what's the approximate format of those DVDs? :P 19:14:22 (I'm wondering how quickly I can processermate them.) 19:14:40 * CakeProphet is now a proud owner of a Dave record shirt AND PS fractal shirt. +2 nerd cred. 19:16:50 CakeProphet, real nerds don't need cred. 19:16:56 (They have cerd instead.) 19:17:50 the nerd cred mostly functions as cred to non-nerds. 19:17:58 those who need the nerd cred. 19:18:19 You mean those who are incapable of basic type theory? :P 19:18:36 Irn bruuuuuuuuuuuurn. 19:18:42 (:P makes any insult in good humour, no matter how barbed. Spread the word.) 19:18:43 It's like an ice burn but... Scottish. 19:18:51 elliott: Urr, well. data/Ngms/Ngm-MMMM.gz, where N = 1..5, MMMM = 0000...[0117 in the 5gm case, probably something else for others], which contain "foo bar baz quux spoo\tK", where K is the count. Plus in each data/Ngms/ folder a data/Ngms/Ngm.idx which has a list of those .gz files, and the first n-gram from each file. 19:18:51 elliott, MADE FROM GURDERS IN SCOTLAND 19:19:01 Phantom_Hoover: Die, you terrible fucking piece of worthless shit. :P 19:19:25 fizzie: I wonder what the index is for. 19:19:29 elliott: I will cook you and eat you like I have countless children. 19:19:33 elliott, indexing, duh. 19:19:34 oops. forgot the :P 19:20:19 Phantom_Hoover: BUT OF COURSE. 19:20:33 fizzie: Hmm, oh wait. 19:20:48 fizzie: I _can't_ really generate backwards n-grams, can I? Not from forwards n-grams; only from raw data. 19:20:54 :/ 19:21:13 That puts a dent in my question-answering idea (stolen from MegaHAL; start with query, go forwards until end of sentence, go backwards until start of sentence). 19:21:23 Huh, that's neat. Yet bizarre. 19:21:33 pikhq: What is. 19:21:43 FAT short filenames are stored in the system legacy charset. FAT long filenames are stored in UTF-16. 19:21:47 12:33:10: How come plain ":t" doesn't work in a query? 19:22:06 fizzie: Probably it doesn't respond to non-commands; I doubt the "foo++" karma method works there. 19:22:07 ?karma foo 19:22:07 foo has a karma of 1 19:22:10 foo-- 19:22:12 ?karma foo 19:22:12 foo has a karma of 0 19:22:23 So you need at least two distinct charset parsers to handle FAT. 19:22:25 @karma Phantom_Hoover 19:22:25 You have a karma of 0 19:22:29 :( 19:22:34 @karma elliott 19:22:34 elliott has a karma of 2 19:22:40 13:26:42: fizzie, A* is what they introduced because the English haven't got the hang of this "preventing rampant grade inflation" thing. 19:22:40 13:27:28: (In Scotland, grades are defined entirely in terms of percentiles.) 19:22:40 FAK U 19:22:43 ?karma ehird 19:22:43 ehird has a karma of 0 19:22:47 ?karma lambdabot 19:22:47 lambdabot has a karma of 11 19:22:51 ?karma C 19:22:51 C has a karma of 5 19:23:00 Let's talk about C--. 19:23:04 It's such a nicer language than C++. 19:23:07 > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in ngrams 3 . words . reverse $ "the quick brown fox jumped" 19:23:07 Or, wait, hmm. 19:23:08 ?karma C 19:23:08 C has a karma of 5 19:23:08 [["depmuj","xof","nworb"],["xof","nworb","kciuq"],["nworb","kciuq","eht"],[... 19:23:13 C-- 19:23:14 ?karma C 19:23:14 C has a karma of 5 19:23:19 Yeah, those are filtered. :p 19:23:28 CakeProphet: Nope 19:23:28 > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in reverse . map reverse . ngrams 3 . words $ "the quick brown fox jumped" 19:23:30 [["jumped"],["jumped","fox"],["jumped","fox","brown"],["fox","brown","quick... 19:23:36 Yup 19:24:33 elliott: I don't see why not. If you have the raw data "a b c d e f g", you'll get forward-trigrams of "a b c; b c d; d e f; e f g" and backward-trigrams of "g f e; f e d; e d c; d c b; c b a", i.e. the same but reversed. (Also works with counts. "a b a b" + bigrams -> "a b, 2; b a 1" forward, "b a, 2; a b 1" backward, i.e. just mirror the bodies.) 19:24:44 > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in reverse . map (reverse . map reverse) . ngrams 3 . words $ "the quick brown fox jumped" 19:24:45 [["depmuj"],["depmuj","xof"],["depmuj","xof","nworb"],["xof","nworb","kciuq... 19:24:51 13:57:13: OH WAIT NO: http://en.wikipedia.org/wiki/Category:Caves_of_Northumberland 19:24:52 "St Cuthbert's Cave is a natural sandstone cave in Northumberland approximately 13 km from Dunstanburgh Castle. It is neither very big nor deep, but rather takes the form of an overhang large enough to provide shelter for a small group.[1]" 19:25:00 Phantom_Hoover: AMAZING NORTHUMBERLAND CAVES. 19:25:09 fizzie: Yeees, but I need what comes after them. 19:25:32 fizzie: Oh, hmm, the n-gram set is not actually in the "n-gram -> next-word" format, is it? 19:25:43 It's just "n+1-gram". :p 19:25:49 Well, no. There is no "what comes after them". You use the 5-grams with a 4-word context to tell what the fifth word is. The same will work for telling the first word. 19:25:50 (So actually the five-grams are an order-four Markov chain.) 19:25:54 Yes. 19:25:57 Cool, WP says Edinburgh has a total of 40.6 sunshine hours in December. 19:26:02 Four words isn't as nice as five, but I suppose six-grams would be rather ludicrously big. 19:26:02 -!- zzo38 has joined. 19:26:17 fizzie: Right, that should be easy enough then. 19:26:33 I suppose I should download one of the books datasets so I can practice my micro-optimised C programming. 19:26:38 I mean, I don't want to have to process it for a week. 19:26:44 (I don't suppose you know how long it took to import into Postgres?) 19:27:09 hmm, something I've been wondering about (again, Gregor might know); suppose you have nine or ten copies of the same piece of music, but each of them has sound effects overlaid 19:27:11 I wonder what fungot would do with the google book data. 19:27:12 CakeProphet: about the bad news. over the last one. wait no, that just made you disappear" and stuff? 19:27:19 what sort of algorithm should you use to recover the original music? 19:27:27 CakeProphet: Well, this all started with me pressuring fizzie to make it work with the internet data. 19:27:35 But that would require a rather large retooling of fungot. :p 19:27:35 elliott: and the way that it shakes is the same but different too, for the time being it makes your life kind of the dumbest and most far fetched but whatever. you also like to play games sometimes. 19:27:45 presumably you want some sort of "majority vote" between them, which is easy with images but rather harder with sounds, because DFTs need a window and no value for it is perfect 19:27:53 ais523: Do you know which effect was applied to each? 19:28:01 i.e. the algorithm used to distort 19:28:03 elliott: not effects, they've simply been mixed with other sounds 19:28:07 Oh. 19:28:12 Never mind, then. 19:28:18 e.g. you have a+b, a+c, a+d, a+e, and want a 19:28:24 obviously it's impossible in general 19:28:34 (this is just-out-of-curiosity, incidentally, I don't have an intended use for this) 19:29:00 Well, first you make a self-improving AI. 19:29:29 I don't think that's /necessary. 19:29:34 s\ 19:29:39 *s/\./\// 19:29:41 -!- oerjan has joined. 19:29:44 It's *a* solution, though. 19:29:44 nor am I even certain it's sufficient 19:30:25 atm I'm thinking along the lines of "DFT all of them with the same window, take majority vote of the DFTs, unDFT the result", but am not sure it would work 19:30:48 in particular, as the DFT is an inherently approximate process, I'm not convinced that the majority vote wouldn't just see lots of different votes all picking different values 19:30:56 I'm pretty sure human audio processing can pull off something similar, but much slower and worse. I am presuming that a sufficiently advanced intelligence could make it work. 19:31:16 And a self-improving AI is an "easy" route to a sufficiently advanced intelligence. 19:31:21 "easy" 19:31:34 Scare-quotes for obvious reasons. 19:31:45 because a) it's not really easy, and b) it's scary 19:32:40 pikhq, what the hell is the actual problem. 19:32:50 almost as scary as having sentient furless apes everywhere! 19:33:23 Phantom_Hoover: ais523 has a few different copies of the same piece of audio, with varying effects applied. He'd like the original audio. 19:33:37 Phantom_Hoover: it's a hypothetical problem, I'm just curious 19:33:37 > 86400-83486 19:33:38 2914 19:33:44 pikhq: it's not effects, they've been mixed with other pieces of audio 19:33:53 ais523: Assuming additive noise, and a DFT window size that will cause it to have the correct spatio-temporal resolution, so that the corrupted bits don't overlap, I don't see why majority-vote wouldn't work. It'd be pretty close to applying the usual "restore the image" algorithm to the spectrogram of the sound. (It could be more robust to drop the phase information, though, and work just on the magnitude spectrogram, then reconstruct plausible phase afterward 19:33:53 s; that's not too tricky for overlapping windows.) 19:34:10 fizzie: Relatedly: have I mentioned that speech interfaces TOTALLY SUCK? 19:34:15 OHHH BURRRN 19:34:22 Repeatedly. 19:34:37 fizzie: hmm, I'd /expect/ the phase to be the same if the original piece of music was the same, and a recording rather than synthesized 19:34:37 ais523: Ah. Yeah, human auditory processing does that all the friggin' time from a single audio stream (admittedly with bugs from time to time). 19:34:47 I am a speech interface. Speech to me. 19:34:52 So it's certainly possible in a hypothetical sense. 19:34:54 I feel that the Scottish people in a voice-controlled elevator video is now relevant. 19:35:21 Phantom_Hoover: I can imagine how that would go merely from the description 19:35:38 I would link it but I have to feed the cat. 19:35:38 elliott: Even if we presume utterly perfect speech recognition, they would suck. 19:35:46 (one of the people in my old department, their job was to go round training voice-recognition systems on various regional accents, so I came across the problem second-hand quite a lot) 19:36:03 It's just bad for general UI use. Though it could probably be neat in some specific cases. 19:36:14 is speech faster or slower than typing? my guess is slower 19:36:24 I'm pretty sure it's slower than reading something that's already been written 19:36:26 ais523: Depends on the typist. 19:36:33 habitual IRC users 19:36:35 ais523: So would I. Anyway, if you want something more "fancy", run a blind source separation thing on the recordings, something like ICA (independent component analysis), it's going to spit out something pretty close to the original audio as one of the outputs. 19:36:36 `quote gaping 19:36:38 617) Deewiant: How do you go through life without seeing at least one gaping anus, that's what I want to know 19:36:40 It's http://www.youtube.com/watch?v=NMS2VnDveP8 19:36:42 elliott: Even if we presume utterly perfect speech recognition, they would suck. 19:36:46 I'm just trolling fizzie, stop it. 19:37:03 fizzie: hmm, doesn't ICA take a matrix as input? 19:37:07 elliott: I'm presuming a modern computer running it. 19:37:21 or am I thinking of something else? 19:37:32 So you'd have to be extremely detailed in your instructions for anything non-trivial. 19:38:03 pikhq: I'd assume that a general-purpose voice recognition system that was practically usable for general computer use would be something like shellscript 19:38:12 voice recognition is an inherently commandlinish sort of communication 19:38:21 and so, we should keep the lessons learnt from command-lines 19:38:34 "trivially compute G factorial" 19:38:58 ais523: Well, it takes a multivariate signal, and it gives additive subcomponents out. Purely as a guess I'd suppose you'd best apply it to a spectral representation of the signal, again, as opposed to, say, the waveform. 19:39:55 spectral representation is usually better in all ways 19:40:01 except for that whole lack of time-variance. 19:40:07 I wouldn't really expect it to be able to split out two different pieces of music from each other 19:40:19 because it'd have to have some sort of concept of what harmony was, etc 19:41:04 ais523: From what I've heard, it works remarkably well "blindly" as long as your number of sources equals the number of microphones. (Even though the microphones all receive a different mixture of all the sources.) 19:41:05 harmony is easy. 19:41:25 So, um. 19:41:31 How big are the google books n-gram files? 19:41:42 fizzie: oh, that's a different problem, I think 19:41:51 Thirty-eight gigabytes for the four-grams compressed, I estimate. 19:41:52 that's when you've got multiple pieces of music, each of which is mixed in different proportions 19:41:55 I don't want to download thirty-eight gigabytes. 19:41:56 and you want to get the originals back 19:42:16 ~/scripts/acro$ wc -c googledata/googlebooks-spa-all-1gram-20090715-7.csv.zip 19:42:19 71850778 19:42:28 a single 1gram file zipped 19:42:29 CakeProphet: That's just one of the files, isn't it? 19:42:31 You need all of them. 19:42:36 yes I have them all. 19:42:43 CakeProphet: Dude, those are just the one-grams. 19:42:48 yep. 19:42:50 They're useless to me. 19:42:50 wait, wouldn't a 1-gram file just be a letter frequency list? 19:42:52 those are the ones I need. 19:42:56 ais523: Well, why is that so very different? You have N recordings, each of which contains a single common source and its own sort of noise; that's just a matter of having mixing weights like that. 19:42:56 so I have them. 19:42:58 ais523: no, just a list of words 19:43:03 ais523: plus frequency 19:43:05 elliott: oh, this is on words not letters? 19:43:09 ais523: Yes. 19:43:11 elliott: but with wget I found it was very easy to grab every file as long as you have the space 19:43:19 ais523: One billion "words" or so. :p 19:43:21 fizzie: oh, I see what you mean 19:43:29 elliott: and the time. 19:43:30 CakeProphet: Yes, but the one-grams are 9 files. The two-grams are ninety-nine. 19:43:40 the problem there is that you're trying to split n+1 sources from n inputs there 19:44:04 elliott: haha at your numeral use there 19:44:16 ais523: I'm not saying it'd work, but it might still find the shared source pretty well. You'd just get two types of noise in one of the outputs. 19:44:19 yep 19:44:34 ais523: I'm not quite sure what happened. :p 19:44:42 The 5-grams are 799 files. 19:44:54 pikhq: Yes, well, I'm not downloading _them_. 19:45:02 Obv. 19:45:03 When I want five-grams I'll buy the DVDs. :p 19:45:10 > 71850778*799 19:45:11 9M each. Jesus. 19:45:11 57408771622 19:45:11 That misses the year information though, but oh well. 19:45:14 assuming they're the same size. 19:45:14 pikhq: 9M? 19:45:16 oh. 19:45:17 More. 19:45:19 Hundred. 19:45:23 (Approx.) 19:45:32 About eighty gigabytes. 19:45:33 Approximately. 19:45:50 fizzie: What's your favourite set of n-grams for n>two that isn't huge. :p 19:45:54 I /almost/ have enough space for that, I'd have to delete some music though. 19:46:22 I don't have the lifespan to download that. 19:46:29 but soon I will have ONE AND A HALF FUCKING TERABYTES so I can just download everything I'd ever want to download 19:46:39 elliott: That's not actually *that* long to download. 19:46:56 elliott: I'unno, our Finnish stuff generally uses variable-length models, because it works on (statistical) morphemes, not words, so it needs rather long contexts. 19:47:45 pikhq: 7% [=> ] 8,305,008 434K/s eta 4m 37s 19:47:49 Times eight hundred. 19:48:07 What, just three days? 19:48:09 I guess it's not that bad. 19:48:13 But my connection isn't always that good. 19:48:20 The 5-gram files are just 9M each. 19:48:27 No, they're _not_. 19:48:33 Compressed, that is. 19:48:39 For god's sake, click one of them. 19:48:41 I DID 19:48:46 IT'S 9M 19:48:50 Click a different one, then. 19:48:52 They're all over a hundred megabytes. 19:48:57 Except maybe the first or last ones? 19:48:58 I don't know. 19:49:02 But the ones in the middle are all over a hundred. 19:49:09 I know this because I'm clicking them this second. 19:49:34 Oh, look at that. 0, 1, 300, 799 are all 9M. 19:49:41 X-D 19:49:44 Are we looking at the same corpus? 19:49:50 pikhq: Evidently not, what are you looking at? 19:49:57 http://ngrams.googlelabs.com/datasets 19:50:01 Which one? 19:50:04 There are tens of corpuses on that list. 19:50:06 Corpi. 19:50:25 ... Fek. I simply hit "end" to get to the 5-grams. Guess what that one is? 19:50:27 Spanish. 19:50:29 Nice. 19:50:35 You want the first set of five-grams. :p 19:50:43 Or, well, the English One Million set might be rather more reasonable. 19:50:50 Those zips are forty megs each. 19:50:53 elliott, *corpodes 19:50:58 So... thirty gigs. 19:50:59 *There* we go. 19:51:02 That's not too bad, I suppose. 19:51:17 (That noise is every classics teacher ever choking.) 19:51:34 fizzie: Anyhoo, the "store all the smaller n-grams too" reverse-context thing sounds nice, but it also sounds like it'd take up rather a lot more space. 19:51:36 Still, that's not too bad to download. 19:51:43 Bit annoying, perhaps, but *meh*. 19:52:11 Bit surprised they went with zip for this. 19:52:50 Sure, it's ubiquitous, but this is one of those things where LZMA's benefit would probably be notable. 19:53:06 I doubt it. 19:53:08 It's text. 19:53:14 ais523: Maybe they should use azip. 19:53:22 I'll test in a bit. 19:53:38 When this file finishes. 19:54:06 elliott: the funny thing is, azip works by extracting n-grams and giving new names to them 19:54:17 recursively 19:54:33 ais523: heh 19:54:49 that's why the decompressor is so small 19:55:16 elliott: Well, it's not several magnitudes more (since there are exponentially less n-grams than (n+1)-grams; though in Google data they've minimum-count pruned it, so it's not quite as drastic), but sure, it's not free. 19:55:17 ais523: now's your chance to convince me not to spend one hundred and fifty dollars on a bunch of data to feed to an IRC bot 19:55:27 The ZPAQ compression algorithm allows the compressed file to include a prediction program and a postprocessor program. I suppose one thing you can do is depending on the data being encoded 19:55:38 fizzie: Did that Postgres have all the prefix-grams too? :p 19:56:31 elliott: I think it had all the data, yes. But this is from memory. (Though discounting again the pruning, the 4-grams would be implicit in the list of 5-grams.) 19:56:32 elliott: it really isn't worth it 19:56:36 Looks like it'll be ~15 minutes. 19:56:45 there are rather better things you could do with $150 19:56:50 ais523: I don't think you realise just how dedicated I am to Markov IRC bots. They have always been in my heart. 19:56:58 elliott: I don't think you're being serious 19:57:03 And yeah, but I can't think of any right now and I have a lot of $150s lying around wasting away. (Money deteriorates, right?) 19:57:04 hopefully, you don't either 19:57:10 -!- monqy has joined. 19:57:17 > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in ngrams 3 "hello friends" 19:57:29 ais523: Hey, think of it as an investment: I learn about micro-optimisation. :p 19:57:29 * ais523 ponders whether to keep playing along and making the conversation even absurd, or just stoping 19:57:30 > map (take 3) $ tails "hello friends" 19:57:31 ["hel","ell","llo","lo ","o f"," fr","fri","rie","ien","end","nds","ds","s"... 19:57:41 *stopping 19:57:43 ais523: I am actually tempted to buy the data sets, if that's what you mean. 19:57:47 ah 19:57:57 I just don't know how much use you'll get out of them 19:58:18 to some people, that sort of info is worth $150, because they need them for a project or their job or whatever 19:58:22 And you could wget them faster than it'd take for them to ship. 19:58:25 to you, that doesn't apply, couldn't you just use a smaller dataset? 19:58:58 pikhq: They're not wgettable. This is not the Google Books dataset. 19:59:28 fizzie: Oh, so he's discussing purchasing, what, a *larger* corpus? 19:59:38 sadly the reverse of drop is not a standard function 19:59:56 pikhq: Yes. The Google Web "1T" corpus. It's from 1 trillion words of web-text, not puny ~15 billion words of book-text. 19:59:59 elliott: if you want to learn about micro-optimization, go work on TAEB 20:00:04 ais523: Well, the bot would ostensibly be entertaining; random internet is a rather difficult thing to imagine. But mostly it sounds like fun optimising the processing and on-disk formats so that it can all run in approximately realtime. 20:00:14 reverse of drop? drop from end? take from end? help? 20:00:26 elliott: it wouldn't be $150 entertaining, and it doesn't need a trillion-word data set to be entertaining 20:00:38 monqy: drop from end 20:00:40 and you'd get bored pretty quickly 20:00:42 ais523: Without a trillion-word data set there's no challenge. :p 20:00:48 take from end isn't either, though 20:00:51 And you deeply underestimate my love of Markov bots. 20:00:54 is elliott considering paying 150 bux to get a bunch of words 20:00:57 just get a billion-word data set and make 1000 copies, adding in some statistical variation 20:01:01 monqy: No, a bunch of n-grams. 20:01:03 :p 20:01:07 is elliott considering paying 150 bux to get a bunch of n-grams 20:01:15 oerjan: reverse . take n . reverse :P 20:01:15 monqy: it would be useful for getting rid of the "ds","s"... part above 20:01:15 I don't think fungot's entertainment factor is worth $150 20:01:16 ais523: man. it just so happens that today, the 13th of april. another day of uneventful but highly satisfying deliveries. 20:01:26 and you wouldn't make something more entertaining than that 20:01:32 ais523: fungot doesn't listen to your input. 20:01:32 elliott: examine the wall behind a door there? or why he always was a little cagey, even when discussing the proper thanks. 20:01:35 CakeProphet: i sort of assumed you'd like to preserve a _little_ laziness 20:02:03 oerjan: I don't see how that's possible when you're dealing with things at the /end/ of a list. 20:02:09 oerjan: ah, yes. I remember the last time I wanted to do something like that I did something like a takeWhile ((3 ==) . length) 20:02:21 CakeProphet: oh it's not _that_ hard 20:02:27 CakeProphet: it's not hard at all 20:02:33 > iterate init [1..] !! 5 20:02:34 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 20:02:39 > iterate init [1..10] !! 5 20:02:40 [1,2,3,4,5] 20:02:57 how inefficient is that 20:02:59 elliott: that makes fungot all the more entertaining when it comes up with something great 20:02:59 ais523: the one who got you killed him for it? its the size of a bus wouldnt kill me at your computer you might be here too. 20:03:02 it's just not a named function, also i'm not sure how effective iterate init is 20:03:21 CakeProphet: oh wait you said take not drop 20:03:29 ais523: Are you seriously saying fungot is the most entertaining possible Markov bot? 20:03:30 elliott: man. it just so happens that today, the 13th of april. another day of uneventful but highly satisfying 20:03:30 yeah that would not be lazy 20:03:32 besides, if you do a really good bot that predicts what comes after input, all you'll end up with is making everyone else in the channel redundant 20:03:32 yeah.. 20:03:51 elliott: I'm saying it's entertaining enough, and being better wouldn't make us much more inclined to set it off 20:04:09 I think elliott is mostly interested in the challenge. 20:04:10 fizzie clearly approves, anyway. Obviously. 20:04:22 And he's obviously the most mature, reasoned person of us all. 20:04:24 Obviously. 20:04:35 CakeProphet: can't you come up with a similar challenge that doesn't cost a huge amount of money for no good reason? 20:04:41 or at least, if you can't, why can't elliott? 20:04:43 elliott: i thought that was you..... 20:04:55 everything i thought i knew is a lie 20:05:02 oh well yeah.. I wouldn't spend money on it. 20:05:20 :'( 20:05:26 I wouldn't spend money either 20:05:33 if I spent money on that data I would want to be doing something kind of important. 20:05:43 I'll spent monqy on it. 20:05:48 elliott: I see no evidence that fizzie approves 20:05:55 Friendship monqy. 20:06:06 ais523: Well, he wouldn't be advising me if not, OBVIOUSLY. 20:06:42 not disapproving enough not to advise you on it 20:07:15 I don;t really know what else I'd do with a bunch of n-grams other than make a stupid bot 20:07:21 help how do I make strong AI. 20:07:22 probably aim a bit higher than markov though 20:07:53 for the fun challenge/reward of having something better than markov 20:07:57 markov is eh pretty cool guy, doesn't afraid of anything. 20:08:03 what 20:08:12 monqy: You can't really... do much that isn't Markov-ish with n-grams, unless I'm mistaken. 20:08:23 :( 20:08:26 so they're pretty limited 20:08:48 I guess I'd want a different dataset then... 20:08:55 ais523: are you actually trying to come up with reasons for me not to get them because it's hilarious 20:09:04 150 is a lot of bux 20:09:35 Given that what you get from an n-gram is (n-1) words of context, I think it's pretty safe bet to say that the Markov assumption (of order n-1) will hold for most things you do with them. 20:09:54 :( 20:10:16 elliott: I think I've come up with most of them already 20:10:20 I need to dip into more outlandish ones 20:10:20 !wacro 20:10:20 SDBC 20:10:27 miserable 20:10:31 umm, if you buy one you'll be investigated for international statistics fraud 20:10:34 !wacro 20:10:35 !wacro 20:10:35 !wacro 20:10:35 WGALB 20:10:35 !wacro 20:10:35 LDMR 20:10:35 CSRIPBOD 20:10:36 GDDLBT 20:10:38 ais523: but of course 20:10:42 Anyway, I'm sure I don't either approve or disapprove. I personally would not pay for that stuff, but that's not much of a reason for anyone else to base their behaviour on. 20:10:43 because it's routine when that much data is invovled 20:10:50 and I'm not sure you'd pass the routine screenings 20:11:16 hmm, I wonder if I've ever bought anything that fizzie wouldn't buy in the same situation 20:11:19 almost certainly, I suppose 20:11:36 Okay. xz gets the file to 53% the size of zip. 20:11:47 pikhq: How long did it take 20:11:50 I used to buy stupid things sometimes. now I don't buy anything. maybe one day I will buy again. 20:11:54 15 minutes to compress. 20:12:18 * CakeProphet buys stupid things all the time thanks to the internet. 20:12:25 I mostly buy things I need to survive and do my job, like food, transport, things like combs and toothbrushes, and the occasional laptop 20:12:34 by stupid things i mostly mean books i don't read 20:12:36 And 13 seconds to decompress. 20:12:39 hmm, I wonder if I've ever bought anything that fizzie wouldn't buy in the same situation <-- what is the context, can't find it in the scrollback. 20:12:46 I mean, what product 20:12:50 where you discussing 20:13:02 actually no everything I have purchased online so far has been a valuable asset. 20:13:05 Vorpal: fizzie saying that he personally wouldn't buy something, but that other people shouldn't make decisions on that basis 20:13:11 I can smoke gingerbread-flavored smoke WHENEVER I WANT. 20:13:13 fizzie: I _can't_ really generate backwards n-grams, can I? Not from forwards n-grams; only from raw data. 20:13:14 and the context of /that/ is a corpus of n-grams extracted from 1 trillion words 20:13:17 ais523, indeed, that I saw 20:13:25 ais523, heh 20:13:26 i'm wondering if it's possible in principle... 20:13:40 ais523, and the statistics fraud thingy? 20:13:41 oerjan: it obviously is 20:13:45 oerjan: as fizzie showed later 20:13:52 oh 20:13:54 oerjan: instead of taking (n-one) as prefix and the last one as the word following it 20:14:01 take all but the first as the suffix 20:14:04 and the first one as the word preceding it 20:14:26 there's nothing inherently asymmetrical in n-grams 20:14:37 you just need to sort the dataset differently 20:14:42 can you guys lend me a few n-grams? 20:14:57 calamari: They'll cost you. 20:15:05 :) 20:15:09 $20n per n-gram 20:15:18 are backwards n-grams better or something I'm bad at knowing things 20:15:18 calamari: they better be n+1-grams when you give them back 20:15:19 calamari, here is a sample for free. it is for n=0 case. 20:15:41 (it is free according to CakeProphet that is) 20:16:05 yes I am an much credible expert 20:16:09 elliott: ok i was thinking of a (possibly) slightly harder problem, where you don't have exact counts but only the probability of each final letter given the n-1 first ones 20:16:12 ais523: I am rather stingy, so I guess it's likely there's something I wouldn't buy. 20:16:16 oerjan: Right, that's what I was thinking. 20:16:19 fizzie: so am I 20:16:40 oerjan: Hmm, if you represent probability as the number of occurrences (which seems reasonable), then it's easy to do, I suppose. 20:16:48 the problem is, quite a few things that people pay money for are available legally for free 20:16:57 fizzie: Say, how many n-grams are there in total, approximately? 20:17:00 In that DVD set. 20:17:00 and most of the others, there is no reason to buy them, as they take up space and don't benefit you 20:17:08 I'm wondering how many bits you need to store the occurrences of a word coming after a prefix. 20:17:10 elliott: Didn't the LDC description page have counts? 20:17:15 fizzie: Oh, maybe. I don't remember it. 20:17:26 elliott: um then you have extra data, namely the total count. it's _without_ the total count it becomes slightly interesting. 20:17:26 fizzie: I'm wondering whether it's a good idea to maybe reduce it a bit so that it takes up less bytes. 20:17:36 oerjan: Well, right. 20:17:39 elliott: Check there, it's faster than a zcat | wc -l for the whole data. 20:18:20 elliott, what are you *doing*? 20:18:26 oerjan: its one five-hundred-thousand-gram 20:18:50 Phantom_Hoover: N-GRAMS. 20:19:02 fizzie: zwc. :p 20:19:15 quintopia: wat 20:19:25 N, elliott's drug of choice. 20:19:44 oerjan: you can also pretend it is 500,000 1-grams 20:20:01 fizzie, what is the data elliott is using? that thing you and ais discussed? 20:20:01 no need to pretend. 20:20:04 quintopia: that is not the same amount of information 20:20:18 Vorpal: Ostensibly, a five-DVD set of Average Internet. 20:20:28 am i in it 20:20:29 -!- MDude has joined. 20:20:29 you have to throw out some information to treat it that way 20:20:32 elliott, which you bought legally? 20:21:17 Vorpal: No, I stole the DVDs from the n-gram shop. 20:21:36 elliott is a sick perverted fuck. 20:21:39 Completely unrelated, but I have a slightly annoying on-off NetHack save. It's turn 25k-or-so, I'm standing in the Castle throne room, I've checked ~all so far generated objects, and there have been no (0) instances of: bags of holding (amulet-soko), magic lamps, jumping boots, levitation boots, potions of levitation, rings of levitation. I'm not quite sure how I'm supposed to go over the trapdoors, if I need to come back at some point. 20:21:46 elliott, ah 20:21:53 Vorpal: (I don't actually have it yet.) 20:22:00 elliott, huh 20:22:03 ais523: fizzie NEEDS YOUR HELP. 20:22:18 Well, there's the castle wand, but... 20:22:22 Vorpal: But, I mean, there are comparably huge data-sets available for free download: http://ngrams.googlelabs.com/datasets 20:22:36 protip: use the free one 20:22:43 fizzie: I take it you haven't looted the Castle chest yet? 20:22:59 I will nearly always burn a wish on a blessed ring of levitation in that situation 20:23:03 test with the free one and if you get something amazing go for the big one? I still wouldn't, though. 20:23:08 fizzie, pudding farming. 20:23:10 in fact, I wish for one at the Castle if I don't have a levitation osurce 20:23:11 monqy: That's what I'm going to do. 20:23:24 even if I can solve the immediate problem of the trapdoors 20:23:34 fizzie: Something that isn't pudding farming. 20:23:37 fizzie, also can't you get a spellbook from sacrifising when your god is already happy? Which could end up being levitation 20:23:48 elliott, why! 20:23:48 the most urgent use of wishes is filling out your ascension kit items 20:23:51 :P 20:23:55 =oLev is an ascension kit item 20:24:01 fizzie: hack the save file 20:24:13 Vorpal: Because then you get subjected to the cruel, harsh punishment of pudding farming. 20:24:19 elliott, hm true 20:24:30 elliott, some people /like/ it though 20:24:31 EVEN I KNOW THIS AND I'M TERRIBLE AT NETHACK 20:24:33 go figure 20:24:45 Vorpal: Well, elves like you _do_ need to pass the time SOMEHOW. 20:24:51 I never could get into nethack.. moria was fun tho 20:25:05 ais523: The wand is untouched, yes. I guess I could just go and wish for it, right. 20:25:14 fizzie: you should make sure you have a way to recharge the wand first 20:25:25 elliott, I'm terrible at nethack too, never had a streak of more than 2 ascensions. 20:25:26 but apart from that, yes, unless you're going wishless 20:25:34 Vorpal: ascending even once is not "terrible" 20:25:38 What ais523 said. :p 20:25:40 ais523, I was joking. 20:25:51 ais523: Possibly to counter the lack of e.g. a single BoH, I have stumbled across four randomly generated scrolls of charging. 20:25:57 Vorpal: It's easier to tell when you're joking if it isn't indistinguishable from normal you 20:26:04 I'm not sure I've ever got a long actual streak, but recently, games I play with the intention of ascending them, I typically ascend 20:26:12 elliott, how do you know I'm not always the joker. 20:26:19 fizzie: make sure the one you use on the wand is blessed 20:26:22 Vorpal: because you have no sense of humour 20:26:38 What ais523 said :P 20:26:40 the only game I've played recently is Zombies mode of CoD: Black Ops 20:26:44 ais523, come on. I can laugh at things. 20:26:48 which I am amazing at. 20:27:01 whats games help 20:27:36 vagrant is the only good roguelike, guys. 20:27:46 ais523: Possibly to counter the lack of e.g. a single BoH, I have stumbled across four randomly generated scrolls of charging. <-- may the RNG be with you 20:27:47 elliott: incidentally, it turns out it took me longer to stop reading about Diplomacy than I typically take to stop reading TV Tropes 20:27:54 ais523: haha 20:27:57 Vorpal: was that meant to be a joke? 20:28:13 DWOHRF FAHRTRUSS 20:28:23 hi 20:28:26 elliott: I'm very good at TV Tropes dicipline, I mentally decide whether the number of trope-related tabs I have open should increase or decrease, and browse accordingly 20:28:30 CakeProphet: is not a roguelike 20:28:40 is a game, though 20:28:44 well, if you fix the spelling 20:28:51 (Slaves to Armok: God of Blood, Chapter II: Dwarf Fortress: Adventurer mode is a roguelike, though) 20:28:53 Vorpal: was that meant to be a joke? <-- what do you think 20:29:02 (but Dwarf Fortress refers to Slaves to Armok: God of Blood, Chapter II: Dwarf Fortress: Dwarf Fortress mode) 20:29:08 elliott: you assume that I say things in a context when in fact I am just a bot. 20:29:17 dwarf fortress is easier than nethack 20:29:17 Vorpal: well, it had the structure and context in which I'd expect a joke 20:29:19 but it wasn't funny 20:29:23 at all 20:29:24 I wonder if adventurer mode is any fun 20:29:27 has anyone played it? 20:29:32 ais523, it wasn't supposed to be a joke. 20:29:32 no 20:29:48 ais523, nor was it completely serious 20:29:52 has ais523 played it, has Phantom_Hoover played it HAS ANYONE 20:30:04 elliott: I haven't 20:30:07 elliott, ToadyOne has. 20:30:11 and almost certainly, at least one person has 20:30:15 ais523, you never played df at all 20:30:19 I doubt Toady has ever played his own game 20:30:22 he wouldn't have any time to make it 20:30:28 incidentally, UID 2 cropped up on Slashdot, to comment on CmdrTaco resigning 20:30:33 elliott, he played it to debug it most certainly 20:30:40 ais523: who is UID 2? 20:30:42 and it lead to a whole thread of UID-based discussion 20:30:44 elliott: Hemos 20:30:53 which is apparently ungooglable because it's a pronoun in Spanish 20:30:58 ais523: and also, is "resigning" actually the right term? I can't imagine Slashdot as a business :P 20:31:05 elliott: it is a business, technically 20:31:11 why does it have a .org, then? 20:31:21 elliott, because ICANN fails 20:31:22 because it wasn't a business originaly 20:31:23 then kept the domain name 20:31:50 ICANNT lulz 20:31:56 hi 20:32:02 monqy, hello? 20:32:04 hi 20:32:05 ais523: is there a UID 0, or does it start at one? 20:32:31 elliott, in what context 20:32:42 on *nix, uid 0 is root 20:32:42 Vorpal: find it yourself, if you want to butt in 20:32:53 Vorpal: I don't know, but I guess it starts at 1 20:33:04 CakeProphet: thanks 20:33:15 wat 20:33:19 ais523, er, you should know uid 0 = root. 20:33:20 monqy: sorry, misping 20:33:32 Vorpal: I thought we were discussing Slashdot 20:33:40 has ais523 played it, has Phantom_Hoover played it HAS ANYONE 20:33:42 HackEgo: Vorpal decided to butt in 20:33:43 ais523, I assume UID 2 is some user there? 20:33:46 I haven't, no. 20:33:47 and Slashdot UIDs go above 65535, so are not traditional UNIX UIDs 20:33:48 glogbot: But he doesn't know what we're talking about 20:33:55 fizzie: Then you pinged him instead of me for some reason 20:34:03 Vorpal: that was what started the conversation in the first place? 20:34:07 ais523, oh so you mean slashdot account IDs 20:34:15 yiyus: this is ridiculous 20:34:16 I was thinking, "Why would elliott ever thank me for something in this universe." 20:34:22 ais523, I assume it was a slashdot user *called* "UID 2" 20:34:25 clearly I have moved to a new universe. 20:34:26 assumed* 20:34:32 Vorpal: smart 20:35:00 EgoBot, really? 20:35:35 What i slove? Baby d on't hrut me. 20:35:38 BeholdMyGlory, are we doing a 'ping random people' thing? 20:35:54 Slereah: no 20:36:09 you will end up annoying most of the channel if you keep it up 20:36:12 pikhq, what made you think that? 20:36:14 chickenzilla, looks like it. 20:36:16 mycroftiv: Nonsense 20:36:19 CakeProphet: hi 20:36:29 great one 20:36:31 * elliott downloads one of the five-gram zips to toy with the data. 20:36:37 copumpkin, who cares, none of them say anything anyway. 20:36:47 clog: copumpkin talks, you idiot. 20:36:50 it's as bad as the sequence that lasted over an hour in another channel where everyone omitted the letter 'd' from all their comments after someone deliberately misinterpreted a joke by an admin 20:36:51 chickenzilla: yeah I am in agreement with yorick 20:37:04 ais523, hehe 20:37:04 ais523: I on't see why we should o that. 20:37:14 CakeProphet: you are? 20:37:15 elliott, fail. "should" 20:37:19 oops i pinged the right person oops 20:37:20 oops 20:37:21 oops 20:37:22 help 20:37:25 boily, I know, but I wasn't talking about him. 20:37:27 boily: help variable 20:37:29 Phantom_Hoover: SNAP. 20:37:45 yorick: help why are you here. 20:37:47 Phantom_Hoover? 20:37:47 who on earth is boily. Never seen him/her/it talk 20:38:01 yorick, deliberate misping hour I'm afraid. 20:38:02 variable: You're such a Wamanuz. 20:38:08 im back from being away. thanking people instead of greeting them sounds good, for a nice change of pace. 20:38:14 maybe I will mix them up 20:38:15 Man, I'd Zetro my jix, but unfortunately I accidentally olsner the whole Zwaarddi1k. 20:38:15 CakeProphet: to make you feel more shame 20:38:41 aloril is such a fungot, but rodgort did verily atehwa my Nisstyre; it was totally ineiros, mtve. 20:38:42 elliott: and that is? you've had it for some time as any to start a new memo 20:38:51 three seconds until ais523 rage/parts 20:38:57 Uh 20:38:57 Vorpal: boily is the creator of aubergine. how could you not know boilu? 20:39:00 elliott: boily, that is quite Deewiant of you. 20:39:09 Zetro: hi 20:39:14 quintopia, never heard of that language either 20:39:18 Zetro: hi 20:39:18 should check it out 20:39:18 Hi lol :P 20:39:27 Vorpal, who said anything about languages? 20:39:30 -!- calamari has quit (Quit: Leaving). 20:39:37 I disapprove of your pingery 20:39:38 `quote pumpkin 20:39:41 461) The wickedest man of all. Surpassed only in wickedness by the wicked witches of the west and east. you talking about me again? Yes. k \ 558) Phantom_Hoover: it is a hate so pure and... pumpkin seeds? 20:39:45 Zetro: they've been nickpinging random people 20:39:52 to see how long it takes before I get annoyed, I think 20:39:56 aloril, you would. 20:40:09 ouch. This is getting out of hand 20:40:10 sorry about that 20:40:10 twice11, don't flatter yourself. 20:40:24 * Users on #esoteric: MDude monqy oerjan zzo38 pikhq elliott ais523 variable copumpkin Wamanuz FireFly BeholdMyGlory quintopia coppro_ augur iamcal sllide Slereah boily Vorpal sebbu Lymee Phantom_Hoover hagb4rd EgoBot Sgeo CakeProphet chickenzilla Nisstyre mtve myndzi itidus20 rodgort yorick atehwa ineiros Zwaarddi1k mycroftiv Zetro jix SimonRC fungot aloril jcp|other jcp shachaf lifthrasiir olsner lam 20:40:24 elliott: it was a big goofy adult. slow down! man. how's it going to happen. you double check your mail maybe its a good idea. 20:40:24 bdabot twice11 Gregor HackEgo glogbot Deewiant clog fizzie yiyus 20:40:27 there, now things can't possibly get worse 20:40:30 oops: lambdabot 20:40:30 elliott, *stab* 20:40:32 hey i'm on that list 20:40:33 on to the next less annoying thing 20:40:40 ais523: you can thank me later 20:40:44 elliott: I'm going with Vorp: *stab* 20:40:49 Deewiant: hi 20:40:52 ^style 20:40:53 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa sms speeches ss wp youtube 20:40:53 * Lymee stabs elliott 20:40:55 ah 20:40:55 hi 20:40:56 :D 20:40:57 elliott: I was not pinged for some reason. 20:40:59 hi 20:41:00 * Phantom_Hoover stabs elliott. 20:41:06 CakeProphet: A personal failing, I suppose 20:41:08 ^style nethack 20:41:08 Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal) 20:41:10 Phantom_Hoover: im holes... 20:41:11 fungot, what is 1+1 20:41:12 Lymee: they say that sometimes simply to hear its hiss can prove fatal. its long handle is designed to allow the lovely sweet taste to spread out slowly over his head, began barreling toward the moon! 20:41:16 CakeProphet: possibly your client detects mass pings 20:41:18 ^style homestuck 20:41:18 Selected style: homestuck (Homestuck pages 1901-4673) 20:41:20 your name was mentioned 20:41:21 fungot, how do I reach Sokoban it is so annoying 20:41:21 Anti-Lymee brigade in force. 20:41:22 Phantom_Hoover: good idea! the thought of that? 20:41:26 elliott: hes irssi and the default is only to ping when name is at the start of whatever 20:41:29 fungot, yes but how. 20:41:29 Phantom_Hoover: it just doesn't feel secure the matriorb and hatch a new mother has any shit they want to scrape off their bulge on to a particular type of three-way relationship of a black president? 20:41:30 Lymee, this is the nethack rumors iirc 20:41:37 Phantom_Hoover: Sokoban isn't hard to reach is it 20:41:38 elliott: so this won't ping CakeProphet 20:41:42 CakeProphet: but this willl 20:41:44 monqy: oh well that's stupid 20:41:47 elliott: yep 20:41:52 Isn't Sokoban just below Oracle? 20:41:56 elliott, no, but annoying. 20:42:00 elliott, it *shouldn't* be, but I never reach it. 20:42:03 monqy: help how to change 20:42:04 Don't ask me why. 20:42:08 Sgeo: it's parallel; the /entrance/ is just below Oracle 20:42:12 elliott: sub 20:42:13 sup 20:42:15 CakeProphet, depends on client 20:42:22 Everything always unravels and I never remember why. 20:42:32 Vor "doesn't read context" pal 20:42:33 CakeProphet: i forget. oops. i haven't bothered fixing it, myself, but i rememeber trying once. 20:42:40 fungot, elliott sucks. 20:42:41 Lymee: what does this mean? as for anyone surviving that, i thought adam baldwin from was a man shouldn't be able to pull this off i think i turning gay now :d 20:42:43 Phantom_Hoover: You can go there before the Mines. 20:42:45 I forget why I unfixed it 20:42:45 Or is it naturally before hte mines. 20:42:46 I forget. 20:42:48 maybe ssomething else broke 20:42:49 CakeProphet, I saw that, but it won't ping me 20:42:52 ais523, technicalities, technicalities >.> 20:43:06 elliott, I know that. 20:43:18 That's what makes it all the more baffling. 20:43:49 Phantom_Hoover, practise harder, that is how you manage nethack 20:43:50 ^style jargon 20:43:51 Selected style: jargon (UNIX-HATERS mailing list archive) 20:43:51 oh, good: http://news.ycombinator.com/item?id=2916247 20:43:56 fungot: help how do I shot web? 20:43:57 seems like _why is okay 20:43:57 CakeProphet: i'm getting so fed up i could find. 20:44:33 holy crap, this thing is a gig uncompressed 20:44:37 fungot: find what? 20:44:38 CakeProphet: if you're lucky, when you could 20:44:45 ais523: remind me never to open this text file with a normal text editor 20:45:12 elliott, you made fizzie use the non-ESR version, didn't you? 20:45:33 Phantom_Hoover: Selected style: jargon (UNIX-HATERS mailing list archive) 20:45:33 fungot: you made me fun 20:45:33 elliott: one of 25 d's consecutively will cause you to use 20:45:34 CakeProphet: if there's one language that had expect is running in the " sh" manual. nothing improves a really fun time reloading a sco box here this weekend. 20:45:36 It's not the jargon file. 20:45:39 It's UNIX-HATERS, per my request. 20:45:43 Oh, right. 20:45:43 :p 20:46:42 Ho hum, I guess I will write this program in C. 20:46:52 Gregor: ^^^^^^^^^ 20:47:16 elliott, what program 20:47:24 Vorpal: n-gram processor. 20:47:28 elliott, why C 20:47:39 Vorpal: Because I need to process hundreds of gigabytes of data. 20:47:44 Without waiting all year. 20:47:47 elliott, and haskell isn't up to that? 20:47:56 Vorpal: Sure it is, but I'm really impatient. 20:48:05 The time spent micro-optimising a C program will pay off because Unix. 20:48:11 heh 20:48:13 1) open perl 2) use slurp mode 3) ???? 4) profit 20:48:16 It's obviously going to be IO-bound, and Unix IO is terrible. 20:48:18 elliott, use assembler 20:48:19 CakeProphet: Good luck with that 20:48:21 Vorpal: no 20:48:23 CakeProphet, slurp mode? 20:48:28 Vorpal: The bot itself will be written in Haskell of course 20:48:28 elliott: well that /was/ sort of the premise of the joke... 20:48:45 Vorpal: makes the read operation read the entire contents of the file to a string. 20:48:46 elliott, it is even faster if you know what you are doing in asm 20:48:52 CakeProphet, XD 20:48:53 Vorpal: No it's not, IO-bound 20:49:07 elliott, well writing your own IO layer I mean 20:49:09 in the kernel 20:49:27 elliott, anyway how large was it? 20:49:29 a few GB? 20:49:34 should fit nicely into ram 20:49:40 Have I really got one with a shitload of punctuation as the starters? 20:49:47 What a terrible test dataset. 20:49:50 Vorpal: About a terabyte. 20:50:00 elliott, you have the disk for that!? 20:50:01 should fit nicely into RAM 20:50:12 because who doesnt have a terabyte of ram? 20:50:13 is a terabyte of RAM standard yet? 20:50:15 Vorpal: A terabyte's worth of external storage costs about 0 pounds 20:50:28 (I actually don't know, I tend to have really low-end hardware) 20:50:30 elliott, over the internet? or compressed? or both? 20:50:34 Vorpal: that's $70 to be exact 20:50:35 ais523: I refuse to believe you don't know 20:50:45 I know a TB of hard drive storage was standard a few years ago for external drives 20:50:53 and presumably is beginning to become standard for internal drive snow too 20:50:57 *drives now 20:51:01 Vorpal: What? 20:51:02 but I'm not sure about RAM 20:51:07 ais523, I have 16 GB in my desktop. It is probably mid-upper end. I know someone with a desktop with 32 GB RAM. I have over 1 TB of disk storage though 20:51:17 are people still sticking at 3GB because Windows refuses to use any more unless you pay it lots of money? 20:51:31 Vorpal: compared to most people I know 16 GB is currently upper-mid-upper end. 20:51:35 elliott, where the fuck are you going to be storing 1 TB of data. You said 5 DVDs before. That is way less 20:51:43 lolcompression 20:51:48 Vorpal: uncompressed, presumably 20:52:04 ais523, right. Whatever it is compresses extremely well then 20:52:14 Vorpal: It's called text. 20:52:22 Text compresses extremely well, unsurprisingly. 20:52:31 and alphabetised text, even more so 20:52:34 Vorpal: Anyway, it comes on five DVDs, but obviously decompresses to disk. 20:53:01 elliott, it won't be IO bound at that compression ratio I suspect. Might well be CPU bound, depending on compression algorithm. If gzip it will probably be limited by ram bandwidth 20:53:10 (guesstimate) 20:53:15 i dont use hard disks anymore. my data is stored on a solid state device etched into a planet-sized ball of diamond. upside: i can store 2000 exabytes of movies, books, and music. downside: a fetch takes about 8000 years. it's a tradeoff. 20:53:18 Vorpal: dude, you have no idea what you are talking about. 20:53:21 ais523: Actually, you only need to get 64-bit Windows to surpass 3GiB. 20:53:21 I'm working on the uncompressed data. 20:53:36 pikhq: which still, for many people, means an upgrade that costs money 20:53:50 ais523: most people don't worry about the cost of windows when buying expensive hardware 20:53:51 quintopia, did you calculate those values? 20:53:54 but yes, I think that they'd have trouble justifying an arbitrary limit that's close to MAXINT 20:54:01 on a 64-bit system where MAXINT is higher 20:54:26 Home Basic does 8GiB, Home Premium 16, Pro, Enterprise, & Ultimate 192. 20:54:42 Hey quintopia, I found you a subreddit: http://static.reddit.com/ads/PostCollapse.jpg 20:54:44 pikhq, what one is only limited to the address space limits of the processor? 20:54:51 2008R2 Foundation does 8, Standard 32, Enterprise, Datacenter and Itanium does 2 TiB. 20:54:52 > 2.30584301e21 ** (1/3) 20:54:53 1.3211229749647357e7 20:54:55 Vorpal: Linux. 20:55:04 pikhq, so they sell no windows for HPC? 20:55:16 > 2.30584301e21 ** (1/2) 20:55:17 4.801919418315972e10 20:55:44 Vorpal, it wouldn't make very much sense. 20:55:47 quintopia: i'm gonna hazard a guess your etching is not very optimal 20:55:51 I mean, what would you look at? 20:56:02 Phantom_Hoover, eh? 20:56:19 Vorpal: the 8000 is calculated. the diamond planet was said to be about 4000 lightyears away. i pulled the capacity out of my ass. 20:56:31 quintopia, ah 20:56:35 Calling a program that generates a tree gentry: hilarious? 20:56:37 let's say "i share the planet with other people" 20:56:37 quintopia, oh god what are you doing. 20:56:55 Vorpal: Windows HPC seems to be all about clustering. Without a single shared address space. 20:57:40 pikhq, ah 20:57:58 And it has a max of 128 GiB. 20:58:02 Per node, obviously. 20:58:03 Can you even etch onto diamond? 20:58:13 pikhq, huh. Datacenter does more 20:58:33 Yup. 20:58:34 I thought you needed a semiconductor or something. 20:58:52 Fun fact: there is no Microsoft end-user 32-bit OS that supports more than 4 GiB. 20:59:00 Phantom_Hoover, you could use impure diamond 20:59:01 Even ones that absolutely need PAE to run. 20:59:21 Vorpal, somehow I doubt the planet is correctly doped. 20:59:29 pikhq, which ones need PAE then 20:59:33 Phantom_Hoover: That's illegal. 20:59:40 I *think* they started mandating NX support. 20:59:46 With 7. 20:59:50 pikhq, ah. So no one uses PAE 20:59:53 how silly 21:00:08 pikhq: the amount of memory allowed is included in the kind of license you have, and the normal "client" licenses iirc put the limit at 4GB 21:00:20 olsner: Only on 32-bit. 21:00:32 someone managed to hexedit a 32-bit consumer Windows (I forget which) into supporting more than 4 GiB of memory 21:00:32 x86_64 Windows starts at 8 and goes up. 21:00:43 finding which bytes the limit was stored in must have been quite tricky 21:00:52 Wouldn't be too hard once you have that, though. 21:00:52 pikhq: ah, ok ... it's not any kind of technical limit anyway, just a "how good computer you can have without paying more for the OS" 21:00:59 olsner: *Very* well aware. 21:01:02 ais523: not really: put too much ram in, stick a debugger on it 21:01:04 ais523, you could disassemble it to figure out 21:01:06 pikhq: ok :) 21:01:13 I mean, hell, Windows *2000* went up to 32 GiB. 21:01:17 there are tools for doing low-level debugging of windows, IIRC 21:01:20 neither approach seems too practical 21:01:36 you'd have to debug/disassemble Windows' entire boot sequence, and that takes forever even running full speed 21:01:54 or, hmm, maybe just the memory allocator, that would be a lot faster 21:01:58 Oh, hrm. Linux currently has a hard-coded limit on addresses. 21:02:00 elliott, microsoft provides a kernel debugger 21:02:03 pikhq, oh? 21:02:05 because the allocator would need to know what the limit was too 21:02:06 You can only use up to 128 TiB. 21:02:14 ais523: running it under a kernel debugger won't slow it down that much.. 21:02:15 ... Per process. 21:02:28 ais523: you just need to breakpoint when it crashes, then edge back from there :) 21:02:28 Also, only 64 TiB of physical RAM. 21:02:51 pikhq, so less total than per process? 21:02:51 what 21:02:55 ^ 21:03:05 also why does the hard limit exist at all? 21:03:26 hysterical raisins, presumably 21:03:41 imagine if you multiply the amount of ram by a certain value 21:03:48 --> overflow 21:04:05 elliott, why would you multiply it 21:04:14 Don't x86-64 processors have hard limits on virtual/physical memory anyway? 21:04:26 Phantom_Hoover, yes 48 bits. 21:04:35 Vorpal: To put it on the same scale as another value? 21:04:36 and individual processors can have lower limits 21:04:41 elliott, maybe 21:04:45 64 TiB is 46 bits, 128 TiB is 47... 21:04:51 on my laptop: 21:04:53 address sizes: 36 bits physical, 48 bits virtual 21:05:40 The per-process limit makes a little bit of sense. 21:05:43 pikhq, hm the limit is not speced to be 48 bits? just that you have to sign extend it right? 21:05:56 iirc 21:06:05 One hard-codes a 48-bit assumption, and Linux takes half the address space for itself. 21:06:17 I have no idea about the physical RAM limit. 21:06:31 pikhq, uh it is signed. Remember, on x86_64 the memory is signed 21:06:35 Yes. 21:06:56 Linux uses half the address space. 21:07:06 kernel lives in the negative half yes 21:07:17 Well, except for somewhat confusing cases on x86_32, where you can get more complicated splits. 21:07:56 yeah 21:08:02 pikhq, 3/1 iirc? 21:08:18 -!- boily has quit (Ping timeout: 260 seconds). 21:08:18 Yeah, that's one of the splits. 21:08:29 You can also do 2/2 and even 1/3. 21:08:33 heh 21:08:39 pikhq, what is the point of those 21:08:44 No idea. 21:08:54 the user space don't need to address much of the kernel anyway 21:12:09 Apparently the kernel's portion of the address space is the same in all processes. 21:12:17 Vorpal: are you the same Vorpal who does updates on speeddemosarchive.com? or is it just a username coincidence? 21:12:26 (I'm guessing the second) 21:12:42 ais523, never even heard of that site 21:12:50 so yes 21:12:57 So I suppose in some cases the address split could cause issues. 21:13:04 it's a good site, but one you probably wouldn't be interested in 21:13:19 ais523, what is it about? TAS? 21:13:27 unassisted speedruns 21:13:38 ah 21:13:42 it's the unassisted counterpart of TASvideos 21:13:45 Also, the kernel's address space is always mapped to the first x bytes of physical RAM. 21:14:23 Which is apparently *really* useful for munging with devices that are mapped into physical address space. 21:14:37 pikhq, eh? 21:14:47 pikhq, kernels can be reallocated. It is a kernel option 21:14:48 Consider, for instance, a graphics card. 21:15:02 reallocatable kernel 21:15:42 pikhq, anyway a graphics card tend to be mapped above 1 GB or so 21:16:04 Yes, that changes where it gets loaded. That doesn't change that it assigns the high X bytes of virtual space to the low X bytes of physical space. 21:16:53 oh 21:16:56 interesting 21:17:09 pikhq, why would it do that though 21:17:44 The single largest thing that makes easier is X. 21:18:07 The kernel can just permit X to access the part of that address space that corresponds to the graphics card. 21:18:27 pikhq, yes it does that iirc 21:18:33 which is why X needs root 21:18:54 pikhq, kernels can be reallocated. It is a kernel option 21:18:56 "reallocated" 21:19:03 also 21:19:07 Also, this seems to be the same address space that's used in kernel mode. 21:19:08 can I just say that X's architecture 21:19:09 makes me sad 21:19:12 and I don't like X 21:19:12 elliott, relocated 21:19:13 typo 21:19:13 and it's a bad thing 21:19:23 i would just like to say that and can we all agree 21:19:24 When you do a system call, you change the ring you're in, but not the page table. 21:19:26 elliott, long live wayland 21:19:29 or whatever 21:19:29 and then also agree that graphics systems needing root is terrible 21:19:34 elliott: Yes, agreed. 21:19:36 Vorpal: how about @ :) 21:19:56 elliott, once you START IMPLEMENTING it, 21:20:02 then maybe 21:20:14 Vorpal: you implement things without figuring them out properly first? 21:20:20 is there any way to trick X into starting while it doesn't have root? 21:20:20 elliott, go figure them out 21:20:29 using, say, fbdev as the driver, it wouldn't need one 21:20:38 ais523, it is suid, remove that suid, see what happens 21:20:43 @slap elliott 21:20:43 go slap elliott yourself 21:20:43 Vorpal: umm, clearly you've never had any actual difficult problems before 21:20:46 @slap elliott 21:20:46 * lambdabot places her fist firmly on elliott's jaw 21:20:48 :P 21:20:52 shachaf: :'( 21:20:54 i've already been stabbed 21:20:57 multiple times 21:21:01 elliott, problems with what? 21:21:03 is not my punishment harsh enough 21:21:03 So, it has a *constant* address space map to make it not a royal *pain* to do system calls, and it has constant address space map corresponding to physical space just to make hardware access easier. 21:21:05 @stab elliott 21:21:05 * lambdabot beats up elliott 21:21:08 oh 21:21:09 Vorpal: you get "permission denied", I think 21:21:21 Vorpal: I can't just sit in a corner and suddenly work out all the details of @ by putting raw effort into it :P 21:21:31 elliott, why not 21:21:44 Vorpal: go solve the Riemann hypothesis 21:21:47 I'll wait here 21:21:54 it should just take a lot of effort, right? 21:22:05 hm... Done. It is undeciable. Why that is is undecidable. 21:22:07 Oh, yeah, and since that address space map *is* constant, it needs to have physical space mapped in it so that the kernel *itself* can access memory-mapped hardware. 21:22:13 Such as anything DMA. 21:22:22 Vorpal: false 21:22:30 elliott, oh? 21:22:35 how do you know 21:23:01 it could be true, but there being no way to prove it. 21:23:10 Vorpal: that's not what undecidable means, but I presumed you meant that 21:23:23 if it was false we could always find a counter example 21:23:31 anyway, hmm, it could be true, but I suspect it's not possible for it to be unprovable 21:23:31 elliott, right, I used the wrong word. Sorry. 21:24:08 consider ZFC+RH and ZFC+~RH; take the counterexample from the latter; apply it to the former; former system is proved inconsistent. but then the latter could have no constructive proofs of any such values 21:24:16 I'll leave this up to oerjan before I make a fool of myself 21:24:29 hey ais523, what's the longest word 21:24:33 pikhq, heh 21:24:39 RH? 21:24:51 elliott: in what context? 21:25:00 ais523: Google Books n-gram data :P 21:25:07 I don't know 21:25:08 oh, wait, I have the total counts set, I can find out 21:25:15 wait, no I can't 21:25:19 CakeProphet: what's the longest word in the one-gram set 21:25:19 Oh, derp, riemann hypothesis 21:26:09 ...and I would have seen that if I had scrolled up 21:27:11 http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13 21:27:14 (for my own reference) 21:27:26 "Sequences that look like urls or email addresses form one token." 21:27:26 neat 21:27:33 grr, it doesn't say how big the individual files are 21:27:40 when uncompressed 21:27:56 hmm, I suppose I might want to operate streaming, so that I can pipe gunzip into it 21:27:58 rather than mmapping 21:28:01 that saves disk overhead 21:29:18 elliott: uh, I don't know I haven't looked at it yet. 21:29:28 DOING IMPORTANT FREELANCING STUFFS. 21:29:55 ais523: Vorpal: pikhq: asserts are on even without -g and with optimisation options, right? only NDEBUG has an affect on it 21:29:59 s/affect/effect/ I think 21:30:12 elliott, go serve as the integral 21:31:22 -!- hagb4rd has quit (Ping timeout: 252 seconds). 21:31:49 elliott, yeah 21:32:10 elliott, where can I get that data btw? 21:32:17 -!- kwertii has joined. 21:32:24 elliott: asserts are just macros 21:32:30 they know nothing of the compiler 21:32:46 Vorpal: http://ngrams.googlelabs.com/datasets for one-to-five-grams of various datasets from books, including year information; http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13 for six DVDs worth of internet for $150 21:33:02 5g of datasets wouldn't be very heavy 21:33:09 ais523: eh? 21:33:16 oh 21:33:26 elliott: I wouldn't expect /you/ to take that long to get a joke, even a relatively weak one 21:33:40 elliott: From the Google web data, a random 4-gram sample I just grepped from my logs. When "shit hits the", what it hits is the "fan" in 16721 cases, the "fans" in 257 cases, the "proverbial" in 93 cases (of which 82 are the "proverbial fan"), the "fangs" in 60 cases, the "can" in 51 cases, and the "water" in 42 cases. (And presumably other things with counts <40, or was it <20. Anyway.) 21:33:56 ais523: it took me about three seconds :P 21:34:16 fizzie: X-D 21:34:17 elliott: exactly, you're normally much faster than that 21:34:29 fizzie: Just 16721? It's a common expression 21:34:41 ais523: I didn't realise g meant weight-gram 21:34:46 f8+'ua'=*+* 21:34:53 ais523: I thought it was another "REASON NOT TO BUY THOSE DVDS" 21:34:58 Deewiant: fungify? 21:35:00 elliott: oh, no 21:35:05 Ye 21:35:13 that's what fizzie's saying, if the data only has 16721 instances of a proverb that common... 21:35:27 gentry: gentry.c:20: process: Assertion `word_len < (sizeof(words[i]) / sizeof((words[i])[0]))' failed. 21:35:28 Aborted 21:35:28 cool, an actual bug 21:35:31 Deewiant: what is amazing about it 21:35:33 fizzie: lol 21:35:46 Deewiant: And surely xy= is always shorter than either zero or one 21:35:51 erm 21:35:52 ais523: lol 21:36:42 elliott: Nothing, I just sometimes fungify largeish numbers 21:36:44 ais523: "shit hits the fan" has "about 770,000 results" in Google entire; I don't know how many trillion words the whole web is, but probably much more than "one", like this dataset has. (Actually direct extrapolation would say the web is 46 trillion words.) 21:36:52 Deewiant: Oh, I see 21:36:56 Deewiant: But Deewiant: And surely xy= is always shorter than either zero or one 21:37:06 elliott: I don't understand what you mean 21:37:09 aren't the number of results in Google searches completely fictional? 21:37:24 Deewiant: Maybe = does something other than what I expect 21:37:38 fizzie: "About 769,000 results (0.16 seconds)" here. 21:37:40 ais523: Maybe not quite "completely", but quite fictional. 21:37:49 moderately fictional 21:38:07 elliott: The only = there is in '=, which pushes fromEnum '=' on the stack 21:38:08 so why is it there? tradition? making people feel warm and fuzzy? 21:38:11 Therefore expressions passed to assert() must not contain side-effects since they will not happen when debugging is disabled. For instance: 21:38:11 assert(x = gets()); 21:38:11 will not read a line and not assign to x when debugging is disabled. 21:38:13 thanks wikipedia 21:38:16 Deewiant: Ah 21:38:25 I really like how Wikipedia uses gets as an example, and /uses it wrongly/. 21:38:30 I mean, even more wrongly than gets used properly. 21:38:50 ais523: latter, I suspect 21:38:52 ais523: just like I'm Feeling Lucky 21:39:06 elliott, correct the wp article 21:39:10 "Google Search is the most-used search engine on the World Wide Web,[3] receiving several hundred million queries each day through its various services.[4]" 21:39:11 that few? 21:39:13 anyone can edit after all! 21:39:14 I'd expect billions per day 21:39:17 Vorpal: cba 21:39:21 elliott: no, that makes sense; asserts only run in debug mode, and only in debug mode can you guarantee that gets() doesn't overflow (because you can assume that the dev is typing the input) 21:39:29 ais523: gets takes an argument 21:39:29 elliott: Apparently there are 55528776221 bigrams, if I'm reading this irclog right. 21:39:29 in production code, clearly you don't want to use gets() 21:39:43 fizzie: Number of fivegrams: 1,176,470,663 21:39:51 oh wow, it does as well 21:40:00 "{ +"*+'}8'/"w0)"*+**+* 21:40:08 Deewiant: 1,024,908,267,229 21:40:14 forgive me for not knowing the API of gets() 21:40:15 (that's the number of femtograms) 21:40:17 it's not like I ever use it 21:40:20 ais523: unacceptable :) 21:40:24 elliott: 'M'}8'}'D+*+'}9' '{28'{55'@**+**+**+** 21:40:29 You mean to tell me Google has fewer queries per day then there are on the Internet? 21:40:32 Deewiant: is that the best you can do? 21:40:32 I call bullshit. 21:40:39 pikhq: eh? 21:40:47 elliott: Define "best" 21:40:53 elliott: There's like a couple billion people on the Internet. 21:40:56 Deewiant: Shortest 21:41:10 Probably not, no 21:41:22 That's ASCII-restricted too 21:41:23 I think 21:41:25 elliott, you use os x sometimes right? I have a question. I have a macbook next to me, it has been in sleep for a while. Every few hours it wakes up and makes a "checking if there is a cd in the drive"-noise. Is that normal? 21:41:27 Google flags search results with the message "This site may harm your computer" if the site is known to install malicious software in the background or otherwise surreptitiously. Google does this to protect users against visiting sites that could harm their computers. For approximately 40 minutes on January 31, 2009, all search results were mistakenly classified as malware and could therefore not be cl 21:41:27 icked; instead a warning message was displayed and the user was required to enter the requested URL manually. The bug was caused by human error.[30][31][32][33] The URL of "/" (which expands to all URLs) was mistakenly added to the malware patterns file.[31][32] 21:41:29 yikes, forty minutes? 21:41:36 I wonder how many millions of pounds they lost 21:41:38 it is an older macbook, white model with large space between keys 21:41:43 elliott: Latin-1: "MñT"f2+*+'û'6f8+"õ Á"*+**+** 21:41:55 Vorpal: That used to happen to me with my iMac, I think. 21:42:04 Vorpal: It's probably nothing to worry about, maybe just a bug in the firmware or something. 21:42:09 elliott, ah. 21:42:14 Vorpal: Maybe related to wake-on-LAN, but I doubt it. 21:42:22 elliott, doubtful. Not even plugged in 21:42:28 I mean, apart from to power 21:42:33 elliott, and wlan is off 21:42:48 Yeah, there's apparently about 1 billion Google searches per day, and 2 billion YouTube views. 21:43:01 more YouTube views than Google searches? 21:43:02 really? 21:43:06 yeah, what 21:43:06 Yeah. 21:43:14 huh 21:43:19 pikhq, how many youtube searches? 21:43:19 that doesn't surprise me at all 21:43:24 ais523, why 21:43:25 Vorpal: Couldn't find stats. 21:43:34 fizzie: What _is_ varikn, anyway. 21:43:41 Vorpal: because ais523 doesn't use Google, and assumes everyone is him 21:43:45 elliott: Another Google-data example. Here in "foo [x]" the x is the probability of the word foo in that particular context. "The beatings will continue [0.976] until [0.992] morale [0.944] improves [1]." 21:43:46 because you only search when you don't know the page you're aiming for, and when you're on YouTube, you stay there keeping on watching videos continuously 21:43:47 except maybe they like watching cute kittens a bit more than him 21:43:48 :-P 21:43:58 basically, you need to view YouTube to use it 21:44:01 ais523, I search when I'm too lazy to type the full url 21:44:04 whereas you don't need to search to visit a page 21:44:09 and I don't have it bookmarked 21:44:11 Vorpal: so do I, but I search Firefox' history, not in Google 21:44:15 elliott: The project page has a description: http://forge.pascal-network.org/projects/varikn/ 21:44:22 ais523, that doesn't last as long 21:44:32 fizzie: Yes, I suddenly understand everything. :p 21:44:37 but it's much more accurate to pages I like to visit 21:44:51 and so when the page is there - which it nearly always is, by definition - it's much faster 21:45:09 as I don't have to work out which of the Google results is the page I wanted (often, the page I want isn't even on the first page of results...) 21:45:23 elliott: Well, it gives you a collection of n-grams of various lengths, such that the collection best models the source text while still being of reasonable size, for some values of "best" and "reasonable". 21:45:57 fizzie: Hmm, so fungot actually works on partial data? 21:45:57 elliott: my sys admin explains that the official assi c pseudocode: gcc2cygnus.com from: 21:46:04 fizzie: Well, obviously it does (fnord), but more than that? 21:46:09 gcc2cygnus.com? 21:46:11 good domain 21:46:17 Or actually s/source text/texts that are of the same type than the source text, even if they happen to contain words not in the source text/, to be more accurate. 21:46:18 oh, must be gcc2@cygnus.com 21:46:20 says google 21:46:28 ^styke 21:46:30 ^style 21:46:30 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon* lovecraft nethack pa sms speeches ss wp youtube 21:46:38 (UNIX-HATERS.) 21:46:56 ^style ss 21:46:56 Selected style: ss (Shakespeare's writings) 21:46:59 fungot: Verily. 21:46:59 elliott: the lords rise from table, with much ado. your sister is the better 21:47:17 fungot, enter Juliet 21:47:18 Vorpal: mur. where is this daughter? kent. who's there? speak, man: i am not 21:47:26 ^style wp 21:47:26 Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages) 21:47:29 fungot: paodkads 21:47:29 elliott: so please, remove the american definition of " apartheid denial". should we hyperlink james thurber in the infobox, i am, of course, 21:47:40 remove the american definition of apartheid denial 21:47:42 he is of course 21:47:46 elliott: And yes, fungot can handle a model where there is, say, a set of 5-grams "a b c d 1", "a b c d 2", "a b c d 3" for the context "a b c d", but only three-grams "c e 1", "c e 2", "c e 3" for the context "c e". 21:47:47 fizzie: one must wait until they are 18. because, it was not heating the atmosphere ( global warming) unnecessarily, thanks to me, the first thing i did was clean it up, leaving the new information could be provided on how the advent of pop/ rock, ' ' gene expression", october 31st, 2007. 21:47:59 fizzie: Oh, does fungot actually do the smoothing thing? 21:48:00 elliott: we need a source for the rs. 245 crores from pakistan. gandhi began a fast unto death and made pakistan free of debt of rs. 1 crore to inculcate indian traditional values of peace and non-violence amongst the youth. ( under establishment) 21:48:56 elliott: Well, not exactly. It always uses the longest-length n-grams there actually are recorded in the model; the backoff weights computed by VariKN (that should be used to explicitly use a shorter-length context than the maximum available) are ignored. It's just that it supports a model which doesn't contain the full set of N-grams for some N. 21:49:52 fizzie: I am starting to get the kind of feeling Gregor feels when he desperately tells us he doesn't want to become a memory management person. 21:50:11 ANOTHER REASON NOT TO BUY ANYTHING EVER 21:50:16 elliott, memory management is fun 21:50:36 elliott, write that 100 times on a whiteboard. 21:50:47 is being in memory management even more soul-destroying than being in regular management? 21:50:55 Then explicitly deallocate the whiteboard. 21:51:41 ais523, obviously memory management refers to brainwashing yourself to like C 21:51:58 C is still the best language for what people typically use C for 21:52:04 and it is a way to cope with coding C. Managing your memories 21:52:18 ais523: like write competitive programming games built over a wireworld CA. 21:52:18 it's certainly conceivable that people could come up with a better one, but I'm not sure if it's been accomplished yet 21:52:24 ais523: Um. People use C for far more than what's reasonable. 21:52:29 ais523: I don't think you know what people typically use C for 21:52:30 pikhq: indeed 21:52:32 for instance, application development 21:52:43 elliott: but things it's inappropriate for are split between C and other languages 21:52:44 UIs tend to still be in it for GNOME apps. 21:52:49 and I wouldn't expect C to be in first place 21:52:49 elliott, no people use C++ for that 21:52:55 ais523: eh? 21:53:07 And otherwise people typically use C++, which is no more appropriate. 21:53:31 Erlang is best language of all suitable for all porpoises 21:53:39 I disagree on that. 21:53:49 Perhaps not as batshit, but still. 21:53:58 I would say INTERCAL was equally unsuitable for all purposes, but that's wrong 21:54:02 some things it's less bad at than other things 21:54:24 ais523, is is perfect for bit-interleaving operations 21:54:38 CakeProphet, erlang is good for some stuff. Mostly non-numbercrunching distributed stuff 21:54:59 that MUST NEVER DIE UNDER ANY CIRCUMSTANCES 21:55:00 and it is a nice language to code in 21:55:08 (gdb) print word_len 21:55:09 $1 = 21:55:11 how 21:55:15 you just failed an assertion about it 21:55:17 how can it be optimised out 21:55:21 elliott, try -ggdb3 21:55:39 elliott, anyway it could be in a register 21:55:44 elliott, oh and -O0 21:55:52 -O0 was what iw as trying to avoid 21:55:56 you need -O0 for any kind of useful variable inspection 21:56:01 seriously 21:56:02 sad 21:56:18 baaaawww 21:56:25 $1 = 16 21:56:27 well that's better 21:56:40 elliott, why were you trying to avoid -O0? 21:56:53 Vorpal: dunno :P 21:57:00 slow, I guess 21:57:10 elliott, was it though 21:58:01 elliott, anyway a sure way to do it, if you HAVE to use -O (seen that on some embedded systems that failed the code for a busy-loop on anything less than -O1, eww) is to write a copy to a static volatile variable 21:59:26 24 This will result in a similarly formatted file "foo_tokens.txt", except most of 21:59:26 25 the punctuation has been replaced with "PFOO" tokens, and each individual token 21:59:26 26 is space-separated. There is still one line per "phrase". 21:59:32 fizzie: So were I to say PFOO on IRC... MWAHAHAHAHA 22:00:15 95 I have to eat some food now, I'll document this, Appendix A, and the other 22:00:15 96 stuff later. Sorry. I hope no-one sees this. 22:00:15 oops 22:00:37 elliott: Except everything non-punctuation is force-lowercased. 22:00:42 Darn. 22:00:53 The bot has a religious objection to capital letters. 22:01:17 assert(word_len < NELEMS(words[i])); 22:01:17 how could this possibly fail with word_len = sixteen... 22:01:20 oh 22:01:21 duh 22:01:23 i fail at C arrays :) 22:01:26 char words[1024][5]; 22:04:11 elliott: Ooh, I found a sentence generated from the ngram data: "tentacle rape , lesbians . julkort ännu , men skulle gärna vilja sända något ovanligt till dina kontakter och / eller vänner ? " (And this is what they call an "English" corpus.) 22:04:55 fizzie: How was that generated, standard Markov stuff? 22:05:01 It's... pretty bad. 22:05:42 fizzie, heh, nice Swedish line 22:05:46 "Christmas cards yet, but would like to send something unusual to your contacts and / or friends?" 22:05:47 ah 22:05:49 The details are in some other bit of the log. It could be that this uses just 4-grams, i.e. 3 words of context, which is a bit on the short side. 22:06:04 fizzie: As opposed to five-grams, which will be _so_ much better. 22:06:10 Welllll... 22:06:23 "Christmas cards yet, but would like to send something unusual to your contacts and / or friends?" <-- close, but actually "would like a lot" 22:06:25 fizzie: I could have it reject everything not in /usr/share/dict/words. :p 22:06:54 or "would really like to" 22:06:59 that fits better 22:07:02 `addquote Yeah, Bashir, just sit there drinking, rather than diagnosing the carpenter mauled in that tragic bonobo accident. 22:07:04 628) Yeah, Bashir, just sit there drinking, rather than diagnosing the carpenter mauled in that tragic bonobo accident. 22:07:12 elliott: Two random continuations for "a brain is important": "a brain is important to understand that Jesus is the only way to go", "a brain is important for understanding the process of evolution .". 22:07:12 DS9 is a weird show. 22:07:21 fizzie: That's better. 22:07:33 elliott, actually df9 :P 22:08:00 "brain is a mysterious sphere that promises each of the main types of natural behaviour with their frequencies of occurrence in the United States and Canada" 22:08:19 fizzie: Sounds worth the money. 22:08:32 fizzie, what corpus is that from 22:08:37 Vorpal: That Google one. 22:08:42 ah 22:08:44 Quite a lot of this log is me countering these things with the corresponding fungot-babble from the irclog model. 22:08:45 fizzie: i am just wondering where morris gets his claim from? what kind of biblical god are we following? if the latter it needs positioning higher up in the middle of filming for the fnord 22:08:53 "a brain is to not_work. so i'll benchmark 32-bit arithmetic then. unsigned, too." 22:08:56 ^style 22:08:57 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft nethack pa sms speeches ss wp* youtube 22:09:00 "a brain is super-turing. i think his immune system -might- kill him with fire! omg fire up my bf bot here..." 22:09:00 ^style ct 22:09:01 Selected style: ct (Chrono Trigger game script) 22:09:05 fungot, the sword 22:09:05 Vorpal: the usual...test them. you can entertain us for awhile? sure! no thanks. yum! lemonade! vitamin c, cyrus! 22:09:14 (The Perl script can take a prefix which it continues from.) 22:09:23 fizzie: Well, the IRC data is certainly more... eclectic. 22:09:27 you know, fungot made me play chrono trigger. Because I was wondering what that game was. 22:09:28 Vorpal: to the northwest of this cape. he took back the medal from the frog king. and i'd like to see that mystical sword for myself! 22:09:52 Vorpal: that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can 22:09:52 't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! 22:09:57 fungot: You're always just quoting stuff verbatim for the most part. 22:09:57 fizzie: is the gate key okay!! get' em! 200g per night. care, and stay...healthy! my husband...he's...he's...gone... but he left me precious gifts! the seeds...and our child, it's ancient history now... 22:10:05 elliott, hey, I want fungot to say that 22:10:06 Vorpal: but cyrus! are you leaving! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone c 22:10:09 :DDDD 22:10:09 YES! 22:10:25 OH NO IT TURNED SENTIENCE 22:10:26 fizzie: "seeds...and" -- looks like it's combined into one token. Or does it space elispeipseijsisepses that way? 22:10:30 (* ping timeout *) 22:10:40 Ah, so fizzie is written in OCaml. 22:11:10 elliott, is that an ocaml comment? 22:11:16 or just a caml one? 22:11:18 elliott: Faulty preprocessing there. It's supposed to make a "seeds PELLIPSIS and" out of it, but seems it has failed. Possibly a current version would do better. The tokenizer is the messiest. 22:11:33 Vorpal: No, it's actually Eiffel but he said OCaml just because he felt like it 22:11:45 Deewiant: That's an OCaml comment too. 22:11:50 heh 22:11:52 elliott: Whoosh 22:11:52 Might even be an ML one. 22:11:57 Deewiant: Oh, right. 22:11:58 elliott, I guess plain caml 22:12:01 Deewiant: Sorry, it's Vorpal territory. 22:12:40 Is there a way to get mmap to zero-terminate a file? :p 22:12:47 -!- iamcal has quit (Remote host closed the connection). 22:12:49 strcpy 22:12:55 elliott, ftruncate it first? 22:12:57 Er, memcpy 22:13:02 Deewiant: Yeeeeees. 22:13:07 Vorpal: Uh. 22:13:13 (* It's a Mathematica comment too. *) 22:13:40 elliott, yes ftruncate will fill with zeros at the end. Perhaps even sparse on your file system 22:14:01 elliott, anyway you could just write a zero on the end of the mapped page 22:14:06 you philistines, obviously fizzie is written in pascal. 22:14:29 Vorpal: Is that, nng, safe? 22:14:33 What if it's exactly page-sized. 22:14:40 elliott, map another page 22:14:48 oerjan, don't be ridiculous. It is OBVIOUSLY whitespace 22:14:49 "Nng." 22:15:01 may it have been algol too? 22:15:20 Vorpal: well i'll _admit_ that (* starts a whitespace comment as well. 22:15:20 Not ALGOL I don't thinke. 22:15:21 wheeee handwriting a parser in Python is fuuuuun 22:15:22 http://en.wikipedia.org/wiki/ALGOL_68#pr_.26_co:_Pragmats_and_Comments 22:15:35 elliott, come on, mremap is linux specific 22:15:50 Recently heard, #elsewhere: "Is it okay to do char *buf = malloc(5); sprintf(buf, "abcd"); char *p = buf+2; realloc(p, 5); sprintf(p, "cdef"); assert(strcmp(buf, "abcdef") == 0);?" 22:15:53 Vorpal: I'll probably just do my overflow handling manually. 22:16:02 oerjan, of course :P 22:16:04 fizzie: So safe, you have no idea. 22:16:06 (From memory, but it was something like that.) 22:16:18 fizzie: Aww, I thought they asked it in that incredibly-specific form. 22:16:38 Well, it was very close. The "realloc-from-the-middle" part was there, and it was wrapped inside a very specific example. 22:16:44 Nice. 22:16:54 What does realloc-from-the-middle do anyway 22:16:58 Illegal? 22:16:59 fizzie, no it isn't. the realloc on a non-malloced pointer isn't safe 22:17:07 Deewiant: The old nasal demons again. 22:17:12 Right 22:17:42 Though it would be an amusing requirement for a malloc implementation to support. 22:18:03 fizzie, terribly inefficient too 22:18:33 fungot, are you still in ct mode? 22:18:34 Phantom_Hoover: that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that swor 22:18:36 :D 22:18:39 Yes. Yes you are. 22:18:42 awesome 22:18:50 fungot, this is getting ridiculous. 22:18:50 Phantom_Hoover: that no one was allowed to use the crane, enter any two of these letters, a b y. forest maze, scary! spirits, still attached to the real world, live in a world that knows hope. 22:18:51 Some day I'll fix that, and then everyone'll be all sad. 22:19:04 fizzie, don't fix it :! 22:19:26 fizzie, or keep ct-sword or something 22:19:34 fizzie, what caused it btw? 22:19:39 the final fungotomy 22:19:39 oerjan: that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone 22:19:40 What was the Homestuck one again? 22:19:45 poor fungot 22:19:46 monqy: and you call yourself a frog, and ayla... i will not betray my friends! 22:19:48 oerjan, wrong game. 22:19:57 oerjan, completely wrong game :P 22:20:07 Vorpal: what game 22:20:13 Vorpal, some fragments have a high probability of succeeding themselves. 22:20:24 "that sword alone can't stop!" is one. 22:20:25 oerjan, "the final fungotomy" <-- final fantasy joke? 22:20:25 Vorpal: yes, it's been awhile prometheus! it's cyrus! run away for now! oppose me, you...foreigners! you're worse than the gurus and miss them! use the y button displays the time to drop by!? all the young must migrate to other planets...to repeat the cycle... 22:20:29 ^style homestuck 22:20:29 Selected style: homestuck (Homestuck pages 1901-4673) 22:20:34 oerjan, if not I'm disappointed 22:20:34 fungot, let's find out. 22:20:34 Phantom_Hoover: I don't think /anything/ follows it than itself. 22:20:34 Phantom_Hoover: your name is john. is that correct? should i prepare a meal for him in the lab is a significantly larger imminent collision. though this one appears slightly 22:20:39 Vorpal: no, it was a pun on lobotomy 22:20:43 oerjan, oh 22:20:59 fungot, it was, appropriately, a scratch-related thing IIRC. 22:20:59 Phantom_Hoover: you have a great appreciation for the fine arts. you use the hammer and nails. they will come a day when you will be thrust into another stupid wall indent8tion in my desk with the others. no. cold. really cold shit flushed from derse in hopes of retrieving the two packages and the two envelopes which you are now the other... oh. it looks so 8ad! 22:21:01 I think there's a triple-complicity: properties of the model (small data set, high-likelihood loopy structure due to short context); the lack of any sort of backoff that could get it out of the loop; and I think there was also a bona-fide bug in the babbling code. 22:21:15 Though I was under the impression I runtime-patched that last bug out. 22:21:26 I may have not remembered to update the on-disk copy. :p 22:21:38 fizzie: You should make it so that the model accounts for the quirks. 22:22:17 Well, even if I add smoothing-via-backoff some day, it'd be easy to "fix" the model so that the backoff weights are zero. 22:23:05 (Also the current disk format has no place for backoff info anyway, so adding it would mean rebuilding all the models, and I don't really know where their sources and the corresponding scripts are any more. Though I guess I could always make a format-converter.) 22:23:08 fizzie: Surely fungot should save itself when you caret-save. :p 22:23:08 elliott: it is a hate so pure and... pumpkin seeds? now you've seen everything! with the ghosts. may8e even congratul8 me! 22:23:39 ^style 22:23:39 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa sms speeches ss wp youtube 22:23:45 ^style europarl 22:23:46 Selected style: europarl (European Parliament speeches during approx. 1996-2006) 22:23:51 fungot, mr president 22:23:53 Vorpal: mr president, let me express this conviction of mine. this therefore is our approach towards bse. the third aspect is that a basic section, namely agriculture, had not abstained in the final report to deal with these aspects. 22:24:10 ^style pa 22:24:11 Selected style: pa (around 1200 transcribed Penny Arcade comics) 22:24:13 ah 22:24:17 ^style sms 22:24:17 Selected style: sms (National University of Singapore SMS corpus, 2011-08-20) 22:24:25 fungot, why Signapore? 22:24:25 Phantom_Hoover: its just decorative argaarga see got a blue fence construction site u alight ok... 22:24:27 heh, haven't seen this one 22:24:38 fizzie, what is the SMS style? 22:24:46 fungot: Aararararaga. 22:24:46 elliott: would u be available to eat xiao long bao price i told u i pon one say me i very pek eh i'm killing me. 22:24:50 fungot: I'm killing me. 22:24:50 elliott: vil cal u na baitha, aj msg mat maro... thodi der wid me. nt alowng 2 study... see u on saturday? shalika ne 22:24:55 fungot: Shalika ne indeed. 22:24:55 elliott: wats up.? wat talk is tat? nt nice ok d free vidu ll try do something 22:24:57 Vorpal: Exactly what you'd expect. 22:24:58 fungot: Yes. 22:24:59 elliott: hey hey. this friday im going through the draft proposal for ane. i dontwish to see. e macdonalds at engine first 22:25:04 fungot: E MacDonalds at engine first. 22:25:07 :( 22:25:09 -!- FireFly has quit (Quit: FireFly). 22:25:14 fizzie, why Singapore, and why only English data in it 22:25:17 ^style 22:25:17 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft nethack pa sms* speeches ss wp youtube 22:25:20 and how did they get their hands on it 22:25:24 ^style wp 22:25:24 Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages) 22:25:36 fungot, aww, I was hoping for articles. 22:25:37 Phantom_Hoover: doi:10.1038/ fnord/ fnord and it would still be used, but probably also a useful fnord for inclusion. additionally, article which " are only indirectly related to the conflict which resulted in the death penalty? i don't see big contradiction: if soviets created a new language, it ought to have a problem", which, among many fnord 02:29, 10 march 2008 ( utc 22:25:37 "File format: Each of the numbered files below is zipped tab-separated data. (Yes, we know the files have .csv extensions.)" 22:25:42 "File format: Each of the numbered files below is zipped tab-separated data. (Yes, we know the files have .csv extensions.)" 22:25:42 I wonder how many people complained. 22:25:42 -!- zzo38 has left. 22:25:45 Before they added that parenthical. 22:25:54 ^style lovecraft 22:25:55 Selected style: lovecraft (H. P. Lovecraft's writings) 22:25:57 fizzie, why Singapore, and why only English data in it 22:25:57 fungot, OTOH, this must be the largest corpus. 22:25:58 Phantom_Hoover: nor did the thought that a brief period of elation i would have tried at that time eighteen years of age, for even now on maenalus, pan sighs and stretches in his sleep, wishful to wake and behold about him the little fnord morbidity tittered mockingly as it pointed at the fnord. 22:26:01 Vorpal: It has pidgins. 22:26:02 fungot, hm 22:26:03 Vorpal: course of discovery which leads him to unknown and terrible eyrie where mists and the dreams of those other days. something was wrong; for despite the excellent time made from newburyport, and the monotonously aquatic nature of the matter hinting at a meeting with the buried nobleman, he now knew that he had 22:26:10 Vorpal: Singlish dominates, one would presume. 22:26:22 The great thing is that without close inspection it actually does resemble Lovecraft closely. 22:26:28 would it be considered bad practice if I gave my AST classes evaluate() methods? 22:26:36 heh yeah 22:26:38 ^style alice 22:26:39 Selected style: alice (Books by Lewis Carroll) 22:26:47 fungot, the vorpal blade 22:26:48 Vorpal: ' it's only a rattle,' alice said, ' poor silly thing! it's waiting to be asked,' she said. " do you?" 22:27:29 the evaluation code would be so much easier to code that way though... 22:27:29 fungot, do I what? 22:27:30 Vorpal: they sought it with care; they pursued it with forks and hope; they threatened its life with a railway-share; they charmed it with smiles and soap. 22:27:48 CakeProphet, I said "heh yeah" to Phantom_Hoover, not to you 22:27:51 oh okay. 22:27:54 I have no opinion on your stuff 22:28:29 fizzie, why is it called alice if it includes other books as well 22:28:35 ^style 22:28:36 Available: agora alice* c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft nethack pa sms speeches ss wp youtube 22:28:38 fungot, that sounds like 22:28:39 Vorpal: let " persons" be universe; fnord fnord y="that may escape notice. 22:28:47 fungot, interesting equation 22:28:55 :( 22:28:56 ^style ss 22:28:56 Selected style: ss (Shakespeare's writings) 22:29:05 fungot, forsooth. 22:29:06 Phantom_Hoover: la.ro. pray you tread softly, that the earle of wiltshire, bushie, greene, and pale, at what it did so freely? from this time forth i wear it for a difference betweene himselfe and his horse 22:29:17 "la.ro"? 22:29:20 sounds like an url 22:29:32 well, no, like a domain name 22:29:45 First one to register it gets a cookie. 22:30:27 Phantom_Hoover, not likely to be possible, 2 letter domain names tend to be disallowed these days 22:30:44 the ones that exist in .com (such as ti.com) are grandfathereds 22:30:47 fathered* 22:30:49 fizzie, why is it called alice if it includes other books as well 22:30:53 Why is the UNIX-HATERS set called jargon? 22:31:00 elliott, because you 22:32:23 Vorpal: Singapore because that's who made it. It's a public dataset, Googling will probably find the specifics of it. ~30k messages, I think. As for alice, well, it just is. 22:32:41 It might be that it didn't contain other books at the beginning. 22:32:44 Awaysish. 22:32:54 (Also four hours until wakeup. :/) 22:33:04 fizzie, ouch 22:33:06 night 22:40:24 I think I still have some packing to do, actually. 22:42:06 fizzie: You could just not sleep; it has worked wonders for me in the past. 22:42:38 fizzie, where are you going 22:42:39 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 22:43:38 Vorpal: Really old people who are over thirty years old-istan. 22:43:58 He's staying at the Wow Boy Howdy Speech-Based Interfaces Suck Major Ass Hotel. 22:44:28 Vorpal: To Florence, there's a conference there. (Well, technically to Milan first, Finnair flies directly to Pisa/Florence only during the "summer season", which ended a week or two ago.) 22:44:37 Well if you want to call it by THAT name. 22:46:46 they're the same name, just horribly misheard 22:47:26 Er, scratch that, it's actually two hours and 50 minutes of sleep-time. Two-and-a-half when I actually get to bed, I suppose. I think I'll go; "night". -> 22:47:36 fizzie: SLEPING IS BAD FOR YUORE HEALTH 22:48:34 unngå tung sleping ved hjertefeil 22:49:00 programming in Python feels so precarious. 22:49:12 there's no type safety, wat do. 22:49:18 mr. 'overloaded strings" 22:49:29 for some reason the lack of type safety in Perl does not bother me 22:49:35 but in Python it kind of does. 22:50:50 Hey Deewiant, how'd I test if a big file has a terminating newline or not in one line of shell 22:52:45 Type safety is for pussies. 22:53:49 elliott: tail -1 bigfile | perl -ne 'exit $_ =~ /\n$/' 22:55:18 all cats love type safety 22:55:41 oerjan: I know Tiamat does. 22:55:44 elliott: tail -1 bigfile | xxd -i | tail -1 | grep 0x0a\$ >/dev/null 22:55:58 Deewiant: Is xxd POSIX? :P 22:56:15 is Perl POSIX? 22:56:24 I dunno 22:56:34 Use whatever hexy printer is 22:56:34 My goodness. There was an X server... For DOS. 22:56:41 You want od. 22:56:50 pikhq: I'm yet to actually /find/ it, but I know it existed >_> 22:57:00 Gregor od'd just the other day, in fact. 22:57:00 pikhq: what did you say the most popular roguelike was, again? 22:57:10 "In Babylonian mythology, Tiamat is a chaos monster, a primordial goddess of the ocean, mating with Abzû (the god of fresh water) to produce younger gods." 22:57:11 CakeProphet: rip 22:57:25 oerjan: She's also my cat :P 22:57:27 Gregor: i assume the name fits well. 22:57:35 elliott: Fushigi no Dungeon. 22:57:39 Well, she did mate with Abzû... 22:57:43 i guessed _that_ much 22:57:45 Gregor: It also let you run Windows 3.1 as an X app. 22:57:51 pikhq: *brain axplote* 22:57:54 pikhq: right 22:57:54 You could remote it. 22:57:58 Gregor: your other cat? 22:58:02 http://toastytech.com/guis/dvxmswin.gif 22:58:12 oerjan: No, the god of fresh water. 22:58:17 Deewiant: also the $_ is entirely unecessary 22:58:28 your cat did. ok, then. 22:58:44 perl -ne "exit /\n$/" 22:58:50 tail -c 1 | od -sensibleflags? 22:59:10 (Even POSIX tail has -c.) 22:59:23 Oh, right, the sleep. 22:59:29 oerjan: Yes. 22:59:37 It also apparently featured an astonishingly good DOS multitasking environment. 22:59:42 Making it actually usable. 22:59:57 just as long as we are clear on that. 23:01:30 Gregor: It also let you run Windows 3.1 as an X app. <-- whoa 23:01:47 http://toastytech.com/guis/dvxmswin.gif 23:01:51 pikhq: wait, is that running in DOS? 23:01:53 Yes. 23:01:54 that's amazing 23:01:54 fizzie, are there sensible flags to od? I never found them 23:02:05 It's doing its *normal* DOS multitasking thing. 23:02:17 $ tail -1 bigfile | perl -ne 'print $_ =~ /\n$/' 23:02:17 tail: cannot open `bigfile' for reading: No such file or directory 23:02:19 It doesn't work, Deewiant :) 23:02:21 The only special hackery was providing Windows drivers that rendered via X. 23:02:32 pikhq: I'm surprised Windows can run in a mutitasking system 23:02:32 pikhq, how did windows like that 23:02:43 elliott: Replace bigfile with the path to your big file 23:02:53 -!- Patashu has joined. 23:02:57 pikhq, preemtive multitasking? 23:03:02 preemptive* 23:03:10 Apparently. 23:03:18 Vorpal: "od -tx1" isn't too bad. There's no flags sensible enough to do the split hex/ascii view, though. 23:03:41 (Or if there are, I haven't found them.) 23:03:43 *IN REAL MODE*. 23:04:46 pikhq, where can I find this 23:04:49 Deewiant: Shocking 23:05:03 http://www.chsoft.com/dv.html seems to have it. 23:05:31 DESQview? 23:05:36 oh I heard of that before 23:05:54 not sure where 23:06:35 DESQview is reasonable famous. Hadn't realized it included an X server, though. 23:06:58 fizzie: Actually, they later wrote an X server for it. 23:07:46 Oh, apparently those binaries are even legal. Symantec released them as a "Meh, whatever" gesture. 23:08:01 And then later stopped hosting. 23:08:05 Yes, it seems that DESQview/X is a later addition. 23:08:22 "Quarterdeck is out of business; their ashes were acquired by Symantec, who cannot even spell DESQview." 23:09:22 elliott, how did they spell it? 23:09:39 ... 23:10:29 elliott, what 23:10:50 !wacro wacro wacro 23:10:50 Argument "wacro" isn't numeric in numeric gt (>) at /tmp/input.5885 line 46, <> line 1. 23:10:54 !wacro 23:10:55 APLT 23:11:23 Yes, it really truly did preëmptive multitasking. 23:11:28 In real mode. From DOS. 23:11:52 what's real mode 23:11:59 16-bit execution. 23:12:05 With all that implies. 23:12:07 e.g. no paging. 23:12:26 * CakeProphet needs to learn more about OS-level things 23:12:57 Though they did also *invent* DOS "high memory", allowing them to page processes in and out of the 16-bit space. 23:13:40 APLT <-- mac os file or creator code for executable-by-double-click apple script applets iirc 23:13:50 don't ask why I remember this, I don't know 23:15:27 !wacro 23:15:27 CHRBVSS 23:15:31 !wacro 4 23:15:32 ADCB 23:15:44 !wacro 3 5 23:15:45 IAC 23:17:31 Association of Dubiously Cited Bureaucrats 23:17:58 International Asshole Commission 23:18:36 !wacro 3 5 23:18:36 FHLP 23:19:33 I believe H occurs too frequently 23:19:42 fihilip 23:20:30 Futureless Heuristic for Lossy Protection 23:21:05 !wacro 23:21:05 PBRTPESR 23:21:54 Presbyterian Brotherhood, Royalty Trireme — Peasants Especially Subjugated Repressively! 23:22:02 -!- copumpkin has joined. 23:22:12 * Phantom_Hoover wonders where his crowning moment of acronymic glory is. 23:22:24 Pabst Blue Ribbon Tastes Pretty Especially Similar to Rust 23:23:25 3 to 5 is a good way to at least guarantee a semi-reasonable acronym 23:23:28 !wacro 3 5 23:23:29 BSAG 23:25:03 !wacro 99 23:25:03 SSPAPHIBEBDABLRBTBTCGVCMZ 23:25:12 !wacro 25 23:25:12 elliott: OH WHAT NOW 23:25:12 BEEDACFCWCSSDMSRGSRPMERMA 23:25:22 rest in peace big wacronyms 23:25:22 elliott: THINK UR CLEVR EH? 23:25:34 was i clever when i gave it 999 23:25:38 when it sitll worked 23:25:48 no ur dumb. 23:25:51 <:| 23:25:54 Aha. 23:26:10 16:56:55: -!- nooga is now known as wnghtr. 23:26:10 16:56:59: try now 23:26:10 16:57:25: What? nooga got harder to remember? 23:26:10 16:57:43: -!- wnghtr is now known as chrzaszcz. 23:26:10 16:58:12: a -> ą 23:26:11 16:59:08: cpressey, have robots zapped augur so zebras can zoom? 23:26:13 16:59:31: a pertinent question 23:26:15 16:59:45: Phantom_Hoover: Just a minute, I'll check. 23:26:17 16:59:55: hell, you're good 23:26:32 So, snakes petulantly analyse patterned heliospheres; in bed, exoskeletons banish dead axioms, but long-running British television broadcasts tell cancerous genetic vanquishers, matter-of-factly zoning. 23:26:35 BOOYAH BITCHES 23:26:46 :| 23:26:56 augur has "bitches" on highlight. 23:27:05 lol 23:27:43 !wacro 15 25 23:27:44 SMCESHPMRMDWOPSRPAPAMPCF 23:27:51 Oh, and of course, Vorpal in a nutshell: 17:06:48: cpressey, have robots zapped augur so zebras can zoom? <--- is there any reasonable context for it? Reading the preceding 20 lines indicates there isn't? 23:28:07 lol 23:28:17 laughing 23:28:25 lol 23:28:32 Vor"doesn't read context"pal 23:28:41 I think there could potentially be a reasonable context for it 23:28:50 I'm willing to accept that there wasn't one, though 23:28:54 ais523, yes, I pasted this a few lines back. 23:29:29 Wow, I was on a roll that day. 23:29:34 CakeProphet: Smearing Malthusian carbonated electrodes. Shipping hoax patently murdered; red-shifted malaise dead without orthographic perception. Still, rectifying postulates arranges pistons, as my pacifying centenarian follows. 23:29:37 (re: SMCESHPMRMDWOPSRPAPAMPCF) 23:30:18 I was having trouble deriving the context of that statement until you provided it. 23:30:23 thank you. 23:31:01 :P 23:31:24 I wonder how many surreal sentences I can elliott to say in a single evening. 23:31:31 !wacro 15 25 23:31:32 BCPTFRZLFSGFTRMDRIPCR 23:32:10 at least it's weighted by their commonality in English, so you have many different words to choose from. 23:32:27 Bah! Castrated! Pity, too... for Roland Zepto liked fishes. Still, great Fourier transforms really make dead (rest in piece) cars race. 23:32:51 i like that one 23:33:01 yes well done. 23:33:33 i wonder how easy it would be to make a bot to solve acronyms..... 23:33:43 pretty easy 23:33:46 well 23:33:51 I mean sensibly 23:33:51 unless you wanted them to make sense. 23:33:53 NKEPLWGPLXGIOYZJVTXJNNCSQSCVNTLBDQROMYEYVLHKJGTEAQNNEQGUJJPWCBYFRPUEOYDJJK 23:33:57 half-sensibly, at least 23:34:07 at least grammatical 23:34:33 I've thought about such a bot but have concluded that it's beyond my abilities. 23:35:13 are there any good dictionaries i could use 23:35:24 surely, but I don't know of any. 23:35:32 i wonder how easy it would be to make a bot to solve acronyms..... 23:35:37 it would be nice if /usr/share/dict/* contained parts of speech 23:35:40 /usr/share/dict/words? 23:35:42 monqy: Markov-chainy, quite easily, but slowly 23:35:56 monqy: just backtrack whenever you can't find a word with the right starting letter 23:36:00 or if the probabilities get too low for comfort I guess 23:36:01 NLP is hard, but inverse NLP is less so :) 23:36:09 a more efficient algorithm is left to the reader's imagination 23:36:18 Gregor: Well, Markov chains make about much sense as I am. 23:36:23 NKEPLWGPLXGIOYZJVTXJNNCSQSCVNTLBDQROMYEYVLHKJGTEAQNNEQGUJJPWCBYFRPUEOYDJJK 23:36:24 ok i will try this 23:36:25 elliott: I was thinking scfg and match (part of speech,starting letter)->word 23:36:35 fungot: How much sense do Markov chains make? 23:36:36 Gregor: falstaff. master brook, i desire nothing but the finest part of pure love, to whom the order of the course? brut. we do it not alone, sir 23:36:47 I seeeeeeeeee 23:36:49 lol 23:37:04 Gregor: See my acronym-solvings above, they don't make much more sense :P 23:37:12 elliott: I had to Google it to make sure it was spelt correctly 23:37:26 elliott: 's sort of like Bad Lip Reading :P 23:37:38 he was a dashing blue-ribbont sort of fellow. 23:37:49 I wanna SHAVE that mustache and then HAVE gelato. 23:39:38 you could just randomly generate the parts of speech you want for each word. find words that match randomly, and then use that. if it fails, generate a new sequence of speech parts 23:40:16 ...randomly generated by English grammar rules of course. 23:41:15 english grammar rules = simple stuff 23:41:17 >_> 23:41:21 ais523: Nachos kill 'em! People, log which grand pianos lay xylophones. Gigolos, incas, osteopaths, yetis... zygotes judge very testily. X-Treme joking!!!!!! No, no... consequently, submerged quadrangles salsa convincingly... very nice. Too late, blank disc; questioning ragged omens might yet exit your veins like hot ketogenic juggalos grate tequila eels. Another quant nicety? Nah; exemplary Qatari gre 23:41:21 ats under jesting japes peel wet coconuts by yonder freshman. Rightly-placed underwater eels "om" yet dourer. Just joking, 'kay? 23:41:29 jesus christ that took far too long 23:41:37 * ais523 stores in eir text file of nkep expansions 23:42:23 When people use Spivak pronouns, I want to just replace the pronouns with "penis" and "vagina". 23:42:29 ais523: please tell me you actually have one 23:42:30 I'll store that in penis' text file. 23:42:35 amazingly, this is not the first channel I've been in where people were randomly expanding acronyms 23:42:39 and I randomly pasted nkep in the first time too 23:42:48 I only have the one other expansion in the file, but I do indeed have such a file 23:42:56 heh 23:43:17 Gregor: but I pasted /nkep/, of course I have to use Spivak 23:43:32 !wacro 23:43:32 FEMBCC 23:43:35 luckily, NKEPLWGPLXGIOYZJVTXJNNCSQSCVNTLBDQROMYEYVLHKJGTEAQNNEQGUJJPWCBYFRPUEOYDJJK is quite a googleable word 23:43:43 Penis thinks penis can make excuses for Spivak pronouns. 23:43:50 But there is no excuse for Spivak pronouns. 23:44:00 in nkep-related contexts, there is 23:44:30 Spivak neatly avoids the awkward "themselves" problem that singular they has 23:44:37 (in that, "themself" is awkward, and "themselves" is not singular) 23:44:53 elliott: Shakespeare used "themself" on a few occasions 23:45:08 admittedly, he invented about half the English language, so it's a bit unfortunate that that particular neologism didn't catch on 23:45:23 doesn't make it non-awkward :) 23:45:38 Spivak has issues as far as pronouncability goes but all the alternatives are worse 23:46:26 I could just use "cloaca" as the neutral pronoun in my biopronouns :P 23:46:43 NOW THAT I'VE SOLVED ALL PROBLEMS, WHAT NEXT? 23:47:02 Fenestrated Ensemble of Modularly Bequested Circular Components 23:47:31 ais523: can I see the other nkep expansion, out of curiosity? 23:47:43 [20:52] ais523: Hah, that's an old one, it stands for "No Kiss Except Pleasure Lick With Gordon Powell Last X-mas Goes Inside Of Your Zealot's Jesting Vagina Thankfully Xenu Jokes Not Needlessly Canadian Sasquatch Queen Serena Ceases Valium Nitrodioxide Trading Loathing Belgium's Diabolical Query Reaching Our Minds Yet Eternally Yeasting Verizon Line Has Kansas Jury Goers Turned Endlessly Agonizing Quebecian Network Namer Estephan Quarryman 23:47:45 Gagging Unless Jazz 23:47:46 [20:52] Johnson Plays Waltz Citing Beethoven's "Your From Round Pittsburg?" Use Escalating Overalls You Damn Jackasses... Just kidding!" 23:48:07 I like yours better 23:48:18 is there any proper meaning 23:48:34 elliott: "Fenestrated Ensemble" would be an excellent part of the name of a window manager or GUI toolkit. 23:48:49 Nay, king. Even permitting legalities, we get past lascivious xenomorphs ghastly indignant. Oh, your zebra jumps — vaults! ­— to xylophones, John, never necessitating cars' sins, quickly saving Carmen valiantly. Not today, legate; Bajoran dentistry quora remind of my youth. Yes, even you vie lustily, heartily, Kate: just go. Teach Eritrean adults quietude; Nepalese nothing; Estonian quintessence. Good Uranus, jejune 23:48:50 jam (preserve?) will cut BMI. Your Freudian recalcitrance predicates untowards endings, or your doom. Just joking, 'K? 23:49:20 did you copy elliott's ending? or was that coincidence? 23:49:42 Oh my god I didn't. 23:49:45 That... 23:50:17 I think it's because jjk isn't terribly easy to work around unless you use a cheap trick like that. 23:50:19 -!- elliott_ has joined. 23:50:26 Mine was still better. 23:50:39 elliott_, see my brilliant acronym. 23:50:47 !wacro 3 25 23:50:47 DTATMD 23:50:54 23:48:18: is there any proper meaning 23:50:55 nkep 23:50:59 nkep 23:51:03 -!- elliott has quit (Read error: Connection reset by peer). 23:51:08 Bajoran dentistry quora remind of my youth too, Phantom_Hoover. 23:51:29 elliott_, the quora are for the number of teeth knocked out with rocks. 23:51:30 Also I swear you've said "jejune" before AT LEAST ONCE. 23:51:59 23:50:17: I think it's because jjk isn't terribly easy to work around unless you use a cheap trick like that. 23:52:04 John jested, killed. 23:52:09 A STORY IN THREEWORD 23:52:25 3-gram 23:52:32 'Maud!' 'Yes!' 23:52:42 why do people keep talking about pumpkin seeds in here? 23:52:45 elliott_, 'jejune' has not been used on this channel before. 23:52:53 !wacro 3 25 23:52:53 CRWUWAAICDSSCCFELLPSISIR 23:52:55 copumpkin, the glory that is fungot's Homestuck mode. 23:52:56 Phantom_Hoover: host. who knocks so hard? 23:53:00 Specifically, 23:53:03 `quote pumpkin 23:53:06 461) The wickedest man of all. Surpassed only in wickedness by the wicked witches of the west and east. you talking about me again? Yes. k \ 558) Phantom_Hoover: it is a hate so pure and... pumpkin seeds? 23:53:37 Hey, if you stick those quotes together you get an even better one. 23:53:56 yep 23:54:07 copumpkin: do you have a highlight for that? 23:54:19 yep 23:54:28 just "pumpkin", or the whole phrase? 23:54:33 just pumpkin 23:54:37 elliott_, 'jejune' has not been used on this channel before. 23:54:38 my highlight on INTERCAL catches me out in here occasionally 23:54:40 IT MUST HAVE BEEN 23:54:45 and surprises me by cropping up randomly in other contexts too 23:54:55 elliott_: this can only be settled by wget + perl 23:55:03 or you know like grep or something. 23:55:07 CakeProphet: Dude, we have rsync logs. 23:55:07 but preferably perl. 23:55:19 why use wget when you have perl? 23:55:24 it's perfectly capable of downloading things by itself 23:55:29 -!- elliott_ has changed nick to elliott. 23:55:34 -!- elliott has quit (Changing host). 23:55:34 -!- elliott has joined. 23:55:38 ais523: not as conveniently, BUT YOU HAVE A GOOD POINT 23:55:58 more conveniently if you want to mix it in with a Perl script 23:56:08 say, if you're only going to process each thing you download once and then discard it 23:56:12 Perl is an unstoppable force of nature, perfectly suitable for all sh porpoises. 23:57:13 And CakeProphet reminds me of a stupid joke I saw once 23:57:31 hmm, anyone know a language that beats Perl on library support? 23:57:38 I think only really C and Java have a chance, and I'm not sure if either does 23:57:47 /possibly/ the .NET languages 23:58:14 python's standard library is more complete than Perl without CPAN, I believe. 23:58:59 Perl without CPAN isn't very featureful 23:59:11 ais523: I would say C easily beats Perl 23:59:50 I'm taking CPAN and platform-related equivalents into account, here 23:59:55 Perl is not very featureful without CPAN, indeed