←2011-08-25 2011-08-26 2011-08-27→ ↑2011 ↑all
00:00:00 <CakeProphet> well if I only took the 1-gram set I could generate 2-grams and 3-grams from those.
00:00:06 <fizzie> (total-counts file of unigrams for "English")
00:00:08 <CakeProphet> or just use the 3-gram set
00:00:18 -!- hagb4rd has joined.
00:00:19 <elliott> fizzie: There's also that "one million" dataset.
00:00:21 <elliott> <CakeProphet> well if I only took the 1-gram set I could generate 2-grams and 3-grams from those.
00:00:24 <elliott> Uhh, I don't think so.
00:00:45 <fizzie> If you do letter bi/trigrams, yes, you can generate them from word-unigrams, when modeling a single word.
00:00:50 <elliott> Oh, well, right.
00:00:59 <fizzie> The word-trigram set is pretty useless in that case.
00:01:01 <elliott> /usr/share/dict/words would do just as well though, surely.
00:01:35 <CakeProphet> NOPE NEEDS MOAR DATA.
00:01:54 <fizzie> elliott: The web dataset was built over 1 trillion "words" (it's a bit messy) of random Internet pages, I believe.
00:02:02 <elliott> More obscure and therefore probably less familiar-looking data?
00:02:16 <CakeProphet> well the wlanguage-insane would be enough
00:02:27 -!- ais523 has quit (Remote host closed the connection).
00:02:46 <CakeProphet> elliott: I'm not necessarily looking for familiar-looking acronyms.
00:02:48 <fizzie> http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13
00:02:55 <fizzie> $150 for non-members.
00:03:07 <fizzie> But you'll get the shiny DVDs. :p
00:03:22 <elliott> fizzie: Is that of the web corpus?
00:03:24 <elliott> Worpus.
00:03:26 <elliott> Hunt the Worpus.
00:03:29 <elliott> Indeed it is.
00:03:32 <fizzie> Yes.
00:03:41 <elliott> What kind of DVD is it?
00:03:44 <elliott> i.e. capacity.
00:03:49 <CakeProphet> for mad overkill I could interpolate the non-duplicate occurences of words in both the insane language dictionaries and google data.
00:04:26 <elliott> fizzie: Also what are the chances of you putting them up on a torrent tracker. :p
00:04:36 <fizzie> Very zero. :p
00:04:40 <fizzie> It has about 13.5 million unique "words" of "English".
00:04:56 <elliott> <elliott> What kind of DVD is it?
00:04:56 <elliott> <elliott> i.e. capacity.
00:05:09 <elliott> fizzie: Also it doesn't really matter how real the words are with chains that long. :p
00:05:42 <elliott> File sizes: approx. 24 GB compressed (gzip'ed) text files
00:05:42 <elliott> Ah.
00:05:42 <fizzie> 4.4G says du -h.
00:05:57 <fizzie> (For DVD1.)
00:05:57 <CakeProphet> the google data would also allow my acronym generator to take year filters.
00:06:13 <CakeProphet> you know, if you're into that thing.
00:06:13 <elliott> 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 <fizzie> Yes, the book data is fancy that way.
00:06:45 <CakeProphet> elliott: nah I'm using Perl it'll be fine.
00:07:04 <fizzie> elliott: Dumped into PostgreSQL, I think it took a second or three per query (i.e. to sample one new word).
00:07:10 <elliott> 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 <elliott> Well PostgreSQL is not very optimised.
00:07:17 <CakeProphet> basically my "markov" chain will be hash tables.
00:07:29 <elliott> Can't you use one of those fancy short-English-text-optimised compression things?
00:07:31 <elliott> Bloom filters??
00:07:31 <elliott> Help.
00:08:19 <elliott> fizzie: help.
00:08:24 <fizzie> You can arrange them into a reversed-context tree, that makes the sampling fast. It's what fungot does.
00:08:24 <fungot> fizzie: only one place can sit one rnd first
00:08:57 <elliott> fizzie: Like, a hash table of most recent word to (a hash table of second-most recent word to ...)?
00:09:04 <elliott> That's just... a trie.
00:09:11 <CakeProphet> so the acronym generating data structure will basically be Ngram -> (Char -> Frequency)
00:09:16 <CakeProphet> where -> is a hash table.
00:09:28 <elliott> CakeProphet: Yes, that's going to be so awfully "efficient" with gigabytes of data.
00:10:06 <elliott> fizzie: Oh, dear, that 24 GB figure is gzipped.
00:10:15 <elliott> fizzie: That means it's probably ten terabytes unzipped.
00:10:15 <fizzie> 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 <fizzie> I think it was a bit less than a terabyte in Postgres, IIRC.
00:11:04 <elliott> fizzie: But I don't have a disk that big. :(
00:11:19 <CakeProphet> elliott: what are you going to use this data for?
00:11:20 <elliott> fizzie: I suppose I could plug in an external drive, but that'd be laughably slow.
00:11:29 <elliott> CakeProphet: An IRC bot to answer questions and babble, duh.
00:11:46 <monqy> would it be good
00:11:58 <elliott> monqy: Well, I mean, I'd like it to be good.
00:12:31 <fizzie> 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 <fizzie> Assuming they have enough books from each period, anyway.
00:12:57 <elliott> fizzie: Yeeeees, but that's a much less interesting engineering challenge.
00:13:15 <elliott> fizzie: I don't suppose the books n-gram data includes punctuation.
00:15:17 <fizzie> Haven't looked. The web-data does.
00:16:26 <fizzie> "argle, bargle" seems to have been turned into three tokens <argle> <,> <bargle> for the web.
00:16:33 -!- sebbu2 has joined.
00:16:44 <fizzie> They've probably also filtered it somewhat.
00:17:00 <elliott> Right.
00:17:10 <elliott> It'd be nice to get open and close quotes separately. :p
00:17:15 <elliott> Or at least space-quote differentiated from quote-space.
00:18:25 <fizzie> 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 <fungot> 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 <CakeProphet> if the data contained all punctuation then a close quote would be preceded by [,.!?]
00:18:41 <elliott> fizzie: How does it do the guesstimationeration?
00:18:44 <elliott> Or is that from raw data?
00:18:54 <fizzie> It's from raw data, yes.
00:19:21 <fizzie> 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 <fizzie> 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 <CakeProphet> halp what's fastest way to download all of the 1-gram data for every language on this page
00:21:36 <Patashu> wget?
00:22:14 <CakeProphet> does it have some kind of URL regex option?
00:24:01 <CakeProphet> searching for the term regex in its man page yielded nothing.
00:24:43 <elliott> Regexps: The only way to do anything.
00:24:43 <CakeProphet> oh nevermind I found it.
00:24:46 <Patashu> I don't think it's smart enough to know what urls are valid
00:24:46 <Patashu> oh?
00:24:56 <elliott> <fizzie> It can't preprocess-fake an already ngrammized data like the Goggel stuff.
00:24:57 <elliott> fizzie: Right. :(
00:25:19 <CakeProphet> Regexps: probably the best way to filter only the URLs I want in this case
00:25:45 <CakeProphet> but it's more like sh wildcard stuff and not regex.
00:25:51 <CakeProphet> should work fine
00:27:52 <CakeProphet> any idea what "english 1 million" is?
00:29:22 -!- evincar has joined.
00:31:01 <fizzie> 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 <elliott> fizzie: Good slepping.
00:31:24 <elliott> fizzie: But, um, BLOOM FILTERS
00:31:28 <elliott> SOLUTION TO ALL MARKVS???
00:31:30 <elliott> EXPERTS SAYS YES
00:32:04 -!- azaq23 has joined.
00:32:25 <CakeProphet> ls
00:32:26 <CakeProphet> ...
00:33:13 <evincar> Which one of us did you expect to give you a directory listing?
00:33:13 <lambdabot> evincar: You have 1 new message. '/msg lambdabot @messages' to read it.
00:33:45 <fizzie> I'm not immediately clear on how probabilistic set-membership-testing would help all that much.
00:33:52 <pikhq> TIL that Israeli DST is neither deterministic nor algorithmic.
00:34:04 <monqy> 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 <fizzie> Now the real sleep. (I just took a quick shower there, that's why still awake.)
00:35:10 <pikhq> DST in Israel is determined by whatever their legislature declares that year.
00:35:27 <monqy> evincar: in short, using good judgment when picking names is better than just sticking to well-established notation/whatever
00:35:31 <pikhq> Which means that there must always be at least one tzdata update a year.
00:35:41 <evincar> monqy: I agree.
00:36:02 <evincar> Good judgement includes genre awareness, that's all.
00:37:03 <monqy> consistency, clarity, and brevity are good too
00:37:03 <CakeProphet> weee wget
00:37:51 <evincar> CakeProphet: What have you wgotten?
00:39:51 <monqy> is this still about acronyms or have you moved onto more grand (general term for whatever you're doing)s
00:39:58 <monqy> things
00:40:01 <CakeProphet> all the 1-gram data from http://ngrams.googlelabs.com/datasets
00:40:02 <monqy> (that works, right?)
00:41:32 <CakeProphet> evincar: I'm still working on the acronym generator.
00:41:38 <CakeProphet> elliott has some kind of bot in mind.
00:42:11 <evincar> Bluh. English orthography isn't exactly ideal for this sort of thing.
00:42:20 <monqy> english orthography is awful
00:42:41 <evincar> But as long as we all agree on it, it serves.
00:42:52 <evincar> (Well, apart from color/colour etc.)
00:42:53 <CakeProphet> !perl %x = (); $x{a}++; print %x
00:42:55 <EgoBot> a1
00:42:59 <monqy> im disagree 100%
00:43:07 <monqy> looka t me go
00:44:29 <CakeProphet> I wonder if I should base my frequency data on the page/volume count
00:44:49 <evincar> My language continues to evolve.
00:45:09 <evincar> I decided it would be nice to have a non-TC language for making families of stack combinators.
00:45:18 <elliott> ok
00:46:08 <Patashu> stack combinators are like rot, dup etc?
00:46:20 <evincar> Yep.
00:46:34 <CakeProphet> lol wgerman-medical
00:46:57 * CakeProphet downloads everything
00:46:58 <evincar> But rather than specifying dup1, dup2, dup3, you can just specify dupn.
00:47:14 <evincar> I don't like arbitrary implementation-defined limits on things.
00:47:26 <elliott> "if you use more than dup2 ever you're doing something very wrong" --every designer of a stack language ever
00:47:28 <elliott> (experts)
00:47:31 <evincar> True.
00:47:38 <elliott> "similarly with almost all other non-trivial stack manipulation combinators" --them
00:47:46 <evincar> Most stack shuffling operations are for the benefit of beginners.
00:47:52 <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:48:17 <evincar> I dunno, it feels cleaner.
00:48:30 <evincar> It's no worse than having a type system.
00:51:20 <CakeProphet> 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 <evincar> Say what you will about Perl. It gets stuff done.
00:51:39 <CakeProphet> it would be silly to traverse all of the data every invocation.
00:52:11 <CakeProphet> the same can be said of most languages.
00:52:22 <CakeProphet> except C++
00:53:18 <pikhq> CakeProphet: ^5
00:53:31 <evincar> I maintain that every language is good for some things.
00:53:42 <pikhq> C++'s is torture.
00:53:57 <CakeProphet> pikhq: did you just exponentiate what I said by 5 or something?
00:54:02 <CakeProphet> I'm confused by this notation.
00:54:04 <evincar> 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 <pikhq> No, that's "high five".
00:54:10 <CakeProphet> oh...
00:54:11 <CakeProphet> yes.
00:55:15 <evincar> 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 <CakeProphet> which will mean I will be getting slightly more familiar with it.
00:55:36 <evincar> At the very least you don't have to resort to macros or untyped pointers to make type-agnostic data structures.
00:55:44 <monqy> hi i got back whjat's hapening
00:56:02 -!- oerjan has quit (Quit: Goof night).
00:56:02 <CakeProphet> "wget is awesome" is happening.
00:56:10 <monqy> ok
00:56:22 <evincar> Then again, templates bloat binaries something awful.
00:56:27 <evincar> And compile times.
00:56:40 <monqy> why are we talking about c++
00:56:50 <evincar> Because I feel like complaining.
00:56:55 <evincar> And C++ is easy to complain about.
00:57:38 <monqy> ok
00:58:06 <monqy> 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 <monqy> why
00:58:24 <evincar> s/language/sublanguage/
00:58:30 <evincar> Genericity.
00:58:33 <evincar> In a word.
00:58:41 <monqy> why
00:58:43 <CakeProphet> 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 <monqy> :|
00:59:00 <evincar> Your meme is not welcome here.
00:59:30 <monqy> 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 <monqy> me too
00:59:38 <monqy> 17:50:07 < evincar> I dunno, it feels cleaner.
00:59:39 <monqy> 17:50:20 < evincar> It's no worse than having a type system.
00:59:39 <monqy> what
00:59:51 <monqy> 17:53:28 < evincar> Say what you will about Perl. It gets stuff done.
00:59:52 <monqy> what
01:00:17 <evincar> What what?
01:00:19 <CakeProphet> evincar: there's a lot of perl hatred up in this bitch. be careful.
01:00:36 <monqy> 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 <elliott> monqy: so have you seen that new language
01:01:21 <elliott> uh
01:01:23 <elliott> what was the name again
01:01:24 <elliott> let me check
01:01:25 <elliott> on the wiki
01:01:27 <monqy> which one
01:01:28 <monqy> the bad one
01:01:31 <elliott> half-broken car in heavy traffic
01:01:34 <monqy> oh
01:01:35 <elliott> the two-dimensional one that ais likes???
01:01:35 <elliott> and that is
01:01:37 <elliott> kind of coo
01:01:37 <elliott> l
01:01:39 <elliott> imo
01:01:41 <monqy> yeah it's kind of cool
01:01:43 <elliott> it is.... rpettyt
01:01:47 <evincar> I'm willing to use a shitty language if it has a library that does what I need it to.
01:01:59 <CakeProphet> but see, Perl isn't a bad language.
01:02:02 <elliott> monqy: well
01:02:02 <evincar> Because it's that much less of my program that I have to write.
01:02:04 <elliott> hmm
01:02:08 <elliott> monqy: i do wonder if its tc though
01:02:19 <elliott> monqy: it seems like it might not be with a finite initial field
01:03:36 <monqy> maybe its tc....
01:03:38 <monqy> maybe not....
01:04:02 <elliott> monqy: hmmmmmmmmmmmmmmmmmmm
01:04:03 <elliott> maybe its
01:04:04 <elliott> BOTHE???????
01:04:06 <elliott> discus
01:04:07 <monqy> :o
01:04:10 <monqy> no never
01:04:11 <monqy> i refuse
01:04:13 <monqy> to
01:04:14 <monqy> believe
01:04:22 <evincar> The docs don't specify what it does when it goes outside the initial bounds.
01:04:23 <elliott> but
01:04:24 <elliott> belief is
01:04:25 <elliott> essential to
01:04:27 <elliott> screenwich
01:04:28 <elliott> emean
01:04:29 <elliott> times????
01:04:31 <evincar> If it's unbounded, it should be isomorphic to BF.
01:04:34 <elliott> think abutt it, monqy ........
01:04:39 <monqy> thinkeing........
01:04:50 <monqy> got nothing
01:04:51 <monqy> oops
01:06:12 <elliott> ops
01:06:17 <monqy> ooops
01:06:39 <CakeProphet> "belief is essential to screenwich emean times" -- elliott, philosopher and mathematician
01:07:07 <elliott> yes
01:07:23 <monqy> he did say that didnt he....
01:08:59 <monqy> what does this "random" example mean...for half broken car in heavy trafic
01:09:14 <monqy> does the car go in a random direction at start
01:10:55 <monqy> it looks like when it leaves one side it will wrap around....
01:11:02 <monqy> at least that's what that example indicates
01:11:04 <monqy> i think
01:13:09 -!- zzo38 has joined.
01:13:37 <CakeProphet> the program is a torus
01:13:45 <monqy> yes.....]
01:13:57 <CakeProphet> a much more sophsticated style of programming than your inferior linear languages.
01:14:06 <monqy> okay.....
01:14:21 <monqy> what is a linear language
01:15:14 <CakeProphet> where programs are a linear sequence of instructions.
01:15:35 <CakeProphet> instead of extradimensional, man.
01:16:15 <monqy> are all that many languages really just sequences of instructions
01:16:33 <monqy> or what are yous aying
01:16:37 <monqy> what is an instrcution
01:16:41 <monqy> what is a sequenc e therof
01:16:42 <monqy> help
01:16:59 <CakeProphet> 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 <evincar> Music, writing; painting, photography; sculpture, film, 3D photography; 3D film.
01:17:36 <evincar> My new goal is to write a programming language whose sources are 3D movies.
01:17:37 <elliott> evincar: what
01:17:44 <monqy> evincar: hi
01:18:19 <evincar> Thus in some useless and gimmicky sense four-dimensional.
01:18:20 <CakeProphet> evincar: good luck
01:18:45 <evincar> Everyone is paying attention to me. :(
01:18:46 <monqy> evincar: waht
01:18:51 <CakeProphet> my languages all require viewing by 3d glasses.
01:18:56 <monqy> evincar: if you don't like it, stop talking :(
01:19:13 <evincar> Can't. Boredom compels me otherwise.
01:19:17 <monqy> ok
01:19:28 <CakeProphet> evincar: learn Haskell and Perl
01:19:31 <CakeProphet> and then make a hybrid language.
01:19:48 <CakeProphet> that should give you plenty to do.
01:20:04 <elliott> no
01:20:07 <elliott> i will
01:20:08 <elliott> pierce
01:20:09 <elliott> your eyeballs
01:20:25 <CakeProphet> -->0_0
01:20:28 <evincar> Is that a joke?
01:20:31 <monqy> make a hybrid language...implemented in overloardedstrings
01:20:33 <evincar> It's not funny enough to be a joke.
01:20:34 <evincar> Help.
01:21:09 <CakeProphet> the Perlskell is my cherished deity. Soon it will come...
01:21:13 <elliott> STOP STEALING HELP OMG
01:21:13 <elliott> (C)
01:21:16 <elliott> (C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)
01:21:18 <elliott> (C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)(C)
01:21:20 <monqy> (c)
01:21:21 <elliott> (C)
01:21:31 <CakeProphet> elliott: has anyone else done so?
01:21:36 <evincar> I'll write Hasperll and we'll see whose is better.
01:21:39 <elliott> CakeProphet: (C)(C)(C)(C)(C)(C)(C)(C)(C)
01:21:53 <monqy> I think I've seen some other instances
01:21:57 <monqy> I forget who did it though
01:22:03 <elliott> CakeProphet has i think
01:22:04 <elliott> because
01:22:05 <elliott> bad person
01:22:06 <CakeProphet> elliott: I use "halp" but I've (C)'d that one for a while now.
01:22:15 <monqy> halp is a bad word
01:22:31 <monqy> the internet ruined it??? maybe??? maybe i am imagining things???
01:22:45 <CakeProphet> man you guys are so stingy about personal preferences.
01:22:57 <CakeProphet> I am hurt.
01:22:59 <hagb4rd> halp is a 4 letter word
01:23:14 -!- augur has joined.
01:23:16 <zzo38> word is a 4 letter word
01:23:45 <CakeProphet> a bug in irp interpreter perhaps?
01:24:10 <CakeProphet> the addition of 2 and 2 is 4.
01:25:05 <elliott> the is a four letter word
01:25:28 <CakeProphet> not only is it now given answers to questions that were not asked, but it seems to be given misleading answers.
01:25:41 <CakeProphet> irp is all I can program in halp
01:25:43 <monqy> the internet ruined "teh", so when i misspell "the", i make sure to do it "hte"
01:25:59 <monqy> ~monqy secrets~
01:26:12 <elliott> i have so many monqy secrets
01:27:03 <evincar> Great, now I have to get used to accidentally hitting AltGr so I type þe.
01:27:50 <hagb4rd> 32bit word is a 4 letter word
01:28:20 <CakeProphet> friend is a 4 letter word
01:28:41 <monqy> what is a 4 letter word
01:28:42 -!- augur has quit (Remote host closed the connection).
01:28:44 <elliott> friendship word
01:29:06 <monqy> i think i won.
01:29:24 <CakeProphet> > length "32bit word" - length "friend"
01:29:25 <lambdabot> 4
01:29:54 <CakeProphet> > length "CakeProphet" - length "hagb4rd"
01:29:54 <lambdabot> 4
01:30:18 <monqy> word
01:35:40 <CakeProphet> sub length($) {$_=@_;/^.*(?{pos})$/;$^R} length "word"
01:35:45 <CakeProphet> sub length($) {$_=@_;/^.*(?{pos})$/;$^R} print length "word"
01:35:51 <monqy> hlep
01:35:53 <CakeProphet> !perl sub length($) {$_=@_;/^.*(?{pos})$/;$^R} print length "word"
01:35:53 <EgoBot> 4
01:36:01 <CakeProphet> regex = best way to do everything
01:36:43 <CakeProphet> !perl sub length($) {$_=@_;/^.*$/;pos} print length "word"
01:36:43 <EgoBot> 4
01:37:16 <evincar> D:
01:37:53 <monqy> perl at work: getting things done
01:38:06 <zzo38> Can you properly pronounce the name "Iuckqlwviv Kjugobe"?
01:38:14 <monqy> no
01:39:23 <CakeProphet> ee-yuck-kull-wuh-viv kuh-juh-go-be
01:39:29 <CakeProphet> there is my attempt
01:39:54 <zzo38> That not pronounce it is just writing!
01:40:03 <CakeProphet> lol
01:41:56 <evincar> [i@k:'lwvIv 'kjugobe]
01:42:48 <zzo38> evincar: Now you are trying better.
01:42:55 <CakeProphet> wats dat I dunt speaks no unamerican
01:44:12 <zzo38> Do you think this is someone's name? Do you like this?
01:44:21 <monqy> its my name
01:44:29 <zzo38> Do you think "Also" can be a proper name?
01:44:36 <monqy> yet i still do not know how to pronounce it..
01:44:47 <elliott> also zzo
01:44:48 <elliott> my name
01:44:48 <elliott> irl
01:44:53 <CakeProphet> could zzo38 sound any creepier than when he asks "Do you think this is someone's name? Do you like this?"
01:45:06 <elliott> what
01:45:12 <elliott> how is that creepy
01:45:13 <zzo38> CakeProphet: I don't know. Can you learn?
01:46:26 <CakeProphet> what is learn?
01:48:33 <monqy> help
01:48:36 <zzo38> 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 <zzo38> monqy: pleh
01:49:14 <CakeProphet> zhelp plehz
01:50:40 <CakeProphet> I think English should adopt the ¿
01:51:02 <CakeProphet> ¿What is learn?
01:51:07 <monqy> ¿¿¿
01:51:37 <monqy> ¿¿¿¿¿¿help??????
01:52:02 <itidus20> Old Norse hjalpa, Old Frisian helpa, Middle Dutch, Dutch helpen, Old High German helfan, German. helfen
01:52:11 <monqy> hi
01:53:36 <CakeProphet> !wacro
01:53:37 <EgoBot> OIMESO
01:53:42 <monqy> oimeso
01:53:55 <CakeProphet> why are we all so weird.
01:53:56 -!- Vorpal has quit (Ping timeout: 240 seconds).
01:54:56 <zzo38> CakeProphet: Because weird.
01:55:06 <elliott> monqy: im markov chane
01:55:17 <monqy> elliott: hi markov chane
01:55:36 <CakeProphet> dick chainy
01:56:19 <elliott> 00:10:15: <fizzie> 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 <elliott> time to figure out how this differs from the obvious way of doing it trie-wise
01:57:31 <monqy> twice I made markov bots. both dead now,. rest peacefully.
01:57:47 <elliott> monqy: yes but were YOURS designed to work on almost a terabyte of raw data in realtime
01:57:48 <elliott> I THINK NOT
01:58:04 <elliott> i guess i'll have to run it from home lol because no host will give me a terabyte
01:58:13 <monqy> I want to make another bot but not markov
01:58:23 <monqy> because markov is not cool enough
01:58:27 <elliott> botte will be good... but markov more important
01:58:34 <elliott> monqy: yes but mine will answer questions too......
01:58:38 <monqy> oh....
01:58:52 <CakeProphet> elliott: perhaps you should try to get a freelance project to make money to pay for awesome hosting.
01:58:54 <elliott> "what is X?" --> start with "X is", do one markov chain forward from that and one backwards, until complete sentence made
01:59:04 <monqy> some time i want to try scfg.............
01:59:21 <elliott> CakeProphet: well let's see now.
01:59:27 <monqy> instead of markov.....
01:59:30 <monqy> scfg is cool right.....
01:59:37 <CakeProphet> I considered using it. with regex of course to implement the transition rules.
01:59:37 <elliott> monqy: maybe
01:59:41 <CakeProphet> because there is no better way.
01:59:42 <elliott> TERABYTE
02:00:10 <elliott> ok so
02:00:21 <elliott> the only vps providers i can find offering anywher enear a terabyte of storage
02:00:35 <elliott> slicehost - 620GB gigs of storage, fiteen gigs of ram, two point five terabytes monthly bandwidth
02:00:37 <elliott> eight hundred dollars a month
02:00:42 <monqy> 8)
02:00:43 <elliott> rackspace - cba to work it out it's per-hour
02:00:56 <elliott> i guess a dedicated server
02:00:58 <elliott> would be cheaper in that case
02:01:02 <elliott> but w/e im not paying a hundred pounds a month to run a bot
02:01:29 <CakeProphet> buy a server. host it yourself. profit.
02:01:35 <elliott> host it myself where
02:01:36 <monqy> no
02:01:36 <monqy> die
02:01:38 <elliott> from my home connetion?
02:01:40 <elliott> because thats called
02:01:42 <elliott> WHAT I WAS GOING TO DO
02:01:47 <monqy> i always just run bots from home..
02:01:48 <elliott> except i can just reuse an existing machine
02:01:49 <CakeProphet> COOL DO THAT.
02:01:53 <CakeProphet> PROBLEM SOLVED.
02:01:57 <elliott> NICE YELLING
02:02:01 <monqy> hi
02:02:03 <CakeProphet> FUUUUCK
02:02:32 <CakeProphet> @let cruiseControl = map toUpper
02:02:32 <lambdabot> Defined.
02:02:39 <zzo38> 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 <CakeProphet> you should make a patent.
02:04:19 <CakeProphet> and then when someone else invents you can get mad $$$$$
02:04:20 <zzo38> No.
02:04:32 <zzo38> I want it freely usable.
02:05:17 <CakeProphet> I am one english 1-gram file number 7...
02:05:23 <elliott> 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 <CakeProphet> 317K/s
02:05:32 <zzo38> In addition, it is automatically assumed there are walls on the edges; you do not need to encode the edges.
02:06:07 <monqy> elliott: i am bad at knowing how to solve this probleme
02:06:11 <CakeProphet> hey wait I have money now why do I not own an external hard drive.
02:07:36 <CakeProphet> 1.5 TB HD: $57 external HD case: $11
02:08:08 <zzo38> 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 <Patashu> 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 <zzo38> In a few cases, rotating or flipping the level will make it compress better.
02:09:03 <elliott> <CakeProphet> 1.5 TB HD: $57 external HD case: $11
02:09:03 <elliott> or
02:09:06 <elliott> just buy
02:09:07 <elliott> an external hd
02:09:13 <elliott> and get it for cheaper than the combination
02:09:59 <CakeProphet> cheapest I've found is $70
02:10:10 <zzo38> 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 <Patashu> now I'm curious as to whether there there are any notable sokoban variants
02:11:29 <CakeProphet> elliott: yes it makes absolutely no sense but buying the case and HD seperately is cheaper.
02:11:34 <zzo38> 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 <monqy> some assembley required: save $$$$$
02:12:02 <Patashu> 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 <zzo38> 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 <elliott> monqy: oh and i need to store it in reverse format too, oops
02:14:33 <elliott> i guess iw ill have to... soncult fizzie on that
02:15:03 <CakeProphet> order placed. Now I just need to figure out what to do with 1.5 TBs
02:16:01 <zzo38> Do you have any other ideas about sokoban game?
02:16:36 <monqy> reverse format what is that
02:16:42 <zzo38> I also once played a game that is sokoban except they added keys and doors as well.
02:17:21 <Patashu> 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 <Patashu> It'd be like those dickish block puzzles in La Mulana
02:17:44 <Patashu> And it combines trivially with any other sokoban modification
02:17:54 <Patashu> Well, not trivially
02:18:02 <Patashu> But with obvious usage
02:24:12 <elliott> Hmm...
02:24:33 <elliott> I think I have a decent idea of how to do the reverse-way around too without massive duplication
02:24:35 <elliott> Well, two ways
02:24:40 <elliott> I'm not sure if they are any good though
02:40:26 <CakeProphet> being a consumer sure is fun.
02:41:32 <CakeProphet> I get to work, buy things, consume them, and die!!
02:43:57 <CakeProphet> uh oh, I didn't check to see if my external is bootable.
02:44:00 <CakeProphet> oh well.
02:44:39 <Sgeo> "Also, I wasnt talking about lists (you cant express Lisp-like lists in OCaml because they cant be statically typed)"
02:44:45 <elliott> doesn't really matter
02:44:48 <elliott> is it usb
02:44:51 <elliott> because running os off usb = FAST
02:44:52 <elliott> :P
02:45:05 <Sgeo> What? I guess Lisp-like lists can't be statically typed in O'Caml?
02:45:14 <Sgeo> Because Haskell handles them just fine
02:45:17 <Patashu> Chip's Challenge is a superset of sokoban, I just realized
02:45:27 <Sgeo> http://schani.wordpress.com/2007/07/23/why-ocaml-is-not-my-favorite-programming-language/#comment-6957
02:45:31 <CakeProphet> elliott: fast enough. I used to have an Ubuntu flash drive that suited its purpose well.
02:46:03 <Patashu> block receptor -> brown button, and make a row of beartraps with the exit at the end
02:47:29 <CakeProphet> lets see... what's a large collection of useless data I could get.
02:47:46 <CakeProphet> halp pirate bay is down.
02:47:52 <CakeProphet> wat do?
02:48:43 <Patashu> zzo38, ever play chip's challenge?
02:48:44 <CakeProphet> I guess large volumes of word data would be nice to have. It allows for some interesting projects.
02:49:55 <elliott> CakeProphet: torrentz.eu
02:50:06 <elliott> meta-tracker
02:55:48 <CakeProphet> I guess
02:55:57 <CakeProphet> I should make a bot?
02:56:16 <monqy> would it be a good bot
02:56:21 <CakeProphet> well, no need. I can do everything via an egobot command actually.
02:57:29 <monqy> ok
02:59:31 <CakeProphet> but yes eventually I will probably make an irc bot.
03:00:10 <monqy> a good bot? a few times I've made bot. all dead. rest peacefully.
03:00:23 <CakeProphet> dunno. we'll see.
03:00:57 -!- augur has quit (Remote host closed the connection).
03:00:59 <CakeProphet> it would serve a variety of purposes. One in particular is being able to facillitate pen and paper RPGs
03:01:04 <CakeProphet> over IRC.
03:01:23 <CakeProphet> another would be a playground of programs, similar to egobot I suppose.
03:03:26 <CakeProphet> I might write it on top of lambdabot I'd like to have all of lambdabots commands.
03:05:07 <CakeProphet> or I could write in Perl, and then implement lambdabot's commands by PMing lambdabot and relaying the answer. :P
03:06:16 <monqy> :(
03:06:26 <evincar> Hacks are ideal.
03:06:28 <CakeProphet> I jest I jest.
03:09:05 <CakeProphet> !perl $test = q/(?{print "launch missiles"})/; "hi" =~ /$test/
03:09:05 <EgoBot> Eval-group not allowed at runtime, use re 'eval' in regex m/(?{print "launch missiles"})/ at /tmp/input.10433 line 1.
03:09:14 <CakeProphet> oh look security.
03:09:35 <CakeProphet> !perl $test = q/(??{print "launch missiles"})/; "hi" =~ /$test/
03:09:35 <EgoBot> Eval-group not allowed at runtime, use re 'eval' in regex m/(??{print "launch missiles"})/ at /tmp/input.10715 line 1.
03:10:13 <CakeProphet> so I /could/ allow user-defined commands that execute when they match an arbitrary regex
03:10:16 <CakeProphet> the question is
03:10:23 <CakeProphet> do I really want that to be possible?
03:10:55 <CakeProphet> probably not, unless I restricted them somehow.
03:11:24 -!- augur has joined.
03:12:55 <zzo38> Patashu: I think I have once play Chip's Challenge
03:13:27 <CakeProphet> !perl print /(?R)/
03:13:27 <EgoBot> 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 <CakeProphet> !perl local $x; '5' =~ /(?<N>\d+)(?&FAC)(?(DEFINE)(?<FAC>\g{N}(?(?=0)(*ACCEPT)|(?<N>(??{$x*=$_{N};$_{N}-1})(?&FAC)))))
03:38:10 <EgoBot> Search pattern not terminated at /tmp/input.13080 line 1.
03:38:13 <CakeProphet> !perl local $x; '5' =~ /(?<N>\d+)(?&FAC)(?(DEFINE)(?<FAC>\g{N}(?(?=0)(*ACCEPT)|(?<N>(??{$x*=$_{N};$_{N}-1})(?&FAC)))))/
03:38:37 <CakeProphet> !perl local $x; '5' =~ /(?<N>\d+)(?&FAC)(?(DEFINE)(?<FAC>\g{N}(?(?=0)(*ACCEPT)|(?<N>(??{$x*=$_{N};$_{N}-1})(?&FAC)))))/; print $x
03:38:40 <CakeProphet> lulz
03:38:45 <CakeProphet> if only that had worked.
03:38:57 <CakeProphet> I'm not even going to try to fix it.
03:40:27 <zzo38> 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 <CakeProphet> !perl local $x; '5' =~ /(?<N>\d+)(?&FAC)(?(DEFINE)(?<FAC>(?(?<N>)((??{$x*=$_{N}--})(?&FAC))?|(*ACCEPT))))/; print $x
03:49:20 <CakeProphet> recursive factorial in regex is probably not meant to be.
03:50:16 <Patashu> how do you debug that shi
03:50:30 <CakeProphet> I don't think you can.
03:51:06 <CakeProphet> !perl local $x; /(?{$x=2})/; print $x
03:51:07 <EgoBot> 2
03:51:07 <elliott> youre bad person
03:51:09 <elliott> monqy: tel themb ad
03:51:12 <monqy> CakeProphet: bad
03:51:18 <CakeProphet> !perl my $x; /(?{$x=2})/; print $x
03:51:18 <EgoBot> 2
03:51:26 <CakeProphet> !perl use strict;my $x; /(?{$x=2})/; print $x
03:51:26 <monqy> bad
03:51:27 <EgoBot> 2
03:51:29 <monqy> bad
03:51:29 <CakeProphet> oh okay.
03:51:58 <CakeProphet> what other modern languages support dynamic scope?
03:52:21 <monqy> haskell????/
03:52:30 -!- MDude has changed nick to MSleep.
03:52:32 <CakeProphet> really?
03:52:40 <pikhq> CakeProphet: Would you count "can freely peek up the call stack"?
03:52:40 <monqy> implicit arguments
03:52:51 <pikhq> If so, then Tcl.
03:52:53 <CakeProphet> pikhq: kind of.
03:53:21 <monqy> is (whatever)lisp a monder nlanguage
03:53:22 <pikhq> It's a bit more "explicitly pulling something into scope", though.
03:53:27 <monqy> i am sure there are lots of lisps with dynamic scope
03:54:08 <pikhq> Well, yeah. Dynamic scope is the historical norm.
03:54:17 <pikhq> For Lisp, that is.
03:55:05 <elliott> :t ?x
03:55:05 <lambdabot> forall t. (?x::t) => t
03:55:12 <elliott> :t let ?dynamic = 9 in ?dynamic
03:55:13 <lambdabot> forall t. (Num t) => t
03:55:24 <elliott> :t let map [] = []; map (x:xs) = ?f x : map xs in map
03:55:24 <lambdabot> forall t a. (?f::t -> a) => [t] -> [a]
03:55:35 <elliott> > let map [] = []; map (x:xs) = ?f x : map xs in let ?f = succ in map [0,99,0]
03:55:35 <lambdabot> [1,100,1]
03:55:47 <elliott> CakeProphet: dymanically scoped
03:55:53 <CakeProphet> oh my
03:56:07 <pikhq> GHC extension?
03:56:12 <elliott> yes, like everything
03:56:14 <zzo38> Is that what the question mark is for?
03:56:20 <CakeProphet> you could use that to have a this similar to methods in OO languages...
03:57:07 <CakeProphet> is that a more interesting abuse of language extensions that misusing overloaded strings?
03:57:10 <CakeProphet> does that count?
03:57:17 <CakeProphet> s/that/than/
03:57:39 <monqy> there is nothing worse than misusing overloaded stirngs.....ecxept maybe worse things.....
03:57:50 <zzo38> Does Haskell have overloading strings?
03:57:57 <Patashu> what's misusing overloaded strings?
03:58:02 <Patashu> like calling lock/wait on them?
04:00:15 <CakeProphet> Patashu: like using them to interpret arbitrary code as Haskell strings.
04:00:39 <Patashu> ooo, fun
04:01:07 <elliott> no
04:01:07 <elliott> no
04:01:08 <elliott> no
04:01:11 <elliott> Patashu: dont let CakeProphet exist
04:01:13 <elliott> make him die, stop, no,
04:01:17 <elliott> monqy: no help stop
04:01:20 <monqy> helop
04:02:13 <CakeProphet> (.) o m = let ?this = o in m
04:02:30 <CakeProphet> would that work?
04:03:32 <CakeProphet> I guess .$ would allow you to not hide composition
04:03:36 <elliott> :t \o m -> let ?this = o in m
04:03:37 <lambdabot> forall t t1. t1 -> t -> t
04:03:41 <elliott> no.
04:03:55 <elliott> :t \o (m :: forall x. (?this :: x) -> r) -> let ?this = o in m
04:03:55 <lambdabot> Predicate used as a type: ?this :: x
04:03:55 <lambdabot> In the type `forall x. (?this :: x) -> r'
04:03:55 <lambdabot> In a pattern type signature: forall x. (?this :: x) -> r
04:03:58 <zzo38> 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 <elliott> :t \o (m :: forall x. (?this :: x) => r) -> let ?this = o in m
04:04:02 <lambdabot> A pattern type signature cannot bind scoped type variables `r'
04:04:02 <lambdabot> unless the pattern has a rigid type context
04:04:02 <lambdabot> In the pattern: m :: forall x. (?this :: x) => r
04:04:21 <elliott> :t (\o m -> let ?this = o in m) :: x -> ((?this :: x) => r) -> r
04:04:22 <lambdabot> forall x r. x -> ((?this::x) => r) -> r
04:04:26 <elliott> CakeProphet: yes
04:05:13 <CakeProphet> neato
04:05:18 <elliott> CakeProphet: don't do it though
04:05:20 <elliott> ill cut your veins
04:05:23 <CakeProphet> I don't intend to
04:05:59 <CakeProphet> elliott: also arteries would be much more effective if you intend to have me bleed out quickly and die.
04:06:32 <elliott> no i want you to suffer like i have
04:11:04 <CakeProphet> elliott: lol, really? that's the effect my conversations on this channel have on you?
04:11:18 <elliott> yes slow painful blood losss, tell him monqy
04:11:19 <CakeProphet> sounds like a personal problem. :>
04:12:14 <zzo38> No! You have to bet your blood at a game of mahjong first.
04:13:00 <CakeProphet> 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 <zzo38> Is that one the bot or just an example?
04:14:02 <elliott> that's CakeProphet
04:14:09 <elliott> anyway :> is my smiley
04:14:12 <elliott> (c) eso-std.org
04:14:14 <elliott> years ago
04:14:14 <elliott> ok
04:14:16 <elliott> channel famous
04:14:17 <CakeProphet> what?
04:14:18 <elliott> channel famous placeholder page
04:14:19 <CakeProphet> nonsense
04:14:24 <elliott> "sometimes i fly around in a spaceship :>"
04:14:29 <elliott> that has been a channel icon for years
04:14:31 <elliott> you cannot just
04:14:33 <elliott> steal the smiley
04:14:37 <zzo38> I do not live at the moon!
04:14:41 <elliott> ah
04:14:43 <CakeProphet> I didn't steal it dawg.
04:14:49 <CakeProphet> it's on my face right now. it's mine.
04:14:52 <CakeProphet> :>
04:15:54 <elliott> fak
04:15:54 <elliott> u
04:15:56 <elliott> shat
04:15:57 <elliott> had
04:15:57 <elliott> :(
04:16:11 <monqy> i used to say :> a lot and now i dont
04:16:19 <Patashu> :> is the best smiley
04:16:26 <monqy> now im only :(
04:16:29 <monqy> and :'(
04:16:30 <Patashu> I also like :}
04:16:32 <monqy> and ;-;
04:16:34 <monqy> and ;_;
04:16:37 <CakeProphet> > ((:[])>=>(:[])>=>(:[])) "elliott"
04:16:37 <lambdabot> ["elliott"]
04:16:38 <monqy> and ;_----___---____-_____-;
04:16:48 <CakeProphet> elliott: totem pole eats you
04:17:06 <CakeProphet> [] is its belly.
04:17:18 <CakeProphet> elliott is a symbolic representation of Elliott Hird
04:17:54 <monqy> hi
04:19:08 <CakeProphet> :t fix ((:[])>=>)
04:19:08 <lambdabot> forall b c. b -> [c]
04:19:15 <Patashu> wtf is that monstrosity
04:19:29 <Patashu> it's like...cons to an empty list then whatever >=> is
04:19:59 <monqy> it's really simple actually
04:20:00 <CakeProphet> > fix ((:[])>=>) "elliott" --the infinite totem pole of death
04:20:01 <lambdabot> *Exception: stack overflow
04:20:09 <monqy> dead
04:20:32 <zzo38> 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 <monqy> > fix ("cakeprophet is a bad. "++)
04:20:49 <lambdabot> "cakeprophet is a bad. cakeprophet is a bad. cakeprophet is a bad. cakeprop...
04:20:53 <pikhq> > ((>=>)>=>(>=>))(:[])(:[])"foo"
04:20:54 <lambdabot> ["foo"]
04:21:35 <CakeProphet> zzo38: no
04:21:43 <zzo38> CakeProphet: Are you sure?
04:21:45 <CakeProphet> yes.
04:21:47 <CakeProphet> I mean
04:21:56 <CakeProphet> I understand what you said, but not why.
04:22:05 <monqy> what's sitting help
04:22:27 <zzo38> Did you know it is actually a chair made up by a magic spell (Major Creation) and it eventually expires?
04:22:32 <CakeProphet> :t (>=>) --patashu
04:22:33 <lambdabot> forall a (m :: * -> *) b c. (Monad m) => (a -> m b) -> (b -> m c) -> a -> m c
04:22:40 <CakeProphet> all should be clear.
04:23:00 -!- derrik has joined.
04:23:02 <CakeProphet> zzo38: no, not at all.
04:23:10 <Patashu> monad composition or something
04:23:12 <zzo38> Now hopefully you do know.
04:23:25 <CakeProphet> Patashu: not monads but functions-that-you-can-use-with-bind
04:23:29 <CakeProphet> I'm sure there's a better way to say that.
04:23:37 <zzo38> Read it; I finished typing the recording of the session this time by now.
04:24:00 <CakeProphet> @src (>=>)
04:24:01 <lambdabot> Source not found. Are you on drugs?
04:24:46 <zzo38> Do you know how to read that recording? How many mistakes does it contain?
04:25:17 <pikhq> Should be something like f>=>g=\x->f x>>=g
04:26:00 <CakeProphet> :t (\f g x -> f x >>= g)
04:26:01 <lambdabot> forall t (m :: * -> *) a b. (Monad m) => (t -> m a) -> (a -> m b) -> t -> m b
04:26:10 <CakeProphet> yep
04:27:16 <CakeProphet> zzo38: interested in Shadowrun much?
04:27:20 <CakeProphet> I've been looking for a group.
04:27:29 <zzo38> CakeProphet: I don't know much about it.
04:27:38 <zzo38> You can explain more details if you want to.
04:27:39 <CakeProphet> me neither. :P I've only read the 5th edition book a few times.
04:27:51 <CakeProphet> it's uh... fantasy / cyberpunk basically.
04:27:56 <CakeProphet> I could link you to a PDF.
04:30:21 <zzo38> Did you read the recording of my game? (I am not requiring payment for you to read it)
04:30:45 <CakeProphet> I wasn't aware I had access to it.
04:31:57 <zzo38> 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 <zzo38> 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 <zzo38> Currently it has eight footnotes.
04:35:05 <zzo38> Do you like this? Do you like ___________?
04:37:06 <CakeProphet> not really sure how to view this stuff.
04:37:40 <zzo38> 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 <CakeProphet> said incorrect format when I tried to view the dvi
04:39:07 <CakeProphet> also don't know much about DND so the stats don't mean much to me.
04:39:09 <zzo38> Then view the .tex file
04:39:31 <CakeProphet> Also, the Doppelganger
04:39:56 <zzo38> 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 <CakeProphet> !wacro
04:39:58 <EgoBot> CVEBFHWL
04:40:09 <monqy> bad
04:40:46 <CakeProphet> zzo38: help(c) what is read.
04:41:06 <monqy> help(c)
04:41:06 <zzo38> 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 <monqy> elliott: help(c)
04:41:31 <elliott> help
04:41:45 <CakeProphet> !help help
04:41:45 <EgoBot> ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
04:41:55 <CakeProphet> Gregor: help
04:41:58 <zzo38> CakeProphet: It is.
04:42:11 <monqy> @help help
04:42:11 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
04:43:12 <CakeProphet> zzo38: I'm not sure I'll get anything out of reading all of this. :/
04:43:43 <CakeProphet> except "Also is also a slave on Thesk island" = lol
04:44:02 <zzo38> 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 <CakeProphet> well it kind of switches from third person to first person randomly
04:45:15 <CakeProphet> One day, a dwarf who was working in the mines decided to rescue both of us
04:45:16 <CakeProphet> slaves
04:45:24 <CakeProphet> us = first person
04:45:33 -!- pikhq_ has joined.
04:45:40 <zzo38> OK, thanks for noticing that.
04:45:41 <CakeProphet> and then goes back to being third person again.
04:45:50 -!- derrik_ has joined.
04:46:52 <CakeProphet> s/tracking device. Note that both of/tracking device, and both of/
04:47:19 <CakeProphet> the whole thing is kind of oddly worded but technically not incorrect I suppose.
04:47:25 <CakeProphet> or at least what I've read so far.
04:47:29 -!- pikhq has quit (Ping timeout: 240 seconds).
04:47:38 <zzo38> 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 <CakeProphet> s/Now, Kjugobe suggested to put/Now, Kjugobe suggested putting/
04:49:15 <CakeProphet> though I'm not really sure if that's incorrect, it just sounds strange to me.
04:49:33 <zzo38> OK, I fixed that too.
04:50:21 <CakeProphet> 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 <zzo38> 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 <CakeProphet> just recording what happened.
04:50:58 <CakeProphet> you should have used a \note{} to explain
04:51:03 <CakeProphet> for great humor.
04:51:44 <zzo38> 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 <zzo38> CakeProphet: Use a \note{} to explain what, specifically do you mean?
04:52:35 <CakeProphet> \note{the \note{} indicates footnotes. they are not part of the story text}
04:53:18 <zzo38> O, like that. But the printout does not actually say \note
04:53:42 <CakeProphet> oh yeah I know I just meant in your sentence it would have been funny.
04:53:49 <CakeProphet> oh let me find something else...
04:54:17 <zzo38> 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 <CakeProphet> while you're letting me correct you in stuff...
04:54:29 <CakeProphet> lemme find it.
04:56:09 <CakeProphet> 16:44:08: <zzo38> I think too many paragraphs begin with "Also"
04:56:22 <CakeProphet> s/^/Also, /
04:56:34 <CakeProphet> lolololololololol
04:56:40 <monqy> ok
04:56:43 <CakeProphet> > cycle "lo"
04:56:44 <lambdabot> "lololololololololololololololololololololololololololololololololololololo...
04:57:04 <CakeProphet> that is how funny I think that would be.
04:58:15 <monqy> ok
04:58:25 <CakeProphet> monqy is a bad.
04:58:32 <monqy> monqy is a bad.
04:58:35 <monqy> yep.
05:02:15 -!- zzo38 has left.
05:06:00 <evincar> Where is zzo from anyway? I'm occasionally suspicious he's a bot.
05:06:48 <elliott> die
05:06:52 <elliott> he is our hero
05:07:12 <elliott> this channel would be fucking unsalvagable without him
05:07:49 <monqy> zzo is amasing
05:07:53 <monqy> amaiznge
05:07:55 <monqy> amazing
05:08:05 <monqy> hlep
05:08:20 <evincar> Did I say being a bot would be a bad thing?
05:11:06 * CakeProphet is an hero.
05:11:36 <monqy> hi
05:11:46 -!- elliott has quit (Ping timeout: 264 seconds).
05:14:00 <CakeProphet> GNU Emacs comes with ABSOLUTELY NO WARRANTY
05:14:14 <CakeProphet> what if software /did/ come with absolutely warranties?
05:14:14 <evincar> Huh.
05:14:14 <monqy> oh no
05:14:16 <evincar> http://www.urbandictionary.com/define.php?term=zzo38
05:14:21 <evincar> Well this is interesting.
05:16:30 <CakeProphet> https://plus.google.com/117832052760789742441/posts
05:16:45 <CakeProphet> "HI IM A BIG DUDE FOR BIG PEOPLE" -- elliott hird
05:17:25 <evincar> You look like two sides of a strange rounded canyon.
05:18:01 <monqy> maybe I should get a gougle plusse sometime
05:18:09 <monqy> not sure what i would do with it
05:18:27 <evincar> I don't do anything with mine.
05:18:34 <evincar> Largely because I haven't made a video in a while.
05:18:40 <CakeProphet> I talk about all of my nerd projects to all of my non-nerd friends who basically don't pay attention.
05:18:43 <CakeProphet> it's fun.
05:18:45 <evincar> So I haven't told any of my subscribers to add me.
05:19:15 <monqy> the only friends I have it'd be pretty useless to google+
05:19:20 <evincar> CakeProphet: That's what my blog is for.
05:19:24 <monqy> or something like that
05:19:31 <evincar> Except I acknowledge that no one listens.
05:21:47 <CakeProphet> all I have is a livejournal, where I post pictures of me cutting myself.
05:21:58 <monqy> I don;t livejournal
05:22:11 <CakeProphet> I also write poems. -_;;
05:22:17 <monqy> hehehehe
05:23:47 <evincar> I didn't know LJ was still a thing.
05:23:51 <CakeProphet> HAHAH I LIED. JOKES ON YOU.
05:24:12 <monqy> ok
05:24:53 <CakeProphet> bahahahahaha
05:25:04 <CakeProphet> buh huh huh huh huh
05:25:05 <monqy> cake "easily amused" prophet
05:26:57 <CakeProphet> mon "help(c)" qy
05:28:34 <evincar> Hmm.
05:28:42 <evincar> Idea.
05:29:13 <evincar> Unix-style programs have one port for input and two ports for output, but all of these ports are one-dimensional.
05:29:36 <evincar> We should have 2D ports as well, for images and such.
05:29:47 <evincar> Just a thought.
05:29:53 <pikhq_> Won't work well with C.
05:29:57 <evincar> It'd be more useful in a graphical shell.
05:30:03 <evincar> Yeah, C = Unix.
05:30:06 <evincar> :(
05:30:06 <pikhq_> Or, really, any other bits of the stack.
05:30:28 <pikhq_> Too moronic to allow for any data structures other than char*.
05:30:59 <evincar> Meh. You *can* serialise everything.
05:31:08 <evincar> Obviously that's been working all along.
05:31:47 <evincar> 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 <pikhq_> It's also utterly moronic.
05:32:10 <pikhq_> Yes, it technically works, but so does assembly.
05:32:36 <evincar> Yeah, so some higher-level language integration with the shell would be nice.
05:33:01 <CakeProphet> Haskshell
05:33:05 <evincar> If there were a consumer-quality Lisp-based OS, I'd go for it.
05:33:33 <evincar> Or any number of other things. Factor would be fine, or even something like Smalltalk.
05:33:57 <evincar> Guess I should team up with that guy who wanted to write a "Kay OOP" system.
05:34:07 <pikhq_> I hear Symbolics offered those. In the 80s.
05:34:27 <evincar> What you're saying is true.
05:34:36 <evincar> But I don't know if you're toying with me.
05:34:51 <pikhq_> No, being quite honest and depressed.
05:35:59 <evincar> What's got your gills down and brown, toothflake?
05:36:53 <pikhq_> EVERYTHING SUCKS
05:37:00 <pikhq_> Not just computers, EVERYTHING!
05:37:15 <evincar> Most people like things that suck.
05:37:26 <pikhq_> Most people suck.
05:37:40 <evincar> More or less.
05:39:01 <evincar> So I'm re-doing my web site.
05:39:17 <evincar> Going to get started on that programming language genome project.
05:39:21 <pikhq_> Remember, <head> and <body> make baby IESVS cry!
05:39:23 <evincar> I know there was some genuine interest here.
05:39:34 <Sgeo> IESVS?
05:39:58 <evincar> Sgeo: Jesus.
05:40:02 <pikhq_> I don't believe in miniscule letters, U, and J in Latin.
05:40:18 <evincar> pikhq_: Nor spaces. But maybe interpuncts.
05:40:31 <pikhq_> evincar: Interpuncts are a bit harder to type, sadly.
05:40:51 * Sgeo was thinking some bizarre version of Internet Explorer
05:41:08 <Sgeo> Welp, Internet Explorer version SVS is the Son of God. It's official.
05:41:20 <pikhq_> IESVS, now with more YHWH!
05:42:08 <evincar> pikhq_: Crap, just found out interpunct isn't in my compose map! This must be fixed.
05:42:17 <evincar> Lest I type • instead.
05:43:12 <pikhq_> I think the only one I can get at trivially is "・".
05:44:01 <pikhq_> Which is U+30FB, KATAKANA MIDDLE DOT
05:47:01 <evincar> Also, time to write a script for cat /usr/share/X11/locale/en_US.UTF-8/Compose | grep
05:47:09 <evincar> Because that shit's handy.
05:47:14 <evincar> And yes, I know, UUOC.
05:48:28 -!- derrik has quit (Quit: gone).
05:56:05 <CakeProphet> !wacro
05:56:06 <EgoBot> HNG
05:56:30 <monqy> awful
05:56:38 <CakeProphet> !wacro
05:56:39 <EgoBot> HIDAWSTS
05:57:11 <CakeProphet> !wacro
05:57:11 <EgoBot> ACCPP
05:57:33 <evincar> Well, you're getting closer?
05:57:35 <evincar> I think?
05:57:45 <CakeProphet> ...no, I haven't changed the program at all.
05:57:53 <evincar> Although with that HNG I think Ego had a hernia.
05:58:11 <CakeProphet> !wacro
05:58:11 <EgoBot> OWH
05:58:15 <evincar> Yep.
05:58:18 <evincar> Definitely injured.
05:58:46 <CakeProphet> !wacro
05:58:47 <EgoBot> STCDST
05:58:56 <CakeProphet> !wacro
05:58:56 <EgoBot> KDAS
05:59:04 <evincar> !wacro
05:59:04 <EgoBot> RAFR
05:59:11 <evincar> Hee.
05:59:14 <evincar> I am sated.
05:59:30 <fizzie> 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 <fizzie> 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 <CakeProphet> !wacro
06:00:28 <EgoBot> BDD
06:00:52 <fizzie> (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 <fungot> 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 <monqy> CakeProphet: absolutely miserable
06:01:29 <CakeProphet> fungot
06:01:29 <fungot> CakeProphet: there is no. yellow is yes. i tell. stupid hear after i wont talk to you:-.
06:01:59 <Sgeo> What style is this?
06:02:12 <monqy> sms?
06:02:17 <fizzie> Sgeo: The SMS one, I'd guess.
06:02:18 <fizzie> ^style
06:02:18 <fungot> 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 <fizzie> Yes.
06:02:50 <CakeProphet> ^style c64
06:02:50 <fungot> Selected style: c64 (C64 programming material)
06:02:54 <CakeProphet> fungot
06:02:55 <fungot> CakeProphet: communication registers: a, x, its starting address for the ieee bus card timeout flag
06:03:04 <fizzie> I think that one suffers from poor preprocessing.
06:03:20 <fizzie> There's so much code examples and tables and that sort of stuff in the material.
06:03:52 <CakeProphet> ^style jargon
06:03:53 <fungot> Selected style: jargon (UNIX-HATERS mailing list archive)
06:03:58 <CakeProphet> fungot
06:03:58 <fungot> 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 <fizzie> That one's just weird.
06:04:08 <fizzie> ^style c64
06:04:08 <fungot> Selected style: c64 (C64 programming material)
06:04:09 <fizzie> 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 <fungot> 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 <fizzie> It's possibly not very useful for a programmer.
06:05:02 <quintopia> ^style youtube
06:05:02 <fungot> Selected style: youtube (Some YouTube comments)
06:05:08 <quintopia> fungot!
06:05:08 <fungot> 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 <fizzie> That one suffers from a rather small dataset, but otherwise it does sound quite youtubey.
06:05:37 <quintopia> expand the dataset!
06:05:53 <fizzie> 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 <fungot> 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 <CakeProphet> you could have the youtube dataset randomly select several thousand youtube videos every month or so.
06:06:18 <fizzie> 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 <fizzie> ^style fisher
06:07:12 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
06:07:18 <fizzie> fungot: Hullo can you hear me huh?
06:07:18 <fungot> fizzie: in her car
06:07:26 <fizzie> fungot: In her car what?
06:07:26 <fungot> fizzie: uh and fight for everything they need to be really good noise
06:07:38 <fizzie> fungot: You're not really making much sense here.
06:07:39 <fungot> 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 <fizzie> "A-ha."
06:07:56 <Patashu> ^style homestuck
06:07:57 <fungot> Selected style: homestuck (Homestuck pages 1901-4673)
06:08:05 <Patashu> fungot: Sword
06:08:05 <fungot> Patashu: of apocalypse your thoughts on these developments in your gamefaqs walkthrough/ journal. it can only be a moment.
06:08:09 <fizzie> That's a bit of work-in-progress still.
06:08:24 <Patashu> fungot: worthless piece of shit
06:08:24 <fungot> Patashu: john, it appears we have reached an impasse
06:08:27 <Patashu> haha
06:08:39 <fizzie> Probably a straight quote, sadly. :p
06:08:49 <Patashu> fungot: fungot
06:08:49 <fungot> 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 <CakeProphet> 5~3~3~3~3~3~5~3~5~
06:13:48 <fizzie> 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 <fungot> 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 <CakeProphet> so it just randomly selects n-grams from the dataset?
06:17:05 <CakeProphet> fungot
06:17:06 <fungot> CakeProphet: to, uhhh.......
06:17:17 <Patashu> does fungot look at your input?
06:17:17 <fungot> Patashu: at that point you would essentially the same as the word " crazy"
06:17:21 <Patashu> or just start generating when it hears its name
06:17:43 <fizzie> Patashu: Unfortunately not, because it'd need to map your input into tokens, and I haven't implemented that in Befunge.
06:17:52 <evincar> Hay guaiyz, should the programming language genome thing have user accounts?
06:18:04 <evincar> I figure if it does I'll just use OpenID and be done with it.
06:18:10 <fizzie> CakeProphet: Well, yes, based on the previously generated context, of course. In the "usual" way.
06:18:29 <CakeProphet> lolwat
06:19:50 <fizzie> Watlol?
06:20:32 <evincar> 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 <evincar> And that raises the question of what the hell people would do with a user page if they had one.
06:20:58 <evincar> Maybe have points?
06:21:01 <evincar> And badges?
06:21:06 <evincar> 'Cheevements?
06:21:26 <evincar> \(°_o)/
06:22:01 <evincar> I can't say help(C) because help(C) is (C) and (C) is (C).
06:23:40 <Patashu> 1) Let people make accounts 2) store passwords in plaintext 3) enjoy your credit card fraud opportunities
06:26:17 <evincar> Trollolol.
06:26:32 <evincar> Oh wait.
06:26:34 <evincar> Tripcodes.
06:26:36 <evincar> Derp.
06:26:42 <evincar> Everyone likes tripcodes.
06:27:03 <evincar> And it's already been joked in here that this thing is an imageboard but not for images.
06:36:05 <monqy> hi
06:36:55 <evincar> monqy: hi how do i tripcode
06:36:58 <evincar> assist
06:37:04 <Patashu> what's a tripcode
06:37:28 <monqy> evincar: http://en.wikipedia.org/wiki/Tripcode hjelp
06:37:46 <evincar> 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 <Patashu> Oh, that's clever
06:38:25 <evincar> monqy: I'm looking for something...better.
06:38:26 <Patashu> Never seen that before
06:38:37 <evincar> Then you never go on imageboards, I take it.
06:38:52 <evincar> Any of the chans.
06:39:02 <Patashu> nope
06:39:17 <monqy> I only just heard of tripcodes last night myself
06:39:21 <monqy> I forget how
06:39:25 <CakeProphet> nubs
06:39:58 <CakeProphet> > nub "these guys are"
06:39:59 <lambdabot> "thes guyar"
06:41:07 <evincar> They're actually frowned upon for the most part.
06:41:26 <evincar> But I don't care.
06:41:28 <CakeProphet> nub "jumps quick lazy fox brown over dog the the"
06:41:35 <CakeProphet> > nub "jumps quick lazy fox brown over dog the the"
06:41:36 <lambdabot> "jumps qicklazyfoxbrwnvedgth"
06:41:48 <evincar> If you want the option to identify yourself, so be it.
06:41:50 <Patashu> they'd be easy to crack actually
06:41:52 <Patashu> if the algorithm is public
06:41:56 <olsner> > sort $ nub "jumps quick lazy fox brown over dog the the"
06:41:56 <lambdabot> " abcdefghijklmnopqrstuvwxyz"
06:42:04 <Patashu> just brute force attempts on your botnet until you get a match
06:42:36 <evincar> True.
06:42:41 <evincar> But I don't know how much I care.
06:44:16 <evincar> The gist of the site is: add/flag language, add/remove/flag/suggest gene.
06:44:27 <evincar> I don't want to have too much spam to deal with.
06:44:41 <evincar> But then again I'm not sure who'd spam a random informational site for programmers.
06:45:09 <Patashu> if it's built custom then it probably won't get any spam
06:45:40 <evincar> Maybe I'll just throw my hands up.
06:45:58 <evincar> And say "anyone can edit; if you see spam, delete it".
06:46:39 <evincar> In that case, all edits will just be anonymous.
06:46:57 <evincar> Still, there needs to be some sanity in the genes.
06:47:12 <evincar> I'll probably moderate just gene suggestions.
06:52:11 <evincar> Can anyone suggest a better name than "Programming Language Genome Project"?
06:52:21 <evincar> Or a better acronym than "PLGP"? :P
06:53:06 <CakeProphet> !wacro
06:53:07 <EgoBot> SPO
06:53:23 <evincar> The name of that one mouse from "Housepets!"?
06:53:32 <CakeProphet> !wacro
06:53:33 <EgoBot> WSESTT
06:53:34 <CakeProphet> !wacro
06:53:34 <CakeProphet> !wacro
06:53:35 <CakeProphet> !wacro
06:53:35 <EgoBot> BGMBRD
06:53:35 <EgoBot> HTSM
06:53:35 <EgoBot> DICSUIF
06:53:46 <evincar> Dicks you if.
06:53:55 <evincar> How helpful.
06:54:13 <monqy> appaling
06:54:30 <evincar> A-pailing.
06:54:57 <monqy> a peeling
06:54:59 <fizzie> Genome Project for Languages of Programming, the GPL-pee.
06:55:38 <monqy> how will that even work
06:55:56 <fizzie> You pee, and then everyone is free to modify that, as long as they pee too in public.
06:56:41 <fizzie> Also you can maybe have some invariant sections, I don't know.
07:02:36 <CakeProphet> !wacro
07:02:38 <EgoBot> EHPHC
07:03:24 <CakeProphet> !wacro
07:03:24 <EgoBot> BHR
07:03:26 <evincar> EPIC is a Programming-language Index for Coders?
07:03:27 <CakeProphet> !wacro
07:03:27 <EgoBot> BARS
07:03:41 <evincar> :O
07:04:05 <evincar> I'm pretty sure I can't escape bad acronyms.
07:04:08 -!- Lymee has quit (Read error: Operation timed out).
07:04:15 <evincar> So I should probably just avoid them.
07:04:35 <CakeProphet> !wacro
07:04:36 <EgoBot> ECBM
07:04:50 <evincar> After all, it's a Programming Language Genome Project, and nothing else.
07:05:19 <monqy> i prefered gpl pee
07:05:33 <fizzie> The pee of champions!
07:05:49 <CakeProphet> > replicateM 4 "plgp"
07:05:49 <lambdabot> ["pppp","pppl","pppg","pppp","pplp","ppll","pplg","pplp","ppgp","ppgl","ppg...
07:05:57 <CakeProphet> er...
07:06:12 <CakeProphet> > permutations "plgp"
07:06:12 <lambdabot> ["plgp","lpgp","glpp","lgpp","gplp","pglp","pglp","gplp","glpp","plgp","lpg...
07:06:29 <CakeProphet> > nub $ permutations "plgp"
07:06:29 <lambdabot> ["plgp","lpgp","glpp","lgpp","gplp","pglp","pplg","plpg","lppg","ppgl","pgp...
07:07:00 <evincar> GePPLa. The Genome Project for Programming Languages.
07:07:07 -!- copumpkin has quit (Ping timeout: 260 seconds).
07:07:25 <evincar> Geproprolang.
07:07:28 <fizzie> GULP, the Genome Undertaking for the Languages of Programming.
07:07:32 -!- copumpkin has joined.
07:07:47 <evincar> Can't sleep? Incontinent? Someone suck out your eyes with a powerful hoover? You need Geproprolang!
07:08:37 <evincar> fizzie: That's surprisingly not terrible.
07:08:39 <CakeProphet> son I am proud.
07:09:50 <CakeProphet> > (`replicateM` words "son I am proud") =<< [3..]
07:09:50 <lambdabot> [["son","son","son"],["son","son","I"],["son","son","am"],["son","son","pro...
07:10:16 <CakeProphet> > join $ (`replicateM` words "son I am proud") =<< [3..]
07:10:16 <lambdabot> ["son","son","son","son","son","I","son","son","am","son","son","proud","so...
07:10:34 <CakeProphet> > join . join $ (`replicateM` words "son I am proud") =<< [3..]
07:10:35 <lambdabot> "sonsonsonsonsonIsonsonamsonsonproudsonIsonsonIIsonIamsonIproudsonamsonsona...
07:11:57 <CakeProphet> > join . join . drop 40 $ (`replicateM` words "son I am proud") =<< [3..]
07:11:58 <lambdabot> "amamsonamamIamamamamamproudamproudsonamproudIamproudamamproudproudproudson...
07:24:35 -!- zzo38 has joined.
07:29:50 <zzo38> 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 <zzo38> 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 <CakeProphet> > nub . permutations $ "help"
07:34:12 <lambdabot> ["help","ehlp","lehp","elhp","lhep","hlep","pleh","lpeh","leph","pelh","epl...
07:34:29 <zzo38> 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 <CakeProphet> > unwords . nub . permutations $ "help"
07:34:32 <lambdabot> "help ehlp lehp elhp lhep hlep pleh lpeh leph pelh eplh elph phel hpel hepl...
07:37:53 <zzo38> 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 <Sgeo> > length . nub . permutations $ "help"
07:38:09 <lambdabot> 24
07:38:16 <Sgeo> > length . permutations $ "help"
07:38:17 <lambdabot> 24
07:38:28 <Sgeo> > length . permutations $ "hhhh"
07:38:30 <lambdabot> 24
07:38:34 <zzo38> I have never tested my design, however.
07:38:58 <Sgeo> > length . nub . permutations $ "hhhh" -- 1. I'd feel awkward not including it though
07:38:59 <lambdabot> 1
07:39:05 <Sgeo> Night
07:40:19 <CakeProphet> I'm not really following this very well: http://blog.ezyang.com/2011/08/joseph-and-the-amazing-technicolor-box/
07:43:35 <zzo38> I especially like the [[User:Ian]] article in esolang wiki.
08:07:05 <CakeProphet> > (`replicateM` words "const & const &") =<< [3..]
08:07:06 <lambdabot> [["const","const","const"],["const","const","&"],["const","const","const"],...
08:07:15 <CakeProphet> > unwords . join $ (`replicateM` words "const & const &") =<< [3..]
08:07:16 <lambdabot> "const const const const const & const const const const const & const & co...
08:07:28 <CakeProphet> examples of common idioms in C++
08:07:36 <evincar> Derp.
08:08:18 <CakeProphet> > unwords . join $ (`replicateM` words "const & const &") =<< [1..]
08:08:19 <lambdabot> "const & const & const const const & const const const & & const & & & cons...
08:16:31 -!- zzo38 has quit (Remote host closed the connection).
08:32:42 <CakeProphet> > null (undefined:undefined)
08:32:43 <lambdabot> False
08:32:54 <CakeProphet> > null undefined
08:32:55 <lambdabot> *Exception: Prelude.undefined
08:36:25 -!- copumpkin has quit (Ping timeout: 250 seconds).
08:36:50 -!- copumpkin has joined.
08:43:16 <evincar> Welcome to the world of laziness.
08:43:43 <monqy> 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 <Patashu> 'permutations' is a function I soooo wish existed in C# etc
10:28:56 <Patashu> ;_;
10:29:00 <Patashu> or does it?
10:29:58 -!- monqy has quit (Quit: hello).
10:34:09 <fizzie> Patashu: C++ STL <algorithm> has std::next_permutation.
10:34:23 <fizzie> Rearranges a list to the next permutation.
10:34:43 <fizzie> Well, a collection. A container. A something with bidirectional iterators.
10:35:09 <fizzie> There is also the corresponding "prev_".
10:35:18 <Patashu> o_o
10:35:51 <Patashu> how did I miss this ;_;
10:38:41 <fizzie> 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 <oerjan> 23:57:28 <CakeProphet> > unwords . nub . permutations $ "help"
11:42:09 <oerjan> 23:57:30 <lambdabot> "help ehlp lehp elhp lhep hlep pleh lpeh leph pelh eplh elph phel hpel hepl...
11:42:15 <oerjan> i suppose that was inevitable.
11:50:51 -!- boily has joined.
11:51:06 <oerjan> 02:57:00 <fizzie> Patashu: C++ STL <algorithm> has std::next_permutation.
11:51:06 <oerjan> 02:57:15 <fizzie> Rearranges a list to the next permutation.
11:51:28 <oerjan> that cannot be a pure function can it, i doubt it would get through all permutations otherwise.
11:51:44 <fizzie> C++, pure function?
11:51:54 <oerjan> i mean, depending only on the list input
11:52:35 <fizzie> 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 <oerjan> actually it obviously cannot, since S_n is not cyclic for n large enough
11:53:02 <fizzie> And returns true, except if it's the "largest" permutation, it goes to the "smallest" one, and returns false.
11:53:09 <oerjan> ok so depends on an element order then
11:53:16 <fizzie> Yes, it does.
11:54:16 -!- Slereah has quit (Ping timeout: 252 seconds).
11:54:43 <Patashu> you can't draw a graph linking every permutation? why not?
11:54:47 -!- GuestIceKovu has joined.
11:54:58 <Patashu> you need to know where you started?
11:56:14 <oerjan> 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 <Patashu> you'd -hope- they can be compared
11:56:55 <oerjan> ...haskell's permutations works even if they cannot.
11:57:28 <oerjan> > length . permutations $ replicate 5 undefined
11:57:30 <lambdabot> 120
11:59:25 <fizzie> 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 <fizzie> > let nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in nextPermutation [1,2,3,4,5]
12:04:39 <lambdabot> [1,2,3,5,4]
12:04:42 <fizzie> The best implementation?
12:07:53 <oerjan> it _might_ not be ideal speedwise
12:11:12 <Patashu> @t iterate
12:11:12 <lambdabot> 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 <Patashu> > let nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in iterate nextPermutation [1,2,3,4,5]
12:11:37 <lambdabot> [[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 <Patashu> > let nextPermutation l = head . tail . dropWhile (/= l) . cycle . sort $ permutations l in iterate nextPermutation [1,2,3]
12:11:50 <lambdabot> [[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 <Patashu> seems to work
12:13:41 <Patashu> ah I get how it works
12:13:50 <oerjan> > 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 <lambdabot> mueval-core: Time limit exceeded
12:13:57 <Patashu> ouch
12:14:02 <oerjan> thought so :P
12:16:16 <fizzie> > 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 <lambdabot> True
12:16:21 <fizzie> See, you do get them all.
12:25:19 <oerjan> > 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 <lambdabot> Couldn't match expected type `[a]'
12:25:19 <lambdabot> against inferred type `Data.Eith...
12:25:24 <oerjan> oops
12:25:46 <oerjan> > 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 <lambdabot> Right [1,2,3,5,4]
12:26:56 <oerjan> > 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 <lambdabot> [[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 <oerjan> > 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 <lambdabot> [[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 <oerjan> looks good
12:28:03 -!- derrik has joined.
12:28:52 <oerjan> > 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 <lambdabot> Couldn't match expected type `Data.Maybe.Maybe a'
12:28:53 <lambdabot> against inferred ...
12:29:02 <fizzie> Yes, and it's even conceptually closer to the C++ version, since it also indicates the wraparound.
12:29:10 <oerjan> that was the idea
12:29:47 <oerjan> oh
12:30:39 <oerjan> > 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 <lambdabot> Couldn't match expected type `Data.Maybe.Maybe a'
12:30:40 <lambdabot> against inferred ...
12:30:46 <oerjan> urk
12:30:55 <oerjan> :t (Just.).(id &&& id)
12:30:55 <lambdabot> forall b. b -> (b, Maybe b)
12:31:01 <oerjan> oops
12:31:35 <oerjan> > 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 <lambdabot> [[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
12:31:50 <oerjan> oops. oh well.
12:31:53 <Patashu> that's a hell of a way to use the function XD
12:32:27 <oerjan> :t isLeft
12:32:28 <lambdabot> Not in scope: `isLeft'
12:33:10 <fizzie> How come plain ":t" doesn't work in a query?
12:34:55 <oerjan> > 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 <lambdabot> Couldn't match expected type `Data.Maybe.Maybe a'
12:34:55 <lambdabot> against inferred ...
12:35:00 <oerjan> bah
12:35:05 <oerjan> too much work
12:35:08 <oerjan> 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 <Taneb> Hello
13:17:58 <oerjan> hello, you look distinctively unkindled
13:18:00 <Taneb> How are we all help
13:18:25 <oerjan> we are all doomed
13:18:33 <Taneb> No I just couldnt be bothered to put that in
13:18:36 <oerjan> so, business as usual
13:18:43 <oerjan> oh
13:20:21 <Taneb> I got my GCSE reults yesterday
13:20:36 <Taneb> They were... very neat
13:21:02 <Taneb> Two A stars two As two Bs and Two Cs
13:22:46 -!- oerjan has quit (Quit: So tired).
13:23:34 <fizzie> A-star is like A but with a footnote?
13:24:28 <Phantom_Hoover> Taneb, did you attach a handle to your Kindle.
13:24:29 <Taneb> It is the top decile
13:25:01 <Taneb> That would be Kindlehandled
13:25:40 <Taneb> But,almost
13:26:36 -!- GuestIceKovu has changed nick to Slereah.
13:26:42 <Phantom_Hoover> fizzie, A* is what they introduced because the English haven't got the hang of this "preventing rampant grade inflation" thing.
13:27:28 <Phantom_Hoover> (In Scotland, grades are defined entirely in terms of percentiles.)
13:27:29 <fizzie> Next, the A☄.
13:27:41 <Phantom_Hoover> The A meteor?
13:27:52 <fizzie> Right. It's like the next step from a star.
13:27:59 <fizzie> A star that shoots.
13:28:30 <Phantom_Hoover> Yes. That is how it works.
13:28:31 <fizzie> Or possibly A*, A⁑ and A⁂.
13:29:55 -!- Taneb has quit (Ping timeout: 252 seconds).
13:30:12 <fizzie> All the stars must've been too much for the Kindel.
13:30:24 <Phantom_Hoover> A*, A ░, A§.
13:31:52 <fizzie> A⁂͙̽͘. (Disclaimer: might not work right in a monospace thing.)
13:32:19 -!- Taneb|Kindle has joined.
13:32:40 <Taneb|Kindle> That's better
13:32:46 <Phantom_Hoover> Taneb|Kindle, what were the A*s in?
13:33:02 <Taneb|Kindle> Maths and Physics
13:33:22 <fizzie> 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 <Taneb|Kindle> Which browser?
13:35:39 <fizzie> FF3.6.18. (This is at work.)
13:35:58 <Taneb|Kindle> OK
13:36:28 <Taneb|Kindle> I use mainly Chrome and recently the Kindle browser
13:36:51 <Taneb|Kindle> Which annoyingly lacks tabbed browsing
13:37:47 <Taneb|Kindle> I wonder what framework it uses...
13:38:18 <Taneb|Kindle> Too quick and too non-Microsoft to be Trident
13:39:11 <fizzie> It's an ARM slate, isn't it? I wouldn't think Trident is even portable to anything non-Windows.
13:40:36 <Taneb|Kindle> Maybe it is an in-ouse developement by Amazon
13:40:37 <fizzie> "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 <Taneb|Kindle> WebKit it is
13:41:45 <fizzie> WebKit here, WebKit there, WebKit everywhere.
13:45:08 <Phantom_Hoover> WebKit, WebKit everywhere, nor any drop to drink!
13:48:02 <Taneb|Kindle> I wonder how possible it would be to make a web browser in, say, Befunge-98 + PSOX
13:48:35 <Phantom_Hoover> SHH DON'T MENTION THE P-WORD
13:48:46 <Phantom_Hoover> For one thing, Befunge-98 has its own way of doing that kind of thing.
13:49:02 <Taneb|Kindle> Oh yes
13:49:11 -!- MSleep has changed nick to MDude.
13:49:54 <Taneb|Kindle> So, possible
13:49:58 <fizzie> Don't say the P-word, you'll awaken the sleeping beast.
13:50:13 <fizzie> I was supposed to add a HTTP client to fungot for fetching URLs, but never really got that done.
13:50:13 <fungot> 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 <Phantom_Hoover> Taneb|Kindle, wait did you witness the glory of Homestuck Mode.
13:52:30 <Taneb|Kindle> ...Possib
13:52:33 <Taneb|Kindle> ly
13:53:02 -!- derrik has quit (Ping timeout: 258 seconds).
13:53:04 <Taneb|Kindle> If you are talking about old fungie there,then yes
13:53:08 <fizzie> IMPOSSIBLATOR.
13:54:05 <Taneb|Kindle> If you are talking abou a specif fungot moment then no
13:54:05 <fungot> 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 <Taneb|Kindle> I am going eexploring bye
13:56:37 <Phantom_Hoover> Is that like exploring?
13:56:39 <fizzie> Go spelunking.
13:56:55 <Phantom_Hoover> fizzie, I don't think there are any caves in Northumberland.
13:57:13 <Phantom_Hoover> OH WAIT NO: http://en.wikipedia.org/wiki/Category:Caves_of_Northumberland
13:57:19 <fizzie> North UNDERland, certainly it's made out of caves.
13:57:58 <fizzie> "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 <fizzie> I like the directions.
13:58:08 <fizzie> "Yeah, you know, the tall mast behind the farm."
13:58:34 <Phantom_Hoover> You underestimate the scarcity of notable things in Northumberland.
13:58:45 <Phantom_Hoover> 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 <Patashu> 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 <Patashu> I see this a lot when talking about unix
14:06:25 -!- derrik has joined.
14:18:58 <Patashu> Wow, perl has a unary +
14:21:56 <Phantom_Hoover> Patashu, it's the man section.
14:22:15 <Phantom_Hoover> man pages refer to other pages as page(section).
14:22:19 <Phantom_Hoover> 3 is libraries.
14:23:45 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:29:55 -!- coppro_ has joined.
14:32:16 <fizzie> Used like "man 3 printf", to distinguish it from printf(1), the shell command.
14:34:11 <Patashu> 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 <Phantom_Hoover> Patashu, no.
14:36:44 <Phantom_Hoover> 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 <Patashu> OOOH
14:37:37 <Patashu> thank you thank you!
14:37:41 <Patashu> I have to write this down
14:37:53 <Phantom_Hoover> `man man
14:37:57 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
14:38:15 <Phantom_Hoover> On my system, that gives:
14:38:16 <Phantom_Hoover> 1 Executable programs or shell commands
14:38:16 <Phantom_Hoover> 2 System calls (functions provided by the kernel)
14:38:16 <Phantom_Hoover> 3 Library calls (functions within program libraries)
14:38:16 <Phantom_Hoover> 4 Special files (usually found in /dev)
14:38:16 <Phantom_Hoover> 5 File formats and conventions eg /etc/passwd
14:38:18 <Phantom_Hoover> 6 Games
14:38:20 <Phantom_Hoover> 7 Miscellaneous (including macro packages and conven‐
14:38:22 <Phantom_Hoover> tions), e.g. man(7), groff(7)
14:38:24 <Phantom_Hoover> 8 System administration commands (usually only for root)
14:38:26 <Phantom_Hoover> 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 <Phantom_Hoover> "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 <Phantom_Hoover> whaaaaaaat
16:44:36 <Phantom_Hoover> I mean
16:44:41 <Phantom_Hoover> who thinks
16:45:42 <Phantom_Hoover> "Australian patriotic song — the perfect tune for my Jewish wedding!"
17:22:50 <Gregor> Sounds legit.
17:25:05 -!- MDude has quit (Read error: Connection reset by peer).
17:25:30 <CakeProphet> all of the ngram data is close to 10 GBs
17:25:37 <CakeProphet> 1gram I mean
17:27:06 <CakeProphet> < Patashu> Wow, perl has a unary +
17:27:20 <CakeProphet> uh, so do other languages.
17:30:04 <CakeProphet> !python print (+2)
17:30:05 <EgoBot> 2
17:30:41 <pikhq_> > (+2)
17:30:42 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
17:30:42 <lambdabot> arising from a use of `...
17:30:47 <CakeProphet> though I suppose Perl is one of the few where it's actually useful in certain situations.
17:31:15 <pikhq_> Well. Clearly Haskell has unary +. It just results in a function.
17:31:51 <CakeProphet> to distinguish something as numeric, or to distinguish hashrefs from blocks in situations where they're ambiguous.
17:33:06 <boily> > :t (+2)
17:33:07 <lambdabot> <no location info>: parse error on input `:'
17:33:25 <pikhq_> :t (+2)
17:33:26 <lambdabot> forall a. (Num a) => a -> a
17:33:43 <pikhq_> 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 <elliott> 05:33:05: <evincar> If there were a consumer-quality Lisp-based OS, I'd go for it.
17:59:16 <elliott> 05:34:07: <pikhq_> I hear Symbolics offered those. In the 80s.
17:59:26 <elliott> they still do.
18:00:30 <elliott> 05:47:01: <evincar> Also, time to write a script for cat /usr/share/X11/locale/en_US.UTF-8/Compose | grep
18:00:31 <elliott> I...
18:01:14 <elliott> 05:59:30: <fizzie> 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 <elliott> sponding 4-gram query ("what are t
18:01:14 <elliott> 05:59:31: <fizzie> 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 <elliott> fizzie: A variable-length n-gram model would take up considerably more disk space. :p
18:02:05 <elliott> 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 <elliott> 06:04:05: <fizzie> That one's just weird.
18:04:27 <elliott> 06:04:08: <fizzie> ^style c64
18:04:27 <elliott> 06:04:08: <fungot> Selected style: c64 (C64 programming material)
18:04:27 <elliott> 06:04:09: <fizzie> 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 <fungot> 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 <fungot> 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 <elliott> You typed that in one second?
18:05:20 <elliott> 06:08:24: <fungot> Patashu: john, it appears we have reached an impasse
18:05:20 <elliott> 06:08:27: <Patashu> haha
18:05:20 <elliott> 06:08:39: <fizzie> Probably a straight quote, sadly. :p
18:05:20 <fungot> elliott: not that it would actually bother pitying you.
18:05:26 <elliott> "fellow john, it appears we have reached an impasse" (http://www.mspaintadventures.com/?s=6&p=002414)
18:05:43 <elliott> (I'm not sure it's so wise to include page titles.)
18:06:13 <elliott> 06:13:48: <fizzie> 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 <fungot> 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 <elliott> fizzie: So, with the glitch in the Final Fantasy data set, the problem is that "that sword alone" can't-stop?
18:06:44 <elliott> OHHHHHHH SNAPPPPP
18:08:40 <elliott> 06:37:28: <monqy> evincar: http://en.wikipedia.org/wiki/Tripcode hjelp
18:08:41 <elliott> Wouldn't it be hilarious if evincar implemented the trivial-to-crack original tripcode system. (Yes.)
18:09:48 <CakeProphet> ObZen
18:10:04 <elliott> 06:41:50: <Patashu> they'd be easy to crack actually
18:10:04 <elliott> 06:41:52: <Patashu> if the algorithm is public
18:10:04 <elliott> lol
18:10:12 <elliott> yeah just like all the SHA algorithms are totally beaten
18:10:13 <elliott> RSA too
18:10:19 <elliott> they just weren't hidden enough
18:10:27 <elliott> waht is cryprogrtaphy
18:10:27 <CakeProphet> heh
18:10:37 <elliott> mind you the originals are insanely crackable
18:10:39 <elliott> http://en.wikipedia.org/wiki/Tripcode#Description_of_the_algorithm
18:10:42 <elliott> just look how beautiful it is
18:10:49 <CakeProphet> help what is public key
18:10:54 <elliott> "Most noticeably, many implementations substitute various characters with their HTML entities. For example, 2channel translates <, >, and " to &lt;, &gt;, and &quot;."
18:11:00 <elliott> failed html escaping → STANDARD
18:11:49 <elliott> Aww, someone already wrote a GPU tripcode cracker...
18:12:00 <elliott> Looks Windows/ATI-only though.
18:12:17 <CakeProphet> http://blog.ezyang.com/2010/12/gin-and-monotonic/
18:12:25 <CakeProphet> I imagine this has been on reddit
18:12:28 <elliott> i looked at that but then i ran away scared oops
18:12:33 <ais523> elliott: those are the correct HTML escapes, aren't they?
18:12:35 <elliott> todo: read ezyang's words in depth
18:12:40 <CakeProphet> I can kind of follow it up to like... the last part
18:12:53 <CakeProphet> it helps to read the previous blog that he links, where he explains some of the notation.
18:12:54 <elliott> ais523: yes, but you don't escape something that is going into crypt(), rather than being rendered as html
18:13:29 <ais523> oh, that's on the /input/ to crypt()
18:13:33 <ais523> that is stupid
18:13:54 <CakeProphet> he interesting to see a diagram of the partial orders of data types.
18:13:57 <CakeProphet> *it's interesting
18:14:53 <CakeProphet> > head undefined
18:14:54 <lambdabot> *Exception: Prelude.undefined
18:15:07 <fizzie> 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 <fungot> 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 <CakeProphet> though he has the diagram for head messed up. He says bottom -> []
18:15:34 <CakeProphet> but it's obviously bottom -> bottom
18:15:46 <CakeProphet> or maybe I'm reading it wrong.
18:15:50 <fizzie> (Mostly away; have to leave to Florence tomorrow at 0530am or so, and I haven't really packed yet.)
18:16:22 <CakeProphet> yes, I'm reading it wrong.
18:17:07 <CakeProphet> it's not showing the partial order of the output values.
18:17:15 <fizzie> 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 <CakeProphet> just demonstrating that it's monotonic.
18:17:24 <elliott> fizzie: But I was _just_ about to ask about my insane case. :p
18:17:47 <fizzie> 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 <CakeProphet> the diagram for const is kind of neat.
18:21:01 <pikhq_> Sweet Jesus I want. Researchers at IBM are putting together a 250 petabyte array. For no apparent reason.
18:21:02 <CakeProphet> > uncurry const (1,2)
18:21:03 <lambdabot> 1
18:21:07 <elliott> 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 <elliott> 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 <elliott> Maybe a doubly-linked tree. :p
18:22:46 <CakeProphet> dude use teh huffmans
18:23:06 <elliott> fizzie: Also: BLOOM FILTERS. Tell me bloom filters help. BLOOM. FILTERS.
18:23:54 <pikhq_> elliott: Always does.
18:24:13 <elliott> fizzie: BLOOM FILTERS
18:25:04 <CakeProphet> 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 <CakeProphet> I doubt that would help at all actually.
18:25:26 <elliott> CakeProphet: With a billion words, I doubt it.
18:25:34 <CakeProphet> because now you have two data structures. :P
18:25:39 <elliott> I mean, that's four bytes; words are four bytes. Sometimes. :p
18:25:47 <elliott> I guess it might be smaller.
18:25:52 <fizzie> I do that (use 32-bit -- well, 28-bit, I think -- integers) in fungot.
18:25:52 <fungot> 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 <fizzie> I mean, the unigram list is a lot shorter than the 5-gram list.
18:26:25 <CakeProphet> elliott: well if you're using Haskell then every word will be larger than four bytes I believe.
18:27:27 <elliott> CakeProphet: Dude.
18:27:31 <elliott> It's going to be almost a terabyte.
18:27:37 <elliott> You think I'm storing it in memory?
18:27:46 <CakeProphet> HUFFMAN CODING.
18:27:49 <elliott> fizzie: Right, it's true.
18:28:03 <CakeProphet> elliott: I didn't know it was TB.
18:28:13 <elliott> fizzie: Just answer the easy questions and avoid the ones involving the backwards n-grams, why don't you. :p
18:28:14 <CakeProphet> or rather, had forgotten
18:28:18 <fizzie> 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 <fungot> 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 <CakeProphet> that that was the issue at hand.
18:28:29 <elliott> 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 <fizzie> The terabyte might be a bit high estimate, I think that included Postgres indices too.
18:28:58 <elliott> fizzie: Well, yes, but I'm asking how to do a backwards tree in the same thing.
18:29:05 <elliott> Or, hmm, you might not be trying to answer that.
18:29:14 <elliott> <elliott> 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 <elliott> <elliott> 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 <elliott> <elliott> Maybe a doubly-linked tree. :p
18:29:18 <elliott> s/reverse/backwards/.
18:29:19 <CakeProphet> I recall reading about a compression algorithm that allowed for fast access but I can't recall the name...
18:29:21 <elliott> Clash of terminology there.
18:31:09 <CakeProphet> LZW would probably allow for fast reads?
18:31:29 <CakeProphet> since it's pretty simple to decode.
18:34:39 <fizzie> 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 <elliott> fizzie: I'm... not sure you understand me at all.
18:35:31 <fizzie> I'm not sure I'm trying to, I'm just elaborating on how I built it.
18:35:34 <elliott> Oh.
18:35:51 <elliott> I thought "The tree, then." was trying to answer my question.
18:36:35 <fizzie> 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 <elliott> I suppose just storing what averages out to twice the data in a leaf would work.
18:36:50 <elliott> But it feels like I could do it more efficiently. :/
18:37:07 <elliott> (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 <CakeProphet> 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 <elliott> The five-DVD web data is not per-year.
18:40:08 <fizzie> 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 <fizzie> n use its weights. (Those being the (n-1)-gram weights.)
18:40:38 <fizzie> Anyway, I really neeeeed to pakc. This was just a random outburst. Happy to help, have a nice day, etc., etc.
18:41:26 <elliott> 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 <Phantom_Hoover> What *is* an n-gram, anyway.
18:42:25 <elliott> 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 <CakeProphet> a sequence of n elements basically
18:42:42 <CakeProphet> from some other sequence.
18:42:44 <elliott> 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 <CakeProphet> in this context an n-gram is a sequence of n words.
18:43:03 <elliott> 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 <fizzie> Oh, *that* sort of reversed. (Yes, I paid some attention, finally.)
18:43:22 <elliott> I DID say s/reversed/backwards/ for a reason :P
18:43:37 <fizzie> Unfortunately I don't have an immediate opinion on *that*. :p
18:43:56 <CakeProphet> 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 <elliott> fizzie: But what about BLOOM FILTERS?
18:45:47 -!- calamari has joined.
18:47:53 <CakeProphet> > take 5 [1,2,3]
18:47:54 <lambdabot> [1,2,3]
18:50:08 <Sgeo> > take 5 $ repeat 1
18:50:08 <lambdabot> [1,1,1,1,1]
18:50:37 <CakeProphet> > let ngrams [] = []; ngrams ls = take n ls : ngrams (tail ls) in ngrams "hello friends"
18:50:37 <lambdabot> Couldn't match expected type `GHC.Types.Int'
18:50:37 <lambdabot> against inferred type ...
18:50:47 <CakeProphet> > let ngrams n [] = []; ngrams n ls = take n ls : ngrams (tail ls) in ngrams "hello friends"
18:50:48 <lambdabot> Couldn't match expected type `[t]'
18:50:48 <lambdabot> against inferred type `GHC.Types...
18:51:48 <CakeProphet> > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in ngrams 3 "hello friends"
18:51:49 <lambdabot> ["hel","ell","llo","lo ","o f"," fr","fri","rie","ien","end","nds","ds","s"]
18:52:23 <CakeProphet> > 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 <lambdabot> [["the","quick","brown"],["quick","brown","fox"],["brown","fox","jumped"],[...
18:52:44 <fizzie> Normally you'd stop at "nds" there in the letter-case.
18:53:38 <elliott> Hmm, I wonder if that tree-ascent thing would work.
18:53:42 <fizzie> Also pattern-match that tail.
18:53:43 <fizzie> > let ngrams _ [] = []; ngrams n l@(_:ls) = take n l : ngrams n ls in ngrams 3 "hello friends"
18:53:44 <lambdabot> ["hel","ell","llo","lo ","o f"," fr","fri","rie","ien","end","nds","ds","s"]
18:53:54 <elliott> All I have to do is store every parent as well as every child.
18:54:04 <elliott> That's probably more wasteful than just storing twice the data in leaves, though.
18:54:10 <CakeProphet> fizzie: personal preference. I think it's nicer without the @ pattern.
18:54:13 <elliott> fizzie: Ha, the Haskell Bug has got you.
18:54:16 <elliott> CakeProphet: tail is a partial function.
18:54:20 <elliott> You do not use partial functions when unnecessary.
18:54:38 <CakeProphet> ngrams n ls is also a partial function. in particular it is guaranteed to never have ls = []
18:54:55 <elliott> You don't know what a partial function is, I see.
18:55:01 <CakeProphet> no I do.
18:55:13 <CakeProphet> but it's the same thing. I am using tail in a case expression.
18:55:21 <elliott> No, there is no case expression there.
18:55:24 <pikhq_> elliott: Though he can be sure he will never be hitting the tail [] case.
18:55:38 <CakeProphet> elliott: let ngrams n [] = []; ngrams n ls = ... in ...
18:55:39 <elliott> pikhq_: Great -- so everyone has to mentally prove that to themselves to make sure the function is right.
18:55:41 <CakeProphet> see the case expression?
18:55:48 <elliott> pikhq_: So readable!
18:55:58 <elliott> CakeProphet: You do not know what a case expression is.
18:56:02 <CakeProphet> yes.
18:56:19 <CakeProphet> do you know what syntactic sugar is?
18:56:34 -!- pikhq has joined.
18:56:51 <elliott> fizzie: Additional nitpick with yours: lss@(_:ls) is more idiomatic.
18:58:16 <pikhq> 12:56 < pikhq_> elliott: Though he can be sure he will never be hitting the tail [] case.
18:58:19 <pikhq> 12:56 < pikhq_> Since that is handled by the ngrams n [] match.
18:58:22 <pikhq> 12:56 < pikhq_> Still, the @ pattern is nicer.
18:58:22 <elliott> pikhq: <elliott> pikhq_: Great -- so everyone has to mentally prove that to themselves to make sure the function is right.
18:58:24 <elliott> <elliott> pikhq_: So readable!
18:58:42 <CakeProphet> a match which /is/ a case expression, but whatever I am done with this line of conversation.
18:59:02 <elliott> CakeProphet: I'm pretty sure the semantics aren't actually identical to case.
18:59:07 <elliott> Mumble mumble irrefutable patterns.
18:59:22 <elliott> 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 <elliott> 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 <ais523> and yet people say that leaving JavaScript on by default is a good idea
19:00:43 <elliott> ais523: I linked that in -minecraft
19:00:50 <elliott> ais523: and -1, Troll
19:00:53 <elliott> (did I get my slashdot syntax right?)
19:00:54 <ais523> heh, that's why I wouldn't have seen it
19:01:00 <ais523> possibly
19:01:13 <ais523> the thing about JavaScript is, I can't think of too many legitimate uses for it
19:01:18 <elliott> -minecraft is more -df these days
19:01:19 <CakeProphet> elliott: what is the difference exactly with irrefutable patterns?
19:01:42 <ais523> elliott: that makes me smugly satisfied, is that wrong?
19:01:48 <ais523> at least, it's what I'd expect as a natural evolution
19:02:19 <elliott> ais523: bear in mind that we've been hating on minecraft almost as long as -minecraft exists :P
19:02:23 <elliott> s/exists/has existed/
19:02:32 <ais523> elliott: oh, it's not /just/ me who hates on it?
19:02:52 <elliott> ais523: well, _we_ hate on it because it doesn't nearly live up to its potential
19:03:00 <pikhq> ais523: Most people who play Minecraft both like and curse it.
19:03:06 <ais523> elliott: same here, I think
19:03:08 <elliott> pikhq: you clearly haven't seen /r/minecraft
19:03:13 <ais523> I think other things do live up to its potential quite well, though
19:03:16 <ais523> so it isn't necessary
19:03:18 <ais523> (DF is one of them)
19:03:26 <pikhq> Oh, right, sorry, not all people are sane.
19:03:27 <elliott> ais523: DF is not the game Minecraft could be
19:03:31 <elliott> Elliottcraft is :)
19:03:35 <elliott> (my Elliottcraft)
19:03:53 <pikhq> 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 <pikhq> Smartass. :P
19:06:00 <pikhq> Y'know what I mean. Really, really *stupid* shit gets broken *directly by* his bug fixes.
19:06:54 <pikhq> And it runs on a really slow pace of development, with really rather conservative gameplay changes.
19:07:27 <pikhq> I mean, since 1.3 we've had, what. Repeaters, powered rail, pistons, wolves?
19:07:42 <CakeProphet> elliott: pattern binding is semantically equivalent to case expressions in the Haskell Report, for what it's worth.
19:07:58 <elliott> lambdabot has language extensions.
19:07:59 <pikhq> Or "what a modder puts in on day 1 of their 'ZOMG AWESOME' mod".
19:08:15 <CakeProphet> I see.
19:08:17 <elliott> pistons are a one day thing?
19:08:18 <elliott> pro
19:08:42 <pikhq> Okay, fine, give that one a week, maybe two if you don't want stupid breaking bugs.
19:08:50 <CakeProphet> language extensions = mass chaos? I guess?
19:09:05 <pikhq> Mostly because you're having to hack block movement into an architecture that doesn't handle it at all.
19:10:02 <pikhq> Meanwhile, the Nether is still a boring-as-hell place.
19:10:16 <pikhq> And by the time you've got diamond you've won.
19:10:16 <CakeProphet> LIGHTSTONE WEEEEEEE
19:10:36 <pikhq> Heck, by the time you've got a nice bit of iron you've won.
19:10:57 <CakeProphet> I believe invedit is the standard way to win Minecraft.
19:11:31 <pikhq> Okay, yeah, SPC and TMI to hack together a Creative mode is kinda entertaining still.
19:14:10 <elliott> Hey fizzie, what's the approximate format of those DVDs? :P
19:14:22 <elliott> (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 <Phantom_Hoover> CakeProphet, real nerds don't need cred.
19:16:56 <Phantom_Hoover> (They have cerd instead.)
19:17:50 <CakeProphet> the nerd cred mostly functions as cred to non-nerds.
19:17:58 <CakeProphet> those who need the nerd cred.
19:18:19 <Phantom_Hoover> You mean those who are incapable of basic type theory? :P
19:18:36 <elliott> Irn bruuuuuuuuuuuurn.
19:18:42 <Phantom_Hoover> (:P makes any insult in good humour, no matter how barbed. Spread the word.)
19:18:43 <elliott> It's like an ice burn but... Scottish.
19:18:51 <fizzie> 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 <Phantom_Hoover> elliott, MADE FROM GURDERS IN SCOTLAND
19:19:01 <elliott> Phantom_Hoover: Die, you terrible fucking piece of worthless shit. :P
19:19:25 <elliott> fizzie: I wonder what the index is for.
19:19:29 <CakeProphet> elliott: I will cook you and eat you like I have countless children.
19:19:33 <Phantom_Hoover> elliott, indexing, duh.
19:19:34 <CakeProphet> oops. forgot the :P
19:20:19 <elliott> Phantom_Hoover: BUT OF COURSE.
19:20:33 <elliott> fizzie: Hmm, oh wait.
19:20:48 <elliott> fizzie: I _can't_ really generate backwards n-grams, can I? Not from forwards n-grams; only from raw data.
19:20:54 <elliott> :/
19:21:13 <elliott> 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 <pikhq> Huh, that's neat. Yet bizarre.
19:21:33 <elliott> pikhq: What is.
19:21:43 <pikhq> FAT short filenames are stored in the system legacy charset. FAT long filenames are stored in UTF-16.
19:21:47 <elliott> 12:33:10: <fizzie> How come plain ":t" doesn't work in a query?
19:22:06 <elliott> fizzie: Probably it doesn't respond to non-commands; I doubt the "foo++" karma method works there.
19:22:07 <elliott> ?karma foo
19:22:07 <lambdabot> foo has a karma of 1
19:22:10 <elliott> foo--
19:22:12 <elliott> ?karma foo
19:22:12 <lambdabot> foo has a karma of 0
19:22:23 <pikhq> So you need at least two distinct charset parsers to handle FAT.
19:22:25 <Phantom_Hoover> @karma Phantom_Hoover
19:22:25 <lambdabot> You have a karma of 0
19:22:29 <Phantom_Hoover> :(
19:22:34 <Phantom_Hoover> @karma elliott
19:22:34 <lambdabot> elliott has a karma of 2
19:22:40 <elliott> 13:26:42: <Phantom_Hoover> fizzie, A* is what they introduced because the English haven't got the hang of this "preventing rampant grade inflation" thing.
19:22:40 <elliott> 13:27:28: <Phantom_Hoover> (In Scotland, grades are defined entirely in terms of percentiles.)
19:22:40 <elliott> FAK U
19:22:43 <elliott> ?karma ehird
19:22:43 <lambdabot> ehird has a karma of 0
19:22:47 <elliott> ?karma lambdabot
19:22:47 <lambdabot> lambdabot has a karma of 11
19:22:51 <elliott> ?karma C
19:22:51 <lambdabot> C has a karma of 5
19:23:00 <elliott> Let's talk about C--.
19:23:04 <elliott> It's such a nicer language than C++.
19:23:07 <CakeProphet> > 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 <elliott> Or, wait, hmm.
19:23:08 <elliott> ?karma C
19:23:08 <lambdabot> C has a karma of 5
19:23:08 <lambdabot> [["depmuj","xof","nworb"],["xof","nworb","kciuq"],["nworb","kciuq","eht"],[...
19:23:13 <elliott> C--
19:23:14 <elliott> ?karma C
19:23:14 <lambdabot> C has a karma of 5
19:23:19 <elliott> Yeah, those are filtered. :p
19:23:28 <elliott> CakeProphet: Nope
19:23:28 <CakeProphet> > 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 <lambdabot> [["jumped"],["jumped","fox"],["jumped","fox","brown"],["fox","brown","quick...
19:23:36 <elliott> Yup
19:24:33 <fizzie> 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 <CakeProphet> > 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 <lambdabot> [["depmuj"],["depmuj","xof"],["depmuj","xof","nworb"],["xof","nworb","kciuq...
19:24:51 <elliott> 13:57:13: <Phantom_Hoover> OH WAIT NO: http://en.wikipedia.org/wiki/Category:Caves_of_Northumberland
19:24:52 <elliott> "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 <elliott> Phantom_Hoover: AMAZING NORTHUMBERLAND CAVES.
19:25:09 <elliott> fizzie: Yeees, but I need what comes after them.
19:25:32 <elliott> fizzie: Oh, hmm, the n-gram set is not actually in the "n-gram -> next-word" format, is it?
19:25:43 <elliott> It's just "n+1-gram". :p
19:25:49 <fizzie> 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 <elliott> (So actually the five-grams are an order-four Markov chain.)
19:25:54 <fizzie> Yes.
19:25:57 <Phantom_Hoover> Cool, WP says Edinburgh has a total of 40.6 sunshine hours in December.
19:26:02 <elliott> 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 <elliott> fizzie: Right, that should be easy enough then.
19:26:33 <elliott> I suppose I should download one of the books datasets so I can practice my micro-optimised C programming.
19:26:38 <elliott> I mean, I don't want to have to process it for a week.
19:26:44 <elliott> (I don't suppose you know how long it took to import into Postgres?)
19:27:09 <ais523> 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 <CakeProphet> I wonder what fungot would do with the google book data.
19:27:12 <fungot> CakeProphet: about the bad news. over the last one. wait no, that just made you disappear" and stuff?
19:27:19 <ais523> what sort of algorithm should you use to recover the original music?
19:27:27 <elliott> CakeProphet: Well, this all started with me pressuring fizzie to make it work with the internet data.
19:27:35 <elliott> But that would require a rather large retooling of fungot. :p
19:27:35 <fungot> 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 <ais523> 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 <elliott> ais523: Do you know which effect was applied to each?
19:28:01 <elliott> i.e. the algorithm used to distort
19:28:03 <ais523> elliott: not effects, they've simply been mixed with other sounds
19:28:07 <elliott> Oh.
19:28:12 <elliott> Never mind, then.
19:28:18 <ais523> e.g. you have a+b, a+c, a+d, a+e, and want a
19:28:24 <ais523> obviously it's impossible in general
19:28:34 <ais523> (this is just-out-of-curiosity, incidentally, I don't have an intended use for this)
19:29:00 <pikhq> Well, first you make a self-improving AI.
19:29:29 <ais523> I don't think that's /necessary.
19:29:34 <ais523> s\
19:29:39 <ais523> *s/\./\//
19:29:41 -!- oerjan has joined.
19:29:44 <pikhq> It's *a* solution, though.
19:29:44 <ais523> nor am I even certain it's sufficient
19:30:25 <ais523> 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 <ais523> 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 <pikhq> 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 <pikhq> And a self-improving AI is an "easy" route to a sufficiently advanced intelligence.
19:31:21 <elliott> "easy"
19:31:34 <pikhq> Scare-quotes for obvious reasons.
19:31:45 <ais523> because a) it's not really easy, and b) it's scary
19:32:40 <Phantom_Hoover> pikhq, what the hell is the actual problem.
19:32:50 <CakeProphet> almost as scary as having sentient furless apes everywhere!
19:33:23 <pikhq> 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 <ais523> Phantom_Hoover: it's a hypothetical problem, I'm just curious
19:33:37 <oerjan> > 86400-83486
19:33:38 <lambdabot> 2914
19:33:44 <ais523> pikhq: it's not effects, they've been mixed with other pieces of audio
19:33:53 <fizzie> 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 <fizzie> s; that's not too tricky for overlapping windows.)
19:34:10 <elliott> fizzie: Relatedly: have I mentioned that speech interfaces TOTALLY SUCK?
19:34:15 <elliott> OHHH BURRRN
19:34:22 <fizzie> Repeatedly.
19:34:37 <ais523> 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 <pikhq> 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 <CakeProphet> I am a speech interface. Speech to me.
19:34:52 <pikhq> So it's certainly possible in a hypothetical sense.
19:34:54 <Phantom_Hoover> I feel that the Scottish people in a voice-controlled elevator video is now relevant.
19:35:21 <ais523> Phantom_Hoover: I can imagine how that would go merely from the description
19:35:38 <Phantom_Hoover> I would link it but I have to feed the cat.
19:35:38 <pikhq> elliott: Even if we presume utterly perfect speech recognition, they would suck.
19:35:46 <ais523> (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 <pikhq> It's just bad for general UI use. Though it could probably be neat in some specific cases.
19:36:14 <ais523> is speech faster or slower than typing? my guess is slower
19:36:24 <ais523> I'm pretty sure it's slower than reading something that's already been written
19:36:26 <pikhq> ais523: Depends on the typist.
19:36:33 <ais523> habitual IRC users
19:36:35 <fizzie> 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 <CakeProphet> `quote gaping
19:36:38 <HackEgo> 617) <elliott> Deewiant: How do you go through life without seeing at least one gaping anus, that's what I want to know
19:36:40 <Phantom_Hoover> It's http://www.youtube.com/watch?v=NMS2VnDveP8
19:36:42 <elliott> <pikhq> elliott: Even if we presume utterly perfect speech recognition, they would suck.
19:36:46 <elliott> I'm just trolling fizzie, stop it.
19:37:03 <ais523> fizzie: hmm, doesn't ICA take a matrix as input?
19:37:07 <pikhq> elliott: I'm presuming a modern computer running it.
19:37:21 <ais523> or am I thinking of something else?
19:37:32 <pikhq> So you'd have to be extremely detailed in your instructions for anything non-trivial.
19:38:03 <ais523> 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 <ais523> voice recognition is an inherently commandlinish sort of communication
19:38:21 <ais523> and so, we should keep the lessons learnt from command-lines
19:38:34 <CakeProphet> "trivially compute G factorial"
19:38:58 <fizzie> 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 <CakeProphet> spectral representation is usually better in all ways
19:40:01 <CakeProphet> except for that whole lack of time-variance.
19:40:07 <ais523> I wouldn't really expect it to be able to split out two different pieces of music from each other
19:40:19 <ais523> because it'd have to have some sort of concept of what harmony was, etc
19:41:04 <fizzie> 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 <CakeProphet> harmony is easy.
19:41:25 <elliott> So, um.
19:41:31 <elliott> How big are the google books n-gram files?
19:41:42 <ais523> fizzie: oh, that's a different problem, I think
19:41:51 <elliott> Thirty-eight gigabytes for the four-grams compressed, I estimate.
19:41:52 <ais523> that's when you've got multiple pieces of music, each of which is mixed in different proportions
19:41:55 <elliott> I don't want to download thirty-eight gigabytes.
19:41:56 <ais523> and you want to get the originals back
19:42:16 <CakeProphet> ~/scripts/acro$ wc -c googledata/googlebooks-spa-all-1gram-20090715-7.csv.zip
19:42:19 <CakeProphet> 71850778
19:42:28 <CakeProphet> a single 1gram file zipped
19:42:29 <elliott> CakeProphet: That's just one of the files, isn't it?
19:42:31 <elliott> You need all of them.
19:42:36 <CakeProphet> yes I have them all.
19:42:43 <elliott> CakeProphet: Dude, those are just the one-grams.
19:42:48 <CakeProphet> yep.
19:42:50 <elliott> They're useless to me.
19:42:50 <ais523> wait, wouldn't a 1-gram file just be a letter frequency list?
19:42:52 <CakeProphet> those are the ones I need.
19:42:56 <fizzie> 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 <CakeProphet> so I have them.
19:42:58 <elliott> ais523: no, just a list of words
19:43:03 <elliott> ais523: plus frequency
19:43:05 <ais523> elliott: oh, this is on words not letters?
19:43:09 <elliott> ais523: Yes.
19:43:11 <CakeProphet> elliott: but with wget I found it was very easy to grab every file as long as you have the space
19:43:19 <elliott> ais523: One billion "words" or so. :p
19:43:21 <ais523> fizzie: oh, I see what you mean
19:43:29 <CakeProphet> elliott: and the time.
19:43:30 <elliott> CakeProphet: Yes, but the one-grams are 9 files. The two-grams are ninety-nine.
19:43:40 <ais523> the problem there is that you're trying to split n+1 sources from n inputs there
19:44:04 <ais523> elliott: haha at your numeral use there
19:44:16 <fizzie> 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 <ais523> yep
19:44:34 <elliott> ais523: I'm not quite sure what happened. :p
19:44:42 <pikhq> The 5-grams are 799 files.
19:44:54 <elliott> pikhq: Yes, well, I'm not downloading _them_.
19:45:02 <pikhq> Obv.
19:45:03 <elliott> When I want five-grams I'll buy the DVDs. :p
19:45:10 <CakeProphet> > 71850778*799
19:45:11 <pikhq> 9M each. Jesus.
19:45:11 <lambdabot> 57408771622
19:45:11 <elliott> That misses the year information though, but oh well.
19:45:14 <CakeProphet> assuming they're the same size.
19:45:14 <elliott> pikhq: 9M?
19:45:16 <CakeProphet> oh.
19:45:17 <elliott> More.
19:45:19 <elliott> Hundred.
19:45:23 <elliott> (Approx.)
19:45:32 <elliott> About eighty gigabytes.
19:45:33 <elliott> Approximately.
19:45:50 <elliott> fizzie: What's your favourite set of n-grams for n>two that isn't huge. :p
19:45:54 <CakeProphet> I /almost/ have enough space for that, I'd have to delete some music though.
19:46:22 <elliott> I don't have the lifespan to download that.
19:46:29 <CakeProphet> 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 <pikhq> elliott: That's not actually *that* long to download.
19:46:56 <fizzie> 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 <elliott> pikhq: 7% [=> ] 8,305,008 434K/s eta 4m 37s
19:47:49 <elliott> Times eight hundred.
19:48:07 <elliott> What, just three days?
19:48:09 <elliott> I guess it's not that bad.
19:48:13 <elliott> But my connection isn't always that good.
19:48:20 <pikhq> The 5-gram files are just 9M each.
19:48:27 <elliott> No, they're _not_.
19:48:33 <pikhq> Compressed, that is.
19:48:39 <elliott> For god's sake, click one of them.
19:48:41 <pikhq> I DID
19:48:46 <pikhq> IT'S 9M
19:48:50 <elliott> Click a different one, then.
19:48:52 <elliott> They're all over a hundred megabytes.
19:48:57 <elliott> Except maybe the first or last ones?
19:48:58 <elliott> I don't know.
19:49:02 <elliott> But the ones in the middle are all over a hundred.
19:49:09 <elliott> I know this because I'm clicking them this second.
19:49:34 <pikhq> Oh, look at that. 0, 1, 300, 799 are all 9M.
19:49:41 <elliott> X-D
19:49:44 <pikhq> Are we looking at the same corpus?
19:49:50 <elliott> pikhq: Evidently not, what are you looking at?
19:49:57 <pikhq> http://ngrams.googlelabs.com/datasets
19:50:01 <elliott> Which one?
19:50:04 <elliott> There are tens of corpuses on that list.
19:50:06 <elliott> Corpi.
19:50:25 <pikhq> ... Fek. I simply hit "end" to get to the 5-grams. Guess what that one is?
19:50:27 <pikhq> Spanish.
19:50:29 <elliott> Nice.
19:50:35 <elliott> You want the first set of five-grams. :p
19:50:43 <elliott> Or, well, the English One Million set might be rather more reasonable.
19:50:50 <elliott> Those zips are forty megs each.
19:50:53 <Phantom_Hoover> elliott, *corpodes
19:50:58 <elliott> So... thirty gigs.
19:50:59 <pikhq> *There* we go.
19:51:02 <elliott> That's not too bad, I suppose.
19:51:17 <Phantom_Hoover> (That noise is every classics teacher ever choking.)
19:51:34 <elliott> 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 <pikhq> Still, that's not too bad to download.
19:51:43 <pikhq> Bit annoying, perhaps, but *meh*.
19:52:11 <pikhq> Bit surprised they went with zip for this.
19:52:50 <pikhq> Sure, it's ubiquitous, but this is one of those things where LZMA's benefit would probably be notable.
19:53:06 <elliott> I doubt it.
19:53:08 <elliott> It's text.
19:53:14 <elliott> ais523: Maybe they should use azip.
19:53:22 <pikhq> I'll test in a bit.
19:53:38 <pikhq> When this file finishes.
19:54:06 <ais523> elliott: the funny thing is, azip works by extracting n-grams and giving new names to them
19:54:17 <ais523> recursively
19:54:33 <elliott> ais523: heh
19:54:49 <ais523> that's why the decompressor is so small
19:55:16 <fizzie> 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 <elliott> 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 <zzo38> 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 <elliott> fizzie: Did that Postgres have all the prefix-grams too? :p
19:56:31 <fizzie> 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 <ais523> elliott: it really isn't worth it
19:56:36 <pikhq> Looks like it'll be ~15 minutes.
19:56:45 <ais523> there are rather better things you could do with $150
19:56:50 <elliott> 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 <ais523> elliott: I don't think you're being serious
19:57:03 <elliott> 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 <ais523> hopefully, you don't either
19:57:10 -!- monqy has joined.
19:57:17 <oerjan> <CakeProphet> > let ngrams n [] = []; ngrams n ls = take n ls : ngrams n (tail ls) in ngrams 3 "hello friends"
19:57:29 <elliott> 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 <oerjan> > map (take 3) $ tails "hello friends"
19:57:31 <lambdabot> ["hel","ell","llo","lo ","o f"," fr","fri","rie","ien","end","nds","ds","s"...
19:57:41 <ais523> *stopping
19:57:43 <elliott> ais523: I am actually tempted to buy the data sets, if that's what you mean.
19:57:47 <ais523> ah
19:57:57 <ais523> I just don't know how much use you'll get out of them
19:58:18 <ais523> 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 <pikhq> And you could wget them faster than it'd take for them to ship.
19:58:25 <ais523> to you, that doesn't apply, couldn't you just use a smaller dataset?
19:58:58 <fizzie> pikhq: They're not wgettable. This is not the Google Books dataset.
19:59:28 <pikhq> fizzie: Oh, so he's discussing purchasing, what, a *larger* corpus?
19:59:38 <oerjan> sadly the reverse of drop is not a standard function
19:59:56 <fizzie> 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 <ais523> elliott: if you want to learn about micro-optimization, go work on TAEB
20:00:04 <elliott> 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 <monqy> reverse of drop? drop from end? take from end? help?
20:00:26 <ais523> elliott: it wouldn't be $150 entertaining, and it doesn't need a trillion-word data set to be entertaining
20:00:38 <oerjan> monqy: drop from end
20:00:40 <ais523> and you'd get bored pretty quickly
20:00:42 <elliott> ais523: Without a trillion-word data set there's no challenge. :p
20:00:48 <oerjan> take from end isn't either, though
20:00:51 <elliott> And you deeply underestimate my love of Markov bots.
20:00:54 <monqy> is elliott considering paying 150 bux to get a bunch of words
20:00:57 <ais523> just get a billion-word data set and make 1000 copies, adding in some statistical variation
20:01:01 <elliott> monqy: No, a bunch of n-grams.
20:01:03 <elliott> :p
20:01:07 <monqy> is elliott considering paying 150 bux to get a bunch of n-grams
20:01:15 <CakeProphet> oerjan: reverse . take n . reverse :P
20:01:15 <oerjan> monqy: it would be useful for getting rid of the "ds","s"... part above
20:01:15 <ais523> I don't think fungot's entertainment factor is worth $150
20:01:16 <fungot> ais523: man. it just so happens that today, the 13th of april. another day of uneventful but highly satisfying deliveries.
20:01:26 <ais523> and you wouldn't make something more entertaining than that
20:01:32 <elliott> ais523: fungot doesn't listen to your input.
20:01:32 <fungot> 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 <oerjan> CakeProphet: i sort of assumed you'd like to preserve a _little_ laziness
20:02:03 <CakeProphet> oerjan: I don't see how that's possible when you're dealing with things at the /end/ of a list.
20:02:09 <monqy> 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 <oerjan> CakeProphet: oh it's not _that_ hard
20:02:27 <monqy> CakeProphet: it's not hard at all
20:02:33 <oerjan> > iterate init [1..] !! 5
20:02:34 <lambdabot> [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 <oerjan> > iterate init [1..10] !! 5
20:02:40 <lambdabot> [1,2,3,4,5]
20:02:57 <monqy> how inefficient is that
20:02:59 <ais523> elliott: that makes fungot all the more entertaining when it comes up with something great
20:02:59 <fungot> 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 <oerjan> it's just not a named function, also i'm not sure how effective iterate init is
20:03:21 <oerjan> CakeProphet: oh wait you said take not drop
20:03:29 <elliott> ais523: Are you seriously saying fungot is the most entertaining possible Markov bot?
20:03:30 <fungot> elliott: man. it just so happens that today, the 13th of april. another day of uneventful but highly satisfying
20:03:30 <oerjan> yeah that would not be lazy
20:03:32 <ais523> 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 <CakeProphet> yeah..
20:03:51 <ais523> 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 <CakeProphet> I think elliott is mostly interested in the challenge.
20:04:10 <elliott> fizzie clearly approves, anyway. Obviously.
20:04:22 <elliott> And he's obviously the most mature, reasoned person of us all.
20:04:24 <elliott> Obviously.
20:04:35 <ais523> 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 <ais523> or at least, if you can't, why can't elliott?
20:04:43 <monqy> elliott: i thought that was you.....
20:04:55 <monqy> everything i thought i knew is a lie
20:05:02 <CakeProphet> oh well yeah.. I wouldn't spend money on it.
20:05:20 <monqy> :'(
20:05:26 <monqy> I wouldn't spend money either
20:05:33 <CakeProphet> if I spent money on that data I would want to be doing something kind of important.
20:05:43 <elliott> I'll spent monqy on it.
20:05:48 <ais523> elliott: I see no evidence that fizzie approves
20:05:55 <Phantom_Hoover> Friendship monqy.
20:06:06 <elliott> ais523: Well, he wouldn't be advising me if not, OBVIOUSLY.
20:06:42 <monqy> not disapproving enough not to advise you on it
20:07:15 <monqy> 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 <CakeProphet> help how do I make strong AI.
20:07:22 <monqy> probably aim a bit higher than markov though
20:07:53 <monqy> for the fun challenge/reward of having something better than markov
20:07:57 <CakeProphet> markov is eh pretty cool guy, doesn't afraid of anything.
20:08:03 <monqy> what
20:08:12 <elliott> monqy: You can't really... do much that isn't Markov-ish with n-grams, unless I'm mistaken.
20:08:23 <monqy> :(
20:08:26 <ais523> so they're pretty limited
20:08:48 <monqy> I guess I'd want a different dataset then...
20:08:55 <elliott> ais523: are you actually trying to come up with reasons for me not to get them because it's hilarious
20:09:04 <monqy> 150 is a lot of bux
20:09:35 <fizzie> 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 <monqy> :(
20:10:16 <ais523> elliott: I think I've come up with most of them already
20:10:20 <ais523> I need to dip into more outlandish ones
20:10:20 <CakeProphet> !wacro
20:10:20 <EgoBot> SDBC
20:10:27 <monqy> miserable
20:10:31 <ais523> umm, if you buy one you'll be investigated for international statistics fraud
20:10:34 <CakeProphet> !wacro
20:10:35 <CakeProphet> !wacro
20:10:35 <CakeProphet> !wacro
20:10:35 <EgoBot> WGALB
20:10:35 <CakeProphet> !wacro
20:10:35 <EgoBot> LDMR
20:10:35 <EgoBot> CSRIPBOD
20:10:36 <EgoBot> GDDLBT
20:10:38 <elliott> ais523: but of course
20:10:42 <fizzie> 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 <ais523> because it's routine when that much data is invovled
20:10:50 <ais523> and I'm not sure you'd pass the routine screenings
20:11:16 <ais523> hmm, I wonder if I've ever bought anything that fizzie wouldn't buy in the same situation
20:11:19 <ais523> almost certainly, I suppose
20:11:36 <pikhq> Okay. xz gets the file to 53% the size of zip.
20:11:47 <elliott> pikhq: How long did it take
20:11:50 <monqy> I used to buy stupid things sometimes. now I don't buy anything. maybe one day I will buy again.
20:11:54 <pikhq> 15 minutes to compress.
20:12:18 * CakeProphet buys stupid things all the time thanks to the internet.
20:12:25 <ais523> 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 <monqy> by stupid things i mostly mean books i don't read
20:12:36 <pikhq> And 13 seconds to decompress.
20:12:39 <Vorpal> <ais523> 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 <Vorpal> I mean, what product
20:12:50 <Vorpal> where you discussing
20:13:02 <CakeProphet> actually no everything I have purchased online so far has been a valuable asset.
20:13:05 <ais523> Vorpal: fizzie saying that he personally wouldn't buy something, but that other people shouldn't make decisions on that basis
20:13:11 <CakeProphet> I can smoke gingerbread-flavored smoke WHENEVER I WANT.
20:13:13 <oerjan> <elliott> fizzie: I _can't_ really generate backwards n-grams, can I? Not from forwards n-grams; only from raw data.
20:13:14 <ais523> and the context of /that/ is a corpus of n-grams extracted from 1 trillion words
20:13:17 <Vorpal> ais523, indeed, that I saw
20:13:25 <Vorpal> ais523, heh
20:13:26 <oerjan> i'm wondering if it's possible in principle...
20:13:40 <Vorpal> ais523, and the statistics fraud thingy?
20:13:41 <elliott> oerjan: it obviously is
20:13:45 <elliott> oerjan: as fizzie showed later
20:13:52 <oerjan> oh
20:13:54 <elliott> oerjan: instead of taking (n-one) as prefix and the last one as the word following it
20:14:01 <elliott> take all but the first as the suffix
20:14:04 <elliott> and the first one as the word preceding it
20:14:26 <ais523> there's nothing inherently asymmetrical in n-grams
20:14:37 <ais523> you just need to sort the dataset differently
20:14:42 <calamari> can you guys lend me a few n-grams?
20:14:57 <elliott> calamari: They'll cost you.
20:15:05 <calamari> :)
20:15:09 <CakeProphet> $20n per n-gram
20:15:18 <monqy> are backwards n-grams better or something I'm bad at knowing things
20:15:18 <quintopia> calamari: they better be n+1-grams when you give them back
20:15:19 <Vorpal> calamari, here is a sample for free. it is for n=0 case.
20:15:41 <Vorpal> (it is free according to CakeProphet that is)
20:16:05 <CakeProphet> yes I am an much credible expert
20:16:09 <oerjan> 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 <fizzie> ais523: I am rather stingy, so I guess it's likely there's something I wouldn't buy.
20:16:16 <elliott> oerjan: Right, that's what I was thinking.
20:16:19 <ais523> fizzie: so am I
20:16:40 <elliott> 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 <ais523> the problem is, quite a few things that people pay money for are available legally for free
20:16:57 <elliott> fizzie: Say, how many n-grams are there in total, approximately?
20:17:00 <elliott> In that DVD set.
20:17:00 <ais523> 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 <elliott> I'm wondering how many bits you need to store the occurrences of a word coming after a prefix.
20:17:10 <fizzie> elliott: Didn't the LDC description page have counts?
20:17:15 <elliott> fizzie: Oh, maybe. I don't remember it.
20:17:26 <oerjan> elliott: um then you have extra data, namely the total count. it's _without_ the total count it becomes slightly interesting.
20:17:26 <elliott> 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 <elliott> oerjan: Well, right.
20:17:39 <fizzie> elliott: Check there, it's faster than a zcat | wc -l for the whole data.
20:18:20 <Phantom_Hoover> elliott, what are you *doing*?
20:18:26 <quintopia> oerjan: its one five-hundred-thousand-gram
20:18:50 <elliott> Phantom_Hoover: N-GRAMS.
20:19:02 <elliott> fizzie: zwc. :p
20:19:15 <oerjan> quintopia: wat
20:19:25 <CakeProphet> N, elliott's drug of choice.
20:19:44 <quintopia> oerjan: you can also pretend it is 500,000 1-grams
20:20:01 <Vorpal> fizzie, what is the data elliott is using? that thing you and ais discussed?
20:20:01 <CakeProphet> no need to pretend.
20:20:04 <oerjan> quintopia: that is not the same amount of information
20:20:18 <elliott> Vorpal: Ostensibly, a five-DVD set of Average Internet.
20:20:28 <monqy> am i in it
20:20:29 -!- MDude has joined.
20:20:29 <quintopia> you have to throw out some information to treat it that way
20:20:32 <Vorpal> elliott, which you bought legally?
20:21:17 <elliott> Vorpal: No, I stole the DVDs from the n-gram shop.
20:21:36 <CakeProphet> elliott is a sick perverted fuck.
20:21:39 <fizzie> 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 <Vorpal> elliott, ah
20:21:53 <elliott> Vorpal: (I don't actually have it yet.)
20:22:00 <Vorpal> elliott, huh
20:22:03 <elliott> ais523: fizzie NEEDS YOUR HELP.
20:22:18 <fizzie> Well, there's the castle wand, but...
20:22:22 <elliott> Vorpal: But, I mean, there are comparably huge data-sets available for free download: http://ngrams.googlelabs.com/datasets
20:22:36 <CakeProphet> protip: use the free one
20:22:43 <ais523> fizzie: I take it you haven't looted the Castle chest yet?
20:22:59 <ais523> I will nearly always burn a wish on a blessed ring of levitation in that situation
20:23:03 <monqy> test with the free one and if you get something amazing go for the big one? I still wouldn't, though.
20:23:08 <Vorpal> fizzie, pudding farming.
20:23:10 <ais523> in fact, I wish for one at the Castle if I don't have a levitation osurce
20:23:11 <elliott> monqy: That's what I'm going to do.
20:23:24 <ais523> even if I can solve the immediate problem of the trapdoors
20:23:34 <elliott> fizzie: Something that isn't pudding farming.
20:23:37 <Vorpal> 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 <Vorpal> elliott, why!
20:23:48 <ais523> the most urgent use of wishes is filling out your ascension kit items
20:23:51 <Vorpal> :P
20:23:55 <ais523> =oLev is an ascension kit item
20:24:01 <calamari> fizzie: hack the save file
20:24:13 <elliott> Vorpal: Because then you get subjected to the cruel, harsh punishment of pudding farming.
20:24:19 <Vorpal> elliott, hm true
20:24:30 <Vorpal> elliott, some people /like/ it though
20:24:31 <elliott> EVEN I KNOW THIS AND I'M TERRIBLE AT NETHACK
20:24:33 <Vorpal> go figure
20:24:45 <elliott> Vorpal: Well, elves like you _do_ need to pass the time SOMEHOW.
20:24:51 <calamari> I never could get into nethack.. moria was fun tho
20:25:05 <fizzie> ais523: The wand is untouched, yes. I guess I could just go and wish for it, right.
20:25:14 <ais523> fizzie: you should make sure you have a way to recharge the wand first
20:25:25 <Vorpal> elliott, I'm terrible at nethack too, never had a streak of more than 2 ascensions.
20:25:26 <ais523> but apart from that, yes, unless you're going wishless
20:25:34 <ais523> Vorpal: ascending even once is not "terrible"
20:25:38 <elliott> What ais523 said. :p
20:25:40 <Vorpal> ais523, I was joking.
20:25:51 <fizzie> 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 <elliott> Vorpal: It's easier to tell when you're joking if it isn't indistinguishable from normal you
20:26:04 <ais523> 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 <Vorpal> elliott, how do you know I'm not always the joker.
20:26:19 <ais523> fizzie: make sure the one you use on the wand is blessed
20:26:22 <ais523> Vorpal: because you have no sense of humour
20:26:38 <elliott> What ais523 said :P
20:26:40 <CakeProphet> the only game I've played recently is Zombies mode of CoD: Black Ops
20:26:44 <Vorpal> ais523, come on. I can laugh at things.
20:26:48 <CakeProphet> which I am amazing at.
20:27:01 <monqy> whats games help
20:27:36 <elliott> vagrant is the only good roguelike, guys.
20:27:46 <Vorpal> <fizzie> 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 <ais523> 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 <elliott> ais523: haha
20:27:57 <ais523> Vorpal: was that meant to be a joke?
20:28:13 <CakeProphet> DWOHRF FAHRTRUSS
20:28:23 <monqy> hi
20:28:26 <ais523> 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 <elliott> CakeProphet: is not a roguelike
20:28:40 <ais523> is a game, though
20:28:44 <ais523> well, if you fix the spelling
20:28:51 <elliott> (Slaves to Armok: God of Blood, Chapter II: Dwarf Fortress: Adventurer mode is a roguelike, though)
20:28:53 <Vorpal> <ais523> Vorpal: was that meant to be a joke? <-- what do you think
20:29:02 <elliott> (but Dwarf Fortress refers to Slaves to Armok: God of Blood, Chapter II: Dwarf Fortress: Dwarf Fortress mode)
20:29:08 <CakeProphet> elliott: you assume that I say things in a context when in fact I am just a bot.
20:29:17 <Vorpal> dwarf fortress is easier than nethack
20:29:17 <ais523> Vorpal: well, it had the structure and context in which I'd expect a joke
20:29:19 <ais523> but it wasn't funny
20:29:23 <ais523> at all
20:29:24 <elliott> I wonder if adventurer mode is any fun
20:29:27 <elliott> has anyone played it?
20:29:32 <Vorpal> ais523, it wasn't supposed to be a joke.
20:29:32 <monqy> no
20:29:48 <Vorpal> ais523, nor was it completely serious
20:29:52 <elliott> has ais523 played it, has Phantom_Hoover played it HAS ANYONE
20:30:04 <ais523> elliott: I haven't
20:30:07 <Vorpal> elliott, ToadyOne has.
20:30:11 <ais523> and almost certainly, at least one person has
20:30:15 <Vorpal> ais523, you never played df at all
20:30:19 <elliott> I doubt Toady has ever played his own game
20:30:22 <elliott> he wouldn't have any time to make it
20:30:28 <ais523> incidentally, UID 2 cropped up on Slashdot, to comment on CmdrTaco resigning
20:30:33 <Vorpal> elliott, he played it to debug it most certainly
20:30:40 <elliott> ais523: who is UID 2?
20:30:42 <ais523> and it lead to a whole thread of UID-based discussion
20:30:44 <ais523> elliott: Hemos
20:30:53 <ais523> which is apparently ungooglable because it's a pronoun in Spanish
20:30:58 <elliott> ais523: and also, is "resigning" actually the right term? I can't imagine Slashdot as a business :P
20:31:05 <ais523> elliott: it is a business, technically
20:31:11 <elliott> why does it have a .org, then?
20:31:21 <Vorpal> elliott, because ICANN fails
20:31:22 <ais523> because it wasn't a business originaly
20:31:23 <ais523> then kept the domain name
20:31:50 <CakeProphet> ICANNT lulz
20:31:56 <monqy> hi
20:32:02 <Vorpal> monqy, hello?
20:32:04 <monqy> hi
20:32:05 <elliott> ais523: is there a UID 0, or does it start at one?
20:32:31 <Vorpal> elliott, in what context
20:32:42 <Vorpal> on *nix, uid 0 is root
20:32:42 <elliott> Vorpal: find it yourself, if you want to butt in
20:32:53 <ais523> Vorpal: I don't know, but I guess it starts at 1
20:33:04 <elliott> CakeProphet: thanks
20:33:15 <CakeProphet> wat
20:33:19 <Vorpal> ais523, er, you should know uid 0 = root.
20:33:20 <elliott> monqy: sorry, misping
20:33:32 <ais523> Vorpal: I thought we were discussing Slashdot
20:33:40 <Phantom_Hoover> <elliott> has ais523 played it, has Phantom_Hoover played it HAS ANYONE
20:33:42 <elliott> HackEgo: Vorpal decided to butt in
20:33:43 <Vorpal> ais523, I assume UID 2 is some user there?
20:33:46 <Phantom_Hoover> I haven't, no.
20:33:47 <ais523> and Slashdot UIDs go above 65535, so are not traditional UNIX UIDs
20:33:48 <elliott> glogbot: But he doesn't know what we're talking about
20:33:55 <elliott> fizzie: Then you pinged him instead of me for some reason
20:34:03 <ais523> Vorpal: that was what started the conversation in the first place?
20:34:07 <Vorpal> ais523, oh so you mean slashdot account IDs
20:34:15 <elliott> yiyus: this is ridiculous
20:34:16 <CakeProphet> I was thinking, "Why would elliott ever thank me for something in this universe."
20:34:22 <Vorpal> ais523, I assume it was a slashdot user *called* "UID 2"
20:34:25 <CakeProphet> clearly I have moved to a new universe.
20:34:26 <Vorpal> assumed*
20:34:32 <elliott> Vorpal: smart
20:35:00 <Vorpal> EgoBot, really?
20:35:35 <CakeProphet> What i slove? Baby d on't hrut me.
20:35:38 <Phantom_Hoover> BeholdMyGlory, are we doing a 'ping random people' thing?
20:35:54 <elliott> Slereah: no
20:36:09 <ais523> you will end up annoying most of the channel if you keep it up
20:36:12 <Vorpal> pikhq, what made you think that?
20:36:14 <Phantom_Hoover> chickenzilla, looks like it.
20:36:16 <elliott> mycroftiv: Nonsense
20:36:19 <CakeProphet> CakeProphet: hi
20:36:29 <Vorpal> great one
20:36:31 * elliott downloads one of the five-gram zips to toy with the data.
20:36:37 <Phantom_Hoover> copumpkin, who cares, none of them say anything anyway.
20:36:47 <elliott> clog: copumpkin talks, you idiot.
20:36:50 <ais523> 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 <CakeProphet> chickenzilla: yeah I am in agreement with yorick
20:37:04 <Vorpal> ais523, hehe
20:37:04 <elliott> ais523: I on't see why we should o that.
20:37:14 <yorick> CakeProphet: you are?
20:37:15 <Vorpal> elliott, fail. "should"
20:37:19 <elliott> oops i pinged the right person oops
20:37:20 <elliott> oops
20:37:21 <elliott> oops
20:37:22 <elliott> help
20:37:25 <Phantom_Hoover> boily, I know, but I wasn't talking about him.
20:37:27 <elliott> boily: help variable
20:37:29 <elliott> Phantom_Hoover: SNAP.
20:37:45 <CakeProphet> yorick: help why are you here.
20:37:47 <copumpkin> Phantom_Hoover?
20:37:47 <Vorpal> who on earth is boily. Never seen him/her/it talk
20:38:01 <Vorpal> yorick, deliberate misping hour I'm afraid.
20:38:02 <elliott> variable: You're such a Wamanuz.
20:38:08 <monqy> im back from being away. thanking people instead of greeting them sounds good, for a nice change of pace.
20:38:14 <monqy> maybe I will mix them up
20:38:15 <elliott> Man, I'd Zetro my jix, but unfortunately I accidentally olsner the whole Zwaarddi1k.
20:38:15 <yorick> CakeProphet: to make you feel more shame
20:38:41 <elliott> aloril is such a fungot, but rodgort did verily atehwa my Nisstyre; it was totally ineiros, mtve.
20:38:42 <fungot> elliott: and that is? you've had it for some time as any to start a new memo
20:38:51 <elliott> three seconds until ais523 rage/parts
20:38:57 <Zetro> Uh
20:38:57 <quintopia> Vorpal: boily is the creator of aubergine. how could you not know boilu?
20:39:00 <CakeProphet> elliott: boily, that is quite Deewiant of you.
20:39:09 <elliott> Zetro: hi
20:39:14 <Vorpal> quintopia, never heard of that language either
20:39:18 <monqy> Zetro: hi
20:39:18 <Vorpal> should check it out
20:39:18 <Zetro> Hi lol :P
20:39:27 <Phantom_Hoover> Vorpal, who said anything about languages?
20:39:30 -!- calamari has quit (Quit: Leaving).
20:39:37 <Deewiant> I disapprove of your pingery
20:39:38 <Phantom_Hoover> `quote pumpkin
20:39:41 <HackEgo> 461) <Phantom_Hoover> The wickedest man of all. <Phantom_Hoover> Surpassed only in wickedness by the wicked witches of the west and east. <copumpkin> you talking about me again? <Phantom_Hoover> Yes. <copumpkin> k \ 558) <fungot> Phantom_Hoover: it is a hate so pure and... pumpkin seeds?
20:39:45 <ais523> Zetro: they've been nickpinging random people
20:39:52 <ais523> to see how long it takes before I get annoyed, I think
20:39:56 <Phantom_Hoover> aloril, you would.
20:40:09 <Vorpal> ouch. This is getting out of hand
20:40:10 <ais523> sorry about that
20:40:10 <Phantom_Hoover> twice11, don't flatter yourself.
20:40:24 <elliott> * 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 <fungot> 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 <elliott> bdabot twice11 Gregor HackEgo glogbot Deewiant clog fizzie yiyus
20:40:27 <elliott> there, now things can't possibly get worse
20:40:30 <elliott> oops: lambdabot
20:40:30 <Vorpal> elliott, *stab*
20:40:32 <monqy> hey i'm on that list
20:40:33 <elliott> on to the next less annoying thing
20:40:40 <elliott> ais523: you can thank me later
20:40:44 <Deewiant> elliott: I'm going with Vorp: *stab*
20:40:49 <elliott> Deewiant: hi
20:40:52 <Vorpal> ^style
20:40:53 <fungot> 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 <Vorpal> ah
20:40:55 <elliott> hi
20:40:56 <elliott> :D
20:40:57 <CakeProphet> elliott: I was not pinged for some reason.
20:40:59 <monqy> hi
20:41:00 * Phantom_Hoover stabs elliott.
20:41:06 <elliott> CakeProphet: A personal failing, I suppose
20:41:08 <Lymee> ^style nethack
20:41:08 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
20:41:10 <elliott> Phantom_Hoover: im holes...
20:41:11 <Lymee> fungot, what is 1+1
20:41:12 <fungot> 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 <ais523> CakeProphet: possibly your client detects mass pings
20:41:18 <elliott> ^style homestuck
20:41:18 <fungot> Selected style: homestuck (Homestuck pages 1901-4673)
20:41:20 <ais523> your name was mentioned
20:41:21 <Phantom_Hoover> fungot, how do I reach Sokoban it is so annoying
20:41:21 <elliott> Anti-Lymee brigade in force.
20:41:22 <fungot> Phantom_Hoover: good idea! the thought of that?
20:41:26 <monqy> elliott: hes irssi and the default is only to ping when name is at the start of whatever
20:41:29 <Phantom_Hoover> fungot, yes but how.
20:41:29 <fungot> 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 <Vorpal> Lymee, this is the nethack rumors iirc
20:41:37 <elliott> Phantom_Hoover: Sokoban isn't hard to reach is it
20:41:38 <monqy> elliott: so this won't ping CakeProphet
20:41:42 <monqy> CakeProphet: but this willl
20:41:44 <elliott> monqy: oh well that's stupid
20:41:47 <monqy> elliott: yep
20:41:52 <Sgeo> Isn't Sokoban just below Oracle?
20:41:56 <Vorpal> elliott, no, but annoying.
20:42:00 <Phantom_Hoover> elliott, it *shouldn't* be, but I never reach it.
20:42:03 <CakeProphet> monqy: help how to change
20:42:04 <Phantom_Hoover> Don't ask me why.
20:42:08 <ais523> Sgeo: it's parallel; the /entrance/ is just below Oracle
20:42:12 <augur> elliott: sub
20:42:13 <augur> sup
20:42:15 <Vorpal> CakeProphet, depends on client
20:42:22 <Phantom_Hoover> Everything always unravels and I never remember why.
20:42:32 <CakeProphet> Vor "doesn't read context" pal
20:42:33 <monqy> CakeProphet: i forget. oops. i haven't bothered fixing it, myself, but i rememeber trying once.
20:42:40 <Lymee> fungot, elliott sucks.
20:42:41 <fungot> 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 <elliott> Phantom_Hoover: You can go there before the Mines.
20:42:45 <monqy> I forget why I unfixed it
20:42:45 <elliott> Or is it naturally before hte mines.
20:42:46 <elliott> I forget.
20:42:48 <monqy> maybe ssomething else broke
20:42:49 <Vorpal> CakeProphet, I saw that, but it won't ping me
20:42:52 <Sgeo> ais523, technicalities, technicalities >.>
20:43:06 <Phantom_Hoover> elliott, I know that.
20:43:18 <Phantom_Hoover> That's what makes it all the more baffling.
20:43:49 <Vorpal> Phantom_Hoover, practise harder, that is how you manage nethack
20:43:50 <CakeProphet> ^style jargon
20:43:51 <fungot> Selected style: jargon (UNIX-HATERS mailing list archive)
20:43:51 <elliott> oh, good: http://news.ycombinator.com/item?id=2916247
20:43:56 <CakeProphet> fungot: help how do I shot web?
20:43:57 <elliott> seems like _why is okay
20:43:57 <fungot> CakeProphet: i'm getting so fed up i could find.
20:44:33 <elliott> holy crap, this thing is a gig uncompressed
20:44:37 <CakeProphet> fungot: find what?
20:44:38 <fungot> CakeProphet: if you're lucky, when you could
20:44:45 <elliott> ais523: remind me never to open this text file with a normal text editor
20:45:12 <Phantom_Hoover> elliott, you made fizzie use the non-ESR version, didn't you?
20:45:33 <elliott> Phantom_Hoover: <fungot> Selected style: jargon (UNIX-HATERS mailing list archive)
20:45:33 <CakeProphet> fungot: you made me fun
20:45:33 <fungot> elliott: one of 25 d's consecutively will cause you to use
20:45:34 <fungot> 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 <elliott> It's not the jargon file.
20:45:39 <elliott> It's UNIX-HATERS, per my request.
20:45:43 <Phantom_Hoover> Oh, right.
20:45:43 <elliott> :p
20:46:42 <elliott> Ho hum, I guess I will write this program in C.
20:46:52 <CakeProphet> Gregor: ^^^^^^^^^
20:47:16 <Vorpal> elliott, what program
20:47:24 <elliott> Vorpal: n-gram processor.
20:47:28 <Vorpal> elliott, why C
20:47:39 <elliott> Vorpal: Because I need to process hundreds of gigabytes of data.
20:47:44 <elliott> Without waiting all year.
20:47:47 <Vorpal> elliott, and haskell isn't up to that?
20:47:56 <elliott> Vorpal: Sure it is, but I'm really impatient.
20:48:05 <elliott> The time spent micro-optimising a C program will pay off because Unix.
20:48:11 <Vorpal> heh
20:48:13 <CakeProphet> 1) open perl 2) use slurp mode 3) ???? 4) profit
20:48:16 <elliott> It's obviously going to be IO-bound, and Unix IO is terrible.
20:48:18 <Vorpal> elliott, use assembler
20:48:19 <elliott> CakeProphet: Good luck with that
20:48:21 <elliott> Vorpal: no
20:48:23 <Vorpal> CakeProphet, slurp mode?
20:48:28 <elliott> Vorpal: The bot itself will be written in Haskell of course
20:48:28 <CakeProphet> elliott: well that /was/ sort of the premise of the joke...
20:48:45 <CakeProphet> Vorpal: makes the read operation read the entire contents of the file to a string.
20:48:46 <Vorpal> elliott, it is even faster if you know what you are doing in asm
20:48:52 <Vorpal> CakeProphet, XD
20:48:53 <elliott> Vorpal: No it's not, IO-bound
20:49:07 <Vorpal> elliott, well writing your own IO layer I mean
20:49:09 <Vorpal> in the kernel
20:49:27 <Vorpal> elliott, anyway how large was it?
20:49:29 <Vorpal> a few GB?
20:49:34 <Vorpal> should fit nicely into ram
20:49:40 <elliott> Have I really got one with a shitload of punctuation as the starters?
20:49:47 <elliott> What a terrible test dataset.
20:49:50 <elliott> Vorpal: About a terabyte.
20:50:00 <Vorpal> elliott, you have the disk for that!?
20:50:01 <quintopia> should fit nicely into RAM
20:50:12 <quintopia> because who doesnt have a terabyte of ram?
20:50:13 <ais523> is a terabyte of RAM standard yet?
20:50:15 <elliott> Vorpal: A terabyte's worth of external storage costs about 0 pounds
20:50:28 <ais523> (I actually don't know, I tend to have really low-end hardware)
20:50:30 <Vorpal> elliott, over the internet? or compressed? or both?
20:50:34 <CakeProphet> Vorpal: that's $70 to be exact
20:50:35 <elliott> ais523: I refuse to believe you don't know
20:50:45 <ais523> I know a TB of hard drive storage was standard a few years ago for external drives
20:50:53 <ais523> and presumably is beginning to become standard for internal drive snow too
20:50:57 <ais523> *drives now
20:51:01 <elliott> Vorpal: What?
20:51:02 <ais523> but I'm not sure about RAM
20:51:07 <Vorpal> 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 <ais523> are people still sticking at 3GB because Windows refuses to use any more unless you pay it lots of money?
20:51:31 <CakeProphet> Vorpal: compared to most people I know 16 GB is currently upper-mid-upper end.
20:51:35 <Vorpal> 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 <CakeProphet> lolcompression
20:51:48 <ais523> Vorpal: uncompressed, presumably
20:52:04 <Vorpal> ais523, right. Whatever it is compresses extremely well then
20:52:14 <elliott> Vorpal: It's called text.
20:52:22 <elliott> Text compresses extremely well, unsurprisingly.
20:52:31 <ais523> and alphabetised text, even more so
20:52:34 <elliott> Vorpal: Anyway, it comes on five DVDs, but obviously decompresses to disk.
20:53:01 <Vorpal> 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 <Vorpal> (guesstimate)
20:53:15 <quintopia> 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 <elliott> Vorpal: dude, you have no idea what you are talking about.
20:53:21 <pikhq> ais523: Actually, you only need to get 64-bit Windows to surpass 3GiB.
20:53:21 <elliott> I'm working on the uncompressed data.
20:53:36 <ais523> pikhq: which still, for many people, means an upgrade that costs money
20:53:50 <elliott> ais523: most people don't worry about the cost of windows when buying expensive hardware
20:53:51 <Vorpal> quintopia, did you calculate those values?
20:53:54 <ais523> but yes, I think that they'd have trouble justifying an arbitrary limit that's close to MAXINT
20:54:01 <ais523> on a 64-bit system where MAXINT is higher
20:54:26 <pikhq> Home Basic does 8GiB, Home Premium 16, Pro, Enterprise, & Ultimate 192.
20:54:42 <elliott> Hey quintopia, I found you a subreddit: http://static.reddit.com/ads/PostCollapse.jpg
20:54:44 <Vorpal> pikhq, what one is only limited to the address space limits of the processor?
20:54:51 <pikhq> 2008R2 Foundation does 8, Standard 32, Enterprise, Datacenter and Itanium does 2 TiB.
20:54:52 <oerjan> > 2.30584301e21 ** (1/3)
20:54:53 <lambdabot> 1.3211229749647357e7
20:54:55 <pikhq> Vorpal: Linux.
20:55:04 <Vorpal> pikhq, so they sell no windows for HPC?
20:55:16 <oerjan> > 2.30584301e21 ** (1/2)
20:55:17 <lambdabot> 4.801919418315972e10
20:55:44 <Phantom_Hoover> Vorpal, it wouldn't make very much sense.
20:55:47 <oerjan> quintopia: i'm gonna hazard a guess your etching is not very optimal
20:55:51 <Phantom_Hoover> I mean, what would you look at?
20:56:02 <Vorpal> Phantom_Hoover, eh?
20:56:19 <quintopia> 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 <Vorpal> quintopia, ah
20:56:35 <elliott> Calling a program that generates a tree gentry: hilarious?
20:56:37 <quintopia> let's say "i share the planet with other people"
20:56:37 <Phantom_Hoover> quintopia, oh god what are you doing.
20:56:55 <pikhq> Vorpal: Windows HPC seems to be all about clustering. Without a single shared address space.
20:57:40 <Vorpal> pikhq, ah
20:57:58 <pikhq> And it has a max of 128 GiB.
20:58:02 <pikhq> Per node, obviously.
20:58:03 <Phantom_Hoover> Can you even etch onto diamond?
20:58:13 <Vorpal> pikhq, huh. Datacenter does more
20:58:33 <pikhq> Yup.
20:58:34 <Phantom_Hoover> I thought you needed a semiconductor or something.
20:58:52 <pikhq> Fun fact: there is no Microsoft end-user 32-bit OS that supports more than 4 GiB.
20:59:00 <Vorpal> Phantom_Hoover, you could use impure diamond
20:59:01 <pikhq> Even ones that absolutely need PAE to run.
20:59:21 <Phantom_Hoover> Vorpal, somehow I doubt the planet is correctly doped.
20:59:29 <Vorpal> pikhq, which ones need PAE then
20:59:33 <elliott> Phantom_Hoover: That's illegal.
20:59:40 <pikhq> I *think* they started mandating NX support.
20:59:46 <pikhq> With 7.
20:59:50 <Vorpal> pikhq, ah. So no one uses PAE
20:59:53 <Vorpal> how silly
21:00:08 <olsner> 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 <pikhq> olsner: Only on 32-bit.
21:00:32 <ais523> someone managed to hexedit a 32-bit consumer Windows (I forget which) into supporting more than 4 GiB of memory
21:00:32 <pikhq> x86_64 Windows starts at 8 and goes up.
21:00:43 <ais523> finding which bytes the limit was stored in must have been quite tricky
21:00:52 <pikhq> Wouldn't be too hard once you have that, though.
21:00:52 <olsner> 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 <pikhq> olsner: *Very* well aware.
21:01:02 <elliott> ais523: not really: put too much ram in, stick a debugger on it
21:01:04 <Vorpal> ais523, you could disassemble it to figure out
21:01:06 <olsner> pikhq: ok :)
21:01:13 <pikhq> I mean, hell, Windows *2000* went up to 32 GiB.
21:01:17 <elliott> there are tools for doing low-level debugging of windows, IIRC
21:01:20 <ais523> neither approach seems too practical
21:01:36 <ais523> you'd have to debug/disassemble Windows' entire boot sequence, and that takes forever even running full speed
21:01:54 <ais523> or, hmm, maybe just the memory allocator, that would be a lot faster
21:01:58 <pikhq> Oh, hrm. Linux currently has a hard-coded limit on addresses.
21:02:00 <Vorpal> elliott, microsoft provides a kernel debugger
21:02:03 <Vorpal> pikhq, oh?
21:02:05 <ais523> because the allocator would need to know what the limit was too
21:02:06 <pikhq> You can only use up to 128 TiB.
21:02:14 <elliott> ais523: running it under a kernel debugger won't slow it down that much..
21:02:15 <pikhq> ... Per process.
21:02:28 <elliott> ais523: you just need to breakpoint when it crashes, then edge back from there :)
21:02:28 <pikhq> Also, only 64 TiB of physical RAM.
21:02:51 <Vorpal> pikhq, so less total than per process?
21:02:51 <Vorpal> what
21:02:55 <Lymee> ^
21:03:05 <Vorpal> also why does the hard limit exist at all?
21:03:26 <elliott> hysterical raisins, presumably
21:03:41 <elliott> imagine if you multiply the amount of ram by a certain value
21:03:48 <elliott> --> overflow
21:04:05 <Vorpal> elliott, why would you multiply it
21:04:14 <Phantom_Hoover> Don't x86-64 processors have hard limits on virtual/physical memory anyway?
21:04:26 <Vorpal> Phantom_Hoover, yes 48 bits.
21:04:35 <elliott> Vorpal: To put it on the same scale as another value?
21:04:36 <Vorpal> and individual processors can have lower limits
21:04:41 <Vorpal> elliott, maybe
21:04:45 <pikhq> 64 TiB is 46 bits, 128 TiB is 47...
21:04:51 <Vorpal> on my laptop:
21:04:53 <Vorpal> address sizes: 36 bits physical, 48 bits virtual
21:05:40 <pikhq> The per-process limit makes a little bit of sense.
21:05:43 <Vorpal> pikhq, hm the limit is not speced to be 48 bits? just that you have to sign extend it right?
21:05:56 <Vorpal> iirc
21:06:05 <pikhq> One hard-codes a 48-bit assumption, and Linux takes half the address space for itself.
21:06:17 <pikhq> I have no idea about the physical RAM limit.
21:06:31 <Vorpal> pikhq, uh it is signed. Remember, on x86_64 the memory is signed
21:06:35 <pikhq> Yes.
21:06:56 <pikhq> Linux uses half the address space.
21:07:06 <Vorpal> kernel lives in the negative half yes
21:07:17 <pikhq> Well, except for somewhat confusing cases on x86_32, where you can get more complicated splits.
21:07:56 <Vorpal> yeah
21:08:02 <Vorpal> pikhq, 3/1 iirc?
21:08:18 -!- boily has quit (Ping timeout: 260 seconds).
21:08:18 <pikhq> Yeah, that's one of the splits.
21:08:29 <pikhq> You can also do 2/2 and even 1/3.
21:08:33 <Vorpal> heh
21:08:39 <Vorpal> pikhq, what is the point of those
21:08:44 <pikhq> No idea.
21:08:54 <Vorpal> the user space don't need to address much of the kernel anyway
21:12:09 <pikhq> Apparently the kernel's portion of the address space is the same in all processes.
21:12:17 <ais523> Vorpal: are you the same Vorpal who does updates on speeddemosarchive.com? or is it just a username coincidence?
21:12:26 <ais523> (I'm guessing the second)
21:12:42 <Vorpal> ais523, never even heard of that site
21:12:50 <ais523> so yes
21:12:57 <pikhq> So I suppose in some cases the address split could cause issues.
21:13:04 <ais523> it's a good site, but one you probably wouldn't be interested in
21:13:19 <Vorpal> ais523, what is it about? TAS?
21:13:27 <ais523> unassisted speedruns
21:13:38 <Vorpal> ah
21:13:42 <ais523> it's the unassisted counterpart of TASvideos
21:13:45 <pikhq> Also, the kernel's address space is always mapped to the first x bytes of physical RAM.
21:14:23 <pikhq> Which is apparently *really* useful for munging with devices that are mapped into physical address space.
21:14:37 <Vorpal> pikhq, eh?
21:14:47 <Vorpal> pikhq, kernels can be reallocated. It is a kernel option
21:14:48 <pikhq> Consider, for instance, a graphics card.
21:15:02 <Vorpal> reallocatable kernel
21:15:42 <Vorpal> pikhq, anyway a graphics card tend to be mapped above 1 GB or so
21:16:04 <pikhq> 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 <Vorpal> oh
21:16:56 <Vorpal> interesting
21:17:09 <Vorpal> pikhq, why would it do that though
21:17:44 <pikhq> The single largest thing that makes easier is X.
21:18:07 <pikhq> The kernel can just permit X to access the part of that address space that corresponds to the graphics card.
21:18:27 <Vorpal> pikhq, yes it does that iirc
21:18:33 <Vorpal> which is why X needs root
21:18:54 <elliott> <Vorpal> pikhq, kernels can be reallocated. It is a kernel option
21:18:56 <elliott> "reallocated"
21:19:03 <elliott> also
21:19:07 <pikhq> Also, this seems to be the same address space that's used in kernel mode.
21:19:08 <elliott> can I just say that X's architecture
21:19:09 <elliott> makes me sad
21:19:12 <elliott> and I don't like X
21:19:12 <Vorpal> elliott, relocated
21:19:13 <Vorpal> typo
21:19:13 <elliott> and it's a bad thing
21:19:23 <elliott> i would just like to say that and can we all agree
21:19:24 <pikhq> When you do a system call, you change the ring you're in, but not the page table.
21:19:26 <Vorpal> elliott, long live wayland
21:19:29 <Vorpal> or whatever
21:19:29 <elliott> and then also agree that graphics systems needing root is terrible
21:19:34 <pikhq> elliott: Yes, agreed.
21:19:36 <elliott> Vorpal: how about @ :)
21:19:56 <Vorpal> elliott, once you START IMPLEMENTING it,
21:20:02 <Vorpal> then maybe
21:20:14 <elliott> Vorpal: you implement things without figuring them out properly first?
21:20:20 <ais523> is there any way to trick X into starting while it doesn't have root?
21:20:20 <Vorpal> elliott, go figure them out
21:20:29 <ais523> using, say, fbdev as the driver, it wouldn't need one
21:20:38 <Vorpal> ais523, it is suid, remove that suid, see what happens
21:20:43 <shachaf> @slap elliott
21:20:43 <lambdabot> go slap elliott yourself
21:20:43 <elliott> Vorpal: umm, clearly you've never had any actual difficult problems before
21:20:46 <shachaf> @slap elliott
21:20:46 * lambdabot places her fist firmly on elliott's jaw
21:20:48 <elliott> :P
21:20:52 <elliott> shachaf: :'(
21:20:54 <elliott> i've already been stabbed
21:20:57 <elliott> multiple times
21:21:01 <Vorpal> elliott, problems with what?
21:21:03 <elliott> is not my punishment harsh enough
21:21:03 <pikhq> 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 <shachaf> @stab elliott
21:21:05 * lambdabot beats up elliott
21:21:08 <elliott> oh
21:21:09 <ais523> Vorpal: you get "permission denied", I think
21:21:21 <elliott> 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 <Vorpal> elliott, why not
21:21:44 <elliott> Vorpal: go solve the Riemann hypothesis
21:21:47 <elliott> I'll wait here
21:21:54 <elliott> it should just take a lot of effort, right?
21:22:05 <Vorpal> hm... Done. It is undeciable. Why that is is undecidable.
21:22:07 <pikhq> 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 <pikhq> Such as anything DMA.
21:22:22 <elliott> Vorpal: false
21:22:30 <Vorpal> elliott, oh?
21:22:35 <Vorpal> how do you know
21:23:01 <Vorpal> it could be true, but there being no way to prove it.
21:23:10 <elliott> Vorpal: that's not what undecidable means, but I presumed you meant that
21:23:23 <Vorpal> if it was false we could always find a counter example
21:23:31 <elliott> anyway, hmm, it could be true, but I suspect it's not possible for it to be unprovable
21:23:31 <Vorpal> elliott, right, I used the wrong word. Sorry.
21:24:08 <elliott> 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 <elliott> I'll leave this up to oerjan before I make a fool of myself
21:24:29 <elliott> hey ais523, what's the longest word
21:24:33 <Vorpal> pikhq, heh
21:24:39 <Sgeo> RH?
21:24:51 <ais523> elliott: in what context?
21:25:00 <elliott> ais523: Google Books n-gram data :P
21:25:07 <ais523> I don't know
21:25:08 <elliott> oh, wait, I have the total counts set, I can find out
21:25:15 <elliott> wait, no I can't
21:25:19 <elliott> CakeProphet: what's the longest word in the one-gram set
21:25:19 <Sgeo> Oh, derp, riemann hypothesis
21:26:09 <Sgeo> ...and I would have seen that if I had scrolled up
21:27:11 <elliott> http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13
21:27:14 <elliott> (for my own reference)
21:27:26 <elliott> "Sequences that look like urls or email addresses form one token."
21:27:26 <elliott> neat
21:27:33 <elliott> grr, it doesn't say how big the individual files are
21:27:40 <elliott> when uncompressed
21:27:56 <elliott> hmm, I suppose I might want to operate streaming, so that I can pipe gunzip into it
21:27:58 <elliott> rather than mmapping
21:28:01 <elliott> that saves disk overhead
21:29:18 <CakeProphet> elliott: uh, I don't know I haven't looked at it yet.
21:29:28 <CakeProphet> DOING IMPORTANT FREELANCING STUFFS.
21:29:55 <elliott> ais523: Vorpal: pikhq: asserts are on even without -g and with optimisation options, right? only NDEBUG has an affect on it
21:29:59 <elliott> s/affect/effect/ I think
21:30:12 <Sgeo> elliott, go serve as the integral
21:31:22 -!- hagb4rd has quit (Ping timeout: 252 seconds).
21:31:49 <Vorpal> elliott, yeah
21:32:10 <Vorpal> elliott, where can I get that data btw?
21:32:17 -!- kwertii has joined.
21:32:24 <ais523> elliott: asserts are just macros
21:32:30 <ais523> they know nothing of the compiler
21:32:46 <elliott> 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 <ais523> 5g of datasets wouldn't be very heavy
21:33:09 <elliott> ais523: eh?
21:33:16 <elliott> oh
21:33:26 <ais523> elliott: I wouldn't expect /you/ to take that long to get a joke, even a relatively weak one
21:33:40 <fizzie> 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 <elliott> ais523: it took me about three seconds :P
21:34:16 <elliott> fizzie: X-D
21:34:17 <ais523> elliott: exactly, you're normally much faster than that
21:34:29 <elliott> fizzie: Just 16721? It's a common expression
21:34:41 <elliott> ais523: I didn't realise g meant weight-gram
21:34:46 <Deewiant> f8+'ua'=*+*
21:34:53 <elliott> ais523: I thought it was another "REASON NOT TO BUY THOSE DVDS"
21:34:58 <elliott> Deewiant: fungify?
21:35:00 <ais523> elliott: oh, no
21:35:05 <Deewiant> Ye
21:35:13 <ais523> that's what fizzie's saying, if the data only has 16721 instances of a proverb that common...
21:35:27 <elliott> gentry: gentry.c:20: process: Assertion `word_len < (sizeof(words[i]) / sizeof((words[i])[0]))' failed.
21:35:28 <elliott> Aborted
21:35:28 <elliott> cool, an actual bug
21:35:31 <elliott> Deewiant: what is amazing about it
21:35:33 <elliott> fizzie: lol
21:35:46 <elliott> Deewiant: And surely xy= is always shorter than either zero or one
21:35:51 <elliott> erm
21:35:52 <elliott> ais523: lol
21:36:42 <Deewiant> elliott: Nothing, I just sometimes fungify largeish numbers
21:36:44 <fizzie> 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 <elliott> Deewiant: Oh, I see
21:36:56 <elliott> Deewiant: But <elliott> Deewiant: And surely xy= is always shorter than either zero or one
21:37:06 <Deewiant> elliott: I don't understand what you mean
21:37:09 <ais523> aren't the number of results in Google searches completely fictional?
21:37:24 <elliott> Deewiant: Maybe = does something other than what I expect
21:37:38 <elliott> fizzie: "About 769,000 results (0.16 seconds)" here.
21:37:40 <fizzie> ais523: Maybe not quite "completely", but quite fictional.
21:37:49 <ais523> moderately fictional
21:38:07 <Deewiant> elliott: The only = there is in '=, which pushes fromEnum '=' on the stack
21:38:08 <ais523> so why is it there? tradition? making people feel warm and fuzzy?
21:38:11 <elliott> Therefore expressions passed to assert() must not contain side-effects since they will not happen when debugging is disabled. For instance:
21:38:11 <elliott> assert(x = gets());
21:38:11 <elliott> will not read a line and not assign to x when debugging is disabled.
21:38:13 <elliott> thanks wikipedia
21:38:16 <elliott> Deewiant: Ah
21:38:25 <elliott> I really like how Wikipedia uses gets as an example, and /uses it wrongly/.
21:38:30 <elliott> I mean, even more wrongly than gets used properly.
21:38:50 <elliott> ais523: latter, I suspect
21:38:52 <elliott> ais523: just like I'm Feeling Lucky
21:39:06 <Vorpal> elliott, correct the wp article
21:39:10 <elliott> "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 <elliott> that few?
21:39:13 <Vorpal> anyone can edit after all!
21:39:14 <elliott> I'd expect billions per day
21:39:17 <elliott> Vorpal: cba
21:39:21 <ais523> 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 <elliott> ais523: gets takes an argument
21:39:29 <fizzie> elliott: Apparently there are 55528776221 bigrams, if I'm reading this irclog right.
21:39:29 <ais523> in production code, clearly you don't want to use gets()
21:39:43 <elliott> fizzie: Number of fivegrams: 1,176,470,663
21:39:51 <ais523> oh wow, it does as well
21:40:00 <Deewiant> "{ +"*+'}8'/"w0)"*+**+*
21:40:08 <elliott> Deewiant: 1,024,908,267,229
21:40:14 <ais523> forgive me for not knowing the API of gets()
21:40:15 <elliott> (that's the number of femtograms)
21:40:17 <ais523> it's not like I ever use it
21:40:20 <elliott> ais523: unacceptable :)
21:40:24 <Deewiant> elliott: 'M'}8'}'D+*+'}9' '{28'{55'@**+**+**+**
21:40:29 <pikhq> You mean to tell me Google has fewer queries per day then there are on the Internet?
21:40:32 <elliott> Deewiant: is that the best you can do?
21:40:32 <pikhq> I call bullshit.
21:40:39 <elliott> pikhq: eh?
21:40:47 <Deewiant> elliott: Define "best"
21:40:53 <pikhq> elliott: There's like a couple billion people on the Internet.
21:40:56 <elliott> Deewiant: Shortest
21:41:10 <Deewiant> Probably not, no
21:41:22 <Deewiant> That's ASCII-restricted too
21:41:23 <Deewiant> I think
21:41:25 <Vorpal> 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 <elliott> 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 <elliott> 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 <elliott> yikes, forty minutes?
21:41:36 <elliott> I wonder how many millions of pounds they lost
21:41:38 <Vorpal> it is an older macbook, white model with large space between keys
21:41:43 <Deewiant> elliott: Latin-1: "MñT"f2+*+'û'6f8+"õ Á"*+**+**
21:41:55 <elliott> Vorpal: That used to happen to me with my iMac, I think.
21:42:04 <elliott> Vorpal: It's probably nothing to worry about, maybe just a bug in the firmware or something.
21:42:09 <Vorpal> elliott, ah.
21:42:14 <elliott> Vorpal: Maybe related to wake-on-LAN, but I doubt it.
21:42:22 <Vorpal> elliott, doubtful. Not even plugged in
21:42:28 <Vorpal> I mean, apart from to power
21:42:33 <Vorpal> elliott, and wlan is off
21:42:48 <pikhq> Yeah, there's apparently about 1 billion Google searches per day, and 2 billion YouTube views.
21:43:01 <elliott> more YouTube views than Google searches?
21:43:02 <elliott> really?
21:43:06 <Vorpal> yeah, what
21:43:06 <pikhq> Yeah.
21:43:14 <elliott> huh
21:43:19 <Vorpal> pikhq, how many youtube searches?
21:43:19 <ais523> that doesn't surprise me at all
21:43:24 <Vorpal> ais523, why
21:43:25 <pikhq> Vorpal: Couldn't find stats.
21:43:34 <elliott> fizzie: What _is_ varikn, anyway.
21:43:41 <elliott> Vorpal: because ais523 doesn't use Google, and assumes everyone is him
21:43:45 <fizzie> 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 <ais523> 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 <elliott> except maybe they like watching cute kittens a bit more than him
21:43:48 <elliott> :-P
21:43:58 <ais523> basically, you need to view YouTube to use it
21:44:01 <Vorpal> ais523, I search when I'm too lazy to type the full url
21:44:04 <ais523> whereas you don't need to search to visit a page
21:44:09 <Vorpal> and I don't have it bookmarked
21:44:11 <ais523> Vorpal: so do I, but I search Firefox' history, not in Google
21:44:15 <fizzie> elliott: The project page has a description: http://forge.pascal-network.org/projects/varikn/
21:44:22 <Vorpal> ais523, that doesn't last as long
21:44:32 <elliott> fizzie: Yes, I suddenly understand everything. :p
21:44:37 <ais523> but it's much more accurate to pages I like to visit
21:44:51 <ais523> and so when the page is there - which it nearly always is, by definition - it's much faster
21:45:09 <ais523> 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 <fizzie> 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 <elliott> fizzie: Hmm, so fungot actually works on partial data?
21:45:57 <fungot> elliott: my sys admin explains that the official assi c pseudocode: gcc2cygnus.com from:
21:46:04 <elliott> fizzie: Well, obviously it does (fnord), but more than that?
21:46:09 <elliott> gcc2cygnus.com?
21:46:11 <elliott> good domain
21:46:17 <fizzie> 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 <elliott> oh, must be gcc2@cygnus.com
21:46:20 <elliott> says google
21:46:28 <Vorpal> ^styke
21:46:30 <Vorpal> ^style
21:46:30 <fungot> 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 <elliott> (UNIX-HATERS.)
21:46:56 <elliott> ^style ss
21:46:56 <fungot> Selected style: ss (Shakespeare's writings)
21:46:59 <elliott> fungot: Verily.
21:46:59 <fungot> elliott: the lords rise from table, with much ado. your sister is the better
21:47:17 <Vorpal> fungot, enter Juliet
21:47:18 <fungot> Vorpal: mur. where is this daughter? kent. who's there? speak, man: i am not
21:47:26 <elliott> ^style wp
21:47:26 <fungot> Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages)
21:47:29 <elliott> fungot: paodkads
21:47:29 <fungot> 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 <elliott> remove the american definition of apartheid denial
21:47:42 <Vorpal> he is of course
21:47:46 <fizzie> 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 <fungot> 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 <elliott> fizzie: Oh, does fungot actually do the smoothing thing?
21:48:00 <fungot> 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 <fizzie> 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 <elliott> 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 <elliott> <ais523> ANOTHER REASON NOT TO BUY ANYTHING EVER
21:50:16 <Vorpal> elliott, memory management is fun
21:50:36 <Vorpal> elliott, write that 100 times on a whiteboard.
21:50:47 <ais523> is being in memory management even more soul-destroying than being in regular management?
21:50:55 <fizzie> Then explicitly deallocate the whiteboard.
21:51:41 <Vorpal> ais523, obviously memory management refers to brainwashing yourself to like C
21:51:58 <ais523> C is still the best language for what people typically use C for
21:52:04 <Vorpal> and it is a way to cope with coding C. Managing your memories
21:52:18 <CakeProphet> ais523: like write competitive programming games built over a wireworld CA.
21:52:18 <ais523> 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 <pikhq> ais523: Um. People use C for far more than what's reasonable.
21:52:29 <elliott> ais523: I don't think you know what people typically use C for
21:52:30 <ais523> pikhq: indeed
21:52:32 <elliott> for instance, application development
21:52:43 <ais523> elliott: but things it's inappropriate for are split between C and other languages
21:52:44 <pikhq> UIs tend to still be in it for GNOME apps.
21:52:49 <ais523> and I wouldn't expect C to be in first place
21:52:49 <Vorpal> elliott, no people use C++ for that
21:52:55 <elliott> ais523: eh?
21:53:07 <pikhq> And otherwise people typically use C++, which is no more appropriate.
21:53:31 <CakeProphet> Erlang is best language of all suitable for all porpoises
21:53:39 <Vorpal> I disagree on that.
21:53:49 <pikhq> Perhaps not as batshit, but still.
21:53:58 <ais523> I would say INTERCAL was equally unsuitable for all purposes, but that's wrong
21:54:02 <ais523> some things it's less bad at than other things
21:54:24 <Vorpal> ais523, is is perfect for bit-interleaving operations
21:54:38 <Vorpal> CakeProphet, erlang is good for some stuff. Mostly non-numbercrunching distributed stuff
21:54:59 <CakeProphet> that MUST NEVER DIE UNDER ANY CIRCUMSTANCES
21:55:00 <Vorpal> and it is a nice language to code in
21:55:08 <elliott> (gdb) print word_len
21:55:09 <elliott> $1 = <value optimised out>
21:55:11 <elliott> how
21:55:15 <elliott> you just failed an assertion about it
21:55:17 <elliott> how can it be optimised out
21:55:21 <Vorpal> elliott, try -ggdb3
21:55:39 <Vorpal> elliott, anyway it could be in a register
21:55:44 <Vorpal> elliott, oh and -O0
21:55:52 <elliott> -O0 was what iw as trying to avoid
21:55:56 <Vorpal> you need -O0 for any kind of useful variable inspection
21:56:01 <Vorpal> seriously
21:56:02 <Vorpal> sad
21:56:18 <CakeProphet> baaaawww
21:56:25 <elliott> $1 = 16
21:56:27 <elliott> well that's better
21:56:40 <Vorpal> elliott, why were you trying to avoid -O0?
21:56:53 <elliott> Vorpal: dunno :P
21:57:00 <elliott> slow, I guess
21:57:10 <Vorpal> elliott, was it though
21:58:01 <Vorpal> 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 <elliott> 24 This will result in a similarly formatted file "foo_tokens.txt", except most of
21:59:26 <elliott> 25 the punctuation has been replaced with "PFOO" tokens, and each individual token
21:59:26 <elliott> 26 is space-separated. There is still one line per "phrase".
21:59:32 <elliott> fizzie: So were I to say PFOO on IRC... MWAHAHAHAHA
22:00:15 <elliott> 95 I have to eat some food now, I'll document this, Appendix A, and the other
22:00:15 <elliott> 96 stuff later. Sorry. I hope no-one sees this.
22:00:15 <elliott> oops
22:00:37 <fizzie> elliott: Except everything non-punctuation is force-lowercased.
22:00:42 <elliott> Darn.
22:00:53 <fizzie> The bot has a religious objection to capital letters.
22:01:17 <elliott> assert(word_len < NELEMS(words[i]));
22:01:17 <elliott> how could this possibly fail with word_len = sixteen...
22:01:20 <elliott> oh
22:01:21 <elliott> duh
22:01:23 <elliott> i fail at C arrays :)
22:01:26 <elliott> char words[1024][5];
22:04:11 <fizzie> elliott: Ooh, I found a sentence generated from the ngram data: "tentacle rape , lesbians . <UNK> </S> julkort ännu , men skulle gärna vilja sända något ovanligt till dina kontakter och / eller vänner ? </S>" (And this is what they call an "English" corpus.)
22:04:55 <elliott> fizzie: How was that generated, standard Markov stuff?
22:05:01 <elliott> It's... pretty bad.
22:05:42 <Vorpal> fizzie, heh, nice Swedish line
22:05:46 <elliott> "Christmas cards yet, but would like to send something unusual to your contacts and / or friends?"
22:05:47 <elliott> ah
22:05:49 <fizzie> 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 <elliott> fizzie: As opposed to five-grams, which will be _so_ much better.
22:06:10 <fizzie> Welllll...
22:06:23 <Vorpal> <elliott> "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 <elliott> fizzie: I could have it reject everything not in /usr/share/dict/words. :p
22:06:54 <Vorpal> or "would really like to"
22:06:59 <Vorpal> that fits better
22:07:02 <elliott> `addquote <Phantom_Hoover> Yeah, Bashir, just sit there drinking, rather than diagnosing the carpenter mauled in that tragic bonobo accident.
22:07:04 <HackEgo> 628) <Phantom_Hoover> Yeah, Bashir, just sit there drinking, rather than diagnosing the carpenter mauled in that tragic bonobo accident.
22:07:12 <fizzie> 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 <elliott> DS9 is a weird show.
22:07:21 <elliott> fizzie: That's better.
22:07:33 <Vorpal> elliott, actually df9 :P
22:08:00 <fizzie> "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 <elliott> fizzie: Sounds worth the money.
22:08:32 <Vorpal> fizzie, what corpus is that from
22:08:37 <fizzie> Vorpal: That Google one.
22:08:42 <Vorpal> ah
22:08:44 <fizzie> Quite a lot of this log is me countering these things with the corresponding fungot-babble from the irclog model.
22:08:45 <fungot> 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 <fizzie> "a brain is to not_work. so i'll benchmark 32-bit arithmetic then. unsigned, too."
22:08:56 <Vorpal> ^style
22:08:57 <fungot> 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 <fizzie> "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 <Vorpal> ^style ct
22:09:01 <fungot> Selected style: ct (Chrono Trigger game script)
22:09:05 <Vorpal> fungot, the sword
22:09:05 <fungot> Vorpal: the usual...test them. you can entertain us for awhile? sure! no thanks. yum! lemonade! vitamin c, cyrus!
22:09:14 <fizzie> (The Perl script can take a prefix which it continues from.)
22:09:23 <elliott> fizzie: Well, the IRC data is certainly more... eclectic.
22:09:27 <Vorpal> you know, fungot made me play chrono trigger. Because I was wondering what that game was.
22:09:28 <fungot> 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 <elliott> 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 <elliott> '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 <fizzie> fungot: You're always just quoting stuff verbatim for the most part.
22:09:57 <fungot> 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 <Vorpal> elliott, hey, I want fungot to say that
22:10:06 <fungot> 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 <elliott> :DDDD
22:10:09 <Vorpal> YES!
22:10:25 <fizzie> OH NO IT TURNED SENTIENCE
22:10:26 <elliott> fizzie: "seeds...and" -- looks like it's combined into one token. Or does it space elispeipseijsisepses that way?
22:10:30 <fizzie> (* ping timeout *)
22:10:40 <elliott> Ah, so fizzie is written in OCaml.
22:11:10 <Vorpal> elliott, is that an ocaml comment?
22:11:16 <Vorpal> or just a caml one?
22:11:18 <fizzie> 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 <Deewiant> Vorpal: No, it's actually Eiffel but he said OCaml just because he felt like it
22:11:45 <elliott> Deewiant: That's an OCaml comment too.
22:11:50 <Vorpal> heh
22:11:52 <Deewiant> elliott: Whoosh
22:11:52 <elliott> Might even be an ML one.
22:11:57 <elliott> Deewiant: Oh, right.
22:11:58 <Vorpal> elliott, I guess plain caml
22:12:01 <elliott> Deewiant: Sorry, it's Vorpal territory.
22:12:40 <elliott> 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 <Deewiant> strcpy
22:12:55 <Vorpal> elliott, ftruncate it first?
22:12:57 <Deewiant> Er, memcpy
22:13:02 <elliott> Deewiant: Yeeeeees.
22:13:07 <elliott> Vorpal: Uh.
22:13:13 <fizzie> (* It's a Mathematica comment too. *)
22:13:40 <Vorpal> elliott, yes ftruncate will fill with zeros at the end. Perhaps even sparse on your file system
22:14:01 <Vorpal> elliott, anyway you could just write a zero on the end of the mapped page
22:14:06 <oerjan> you philistines, obviously fizzie is written in pascal.
22:14:29 <elliott> Vorpal: Is that, nng, safe?
22:14:33 <elliott> What if it's exactly page-sized.
22:14:40 <Vorpal> elliott, map another page
22:14:48 <Vorpal> oerjan, don't be ridiculous. It is OBVIOUSLY whitespace
22:14:49 <elliott> "Nng."
22:15:01 <oerjan> may it have been algol too?
22:15:20 <oerjan> Vorpal: well i'll _admit_ that (* starts a whitespace comment as well.
22:15:20 <elliott> Not ALGOL I don't thinke.
22:15:21 <CakeProphet> wheeee handwriting a parser in Python is fuuuuun
22:15:22 <elliott> http://en.wikipedia.org/wiki/ALGOL_68#pr_.26_co:_Pragmats_and_Comments
22:15:35 <Vorpal> elliott, come on, mremap is linux specific
22:15:50 <fizzie> 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 <elliott> Vorpal: I'll probably just do my overflow handling manually.
22:16:02 <Vorpal> oerjan, of course :P
22:16:04 <elliott> fizzie: So safe, you have no idea.
22:16:06 <fizzie> (From memory, but it was something like that.)
22:16:18 <elliott> fizzie: Aww, I thought they asked it in that incredibly-specific form.
22:16:38 <fizzie> 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 <elliott> Nice.
22:16:54 <Deewiant> What does realloc-from-the-middle do anyway
22:16:58 <Deewiant> Illegal?
22:16:59 <Vorpal> fizzie, no it isn't. the realloc on a non-malloced pointer isn't safe
22:17:07 <fizzie> Deewiant: The old nasal demons again.
22:17:12 <Deewiant> Right
22:17:42 <fizzie> Though it would be an amusing requirement for a malloc implementation to support.
22:18:03 <Vorpal> fizzie, terribly inefficient too
22:18:33 <Phantom_Hoover> fungot, are you still in ct mode?
22:18:34 <fungot> 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 <elliott> :D
22:18:39 <Phantom_Hoover> Yes. Yes you are.
22:18:42 <Vorpal> awesome
22:18:50 <Phantom_Hoover> fungot, this is getting ridiculous.
22:18:50 <fungot> 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 <fizzie> Some day I'll fix that, and then everyone'll be all sad.
22:19:04 <Vorpal> fizzie, don't fix it :!
22:19:26 <Vorpal> fizzie, or keep ct-sword or something
22:19:34 <Vorpal> fizzie, what caused it btw?
22:19:39 <oerjan> the final fungotomy
22:19:39 <fungot> 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 <Phantom_Hoover> What was the Homestuck one again?
22:19:45 <monqy> poor fungot
22:19:46 <fungot> monqy: and you call yourself a frog, and ayla... i will not betray my friends!
22:19:48 <Vorpal> oerjan, wrong game.
22:19:57 <Vorpal> oerjan, completely wrong game :P
22:20:07 <oerjan> Vorpal: what game
22:20:13 <Phantom_Hoover> Vorpal, some fragments have a high probability of succeeding themselves.
22:20:24 <Phantom_Hoover> "that sword alone can't stop!" is one.
22:20:25 <Vorpal> oerjan, "the final fungotomy" <-- final fantasy joke?
22:20:25 <fungot> 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 <Phantom_Hoover> ^style homestuck
22:20:29 <fungot> Selected style: homestuck (Homestuck pages 1901-4673)
22:20:34 <Vorpal> oerjan, if not I'm disappointed
22:20:34 <Phantom_Hoover> fungot, let's find out.
22:20:34 <elliott> Phantom_Hoover: I don't think /anything/ follows it than itself.
22:20:34 <fungot> 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 <oerjan> Vorpal: no, it was a pun on lobotomy
22:20:43 <Vorpal> oerjan, oh
22:20:59 <Phantom_Hoover> fungot, it was, appropriately, a scratch-related thing IIRC.
22:20:59 <fungot> 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 <fizzie> 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 <fizzie> Though I was under the impression I runtime-patched that last bug out.
22:21:26 <fizzie> I may have not remembered to update the on-disk copy. :p
22:21:38 <elliott> fizzie: You should make it so that the model accounts for the quirks.
22:22:17 <fizzie> 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 <fizzie> (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 <elliott> fizzie: Surely fungot should save itself when you caret-save. :p
22:23:08 <fungot> 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 <Vorpal> ^style
22:23:39 <fungot> 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 <Vorpal> ^style europarl
22:23:46 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
22:23:51 <Vorpal> fungot, mr president
22:23:53 <fungot> 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 <Vorpal> ^style pa
22:24:11 <fungot> Selected style: pa (around 1200 transcribed Penny Arcade comics)
22:24:13 <Vorpal> ah
22:24:17 <Vorpal> ^style sms
22:24:17 <fungot> Selected style: sms (National University of Singapore SMS corpus, 2011-08-20)
22:24:25 <Phantom_Hoover> fungot, why Signapore?
22:24:25 <fungot> Phantom_Hoover: its just decorative argaarga see got a blue fence construction site u alight ok...
22:24:27 <Vorpal> heh, haven't seen this one
22:24:38 <Vorpal> fizzie, what is the SMS style?
22:24:46 <elliott> fungot: Aararararaga.
22:24:46 <fungot> 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 <elliott> fungot: I'm killing me.
22:24:50 <fungot> 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 <elliott> fungot: Shalika ne indeed.
22:24:55 <fungot> elliott: wats up.? wat talk is tat? nt nice ok d free vidu ll try do something
22:24:57 <fizzie> Vorpal: Exactly what you'd expect.
22:24:58 <elliott> fungot: Yes.
22:24:59 <fungot> 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 <elliott> fungot: E MacDonalds at engine first.
22:25:07 <elliott> :(
22:25:09 -!- FireFly has quit (Quit: FireFly).
22:25:14 <Vorpal> fizzie, why Singapore, and why only English data in it
22:25:17 <Phantom_Hoover> ^style
22:25:17 <fungot> 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 <Vorpal> and how did they get their hands on it
22:25:24 <Phantom_Hoover> ^style wp
22:25:24 <fungot> Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages)
22:25:36 <Phantom_Hoover> fungot, aww, I was hoping for articles.
22:25:37 <fungot> 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 <elliott> "File format: Each of the numbered files below is zipped tab-separated data. (Yes, we know the files have .csv extensions.)"
22:25:42 <elliott> "File format: Each of the numbered files below is zipped tab-separated data. (Yes, we know the files have .csv extensions.)"
22:25:42 <elliott> I wonder how many people complained.
22:25:42 -!- zzo38 has left.
22:25:45 <elliott> Before they added that parenthical.
22:25:54 <Vorpal> ^style lovecraft
22:25:55 <fungot> Selected style: lovecraft (H. P. Lovecraft's writings)
22:25:57 <elliott> <Vorpal> fizzie, why Singapore, and why only English data in it
22:25:57 <Phantom_Hoover> fungot, OTOH, this must be the largest corpus.
22:25:58 <fungot> 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 <elliott> Vorpal: It has pidgins.
22:26:02 <Vorpal> fungot, hm
22:26:03 <fungot> 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 <elliott> Vorpal: Singlish dominates, one would presume.
22:26:22 <Phantom_Hoover> The great thing is that without close inspection it actually does resemble Lovecraft closely.
22:26:28 <CakeProphet> would it be considered bad practice if I gave my AST classes evaluate() methods?
22:26:36 <Vorpal> heh yeah
22:26:38 <Vorpal> ^style alice
22:26:39 <fungot> Selected style: alice (Books by Lewis Carroll)
22:26:47 <Vorpal> fungot, the vorpal blade
22:26:48 <fungot> Vorpal: ' it's only a rattle,' alice said, ' poor silly thing! it's waiting to be asked,' she said. " do you?"
22:27:29 <CakeProphet> the evaluation code would be so much easier to code that way though...
22:27:29 <Vorpal> fungot, do I what?
22:27:30 <fungot> 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 <Vorpal> CakeProphet, I said "heh yeah" to Phantom_Hoover, not to you
22:27:51 <CakeProphet> oh okay.
22:27:54 <Vorpal> I have no opinion on your stuff
22:28:29 <Vorpal> fizzie, why is it called alice if it includes other books as well
22:28:35 <Phantom_Hoover> ^style
22:28:36 <fungot> 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 <Vorpal> fungot, that sounds like
22:28:39 <fungot> Vorpal: let " persons" be universe; fnord fnord y="that may escape notice.
22:28:47 <Vorpal> fungot, interesting equation
22:28:55 <Vorpal> :(
22:28:56 <Phantom_Hoover> ^style ss
22:28:56 <fungot> Selected style: ss (Shakespeare's writings)
22:29:05 <Phantom_Hoover> fungot, forsooth.
22:29:06 <fungot> 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 <Vorpal> "la.ro"?
22:29:20 <Vorpal> sounds like an url
22:29:32 <Vorpal> well, no, like a domain name
22:29:45 <Phantom_Hoover> First one to register it gets a cookie.
22:30:27 <Vorpal> Phantom_Hoover, not likely to be possible, 2 letter domain names tend to be disallowed these days
22:30:44 <Vorpal> the ones that exist in .com (such as ti.com) are grandfathereds
22:30:47 <Vorpal> fathered*
22:30:49 <elliott> <Vorpal> fizzie, why is it called alice if it includes other books as well
22:30:53 <elliott> Why is the UNIX-HATERS set called jargon?
22:31:00 <Vorpal> elliott, because you
22:32:23 <fizzie> 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 <fizzie> It might be that it didn't contain other books at the beginning.
22:32:44 <fizzie> Awaysish.
22:32:54 <fizzie> (Also four hours until wakeup. :/)
22:33:04 <Vorpal> fizzie, ouch
22:33:06 <Vorpal> night
22:40:24 <fizzie> I think I still have some packing to do, actually.
22:42:06 <elliott> fizzie: You could just not sleep; it has worked wonders for me in the past.
22:42:38 <Vorpal> fizzie, where are you going
22:42:39 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:43:38 <elliott> Vorpal: Really old people who are over thirty years old-istan.
22:43:58 <elliott> He's staying at the Wow Boy Howdy Speech-Based Interfaces Suck Major Ass Hotel.
22:44:28 <fizzie> 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 <elliott> Well if you want to call it by THAT name.
22:46:46 <oerjan> they're the same name, just horribly misheard
22:47:26 <fizzie> 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 <elliott> fizzie: SLEPING IS BAD FOR YUORE HEALTH
22:48:34 <oerjan> unngå tung sleping ved hjertefeil
22:49:00 <CakeProphet> programming in Python feels so precarious.
22:49:12 <CakeProphet> there's no type safety, wat do.
22:49:18 <elliott> mr. 'overloaded strings"
22:49:29 <CakeProphet> for some reason the lack of type safety in Perl does not bother me
22:49:35 <CakeProphet> but in Python it kind of does.
22:50:50 <elliott> Hey Deewiant, how'd I test if a big file has a terminating newline or not in one line of shell
22:52:45 <Gregor> Type safety is for pussies.
22:53:49 <Deewiant> elliott: tail -1 bigfile | perl -ne 'exit $_ =~ /\n$/'
22:55:18 <oerjan> all cats love type safety
22:55:41 <Gregor> oerjan: I know Tiamat does.
22:55:44 <Deewiant> elliott: tail -1 bigfile | xxd -i | tail -1 | grep 0x0a\$ >/dev/null
22:55:58 <elliott> Deewiant: Is xxd POSIX? :P
22:56:15 <CakeProphet> is Perl POSIX?
22:56:24 <Deewiant> I dunno
22:56:34 <Deewiant> Use whatever hexy printer is
22:56:34 <pikhq> My goodness. There was an X server... For DOS.
22:56:41 <Gregor> You want od.
22:56:50 <Gregor> pikhq: I'm yet to actually /find/ it, but I know it existed >_>
22:57:00 <CakeProphet> Gregor od'd just the other day, in fact.
22:57:00 <elliott> pikhq: what did you say the most popular roguelike was, again?
22:57:10 <oerjan> "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 <elliott> CakeProphet: rip
22:57:25 <Gregor> oerjan: She's also my cat :P
22:57:27 <oerjan> Gregor: i assume the name fits well.
22:57:35 <pikhq> elliott: Fushigi no Dungeon.
22:57:39 <Gregor> Well, she did mate with Abzû...
22:57:43 <oerjan> i guessed _that_ much
22:57:45 <pikhq> Gregor: It also let you run Windows 3.1 as an X app.
22:57:51 <Gregor> pikhq: *brain axplote*
22:57:54 <elliott> pikhq: right
22:57:54 <pikhq> You could remote it.
22:57:58 <oerjan> Gregor: your other cat?
22:58:02 <pikhq> http://toastytech.com/guis/dvxmswin.gif
22:58:12 <Gregor> oerjan: No, the god of fresh water.
22:58:17 <CakeProphet> Deewiant: also the $_ is entirely unecessary
22:58:28 <oerjan> your cat did. ok, then.
22:58:44 <CakeProphet> perl -ne "exit /\n$/"
22:58:50 <fizzie> tail -c 1 | od -sensibleflags?
22:59:10 <fizzie> (Even POSIX tail has -c.)
22:59:23 <fizzie> Oh, right, the sleep.
22:59:29 <Gregor> oerjan: Yes.
22:59:37 <pikhq> It also apparently featured an astonishingly good DOS multitasking environment.
22:59:42 <pikhq> Making it actually usable.
22:59:57 <oerjan> just as long as we are clear on that.
23:01:30 <Vorpal> <pikhq> Gregor: It also let you run Windows 3.1 as an X app. <-- whoa
23:01:47 <elliott> <pikhq> http://toastytech.com/guis/dvxmswin.gif
23:01:51 <elliott> pikhq: wait, is that running in DOS?
23:01:53 <pikhq> Yes.
23:01:54 <elliott> that's amazing
23:01:54 <Vorpal> fizzie, are there sensible flags to od? I never found them
23:02:05 <pikhq> It's doing its *normal* DOS multitasking thing.
23:02:17 <elliott> $ tail -1 bigfile | perl -ne 'print $_ =~ /\n$/'
23:02:17 <elliott> tail: cannot open `bigfile' for reading: No such file or directory
23:02:19 <elliott> It doesn't work, Deewiant :)
23:02:21 <pikhq> The only special hackery was providing Windows drivers that rendered via X.
23:02:32 <elliott> pikhq: I'm surprised Windows can run in a mutitasking system
23:02:32 <Vorpal> pikhq, how did windows like that
23:02:43 <Deewiant> elliott: Replace bigfile with the path to your big file
23:02:53 -!- Patashu has joined.
23:02:57 <Vorpal> pikhq, preemtive multitasking?
23:03:02 <Vorpal> preemptive*
23:03:10 <pikhq> Apparently.
23:03:18 <fizzie> Vorpal: "od -tx1" isn't too bad. There's no flags sensible enough to do the split hex/ascii view, though.
23:03:41 <fizzie> (Or if there are, I haven't found them.)
23:03:43 <pikhq> *IN REAL MODE*.
23:04:46 <Vorpal> pikhq, where can I find this
23:04:49 <elliott> Deewiant: Shocking
23:05:03 <pikhq> http://www.chsoft.com/dv.html seems to have it.
23:05:31 <Vorpal> DESQview?
23:05:36 <Vorpal> oh I heard of that before
23:05:54 <Vorpal> not sure where
23:06:35 <fizzie> DESQview is reasonable famous. Hadn't realized it included an X server, though.
23:06:58 <pikhq> fizzie: Actually, they later wrote an X server for it.
23:07:46 <pikhq> Oh, apparently those binaries are even legal. Symantec released them as a "Meh, whatever" gesture.
23:08:01 <pikhq> And then later stopped hosting.
23:08:05 <fizzie> Yes, it seems that DESQview/X is a later addition.
23:08:22 <elliott> "Quarterdeck is out of business; their ashes were acquired by Symantec, who cannot even spell DESQview."
23:09:22 <Vorpal> elliott, how did they spell it?
23:09:39 <elliott> ...
23:10:29 <Vorpal> elliott, what
23:10:50 <CakeProphet> !wacro wacro wacro
23:10:50 <EgoBot> Argument "wacro" isn't numeric in numeric gt (>) at /tmp/input.5885 line 46, <> line 1.
23:10:54 <CakeProphet> !wacro
23:10:55 <EgoBot> APLT
23:11:23 <pikhq> Yes, it really truly did preëmptive multitasking.
23:11:28 <pikhq> In real mode. From DOS.
23:11:52 <CakeProphet> what's real mode
23:11:59 <pikhq> 16-bit execution.
23:12:05 <pikhq> With all that implies.
23:12:07 <pikhq> e.g. no paging.
23:12:26 * CakeProphet needs to learn more about OS-level things
23:12:57 <pikhq> Though they did also *invent* DOS "high memory", allowing them to page processes in and out of the 16-bit space.
23:13:40 <Vorpal> <EgoBot> APLT <-- mac os file or creator code for executable-by-double-click apple script applets iirc
23:13:50 <Vorpal> don't ask why I remember this, I don't know
23:15:27 <CakeProphet> !wacro
23:15:27 <EgoBot> CHRBVSS
23:15:31 <CakeProphet> !wacro 4
23:15:32 <EgoBot> ADCB
23:15:44 <CakeProphet> !wacro 3 5
23:15:45 <EgoBot> IAC
23:17:31 <CakeProphet> Association of Dubiously Cited Bureaucrats
23:17:58 <CakeProphet> International Asshole Commission
23:18:36 <CakeProphet> !wacro 3 5
23:18:36 <EgoBot> FHLP
23:19:33 <CakeProphet> I believe H occurs too frequently
23:19:42 <elliott> fihilip
23:20:30 <CakeProphet> Futureless Heuristic for Lossy Protection
23:21:05 <Phantom_Hoover> !wacro
23:21:05 <EgoBot> PBRTPESR
23:21:54 <Phantom_Hoover> 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 <CakeProphet> Pabst Blue Ribbon Tastes Pretty Especially Similar to Rust
23:23:25 <CakeProphet> 3 to 5 is a good way to at least guarantee a semi-reasonable acronym
23:23:28 <CakeProphet> !wacro 3 5
23:23:29 <EgoBot> BSAG
23:25:03 <elliott> !wacro 99
23:25:03 <EgoBot> SSPAPHIBEBDABLRBTBTCGVCMZ
23:25:12 <monqy> !wacro 25
23:25:12 <CakeProphet> elliott: OH WHAT NOW
23:25:12 <EgoBot> BEEDACFCWCSSDMSRGSRPMERMA
23:25:22 <monqy> rest in peace big wacronyms
23:25:22 <CakeProphet> elliott: THINK UR CLEVR EH?
23:25:34 <monqy> was i clever when i gave it 999
23:25:38 <monqy> when it sitll worked
23:25:48 <CakeProphet> no ur dumb.
23:25:51 <monqy> <:|
23:25:54 <Phantom_Hoover> Aha.
23:26:10 <Phantom_Hoover> 16:56:55: -!- nooga is now known as wnghtr.
23:26:10 <Phantom_Hoover> 16:56:59: <wnghtr> try now
23:26:10 <Phantom_Hoover> 16:57:25: <Phantom_Hoover> What? nooga got harder to remember?
23:26:10 <Phantom_Hoover> 16:57:43: -!- wnghtr is now known as chrzaszcz.
23:26:10 <Phantom_Hoover> 16:58:12: <chrzaszcz> a -> ą
23:26:11 <Phantom_Hoover> 16:59:08: <Phantom_Hoover> cpressey, have robots zapped augur so zebras can zoom?
23:26:13 <Phantom_Hoover> 16:59:31: <oerjan> a pertinent question
23:26:15 <Phantom_Hoover> 16:59:45: <cpressey> Phantom_Hoover: Just a minute, I'll check.
23:26:17 <Phantom_Hoover> 16:59:55: <chrzaszcz> hell, you're good
23:26:32 <elliott> 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 <elliott> BOOYAH BITCHES
23:26:46 <augur> :|
23:26:56 <elliott> augur has "bitches" on highlight.
23:27:05 <augur> lol
23:27:43 <CakeProphet> !wacro 15 25
23:27:44 <EgoBot> SMCESHPMRMDWOPSRPAPAMPCF
23:27:51 <Phantom_Hoover> Oh, and of course, Vorpal in a nutshell: 17:06:48: <Vorpal> <Phantom_Hoover> 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 <CakeProphet> lol
23:28:17 <monqy> laughing
23:28:25 <elliott> lol
23:28:32 <CakeProphet> Vor"doesn't read context"pal
23:28:41 <ais523> I think there could potentially be a reasonable context for it
23:28:50 <ais523> I'm willing to accept that there wasn't one, though
23:28:54 <Phantom_Hoover> ais523, yes, I pasted this a few lines back.
23:29:29 <Phantom_Hoover> Wow, I was on a roll that day.
23:29:34 <elliott> 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 <elliott> (re: <EgoBot> SMCESHPMRMDWOPSRPAPAMPCF)
23:30:18 <CakeProphet> I was having trouble deriving the context of that statement until you provided it.
23:30:23 <CakeProphet> thank you.
23:31:01 <elliott> :P
23:31:24 <CakeProphet> I wonder how many surreal sentences I can elliott to say in a single evening.
23:31:31 <CakeProphet> !wacro 15 25
23:31:32 <EgoBot> BCPTFRZLFSGFTRMDRIPCR
23:32:10 <CakeProphet> at least it's weighted by their commonality in English, so you have many different words to choose from.
23:32:27 <elliott> Bah! Castrated! Pity, too... for Roland Zepto liked fishes. Still, great Fourier transforms really make dead (rest in piece) cars race.
23:32:51 <monqy> i like that one
23:33:01 <CakeProphet> yes well done.
23:33:33 <monqy> i wonder how easy it would be to make a bot to solve acronyms.....
23:33:43 <CakeProphet> pretty easy
23:33:46 <CakeProphet> well
23:33:51 <monqy> I mean sensibly
23:33:51 <CakeProphet> unless you wanted them to make sense.
23:33:53 <ais523> NKEPLWGPLXGIOYZJVTXJNNCSQSCVNTLBDQROMYEYVLHKJGTEAQNNEQGUJJPWCBYFRPUEOYDJJK
23:33:57 <monqy> half-sensibly, at least
23:34:07 <monqy> at least grammatical
23:34:33 <CakeProphet> I've thought about such a bot but have concluded that it's beyond my abilities.
23:35:13 <monqy> are there any good dictionaries i could use
23:35:24 <CakeProphet> surely, but I don't know of any.
23:35:32 <elliott> <monqy> i wonder how easy it would be to make a bot to solve acronyms.....
23:35:37 <CakeProphet> it would be nice if /usr/share/dict/* contained parts of speech
23:35:40 <ais523> /usr/share/dict/words?
23:35:42 <elliott> monqy: Markov-chainy, quite easily, but slowly
23:35:56 <elliott> monqy: just backtrack whenever you can't find a word with the right starting letter
23:36:00 <elliott> or if the probabilities get too low for comfort I guess
23:36:01 <Gregor> NLP is hard, but inverse NLP is less so :)
23:36:09 <elliott> a more efficient algorithm is left to the reader's imagination
23:36:18 <elliott> Gregor: Well, Markov chains make about much sense as I am.
23:36:23 <elliott> <ais523> NKEPLWGPLXGIOYZJVTXJNNCSQSCVNTLBDQROMYEYVLHKJGTEAQNNEQGUJJPWCBYFRPUEOYDJJK
23:36:24 <elliott> ok i will try this
23:36:25 <monqy> elliott: I was thinking scfg and match (part of speech,starting letter)->word
23:36:35 <Gregor> fungot: How much sense do Markov chains make?
23:36:36 <fungot> 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 <Gregor> I seeeeeeeeee
23:36:49 <CakeProphet> lol
23:37:04 <elliott> Gregor: See my acronym-solvings above, they don't make much more sense :P
23:37:12 <ais523> elliott: I had to Google it to make sure it was spelt correctly
23:37:26 <Gregor> elliott: 's sort of like Bad Lip Reading :P
23:37:38 <CakeProphet> he was a dashing blue-ribbont sort of fellow.
23:37:49 <Gregor> I wanna SHAVE that mustache and then HAVE gelato.
23:39:38 <CakeProphet> 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 <CakeProphet> ...randomly generated by English grammar rules of course.
23:41:15 <CakeProphet> english grammar rules = simple stuff
23:41:17 <CakeProphet> >_>
23:41:21 <elliott> 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 <elliott> ats under jesting japes peel wet coconuts by yonder freshman. Rightly-placed underwater eels "om" yet dourer. Just joking, 'kay?
23:41:29 <elliott> jesus christ that took far too long
23:41:37 * ais523 stores in eir text file of nkep expansions
23:42:23 <Gregor> When people use Spivak pronouns, I want to just replace the pronouns with "penis" and "vagina".
23:42:29 <elliott> ais523: please tell me you actually have one
23:42:30 <Gregor> I'll store that in penis' text file.
23:42:35 <ais523> amazingly, this is not the first channel I've been in where people were randomly expanding acronyms
23:42:39 <ais523> and I randomly pasted nkep in the first time too
23:42:48 <ais523> I only have the one other expansion in the file, but I do indeed have such a file
23:42:56 <elliott> heh
23:43:17 <ais523> Gregor: but I pasted /nkep/, of course I have to use Spivak
23:43:32 <CakeProphet> !wacro
23:43:32 <EgoBot> FEMBCC
23:43:35 <ais523> luckily, NKEPLWGPLXGIOYZJVTXJNNCSQSCVNTLBDQROMYEYVLHKJGTEAQNNEQGUJJPWCBYFRPUEOYDJJK is quite a googleable word
23:43:43 <Gregor> Penis thinks penis can make excuses for Spivak pronouns.
23:43:50 <Gregor> But there is no excuse for Spivak pronouns.
23:44:00 <ais523> in nkep-related contexts, there is
23:44:30 <elliott> Spivak neatly avoids the awkward "themselves" problem that singular they has
23:44:37 <elliott> (in that, "themself" is awkward, and "themselves" is not singular)
23:44:53 <ais523> elliott: Shakespeare used "themself" on a few occasions
23:45:08 <ais523> 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 <elliott> doesn't make it non-awkward :)
23:45:38 <elliott> Spivak has issues as far as pronouncability goes but all the alternatives are worse
23:46:26 <Gregor> I could just use "cloaca" as the neutral pronoun in my biopronouns :P
23:46:43 <Gregor> NOW THAT I'VE SOLVED ALL PROBLEMS, WHAT NEXT?
23:47:02 <CakeProphet> Fenestrated Ensemble of Modularly Bequested Circular Components
23:47:31 <elliott> ais523: can I see the other nkep expansion, out of curiosity?
23:47:43 <ais523> [20:52] <Brushy> 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 <ais523> Gagging Unless Jazz
23:47:46 <ais523> [20:52] <Brushy> Johnson Plays Waltz Citing Beethoven's "Your From Round Pittsburg?" Use Escalating Overalls You Damn Jackasses... Just kidding!"
23:48:07 <ais523> I like yours better
23:48:18 <monqy> is there any proper meaning
23:48:34 <CakeProphet> elliott: "Fenestrated Ensemble" would be an excellent part of the name of a window manager or GUI toolkit.
23:48:49 <Phantom_Hoover> 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 <Phantom_Hoover> jam (preserve?) will cut BMI. Your Freudian recalcitrance predicates untowards endings, or your doom. Just joking, 'K?
23:49:20 <ais523> did you copy elliott's ending? or was that coincidence?
23:49:42 <Phantom_Hoover> Oh my god I didn't.
23:49:45 <Phantom_Hoover> That...
23:50:17 <Phantom_Hoover> 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 <Phantom_Hoover> Mine was still better.
23:50:39 <Phantom_Hoover> elliott_, see my brilliant acronym.
23:50:47 <CakeProphet> !wacro 3 25
23:50:47 <EgoBot> DTATMD
23:50:54 <elliott_> 23:48:18: <monqy> is there any proper meaning
23:50:55 <elliott_> nkep
23:50:59 <monqy> nkep
23:51:03 -!- elliott has quit (Read error: Connection reset by peer).
23:51:08 <elliott_> Bajoran dentistry quora remind of my youth too, Phantom_Hoover.
23:51:29 <Phantom_Hoover> elliott_, the quora are for the number of teeth knocked out with rocks.
23:51:30 <elliott_> Also I swear you've said "jejune" before AT LEAST ONCE.
23:51:59 <elliott_> 23:50:17: <Phantom_Hoover> I think it's because jjk isn't terribly easy to work around unless you use a cheap trick like that.
23:52:04 <elliott_> John jested, killed.
23:52:09 <elliott_> A STORY IN THREEWORD
23:52:25 <CakeProphet> 3-gram
23:52:32 <Phantom_Hoover> 'Maud!' 'Yes!'
23:52:42 <copumpkin> why do people keep talking about pumpkin seeds in here?
23:52:45 <Phantom_Hoover> elliott_, 'jejune' has not been used on this channel before.
23:52:53 <CakeProphet> !wacro 3 25
23:52:53 <EgoBot> CRWUWAAICDSSCCFELLPSISIR
23:52:55 <Phantom_Hoover> copumpkin, the glory that is fungot's Homestuck mode.
23:52:56 <fungot> Phantom_Hoover: host. who knocks so hard?
23:53:00 <Phantom_Hoover> Specifically,
23:53:03 <Phantom_Hoover> `quote pumpkin
23:53:06 <HackEgo> 461) <Phantom_Hoover> The wickedest man of all. <Phantom_Hoover> Surpassed only in wickedness by the wicked witches of the west and east. <copumpkin> you talking about me again? <Phantom_Hoover> Yes. <copumpkin> k \ 558) <fungot> Phantom_Hoover: it is a hate so pure and... pumpkin seeds?
23:53:37 <Phantom_Hoover> Hey, if you stick those quotes together you get an even better one.
23:53:56 <ais523> yep
23:54:07 <ais523> copumpkin: do you have a highlight for that?
23:54:19 <copumpkin> yep
23:54:28 <ais523> just "pumpkin", or the whole phrase?
23:54:33 <copumpkin> just pumpkin
23:54:37 <elliott_> <Phantom_Hoover> elliott_, 'jejune' has not been used on this channel before.
23:54:38 <ais523> my highlight on INTERCAL catches me out in here occasionally
23:54:40 <elliott_> IT MUST HAVE BEEN
23:54:45 <ais523> and surprises me by cropping up randomly in other contexts too
23:54:55 <CakeProphet> elliott_: this can only be settled by wget + perl
23:55:03 <CakeProphet> or you know like grep or something.
23:55:07 <elliott_> CakeProphet: Dude, we have rsync logs.
23:55:07 <CakeProphet> but preferably perl.
23:55:19 <ais523> why use wget when you have perl?
23:55:24 <ais523> 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 <CakeProphet> ais523: not as conveniently, BUT YOU HAVE A GOOD POINT
23:55:58 <ais523> more conveniently if you want to mix it in with a Perl script
23:56:08 <ais523> say, if you're only going to process each thing you download once and then discard it
23:56:12 <CakeProphet> Perl is an unstoppable force of nature, perfectly suitable for all sh porpoises.
23:57:13 <Sgeo> And CakeProphet reminds me of a stupid joke I saw once
23:57:31 <ais523> hmm, anyone know a language that beats Perl on library support?
23:57:38 <ais523> I think only really C and Java have a chance, and I'm not sure if either does
23:57:47 <ais523> /possibly/ the .NET languages
23:58:14 <CakeProphet> python's standard library is more complete than Perl without CPAN, I believe.
23:58:59 <elliott> Perl without CPAN isn't very featureful
23:59:11 <elliott> ais523: I would say C easily beats Perl
23:59:50 <ais523> I'm taking CPAN and platform-related equivalents into account, here
23:59:55 <ais523> Perl is not very featureful without CPAN, indeed
←2011-08-25 2011-08-26 2011-08-27→ ↑2011 ↑all