00:00:00 <elliott> OK, so I eliminated the years.
00:00:10 <elliott> Who needs years; I need downloads that are a hundredth the size.
00:00:52 <CakeProphet> yeah my solution was going to involve splits and stuff as I didn't realize you wanted to read a file.
00:01:42 <CakeProphet> you could use pos, assuming the regex consumed all the way to the end of the line.
00:05:00 -!- derdon has quit (Remote host closed the connection).
00:06:24 <CakeProphet> `perl -e '$_ = "a\nb\nc\nd\n"; /b\n/; print ((split /\n/, substr $_, pos)[0])'
00:06:54 <CakeProphet> `perl -e '$_ = "a\nb\nc\nd\n"; /b\n/; print ((split /\n/, (substr $_, pos))[0])'
00:08:21 <CakeProphet> `perl -e '$_ = "a\nb\nc\nd\n"; /b\n/g; print ((split /\n/, (substr $_, pos))[0])'
00:09:43 <CakeProphet> but yeah pos SCALAR gives you the offset where the last match ended on that scalar.
00:10:07 <CakeProphet> for /.../g matches only I think. But you can also use it inside of the regex itself to grab indexes
00:11:48 -!- DH____ has joined.
00:12:00 <elliott> elliott@katia:~/Code/ngrams$ ./degrade googlebooks-eng-all-5gram-20090715-478.csv | wc -l
00:12:00 <elliott> elliott@katia:~/Code/ngrams$ wc -l foo
00:12:00 <CakeProphet> `run perl -e '$_="abcdef"; /?{print pos}a?{print pos}b?{print pos}c?{print pos}d?{print pos}e?{print pos}f?{print pos}/;'
00:12:02 <HackEgo> Quantifier follows nothing in regex; marked by <-- HERE in m/? <-- HERE {print pos}a?{print pos}b?{print pos}c?{print pos}d?{print pos}e?{print pos}f?{print pos}/ at -e line 1.
00:12:19 <elliott> fizzie: Degrade was hooked up, there, to print only n-grams that aren't five long. 114446 out of 622074 is very surprising. Do you have any idea why this might be the case?
00:12:43 <CakeProphet> `run perl -e '$_="abcdef"; /(?{print pos})a(?{print pos})b(?{print pos})c(?{print pos})d(?{print pos})e(?{print pos})f(?{print pos})/;'
00:14:34 <CakeProphet> `run perl -e '$_="abcdef"; /abc(?{pos})def/; print $^R;'
00:18:13 <CakeProphet> `run perl -e '$_="abcdef"; /b/; print ${^POSTMATCH};'
00:18:54 <CakeProphet> `run perl -e '$_="abcdef"; /b/p; print ${^POSTMATCH};'
00:20:13 <CakeProphet> `run perl -e '$_="abcdef"; /b/p; $_ = ${^POSTMATCH}; /\n/p; print ${^PREMATCH};'
00:21:12 <CakeProphet> `run perl -e '$_="a\nb\nc\nd\ne\nf\n"; /b\n/p; $_ = ${^POSTMATCH}; /\n/p; print ${^PREMATCH};'
00:25:53 -!- DH____ has quit (Read error: Connection reset by peer).
00:26:03 -!- DH____ has joined.
00:29:59 <elliott> elliott@katia:~/Code/ngrams$ ./degrade googlebooks-eng-all-5gram-20090715-478.csv | wc -l
00:29:59 <elliott> elliott@katia:~/Code/ngrams$ wc -l foo
00:30:02 <elliott> OK, that's slightly better...
00:30:23 -!- DH____ has quit (Read error: Connection reset by peer).
00:41:54 <CakeProphet> `run perl -e 'sub partition($$) { ($r, $_) = @_; /$r/p; (${^PREMATCH}, ${^POSTMATCH})} print scalar (partition qr/\n/, (partition(qr/b\n/, "a\nb\nc\nd\ne\nf\n")[0]));
00:41:56 <HackEgo> sh: -c: line 0: unexpected EOF while looking for matching `'' \ sh: -c: line 1: syntax error: unexpected end of file
00:42:01 <CakeProphet> `run perl -e 'sub partition($$) { ($r, $_) = @_; /$r/p; (${^PREMATCH}, ${^POSTMATCH})} print scalar (partition qr/\n/, (partition(qr/b\n/, "a\nb\nc\nd\ne\nf\n")[0]));'
00:42:03 <HackEgo> syntax error at -e line 1, near ")[" \ Execution of -e aborted due to compilation errors.
00:43:12 <CakeProphet> `run perl -e 'sub partition($$) { ($r, $_) = @_; /$r/p; (${^PREMATCH}, ${^POSTMATCH})} print scalar (partition qr/\n/, ((partition qr/b\n/, "a\nb\nc\nd\ne\nf\n")[0]));'
00:43:33 <elliott> elliott@katia:~/Code/ngrams$ grep ' ' googlebooks-eng-all-5gram-20090715-478.csv
00:43:34 <elliott> elliott@katia:~/Code/ngrams$
00:43:34 <elliott> Aha -- I can just pad it out.
00:43:55 <elliott> Write degrade/intern/gentry.
00:44:39 <Jafet> Write degrade sounds like what's happening to your data drive
00:52:16 -!- Jafet has quit (Quit: Leaving.).
00:53:34 <elliott> Aw fuck, I missed the Atlas Shrugged film
00:53:39 <elliott> I bet it was comedy of the year :(
01:18:20 <elliott> http://www.brainyquote.com/quotes/authors/d/dennis_ritchie.html
01:18:22 <elliott> Best automated quote database
01:18:25 <elliott> A new release of Plan 9 happened in June, and at about the same time a new release of the Inferno system, which began here, was announced by Vita Nuova.
01:25:55 -!- augur_ has joined.
01:26:49 -!- augur has quit (Read error: Connection reset by peer).
01:29:40 <elliott> Dammit that fizzie bastard needs to wake up to help.
01:35:07 <elliott> splitTab Ngram 107 93448818 21.4 28.3 21.4 28.3
01:41:44 <elliott> WHAT THE FUCK HOW CAN MAKING IT USE THE UNSAFE VARIANTS SLOW IT DOWN
01:42:37 -!- ive has joined.
01:50:58 <Sgeo|web> The mathematics department at my school has a problem solving competition
01:51:08 <Sgeo|web> The problem here in front of me is laughably trivial.
01:51:22 <Sgeo|web> However, I don't want to state it here at this point
01:58:23 <elliott> WHY WOULD YOU RECOMPILE THE LIBRARY
02:06:41 <elliott> Sgeo|web: his name is monqy
02:07:49 <Sgeo|web> elliott: I am aware of this, and still thing calling him "monquy" is marginally humorous
02:11:39 <shachaf> elliott: Am I a Bad Person?
02:13:15 <fungot> CakeProphet: ( c) a player who makes further play impossible by eir actions or lack thereof, or
02:13:30 <fungot> CakeProphet: " so that the text box in a post a while it was frustrating. they have no parents ( awwww)
02:13:49 <fungot> CakeProphet: " and this is a new game. there is no longer the wand the better part made mercie, i should think at least, that is expressions which have not been able, to assume responsibilities. he went on, " the conclusion is, then thou, the greatest soldier, de. she wanna be friends, his state vsurp'd, his realme a slaughter-house, his subjects, the european council decided at its meeting on 30 april, or even this very diffic
02:14:18 -!- tiffany has quit (Quit: Leaving).
02:16:25 -!- TeruFSX has quit (Read error: Connection reset by peer).
02:23:42 <monqy> why are you learning django
02:23:54 <monqy> whatever the reason: bad
02:24:16 <monqy> well work's bad then ;_;
02:24:24 <monqy> nobody should have to do web stuff
02:24:33 <monqy> because im bias against it
02:26:07 <CakeProphet> hmmm I wonder where my word generator is infinitely looping and consuming lots of memory.
02:28:11 -!- pikhq_ has joined.
02:30:12 <monqy> what did you expect
02:31:01 -!- pikhq has quit (Ping timeout: 252 seconds).
02:31:39 <monqy> perl takes no orders
02:37:55 -!- Sgeo|web has quit (Ping timeout: 252 seconds).
02:47:29 <Gregor> OK folks, I'm updating the Debian under HackEgo. Watch for falling rocks.
02:48:40 <CakeProphet> %grams = %{$data->{$default_dataset}} unless %datasets;
02:49:06 <CakeProphet> and then I get an undefined hashref error and $default_dataset is suddenly undef...
02:52:13 <lambdabot> Language.Haskell.TH.Ppr appPrec :: Precedence
02:53:25 -!- MichaelBurge has joined.
02:57:53 -!- SgeoN1 has joined.
02:58:19 <SgeoN1> sudo apt-get install haskell-platform
02:58:57 <elliott> SgeoN1: You absolutely do not want your distro's Haskell Platform.
02:59:39 <elliott> See http://www.vex.net/~trebla/haskell/sicp.xhtml for why.
02:59:44 <SgeoN1> Not even for a stupid simple palindrome counter?
02:59:49 <elliott> Most likely, you don't even want your distro GHC; but you definitely don't want your distro's Haskell Platform.
03:02:59 <elliott> SgeoN1: What are you doing with a palindrome counter, anyway?
03:04:23 <SgeoN1> Checking that my solution to my school's math problem is correct.
03:04:44 <elliott> a math problem involving counting palindromes?
03:04:50 <elliott> are you _sure_ you're not in pre-school?
03:04:53 <SgeoN1> Article says starting off installing from district, then permanently switching to cabal should be safe...
03:05:30 <elliott> Just install the ghc package.
03:05:36 <elliott> You are unlikely to need anything from the platform for a palindrome checker.
03:06:13 <SgeoN1> I do want to play with yasod at some point
03:06:18 <Gregor> Oh nice -n10. Why you gotta.
03:06:41 <monqy> haskell platform, a yasod necessity
03:06:44 <elliott> SgeoN1: Yesod. And when you do that, you will download a GHC binary package, install it, and then a Haskell Platform source tarball, and tell it to bootstrap.
03:07:42 -!- HackEgo has quit (Remote host closed the connection).
03:07:42 <SgeoN1> This Linux system isn't long for this world anyway.
03:07:53 -!- HackEgo has joined.
03:08:07 <HackEgo> bin \ canary \ karma \ lib \ paste \ quotes \ share \ wisdom
03:08:30 -!- Jafet has joined.
03:08:35 <Gregor> elliott: I'm aware, gimme a sec here.
03:08:52 * elliott should really get to actually writing his transactional HackEgo system.
03:08:57 <elliott> It would be far superior :P
03:09:45 <SgeoN1> Elliott, it's lightning so scary hexadecimal numbers
03:09:57 <SgeoN1> And by lightning I mean oohh
03:10:13 <SgeoN1> And this thing insists on capsing you
03:10:22 <elliott> shachaf: I've already tried to convert desaiu to LYAH, don't bother, he's determined to waste his time with YAHT :P
03:10:41 <Gregor> Hm, looks like hg commit with no changes used to return 0, now it returns 1.
03:10:42 <shachaf> elliott: I know, so have I.
03:10:49 <shachaf> he comes to #haskell every day and asks about YAHT, and keeps being told not to use it.
03:11:17 <Gregor> There we go, Debian upgrade complete.
03:11:23 <elliott> shachaf: He seems to find it patronising. (I find his questions that demonstrate a lack of even basic knowledge in the language thanks to his use of a bad tutorial patronising.)
03:11:46 <HackEgo> bin \ canary \ karma \ lib \ paste \ quotes \ share \ wisdom
03:12:07 <elliott> shachaf: Oh well, it's not like #haskell isn't always clogged.
03:12:09 <shachaf> We need LYAH-without-pretty-pictures.
03:12:19 <SgeoN1> Why is libstdc++ stuff being installed?
03:12:21 <elliott> shachaf: Learn Serious Haskell
03:12:28 <elliott> SgeoN1: Probably build-essential.
03:12:42 <elliott> shachaf: Cause Yourself To Learn Haskell, Yielding Great Advantages
03:12:51 <shachaf> Learn Haskell Without Cutesy Grammatical Errors
03:13:19 <elliott> Real World Haskell-- wait.
03:14:16 <elliott> ?hoogle [Either a b] -> [b]
03:14:17 <lambdabot> Data.Either rights :: [Either a b] -> [b]
03:14:17 <lambdabot> Data.Either lefts :: [Either a b] -> [a]
03:14:17 <lambdabot> Data.Graph.Inductive.Graph nodes :: Graph gr => gr a b -> [Node]
03:14:27 * shachaf catches elliott red-handed.
03:14:35 <lambdabot> Data.Either rights :: [Either a b] -> [b]
03:14:35 <lambdabot> Data.Typeable typeOf2 :: Typeable2 t => t a b -> TypeRep
03:14:35 <lambdabot> Prelude either :: (a -> c) -> (b -> c) -> Either a b -> c
03:15:31 -!- Slereah_ has quit (Ping timeout: 240 seconds).
03:16:20 -!- Slereah_ has joined.
03:16:45 <elliott> shachaf: It's not my fault all these functions can fail.
03:16:54 <elliott> Don't they know that the data-set is perfect?
03:17:22 <shachaf> elliott: let Right x = blahBlahReturnsEither
03:18:09 <shachaf> elliott: As a bonus, that gives you an actual semi-helpful error if the pattern-match fails.
03:18:20 <elliott> shachaf: Yeah yeah but I need to map it.
03:18:23 <elliott> (\(Right x) -> x) is ugly.
03:19:32 <shachaf> At least it's appropriately named.
03:19:43 <elliott> CakeProphet: Perl's debugger makes a half-decent REPL.
03:19:51 <shachaf> Much like Spolsky's Wrong.html.
03:20:51 <SgeoN1> I already Google's this, but didn't find it
03:20:52 <elliott> shachaf: Isn't that the pro-Hungarian-notation-but-/actually/-he-wants-a-strong-type-system one?
03:21:23 <shachaf> «Somebody, somewhere, read Simonyi’s paper, where he used the word “type,” and thought he meant type, like class, like in a type system, like the type checking that the compiler does. He did not. He explained very carefully exactly what he meant by the word “type,” but it didn’t help. The damage was done.»
03:22:18 <SgeoN1> @hoogle (f->a->a->b)->a->b
03:22:19 <lambdabot> Data.Map foldWithKey :: (k -> a -> b -> b) -> b -> Map k a -> b
03:22:19 <lambdabot> Data.IntMap foldWithKey :: (Key -> a -> b -> b) -> b -> IntMap a -> b
03:22:19 <lambdabot> Control.Applicative liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
03:22:50 <SgeoN1> I probably won't actually use it, but still
03:23:36 <Gregor> elliott: So now that Debian is pseudo-semi-up-to-date, what should I install?
03:24:58 <Gregor> Jafet: Naw, using stable under HackEgo, but it was lenny before for historical/hysterical reasons.
03:25:39 <Jafet> Isn't lenny stable?
03:25:48 <Gregor> squeeze. lenny is oldstable.
03:26:02 <elliott> Gregor: Does ghc still work?
03:26:03 <Jafet> I always use sid, so I'm behind on old technology.
03:26:16 <elliott> Jafet: You would run sid on a server?
03:26:21 <HackEgo> ghc: no input files \ Usage: For basic information, try the `--help' option.
03:26:39 <elliott> (testing I could understand.)
03:26:55 <Gregor> Jafet: I always use sid locally, testing for servers, stable for places where it's unimportant or I have reason to want long-term consistency *shrugs*
03:26:55 <Jafet> I've never run an important server.
03:27:14 <Jafet> Even sid is fairly consistent these days.
03:27:36 <elliott> When are Debian gonna transition to rolling-release as their main release already?
03:28:05 <pikhq_> elliott: Same day they switch to Portage.
03:28:11 <Jafet> And I'll just suppose it's their main release.
03:28:15 <elliott> pikhq_: I thought you said there were possible plans.
03:28:23 <pikhq_> elliott: Yes, yes, I'm just joking.
03:28:48 <Gregor> shachaf: And here I thought Jafet was out of date :P
03:28:50 <pikhq_> There's a few prominent developers who *really* want a rolling release, and nobody is really against it.
03:29:01 <Gregor> I had an m68k mac that ran potato ...
03:29:03 <shachaf> Gregor: You have a problem with potatoes?
03:29:43 <pikhq_> I was 10 when Potato came out.
03:29:57 <Gregor> I was a potato when the number 10 was invented.
03:30:01 <pikhq_> I did use woody, though.
03:30:32 <pikhq_> When it was still vaguely current.
03:30:57 * shachaf recalls Linux 2.4.20 with fondness.
03:31:13 <elliott> Strange that they took so long to get to such a main name. :p
03:31:15 * Gregor recalls Linux 2 with nostalgia :P
03:31:35 <elliott> Gregor: The one Raymond Chen wrote the config script for? :-)
03:32:19 <Gregor> I should update Hackiki to use UMLBox ...
03:33:00 <CakeProphet> okay yeah so my word data module takes a very long time to load.
03:33:03 * shachaf looks for "The Potato Has Landed" images and fails to find any.
03:33:37 <CakeProphet> elliott: #perl is saying that gdb does not let you poke around in the symbol table after program termination.
03:34:18 <elliott> I think it can too, but probably they're using some pedantic interpretation by which it is not true.
03:34:33 <CakeProphet> and that's why I got in an argument with these people
03:34:38 <CakeProphet> because I was assuming perl -d was quality software.
03:35:10 <elliott> Why are you trying to use a debugger on a language that isn't C?
03:35:55 <CakeProphet> and not asking #perl questions because they're rude.
03:40:04 <CakeProphet> a breadcrumb is a print statement thrown in somewhere to print out the value of some datum
03:40:21 <CakeProphet> the most ancient and sophsticated form of debugging.
03:40:41 <elliott> that's called printf debugging.
03:41:41 <shachaf> I'm pretty sure the name "printf debugging" was independently invented dozens of times.
03:42:23 <elliott> And the name "breadcrumbing" once, by CakeProphet :P
03:42:46 <shachaf> It's called printf debugging even in languages that don't have printf.
03:43:29 <CakeProphet> dude I totally got breadcrumb from a different source
03:47:06 <Jafet> Every language that doesn't already have printf is doomed to reinvent printf.
03:48:19 <elliott> Jafet: Even OCaml; even though they had to add special support to the compiler for it.
03:49:28 <SgeoN1> Haskell has trace for that exact reason
03:49:49 <SgeoN1> Using Haskell printf for printf debugging is stupid
03:50:43 <SgeoN1> HTTP://hpaste.org/52603
03:52:11 <Jafet> You can use printf and trace!
03:54:24 <elliott> SgeoN1: Unnecessary parenthesisation of RHS of (==); missing spaces around (->).
03:54:32 <elliott> "Show a" constraint on palindrome is redundant.
03:54:43 <elliott> You are not experienced enough to have a moral objection to length; remove import, use of genericLength.
03:55:04 <elliott> Also, palindrome should be of type (Eq a) => [a] -> Bool, and composed with hex at filter-time.
03:55:06 <shachaf> There needs to be a genericLength' that uses foldl'
03:55:51 * elliott also doubts you need hat Data.Char import.
03:56:07 <shachaf> elliott: Not everyone needs to use one-letter identifiers for everything.
03:56:17 <elliott> shachaf: "num" is ridiculous.
03:56:35 <elliott> Acceptable, but I'll point and laugh at you like a three year-old.
03:56:40 -!- Jafet has quit (Quit: Leaving.).
03:56:46 <elliott> SgeoN1: Also, do not use chains of ($); use (.) instead.
03:57:05 <elliott> SgeoN1: In conclusion: http://hpaste.org/52603
03:57:18 <elliott> SgeoN1: Also, dude, use showHex.
03:57:39 <SgeoN1> If I was aware there was a showHex function...
03:57:49 <elliott> SgeoN1: It's in the SO post you linked, for chrissakes.
03:58:24 <shachaf> genericLength is horrible if you just want an Int.
03:58:36 <elliott> That defaults to Integer, but his list is manifestly within Int bounds.
03:58:43 <shachaf> > genericLength [1..1000000]
03:59:12 <elliott> SgeoN1: So, since you're anti-length: Let's assume a language without all the nasty historical warts; length returns any Num or Integral or whatever, no monomorphism restriction like most people want, etc.
03:59:20 <elliott> SgeoN1: let n = genericLength xs in (n,n)
03:59:31 <elliott> SgeoN1: How many times can forcing the result of this expression traverse xs?
03:59:33 <SgeoN1> I only looked at the accepted answer... admittedly, that can be really stupid for SO
03:59:39 <elliott> There was no accepted answer.
03:59:45 <elliott> Now, get on that riddle. :p
03:59:52 <shachaf> elliott: -XYesMonomorphismRestriction
04:00:25 <shachaf> -XMoreMonomorphismRestriction
04:00:32 <shachaf> -XMonoMorephismRestriction
04:00:40 <SgeoN1> One, assuming that the compiler can optimize one of the more well known facts of Haskell...
04:00:47 <elliott> SgeoN1: You get NOTHING! You LOSE! Good DAY sir
04:00:52 <elliott> SgeoN1: It can traverse xs up to TWO times.
04:01:02 <elliott> SgeoN1: Now remove that import and s/genericLength/length/ until you know what you're doing.
04:01:08 <shachaf> It can traverse xs as many times as it wants.
04:01:30 <elliott> shachaf: Shut up, it's my /job/ to be a jerk to SgeoN1.
04:02:03 <shachaf> Oh, wait. I read that as "/my/ job", not "my /job/".
04:02:11 <elliott> I like Timwi's big red notice: http://esolangs.org/wiki/Programming_Languages_Glossary
04:02:25 <SgeoN1> I mean, I already have my answer, which agrees with what I did by math
04:03:52 <CakeProphet> elliott: help fast way to prepend something to a file.
04:03:54 <lambdabot> forall a b (m :: * -> *). (Monad m) => (a -> b -> m a) -> a -> [b] -> m a
04:04:39 <elliott> CakeProphet: Uhh... fopen r+?
04:04:56 <shachaf> elliott: The foldr/foldl issue is at least as big as the recomputation issue.
04:05:19 <elliott> shachaf: Yes, that too. But I'm not sure SgeoN1 actually knows why a stack overflow would happen, and it's easier to shock with the recomputation problem.
04:05:21 <monqy> CakeProphet: append reversed something to reversed file, reverse file
04:05:37 <shachaf> elliott: Right, but it's easier to demonstrate.
04:05:38 <elliott> shachaf: I still can't get over conal's length xs /= length (map f xs) thing.
04:05:47 <shachaf> elliott: What's conal's thing?
04:06:01 <elliott> CakeProphet: I told you how.
04:06:03 <monqy> read entire file, reverse it like so
04:06:10 <shachaf> I trust that you would know, being conal.
04:06:31 <elliott> > (length foo, length (map (/10) foo))
04:07:06 <shachaf> That's a level below mad, just so you know.
04:07:25 <shachaf> I mean "below" as in "worse".
04:07:32 <monqy> ... -> sad -> mad -> sad -> mad -> sad -> mad -> sad -> mad -> ...
04:08:07 <lambdabot> forall a. (Fractional a) => a -> a -> a
04:08:26 <elliott> shachaf: It's the "let's be ridiculous and allow going over half the step because of floating-point inaccuracy issues" thing.
04:08:34 <elliott> I like how that list doesn't actually contain ten-point-anything.
04:08:39 <elliott> Well, it contains ten point nine recurring.
04:09:00 <lambdabot> [1 % 1,3 % 1,5 % 1,7 % 1,9 % 1,11 % 1]
04:09:18 <elliott> shachaf: I was wrong in that it shouldn't include ten.
04:09:24 <elliott> It's [1,3..10], not [1..10].
04:09:30 <elliott> Why is it applying that rule for Rational?
04:12:18 <elliott> CakeProphet: Probably; quotes plz.
04:12:33 <lambdabot> forall a b (m :: * -> *). (Monad m) => (a -> b -> m a) -> a -> [b] -> m a
04:12:52 <elliott> shachaf: Can you download eighty gigabytes of zips for me?
04:13:15 <shachaf> What do you want me to do with them?
04:13:31 <elliott> shachaf: Get them to me faster than my internet connection.
04:13:56 * shachaf will do it... For the right price.
04:14:06 <shachaf> That didn't sound as evil as I'd hoped.
04:14:13 <elliott> If the price is a hundred dollars or more, I'll just buy the CDs :P
04:14:31 <elliott> shachaf: The Google Books five-grams for English.
04:14:37 <elliott> They come in eight hundred little one-hundred-megabyte zips.
04:14:55 -!- Jafet has joined.
04:15:01 <elliott> intern: user error (Pattern match failure in do expression at intern.hs:21:11-18)
04:16:00 <CakeProphet> 00:15 < mauke> after the program has terminated, all local variables are gone
04:16:01 <CakeProphet> 00:15 < mauke> all that remains is the global symbol table
04:16:14 <shachaf> elliott: What are you going to do with them?
04:16:26 <CakeProphet> I'm pretty sure I've looked up local variables in gdb after termination
04:17:01 -!- ive has quit (Quit: leaving).
04:17:15 <elliott> CakeProphet: Couldn't you just try it?
04:17:31 <CakeProphet> elliott: not as quickly as I can ask, and someone say "yes"
04:17:37 <elliott> CakeProphet: No, I would have to try too.
04:18:00 <elliott> shachaf: Run them through a lot of code I'm writing right now, producing a ~terabyte model file, which I will then use to feed through even more code to produce the most advanced Markov bot this channel has ever seen.
04:18:01 <CakeProphet> our total cumulative effort is smaller than me making a test C program or finding an existing C program that terminates in an error
04:18:05 <elliott> shachaf: It's kind of a tradition.
04:18:14 <elliott> CakeProphet: int main(){int x = 99; return 99;}
04:18:50 <elliott> fungot: Demonstrate the tradition to shachaf.
04:18:50 <fungot> elliott: if ( sense ahead foe?) x" to give you a hint:) is already woven, which will face us, i heard, oh, hear, or speak, or for iphicrates in the field is called " robotron"
04:18:56 <elliott> shachaf: Except mine will be way more coherent.
04:19:01 <shachaf> elliott: Would it possibly be cheaper to process on AWS?
04:19:33 <elliott> shachaf: I dunno about that. I'm projecting like ten hours of fully-used CPU to do this thing from scratch, at least.
04:19:53 <elliott> shachaf: That sounds quite expensive, and I suspect storing a one terabyte file on AWS would be ludicrously expensive.
04:20:02 <elliott> Even if not, downloading it would take a very, very long time.
04:20:17 <shachaf> elliott: I meant http://aws.amazon.com/datasets/8172056142375670
04:20:34 <shachaf> That was the first result I found -- I guess the regular download place would be elsewhere.
04:21:16 <elliott> Well it might work. I'm sceptical of their compressed size though (221.5? It should be eighty -- or is that in the encoded format?)
04:21:23 <elliott> shachaf: But anyway, the output files from it all would still be a terabyte, no matter what.
04:21:30 <elliott> And I need those on my disk to run a bot on.
04:22:01 <pikhq_> elliott: You, sir, are mad.
04:22:29 * elliott times how long it takes to download one of the zips, so he can estimate the time to download the whole thing.
04:22:30 <shachaf> Where do you download them?
04:22:41 <elliott> shachaf: http://books.google.com/ngrams/datasets; it's the first set of 5-grams on that page.
04:22:46 <CakeProphet> I have a file named --eng-1M in my current directory
04:23:58 <Gregor> More generally (for e.g. cat that's a jerk and doesn't like --), you can of course use ./--eng-1M
04:24:55 * shachaf has access to a server that can download each 100MB file in ~10 seconds.
04:25:00 <shachaf> I guess that doesn't do you much good.
04:25:31 <elliott> Yeah, there's no way that downloading the output file could possibly be quicker than downloading all the sources :P
04:25:42 <elliott> Especially since I likely have more RAM than whatever ~cloud~ substrate I could afford.
04:25:56 <elliott> OK, it took 3m34.263s to download that one.
04:26:16 <elliott> 46.67 hours to download the entire thing.
04:26:32 <elliott> Especially considering it'd peg my connection :P
04:26:53 <shachaf> elliott: You can ship a hard drive to Amazon and have them put data on it.
04:26:59 <shachaf> I don't know if that comes out cheaper/faster.
04:27:26 <shachaf> http://aws.amazon.com/importexport/
04:27:54 <elliott> shachaf: That would just be in the special format you linked to, wouldn't it?
04:28:07 <elliott> I'd prefer the originals; I already have some tools to process them. :p
04:28:23 <elliott> Hmm, it's $80.00 + $2.49 times an unspecified number.
04:28:27 <elliott> The DVDs are like a hundred bucks.
04:28:41 <elliott> Doesn't sound like it adds up to me.
04:28:46 <elliott> Grr, http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13 is out of order.
04:28:53 * elliott checks the cache for the exact price.
04:29:00 <elliott> Non-member Fee:Please contact the LDC at 1-(215)-573-1275 or ldc@ldc.upenn.edu for all pricing information.
04:29:04 <elliott> What? It had the price not long ago.
04:29:26 <elliott> (Those DVDs are of a different corpus, and probably a lower-quality one, but eh.)
04:29:39 <elliott> I wonder if they're charging more for it now?
04:31:51 <shachaf> elliott: Where are you? .uk?
04:32:14 <elliott> They should really have .qq domains.
04:33:25 * Gregor founds Qoqonia to make .qq domains.
04:34:00 <CakeProphet> weeee, generating these datas == more fun than watching paint drying.
04:34:16 <elliott> CakeProphet: If you were smart and didn't use Perl like I'm not not doing, it would go much faster.
04:34:33 <CakeProphet> I am beginning to regret using perl now that I'm in debugging.
04:34:39 * shachaf wonders if there's a service where they download things and ship them to you.
04:34:47 <elliott> shachaf: It's called an ISP, I think. :p
04:34:56 <elliott> The shipping is done over copper.
04:35:06 <CakeProphet> ha, imagine if they shipped like a CD or something.
04:35:23 <CakeProphet> the shipping time would have to be shorter than the download time for the customer.
04:35:53 <elliott> CakeProphet: That's kind of the point.
04:36:05 <CakeProphet> elliott: note that we are saying the same thing.
04:36:09 <elliott> CakeProphet: Except not really, because waiting a week =/= scheduling time to peg my internet connection for forty eight hours.
04:36:43 <shachaf> elliott: Just throttle the download.
04:36:56 <elliott> Yeah, then it'll only take ten years,
04:37:03 <shachaf> Don't throttle it that much.
04:37:20 <shachaf> Presumably if your Internet connection was half as fast as it is right now it wouldn't be that bad.
04:37:34 <elliott> I only have eight megabits, man. And I never get eight megabits.
04:37:47 <shachaf> That's a lotta megabits, man.
04:37:59 * shachaf gets ~0.8 megabits at home.
04:38:13 <shachaf> And I live in Silicon Valley. If you can believe that.
04:38:33 <elliott> More like Silicon Ha-ha. Vey.
04:38:47 <elliott> Hmm, Valley doesn't end in Vey.
04:40:03 <shachaf> http://www.canadiandownload.com/
04:41:43 <elliott> It, uh, only supports one URL though.
04:41:56 <shachaf> It's a bit of a joke website, I suspect.
04:42:09 <elliott> "We're in the process of burning all the discs for everyone who requested the service (as long as what they requested won't land us in jail for shipping it over international borders)."
04:42:18 <elliott> "Disclaimer: We are unable to download and ship pornography, copyrighted information, or anything else that could get us in the shit with customs or the FBI."
04:42:24 <elliott> Copyrighted information? So almost everything?
04:42:32 * elliott bets Google claim copyright on their corpus.
04:43:23 * shachaf creates a 100000-gram corpus from his favourite book.
04:43:53 <shachaf> I prefer to call it copyright-adjust.
04:44:06 <shachaf> It's my corpus, after all.
04:44:46 <elliott> It occurs to me that I have no idea how many pages 100000 words is.
04:45:11 <shachaf> http://answers.google.com/answers/threadview?id=608972
04:45:23 <elliott> W|A says five hundred "screenplay pages".
04:47:23 <shachaf> elliott: Whiile you're at it, can you do Hebrew too?
04:47:43 <elliott> Wow, Google actually offer Hebrew data.
04:48:02 <elliott> shachaf: Unfortunately I know nearly nothing about Hebrew, so I would be unable to (a) understand what it spits out or (b) tune my code to it.
04:48:11 <elliott> Does Hebrew even have sentence boundaries?
04:48:49 <elliott> Weeeeeeell, I /could/ do it, but it's -- oh, the data set is tiny.
04:49:06 <CakeProphet> yeah it takes up to 10 seconds to import my data module...
04:49:24 <elliott> shachaf: I suppose I'll give it a bash once I get everything written.
04:49:29 <elliott> CakeProphet: Ten seconds? That's nothing.
04:49:34 <elliott> Oh, your data module. Okay.
04:49:51 <elliott> shachaf: But I wouldn't expect much; I'm going to tune it for well-formed punctuation, realistic lengths, full sentences, etc.
04:49:57 <shachaf> Starting up ghci takes me two seconds. :-(
04:49:59 <elliott> None of which I know about in the context of Hebrew.
04:50:19 <shachaf> elliott: Medium two-digit number of imports in .ghci
04:50:27 <elliott> shachaf: That's called a problem.
04:50:33 <elliott> You have a problem; try removing it.
04:50:36 <shachaf> The fact that it takes two seconds? I agree.
04:51:01 <SgeoN1> ..pronounce out loud Hebrew text that has vowels...
04:51:20 <elliott> shachaf: No, your imports.
04:51:27 <Patashu> 10 seconds every time it runs, or only when it compiles?
04:51:53 <shachaf> I assume Patashu is talking to CakeProphet.
04:52:19 <elliott> At least that's what the context implied, with Storable.
04:53:05 -!- Jafet has quit (Quit: Leaving.).
04:53:08 <elliott> shachaf: Have a whine: Interning is probably going to lengthen the corpus by quite a bit, because most words are shorter than eight bytes.
04:53:29 <elliott> There are probably fewer than 4 billion words in the corpus.
04:53:59 <elliott> shachaf: The English five-grams.
04:54:20 <elliott> The one-grams are a different matter, there's a shitload of them, but they only include five-grams that occurred at least forty times.
04:54:27 <elliott> So I doubt there's many nonce words :P
04:54:43 <elliott> So I would /expect/ (hope) that a thirty-two bit integer would be enough to identify each word in the corpus.
04:55:09 <shachaf> How do you have all this hard drive space?
04:56:05 <CakeProphet> elliott: I might split my datasets into multiple modules
04:56:12 <CakeProphet> and import them dynamically based on command-line options.
04:56:19 <elliott> Filesystem Size Used Avail Use% Mounted on
04:56:19 <elliott> /dev/sda5 134G 14G 114G 11% /
04:56:29 <elliott> shachaf: I don't, but one terabyte external disks are pretty cheap.
04:56:43 <elliott> shachaf: I already have a nice ~three hundred gig external disk that I can test subsets of the corpus on.
04:57:10 <elliott> -rw-rw-r-- 1 elliott elliott 20M 2011-10-14 03:08 foo
04:57:10 <elliott> -rw-r--r-- 1 elliott elliott 936M 2010-12-25 00:03 googlebooks-eng-all-5gram-20090715-478.csv
04:57:14 <elliott> The former is the reduced version of the latter.
04:57:27 <elliott> The csv (not actually a CSV) has one line per /year/, and useless page/book counts.
04:57:40 <elliott> foo is just a binary form with all the years smushed together and only the full count.
04:57:40 <shachaf> > (compare `on` length) "elliott" "shachaf"
04:57:48 <elliott> Huh? Your name totally looks longer.
04:57:51 <shachaf> Weird. That must be why I keep thinking you're me.
04:58:06 <shachaf> elliott: My name is totally shorter in sane languages.
04:58:33 <elliott> shachaf: That ש looks so unba- AUGH IT CHANGED WHEN I COPIED IT
04:58:38 <CakeProphet> splitting my script into like 24+ modules makes it annoying to port over to hackego.
04:58:45 <fizzie> It does omit non-occurring years completely, yes. (Given that the years start from 1600-something, it'd make for even hueger files otherwise.)
04:58:47 <elliott> DEVIL'S LANGUAGE DEVIL'S LANGUAGE MY COMPUTER IS BREAKING THE LAWS OF LOGIC AUUUUUGH
04:58:51 <CakeProphet> as I'll have to point perl to the directory where the modules are located.
04:58:59 <shachaf> elliott: Welcome to the nightmare of handling RTL languages on most computers.
04:59:09 -!- MichaelBurge has quit (Read error: Connection reset by peer).
04:59:09 <HackEgo> /etc/perl/usr/local/lib/perl/5.10.1/usr/local/share/perl/5.10.1/usr/lib/perl5/usr/share/perl5/usr/lib/perl/5.10/usr/share/perl/5.10/usr/local/lib/site_perl.
04:59:12 <elliott> shachaf: YOUR LANGUAGE IS BROKEN ;_______;
04:59:19 <fizzie> And there certainly seemed to be very many not-really-5grams, though I didn't count them.
04:59:19 <HackEgo> /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .
04:59:33 -!- MDude has changed nick to MSleep.
04:59:41 <elliott> fizzie: Yes, I'm just not sure what to do with them. A lot of them seem to have an extra space signifying an empty word after them (but not more than one space to pad them out fully).
04:59:51 <CakeProphet> yeah I'd have to have some environment variables configured probably... or have all the data modules in bin which is ugly.
05:00:00 <shachaf> elliott: ף is a "final letter". It's only used if it's on the end of a word, otherwise you use פ.
05:00:04 <elliott> fizzie: I can easily process them as less-than-five grams, I'm just not sure what to do.
05:00:20 <CakeProphet> elliott: do you think you could convince Gregor to let me modify the Perl module lookup paths?
05:00:21 <elliott> shachaf: פ is nicer. It's a sane capital letter, just upside down.
05:00:24 <elliott> You know, in real languages.
05:00:28 <elliott> CakeProphet: You can push to @INC.
05:00:59 <fizzie> You can "use lib 'dir';"
05:01:01 -!- pikhq has joined.
05:01:04 <elliott> CakeProphet: What fizzie said.
05:01:06 -!- pikhq_ has quit (Ping timeout: 252 seconds).
05:01:19 <elliott> shachaf: I wonder how mega-slow the babbler will be; it's going to have to do, like, hundreds of seeks, over USB, to produce a single sentence.
05:01:23 <CakeProphet> fizzie: is that the same as pushing to @INC?
05:01:44 <shachaf> elliott: אליוט is shorter, too.
05:01:52 <shachaf> It's pretty much a superior language in every respect.
05:01:59 <shachaf> elliott: http://he.wikipedia.org/wiki/%D7%98%D7%99_%D7%90%D7%A1_%D7%90%D7%9C%D7%99%D7%95%D7%98
05:02:11 <fizzie> Almost. I think there was some subtle difference.
05:02:14 <elliott> shachaf: That page, is, like, backwards.
05:02:19 <elliott> shachaf: Also my name has two "t"s.
05:02:30 <shachaf> Only in redundant languages.
05:02:34 <elliott> Can you duplicate the relevant letters for me, please?
05:02:54 <shachaf> If you have two letters in a row, it's pretty stronly implied that there's a vowel between them.
05:03:07 <shachaf> Vowels aren't usually written, you see.
05:03:13 <elliott> Only if you're dumb. People will totally understand what it means.
05:03:18 <fizzie> Oh, right, it also auto-adds $dir/$arch/ too if $dir/$arch/auto exists. And also versions.
05:03:56 * shachaf doesn't even know what that means.
05:04:09 <elliott> * אלליוטט :Erroneous Nickname
05:04:15 <elliott> Augh, my input field right-aligned when I pasted that.
05:04:18 <fizzie> CakeProphet: Well, it's less silly-looking than BEGIN { unshift @INC, 'dir' }
05:04:20 <elliott> shachaf: That is also an acceptable name for me.
05:04:30 <shachaf> elliott: When are you moving to CA, by the way?
05:04:49 <elliott> shachaf: I do not plan to move to the US.
05:06:07 <CakeProphet> elliott: but the US is such a good country.
05:06:16 <elliott> CakeProphet: It is just too good for me.
05:06:30 <CakeProphet> you can buy pre-sliced roast beef that's /french onion dip/ flavored.
05:07:35 <CakeProphet> also you guys may have this too, but I've seen hotdogs that are /filled with gross processed cheese stuff/
05:07:49 <elliott> shachaf: I am in fact already in the US.
05:08:13 <shachaf> elliott: That's the spirit.
05:08:22 <shachaf> Motivations like that might not get you here to northern CA, though...
05:09:38 <pikhq> America: land of the 3.8L soda.
05:10:35 <pikhq> Apparently 7-11 carries such a thing.
05:10:41 <pikhq> I've not seen anyone go quite that far.
05:10:52 <pikhq> https://upload.wikimedia.org/wikipedia/en/d/d5/Big_gulp6480.JPG This, sure.
05:11:08 <CakeProphet> I know at quiktrip you can get like 48 oz. sodas for a dollar...
05:11:35 <elliott> That's, like, forty eight ounces to the dollar.
05:12:38 <shachaf> elliott: Did you know US pints /= UK pints?
05:12:52 <elliott> I thought you guys didn't use pints. Am I wrong?
05:12:59 <elliott> I guess there's nothing else you could use.
05:13:07 <elliott> Metric is communist, and I don't know of anything else even semi-reasonable.
05:13:18 <elliott> "The imperial version is 20 imperial fluid ounces and is equivalent to about 568 mL, while the U.S. version is 16 U.S. fluid ounces and is equivalent to about 473 mL. Thus the traditional British pint of beer is approximately 20% larger than the American pint."
05:13:20 <shachaf> elliott: Something based on base 12 would be better than metric.
05:13:23 <elliott> See, we UK are more hardy folk.
05:13:28 <elliott> shachaf: You mean like the imperial system?
05:13:50 <elliott> shachaf: You're not one of those Dozenal Society folks, are you?
05:14:26 <elliott> "The DSA has been around since World War II"
05:14:30 <CakeProphet> shachaf: they call themselves that because there's probably only a dozen of them.
05:15:37 <shachaf> elliott: So in _1984_, this person talks about how 1L is too much but 0.5L is too little -- it don't satisfy, as I recall.
05:16:19 <elliott> shachaf: You mean "in _1194_".
05:16:50 <shachaf> elliott: I'm told that balanced ternary > base 12.
05:18:28 * CakeProphet lives about -1-1-1-1-1-1 miles from your house.
05:18:44 <elliott> Distances can't be negative.
05:18:59 <CakeProphet> balanced ternary has -1 as a digit am I right?
05:20:18 <CakeProphet> so balanced ternary is more like binary but where each digit can have a sign that alternates the sign of the resultant number?
05:20:41 <elliott> http://en.wikipedia.org/wiki/Balanced_ternary
05:20:53 <shachaf> elliott: How did you do that?!
05:21:11 <shachaf> You just made this link appear to a page containing relevant information about a topic.
05:21:30 <shachaf> elliott: If only more IRC users had your powers.
05:21:32 <elliott> shachaf: It's because I'm a secret wizard.
05:22:19 <CakeProphet> man the internet takes all the fun out of conversations.
05:24:51 * elliott thinks balanced ternary looks nice.
05:26:02 * shachaf agrees about elliott's face.
05:27:09 <fizzie> They barely have any 2L bottles here :/ -- there are some, but the traditional 1.5L is still far more common.
05:28:01 <CakeProphet> 1.5L is like a new thing in the southeastern US.
05:28:24 <elliott> fizzie: Do you think I should just process them as less-than-five-grams I MUST KNOW.
05:28:39 <elliott> fizzie: (And maybe drop the terminating "empty words"?)
05:30:09 <pikhq> elliott: The US actually uses a bizarre hybrid of US traditional and metric units for fluid measures.
05:30:23 <pikhq> To Americans, liters are entirely meaningful units.
05:31:04 <fizzie> elliott: I don't know; I'd just drop them all for consistency's sake. And also parse that quoting while at it. But it's baaaad that they even are there.
05:31:19 <elliott> fizzie: Is "baaaad" meant to signify Great Badness?
05:31:30 <elliott> fizzie: But anyway, you saw my numbers: it's a whole sixth of one of the files and therefore probably of the whole corpus.
05:33:02 <pikhq> elliott: Bottled soda generally comes in 16 fl. oz, 20 fl. oz, and 2L.
05:33:27 <pikhq> Other available sizes include 12.5 fl. oz, 7.5 fl. oz, 1.25L, and 1.5L.
05:33:38 <pikhq> Oh, and 1L, of course.
05:36:16 -!- GreaseMonkey has joined.
05:36:42 <fizzie> elliott: Sure, but I'd still ignore them, since they're so obviously broken. Though I guess if you're going to take less-than-5 subgrams (not a word) of the other 5-grams too, you could also take those truncated ones.
05:37:04 <elliott> fizzie: Well, I'm doing a reverse-context tree, so...
05:37:21 <elliott> fizzie: I don't suppose you have any idea why there could be so many broken ones? They seem to coincide a lot with punctuation.
05:41:41 <fizzie> All the non-truncated things starting with " seemed to me be things containing " inside, with the inner "s properly escaped by doubling.
05:42:46 <fizzie> Possibly the truncated ones had some other punctuation character which got them split badly. Perhaps you can figure out what would have followed from the context.
05:43:16 <elliott> It's no longer in my backlog.
05:43:24 <elliott> But they did not look that odd.
05:43:43 <elliott> 23:49:34: <elliott> ("\"* The latter ",54)
05:43:43 <elliott> 23:49:36: <elliott> ("\"* Thus ",73)
05:43:43 <elliott> 23:49:43: <elliott> ("\"* that is ",75)
05:43:52 <elliott> That's four words, last word empty.
05:45:36 <fizzie> Well, I don't know. But I'm reasonably certain in those the real first word was plain '*'.
05:46:48 <elliott> There's no terminating quote.
05:47:06 <fizzie> Yes, because it got split along with the rest of the words.
05:47:17 <fizzie> As well as in all the [""" And then I said"]-style non-truncated 5-grams, I'm pretty sure it's trying to mean ["][and][then][I][said].
05:47:27 <elliott> fizzie: Split how? Sorry if I'm being dense.
05:49:11 <CakeProphet> one guy literally told me I would mess up using a join. Like I don't know how it works...
05:49:15 <elliott> CakeProphet: The one person you've quoted so far is also a #haskell op and has sometimes been in #esoteric. :p
05:49:50 <CakeProphet> elliott: I don't remember why I quoted that guy but it wasn't because he was being an asshole.
05:49:57 <fizzie> elliott: I mean it was originally something like ["* The latter "" saints"], representing [*][The][latter]["][saints], in the unbroken dataset, and something broke it.
05:50:08 <CakeProphet> elliott: yeah that was for the purpose of providing context to a question.
05:50:46 <elliott> fizzie: So you think I should basically strip off quotes-as-the-first-character-of-a-first-word-that-is-longer-than-one-character-that-aren't-later-teminated?
05:51:00 <CakeProphet> elliott: I was threatened with a kickban for calling out that guy as being a jerk. :P
05:51:02 <elliott> And then de-escape "" inside.
05:51:54 <CakeProphet> *the guy that said I would improperly use a join
05:52:46 <fizzie> Yes, unless you can find an example of a "-starting string that isn't either (a) properly terminated, with any inner quotes escaped, or (b) less than 5 words and lacking the terminating quote.
05:53:10 <elliott> fizzie: " as the first word alone should be fine, right, because n-grams don't start with spaces?
05:53:28 <elliott> Oh, and I should apply the same treatment to it being the last character of a last word longer than one character that isn't previously terminated.
05:56:46 <fizzie> " as a first word alone could be fine, but I doubt any are in the set; all I saw was """ foo ..., which is the start of an escaped [" foo ...].
05:57:47 <elliott> fizzie: (Why doubt it? Other than that "s seem to be mushed with the word they're stuck to in practice; SIGH.)
05:57:57 <elliott> I don't suppose you know of a less bad corpus.
05:58:27 <CakeProphet> :D :D :D :D :D :D :D :D :D ::D :D :D :D :D D:D :D :D :D : D:D
05:58:32 <fizzie> Oh, so it has [""foo]s too?
05:58:56 <elliott> fizzie: No, it has "foo and bar"s.
05:59:12 <elliott> I suppose you'll tell me those are part of the same quoting nonsense.
05:59:21 <CakeProphet> The unexamined life is not worth living. -- Socrates
05:59:23 <fizzie> All non-doubled dquotes I've seen have been part of the quoting, not the data.
05:59:26 <CakeProphet> I'm not really sure what this quote is supposed to mean.
05:59:31 <elliott> fizzie: It definitely has lines starting """ though:
05:59:33 <elliott> """ "" Tell them nothing"1983333
05:59:35 <CakeProphet> but I don't really agree with it at all and am highly confused when I see it quoted?
06:00:06 <fizzie> Yes: thatms ["]["][Tell][them][nothing] properly quoted.
06:00:19 <CakeProphet> is it saying that there is no point in living if you don't analyze the events of your life, or...
06:00:21 <elliott> fizzie: Like I said, don't suppose you know of a nicer corpus? :p
06:00:32 <CakeProphet> is it saying that your life is worthless if people don't take notice of it and examine it.
06:00:42 <fizzie> Nnno, nothing as large and/or freely available.
06:02:34 <fizzie> You *can* count your own 'grams from Gutenberg, but the texts are predominantly non-modern, and the data is really really messy there too. (There's no consistent standard for the embedded Gutenberg prologues, the metadata often doesn't tell the encoding, and sometimes when it does it's actually a lie.)
06:03:24 <elliott> I've done "bring your own corpus" stuff before.
06:03:43 -!- pikhq_ has joined.
06:06:22 -!- pikhq has quit (Ping timeout: 244 seconds).
06:09:42 <CakeProphet> oh wow, I forgot perl can do labels and gotos
06:11:27 <fizzie> Come to think of it, I don't really know that many text corpora that would be in the form of n-gram counts anyway, since it strictly limits what you can do with it. Usually it's just a large mass of text, and then you can do dependency grammars or whatever with them. Google Books and Google Web are exceptions, possibly because they'd be so unmanageably large otherwise.
06:13:51 <fizzie> Well, assuming 5 as the average length of a token and one character separating each, the Google Books would be "just" two terabytes. Still.
06:14:27 <fizzie> Or I guess that's after dropping all used-less-than-40-times words.
06:14:45 <fizzie> So, uh, multiply that by some smallish integer.
06:17:42 <elliott> fizzie: used-less-than-40-times ngrams, I think.
06:19:06 <fizzie> Words. That calculation was from the unigram total-counts file.
06:19:47 <fizzie> (Sum of second column times six.)
06:21:15 -!- monqy has quit (Quit: hello).
06:22:06 <elliott> fizzie: Supposedly the corpus contains four percent of every book ever published in English.
06:22:33 <fizzie> Actually the count might be a real count of words there, pre-filtering, since they say it's useful for getting the relative (i.e. normalized) frequency of each word. I don't feel like summing up the unigram counts to see if it matches or not.
06:22:58 <CakeProphet> wow perl's import system allows you to completely fabricate non-existent modules.
06:24:10 -!- Sgeo|web has joined.
06:24:12 <Sgeo|web> i = 0x5f3759df - ( i >> 1 ); // what the fuck?
06:24:21 <fizzie> From the same file, (sum of column 2)/(sum of column 4) says that the average book has 109698 words. That sounds reasonable enough, it's very close to the book length on Bartledan.
06:24:44 <CakeProphet> you can place a coderef in @INC that will get run when it's encountered in the import process, and that coderef can optionally return another coderef that generates lines of source code.
06:25:03 <fizzie> "It wasn't even the climax of the book, because there wasn't one. The character died about a third of the way through the penultimate chapter of the book, and the rest of it was just more stuff about road-mending. The book just finished dead at the one hundred thousandth word, because that was how long books were on Bartledan."
06:27:05 <Sgeo|web> Hmm, is And Another Thing any good? (Not DNA, which is why I'm asking)
06:27:30 <fizzie> Haven't read it yet, but "yes and no" is the impression what I've gotten from others.
06:28:06 <fizzie> Maybe I should use one of those quaint book-lending-places, what do you call them... lie-brary? Something like that.
06:28:19 <elliott> It tries too hard to imitate Adams. Colfer is very good, certainly he succeeds at that well, and the book is enjoyable. But in some sense it is still, and inevitably, plasticky.
06:28:45 <elliott> So, read it, but don't expect the sixth book in the trilogy.
06:28:59 <elliott> It's certainly of stellar quality for fanfiction.
06:29:04 <CakeProphet> fizzie: by "others" do you mean elliott. Because I've gotten that impression from others as well.
06:29:25 <CakeProphet> DNA is a pretty cool guy. eh translates to RNA and doesn't afraid of anything.
06:29:25 <elliott> Hey, I last talked about it in '09.
06:30:34 <Sgeo|web> Honestly, I cannot remember the name "Colfer"
06:30:46 <CakeProphet> having a girlfriend. yeah there was like 2 or maybe 3 years where I kind of stopped being an #esoteric regular.
06:30:50 <CakeProphet> and then I came back. aren't you guys glad?
06:31:43 <fizzie> He's the Artemis Fowl guy; those are some seriously shiny books. (As in, physically, the covers, of the ones I saw in the school lie-brary back then.)
06:32:17 <elliott> Sgeo|web: fizzie: I definitely disliked the focus on minor characters like Wowbagger and (ok, not that minor) Random.
06:32:37 <fizzie> SPOILAGE ALERT SPOILAGE ALERT
06:32:55 <lambdabot> Data.Maybe fromMaybe :: a -> Maybe a -> a
06:32:55 <lambdabot> Data.Generics.Aliases orElse :: Maybe a -> Maybe a -> Maybe a
06:32:56 <elliott> Feels like Adams would make up new ones for the job (though I could imagine Random being a focus).
06:33:04 <Sgeo|web> I think if I thought about it for two seconds, I would expect Random to show up. Wowbagger not so much
06:33:09 <elliott> It's in the first few pages.
06:33:14 <lambdabot> Data.Generics.Aliases orElse :: Maybe a -> Maybe a -> Maybe a
06:33:14 <lambdabot> Data.Maybe fromMaybe :: a -> Maybe a -> a
06:33:14 <lambdabot> Control.Applicative (<|>) :: Alternative f => f a -> f a -> f a
06:33:28 <CakeProphet> I guess fromMaybe is like the // of Haskell.
06:33:53 <elliott> fizzie: Sgeo|web: Also the cheat around the last book's ending is cheap and you will groan.
06:34:25 <CakeProphet> oh okay well <|> for Maybe is also kind of like //
06:34:43 <elliott> (Such a perfect ending it was, too.)
06:35:03 <Sgeo|web> > Nothing <|> Nothing -- Just a wild guess, completely chosen from an RNG, but could it be .... NOTHING?
06:35:33 <Sgeo|web> I'm not sure when I'd use this though?
06:35:55 <fizzie> I think fromMaybe is the flip maybe id of Haskell.
06:35:55 <CakeProphet> when you have a Maybe value that you'd like to substitute in the event that another Maybe value is Nothing.
06:36:35 <elliott> Sgeo|web: parseOneFormat x <|> parseAnotherFormat x
06:37:04 <Sgeo|web> That's exactly what I think Parsec uses
06:37:29 <elliott> Sgeo|web: Yes (but no "x", and the Alternative is different.)
06:38:06 <lambdabot> Overlapping instances for GHC.Show.Show
06:38:12 <elliott> Left = Wrong, by standard interpretation.
06:38:29 <CakeProphet> elliott: this is because left is traditionally associated with EVIL
06:38:51 <lambdabot> Overlapping instances for GHC.Show.Show
06:39:07 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
06:39:27 <Sgeo|web> > putStrLn "L.hs is monstrous"
06:40:04 <CakeProphet> wow I really cannot decide what is the best way to fix my car situation.
06:40:49 <CakeProphet> it's quite tempting to go get a new used car but I think I might get more value of putting a /brand new engine/ in my car and getting probably another 150k at least for only $2000
06:41:06 <CakeProphet> but everyone I know IRL is saying that's a bad idea. I DON'T UNDERSTAND CAR LOGIC.
06:42:25 <CakeProphet> Sgeo|web: about my car situation or about Haskell stuff above? :P
06:42:46 <Sgeo|web> As in, why it would be a bad idea
06:42:53 * Sgeo|web knows approximately nothing about cars
06:43:06 <CakeProphet> oh well the explanations usually go like "I wouldn't put a new engine in that car". I suppose the reasoning is that I'm putting a lot of money into the car replacing parts...
06:43:20 <CakeProphet> but like, it's the same difference if I go put all my money into new used cars.
06:44:57 <CakeProphet> one benefit of a new car is potential gas mileage improvement. I found a 1995 Honda Accord for $2000 with 137k miles. That most likely has better mileage than my current Buick Skylark (which gets on average 21 MPG)
06:46:03 <fizzie> Though I think the commonest fuel efficiency number is the other way around; it's litres per hundred kilometres.
06:46:12 <CakeProphet> `run frink 21 miles/gallon -> kilometers/liter
06:46:17 <HackEgo> sh: cannot create kilometers/liter: Directory nonexistent
06:46:29 <CakeProphet> `frink 21 miles/gallon -> kilometers/liter
06:46:38 <HackEgo> 144000/16129 (approx. 8.928017856035712)
06:47:26 <CakeProphet> `frink 21 miles/gallon -> litres/(100*kilometer)
06:47:26 <fizzie> That is the correct result.
06:47:34 <HackEgo> Warning: reciprocal conversion \ 16129/1440 (approx. 11.200694444444444)
06:47:52 <fizzie> It is right, though the warning is sillyish.
06:48:27 <fizzie> If you feed "21 mpg" into W|A, the Corresponding quantities: box has "fuel usage from FU = 1/FC" and gives them as L/100 km, L/km and gal/mi.
06:49:08 <Patashu> `frink 1 light year -> meters
06:49:32 <CakeProphet> http://www.fueleconomy.gov/feg/noframes/11853.shtml so yeah according to this a 95 Accord gets significantly improved gas mileage.
06:49:47 <fizzie> I know so little about cars that it's silly, but I was under the impression that figure should be <10 nowadays.
06:49:47 <Patashu> `frink 1 light year/gallon -> litres/(100*kilometer)
06:49:58 <HackEgo> Warning: reciprocal conversion \ 4.0012688742102696655e-11
06:50:28 <pikhq_> `frink 1 light year/gallon -> square meter
06:50:37 <HackEgo> Warning: reciprocal conversion \ 4.0012688742102696655e-19
06:50:47 <fizzie> "In Europe, the two standard measuring cycles for "litre/100 km" value are "urban" traffic with speeds up to 50 km/h from a cold start, and then "extra urban" travel at various speeds up to 120 km/h which follows the urban test. A combined figure is also quoted showing the total fuel consumed in divided by the total distance traveled in both tests. A reasonably modern European supermini and many mid-size cars, including station wagons, may manage motorway trave
06:50:47 <fizzie> l at 5 L/100 km (47 mpg US/56 mpg imp) or 6.5 L/100 km in city traffic (36 mpg US/43 mpg imp), with carbon dioxide emissions of around 140 g/km."
06:51:19 <Patashu> how does light year/gallon -> square meter preserve units?
06:51:22 <fizzie> I don't know what it means.
06:51:30 <fizzie> Except probably "small".
06:51:42 <Patashu> `frink 1 meter -> square meter
06:51:44 <pikhq_> Patashu: Actually, it doesn't, but only because I fucked it up.
06:51:52 <pikhq_> `frink 1 gallon/light year -> square meter
06:51:53 <HackEgo> Conformance error \ Left side is: 1 m (length) \ Right side is: 1 m^2 (area) \ Suggestion: multiply left side by length \ or multiply left side by area^(1/2) \ \ For help, type: units[length] \ or \ units[area] \ to list known units with these dimensions.
06:52:03 <HackEgo> Conformance error \ Left side is: 0.00039846219030421139204 m^2 s^2 (unknown unit type) \ Right side is: 1 m^2 (area) \ Suggestion: multiply left side by frequency^2 \ or divide left side by time^2 \ \ For help, type: units[frequency] \ or \ units[time]
06:52:07 <pikhq_> `frink 1 gallon/lightyear -> square meter
06:52:18 <HackEgo> 22532213/56313871860600000000000000 (approx. 4.0011834128146076e-19)
06:52:43 <Patashu> it's because gallon is volume
06:52:56 <pikhq_> The square meter is a wonderful unit of fuel efficiency.
06:53:18 <Patashu> except isn't gallon more like a unit of energy
06:53:23 <fizzie> m^-2, which is why it complained about reciprocal conversion.
06:53:42 <Patashu> when we talk about gallons, we normally talk about burning it to do something
06:53:51 <Patashu> thouhg I guess if we go down that alley we have to talk about the efficiency as well and blah blah
06:53:58 <pikhq_> Yes, but a gallon of fuel does not have constant energy content.
06:54:27 <Patashu> if a gallon isn't a constant amount of energy how can you talk about something like 'miles per gallon'?
06:54:33 <Patashu> shouldn't it then be 'miles per joule' or something
06:54:38 <CakeProphet> gallons are not a constant amount of energy, dude.
06:54:44 <pikhq_> It's a ballpark figure.
06:54:51 <pikhq_> We use it because it's a hell of a lot easier to measure.
06:54:53 <Patashu> what do you mean mileage varies depending on circumstances patashu???
06:56:01 <CakeProphet> so yeah if I switch to a 95 accord I'll get roughly 4 extra miles per gallon.
06:56:23 <fizzie> CakeProphet: It's best to go that extra mile.
06:56:28 <CakeProphet> and I found one for $2000, which is actually cheaper than replacing my engine if I consider labor fees.
06:56:43 <fizzie> CakeProphet: So, monowheel.
06:57:01 <fizzie> Didn't I say it? I was going to, but maybe I got distracted.
06:57:10 <fizzie> "Put your money in monowheel; it sounds a bit like money."
06:57:28 <fizzie> It's a wheel. You are in it.
06:57:49 <fizzie> http://www.diseno-art.com/images/mcLean-V8-Monowheel.jpg
06:57:54 <fizzie> You know, that sort of thing.
06:58:23 <fizzie> It's the only thing you can do the "hamster thing" in if you brake too hard.
06:58:23 <CakeProphet> why would you want to ride around in a circle thing.
06:59:57 <CakeProphet> it does appear to have tail lights. but no head lights
06:59:58 <fizzie> Anyway the other one was even better, let me find it. It's
07:00:09 <CakeProphet> or lamps. I believe is how euro people say it. WHY IS OUR CAR TERMINOLOGY ALL DIFFERENT.
07:00:14 <fizzie> Oh yes, the RIOT Wheel.
07:00:25 <fizzie> http://www.theriotwheel.com/
07:01:19 <fizzie> Are you NUTS? Then of course you can buy one. These are prototypes, and so stupidly dangerous, but if you'd have bought a Wright Flyer in 1904, then contact us NOW --"
07:01:30 <CakeProphet> It's an 1100lb motorized single-wheel vehicle, with
07:01:31 <CakeProphet> the driver in front. Why, what does it look like?
07:02:22 <fizzie> "So what's the HOLD-UP??
07:02:22 <fizzie> Yeah, I know. Money, of course: a couple o' medical bills --" -- medical bills, how surprising.
07:03:44 <CakeProphet> "Prediction is hard, particularly of the future." No.
07:04:43 <fizzie> It's a bit like a regular monowheel, except when you brake too hard, instead of you going around and around inside the wheel, the (1100lb) wheel rolls over you.
07:06:06 <CakeProphet> I think they actually designed it to account for that.
07:06:12 <CakeProphet> http://www.theriotwheel.com/Tech_BigPicture.html
07:06:38 <fizzie> But common sense says it's what should happen if you put the guy in front outside the wheel.
07:07:01 <elliott> `addquote <fizzie> It's a bit like a regular monowheel, except when you brake too hard, instead of you going around and around inside the wheel, the (1100lb) wheel rolls over you.
07:07:05 <HackEgo> 709) <fizzie> It's a bit like a regular monowheel, except when you brake too hard, instead of you going around and around inside the wheel, the (1100lb) wheel rolls over you.
07:07:28 <fizzie> Also if you put a solid-enough stone (or curb) on front of the sled, maybe momentum will flip it over.
07:07:35 <HackEgo> 610) <NihilistDandy> Also Perl, but I don't really consider that a programming language so much as a really heavy implementatino of awk
07:07:38 <CakeProphet> they're apparently going to try to beat the speed record for a single-wheeled vehicle.
07:08:00 <CakeProphet> elliott: what did you say to me once about providing context in a quote?
07:08:15 <shachaf> CakeProphet: "don't do it"?
07:08:24 <fizzie> CakeProphet: Yeah, though the page looked exactly the same in 2008 or so, so...
07:08:36 <lambdabot> siracusa says: otherwise `maybe` not $ Just otherwise
07:08:56 <fizzie> "When you context, you make a con out of.. tex.. and T..."
07:19:23 <CakeProphet> the riot wheel actually seems like a much better idea than the monowheel.
07:22:55 <CakeProphet> http://www.gizmag.com/embrio-one-wheel-concept/2350/
07:23:29 <lambdabot> Data.Char digitToInt :: Char -> Int
07:23:29 <lambdabot> Data.ByteString.Char8 count :: Char -> ByteString -> Int
07:23:33 <lambdabot> Data.Char intToDigit :: Int -> Char
07:23:33 <lambdabot> Data.ByteString.Char8 index :: ByteString -> Int -> Char
07:27:28 <CakeProphet> Subroutine references are the simplest case. When the inclusion system walks through @INC and encounters a subroutine, this subroutine gets called with two parameters, the first a reference to itself, and the second the name of the file to be included (e.g., "Foo/Bar.pm"). The subroutine should return either nothing or else a list of up to three values in the following order
07:27:35 <CakeProphet> I wonder why it gets a reference to itself...
07:32:25 <SgeoN1> Dear Chromium: Please stop hero derping
07:40:10 <lambdabot> Not in scope: data constructor `S'Not in scope: data constructor `Sgeo'Not ...
07:49:11 <CakeProphet> another benefit of using multiple modules for the data: adding new modules does not require generating the entire thing again.
07:52:57 <elliott> tmpfs 740M 968K 739M 1% /run
07:52:57 <elliott> none 5.0M 0 5.0M 0% /run/lock
07:52:57 <elliott> none 1.9G 728K 1.9G 1% /run/shm
07:53:04 <elliott> elliott@katia:~/Code/ngrams$ ls /run
07:53:04 <elliott> acpid.pid ConsoleKit dbus lightdm.pid network-interface-security rsyslogd.pid udev upstart-udev-bridge.pid
07:53:04 <elliott> acpid.socket console-kit-daemon.pid dhclient-wlan0.pid lock NetworkManager.pid samba udev-configure-printer utmp
07:53:04 <elliott> atd.pid crond.pid initramfs motd nm-dhclient-wlan0.conf sdp udisks wpa_supplicant
07:53:06 <elliott> avahi-daemon crond.reboot kerneloops.pid mount pm-utils sendsigs.omit.d unattended-upgrades.lock
07:53:09 <elliott> console cups lightdm network pppconfig shm upstart-socket-bridge.pid
07:53:15 <Sgeo|web> Huh. Yesod has a thing that lets it take a Yesod (and perhaps a broader category) site and package it as a desktop application
07:53:57 <Sgeo|web> <elliott> Don't put quotes in my mouth
07:56:01 <CakeProphet> `run perl -e '%x = %y = (); $y{x}=2; print %x,%y;'
07:57:33 <Sgeo|web> It bothers me a bit that "Just trust Google" is a Yesod default
07:57:59 <Sgeo|web> -- And tell us where to find the jQuery libraries. We'll just use the defaults, -- which point to the Google CDN. instance YesodJquery Synopsis
07:58:13 <elliott> Sgeo|web: That's an everything default; it's the official way to use jQuery.
07:58:49 * Sgeo|web nods and backs away slowly at the Google takeover of the web
07:59:21 <Sgeo|web> Seriously, how is that... I mean... why....
07:59:31 <elliott> Sgeo|web: Because Google have tons of servers and browsers can cache it.
07:59:36 <elliott> CDNs are not an uncommon tactic.
07:59:55 <elliott> This is why Yahoo tells you to use their Yahoo API stuff that was quite popular a while back directly from their servers.
08:00:06 <elliott> It avoids downloading the same files seven billion times.
08:00:12 <elliott> And if you think /that's/ how Google's taking over the web, then you're blind.
08:00:36 <elliott> Sgeo|web: Anyway, Google is probably _more_ secure than jquery.org or whatever; how many developers would check the minified version before using it?
08:01:19 <Sgeo|web> Which is weird because I pretty much trust Google with my life at this point
08:01:39 <elliott> I explicitly detailed reasons why Google's trustability /in this case/ is strictly >= jquery.com.
08:02:07 <Sgeo|web> I meant in terms of trusting that Google is not actively malicious >.>
08:02:39 <Sgeo|web> Or maybe you meant even in those terms too
08:02:56 <elliott> Someone exploiting jquery.com is about ten thousand times more likely.
08:03:06 <elliott> But I'm not sure how much you could do with a hijacked jQuery.
08:03:25 <elliott> There aren't special jQuery calls for handling sensitive data; it would be an unwieldy, and _very_ obvious, hijacking.
08:03:30 <elliott> (Anyone using Firebug would spot it instantly.)
08:06:57 <Sgeo|web> "The widget generated contains only the contents of the form, not the form tag itself. So..."
08:07:11 <Sgeo|web> Hmm, weird, I wonder why. Multiple forms in a single form tag?
08:07:47 <elliott> Things like GET/POST/action/encoding are separate from the actual fields.
08:07:54 <elliott> But seriously stop talking about web stuff, it is really boring.
08:09:09 <Patashu> elliott needs to get with the times
08:10:22 <Sgeo|web> Oh god Web 3.0 is an actual existent buzzword
08:11:55 <Patashu> It's increasing at an exponential rate
08:12:03 <Patashu> Soon we'll be talking about web infinity.0
08:12:17 <elliott> Patashu: Like Firefox version numbers!
08:12:18 <Patashu> Or web NaN.0 for those who coded it poorly
08:12:28 <Patashu> Man, now I want a program that's version NaN.0
08:12:48 <shachaf> Version number components aren't floating point numbers.
08:13:11 <Patashu> But some programming languages treat all numbers as floats
08:13:14 <Patashu> (unless you tell them not to)
08:13:18 <fizzie> I don't know what that /run is all about; it looks like the contents of a regular /var/run.
08:13:24 <elliott> Version numbers also aren't numbers.
08:13:40 <shachaf> elliott: I never claimed they were.
08:13:48 <shachaf> <elliott> shachaf: I never claimed you claimed they were.
08:13:49 <elliott> drwxr-xr-x 21 root root 800 2011-10-13 17:52 run
08:13:50 <elliott> The "run" is red, why is it red.
08:13:58 <CakeProphet> elliott: what if version numbers were in maths.
08:14:40 <shachaf> When are you changing your name to Trevor?
08:15:46 <elliott> * trevor :Nickname is already in use.
08:16:08 <shachaf> * elliott :Nickname is already in use.
08:16:31 <elliott> * shachaſ :Erroneous Nickname
08:16:35 <Sgeo|web> All version numbers to be used from henceforth must either have been used previously, or submitted to committee for consideration. Average time for definitive rulings expected to be one year.
08:16:43 <fizzie> ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file <- those are red.
08:16:52 <fizzie> At least in the default dircolors db here.
08:17:13 <elliott> http://books.google.com/ngrams/graph?content=afs&year_start=1750&year_end=2000&corpus=0&smoothing=3
08:17:19 <elliott> I don't like Google's OCR system.
08:17:26 <elliott> http://books.google.com/ngrams/graph?content=fuck&year_start=1750&year_end=2000&corpus=0&smoothing=3
08:17:38 <shachaf> I just ran `rm *` in my home directory
08:17:40 <shachaf> All the non-hidden non-directories are gone.
08:17:55 <fizzie> You're on candid camera.
08:18:51 <elliott> http://multitude.tv/content/view/471/60/
08:19:02 <fizzie> They know about long s, they're just apathetic. ("Why do I see so many misspellings like thif from pre-1800 Englifh books? Use of the medial s.")
08:19:03 <elliott> fizzie: I swear to god, the Google data actually has "f" for the long s in all the historical data.
08:19:10 <elliott> All the old data is completely unusable.
08:20:13 <fizzie> There isn't very much of the old data, though.
08:20:23 <Patashu> typoing on occasion will add realism
08:20:40 -!- SgeoN1 has quit (Read error: Connection reset by peer).
08:21:01 -!- SgeoN1 has joined.
08:22:06 <elliott> fizzie: I SUPPOSE it will all work out but STILL?
08:22:08 <fizzie> http://books.google.com/ngrams/graph?content=efcape%2Cescape&year_start=1750&year_end=2000&corpus=0&smoothing=3 <-- nice crossing there.
08:23:14 <elliott> fizzie: Quite a swift transition, innit.
08:23:34 <fizzie> Also -> http://narf-archive.com/pix/0bedf86c5eff1803888d6e7b8529b3603dedc5a1.jpg <- "By the year 2000" WHERE IS THE FUTURE
08:24:26 <elliott> (When's that from? It almost seems parody.)
08:24:55 <fizzie> I don't know; it was a link. It could be a parody, I suppose; it sounds surprisingly modern for what it pretends to be.
08:25:17 <elliott> The "hovercar" thing is a bit cliche.
08:26:11 <fizzie> Though it's not very different in tune from the not-a-parody "future" articles I've read in the piles of 1970s magazines we had at the summer cottage place.
08:26:15 <CakeProphet> okay so how would I do something like this, but in bash...
08:27:35 <fizzie> It's in that proggit thing, but no background from there either.
08:27:45 <elliott> elliott@katia:~/Code/ngrams$ grep " \"\t" googlebooks-eng-all-5gram-20090715-478.csv
08:27:45 <elliott> elliott@katia:~/Code/ngrams$
08:27:54 <elliott> I /know/ there are properly fully quoted entries.
08:29:22 <elliott> elliott@katia:~/Code/ngrams$ grep '" ' googlebooks-eng-all-5gram-20090715-478.csv | egrep -v '^"'
08:29:22 <elliott> elliott@katia:~/Code/ngrams$
08:29:27 <fizzie> CakeProphet: ${var:+=$var} maybe.
08:29:35 <elliott> fizzie: Strange; the imbalanced-quotes thing seems only to be for the beginnings of the n-grams.
08:29:59 <CakeProphet> as you've explained something similar before.
08:30:03 <fizzie> CakeProphet: No, that's "use the value if $var is unset".
08:30:16 <fizzie> CakeProphet: With + it's "use the value if var is set; empty otherwise".
08:30:33 <fizzie> Well, s/set/non-empty/.
08:30:51 <elliott> fizzie: Be bemused with me.
08:32:08 <fizzie> elliott: It's not surprising space-quote-tab doesn't match, since why would there be a space before the terminating "? But quote-tab should.
08:32:17 <CakeProphet> I wonder if Eng1M is a valid Perl package name.
08:32:23 <elliott> <elliott> elliott@katia:~/Code/ngrams$ grep '" ' googlebooks-eng-all-5gram-20090715-478.csv | egrep -v '^"'
08:32:33 <elliott> fizzie: So /all imbalanced quotes are at the start of the line/.
08:32:37 <elliott> That makes no sense, to me.
08:33:08 <fizzie> elliott: Why not? All imbalanced quotes are produced by somehow terminating the n-gram too early, so they all have the starting quote but lack the ending one.
08:33:32 <elliott> fizzie: Weeell, okay. I'd expect it to get split somehow so that the ending-only one would appear somewhere else, but fair enough.
08:33:39 <elliott> fizzie: There are no escapes apart from "", right?
08:34:11 <fizzie> elliott: I haven't seen any, at least.
08:34:38 <fizzie> It could be that embedded tabs would also be escaped somehow by the same thing that escaped the quotes, but one hopes there weren't any anywhere.
08:35:39 <CakeProphet> hey guys check out my somewhat advanced bash usage: http://pastebin.com/PKeH3Gmm
08:36:21 <elliott> fizzie: Something like "a b c d"" is theoretically possible, isn't it...?
08:36:25 <fizzie> Don't you mean ${2:+=$2} instead of ${2+=$2}?
08:36:30 <elliott> So I can't just strip off the last quote and then change "" into " >_<
08:36:36 <elliott> Because it could be "a b c d""""
08:36:50 <elliott> Doesn't that actually turn out right?
08:37:00 <elliott> CakeProphet: FSVO advanced.
08:37:28 <elliott> CakeProphet: Copied to http://sprunge.us/eiPC.
08:37:51 <elliott> Because I don't like expiring pastes.
08:37:59 <fizzie> elliott: I... uh, suppose. Though I believe (unsubstantiated) that a truncated [a][b][c][d"][something] would appear as ["a b c d"" ] with the trailing space in there. But I'm certainly not sure.
08:38:17 <elliott> fizzie: I mean, to strip off the /closing/ quote.
08:38:20 <elliott> fizzie: For fully-formed things.
08:38:35 <Sgeo|web> Is there a Random monad? Is randoms just commonly used?
08:38:47 <CakeProphet> elliott: hey you can't do that. I have intellectual property rights over that piece of code that I just freely gave to a pastebin site.
08:39:15 <elliott> Sgeo|web: The random functions are a trivial state monad over the RndGen; it's easy to construct your own. But usually it's simpler to thread the generator.
08:39:20 <fizzie> elliott: Yes, but I mean even when a truncated thing ends in an escaped "", I think there'd be a trailing space there, so it wouldn't be the very last character like it is for non-truncated quoted things.
08:39:31 <elliott> randoms is based because you can't return the final generator, so you can't really use it with the IO generator.
08:40:06 <elliott> I keep mixing words with things I'm reading.
08:40:19 <elliott> fizzie: Well, I don't want to risk it. But still, if I do "chop off the last quote and then turn "" into ", leaving lone quotes as they are", that should preserve all quote cases with valid escaping... riiiiiight?????
08:40:38 <CakeProphet> is there any sane way to join two paths in bash?
08:41:04 <CakeProphet> like say $a is foo/bar/ then $a/blah is foo/bar//blah
08:41:23 <CakeProphet> I kind of do, but not enough to worry about it.
08:41:25 <Sgeo|web> "Excuse me! If the user gives us some input here that read can't read (like "haha"), our program will crash with an ugly error message. If you don't want your program to crash on erronous input, use reads, which returns an empty list when it fails to read a string. When it succeeds, it returns a singleton list with a tuple that has our desired value as one component and a string with what it didn't consume as the other."
08:41:26 <elliott> I like how ByteString doesn't even have a simple replace function.
08:41:29 <fizzie> elliott: I suppose. There shouldn't be any lone quotes (or sequence-of-odd-quotes) left, except for the case where you'd accidentally turn a final "" into a single quote.
08:41:36 <Sgeo|web> Um, why a list, instead of a Maybe?
08:41:39 <elliott> Sgeo|web: ambiguous parses
08:42:03 <elliott> fizzie: But that shouldn't matter, because I leave lone quotes alone after stripping off the end.
08:42:12 <fizzie> CakeProphet: ${a#/}/blah if you care.
08:42:17 <shachaf> Sgeo|web: Just define safeRead :: Read a => String -> Maybe a, and then use that.
08:42:18 <fizzie> elliott: Yes, it sounds like it should work all right.
08:42:44 <fizzie> CakeProphet: Uh, sorry, ${a%/}/blah, I mean.
08:42:46 <shachaf> safeRead is optimally defined by using unsafePerformIO to catch the read exception, as elliott will tell you.
08:42:59 <fizzie> (I can never remember how those go.)
08:43:15 <CakeProphet> oh hey look I decided to use greedy patterns because elliott said it was the most common case
08:44:40 <CakeProphet> (no fault of elliott's, I just shouldn't blindly do everything he recommends without actually thinking about what I'm doing)
08:45:03 <CakeProphet> 4 < CakeProphet> (no fault of elliott's, I just shouldn't blindly do
08:45:03 <shachaf> Obey elliott without question.
08:45:18 <fizzie> CakeProphet: $ (a="x"; b="x/"; echo ${a%/}/y ${b%/}/y)
08:45:23 <elliott> > Data.ByteString.breakSubstring "a" "b"
08:45:24 <lambdabot> Not in scope: `Data.ByteString.breakSubstring'
08:47:04 <fizzie> /^--([^=]+)(?:=(.+))?$/ could *possibly* have less backtracking.
08:47:12 * CakeProphet misses the simple days where he just followed his use-non-greedy-by-default rule.
08:47:19 <shachaf> > (BS.breakSubstring `on` BSC.pack) "a" "b"
08:47:23 <CakeProphet> fizzie: ah yes it could be optimized but it's not really a critical section of code.
08:48:24 <elliott> Perhaps I should make some top-level functions.
08:48:39 <elliott> CakeProphet: lern to getopt
08:48:52 <CakeProphet> elliott: wow I feel like an actual prophet right now...
08:48:57 <CakeProphet> can't use getopt in this case, I'm pretty sure.
08:49:40 -!- nooga has joined.
08:49:46 <CakeProphet> because the options designate that the preceding arguments are files that are grouped into the same dataset, up to the next option.
08:49:47 <shachaf> elliott: You're using ByteStrings?
08:49:55 <CakeProphet> maybe that can be done with getopt magic but my code works fine.
08:50:05 <elliott> shachaf: Nothing I do breaks the Unicode.
08:50:09 <elliott> shachaf: Text would merely be added overhead.
08:51:15 <shachaf> elliott: Then what's the meaning of Data.ByteString.Char8? Eh?
08:51:25 <shachaf> What if someone uses a Unicode newline character instead of \n?
08:51:42 <elliott> shachaf: Someone, in this case, is Google. :p
08:51:42 <shachaf> What if they write an integer using a Unicode character?
08:51:56 <CakeProphet> so for example to generate all of the english modules you'd write ./construct_grams.pl --eng-all=EngAll googledata/googlebooks-eng-all*.csv --eng-1M=Eng1M googledata/googlebooks-eng-1M-*.csv --eng-fiction=EngFiction ...
08:52:00 <Sgeo|web> For my purposes, given my inexperience, should I be using Text?
08:52:05 <shachaf> elliott: ...Why B8.last instead of B.last?
08:52:09 <elliott> Sgeo|web: What are your purposes?
08:52:19 <elliott> shachaf: So I can pattern-match on a character literal.
08:52:42 <elliott> degrade: Data.ByteString.init: empty ByteString
08:52:49 -!- ais523 has joined.
08:52:59 <elliott> Sgeo|web: That is not a purpose.
08:53:07 <CakeProphet> the option specifies what the option will be named in the actual word generator script, and the (optional) thing on the other side of the = specifies the perl module to save it to.
08:53:14 <CakeProphet> so it's kind of a non-standard option usage.
08:53:16 <elliott> Then just use Strings, since you never write actual programs.
08:53:47 <CakeProphet> Sgeo|web: Text isn't particularly difficult
08:53:49 <ais523> bleh, too busy at work to do esoprogramming, or even roguelike development
08:54:06 <shachaf> ais523: You develop a roguelike?
08:54:09 <ais523> (I did get a chance to practice my golfing skills when I needed to delete duplicated lines from a file in an emergency)
08:54:13 <ais523> shachaf: AceHack, a NetHack fork
08:54:17 <elliott> shachaf: There are so many of them.
08:54:18 * shachaf feels like we've been through this before.
08:54:20 <ais523> wait, are there other ais523s?
08:54:39 <fizzie> CakeProphet: Personally I'd just make construct_grams.pl always construct a single dataset, and call it as ./construct_grams.pl --option="eng-all" --module="EngAll" googledata/googlebooks-eng-all*.csv
08:55:17 <elliott> fizzie: That lets him run them in parallel, too.
08:56:40 <ais523> elliott: I have found places where someone else had registered ais523, but they're mostly really massive places like AOL
08:57:55 <ais523> so far, callforjudgement has been unique, but I haven't tried it in too many places
08:58:17 <elliott> fizzie: I found the most pathologicalest ngram:
08:58:26 <ais523> (the YouTube account, I don't have access to, but I did create it; YouTube simply decided not to ask me for a password, then created the account, and now I can't log in as it doesn't have a password)
08:58:47 <elliott> fizzie: What, er, do you think that is? The single word "?
08:58:52 <elliott> fizzie: Literal emptiness?
08:59:05 <elliott> ais523: yes it does, it's tied to your google account
08:59:06 <fizzie> elliott: Ugh. I suppose that's [\"][x][y][z][w] with the other four words lost somewhere.
08:59:11 <fizzie> elliott: Was there a space after?
08:59:19 <ais523> elliott: but there was no google account mentioned
08:59:23 <elliott> fizzie: It's, um, hard to check.
08:59:24 <ais523> I don't think I specified an email address
08:59:26 <elliott> ais523: You were logged into one at the time.
08:59:33 <elliott> ais523: Google Account logins are visible from any google site.
08:59:44 <ais523> elliott: you know how paranoid I am with Google cookies, right?
08:59:52 <fizzie> There's a "fizzlefozzle" on ##c, I'm feeling identity-threatened. (I used to be "Fizzle" earlier.)
08:59:55 <ais523> I was using a separate browser with history deleted
09:00:03 <elliott> fizzie: OK, let's try this again.
09:00:10 <CakeProphet> also, I can still run multiple scripts in parallel, I just don't know if I can do that sanely
09:00:18 -!- copumpkin has quit (Ping timeout: 258 seconds).
09:00:21 <CakeProphet> because I also have to update a record of options -> modules
09:00:38 <CakeProphet> and there could be race conditions of some kind.
09:00:44 -!- copumpkin has joined.
09:00:54 <fizzie> There is this thing called advisory file locking.
09:01:06 <elliott> CakeProphet: Dude, you're overcomplicating things.
09:01:13 <elliott> There is no reason generating two models should have any kind of interaction.
09:01:55 <CakeProphet> they have to update their command-line option -> perl module association into some kind of data structure that the script has access to.
09:02:21 <fizzie> They, or you. I wouldn't bother automatating that sort of thing.
09:02:27 <elliott> fizzie: That's literally the entire thing, there's no quotes around it oranything.
09:02:37 <elliott> CakeProphet: Dude, just... write one. It'll be like five lines.
09:02:48 <fizzie> Well, there is a starting quote.
09:03:04 <elliott> fizzie: Yes, but is that the beginning of some escaping, or an actual double-quote token?
09:04:12 <fizzie> Based on what I've seen, the initial quote is a beginning of a ["a b "" c d"] style quoted-because-of-embedded-double-quote ngram; then the [\""] part is just properly escaped [\"] token; and then it has gotten splut, but it would have been followed with [uh oh ruh roh"] or something.
09:04:41 <fizzie> Of course that's still just a guess.
09:05:12 <elliott> fizzie: You are misinterpreting me.
09:05:17 <elliott> fizzie: That was the print-out of the /Haskell string/.
09:05:24 <elliott> In the file, the n-gram portion of that line looks like this:
09:05:52 <elliott> You're going to tell me to just drop it, but I want to know what you think it is first.
09:05:55 <CakeProphet> so now I can rewrite my build script to be parallel.
09:06:01 <elliott> CakeProphet: Just use GNU parallel.
09:06:07 <elliott> It's like xargs, but parallel.
09:06:14 <shachaf> xargs is like xargs, but parallel
09:06:17 <fizzie> Or the parallelllling option of xargs.
09:06:21 <elliott> Well, yes, but parallel is simpler.
09:06:46 <CakeProphet> elliott: what is parallel called in shell?
09:06:55 <elliott> CakeProphet: What? It's called... parallel.
09:06:56 <elliott> http://en.wikipedia.org/wiki/GNU_parallel
09:06:57 <fizzie> elliott: My guess is that it's still a ["a b c d e"] except it has gotten truncated to 0 words this time. But really, who can tell.
09:07:07 <shachaf> And all the other goodies.
09:07:16 <elliott> CakeProphet: moreutils is another thing.
09:07:20 <shachaf> CakeProphet: No, you need xargs
09:07:24 <elliott> parallel is just a shell script; pop it into ~/bin
09:07:27 <elliott> shachaf: parallel also does -0.
09:07:30 <CakeProphet> The program 'parallel' is currently not installed. You can install it by typing:
09:07:31 <shachaf> shachaf@argon:~$ dpkg -S `which parallel`
09:07:31 <shachaf> moreutils: /usr/bin/parallel
09:07:35 <elliott> CakeProphet: That is another parallel program.
09:07:38 <elliott> shachaf: That is another parallel program.
09:07:45 <elliott> shachaf: Does xargs have multi-machine support?
09:07:54 <CakeProphet> um.... so what is parallel called in repos/shell
09:07:56 <shachaf> It has multi-datacenter support.
09:08:12 <elliott> CakeProphet: It's called wget and move into ~/bin
09:08:15 <Patashu> does xargs have botnet support
09:08:18 <elliott> ftp://ftp.gnu.org/gnu/parallel/parallel-20110822.tar.bz2
09:08:54 <fizzie> http://www.gnu.org/software/parallel/ http://www.gnu.org/software/pexec/ GNU the Duplicator.
09:09:47 <shachaf> Did you know the 'f' stands for 'file'?
09:10:01 <fizzie> I always put the compression character in front of the 'x', and everyone thinks I'm all weird for that. :/ :/ :\
09:10:11 <fizzie> (As in, tar zxvf, tar jxvf, and so on.)
09:10:21 <shachaf> xzvf is the One True Order.
09:10:32 <elliott> shachaf: CakeProphet: xf figures it out automatically.
09:10:45 <shachaf> elliott: Only if you're using inferior GNU tools.
09:11:01 <shachaf> Real Programmers type it in by hand.
09:11:07 -!- pikhq has joined.
09:11:08 -!- pikhq_ has quit (Ping timeout: 240 seconds).
09:11:47 <fizzie> Of course Real Tar doesn't have any "z" or "j", so...
09:11:52 <fizzie> "tar: z: unknown function modifier"
09:12:31 <shachaf> You just ignore whichever features don't make you feel superior enough.
09:13:01 <fizzie> Usage: tar {c|r|t|u|x}[BDeEFhilmnopPqTvw@[0-7]][bfk][X...] [blocksize] [tarfile] [size] [exclude-file...] {file | -I include-file | -C directory file}...
09:13:01 <fizzie> gtar: You must specify one of the `-Acdtrux' or `--test-label' options
09:13:01 <fizzie> Try `gtar --help' or `gtar --usage' for more information.
09:13:07 <elliott> `addquote <shachaf> Real Tar is GNU tar. <shachaf> You just ignore whichever features don't make you feel superior enough.
09:13:10 <HackEgo> 710) <shachaf> Real Tar is GNU tar. <shachaf> You just ignore whichever features don't make you feel superior enough.
09:13:20 <fizzie> The first one looks inherently more superior.
09:13:30 <fizzie> It's not trying too much to be friendly and accessible.
09:14:25 <elliott> CakeProphet: By being almost completely unrelated to &?
09:14:52 <elliott> elliott@katia:~/Code/ngrams$ time cabal-dev/bin/degrade googlebooks-eng-all-5gram-20090715-478.csv >bar
09:15:16 <fizzie> elliott: Your impatience is a problem. A day or two is not a problem.
09:15:24 <elliott> fizzie: That's for _one step_.
09:15:28 <elliott> fizzie: It was _eight seconds_ before.
09:15:41 <elliott> Something I messed with now has fiflicated the time it'll take.
09:16:11 <elliott> fizzie: Nine hours is really not very acceptable for the "just clean it up into something vaguely reasonable so that intern can transform it" stag.e
09:16:25 <fizzie> elliott: I don't know, you only have to do it once.
09:16:38 <fizzie> CakeProphet: for k in $space_separated_list; do a_thing_with $k; done.
09:16:40 <elliott> fizzie: Yes, but for something that was going to take an hour...
09:16:44 <elliott> fizzie: Micro-optimising will pay off here.
09:17:45 <shachaf> for k in "${come_on_fizie_bash_has_arrays[@]"; do a_thing_with "$k"; done
09:17:53 * shachaf can't spell without tab completion.
09:19:54 <fizzie> while read col1 col2; do a_thing_with $col1 $col2; done < a_file_with_two_columns, also.
09:20:34 <shachaf> Hmm, no, I can't think of any honest way of finishing that sentence.
09:20:35 <Sgeo|web> There's nothing wrong with using <$> without <*>, right? Even though it's basically a more restricted fma.... well, that would be a reason to use fmap
09:20:46 <shachaf> Sgeo|web: It's not more restricted.
09:21:01 * Sgeo|web might be a little tired right now
09:21:12 <elliott> Sgeo|web is always tired iff he's wrong.
09:21:36 <Sgeo|web> No, it's more like: If I'm wrong, then I'm tired.
09:21:49 <Sgeo|web> Since I'm always tired, I can be either right or wrong
09:22:05 <shachaf> Well, it's pretty much not what you said.
09:22:30 <CakeProphet> so a for loop with parallel should work well yes.
09:22:32 <fizzie> I support the "let's make tires out of him" proposal, yes.
09:22:38 <elliott> CakeProphet: parallel does the for loop for you.
09:22:48 <fizzie> Parallel and/or xargs. :p
09:22:51 <CakeProphet> elliott: but what I meant was that & spawns new processes... which is a form of parallelization right?
09:23:02 * elliott decides to let you figure it out yousrelf.
09:23:35 <CakeProphet> ah okay I missed the ... on the end of parallel usage string
09:23:46 <CakeProphet> but then.... how does it differentiate between commands and arguments.
09:24:00 <elliott> fizzie: See, that's why it was so slow: I had a major bug.
09:24:41 <shachaf> CakeProphet: It just splits whenever it sees an argument equal to "cat".
09:24:54 <elliott> "therapeutialliance"? Some word.
09:25:15 <shachaf> It'll cat a file called "ls".
09:25:53 <CakeProphet> okay well then I still want a for loop to construct the arguments to parallel I think.
09:26:16 <fizzie> Just pipe the arguments into it; that's what I'd do.
09:26:57 <CakeProphet> (Note: it's getting late, my brain starts to shut down and I become more dense than usual)
09:27:20 <fizzie> Just look at the parallel examples.
09:27:37 <fizzie> I don't know what exactly you want to do with it, after all.
09:28:13 <elliott> unescape Main 121 7781622 4.1 1.7 4.1 1.7
09:30:08 <elliott> parse Main 107 31149605 39.3 52.5 65.3 84.1
09:30:08 <elliott> clean Main 109 52212026 2.7 3.5 6.9 5.2
09:30:08 <elliott> unescape Main 121 7781622 4.1 1.7 4.1 1.7
09:30:08 <elliott> splitTab Ngram 108 88837691 19.1 26.4 19.1 26.4
09:30:12 <elliott> I guess I should optimise splitTab?
09:30:26 <elliott> splitTab :: ByteString -> (ByteString, ByteString)
09:30:26 <elliott> splitTab b = (B.take n b, B.drop (n+1) b)
09:30:26 <elliott> where Just n = B8.elemIndex '\t' b
09:31:41 <elliott> elliott@katia:~/Code/ngrams$ time cabal-dev/bin/degrade googlebooks-eng-all-5gram-20090715-478.csv >/dev/null
09:31:46 <elliott> Hokay, splitting is definitely quite slow for some reason.
09:32:58 <fizzie> CakeProphet: E.g. something like this:
09:33:05 <fizzie> $ parallel -n 2 echo ./doit.pl <<ARGS
09:33:05 <fizzie> ./doit.pl --eng-all EngAll
09:33:05 <fizzie> ./doit.pl --eng-blah EngBlah
09:33:06 <lambdabot> not an expression: `--eng-all EngAll'
09:33:06 <lambdabot> Not in scope: data constructor `ARGS'
09:33:06 <lambdabot> not an expression: `--eng-blah EngBlah'
09:33:23 <fizzie> (Obviously without the "> "s, those are just the interactive prompt of "please continue".)
09:34:03 <fizzie> You may need to do something else if you want a globbed list-of-files in there, though.
09:34:07 -!- ais523 has quit (Remote host closed the connection).
09:34:51 <elliott> This is very, very annoying.
09:35:09 <CakeProphet> fizzie: couldn't I just construct a list of options separated by newlines or something?
09:37:14 <fizzie> $ while read opt mod fglob; do echo --option=$opt --module=$mod $fglob*; done <<ARGS | parallel echo ./doit.pl
09:37:15 <fizzie> > eng-blah EngBlah blah-
09:37:15 <fizzie> ./doit.pl --option=eng-all --module=EngAll all-1 all-2 all-3
09:37:16 <lambdabot> Not in scope: data constructor `ARGS'
09:37:16 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
09:37:16 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
09:37:16 <fizzie> ./doit.pl --option=eng-blah --module=EngBlah blah-1 blah-2
09:38:51 <elliott> CakeProphet: It's kind of your fault that your tool is awkward to script.
09:39:44 <CakeProphet> next time I'll magically forsee this situation.
09:39:55 <CakeProphet> and other situations that I have no knowledge of.
09:40:04 -!- oerjan has joined.
09:42:07 <CakeProphet> as I took elliott's advice and will just manually upkeep the options
09:42:29 <elliott> It looks completely and utterly wrong.
09:42:35 <elliott> I'll let fizzie tell you how.
09:43:10 -!- GreaseMonkey has quit (Quit: The Other Game).
09:43:57 <fizzie> At the very least you should be piping the arguments into parallel (and it's lacking the command to run with those arguments); or I think there's some sort of ::: syntax to take them from the command line too, but still.
09:44:05 <oerjan> well, canadian-english-insane looks a bit redundant.
09:45:01 <fizzie> Oh, the command is in the x_opt() already. Well, that works too.
09:45:06 <CakeProphet> fizzie: it seems that according to the man page you can just intersperse arguments with commands?
09:45:12 <fizzie> (Without a command line it'll execute each input line.)
09:45:15 <elliott> littleSplit :: ByteString -> [ByteString]
09:45:15 <elliott> littleSplit b = [first,second,third,fourth,fifth]
09:45:15 <elliott> where (first, b') = (B.take n b, B.drop (n + 1) b)
09:45:15 <elliott> where n = fromMaybe 0 (B8.elemIndex ' ' b)
09:45:15 <elliott> (second, b'') = (B.take n b', B.drop (n + 1) b')
09:45:16 <elliott> where n = fromMaybe 0 (B8.elemIndex ' ' b')
09:45:18 <elliott> (third, b''') = (B.take n b'', B.drop (n + 1) b'')
09:45:20 <elliott> where n = fromMaybe 0 (B8.elemIndex ' ' b'')
09:45:22 <elliott> (fourth, b'''') = (B.take n b''', B.drop (n + 1) b''')
09:45:24 <elliott> where n = fromMaybe 0 (B8.elemIndex ' ' b''')
09:45:25 <fizzie> CakeProphet: Which 'parallel' is this, the moreutils or the GNU one?
09:45:26 <elliott> (fifth, _) = (B.take n b'''', B.drop (n + 1) b'''')
09:45:28 <elliott> where n = fromMaybe 0 (B8.elemIndex ' ' b'''')
09:45:31 <elliott> fizzie: More importantly, he has a bunch of commands with no delimiters, unquoted.
09:45:44 * elliott waits for oerjan to scream.
09:45:56 <CakeProphet> parallel doesn't seem to specify that I need to delimit or quote anything
09:46:22 * elliott lets fizzie express his scepticism for him.
09:46:29 <fizzie> CakeProphet: Well, going by http://www.gnu.org/s/parallel/man.html#synopsis I think you should either paste or separate by other means.
09:47:14 <CakeProphet> the ... seems to suggest that I can repeat the [command [arguments ...]] pattern...
09:47:56 <elliott> shachaf: I wish the English corpus was only forty megs.
09:48:05 <elliott> shachaf: That's the one good thing about your language.
09:48:16 <fizzie> CakeProphet: It doesn't suggest that to me, but I've just been using xargs.
09:48:17 <shachaf> elliott: It's because Hebrew is more compact.
09:48:25 <elliott> CakeProphet: You could just generate a bunch of arguments, and then | parallel ./foo.pl, dude.
09:48:30 <shachaf> elliott: Translate book from English to Hebrew => They get shorter.
09:48:40 <elliott> Whaaat, my unrolled loop slowed my code down.
09:48:50 <CakeProphet> elliott: I was trying to use as much of my existing code as possible.
09:49:02 <oerjan> pesky vowels, who needs them
09:49:03 <elliott> CakeProphet: It's three lines. You barely have any code.
09:49:19 <fizzie> CakeProphet: What I'd do is (gb_opt eng-1M Eng1M; gb_opt eng-all EngAll; gb_opt eng-fiction EngFiction; ...) | src/parallel
09:49:40 <elliott> fizzie: Yes, that also works.
09:49:45 <elliott> fizzie: But use {} instead of (), please.
09:50:18 <elliott> fizzie: I'm wondering if I perhaps imagined this thing taking eight seconds.
09:50:36 <fizzie> elliott: Maybe. It took over a minute for my Perl script, and everyone knows Perl is the fastest thing.
09:50:46 <elliott> fizzie: Oh, wait, no, I distinctly felt superior because ha ha, mine only took eight seconds.
09:51:08 <CakeProphet> help what is () and {} with semicolon delimited list of commands.
09:51:16 <fizzie> CakeProphet: (a; b; c) is just "execute a, then b, then c in subshell"; and elliott is right, {a; b; c} would probably be better.
09:51:27 <elliott> Bit of a wart there; you need the final semicolon.
09:51:40 <fizzie> And whitespace, I think.
09:51:40 <elliott> But on multiple lines it's swell:
09:52:03 <elliott> CakeProphet: I would pass along the arglist to parallel.
09:52:04 <fizzie> Certainly you can pipe the output of a command.
09:52:19 <elliott> CakeProphet: Then you can specify things like job limit, etc.
09:52:55 <CakeProphet> I have no idea what "pass along the arglist to parallel" means.
09:53:09 <fizzie> The arguments to your script, perhaps.
09:53:26 <fizzie> The thing that you pasted.
09:53:45 <fizzie> So that you can call "./build_all.sh -j 4" or something to make it run four jobs in parallel.
09:53:59 <elliott> | parallel "$@" should do it.
09:54:00 <fizzie> Though you'd need to shift that optional $1 out in that case.
09:54:22 <oerjan> > take 5 . map (take 4) . iterate (drop 5) $ "abcdefghijklmnopqrstuvwxyz"
09:54:37 <oerjan> > take 5 . map (take 4) . iterate (drop 5) $ "abcdefghijklmnopqrstuvwxyz"
09:54:40 <lambdabot> ["abcd","fghi","klmn","pqrs","uvwx"]
09:55:10 <fizzie> Just add a "shift" command somewhere. (After the D=... part.)
09:55:26 <fizzie> It does mean you'd need to "./build_all.sh . -j 4" to pass arguments to parallel, though.
09:55:52 <fizzie> If you don't feel like it, you can just stick whatever parallel args you want right in the script.
09:55:56 <elliott> CakeProphet: It should probably just not take a directory.
09:56:14 <elliott> CakeProphet: You can just use "cd".
09:56:30 <CakeProphet> elliott: no I need the current directory elsewhere.
09:56:49 <elliott> Seriously? It's not that big.
09:57:08 <CakeProphet> I've only got like 70 gigs left on my laptop anyway.
09:57:29 <elliott> CakeProphet: See, those of us in the _serious_ n-gram business have to buy two-terabyte disks to store all our data files.
09:57:42 <elliott> And max out our connections for two days to get the data.
09:57:57 <fizzie> 8.0T 3.9T 4.1T 49% /fs/project/puhe
09:57:57 <fizzie> desmond:/scratch/users/htkallas
09:57:57 <fizzie> 11T 9.0T 2.0T 83% /fs/scratch/users/htkallas
09:58:18 <fizzie> They recently expandated it a bit.
09:58:21 <elliott> fizzie: All them Hitchhikers books, eh?
09:58:37 <fizzie> Of course there's quite a lot more than one user too, so per-user it's not really very much.
09:59:04 <elliott> fizzie: Incidentally, how long does a seek over USB to a presumably-five-four-hundred-rpm mechanical hard disk take these days?
09:59:17 <fizzie> (Also despite how the per-user automounts make it look, it's not exactly a 11T-disk-for-each-user.)
09:59:50 <fizzie> I don't know, but I don't think USB latency is very much compared to the actual seek time of the disk.
10:00:24 <elliott> fizzie: I have no idea how many I'll need to do per sentence.
10:00:38 <elliott> CakeProphet: Yes, except you have ridiculous duplication there.
10:00:47 <elliott> You could do the gb_opt and d_opt things in a for loop.
10:01:08 <elliott> } | parallel "$@" perl ./construct_grams.pl {}
10:01:11 <elliott> gb_opt() { echo perl ./construct_grams.pl --${2:-$1} $D/googlebooks-$1-*.csv; }
10:01:11 <fizzie> CakeProphet: Either "./construct_grams.pl" in x_opt() or on the parallel command line, not on both.
10:01:11 <elliott> d_opt() { echo perl ./construct_grams.pl --${2:-$1} /usr/share/dict/$1; }
10:01:19 <elliott> Yeah, I'd remove it from the _opt functions.
10:02:07 <CakeProphet> okay so how would I pipe a for loop into parallel. I'd have to use something like read right?
10:02:21 <fizzie> for ...; done | parallel?
10:03:18 * elliott wonders if he's reporting /r/haskell trolls too much.
10:03:20 <CakeProphet> and because some options have second arguments and others don't
10:03:23 <elliott> shachaf: Am I reporting /r/haskell trolls too much?
10:03:38 <shachaf> elliott: How should I know?
10:03:43 <elliott> shachaf: You're the expert.
10:03:45 <shachaf> I don't usually read /r/haskell.
10:03:52 <shachaf> Do there exist trolls there?
10:04:12 <CakeProphet> because I don't know how to do shit in bash.
10:04:37 <fizzie> CakeProphet: Should canadian-english-insane also have a module name? All the other dashful ones do.
10:04:45 <fizzie> (Or is that 'dashing'?)
10:05:15 <elliott> shachaf: Well, one guy has been trying to argue with me that, because his original post was to be interpreted as formal logic with a very torturous interpretation and not Haskell, his blatantly inflammatory "the only reason to learn Haskell is intellectual curiosity, only" comment was actually just saying close to nothing at all, and all my days of telling him that no, Visual Basic isn't better than Haskell in any way, and his "all that matters i
10:05:15 <elliott> s what the customer wants!!" argument is fallacious, were completely wasted.
10:05:22 <elliott> (As opposed to the 99 percent wasted I went in expecting.)
10:05:29 <elliott> The first slide says Haskell is uniquely suited to help build programs from composable parts. How are classes in OOP languages not similar?
10:05:31 <elliott> And please, it's not a troll question. Please discuss with constructive arguments.
10:05:33 <augur_> elliott: "would whoever's milk shake is bringing all the boys to the yard please stop it"
10:05:39 <augur_> if good, what does it mean
10:05:42 <elliott> augur_: Milkshake is one word.
10:05:49 <elliott> augur_: It's certainly hard to read.
10:05:55 <elliott> augur_: But it is amusing.
10:05:59 <augur_> ok and what does it mean
10:06:02 <CakeProphet> fizzie: it could also stand to have a shorter option name but that would complicate my script somewhat.
10:06:10 <augur_> "would whoever's milkshake is bringing all the boys to the yard, please stop it"
10:06:28 <elliott> augur_: It is a request that the person P s.t. P's milkshake is bringing all the boys to the yard, to please stop their milkshake bringing all the boys to the yard.
10:06:40 <elliott> That doesn't parse, but anyway.
10:06:54 <augur_> everyones saying that. its amazing.
10:07:09 <augur_> it sounds perfectly fine to me, meaning only that, and i cannot see how that can work
10:07:18 <elliott> shachaf: But the /r/haskell mod just came back like a few weeks ago to tell us he'd be more strictly enforcing the deletion of trolling and promoted copumpkin and some others to mod status :-(
10:07:18 <augur_> well i mean, i can see exactly how it can work but
10:07:35 <elliott> augur_: I keep wanting to say that "whoever" should be "whomsoever".
10:07:39 <elliott> It just... seems to read better like that.
10:07:45 <augur_> elliott: well thats fine
10:07:46 <elliott> Like you're obscuring the nonsense with formality.
10:08:08 <augur_> also shachaf knows what i perceive better than i do
10:08:20 <shachaf> It only works for Internet people.
10:08:43 <Sgeo|web> liftM = fmap except different types BLARGH
10:09:01 <elliott> Sgeo|web: What would you have preferred happen?
10:09:10 <CakeProphet> fizzie: I don't think this script is working correctly.
10:09:14 <lambdabot> forall a1 r (m :: * -> *). (Monad m) => (a1 -> r) -> m a1 -> m r
10:09:34 <shachaf> class Monad extends Functor {
10:09:52 <elliott> Sgeo|web: Functors were not around when liftM was invented.
10:09:55 <augur_> Sgeo|web: i suspect that liftM has laws that map doesnt have
10:09:58 <oerjan> elliott: whomsoever is _wrong_ there, dammit.
10:10:10 <CakeProphet> fizzie: yeah so the script ends very quickly and nothing happens for some reason.
10:10:10 <fizzie> CakeProphet: Put an "echo" before the "perl" on the parallel command line and check what's it doing.
10:10:19 <oerjan> whom is _not_ a catchall replacement for who
10:10:30 <elliott> Sgeo|web: So you'd have just removed liftM and broken all the code in existence?
10:10:49 <elliott> Sgeo|web: I take it you'd do the same for ap when Applicative popped up even more recently (like six, seven years ago)?
10:10:49 <CakeProphet> oerjan: whomse English are we speaking? can I speak to the owner?
10:11:13 <elliott> I'm so glad we live in a world of slightly redundant functions being exported rather than a world in which nobody codes Haskell because they keep fucking breaking it.
10:11:41 <shachaf> They keep breaking it *and* there are slightly redundant functions being exported.
10:11:48 <shachaf> Also, fmap can be more efficient than liftM, I believe.
10:11:49 <CakeProphet> is it just supposed to work in the background?
10:11:59 <CakeProphet> or does it terminate when every parallel job terminates?
10:12:11 <fizzie> CakeProphet: By default it will wait until all the commands have been run.
10:12:15 <shachaf> http://www.haskell.org/pipermail/haskell-cafe/2006-November/019190.html
10:12:30 <CakeProphet> fizzie: oh well they finish way too fast for some reason... hmmm it may be an issue with my script
10:12:59 <Sgeo|web> Why not, in some library, do instance (Functor a) => Monad a where...
10:13:02 <fizzie> You could try running one of the lines the 'echo' printed out manually.
10:13:09 <elliott> Sgeo|web: Because that (a) doesn't do what you want, and
10:13:14 <Sgeo|web> instance (Monad a) => Functor a....
10:13:15 <elliott> shachaf: It's not even overlapping.
10:13:18 <elliott> shachaf: it just doesn't work.
10:13:23 <shachaf> elliott: I meant what Sgeo|web meant.
10:13:47 <shachaf> However, in GHC 7.4, I hear they might be able to do it.
10:14:02 <elliott> shachaf: They're adding a Prolog interpreter?
10:14:02 <shachaf> Anyway, somethign about default implementations given constraints, or something like that.
10:14:15 <elliott> shachaf: That's already in, for methods:
10:14:31 <elliott> class Foo a where foo :: a -> (); default foo :: (Show a) => a -> (); foo a = show a `seq` ()
10:14:56 <shachaf> In that case, what's stopping them from adding it?
10:14:57 <oerjan> <Sgeo|web> instance (Monad a) => Functor a.... <-- overlapping, which means it would make it impossible to define Functors that were not Monads
10:15:07 <elliott> shachaf: Because you'd still need an empty "instance Functor M" line for every M.
10:15:18 <fizzie> CakeProphet: Weird; in that case I'd expect it to work. You could try adding something like die join(" ", map { "[$_]" } @ARGV); at the beginning of the Perl script to see exactly what the arguments are.
10:15:33 <fizzie> (And whether there's any difference in running it manually or by parallel.)
10:15:38 <elliott> http://www.willamette.edu/~fruehr/logos/PNGs/RealHackers.png Oh man, 2006, so wild.
10:16:09 <elliott> fizzie: What if I just didn't parse the quotes?
10:16:15 <CakeProphet> fizzie: hmmmm it seems to be passing in the arguments as a single argument?
10:16:23 <CakeProphet> Constructing manx /usr/share/dict/manx dataset...
10:16:24 <shachaf> elliott: Oh. Well, there was some way they were going to add it.
10:16:30 <elliott> CakeProphet: Well, it works like xargs.
10:16:34 <elliott> CakeProphet: It bundles up arguments and all.
10:17:00 -!- derdon has joined.
10:17:33 <Sgeo|web> Ooh, how about an AutoMonadToFunctor class, empty of functions, and instance (Monad a, AutoMonadToFunctor a) => Functor a
10:17:40 <Sgeo|web> So that lazy monad writers can just do
10:17:47 <elliott> CakeProphet: I'll let fizzie tutor you in basic xargs use.
10:17:57 <Sgeo|web> instance AutoMonadToFunctor MyMonad where...
10:17:59 <shachaf> Sgeo|web: The issue is old code.
10:17:59 <elliott> Sgeo|web: Lazy monad writers can just do instance Functor M where fmap = liftM.
10:18:06 <shachaf> Sgeo|web: And what elliott said.
10:18:09 <oerjan> Sgeo|web: still overlapping. only the part to the right of => counts.
10:18:13 <elliott> Sgeo|web: And instance Applicative M where pure = return; (<*>) = ap
10:18:32 <Sgeo|web> elliott: fair enough. oerjan, o.O
10:18:44 <elliott> Sgeo|web: GHC does not embed a complete constraint solving algorithm.
10:18:48 <Sgeo|web> I should go eat dinner... at 6:18 AM
10:19:09 <Patashu> GHC should be able to solve my calculus homework
10:19:16 * shachaf votes for Oleg to replace SPJ.
10:19:22 <elliott> Patashu: The type-system is TC these days.
10:20:33 <CakeProphet> elliott: erm will learning basic xargs usage magically not pack all the arguments into $ARGV[0]?
10:20:53 <elliott> You use the word "magically" a lot.
10:21:52 <CakeProphet> is there a way I could magically not do that magically?
10:24:29 -!- ais523 has joined.
10:24:44 <ais523> what does it say about me that I checked to see if I could connect to Freenode to see if I was online?
10:24:57 <ais523> opening IRC is more convenient than connecting a web browser
10:25:06 <ais523> and the firewall here blocks pings, so I can't just ping Google or something to check
10:25:21 <elliott> CakeProphet: an xargs interface makes irrelevant how many processes are pinged
10:25:29 <elliott> it is meant to be used on a tool s.t. f x; f y == f x y
10:25:39 <elliott> you need to specify options if you want a shell interpretation.
10:25:51 <elliott> CakeProphet: You could just re-add the perl things and remove the rest of the parallel line.
10:25:59 -!- copumpkin has quit (Ping timeout: 248 seconds).
10:26:03 <elliott> shachaf: Except he has multiple arguments on a line.
10:26:23 -!- copumpkin has joined.
10:26:27 <shachaf> Oh, well, just pipe them to sh -c.
10:26:54 <fizzie> CakeProphet: -m will just add multiple lines' worth of arguments. The easy way to have a shell interpret and word-split it is to use parallel -q sh -c "perl foo.pl {}" in place of parallel perl foo.pl {}
10:27:01 <fizzie> There might be some useful options too for all I know.
10:27:07 <elliott> And include the "perl foo.pl" in the lines.
10:27:14 <fizzie> That is also possible, yes.
10:27:23 <fizzie> But you yourself said it's cleaner that way. :p
10:28:03 <fizzie> Anyway, also ... | sed -e '/^/perl foo.pl /' | parallel for the truu sed user.
10:28:23 <elliott> CakeProphet: You should have set a job number other than 9.
10:28:32 <elliott> Even for that much IO-boundness it's likely not going to perform well like that.
10:28:34 <CakeProphet> but I'm using %100 CPU all the time compared to the 25% or so I was using before
10:28:49 <fizzie> I think by default it runs as many parallel tasks as there are cores.
10:28:55 <elliott> fizzie: I thought it was 9.
10:29:07 <elliott> CakeProphet: It serialises the output
10:29:08 <elliott> CakeProphet: It serialises the output.
10:29:14 <fizzie> CakeProphet: It buffers the output so that it can then spew it out in the correct order.
10:29:23 <fizzie> There's an "immediate-output" option if you don't mind getting it mixed.
10:30:31 <fizzie> There are so many of them. 'xargs' got the feature added; then there's GNU parallel, GNU pexec, and that other parallel. Everyone keeps solving the same thing.
10:30:36 <Patashu> http://web.archive.org/web/20090106022617/http://www.forteanbureau.com/sept2004/Schoffstall/printerfriendly.html
10:30:42 <Patashu> what does 'We were unable to get the robots.txt document to display this page.' mean
10:30:45 <fizzie> ("then" is not trying to imply any sort of chronological order.)
10:30:55 <elliott> http://www.forteanbureau.com/robots.txt
10:31:24 <elliott> Patashu: Right, probably it barfs on that.
10:31:29 <Patashu> does that mean that, since there's no url forteanbureau.com with a robots.txt on it, it can never retrieve a cached page for me ever????
10:31:37 <Patashu> I don't have a saved copy of that page
10:31:45 -!- pikhq has quit (Ping timeout: 245 seconds).
10:31:46 -!- pikhq_ has joined.
10:31:49 <elliott> Patashu: Just call them up and ask for a copy.
10:33:05 <CakeProphet> if my laptop were sitting on my bed at max CPU usage I would have already disconnected...
10:33:38 <elliott> Patashu: I meant the archive.org folks, but that sounds even more plausible.
10:33:58 <CakeProphet> really the extra fans don't do much, but the fact that there's airflow beneath it allows the laptop fan to do its thing.
10:34:34 <CakeProphet> but I guess the extra fans help too. especially on max speed.
10:36:40 <CakeProphet> I've read that hyperthreading is inefficient. I wonder if that's why I've had overheating problems.
10:37:20 <elliott> Hyperthreading is not inefficient.
10:37:40 <elliott> CPU speed so significantly outweighs speed of communications with everything else that it's almost as good as having another core.
10:37:50 <ais523> wow, it seems that I can send over 100 emails in a few seconds and still end up with a negative spam score
10:38:02 <fizzie> All the air is getting tangled in those hyperthreads and that's why it overheats.
10:38:09 <elliott> ais523: what did you do...
10:38:32 <oerjan> elliott: he just writes that interesting emails
10:39:12 <ais523> elliott: my automated marking script sends a summary of the reasons for its marks, to everyone it marked, every week
10:39:47 <ais523> it's a bit of a testament to Perl that I learnt to use Email::Sender::Transport::SMTP::Persistent in less than an hour
10:40:04 <fizzie> That's one long module name.
10:40:16 <elliott> Yes, that's also a testament to Perl.
10:41:05 <elliott> fizzie: I'm really annoyed that there's a five-times performance impact that I can't explain.
10:41:25 <ais523> fizzie: it's a little long for Perl, and a little short for Java
10:42:52 <elliott> ais523: hi, I'm spending effort and money on n-grams again
10:49:10 -!- copumpkin has quit (Ping timeout: 258 seconds).
10:49:48 <fizzie> eShipment::Purolator::WSDL::Interfaces::ServiceAvailabilityService::ServiceAvailabilityServiceEndpoint
10:50:06 <fizzie> aWebService::Edgecast::auto::MediaManager::Interface::EdgeCastWebServices::EdgeCastWebServicesSoap
10:50:07 <fizzie> Microsoft::AdCenter::NotificationManagementService::ApproachingCreditCardExpirationNotification
10:50:40 <fizzie> Those were some of the longest module names from ~/.cpan/Metadata; disregard the few spurious leading lowercase letters.
10:50:52 <fizzie> eBay::API::XML::Call::AddTransactionConfirmationItem::AddTransactionConfirmationItemRequestType is also pretty long.
10:51:04 -!- copumpkin has joined.
10:51:21 <fizzie> eBay::API and Microsoft::AdCenter dominate the top-50.
10:51:27 -!- elliott_ has joined.
10:51:33 <fizzie> Oh, but Universe::ObservableUniverse::Filament::SuperCluster::Cluster::Group::Galaxy::Arm::Bubble::InterstellarCloud::SolarSystem::Earth is the winner.
10:51:53 <ais523> please tell me that's a joke
10:51:55 <fizzie> http://search.cpan.org/~jkutej/Universe-Galaxy-0.03/lib/Universe/ObservableUniverse/Filament/SuperCluster/Cluster/Group/Galaxy/Arm/Bubble/InterstellarCloud/SolarSystem/Earth.pm
10:52:00 <ais523> I strongly suspect it's a joke from the name
10:52:06 <fizzie> And it quacks like a joke.
10:53:09 <ais523> indeed, it only has two methods: ultimate_answer which always returns 42, and AUTOLOAD which always returns "Mostly harmless"
10:54:04 <elliott_> fizzie: Oh, I think I know what was meant to take eight seconds:
10:54:05 <fizzie> "SEE ALSO: aliased", presumably because the name is tad on the long side.
10:54:07 <elliott_> elliott@katia:~/Code/ngrams$ time cabal-dev/bin/intern foo >/dev/null
10:54:15 -!- elliott has quit (Ping timeout: 245 seconds).
10:54:35 <elliott_> fizzie: I guess my micro-optimisation can't hurt much, though.
10:55:29 <elliott_> ?hoogle (a -> Bool) -> [a] -> [a]
10:55:30 <lambdabot> Prelude dropWhile :: (a -> Bool) -> [a] -> [a]
10:55:30 <lambdabot> Prelude filter :: (a -> Bool) -> [a] -> [a]
10:55:31 <lambdabot> Prelude takeWhile :: (a -> Bool) -> [a] -> [a]
10:55:33 <elliott_> (Looking for something precomposed with not.)
10:55:43 <Patashu> I emailed both clockpunkstudios and archive.org about it in the end
10:55:48 <Patashu> The more people I complain to the more likely it is to be solved
10:58:20 -!- Phantom_Hoover has joined.
10:59:54 <elliott_> I guess this is as far as it goes.
11:00:55 -!- ais523 has quit (Ping timeout: 245 seconds).
11:02:38 <elliott_> fizzie: I sure wish the ngrams came pre-reversed.
11:03:09 <CakeProphet> I learned today that you can also write ${Module Name Goes Here var}
11:04:04 <elliott_> Phantom_Hoover: This isn't Strax, you buffoon.
11:05:02 -!- ais523 has joined.
11:05:40 <elliott_> Phantom_Hoover: strax isn't an n-gram project yyou just totally made that up.
11:09:02 <ais523> list of possible errors that my marking script can produce that nobody's triggered yet: message too long; message cannot be parsed as MIME; message submitted for nonexistent question number; program took too long to execute; program output junk on stderr; OCaml compiler errored out trying to compile program; program tried to violate sandboxing
11:09:13 <elliott_> fizzie: You think the number of words in the corpus will fit into a thirty-two bit word, right?
11:09:26 <ais523> elliott_: what is strax, then?
11:09:42 <elliott_> ais523: what, nobody's submitted an invalid program yet?
11:10:02 <ais523> that's happened quite a lot
11:10:09 <ais523> but it doesn't cause the compiler to error, but rather to reject the program
11:10:16 <fizzie> elliott_: Yes, I would be very surprised if it didn't, given that one file had barely a hundred thousand words, and most of them are common between files. (Even if they were all unique, that'd be just 80 million words.)
11:10:46 <elliott_> fizzie: That's good; words are about five letters, right? (I hear that's the standard.)
11:11:11 <ais523> elliott_: but you're not trying to encode the words directly into ints, are you?
11:11:24 <elliott_> ais523: No, I'll have a big old lookup table.
11:11:47 <ais523> there are unlikely to be over four billion unique words
11:11:49 <elliott_> ais523: The primary reason is seekability and space; the model is going to be about a terabyte, so...
11:11:54 <elliott_> Yes, but these are Google words.
11:12:23 <ais523> even so, a billion is a huge value
11:12:25 <CakeProphet> I wonder if "I'd push my stable branch into her repository" would be an 8-gram if Google had 8-grams.
11:12:32 <Phantom_Hoover> ais523, apparently you are an expert on how esoteric heraldry language is.
11:12:48 <ais523> Phantom_Hoover: I wouldn't call myself an expert on it, but it is pretty eso, indeed
11:13:03 <fizzie> elliott_: 5 sounds like a reasonable guess for the average, and then with words you usually need one length byte and/or a terminator and/or something.
11:13:55 <CakeProphet> and/or should just become some kind of new conjunction word
11:14:16 <ais523> Phantom_Hoover: it isn't a programming language, really
11:14:26 <ais523> it's like, umm, an esoteric vector image format
11:14:38 <elliott_> fizzie: Yes, a length byte is what I've been doing.
11:14:39 <ais523> but you can program with that
11:14:43 <ais523> I don't think you can program with heraldry
11:14:57 <ais523> unless it somehow ends up possible to encode TC equations in it, or something silly like that
11:14:59 <Phantom_Hoover> I don't know, is there a Turing-complete problem in heraldry?
11:15:03 <elliott_> ais523: Maybe we can send the people who draw them into an infinite loop.
11:15:04 <ais523> elliott_: not to my knowledge
11:15:08 <CakeProphet> I'm not entirely sure I understand what makes LC no a programming language.
11:15:15 <elliott_> ais523: Like, something tiered piecewise argent in pale itself.
11:15:24 <Phantom_Hoover> Like, you describe a coat of arms, and there are really complex rules dictating what is and isn't a legal coat-of-arms.
11:15:25 -!- Jafet has joined.
11:15:46 <Phantom_Hoover> And it ends up that computing whether a given coat of arms is valid is Turing-equivalent.
11:16:10 <ais523> I thought the main validity rule was no colors touching colors, no metals touching metals
11:16:16 <ais523> although that one's been bent on occasion, maybe even broken
11:16:23 <fizzie> In fact, given that a single file had only 622735 5-grams, even if every word of every 5-gram was unique, and all the 799 other files had as many, that'd be just 800*622735*5 = 2490940000 = 2^31.21... unique words. So as long as your ints are unsigned... (Okay, it's not even theoretically possible for them all to be unique, since they're overlapping.)
11:16:42 <Patashu> Someone make Heraldry eso lang
11:18:26 <CakeProphet> my LMD got stuck in EROP while the FSF stopped TOW from being KE
11:18:29 <elliott_> fizzie: 2^31.21 juuust steps outside the guarantees Haskell gives for Int :P
11:18:38 <elliott_> CakeProphet: Those are awful acronyms.
11:19:14 <Patashu> heraldry vector graphics format
11:19:24 <fizzie> elliott_: Word32 to the rescue!
11:19:41 <elliott_> fizzie: Kind of redundant, since HashMap will be giving me Ints I think, but sure :P
11:20:00 <elliott_> CakeProphet: Seriously though, is that the results of your process?
11:20:03 <Patashu> phantom_hoover: I know wang tiling is
11:20:09 <elliott_> CakeProphet: You've tuned too much for acronyms instead of words.
11:20:24 <CakeProphet> to make fun of recent heavy acronym usage.
11:20:24 <elliott_> CakeProphet: I thought that was your script.
11:20:38 <CakeProphet> because #esoteric is all about the acronyms.
11:21:00 <Phantom_Hoover> elliott_, because I searched for '3-colouring' and then '4-colouring' and it gave me colouring books for both; Google has WP's page on graph colouring in first place.
11:21:15 <elliott_> Phantom_Hoover: Well colouring books are good, you know.
11:21:19 <Phantom_Hoover> I don't think this is an isolated incident, although my memory is hazy.
11:21:39 <CakeProphet> elliott_: rest assured it will likely be many days before I get a working version of this word generator
11:21:47 <elliott_> CakeProphet: I thought you were almost done.
11:22:02 <Phantom_Hoover> Putting WP articles at the top is cute, but not very useful: if I *want* the WP article, I can just type wi<tab> and circumvent DDG's long response times.
11:22:24 <CakeProphet> elliott_: no I've switched the format like 4 times now so I need to recode the generator to match the new file layout.
11:22:43 <elliott_> Phantom_Hoover: Let's be honest, you always want the WP article.
11:23:06 <Phantom_Hoover> elliott_, yeah, so DDG is just adding a long response time.
11:23:10 <fizzie> An ORDBMS is just like a RDBMS except you can inherit tables.
11:23:19 <elliott_> Phantom_Hoover: Well, yes, but the question is whether you'll ever actually use wi<tab>.
11:23:50 <oerjan> <Phantom_Hoover> Dammit WP, I need a list of TE problems. <-- you might look for undecidable, it's not precisely the same but includes TE
11:23:53 <Phantom_Hoover> I use it for the Minecraft and DF wikis as well; it's actually one of Chrome's neatest features.
11:24:19 <elliott_> Phantom_Hoover: Firefox has search keywords too, y'know.
11:24:36 <Patashu> What's chrome's magical 'go to wikipedia' feature?
11:24:39 <Phantom_Hoover> elliott_, well, I must have switched before it added them.
11:24:43 <fizzie> I use "wp foo" quite a lot.
11:24:47 <elliott_> Phantom_Hoover: They've been in for years.
11:24:51 <elliott_> Like, literally since two thousand and four.
11:24:56 <fizzie> And they've been really there for ages.
11:24:57 <oerjan> <Phantom_Hoover> Is 3-colouring TE? <-- NP-complete
11:25:12 <elliott_> Phantom_Hoover: "wp foo", sure.
11:25:25 <fizzie> You just make a regular bookmark, give it a keyword-name, and put a %s in the string.
11:25:43 <fizzie> It's worked for... a long time.
11:25:52 <CakeProphet> assuming that my data generator works correctly now I should /never have to do this shit again/
11:26:02 <Phantom_Hoover> fizzie, well yeah, but like I said, Chrome does it automatically, which makes it useful if you have multiple reference sites.
11:27:21 <fizzie> Phantom_Hoover: How does that happen automatically? Who/what defines the abbreviations?
11:27:44 <oerjan> Phantom_Hoover: probably TE if you use some kind of infinite graph
11:28:02 <fizzie> Bookmark keywords have been there since Firefox 2.0, maybe earlier.
11:28:09 <elliott_> fizzie: It uses bookmark completion.
11:28:15 <Phantom_Hoover> But I never did any kind of manual setup for the DF or MC wikis, and it works, so I suspect that it's recognising MediaWiki or something.
11:28:16 <elliott_> Bookmark<tab> -> search that site.
11:28:21 <elliott_> fizzie: Bookmark/history completion.
11:28:37 <Phantom_Hoover> Or whatever elliott_ says, he probably knows more about it
11:28:39 <elliott_> Phantom_Hoover: It's OpenSearch.
11:28:48 <fizzie> elliott_: Fancy-schmancy.
11:29:27 <CakeProphet> so uh... does keeping my computer cooler make it somehow run faster?
11:30:05 <fizzie> It could be keeping the therman auto-throttling thing offline.
11:30:09 <Patashu> I better clean up my room then
11:30:21 <elliott_> fizzie: Too fancy-schmancy; my "wi" completion isn't WIkipedia. :p
11:30:54 <Phantom_Hoover> It's particularly important if you're searching: the enthalpy change is negative and the entropy change is large and positive, so if the temperatures are too high the reaction ceases to be feasible at all.
11:31:27 <Patashu> But wait what if I'm using a quantum computer
11:31:27 <fizzie> My "wp" completion probably especially wouldn't be, and I've been trained to use that instinctively.
11:31:31 <CakeProphet> so quicksort doesn't work at high temperatures?
11:33:42 <elliott_> fizzie: OTOH, you can explicitly manage search engines.
11:33:47 <elliott_> fizzie: Fill in percent-s strings, etc.
11:34:04 <elliott_> fizzie: And give them keywords.
11:34:23 <CakeProphet> Phantom_Hoover: it became increasingly obvious.
11:34:28 <elliott_> fizzie: Yep, you can set Wikipedia's keyword to wp.
11:34:35 <elliott_> fizzie: Then "wp foo" does the expected.
11:34:41 <Phantom_Hoover> CakeProphet, it's perfectly valid chemistry, I should point out.
11:35:02 <Phantom_Hoover> http://en.wikipedia.org/wiki/List_of_undecidable_problems
11:35:15 <Phantom_Hoover> OK guys, we need to encode one of these into a coat of arms elegantly.
11:35:30 <Patashu> Is there a coat of arms for 'prime number'?
11:35:44 <oerjan> <Patashu> But wait what if I'm using a quantum computer <-- there is "quantum entropy". it's the same except no one understands it.
11:35:56 <elliott_> `addquote <oerjan> <Patashu> But wait what if I'm using a quantum computer <-- there is "quantum entropy". it's the same except no one understands it.
11:35:58 <Patashu> oerjan: By adding quantum before any word I can make the reader's brain turn off
11:35:58 <HackEgo> 711) <oerjan> <Patashu> But wait what if I'm using a quantum computer <-- there is "quantum entropy". it's the same except no one understands it.
11:36:14 <HackEgo> 74) <fungot> i am sad ( of course by analogy) :) smileys)
11:36:24 <HackEgo> 503) <Taneb> I can't afford one of those! <Taneb> A grandchild, not a laser printer
11:36:30 <HackEgo> 378) <oklopol> esperanto is just spanish with a diarrhea
11:36:32 <HackEgo> 451) <elliott> It's a Toy Story character, you uncultured fuck.
11:36:38 <oerjan> Phantom_Hoover: some claim to.
11:36:44 <HackEgo> 665) <elliott> Second Life is like... real life, modelled by people who've READ about real life, you know, in books.
11:36:45 <HackEgo> 567) <itidus20> what i mean by afk is <itidus20> i can see how dumb it is.. ill make a coffe instead
11:36:45 <HackEgo> 236) <tswett> elliott: just to bring you up to speed, you are now my baby nephew. <olsner> wtf, elliott is a nephew and his uncle is here? <nooga> what <tswett> Heck yes I'm elliott's uncle.
11:36:45 <HackEgo> 572) <monqy> the classic "souls have mass" hypothesis
11:37:03 <elliott_> <HackEgo> 567) <itidus20> what i mean by afk is <itidus20> i can see how dumb it is.. ill make a coffe instead
11:37:07 -!- ais523 has quit (Read error: Connection reset by peer).
11:37:07 <elliott_> Phantom_Hoover: Possibly even an instant coffee.
11:37:17 <Phantom_Hoover> When was 572 added, I remember that being a fun conversation.
11:37:24 <elliott_> `log the classic "souls have mass" hypothesis
11:37:48 <HackEgo> 2011-08-09.txt:22:55:56: <elliott> `addquote <monqy> the classic "souls have mass" hypothesis
11:37:53 <CakeProphet> I believe the toy story character thing was directed at me.
11:37:57 <elliott_> `logurl 2011-08-09.txt:22:55:56:
11:37:59 <HackEgo> http://codu.org/logs/log/_esoteric/2011-08-09
11:38:01 <elliott_> Phantom_Hoover: Somewhere thereabouts.
11:38:08 <elliott_> 22:55:28: <monqy> the classic "souls have mass" hypothesis
11:38:59 <Patashu> when someone dies they become massless
11:39:02 <Patashu> and float away from the planet
11:39:16 -!- ais523 has joined.
11:39:18 <elliott_> http://en.wikipedia.org/wiki/File:Sphaerodactylus_parthenopion_004.jpg
11:39:52 <Phantom_Hoover> elliott_, awwwwwwwwwwwwwwww (wasn't that on an Attenborough programme?)
11:39:55 <Patashu> The LHC is attempting to break into the afterlife and bring back a soul
11:40:02 <elliott_> Phantom_Hoover: Wasn't everything on an Attenborough program.
11:40:09 <elliott_> Phantom_Hoover: I mean he has to be running out of animals by now.
11:40:16 <elliott_> They're going to ask him if his boson is real.
11:40:22 <Phantom_Hoover> elliott_, aren't we all on an Attenborough programme in some sense?
11:40:29 <HackEgo> 477) <Phantom_Hoover> oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life.
11:40:42 <elliott_> Phantom_Hoover: That's the genius of it.
11:40:54 <elliott_> Patashu: What was that lol at?
11:41:03 <elliott_> "Higgs was born in Wallsend, Newcastle upon Tyne."
11:41:18 <Patashu> science........can kill you............
11:41:20 <elliott_> Phantom_Hoover: Anyway no it grabs his soul from the Omega Point.
11:41:29 <elliott_> Phantom_Hoover: When he knows whether the Higgs boson is real or not.
11:41:44 <elliott_> This then ensures with causality etc. that his soul will exist at the time of the Omega Point, granting him immortality.
11:41:48 <Phantom_Hoover> Hell, I'm going to King's Buildings later today; I can ask him then.
11:41:55 <elliott_> Phantom_Hoover: Do you understand me.
11:42:41 <elliott_> oerjan: so is ():^ underload TC if stack elements have some arbitrary runtime maximum length >:)
11:43:28 -!- ais523_ has joined.
11:43:33 <HackEgo> 611) <Gregor> ANOTHER THUNDERSTORM, INDIANA? <Gregor> That's three today. <elliott> Gregor: It FEELS like it should be a really simple fix :P
11:43:36 <oerjan> yes. there are no commands to construct truly new elements, after all
11:43:42 -!- ais523 has quit (Disconnected by services).
11:43:44 -!- ais523_ has changed nick to ais523.
11:44:37 <oerjan> the context police has spoken
11:45:18 <fizzie> Oh, I thought it was just the quality police.
11:46:29 <ais523> are out-of-context quotes not allowed?
11:46:34 <HackEgo> 660) <shachaf> elliott: GHC bug? Come on, it's the parentheses. <shachaf> The more parentheses you add, the closer it is to LISP, and therefore the more dynamically-typed.
11:46:49 <HackEgo> 652) <Gregor> IF YOU DON'T SHUT UP I'LL K-LINE YOU TO THE AETHEREAL PLANE
11:46:56 <ais523> we need a `recentquote, really
11:47:00 <ais523> that's weighted towards more recent quotes
11:47:06 <HackEgo> 91) <apollo> Actually, he still looks like he'd rather eat her than have sex with her.
11:47:17 <elliott_> Do I dare remove it for low quality?
11:47:27 <HackEgo> 569) <ais523> oerjan: I'm not imaginative enough to write truly great slash fiction
11:47:56 <HackEgo> 219) <olsner> DAMN YOU, I'm leaving <Vorpal> olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION!
11:48:11 <ais523> is the metajoke there intentional?
11:48:16 <HackEgo> 118) <Keiya> I want a patent on common sense <Keiya> It wouldn't get me much though >_>
11:48:17 -!- elliott_ has quit (Read error: Connection reset by peer).
11:49:01 -!- elliott_ has joined.
11:49:14 <Sgeo|web> Note to self: Read manual before deciding that an arbitrary IDE is crap
11:49:18 <ais523> why does esolanging require rebooting?
11:49:27 <elliott_> ais523: Esolang duties, not esolanging.
11:49:30 <ais523> Sgeo|web: no need, /all/ IDEs are crap
11:49:43 <ais523> elliott_: what's the distinction, and why does it require rebooting?
11:49:55 <Sgeo|web> ais523: I was expecting something like that, but from elliott_
11:50:02 <ais523> I was just pre-empting it
11:50:25 <ais523> hmm, if such responses are so predictable, is there even, platonically, a need to make them?
11:50:38 <ais523> elliott_: I disagree with the I part of "IDE"
11:50:38 <elliott_> ais523: the distinction will be obvious soon :-)
11:50:46 <ais523> it is a good development environment, though
11:50:47 <elliott_> ais523: Unix is very interactive.
11:50:57 <ais523> the I stands for "integrated", doesn't it?
11:51:05 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quote`: not found
11:51:07 <HackEgo> 607) <fizzie> They're (according to current plans/rumours) going to release a grand total of approximately 1.1 MeeGo devices; the N9, plus the N950 "developers only" phone, which I'm counting as 0.1 because (even though it is a MeeGo device) it's not going to actually be released.
11:51:17 <elliott_> ais523: well, Unix is pretty integrated, if everyone would follow its philosophy
11:51:33 <oerjan> <ais523> are out-of-context quotes not allowed? <-- not if the lack of context makes them unfunny
11:52:08 <fizzie> The slowest possible recent-weighted quote; manages to make it O(N^2) in the number of quotes, after all:
11:52:10 <fizzie> `run allquotes | perl -ne 'print $_ x $n++;' | shuf -n 1
11:52:14 <HackEgo> 642) <ais523> oh no, I think we've managed to mix three metaphors in a way that actually makes sense
11:52:15 <fizzie> But it's a short line.
11:52:21 -!- ais523_ has joined.
11:52:25 <ais523_> <Wikipedia> Integrated development environment, a software application that provides comprehensive facilities to computer programmers for software development
11:52:27 -!- ais523 has quit (Read error: Connection reset by peer).
11:52:33 -!- ais523_ has changed nick to ais523.
11:52:52 <ais523> [12:50] <ais523> the I stands for "integrated", doesn't it?
11:52:53 <ais523> [12:51] <ais523> which is more or less the opposite of the UNIX philosophy
11:53:33 <ais523> elliott_: something that IMO all OS-with-applications combinations need is composability of basic operations to perform more complex tasks on them
11:53:51 <ais523> I'm not sure if doing it UNIX-style with text files is the best method, but so far it's the only one that's been demonstrated to work
11:53:59 <Sgeo|web> Leksah... what exactly is the point of trying to autocomplete me when I'm in a string?
11:54:00 <fizzie> What, the I in UNIX stands for "integrated"?
11:54:19 <ais523> I wasn't aware hat UNIX stood for anything
11:54:20 <fizzie> That makes more sense.
11:55:12 <elliott_> ais523: well, it's integrated, because everything can talk to each other
11:55:18 <elliott_> not integrated would be, two tools that can't communicate or operate together
11:55:21 <elliott_> consider, two WIMP applications
11:55:51 <ais523> I always took integrated as meaning that one executable tries to do everything, (possibly delegating Emacs-style, but taking control of the UI of the result)
11:55:56 -!- sadhu has joined.
11:57:06 <sadhu> ais523:are you on github?
11:57:33 <ais523> sadhu: the people in #esoteric who know me are now likely to be scared of my answer to that question
11:57:53 <ais523> I'm not sure if I have the effort for a proper rant, though
11:57:57 <ais523> I'm not very good at them
11:58:04 <ais523> elliott_: how wide does github render tabs?
11:58:11 <sadhu> lol...i am not #esoteric regular...so i don't know...but what happened?
11:58:15 <elliott_> ais523: as wide as your browser (so four spaces)
11:58:55 <ais523> sadhu: a) I dislike git, b) I dislike github in particular (and use gitorious for hosting git repos, when I happen to have a need to do that)
11:58:59 -!- Vorpal has joined.
11:59:19 <ais523> I grudgingly acknowledge that git is actually usable for about 90% of what people try to use it for, although it makes their life harder for no good reason
11:59:23 <oerjan> comments on a postcard was funny today
11:59:33 <sadhu> so sad u dislike git
11:59:44 <ais523> when I use a VCS through choice, I generally use darcs, although I acknowledge that it's not perfect either
11:59:49 <ais523> just a lot better than git
12:00:10 <ais523> (which is better than svn, which is better than CVS, which is better than Visual SourceSafe)
12:01:31 * oerjan recalls a reddit (?) discussion where someone claimed that Visual SourceSafe was the only vcs which actually _harmed_ productivity
12:01:45 <oerjan> and there seemed to be general agreement
12:01:58 <ais523> oerjan: it's generally worse, rather than better, than no VCS at all
12:02:15 <ais523> due to its habit of getting corrupted and deleting the files it's meant to version
12:06:58 <tswett> By the way, elliott_ is now capable of standing up if you hold his hands.
12:07:33 <tswett> He doesn't really know any words yet. One day, he said "dit" a bunch of times, but unfortunately, there's no such thing as a dit.
12:07:59 <Patashu> So when will elliott be acing the SAT
12:08:30 <ais523> Patashu: confusingly, the term "SAT" is meaningful in both US and UK education, but has a different meaning in each
12:08:50 <tswett> I dunno. Ten years at the very very least.
12:08:52 <Patashu> how does wikipedia disambiguate it?
12:08:57 -!- DH____ has joined.
12:09:11 <ais523> This article is about the college admissions test in the United States. For the exams in England colloquially known as SATs, see National Curriculum assessment. For other uses, see SAT (disambiguation).
12:09:36 <Patashu> it calls it something else
12:09:43 <elliott_> ais523: my esolang duties are done
12:09:58 <ais523> I /just/ noticed I didn't have my RSS reader open
12:10:02 <ais523> and now, I'm worried as to what I'll find
12:10:07 <ais523> you didn't create an esolang with a spam name again, did you?
12:10:29 <elliott_> no, unfortunately my esolang wheels have not been in motion much as of late
12:11:16 <ais523> ah, aha, you just gainfully decompressed a screenshot
12:11:31 <ais523> (what is the inverse operation to lossy compression called?)
12:11:47 <elliott_> ais523: technically, I completely changed it :-)
12:11:52 <elliott_> ...but it's prettier now anyway
12:12:03 <elliott_> wow, my snowman looks really grumpy with this Mac's fonts: http://i.imgur.com/tSbiF.png
12:12:27 <Patashu> lossy decompression sounds like what google does, when it only extracts part of its cache for a page
12:12:32 <ais523> not the most effort in drawing a Unicode snowman that I've seen from font designers
12:12:44 <fizzie> There's not even any snow falling.
12:12:54 <elliott_> ais523: what kind of snowman has a fez?
12:12:55 <fizzie> And what's with that skewed hat?
12:12:58 <ais523> Patashu: lossy decompression is also what happens to interlaced images while they're partially loaded
12:13:13 <ais523> elliott_: a Gregor snowman?
12:13:21 <Sgeo|web> elliott_: if the snowman was a Doctor...
12:13:25 <ais523> btw, is the underscore significant?
12:13:32 <ais523> or have you just not bothered to remove it?
12:13:40 <ais523> you've been elliott_ for a while, now, IIRC
12:13:52 <ais523> so I was wondering if it had a meaning
12:13:55 <tswett> elliott_: say. I didn't know all the trolls' names by the end of 5.1. Does that mean you're mad at me?
12:14:02 <elliott_> There appears to be no "elliott" online right now.
12:14:07 <elliott_> So I wonder why my client did this.
12:14:40 <elliott_> tswett: Yes, but you would have to try really, really hard to have a looser grip on the plot than Sgeo|web.
12:14:48 <fizzie> How about gainful compression?
12:15:03 <tswett> elliott_: I dunno; I'm bad at plots.
12:15:04 <elliott_> ais523: by the way, you should just delete [[Programming Languages Glossary]]
12:15:05 <Vorpal> <elliott_> So I wonder why my client did this. <-- maybe there was when you connected but it timed out shortly after or such?
12:15:19 <elliott_> ais523: I'm not sure why Timwi has started filling it in while also maintaining the page is pointless and should be deleted, but it doesn't really mater
12:15:24 <Patashu> fizzie: When saving your image, it looks on google iamge search/google street view to see if it can add more relevant information
12:15:40 <fizzie> Patashu: When saving your image, it adds more artistic merit.
12:15:48 <ais523> elliott_: get him to split it into separate pages, then delete?
12:15:52 <oerjan> <elliott_> So I wonder why my client did this. <-- elliott pinged out a while ago, after elliott_ entered
12:15:55 <elliott_> ais523: there already are separate pages
12:15:57 <ais523> alternatively, replace the content with an esolang
12:16:07 <elliott_> ais523: apart from definitions of stdin and stdout, which aren't very esolang-related
12:16:33 <Vorpal> oerjan, as I suggested just above
12:16:34 <elliott_> ais523: but the only person who said anything about not deleting it was Taneb, "How about we start putting things in this page? One or the other", which is a pretty bad reason for keeping a page, and there is that "one or the other"
12:16:43 <elliott_> also, I can't be bothered to create an esolang to replace it
12:16:50 <elliott_> ais523: ooh, what if I replace it with a really bad brainfuck derivative
12:17:04 <Phantom_Hoover> http://myownscientia.blogspot.com/2011/09/researchers-developing-new-form-of-life.html
12:17:05 <ais523> well, I didn't delete Brainlove, IIRC
12:17:14 <elliott_> ais523: mine will be /even worse/
12:17:27 <Patashu> I wish I had urges to study
12:17:29 <ais523> elliott_: I still want to make the worst BF derivative myself
12:17:32 <Patashu> Rather than needing to force myself
12:17:41 <ais523> or, well, it's going to be a version with command letters permuted
12:17:48 <ais523> via the null permutation
12:17:53 <Vorpal> elliott_, what about this one: It is brainfuck but with 1 added to the ASCII codepoints for the instructions?
12:17:59 <elliott_> ais523: but brainfuck isn't that bad a language, so it's not a bad BF derivative
12:18:08 <sadhu> elliott_ are you still in high school
12:18:09 <ais523> it's really bad /at/ being a BF derivative
12:18:12 <Vorpal> elliott_, or even better: id(brainfuck syntax)
12:18:35 <ais523> or perhaps I'll make a BF derivative that's completely unrelated to BF, that would be fun
12:18:41 <Sgeo|web> elliott_: I think I've improved my grip on the plot
12:19:03 * ais523 tries to figure out how that makes sense
12:19:15 <sadhu> elliott_: awesome!
12:19:29 <oerjan> ais523: there was a functional one a while ago...
12:19:58 <Phantom_Hoover> Dammit, I found the Brainlove talk page a month too late.
12:20:02 <ais523> I suppose there's the class of "languages that embed BF", some of which can potentially be quite good
12:20:08 <ais523> Phantom_Hoover: you can just fake dates on it, we won't mind
12:20:13 <Sgeo|web> What about a language that uses the symbols +-<>,.[] but uses them for something completely unrelated
12:20:36 <Vorpal> Sgeo|web, sounds like a subset of befunge :P
12:20:43 <Patashu> you know how there are creatures that mimic different creatures? like spider mimics and ant mimics and so on
12:20:48 <Patashu> this is like a programming language mimic
12:21:01 <Patashu> that's trippy. how does such a thing evolve? what biological niche is it filling? we need to film a mockumentary on this
12:21:15 <elliott_> `addquote <Patashu> that's trippy. how does such a thing evolve? what biological niche is it filling? we need to film a mockumentary on this
12:21:17 <HackEgo> 709) <Patashu> that's trippy. how does such a thing evolve? what biological niche is it filling? we need to film a mockumentary on this
12:21:25 <HackEgo> 236) <Anti-X> i didn't like jquery, until i decided to use it because it made development faster. now i can't go back to women...
12:21:25 <HackEgo> 111) <Warrigal> Making a small shrine to Lawlabee in my basement is something I should get around to at some point.
12:21:29 <HackEgo> 77) <coppro> SF.net porn :/ <ehird> Oh yeah, baby, gimme that... bloated download page?
12:21:30 <HackEgo> 514) <Taneb> Look, I often walk my dog through a field with cows in it. And I punched myself in the face once.
12:21:31 <ais523> what could be interesting would be a language that /looked/ like BF, not just used the same symbols
12:21:35 <Patashu> doesn't that quote need context?
12:21:35 <HackEgo> 361) <oklopol> and then there's the slightly annoying one where suddenly, i start rolling forward and i can't stop <oklopol> like i can be having some great sex dream or whatever and then suddenly "oh god not this again" <oklopol> (i go "not this again" but not necessarily realize it's a dream)
12:21:41 <fizzie> Remember to account for changing line numbers when poofing.
12:21:43 <elliott_> Patashu: no, it's the mockumentary part that's funny
12:21:46 <ais523> so you could recognise [-] and so on
12:21:51 <Patashu> mockumentary was a real word
12:21:59 <elliott_> It's also a funny word in context.
12:22:10 <ais523> and things like [<<+>+>-] loops
12:22:15 <Phantom_Hoover> I mean, you can imagine a spider which raids ant nests; mimicking ants clearly has a survival advantage there.
12:22:17 <ais523> and yet, they had nothing to do with their meanings in BF at all
12:22:25 <Patashu> phantom_hoover: yeah it's shit like that
12:22:30 <elliott_> ais523: the perfect BF derivative is not some immense tower of complexity
12:22:42 <ais523> elliott_: that's not meant to be a perfect BF derivative
12:23:03 <elliott_> it's mimicking the perfect twelve year old just discovering BF at the perfect time with the perfect, equally-matched curiosity, enthusiasm, inexperience, and lack of attention span
12:23:10 <elliott_> like, assuming a perfectly spherical twelve year old
12:23:19 <elliott_> and producing the BF derivative they would produce, under perfect conditions
12:23:28 <ais523> OK, how about this for worst BF derivative ever: you can write anything you want, as English, and the computer just understands and executes it, but you have to write it as a BF program that outputs the English you want
12:23:42 <ais523> that checks all the boxes for being a really bad esolang
12:23:51 <ais523> somewhere between BF and QWERTY Keyboard Dot Language
12:23:55 <elliott_> ais523: I'm actually laughing.
12:23:56 <Patashu> english is too ill defined. let's make a brainfuck program that outputs C
12:24:01 <Patashu> now there's a language with consistency and oomph
12:24:06 <ais523> but not very loud as there are other people in my office
12:24:08 <tswett> [ ] Is the source code an analog signal?
12:24:14 <elliott_> ais523: Wait, make it as Hungarian instead.
12:24:22 <Patashu> A language with an analog input.......
12:24:30 <ais523> elliott_: but I only know a few words of Hungarian
12:24:51 <Sgeo|web> ais523: good reason to switch it to a language you know 0 words of.
12:24:52 <ais523> and I imagine most people don't know any at all
12:24:57 <tswett> Proce is already a language where the storage stuff is analog. The programs themselves are just ASCII text.
12:25:14 <Vorpal> ais523, how come you know any Hungarian words at all?
12:25:24 <ais523> Vorpal: I've been to Hungary
12:25:30 <ais523> you tend to be able to deduce some
12:25:39 <tswett> I guess you could have an interpreter written in Proce that takes an analog signal as the program. But you still have to design the language.
12:25:47 <elliott_> ais523: I was hoping you'd learned them for nomic or something.
12:25:59 <oerjan> <elliott_> like, assuming a perfectly spherical twelve year old <-- hey don't mock the poor guy, obesity is hard at that age
12:26:02 <ais523> I have been to very few countries in my life
12:26:07 <ais523> the UK, France, Canada, and Hungary
12:26:30 <elliott_> [http://code.google.com/p/esolang-geom/downloads/list http://code.google.com/p/esolang-geom/downloads/list]
12:26:30 <Vorpal> tswett, what is Proce?
12:26:32 <ais523> <QWERTY Keyboard Dot Language> The above dots say HELLO. I decided not to write all of HELLO WORLD because it would take too long.
12:26:33 * Sgeo|web has only been here and Canada, iirc
12:26:34 <tswett> I suddenly feel the need to go on a trip abroad.
12:26:38 <elliott_> ais523: UUOMWMU award up there
12:26:42 <Sgeo|web> And I was too young to remember anything in Canada
12:26:49 <tswett> North America makes it hard to visit other countries. We only have, like, three here. Europe has fifty.
12:26:59 <Vorpal> Sweden, Denmark, Norway for me.
12:27:06 <Patashu> But you can visit such cultured places as...canada
12:27:12 <tswett> Vorpal: esolangs.org/wiki/Proce or some such.
12:27:13 <Patashu> And such lawless places as mexico where you'll probably be shot
12:27:13 <ais523> elliott_: not completely useless, if the next character isn't a space
12:27:31 <oerjan> <ais523> elliott_: but I only know a few words of Hungarian <-- just fake it with hungarian notation for the rest
12:27:36 <ais523> oh, QKDL /is/ one of zzo38's
12:27:46 <ais523> I thought i recognised his writing style, but it doesn't seem to be the sort of thing he'd come up with
12:28:55 <Patashu> shouldn't zzo38 know better?
12:29:10 <Sgeo|web> It is categorized as a joke language
12:29:52 <ais523> hey, I just found [[Super Stack!]] on random page patrol
12:29:59 <ais523> uncategorized, and not stupid
12:30:02 <Phantom_Hoover> It often seems that if there are two things to know, one of them better, he will know the worse one.
12:30:26 <fizzie> Finland, Sweden, Norway, Denmark, Estonia, Germany, Netherlands, Belgium, France, Switzerland, UK, Italy, Czech Republic, Greece, Russia, Egypt, Tunisia, Thailand, Barbados, Saint Vincent and the Grenadines; and I don't consider I've done much travelling at all, compared to some folks who make a hobby out of it.
12:30:28 <ais523> I'm trying to categorize it now, but am not sure on computational class; it's obviously PDA, and may be TC if there's some trick scope for TCness in there
12:30:30 <Patashu> super stack! seems like it should be isomorphic to a different stack based lang
12:30:32 <Patashu> like forth or something I dunno
12:30:45 <fizzie> (Also "Saint Vincent and the Grenadines" is a silly name for a country.)
12:31:03 <Vorpal> fizzie, where is that?
12:31:05 <Phantom_Hoover> This would explain why you didn't know where Scotland was.
12:31:06 <ais523> aha, TC, it has a "cycle" command that lets you use both the top and bottom of the stack
12:31:13 <ais523> even if it doesn't have arbitrary-precision ints (that's not clear)
12:31:49 <Vorpal> Phantom_Hoover,* no, what is it?
12:31:50 <oerjan> A megtúdunk az integerben külföldük nebbene rajtad háromvan köztársaság.
12:32:12 <Phantom_Hoover> oerjan, excuse me this is a xenophobically English-only channel please leave.
12:32:23 <fizzie> Vorpal: It's a group of islands between the Caribbean Sea and the Atlantic Ocean, near the south end of the chain there.
12:32:27 <Patashu> the only programming language we speak here is english
12:32:39 <ais523> oerjan: you used Google Translate for that, right?
12:32:59 <Vorpal> oerjan, hm, Hungarian?
12:32:59 <elliott_> ais523: what's the character code for |?
12:33:09 <ais523> some other translation service?
12:33:14 <elliott_> `translate A megtúdunk az integerben külföldük nebbene rajtad háromvan köztársaság.
12:33:20 <HackEgo> Traceback (most recent call last): \ File "/hackenv/bin/json", line 4, in <module> \ data = json.loads(sys.stdin.read().decode('utf-8')) \ File "/opt/python27/lib/python2.7/json/__init__.py", line 310, in loads \ return _default_decoder.decode(s) \ File "/opt/python27/lib/python2.7/json/decoder.py", line 346,
12:33:29 <ais523> elliott_: not sure; I vaguely remember that 62 is the char code for something that may or may not be |, though
12:33:38 <ais523> perhaps 92 if it isn't 62
12:33:41 <Vorpal> weird language to have a short sentence for a stacktrace!
12:33:43 <oerjan> vague memory of my mom's hungarian course
12:33:59 <ais523> 0x7C according to character map
12:34:10 <ais523> `run sh echo $((0x7C))
12:34:22 <ais523> elliott_: 124, it seems
12:34:25 <fizzie> 92 would be the one that's 32 below it.
12:34:35 <fizzie> The middle of [\] as opposed to {|}.
12:34:37 -!- derdon has quit (Remote host closed the connection).
12:34:58 <ais523> yay, uppercase/lowercase punctuation marks
12:35:11 <fizzie> Much as [] are the uppercase {}.
12:35:15 <ais523> let's categorise punctuation mark case by Unicode codepoint & 32
12:35:24 <ais523> regardless of where in Unicode it i
12:36:31 <fizzie> ais523: Does that also mean that whenever there are two punctuation marks a, b where a = b^32, they should compare equal in case-insensitive comparisons?
12:36:45 <Patashu> One of these days documentation needs to be made for FlogScript
12:36:53 <elliott_> ais523: You can add to the MW stylesheet easily, right?
12:37:07 <ais523> elliott_: not trivially, but relatively easily
12:37:23 <elliott_> ais523: Can you table.centrefirst td:first-child { text-align: center }? :-P
12:37:29 <ais523> for which skin? all of them?
12:37:35 <elliott_> I don't want to centre every single td by hand, that would be really annoying.
12:38:34 <ais523> what's the :first-child for?
12:38:36 * elliott_ is improving [[Geompp]]'s presentation.
12:38:39 <elliott_> ais523: Only the first td in a row.
12:38:54 <ais523> oh, it means "first child of their parent"?
12:39:12 <ais523> IIRC there's mediawiki syntax for that already, but it might have been proposed rather than adopted
12:39:43 <elliott_> ais523: our MW is /really old/ :P
12:40:41 <elliott_> ais523: hmm, maybe I should email Graue and ask him to update MW
12:41:04 <Phantom_Hoover> elliott_, I think I tried that? Or wait, I just asked him to install the LaTeX support.
12:41:20 <ais523> elliott_: yep, doesn't work
12:41:24 <ais523> I'll just add the style
12:41:49 <ais523> elliott_: should I also to the same for th:first-child?
12:41:53 <ais523> actually, why not just use th?
12:41:59 <elliott_> ais523: probably; and th bolds
12:41:59 <ais523> Sgeo|web: http://esolangs.org/wiki/Wiki_Cyclic_Tag
12:42:07 <elliott_> ais523: I think you could even do
12:42:12 <elliott_> ais523: table.centrefirst tr :first-child
12:42:14 <elliott_> (note the space before the colon)
12:42:16 <fizzie> Heh, you can use foo:nth-of-type(4n+2) {...} to select every fourth (starting from the second) sibling-element of the same type there are in the tree.
12:42:18 <elliott_> that's probably the cleanest way
12:42:33 <elliott_> fizzie: Have you seen CSSthree's ASCII-art layout DSL?
12:42:37 <ais523> elliott_: yes, I was wondering why no mention of tr
12:43:06 <elliott_> ais523: (and that would handle both td and th)
12:43:30 <ais523> elliott_: CSS updated; bypass your cache, then let me know if it works
12:43:30 <ais523> the actual update takes about a month, because that's the TTL on the cached version, and admin isn't high enough privs to clear the cache
12:43:31 <ais523> of other people's browsers
12:43:32 <ais523> (which is done by changing the URL)
12:43:56 <elliott_> ais523: that's, umm, problematic?
12:43:59 <ais523> it's shift-reload on most browsers, IIRC
12:44:05 <ais523> elliott_: I said it wasn't trivial
12:44:17 * elliott_ just saves it and works out how to clear Safari's cache
12:44:19 <ais523> but it'll be centered for everyone /eventually/
12:44:23 <ais523> that's good enough, right?
12:44:32 <elliott_> http://esoteric.voxelperfect.net/wiki/Geompp#Operators
12:44:38 <ais523> http://en.wikipedia.org/wiki/Wikipedia:BYPASS#Safari
12:44:40 <elliott_> Now I just need to make the rest of it nice.
12:45:06 <ais523> seems shift-reload on Safari 4 or later; Cmd-R on Safari 3 and earlier
12:45:08 <Phantom_Hoover> Hmm, I need to get icons for Minecraft and Oolite in my games menu.
12:45:17 <elliott_> ais523: you have a superfluous ; :-(
12:45:21 <elliott_> it's a separator, not a terminator
12:45:28 <ais523> it feels like half my talk page responses on Wikipedia were linking WP:BYPASS
12:45:38 <fizzie> elliott_: Wouldn't "table.centrefirst tr :first-child" apply to all elements inside the <tr>? Shouldn't that be "table.centrefirst tr > :first-child" or something?
12:45:42 <ais523> elliott_: it's both, you're allowed it at the end
12:45:47 <elliott_> I'm on Safari 5, which did even more redesigning.
12:45:59 <elliott_> fizzie: Implicit asterisk before the :.
12:46:07 <elliott_> So it's any element that is the first child of its parent, that is a child of a tr.
12:46:18 <elliott_> ais523: no, CSS just allows empty statements, I think
12:46:21 <fizzie> elliott_: That's not what I meant. "a b" is "any b that is descendant of a", not "child of a".
12:46:31 <elliott_> ais523: Did you ever work out if we could import the nice wikitable class or not?
12:46:36 <fizzie> And with the (implicit) asterisk, that's all descendants.
12:46:40 <elliott_> ais523: Change that to table.centrefirst tr > :first-child.
12:46:52 <ais523> elliott_: I think we can't
12:46:53 <ais523> unless it's used on mediawiki.org, in which case we an
12:47:35 <elliott_> http://www.mediawiki.org/wiki/MediaWiki:Common.css
12:47:36 <ais523> elliott_: there's a class called wikitable there, but it seems strangely different
12:48:10 <elliott_> ais523: just wait until Timwi notices you changed the CSS
12:48:29 <ais523> if something really bad will happen, I can change it back and delete the evidence
12:48:53 <elliott_> ais523: he'll start asking for admin privs again :-)
12:49:02 <elliott_> his main argument last time was all the CSS improvements he'd do, after all
12:50:01 <elliott_> I wonder if we could get the Esme guy to join us on IRC.
12:50:33 <elliott_> ais523: also, what page title should be used for a language whose name is a NUL byte?
12:51:12 <Sgeo|web> [insert not actually witty remark about people hating me here]
12:51:44 <Patashu> And of course zzo38 in the talk page for Esme
12:53:21 <Sgeo|web> http://esolangs.org/wiki/User_talk:Dagoth_Ur%2C_Mad_God
12:54:07 -!- ais523 has quit (Ping timeout: 260 seconds).
12:55:35 <fizzie> It takes a certain sort of person to say "please start making sense" to Dagoth Ur.
12:56:06 <elliott_> It's a fairly reasonable request. :p
12:59:11 <Sgeo|web> Eating dinner at 9AM: Good idea or best idea?
12:59:58 <Patashu> Is there an ergonomic reason why websites are always black text on searing pure white?
13:00:08 <elliott_> Patashu: Yes: White on black is worse.
13:00:09 <Patashu> I found a bookmarklet that turns it into white on black and now I use it habitually
13:00:33 <elliott_> Off-black on yellow-ish pale grey is something close to the ideal.
13:00:37 <Patashu> Well when I say white on black it's more like #EEEEEE on black
13:00:43 <elliott_> Patashu: Nothing on black is a good idea.
13:00:49 <elliott_> I mean, OK, off-white on dark grey, sure.
13:01:06 <elliott_> But any light on top of black on an LCD is like making every letter a lightbulb.
13:04:04 <sadhu> hey anybody know about that 35$ netbook
13:04:19 <Patashu> Does it come with a mcdonalds happy meal
13:04:27 <elliott_> Pretty sure that was a tablet.
13:04:37 <elliott_> sadhu: How's your asm->bf thing getting on?
13:05:11 <sadhu> elliott_: its going nice...i will sort all things out and put it on github and will tell about it here
13:05:21 <elliott_> Cool; can it translate much yet?
13:05:43 <Patashu> how is bf going to emulate sys calls
13:06:03 <elliott_> write() and read() are not hard for stdin and stdout.
13:06:14 <elliott_> I guess you want an allocator.
13:06:19 <elliott_> But that doesn't need any syscalls in bf.
13:06:28 <sadhu> Patashu: i dont think i will implement all those syscalls but some methods for I/O will be given
13:06:35 -!- pikhq has joined.
13:06:49 -!- pikhq_ has quit (Ping timeout: 255 seconds).
13:08:15 -!- oerjan has quit (Quit: Lateral).
13:08:30 <sadhu> BTW,here is my git repo...maybe you will like that "KeyComb" tool
13:08:32 <sadhu> https://github.com/turiya
13:08:44 <sadhu> i had pretty much fun with that
13:10:53 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
13:16:42 <elliott_> I don't think many people here run Windows
13:17:20 <sadhu> elliott_:me too...i hardly go in it..but i had setup it to dual boot...the other one is FreeBSD
13:23:18 <Vorpal> sadhu, is that x86 asm you are translating to bf? Quite impressive if so.
13:23:26 <Vorpal> What with dealing with segment registers and what not
13:24:24 <sadhu> Vorpal:yeah its *like* it....though i have no plans to implement everything but only if it becomes quite popular in esoteric world :)
13:25:09 <Vorpal> sadhu, in what sort of mode? real mode? protected mode?
13:27:28 <sadhu> it can be said like a real mode,but it won't matter much because everything will depend on the brainfuck interpreter for which it generates code...and i don't think bf is complex enough to differentiate between real or protected modes
13:28:40 <Vorpal> sadhu, well it does matter for register access and such iirc
13:28:57 <Vorpal> though that is just a vague memory of how stuff work
13:29:04 <Vorpal> sadhu, also what about x87?
13:29:44 <Sgeo|web> I was biased by the statements of the person who linked to this article, so I can't give an objective opinion, so what are your thoughts on http://www.cringely.com/2011/10/the-second-coming-of-java/ ?
13:30:15 <elliott_> Hey, it's Cringely. That person I ignore and don't remember why.
13:30:20 <sadhu> if i am lucky and crazy enough to implement it then yes... ;)
13:30:31 <elliott_> I suggest you do like I do. Wait, here is a reason, Sgeo|web: That header image is unbelievably terrible.
13:31:10 <elliott_> "In 1998, it was revealed[6][7][8] that Stephens had falsely claimed to have received a Ph.D. from Stanford University and to have been employed as a professor there. Stanford's administration stated that while Stephens had been a teaching assistant and had pursued course work toward a doctoral degree, he had never held a professorship nor had he been awarded the degree. Stephens then stated that while he had received a master's degree from
13:31:10 <elliott_> the department of communications and completed the classes and tests required for the Ph.D., he acknowledged that he failed to complete his dissertation. Asked about the resulting controversy, Stephens told a reporter: "[A] new fact has now become painfully clear to me: you don't say you have the Ph.D unless you really have the Ph.D."[9]"
13:31:18 <Sgeo|web> elliott_: I.... the person who linked it essentially (though not in those words) called the article stupid. I am inclined to agree.
13:31:22 <elliott_> Good, now I can justify not reading this thing about Java to myself.
13:31:40 <elliott_> Sgeo|web: http://en.wikipedia.org/wiki/Robert_X._Cringely does not say anything about him having any programming knowledge or experience or any kind of CS backgronud at all.
13:31:46 <elliott_> I see absolutely no reason to read those words.
13:32:09 <Phantom_Hoover> Help how did I never realise Simon Pegg played Scotty in the last Star Trek film
13:32:18 <elliott_> "JVM’s took care of cleaning up memory and automatically profiling and optimizing our programs — tasks that had to be done by hand back in C++."
13:32:33 <Sgeo|web> elliott_: tl;dr: Solid State storage makes Ruby and other interpreted languages the bottleneck when it comes to speed, so Java, as it's faster, will make a comeback as the speed becomes noticable
13:32:39 <elliott_> "Under Ruby, we put C++. On top of Ruby we put the Rails web framework. It’s not very common to actually code anything in Ruby. You pretty much only see people coding Ruby while using the Rails framework which governs the whole thing."
13:32:44 <elliott_> You can almost tell he can't program.
13:32:58 <Vorpal> <Sgeo|web> elliott_: tl;dr: Solid State storage makes Ruby and other interpreted languages the bottleneck when it comes to speed, so Java, as it's faster, will make a comeback as the speed becomes noticable <-- that makes zero sense
13:33:00 <Phantom_Hoover> "Using a radical new technology known as 'garbage collection', it rapidly endeared itself to theoreticians and engineers alike."
13:33:08 <elliott_> Vorpal: No, this is the best article.
13:33:12 <Vorpal> unless ruby has terrible IO performance.
13:33:16 <elliott_> Vorpal: It's like the Markov chain version of computing.
13:33:18 <Vorpal> elliott_, right, so bad it is good?
13:33:41 <Sgeo|web> Vorpal: well, it's saying that when IO performance speeds up, the speed of the language itself will dominate considerations
13:33:45 <elliott_> I present my Abbreviated Translation of Cringely's Article "The second coming of Java" from Insane to English:
13:33:46 <elliott_> "The big story here (since from the comments below it apparently wasn’t obvious) is the JVM. Ruby is already migrating to that JRuby as will all similar tools. So far, it just hasn’t mattered that much — but it will."
13:34:56 <Sgeo|web> It's saying that JVM is making a comeback, not Java language
13:35:07 <Sgeo|web> ...did it become a little less insane?
13:35:44 <Sgeo|web> ...or am I misrepresenting the article by saying that it's saying JVM, not Java language, is making a comeback?
13:36:20 -!- MSleep has changed nick to MDude.
13:36:35 <elliott_> OK, I have this horrible, horrible urge to make a Deadfish IDE.
13:37:16 <Sgeo|web> From the comments: "Databases are not slow and disk access is almost irrelevant. "
13:37:47 <Sgeo|web> Um.... someone please tell that to the Yesod devs? They are storing session data encrypted in cookies partly (but perhaps not entirely) for performance reasons
13:38:11 <fizzie> "web frameworks based on interpreted, dynamic languages only exist at all because disks are just so damned slow" is quite a statement to make.
13:38:12 <elliott_> You should do that for RESTfulness.
13:38:20 <elliott_> Not performance. Performance is just a handy benefit of REST architectures.
13:38:50 <Sgeo|web> Is it safe to say that Seaside is the anti-REST?
13:39:40 <elliott_> Well, not the component parts.
13:39:46 <fizzie> If an architecture is not RESTful, is it proper to call it AGITated?
13:39:49 <elliott_> The dialogue parts not really either, but in their implementation, sure.
13:39:56 <Vorpal> besides I can't think of any directly interpreted language. Most compile to bytecode internally which is then executed. Lisps just execute the AST quite often. Not sure what bash does?
13:40:11 <elliott_> bash probably uses regexps or something :P
13:40:20 <Vorpal> would explain the speed
13:41:00 <Vorpal> or rather, lack of same
13:42:08 <fizzie> I'm reasonably sure there was something that really interpreted the textual source all the time (did jumps by changing the pointer to the source text etc.) but I can't recall what it was.
13:42:15 <fizzie> Maybe it was just a bad esolang interpreter or something.
13:42:26 <fizzie> Maybe it was fungot's Underload interpreter. :p
13:42:27 <fungot> fizzie: i am just as confused. you, in that line, that i have gone totally wanting, and then you can choose fnord, but don't want to get somewhere
13:42:54 <elliott_> I think it's time for everyone to admire:
13:42:55 <elliott_> http://esoteric.voxelperfect.net/wiki/Deadfish#C.2B.2B_templates
13:43:06 <elliott_> I mean, come on, I am so good.
13:43:32 <fizzie> Even TI-BASIC has a bytecode, of sorts. (Though it's mostly just turning command words into tokens.)
13:43:46 <elliott_> fizzie: Well, there's BashForth. :p
13:44:26 <fizzie> "In Tcl, everything is a string—sort of. Tcl 8.x allows you to write scripts which pretend that everything is represented as a string, while it silently uses a dual-ported object system to cache native types." <- oh, it no longer really is all strings?
13:45:58 <elliott_> fizzie: They're strings, cached as other things behind the scenes.
13:46:06 <elliott_> fizzie: It's like a JIT, if JITs were... strings.
13:49:43 <Vorpal> fizzie, well, befunge93 interpreters could interpret the textual data after loading it into an array. Would even be a quite sensible way to implement a simple one
14:10:07 -!- elliott_ has quit (Remote host closed the connection).
14:14:20 -!- elliott_ has joined.
14:16:26 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:26:14 -!- pikhq_ has joined.
14:26:16 -!- pikhq has quit (Ping timeout: 260 seconds).
14:36:42 -!- sadhu has quit (Quit: Leaving).
14:38:56 -!- copumpkin has joined.
14:52:31 <Phantom_Hoover> For reasons I cannot comprehend my right ear is incredibly hot.
14:52:34 <Gregor> `addquote <elliott> fizzie: It's like a JIT, if JITs were... strings.
14:52:36 <HackEgo> 709) <elliott> fizzie: It's like a JIT, if JITs were... strings.
14:52:59 <Gregor> Phantom_Hoover: You autoaurophilic creep.
14:54:01 <Vorpal> btw it was -5 C this morning.
14:54:08 <HackEgo> 465) <Gregor> decrypt 'illustrates the "can do" approach of conservatism in a patriotic way'
14:54:11 <HackEgo> 374) <pikhq> o.O <pikhq> There's a birth defect which results in the formation of a cloaca. <Gregor> It's called "not being a mammal" :P
14:54:12 <HackEgo> 11) <Lil`Cube> wouldn't that be considered pedophilia? <Quas_NaArt> No. They all go by stage names.
14:54:13 <HackEgo> 342) <catseye> wow, thinkgeek really makes me hate being alive
14:54:13 <HackEgo> 644) <itidus20> according to physics and maths can we theoretically have a box with infinite cookies inside?
14:54:35 <elliott_> Gregor: Think we just gotta face up to the fact that your early Sine quotes are terrible
14:54:51 <elliott_> Phantom_Hoover: Try setting fire to it.
14:55:00 <Phantom_Hoover> Maybe if I got a little spray bottle of water— OH DEAR GOD I'VE TURNED INTO MOSS
14:55:01 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26214
14:55:11 <elliott_> Gregor: PLEASE FIX THOSE FUCKING HTTP HEADERS YOU PIECE OF SHIT
14:55:49 <elliott_> Phantom_Hoover: Three was not in that list.
14:55:50 <HackEgo> 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order.
14:56:00 <elliott_> That is not the way of the purging.
14:56:15 <elliott_> Phantom_Hoover: It's funnier than average, and that says something.
14:56:21 <elliott_> Phantom_Hoover: But the early quotes only rarely come up.
14:56:32 <Gregor> ... dafuq? That's hg giving the wrong headers, not me.
14:56:36 <elliott_> There's a lot more non-early quotes and those have a lot of chaff, which is my purge method is best :P
14:56:39 <elliott_> Gregor: It's been happening for AGES.
15:00:26 <HackEgo> 359) <oklopol> and then there's the slightly annoying one where suddenly, i start rolling forward and i can't stop <oklopol> like i can be having some great sex dream or whatever and then suddenly "oh god not this again" <oklopol> (i go "not this again" but not necessarily realize it's a dream)
15:01:11 <Phantom_Hoover> Future oklopol: but the sex part doesn't necessarily stop?
15:01:49 <Vorpal> 4) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop <-- how is that funny?
15:02:07 <Vorpal> besides it didn't taste very good (the topic was freeze dried ice cream)
15:02:49 <elliott_> Vorpal: Oh come on, you already spent about ten hours deleting it after multiple people kept putting it back.
15:03:00 <elliott_> We, as a community, have decided that we want that quote, if only to irritate you slightly.
15:03:18 <Vorpal> elliott_, did I? doubtful. I'm not that persistent
15:16:22 -!- pikhq has joined.
15:16:44 -!- pikhq_ has quit (Ping timeout: 258 seconds).
15:20:19 <Gregor> So glad I finally found that package.
15:20:27 <Gregor> Console equivalent of kdirstat, filelight etc.
15:20:39 <Gregor> My ultimate plan to never use graphical applications continues.
15:22:47 * elliott_ does not understand why you would want to replace a WIMP application with an Xorg backend with a WIMP application with a very limited curses backend.
15:23:09 <elliott_> I can definitely understand replacing a WIMP application with a composable tool, but curses ain't that.
15:24:08 -!- ive has joined.
15:32:35 -!- Ngevd has joined.
15:32:40 -!- Ngevd_ has joined.
15:32:56 <Ngevd> I connected twice and I'm using my old client
15:33:02 -!- Ngevd_ has quit (Read error: Connection reset by peer).
15:33:03 -!- Ngevd has quit (Read error: Connection reset by peer).
15:33:33 -!- Ngevd has joined.
15:33:40 <Ngevd> Now I've got that sorted
15:33:44 <Ngevd> Here comes the important bit
15:36:38 <Ngevd> Don't CTCP VERSION me!
15:36:48 <Phantom_Hoover> http://twitter.com/#!/qntm/statuses/124529807865286656
15:37:01 <Phantom_Hoover> I HATE YOU I WAS PROCRASTINATING ON LOOKING AT THAT VERY DOCUMENT AAAAAAAAAAAAA
15:39:33 -!- ais523 has joined.
15:40:15 <Ngevd> I had that page open already
15:40:15 <Phantom_Hoover> And IWC's plot was coming very near to actually progressing.
15:42:03 <elliott_> Phantom_Hoover: I can only conclude that IWC's plot will conclude with DMM going on a canonical yet real-world attempt to create alt.fan.irregularwebcomic.
15:42:16 <elliott_> Each comic will be an update on this attempt.
15:42:20 <elliott_> When he succeeds, the comic will end.
15:42:21 <Ngevd> Shall we beet him to it?
15:42:37 <Ngevd> Oh, you know what I meant
15:42:39 <elliott_> ais523: Oi, how do you make Usenet groups? It's a post and no-one has to challenge it or something, right?
15:42:49 <elliott_> ais523: And then you have to convince everyone to route it?
15:43:10 <ais523> elliott_: the only thing you need to do is to convince everyone to route it
15:43:18 <ais523> there is a reasonably established process for doing so, though
15:43:30 <elliott_> ais523: how likely is it to succeed?
15:43:36 <ais523> which if not followed, is unlikely to result in the creation of a group
15:43:44 <ais523> IIRC, there's a group somewhere for debating the creation of new groups
15:45:19 <elliott_> does anyone have a good approximation for what a book's paper looks like under standard yellow-ish light?
15:45:23 <ais523> and if it's agreed there that it makes sense for the group to exist, there's an automated please-route-this-group message you can send out
15:45:23 <ais523> and the servers tend to honour it
15:45:24 <ais523> if it was approved beforehand
15:45:26 -!- ais523_ has joined.
15:45:27 -!- ais523 has quit (Remote host closed the connection).
15:45:29 <elliott_> it's light beige, I'm just not sure which light beige
15:45:30 <ais523_> [16:43] <ais523> IIRC, there's a group somewhere for debating the creation of new groups
15:45:31 <ais523_> [16:44] <ais523> and if it's agreed there that it makes sense for the group to exist, there's an automated please-route-this-group message you can send out
15:45:44 <elliott_> What if I just send that without asking? :-)
15:46:40 <ais523_> [16:44] <ais523> and the servers tend to honour it
15:46:40 <ais523_> [16:44] <ais523> if it was approved beforehand
15:46:41 -!- ais523_ has changed nick to ais523.
15:46:48 <ais523> typically, some servers will honour it, most won't, IIRC
15:47:51 <ais523> also, people are rather more tolerant of requests to route groups in alt.
15:49:09 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/lc0rk/do_bears_have_elbows/
15:49:52 <ais523> elliott_: for the alt.* hierarchy, alt.config is the place where you try to convince people to accept group creation messages
15:50:23 <ais523> ooh, useful FAQ: http://www.faqs.org/faqs/alt-creation-guide/
15:54:28 <elliott_> o the group name can convey more meaning than just what
15:54:29 <elliott_> can fit in 14 letters. (e.g. alt.music.monkees vs.
15:54:33 <elliott_> ais523: sounds like it may be a hopeless cause
15:54:50 <Ngevd> IT IS THE ONLY WAY
15:54:55 <ais523> yep, weird abbreviations get used sometimes as a result
15:55:03 <ais523> also, it seems very specific to have a newsgroup for one webcomic
15:55:05 <ais523> they're normally wider than that
15:55:10 <elliott_> ais523: yes, but it's _prophesised_
15:55:11 <ais523> (e.g. one about webcomics in general)
15:56:07 <ais523> correct naming would be something like alt.webcomic.irregular, probably with an extra component in there somewhere
15:56:20 <ais523> under the same hierarchy as other webcomics, if they even have one
15:56:59 * ais523 checks if there is one
15:58:29 -!- Ngevd has quit (Quit: I'm a cuboid!).
16:01:49 -!- ais523 has quit (Ping timeout: 256 seconds).
16:04:17 <HackEgo> 56) <GregorR> ??? <GregorR> Are the cocks actually just implanted dildos? <GregorR> Or are there monster dildos and cocks? <GregorR> Or are both the dildos and cocks monster?
16:04:22 <HackEgo> 517) <elliott> Do one better! Pretend to be an idiot until YOU DIE.
16:04:24 <HackEgo> 326) <oklopol> shit would make great currency, because everyone would have it and you could literally be filthy rich
16:04:27 <HackEgo> 161) <cheater99> you don't have an urethra, you're a girl.
16:04:27 <HackEgo> 386) <crystal-cola> 3 = 7/2
16:05:22 -!- monqy has joined.
16:06:35 <elliott_> Let's have another round of judgement.
16:06:39 <HackEgo> 666) <Gregor> But whereas the Zune UI makes one think "I want to kill myself", the Windows CE UI makes one think "I want to kill myself, but first kill my parents as punishment for bringing into this world someone who would one day own a Windows CE device."
16:06:41 <HackEgo> 143) <Aftran> I have a feeling iPods still beat me.
16:06:43 <HackEgo> 550) <fungot> fizzie: i, myself, will bring an end to all.
16:06:45 <HackEgo> 585) <ais523> (Enigma is two games; one is solving Enigma puzzles, the other is working out how to represent things as Enigma puzzles, preferably with the minimal amount of lua and player-hidden information possible)
16:06:51 <HackEgo> 342) <elliott> ais523: quick, say something funny <oklopol> something funny hagrea:D <oklopol> can'tä sopt laughitn
16:07:07 <elliott_> It's like natural selection, except you're just killing the weak.
16:13:50 <elliott_> Gregor: Deewiant: I remembered that iTunes had that thing to stream shit over WiFi, so I looked into it and the iPhone can do it, and it just requires a bunch of jailbreaking and painstaking, awful VPN crap setup to get it to work over threegee :P
16:13:55 <elliott_> So what I talked about is TECHNICALLY POSSIBLE
16:14:28 <elliott_> It's probably a lot easier with Android but I had no such epiphany about an Android app.
16:21:41 -!- Jafet has quit (Quit: Leaving.).
16:21:43 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
16:27:02 <HackEgo> 267) <oklopol> oerjan: also actually A(4, 4) is larger than any other integer, i learned this the other day when i was reading about this algo, it had complexity O(n a^-1(n)) = O(n a^-1(4))
16:27:02 <HackEgo> 428) <oklopol> yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring
16:27:06 <HackEgo> 481) <ais523> the thing about modern semiconductor design is, 0s are more powerful as 1s
16:27:07 <HackEgo> 495) <oklopol> you know that thing in the movies where they put a pillow on someone's face and try to suffocate them <oklopol> that doesn't work. <oklopol> we tried that with my ex once, but we just couldn't kill each other that way
16:27:14 <HackEgo> 504) <Gregor> I have a WRT120N <fizzie> Gregor: The WRT160NL has 40 units more of... stuff. Plus an L.
16:28:05 <elliott_> The last one is the worst out of them though.
16:28:09 <elliott_> I like how they were in strictly ascending order.
16:32:05 <elliott_> Gregor: BTW, I might get around to that Transactional HackEgo(tm) thing sometime soon.
16:32:39 <elliott_> Gregor: Is this more of your "mockery is the only way to ensure victory" things?
16:33:02 <Gregor> With no one saying you can't, you won't.
16:37:41 <Vorpal> oblivon's alchemy is quite amazing. I managed to create a poison of cure poison. Not sure how.
16:38:40 <Vorpal> also there is a poison named "Restore Magicka" here... but the tooltip indicates no such effect. It is silence for 12 seconds...
16:40:46 -!- Ngevd has joined.
16:41:07 <Ngevd> elliott_, can you recommend me a resturant in Hexham?
16:41:15 <Ngevd> Except spelt correctly
16:43:40 <Ngevd> No wait, think about it and tell me later
16:43:41 -!- Ngevd has quit (Client Quit).
16:44:53 -!- Ngevd has joined.
16:44:57 <Ngevd> Thought about it yet?
16:47:39 -!- Ngevd has quit (Read error: Connection reset by peer).
16:48:06 -!- Ngevd has joined.
17:01:08 -!- Ngevd has quit (Read error: Connection reset by peer).
17:01:34 -!- Ngevd has joined.
17:02:28 <lambdabot> <no location info>: parse error on input `='
17:03:27 <lambdabot> Occurs check: cannot construct the infinite type: t = t -> t1 -> t2
17:04:42 <lambdabot> Couldn't match expected type `[a]' against inferred type `a -> t'
17:04:51 <lambdabot> Occurs check: cannot construct the infinite type: m = m -> t
17:04:57 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> t
17:05:04 <elliott_> > let f x = fromIntegral x + f * 2 in ()
17:05:05 <lambdabot> Occurs check: cannot construct the infinite type: t = a -> t
17:05:13 <elliott_> > let f x = truncate x + f * 2 in ()
17:05:14 <lambdabot> Occurs check: cannot construct the infinite type: t = a -> t
17:05:20 <Ngevd> It's because you're multiplying a function by 2?
17:05:29 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> a
17:05:38 <lambdabot> Occurs check: cannot construct the infinite type: t = [t]
17:06:07 <lambdabot> Couldn't match expected type `t1 -> t' against inferred type `[a]'
17:06:17 <lambdabot> Couldn't match expected type `t1 -> t' against inferred type `[a]'
17:06:22 <Ngevd> Any restaurant reccomendations, elliott_?
17:06:37 <lambdabot> Couldn't match expected type `t1 -> t' against inferred type `[a]'
17:07:16 <Ngevd> > (\x -> ((last x)*2):x) [1]
17:08:33 <lambdabot> Ambiguous type variable `a' in the constraint:
17:09:47 <lambdabot> Not in scope: data constructor `Int'
17:11:08 -!- Ngevd has quit (Quit: I'm a cuboid!).
17:13:27 -!- Madoka-Kaname has left ("Huggles for everybody~♪ ^_^").
17:13:30 -!- Madoka-Kaname has joined.
17:14:05 <lambdabot> Control.Monad join :: Monad m => m (m a) -> m a
17:14:05 <lambdabot> System.FilePath.Posix joinDrive :: FilePath -> FilePath -> FilePath
17:14:05 <lambdabot> System.FilePath.Windows joinDrive :: FilePath -> FilePath -> FilePath
17:19:30 <lambdabot> (forall x. g . h x = k (f x) . g) => g . foldr h y = foldr k (g y) . $map f
17:19:39 <lambdabot> free <ident>. Generate theorems for free
17:20:02 <lambdabot> Pattern match failure in do expression at Plugin/Free/FreeTheorem.hs:54:20-34
17:20:11 <lambdabot> g . h = k . f => $map g . map h = map k . $map f
17:20:16 <elliott_> ?free compose :: (b -> c) -> (a -> b) -> a -> c
17:20:16 <lambdabot> g . k = p . f => f . q = f1 . h => g . compose k q = compose p f1 . h
17:20:36 <lambdabot> Extra stuff at end of line in retrieved type "Not in scope: `unsafeCoerce'\n\n"
17:20:40 <lambdabot> g . unsafeCoerce = unsafeCoerce . f
17:21:10 <lambdabot> f . unsafeCoerceIO = unsafeCoerceIO . $map_IO f
17:21:25 <elliott_> ?free unsafeBlah :: Askjhd a -> a
17:21:26 <lambdabot> f . unsafeBlah = unsafeBlah . $map_Askjhd f
17:21:32 <elliott_> Madoka-Kaname: Note how it doesn't actually know about your types.
17:21:59 <lambdabot> Pattern match failure in do expression at Plugin/Free/FreeTheorem.hs:54:20-34
17:22:40 <Madoka-Kaname> ?free owl :: (Functor f, Functor f1) => f (a -> b) -> f (f1 a -> f1 b)
17:23:19 <Madoka-Kaname> ?free owl :: (a -> b -> c) -> a -> (d -> b) -> d -> c
17:23:20 <lambdabot> (forall x. h . p x = q (f x) . g) => g . f1 = f2 . k => h . owl p y f1 = owl q (f y) f2 . k
17:25:10 <Madoka-Kaname> ?free owl :: (a -> b -> c -> d) -> a -> (e -> f -> b) -> e -> (g -> f) -> g -> (h -> i -> c) -> h -> (j -> i) -> j -> d
17:25:11 <lambdabot> (forall x y. k . f5 x y = f6 (f x) (g y) . h) => (forall u. g . f7 u = f8 (p u) . q) => q . f9 = f10 . f1 => (forall b. h . f11 b = f12 (f2 b) . f3) => f3 . f13 = f14 . f4 => k . owl f5 z f7 v f9 a
17:25:11 <lambdabot> f11 c f13 = owl f6 (f z) f8 (p v) f10 (f1 a) f12 (f2 c) f14 . f4
17:25:20 <Madoka-Kaname> @djinn (a -> b -> c -> d) -> a -> (e -> f -> b) -> e -> (g -> f) -> g -> (h -> i -> c) -> h -> (j -> i) -> j -> d
17:25:20 <lambdabot> f a b c d e f g h i j = a b (c d (e f)) (g h (i j))
17:25:27 <Madoka-Kaname> @pl f a b c d e f g h i j = a b (c d (e f)) (g h (i j))
17:25:29 <lambdabot> f = ((((const .) .) .) .) . flip flip ((.) .) . ((flip . ((flip . ((flip . (liftM2 ((.) . (.) . (.)) .)) .)) .)) .) . flip flip ((.) .) . (((.) . (.) . (.) . (.)) .)
17:25:55 -!- Slereah has joined.
17:26:45 -!- pikhq has quit (Ping timeout: 245 seconds).
17:26:51 -!- pikhq_ has joined.
17:27:48 -!- Slereah_ has quit (Ping timeout: 260 seconds).
17:37:32 <Madoka-Kaname> @djinn (t->t20->t25->t30->t31)->t->(t1->t17->t19->t20)->t1->(t2->t16->t17)->t2->(t3->t16)->t3->(t4->t18->t19)->t4->(t5->t18)->t5->(t6->t22->t24->t25)->t6->(t7->t21->t22)->t7->(t8->t21)->t8->(t9->t23->t24)->t9->(t10->t23)->t10->(t11->t27->t29->t30)->t11->(t12->t26->t27)->t12->(t13->t26)->t13->(t14->t28->t29)->t14->(t15->t28)->t15->t31
17:37:46 <elliott_> Madoka-Kaname: I believe I said: take it to message.
17:37:48 <lambdabot> Plugin `djinn' failed with: thread killed
17:40:43 -!- Ngevd has joined.
17:45:08 -!- pumpkin has joined.
17:45:52 -!- copumpkin has quit (Ping timeout: 258 seconds).
17:46:13 <Ngevd> God, "I'm a cuboid!" is a stupid quit message
17:46:20 <Ngevd> Wait, God isn't on this channel
17:51:23 <Ngevd> NOW TO RECORD A VLOG!
17:54:35 <elliott_> Gregor: Do you do any sort of LD_PRELOADing with the current HackEgo system?
17:54:38 -!- pumpkin has changed nick to copumpkin.
17:55:31 <elliott_> Gregor: Do static binaries work?
17:55:46 <elliott_> Gregor: How should I override syscalls :P
17:56:28 <elliott_> That's what tup replaced LD_PRELOAD with, so it's tempting.
17:56:29 <Gregor> I mean, UML is doing it all for me as it stands.
17:56:48 <elliott_> Gregor: Hmm... I could make it work based on the resulting filesystem /after/ the command runs, but that (a) is brittle, (b) very slow.
17:57:25 <Gregor> That's more or less how it works now.
17:57:36 <Gregor> It does an hg clone and then checks hg status to see if it needs to commit anything.
17:57:44 <Gregor> And yeah, it's slow and terrible :P
17:57:57 <elliott_> Right, you could do it pseudo-transactionally like that, but it would be even more terrible
17:58:12 <elliott_> I think I have a workable, fully-ACID FUSE-based design in my head.
17:58:13 <Gregor> But it was pretty easy to implement X-P
17:58:14 <elliott_> Now I just gotta write it out :P
17:58:43 <Gregor> Incidentally, since UML is a kernel after all, it may (or may not) be more practical (or faster or something) to write it as an actual kernel module instead of FUSE.
17:59:29 <elliott_> Gregor: Yeah, but... I can do FUSE shit in Python.
17:59:37 <elliott_> You can't write kernel modules in anything but C :P
18:00:04 <Gregor> I'll bet if you were a truly awful human being, you could write kernel modules in C++. It would take an enormous amount of hackery though.
18:01:47 <elliott_> Gregor: I wonder how I can handle aliasing through hardlinks...
18:01:58 <elliott_> Gregor: I suppose I can mark dirty changes as inode /plus/ filepath
18:02:21 <elliott_> That makes both, e.g. replacing the filepath to point to some other inode, and modifying an inode pointed to by multiple filepaths, properly
18:03:24 <Gregor> I don't think HackEgo really supports hardlinks anyway.
18:03:32 <Gregor> `run touch foo; ln foo bar
18:03:52 <HackEgo> -rw-r--r-- 1 5000 0 0 Oct 14 18:03 bar \ -rw-r--r-- 1 5000 0 0 Oct 14 18:03 foo
18:04:01 <Gregor> Yeah, it doesn't support hardlinkes.
18:04:34 -!- calamari has joined.
18:08:55 -!- Taneb has joined.
18:09:11 <elliott_> Gregor: So is every inode referenced by at most zero or one file names?
18:09:13 <Gregor> elliott_: Note how the number of links for foo and bar there were both 1.
18:09:19 <HackEgo> 1 \ 11 \ 2 \ 267 \ 271 \ 272 \ 273 \ 274 \ 275 \ 276 \ 277 \ 278 \ 3 \ 4 \ 40 \ 42 \ 44 \ 5 \ 6 \ 64 \ 65 \ 7 \ 8 \ buddyinfo \ bus \ cmdline \ config.gz \ consoles \ cpuinfo \ crypto \ devices \ diskstats \ driver \ execdomains \ exitcode \ filesystems \ fs \ interrupts \ iomem \ ioports \ irq \ kallsyms \ kcore \ kmsg
18:09:24 <elliott_> I guess /proc isn't writable so it doesn't matter.
18:09:27 <Gregor> elliott_: I mean the /hackenv filesystem doesn't.
18:10:55 <Gregor> I mean, I suppose it could in principle, but not supporting them wouldn't be a regression *shrugs*
18:12:07 -!- Ngevd has quit (Ping timeout: 248 seconds).
18:12:58 * elliott_ wonders if a lock-based system might actually work better here...
18:13:09 -!- Taneb|Hovercraft has joined.
18:13:33 <elliott_> Gregor: Is there any reason to not just cause any open-for-write operation to lock a file, such that any attempts to open that file block (not counting to their total allocated execution time) until the writing command finishes and "hg commit"s?
18:13:39 <elliott_> (And then a re-checkout is done, etc.)
18:13:46 <elliott_> That's just the transactional system in disguise :P
18:13:52 <elliott_> Except I removed the atomicity guarantee.
18:15:00 <Gregor> We care about atomicity for revertability, but in principle you could have only half-broken revertability without atomicity.
18:15:14 <elliott_> Gregor: No, I care about atomicity because I care about atomicity :P
18:15:35 <elliott_> Gregor: I like building things like the quote system from simple queries and imperatives.
18:15:48 <elliott_> Not doing everything as one fopen-fwrite-fclose shouldn't break them.
18:16:08 -!- Taneb has quit (Ping timeout: 255 seconds).
18:22:36 <elliott_> Gregor: Hmm, if something tries /reading/ a file BEFORE another thread tries /writing/ it, should the reading transaction fail and go after the write, or should the writing transaction fail and be retried after the reading?
18:23:32 <elliott_> Gregor: I have a feeling I should prioritise writes above all else: Even if minor timing makes a difference, quote should make sense after delquote :P
18:23:58 <Gregor> Writes should be even more rare here than they are in typical transactional systems.
18:24:05 <Gregor> So it's unlikely that writes will ever starve reads.
18:24:42 <coppro> what's the name of that metric used in spell checking? Kblablabmorov distance?
18:25:04 <Gregor> pooppy: Yeah, I'm pretty sure that's it.
18:26:10 -!- pikhq has joined.
18:26:28 -!- pikhq_ has quit (Ping timeout: 252 seconds).
18:27:42 <elliott_> Gregor: How's this sound: http://sprunge.us/TORd
18:30:26 <Gregor> The gritty details are probably going to make this harder to implement than it seems, so I anticipate failure. And maybe crying.
18:31:11 <elliott_> Gregor: One thing that occurs to me is that it should try and preserve the given order of commands...
18:31:20 -!- Taneb|Hovercraft has changed nick to Ngevd.
18:31:23 <elliott_> Gregor: You don't want `delquote a, `delquote b to run the latter before the former.
18:31:28 <elliott_> Because the numbers will change, etc. :P
18:31:53 <elliott_> Gregor: Remind me why complete sequential execution is untenable >_>
18:32:28 <Gregor> It's not untenable per se, just untenably slow.
18:33:47 <elliott_> Gregor: Here's my super-smart transactional HackEgo: If any writes are done, kill all commands executed since and discard their results (nothing gets committed until no previous (chronologically) commands at all are running), then it re-executes them in sequence :P
18:36:16 <Ngevd> Can you reccomend a restaurant?
18:36:29 <elliott_> No. It is a fundamental facet of the human condition.
18:36:39 -!- MDude has quit (Ping timeout: 248 seconds).
18:37:13 -!- SimonRC has quit (Ping timeout: 260 seconds).
18:43:00 -!- SimonRC has joined.
18:43:53 -!- pikhq_ has joined.
18:44:45 <lambdabot> forall r a. Cont r a -> (a -> r) -> r
18:46:59 -!- pikhq has quit (Ping timeout: 260 seconds).
19:00:31 -!- Phantom_Hoover has joined.
19:05:42 -!- oerjan has joined.
19:06:28 <Ngevd> Man, my vlogs are accidentally hilarious
19:06:35 <Ngevd> Shame I don't watch them
19:18:04 -!- calamari has quit (Quit: Leaving).
19:19:11 <Phantom_Hoover> Ngevd, the law of the channel dictates that you must link.
19:19:26 <Ngevd> But then elliott_ will know what I look like!
19:19:43 <Ngevd> http://www.youtube.com/watch?v=cbCVGq2y5io
19:19:55 <elliott_> I'm going to click that link and see my own face staring back at me.
19:20:04 <Ngevd> That's an old photo
19:20:17 <Phantom_Hoover> elliott_, wait, you have the Moustache of Inability to Shave, don't you?
19:21:27 <pikhq_> Hmm. D no longer has 2 stdlibs.
19:21:37 <pikhq_> Tango pretty much died.
19:21:52 <elliott_> pikhq_: As opposed to the incredibly vibrant rest-of-D community
19:22:10 <pikhq_> elliott_: Yes, as opposed to the rest-of-D community.
19:22:20 <elliott_> So it, like, makes negative one commits per second?
19:22:26 <elliott_> It's just rolling back to the big bang.
19:22:37 <Ngevd> I think I can make XSLT S and K work better if instead of having s and k elementsd
19:22:53 <Ngevd> I have combinator elements with the type as an attribute
19:22:57 -!- tiffany has joined.
19:23:12 <Sgeo|web> On Stack overflow, am I not allowed to suspect X-Y problem?
19:23:24 -!- ive has quit (Read error: Operation timed out).
19:23:50 <Ngevd> Should see my older videos
19:24:42 <pikhq_> elliott_: Also, D *might* even become vaguely reasonable to use.
19:24:46 <Phantom_Hoover> Ngevd, what is it with people and not realising that I can click the channel link and see all their videos.
19:24:50 <pikhq_> It's getting merged into GCC.
19:25:01 <Ngevd> I don't really care
19:25:04 <elliott_> pikhq_: No, Digital Mars want gdc to be :P
19:25:16 <elliott_> gdc is not only terrible, but also I doubt anyone gives a shit.
19:25:20 <Sgeo|web> Oh, um. Maybe as an "answer" is the wrong place to say X-Y problem
19:25:26 <pikhq_> elliott_: You really think the GCC devs will say "no"? These people don't know how.
19:25:29 <Phantom_Hoover> Ngevd, jesus christ you look like a twat with that haircut.
19:25:49 <elliott_> We have such quality discussion in here.
19:25:57 <Sgeo|web> Of course, it might not actually be
19:25:58 <Phantom_Hoover> http://www.youtube.com/watch?v=Fi2Q_5yw1MM&feature=channel_video_title
19:26:21 <Ngevd> Skeleton, actually
19:26:21 <elliott_> Monsters waking enclosed beds due to lack of wall thickness.
19:27:25 <pikhq_> I must admit, it still seems strange that many people's concept of a high-level language seems to be "add things to C".
19:28:02 <Sgeo|web> There are people in the Cringley comments AGREEING with Cringley
19:28:13 <Ngevd> For me, a high level language is pretty much "not assembly or machine code"
19:28:19 <Ngevd> I have poor taste in languages
19:28:26 <Ngevd> And non-portable tastes...
19:29:04 <pikhq_> Yeah, even Phantom_Hoover has better taste.
19:29:08 <Sgeo|web> "I refuse to believe that Bob Cringely wrote this article. I typically enjoy your writing sir, but I sincerely hope this was a joke."
19:29:12 <elliott_> Don't call it Cringely for nothin'
19:30:06 <Phantom_Hoover> I... don't know how to tell you this, but... I think you've confused me with CakeProphet.
19:30:28 <pikhq_> CakeProphet: STOP HAVING SUCH BAD TASTE I CONFUSE YOU WITH OTHER PEOPLE
19:30:33 <elliott_> Phantom_Hoover: pls link to instant coffee video
19:31:23 <Ngevd> I'm mildly disturbed
19:31:45 <Ngevd> MS Visual Studio has a decent all bells and whistles XSLT writing thingy
19:32:02 <Sgeo|web> One person makes fun of the article.... while entirely missing the point Cringely is trying to make
19:32:04 <elliott_> Phantom_Hoover: THAT IS NOT INSTANTC OFFE
19:33:37 <elliott_> They should advertise instant coffee with this.
19:35:29 <oerjan> <coppro> what's the name of that metric used in spell checking? Kblablabmorov distance?
19:35:46 <coppro> thought it was a k though
19:36:09 <pikhq_> Phantom_Hoover: The eff?
19:36:18 <elliott_> coppro: you're thinking of kolgomorov complexity
19:37:05 <elliott_> coppro: There is also the Hamming distance, which doesn't have substitution.
19:37:39 <Phantom_Hoover> I don't know, instant coffee is pretty well related to Kolmogorov complexity.
19:38:51 <Phantom_Hoover> I love how all of the evidence points to iti living in a shack.
19:39:01 <copumpkin> you can't compute colmogorov complexity
19:39:07 <copumpkin> but you can kompute kolmogorov komplexity
19:39:35 <Ngevd> "Now that you have installed Ubuntu (in the Study Week 2), visit https://help.ubuntu.com/ community/ Games
19:39:35 <Ngevd> [Tip: hold Ctrl and click a link to open it in a new tab. (Hide tip)
19:39:36 <Ngevd> ] . Would the selection amuse the average teenager?"
19:39:45 <Ngevd> "The collection includes many small games as well as complex three-dimensional gaming environments."
19:40:46 <Phantom_Hoover> I wish the maths course I did had made cracks at teenagers like that.
19:47:19 <Ngevd> You know what I miss?
19:47:28 <Ngevd> Frequent Homestuck updates
19:49:44 <Ngevd> I really want to see more Homestuck
19:50:17 <Ngevd> Hold on, I have an entire MSPAFA to myself
19:50:23 <Sgeo|web> Ngevd: somehow I doubt this hiatus nis permanent
19:51:00 <Ngevd> http://www.mspaforums.com/showthread.php?34749-PixelQuest-the-one-with-you-know-pixels
19:52:51 -!- SgeoN1 has quit (Read error: Connection reset by peer).
19:52:57 -!- SgeoN2 has joined.
19:54:31 -!- pumpkin has joined.
19:55:32 -!- copumpkin has quit (Ping timeout: 240 seconds).
19:57:15 <Ngevd> I AM GOING TO UPDATE MY MSPAFA!
19:59:33 <Phantom_Hoover> Ngevd, pixel: replicate self into 9 pixels, delete middle pixel, shrink self by scale factor 3, repeat ad infinitum; become, in the limit, Douglas Hofstadter.
20:01:20 <Phantom_Hoover> (Is 2 Hofstadter jokes in one day too many? Who knows.)
20:01:40 -!- zzo38 has joined.
20:01:42 <Ngevd> If you want me to do it, post it in the thread
20:01:50 <Ngevd> I've done virtually every submission
20:02:25 <zzo38> This is SQL-Report program I made for FreeGeek: http://sprunge.us/XLWg
20:02:36 <Ngevd> Because that would be cheating
20:03:13 <zzo38> I can send a plain C code file too if you want that one.
20:03:58 -!- pumpkin has changed nick to copumpkin.
20:12:12 <Sgeo|web> Phantom_Hoover: I can post for you
20:12:40 <Sgeo|web> Wait, I have no idea if that even makes sense in the current context
20:12:41 <zzo38> Is this program good to you?
20:20:26 <oerjan> he still lacks the conquest of his enemies and the lamenting of their women.
20:22:35 <Sgeo|web> Any binary on Heroku, or something
20:23:25 <HackEgo> 407) <oklofok> i hope that isn't child pornography <oklofok> whew <oklofok> equally cute tho, have to admit
20:23:26 <HackEgo> 425) <Phantom_Hoover> https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 <Phantom_Hoover> APT GUY STRIKES AGAIN <Gregor> APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY
20:23:38 <HackEgo> 453) <coppro> elliott: actually, it's worse right now, I'm in the USA <coppro> where the solution to counterfeiting problems is "add more ink" <coppro> eventually all US bills will just be solid green
20:23:38 <HackEgo> 83) <Warrigal> What do you call the husband of my first cousin once removed? <apollo> Warrigal: "Hey, Sexy."
20:23:38 <HackEgo> 66) <oklopol> hmm, this is hard
20:24:25 <oerjan> Gregor: elliott_ does not appreciate your humor
20:24:34 <elliott_> oerjan: No you don't understand.
20:24:39 <elliott_> I'm culling the quote database on grounds of badness.
20:24:53 <HackEgo> 172) <cpressey> Never ever use a quote which contains both the words "aloofness" and "gel" (verb).
20:25:03 <elliott_> oerjan: So every now and then I do `quote five times, and then delete the worst one.
20:25:09 <elliott_> Unless they're all really good.
20:26:51 -!- pikhq_ has quit (Ping timeout: 252 seconds).
20:26:54 -!- pikhq has joined.
20:28:32 -!- elliott_ has quit (Remote host closed the connection).
20:37:34 -!- GreaseMonkey has joined.
20:38:38 -!- GreaseMonkey has quit (Client Quit).
20:39:27 <HackEgo> 9) <Madelon> Lil`Cube: you had cavity searches? <Lil`Cube> not yet <Lil`Cube> trying to thou, just so I can check it off on my list of things to expirence
20:39:28 <HackEgo> 177) <ais523> you should be eating corpses more
20:39:41 <HackEgo> 138) <fungot> AnMaster: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
20:39:42 <HackEgo> 653) <shachaf> elliott: GHC bug? Come on, it's the parentheses. <shachaf> The more parentheses you add, the closer it is to LISP, and therefore the more dynamically-typed.
20:39:42 <HackEgo> 336) 00:07 Sgeo has quit (IRC is taking up too much of my time. I need time to study the Bible and find Christ.) 00:12 Sgeo has joined #esoteric.
20:41:04 <Phantom_Hoover> "The conflicts, in which vendors raided one another's vans and fired shotguns into one another's windscreens, were more violent than might typically be expected between ice-cream salesmen.
20:41:34 <Ngevd> The ice cream man outside of school has gone away
20:41:44 <Ngevd> Turns out, I was the only person who bought his ice cream
20:41:54 <Ngevd> Everyone else bought his drugs
20:42:43 -!- GreaseMonkey has joined.
20:42:57 <oerjan> Phantom_Hoover: [citation needed]
20:46:11 <Phantom_Hoover> This article is far, far, far longer than it has any right to be.
20:46:29 <Ngevd> "Edingburgh, Scotland"!?
20:48:51 -!- pikhq has quit (Read error: Operation timed out).
20:54:07 <Ngevd> Well, I've updated my MSPAFA
20:56:44 <Ngevd> That is the author's and the artist's shared perogative
20:56:49 <Ngevd> Look at MegaTokyo.
20:56:57 <Ngevd> I NEVER resort to filler art
20:57:01 -!- ive has joined.
20:57:21 <Ngevd> And I do it for fun
20:58:49 <Ngevd> I don't care if everyone hates me for ti
20:59:14 <Ngevd> See, I can turn one typo into another!
20:59:23 <Phantom_Hoover> No you don't get it I hate you for things that you *don't* do.
21:00:23 <Sgeo|web> I don't think AH always responded to all suggestions even in the early days?
21:00:26 <Ngevd> All in good time, Phantom_Hoover, all in good time
21:00:39 <Ngevd> I respond to all suggestions always
21:00:47 <Ngevd> Just after some delay
21:02:46 -!- Ngevd has quit (Quit: Goodbye).
21:08:40 <CakeProphet> fizzie: any idea what encoding /usr/share/dict/* is in?
21:08:59 <CakeProphet> I'm guessing UTF-8, but I'm getting a lot of warnings about bytes not mapping to code points.
21:16:07 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
21:23:42 <CakeProphet> I would think that the data is properly encoded.
21:26:40 -!- derdon has joined.
21:31:54 -!- pikhq has joined.
21:35:55 -!- Phantom_Hoover has joined.
21:38:27 <CakeProphet> it's not write any of the /usr/share/dict data
21:49:58 -!- Patashu has joined.
22:01:22 <fizzie> Some of them may not be UTF-8; e.g. the /usr/share/dict/finnish wordlist from 'wfinnish' is in ISO-8859-1.
22:04:33 <CakeProphet> Perl doesn't seem too good at automatically detecting encodings or anything like that.
22:04:49 <CakeProphet> I have it set to explicitly read UTF-8 at the moment.
22:05:11 <fizzie> What do you mean not good? "use Encoding::Guess" and all that.
22:05:48 <fizzie> It's doable manually with plain Encode, but it's a little more complicated.
22:06:09 <fizzie> Though even with plain Encode it should be reasonably easy to read "utf-8 with fallback to latin-1".
22:06:20 <Phantom_Hoover> Dammit elliott why did you need to sleep before opening that envelope.
22:06:58 <fizzie> Okay, so Encode::Guess is not very good at guessing on single-byte encodings where all bytes are valid; those always count as matching guesses. But still.
22:08:26 <CakeProphet> fizzie: hmmm, so it'll be kind of difficult to read any encoding and convert it all to one encoding?
22:08:48 <fizzie> (Possibly UTF-8 with CP1252 fallback can also work; it's about the same as latin-1/9 fallback, except the 0x80-0x9f control character block of latin-X is filled with "smart quotes" and such.
22:08:54 <Phantom_Hoover> Please make sure you access the EUCLID channel when you are requested by email to do so." — University of Edinburgh
22:10:51 <fizzie> There's an Encode::Detect too, but I've heard of Encode::Guess more.
22:11:13 <CakeProphet> fizzie: well with single-byte formats I really don't care what the encoding is, I think.
22:11:31 <oerjan> Phantom_Hoover: yeah it's address is [REDACTED]
22:11:56 <fizzie> It's kind of hard to guess encodings well.
22:12:15 <CakeProphet> fizzie: could I extract the encoding data from file?
22:13:06 <fizzie> I guess you... could, though I don't really think file's guess is any cleverer.
22:15:35 <Phantom_Hoover> oerjan, all the lecture notes are just page upon page of [DATA EXPUNGED].
22:15:51 <fizzie> I mean, it's literally just "check for UTF-like stuff; no? well, check if there's anything in the latin-1 control character regions? oh, there were? well, then it's 'extended non-ISO' and that's that".
22:16:03 <fizzie> If you do extract it from file, use the --mime-encoding flag.
22:16:10 <fizzie> (It's more parseable that way.)
22:17:29 <fizzie> Though use Encode; use Encode::Guess qw/latin1/; my $utf8 = decode("Guess", $data); probably does approximately as well. Needs to preload the data, though. ("file" just looks at the first N bytes, I think.)
22:18:05 <fungot> oerjan: it's what that guy in medina, a village near the mystic mountain" 65,000,000 b. c.? yes, i'd have done something very brave? fnord 06:22, 29, no. 2, 2, 3, 4, 8, 13, 1(::**) ...bad insn!
22:18:22 <fizzie> oerjan: I think you broke it.
22:19:43 <Phantom_Hoover> fizzie, no, it's just a result of the [DATA EXPUNGED].
22:19:54 <oerjan> the unbeatable combination of lovecraft and underload
22:20:27 -!- azaq23 has joined.
22:20:36 -!- azaq23 has quit (Max SendQ exceeded).
22:21:02 -!- azaq23 has joined.
22:22:13 <fizzie> At least the comment looks exactly like the sort of stuff you'd expect from the rogue AI as you disconnect its component cards one by one to stop it from killing you.
22:22:57 <Phantom_Hoover> fizzie, what if fungot's component cards are being connected, and this is the boot sequence.
22:22:58 <fungot> Phantom_Hoover: is that something you know and and the cases that required to actually mutate the original ( sorted, perhaps, it may be said that particularly here, parliament will give a single instance,
22:24:30 <fungot> Phantom_Hoover: c has an ignore restarter, restart/ ignore do? the symbols, pairs, procedures, and so am i just being anal here or am i misunderstanding how these were the people skills of a plane alone
22:24:37 <fungot> Phantom_Hoover: i, myself, will bring an end to all. ghosts lurk in the ruins were in truth, and everything in readiness for fnord. under these is concerned, the use of " coup" here is one that only takes predicates and has not named a
22:24:57 <Phantom_Hoover> fizzie, OK wait what would happen if you gave fungot the OEIS.
22:24:57 <fungot> Phantom_Hoover: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
22:25:36 <CakeProphet> fizzie: so by ISO-8859 do you mostly mean latin-1?
22:29:12 <CakeProphet> latin-1 doesn't cover finnish or swedish completely
22:29:44 <Phantom_Hoover> I hate it when all conversation on the channel collapses for no readily apparent reason.
22:30:30 <CakeProphet> mainly because fizzie isn't replying to your millions of questions. :P
22:33:53 <fizzie> I don't think I said "ISO-8859" anywhere; by ISO-8859-1 I obviously mean latin-1, because they're the same thing. (As are ISO-8859-15 and latin-9, for some inexplicable reasons.)
22:33:57 <fizzie> Phantom_Hoover: Digits would come out.
22:35:23 <CakeProphet> fizzie: why would they use latin-1 if it doesn't completely cover Finnish?
22:35:47 <Phantom_Hoover> fizzie, yes, this was not so much a "what if" question as a "this would be so cool I would tell you to do it now if it didn't make me look like a prick".
22:36:13 <Deewiant> CakeProphet: It covers all the parts that most people ever use
22:36:42 <fizzie> CakeProphet: Because that's what was the standard for all text here, before latin-9 and Unicode came along. (After the silly 7-bit things.)
22:37:38 <CakeProphet> hmmm, okay so how would I go about converting latin-1 to utf-8... is that even a thing?
22:38:08 <Deewiant> Latin-1 byte x is Unicode code point x
22:40:14 <fizzie> And you can use something like use PerlIO::encoding; open my $foo, '<:encoding(latin-1)', $foofile or die "urgh" to read a latin-1-encoded $foofile.
22:42:19 <CakeProphet> so wait, that means I don't actually have a problem right? or does latin-1 not correspond to the same bytes as UTF-8?
22:43:06 <fizzie> Unicode codepoint x is not represented by byte x, because the codepoints are rather larger than bytes.
22:44:00 <fizzie> It's not possible for it to represent latin-1 as the way latin-1 is, because there would be no bytes left over to do anything else, like escaping or whatever.
22:44:34 <CakeProphet> so I think my best option is to use Encode::Guess and then convert latin-1 to utf-8 via... something.
22:44:36 <fizzie> (But UTF-8 does happen to correspond to ASCII for any codepoints <0x80.)
22:45:22 <fizzie> use Encode; use Encode::Guess qw/latin1/; my $utf8 = decode("Guess", $data); already converts, assuming $data is what you read from a file with :raw or something.
22:47:40 <fizzie> I'm not entirely sure. I think it reads bytes (that you can then decode(); as opposed to UTF-8 or something) by default if you don't 'use' anything, though.
22:48:43 <CakeProphet> according to PerlIO you can also use binmode, which is more backwards compatible.
22:51:41 -!- Vorpal has quit (Ping timeout: 252 seconds).
22:52:10 <fizzie> It's not the default, but I think the default is bytey enough. But that's just a guess.
22:52:49 <fizzie> No, Unicode is in there by default.
22:53:56 <Gregor> (to police officer) "I'm sorry, but my TV is broken and I didn't know who to call!" "Normally you'd call a TV repair man. If that repair man tried to kill you or steal your purse, then you'd call us." -- Corner Gas
22:54:42 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:55:06 <zzo38> I should try to think of what spell I want for D&D game; if I make up something I can ask the Dungeon Master. Such as, a spell that causes creatures in range to attack the caster to the best of their ability and they even get bonuses if targeting the caster (including higher save DC). What level and name would be such a spell?
22:56:37 <CakeProphet> zzo38: try one of these: http://thesaurus.com/browse/distract
22:57:18 <zzo38> I don't want to open a web browser right now, actually, but OK
22:59:53 <zzo38> Another idea of a spell, makes the caster have a penalty of their choice to an ability score of their choice and is dismissible as an immediate action
23:00:09 <zzo38> Another idea of a spell, is a spell that affects the phase of the moon but only locally
23:00:15 <zzo38> And only temporarily
23:03:15 <zzo38> I am sorry, can you explain better?
23:03:39 <CakeProphet> the moon spell sounds like a daily spell. that's a thing in D&D right?
23:04:01 <zzo38> Are you talking about 4th edition? I am playing 3.5 edition
23:05:04 <zzo38> I finished typing the recording for the session I have played last, except for some of the level-up stuff.
23:05:51 <CakeProphet> fizzie: oh hey, what did I need Encode for in your example above
23:06:13 <zzo38> Another idea, is spell that writes information such as the time of day, current position, mass, length, etc, on a provided paper, even if you have no writing equipment
23:07:36 <CakeProphet> what about a spell that makes you INSANE WITH SMARTNESS.
23:07:37 <fizzie> CakeProphet: To export the 'decode' funnction, I suppose. It was from some example.
23:07:49 <CakeProphet> fizzie: but decode exists in Encode::Guess.
23:08:45 <fizzie> CakeProphet: It does? Weird. Maybe it automatically re-exports it for convenience, then.
23:08:52 <Phantom_Hoover> But it's used for _any_ apocalyptic war, and so it's useless to refer to any real war that way.
23:10:10 <Phantom_Hoover> It'd be called the War of Fred's Accidental Button Press or something similarly specific.
23:10:13 <fizzie> fis@eris:~$ perl -e 'use Encode; use Encode::Guess qw/latin-1/; decode("Guess", "");'
23:10:16 <fizzie> Empty string, empty guess at /usr/lib/perl/5.10/Encode.pm line 174
23:10:18 <fizzie> fis@eris:~$ perl -e 'use Encode::Guess qw/latin-1/; decode("Guess", "");'
23:10:19 <CakeProphet> fizzie: I wonder if decoding line by line will result in a larger number of errors.
23:10:21 <fizzie> Undefined subroutine &main::decode called at -e line 1.
23:10:21 <fizzie> Looks like it doesn't.
23:10:36 <zzo38> I need to select two spells to level-up. I think I might select the Extend Tentacles spell, and possibly also the Object Mirroring spell that I made up if the DM approves it
23:10:59 <zzo38> You think it is perverse?
23:10:59 <CakeProphet> fizzie: because it will croak if more than two encodings match
23:11:11 <CakeProphet> which could easily happen between UTF-8 and latin-1 I think?
23:11:53 <fizzie> CakeProphet: Only if two suspects match, I think. Not for Unicode and a suspect.
23:11:57 <CakeProphet> hopefully it's smart enough to realize that when that happens the encodings are equivalent.
23:12:12 <zzo38> Select a line crossing the object which direction to mirror it in. That object becomes mirror-imaged of itself, but other than that it will be the same object. (If the object contains writing, the writing will now be backwards.)
23:12:30 <zzo38> O, you mean the times we live in are perverse.
23:12:56 <Phantom_Hoover> No, I mean such are the times we live in that any reference to tentacles will be viewed in a sexual light.
23:13:08 <CakeProphet> though mirror-images sound pretty sexy too.
23:13:14 <CakeProphet> I'm getting hot and bothered just thinking about it.
23:13:31 <zzo38> Phantom_Hoover: O, that is why I said, the times we live in are perverse. So, it is same thing. However, neither of these two spells have anything to do with sexual light.
23:14:05 <zzo38> It has nothing to do with sexual anythingelse, either.
23:15:55 <zzo38> (Extend Tentacles increases reach of caster's tentacle attacks by 5 ft (no effect if the caster is human); Object Mirroring causes an object to become a mirror image of itself, so that if it contains writing, it will now be written backwards.)
23:16:51 <zzo38> (Effects of mirroring molecules, atoms, and subatomic particles, is ignored)
23:16:52 <CakeProphet> zzo38: also it would reverse asymmetrical things.
23:17:08 <Phantom_Hoover> So you could use Object Mirroring on a person and watch them slowly starve to death?
23:17:11 <zzo38> CakeProphet: Yes it does. Creatures get a saving throw, though.
23:17:12 <CakeProphet> they'll be so confused. their sense of right and left will be all messed up.
23:17:23 <zzo38> And it is also temporary if used on creatures.
23:17:30 <Phantom_Hoover> Or indeed invoke CP symmetry and watch for a short time as they explode.
23:17:35 <zzo38> Because it is designed to use on objects.
23:18:14 <zzo38> Phantom_Hoover: You cannot invoke CP symmetry because one of the paragraphs in the spell description says such effects are ignored
23:18:40 <Phantom_Hoover> zzo38, oh well, at least we have our tentacles of sexual light.
23:18:41 <zzo38> That is what I meant by "Effects of mirroring molecules, atoms, and subatomic particles, is ignored"
23:19:01 <zzo38> Phantom_Hoover: No, the tentacles and mirrors have nothing to do with sexual anything
23:19:03 <CakeProphet> iso-8859-1 or utf8 at /usr/local/lib/perl/5.10.1/Encode.pm line 174
23:19:27 -!- copumpkin has joined.
23:19:28 <Phantom_Hoover> If chirality of proteins etc. is left as-is, the overall reflection would stop them from fitting together at all.
23:19:47 <CakeProphet> fizzie: well, it's just a warning so... I guess it doesn't matter?
23:20:02 <Phantom_Hoover> Not to mention things like polymers and chiral ionic lattices.
23:20:38 <zzo38> Phantom_Hoover: O! I forgot about that. Although what I meant is that at the molecular level things just change so that they are the same thing, by magic; and at larger scales everything is mirrored.
23:21:06 <CakeProphet> I think it's probably best to leave chemistry out of D&D.
23:21:14 <zzo38> Phantom_Hoover: Are you sure?
23:21:15 * oerjan throws a paradox spell at Phantom_Hoover
23:21:48 <Phantom_Hoover> I could quite easily construct a system wherein macroscopic parity reversal would result in qualitatively different properties than the unmirrored version.
23:22:15 <CakeProphet> Phantom_Hoover: do it. stopwatch has started.
23:22:37 <zzo38> Probably, then in those kind of cases, the spell can be used.
23:23:13 <CakeProphet> does D&D even specify that its unvierse consists of the same kinds of units of matter as ours?
23:23:25 <CakeProphet> I imagine there's some kind of magical theory behind it.
23:23:32 <CakeProphet> involving like, I dunno, elements and other magicky things.
23:23:39 <Phantom_Hoover> Well, if zzo38 defines his own laws of physics, and they're consistent, I have no quarrel.
23:24:05 <zzo38> Note the spell allows mirroring on whatever axis is wanted, as long as some restrictions are followed, having to do with supporting objects, moving the center of gravity, and ensuring at least one point of the object remains part of the object relative to the current position.
23:24:18 <Phantom_Hoover> But the explicit reference to molecular structure implies that it does use real-world chemistry.
23:24:44 <Phantom_Hoover> zzo38, ah, so you can't fling a rock 500km into the air with it?
23:25:28 -!- Phantom_Hoover has left ("Leaving").
23:25:31 -!- Phantom_Hoover has joined.
23:25:43 <zzo38> Phantom_Hoover: Yes, you cannot use it to fling a rock 500km into the air.
23:26:29 <Phantom_Hoover> The light it reflects is still circularly polarised in the same direction; however, if you chipped its carapace on one side, the chip would move.
23:28:38 <oerjan> CakeProphet: http://www.giantitp.com/comics/oots0423.html
23:29:06 -!- Phantom_Hoover has quit (Quit: Leaving).
23:31:41 -!- kmc has quit (Quit: Leaving).
23:33:05 <CakeProphet> okay, but for some reason my /usr/share/dict datasets aren't writing to a file.....
23:40:30 -!- oerjan has quit (Quit: Good night).
23:44:32 <CakeProphet> yeah I'm getting blank results for those...
23:46:30 <CakeProphet> well, I guess it's time to explicitly specify encoding...
23:53:54 <CakeProphet> file /media/Elements/googledata/googlebooks-ger-all-1gram-20090715-1.csv
23:53:55 <CakeProphet> /media/Elements/googledata/googlebooks-ger-all-1gram-20090715-1.csv: ASCII text