00:00:21 :t mkT 00:00:23 Not in scope: `mkT' 00:00:26 :t Data.Data.mkT 00:00:27 Not in scope: `Data.Data.mkT' 00:00:29 ugh 00:01:08 @ty Data.Generics.mkT 00:01:10 (Typeable b, Typeable a) => (b -> b) -> a -> a 00:01:30 @hoogle mkT 00:01:31 System.IO mkTextEncoding :: String -> IO TextEncoding 00:01:31 GHC.IO.Encoding mkTextEncoding :: String -> IO TextEncoding 00:01:31 Data.Typeable mkTyCon :: String -> TyCon 00:02:14 > Data.Data.gmapT (Data.Generics.mkT (\(x::Int) -> x+2)) (3::Int) 00:02:15 Not in scope: `Data.Data.gmapT'Not in scope: `Data.Generics.mkT' 00:02:21 kghdfkjsghdfkljsg 00:03:34 -!- sivoais has quit (Ping timeout: 240 seconds). 00:03:48 > Data.gmapT 00:03:50 Not in scope: `Data.gmapT' 00:03:54 > D.gmapT 00:03:55 Not in scope: `D.gmapT' 00:04:14 -!- carado has quit (Ping timeout: 246 seconds). 00:07:12 -!- sivoais has joined. 00:07:50 I wish I understood CL's condition stuff well enough to understand how Factor's differs 00:08:23 what's to understand 00:08:55 > over biplate (\(x::Int) -> x+2) (3::Int) 00:08:57 5 00:09:47 How to define what happens when a restart is chosen (that's set in CL using some macro, I think?) 00:10:23 you just bind a thunk to the restart name. 00:10:35 Factor's system is basically: When you throw, include a bunch of strings and values, the throw will, if a restart is chosen, return one of the values 00:11:43 http://docs.factorcode.org/content/word-throw-restarts%2Ccontinuations.html 00:12:29 I don't actually see a real mechanism to catch these :/ 00:13:17 :t over biplate 00:13:18 (Data.Data.Data t, Typeable b) => (b -> b) -> t -> t 00:13:24 it seems like cl's, except that in cl you can do arbitrary actions instead of just returning a value. 00:14:01 oh, and you can't define handlers? I don't see any, and it talks about the top level. 00:14:22 shachaf: does biplate act like gmapT there though 00:14:32 I'm wondering whether gmapT map over the "root" 00:14:40 Well, the debugger talks about :res which calls restart 00:14:54 http://docs.factorcode.org/content/word-recover%2Ccontinuations.htmloh, there we go. 00:15:10 -!- Nisstyre has joined. 00:15:40 Bike, it's still not clear from that how that would be used to resume 00:15:44 I think 00:16:17 AFK 00:16:50 -!- sebbu2 has changed nick to sebbu. 00:19:36 I don't think it can be 00:21:07 yeah, the debugger page seems to imply you can only resume from well, the debugger. 00:21:45 The debugger's written in Factor (I assume) 00:21:50 So there has to be a way 00:22:16 http://goatkcd.com/1146/sfw [nsfw] 00:22:30 you assume. 00:22:49 http://docs.factorcode.org/content/word-restart%2Ccontinuations.html oh duh, :res has the implementation right there. 00:23:22 "/sfw [nsfw]" 00:23:37 yup 00:30:35 -!- pikhq has joined. 00:35:02 i guarantee you that it is less sfw if you remove "/sfw" 00:35:07 also less funny and more gross 00:45:56 -!- nooga has quit (Read error: Operation timed out). 00:49:15 wait 00:49:24 does gmapT f x run f on x first 00:49:27 or on its children first 00:49:29 maybe i should ask #haskell 00:50:33 maybe you should test it 00:50:40 that sounds like work 00:51:04 but okay 00:51:45 Prelude Data.Data Data.Generics> gmapT (mkT (\(xs::[Int]) -> reverse xs)) [1,2,3,4::Int] 00:51:48 [1,4,3,2] 00:51:50 i don't get it 00:52:10 [1,2,3,4] -> [1,2,4,3] -> [1,3,4,2] -> [2,4,3,1] I would have understood 00:52:21 Not with gmapT 00:52:41 ok I admit I have no idea what semantics gmapT actually uses, it baffles me 00:52:53 Prelude Data.Generics Data.Data> everywhere (mkT $ do reverse :: [Int] -> [Int]) [1,2,3,4::Int] 00:52:58 how come if you do 00:53:07 gmapT (mkT (\(x::Int) -> x+3)) (4::Int) 00:53:10 it applies it to the whole 4 00:53:14 but here reverse doesn't get applied to the whole list 00:53:21 wait 00:53:24 it doesn't apply +3 to the 4 00:53:31 ok then 00:53:48 so it applies the transformation to all the immediate children, and not itself 00:54:03 I guess you can build everywhere from gmapT? 00:54:28 \f -> f . gmapT (everywhere f) apparently 00:54:38 Have you seen the SYB documentation? 00:54:44 These slides are good: https://docs.google.com/viewer?url=http://research.microsoft.com/en-us/um/people/simonpj/papers/hmap/Boilerplate%20v3.ppt 00:55:00 I've read them but then I forgot it all. 00:55:13 I sort of hate how all the SYB machinery is crap at implementation hiding. 00:55:15 So read them again? 00:55:23 So you end up writing code depending on the implementation details of all the types you're using. 00:55:57 i like that we now live in a world where the Pope tweets things and immediately gets responses like "@Pontifex you are a huge bummer, dude" 00:55:57 elliott, Phantom__Hoover Fiora udpate 00:56:42 Bike, the big question is how does it manage to catch the exception. I think 00:57:27 hm can you even give a default definition for an ATF 00:57:28 sgeo: that seems to be what Recover is for. 00:57:43 ...it occurs to me that just because recover's stack effect says something, does not mean it cannot use restart, especially since restart will resume a continuation 00:57:54 oh you can 00:58:06 Bike, I was taking recover's stack effect too seriously 01:00:04 waiting now for the Pope to do a Reddit AMA 01:00:05 kmc: btw I ended up fixing that (??) I pasted 01:00:05 type family (??) (xs :: [*]) (ts :: [*]) (bss :: [[Bool]]) :: Constraint 01:00:06 type instance ('[] ?? ts) bss = () 01:00:06 type instance ((x ': xs) ?? ts) bss = (bss ~ (Head bss ': Tail bss), (x ? ts) (Head bss), (xs ?? ts) (Tail bss)) 01:00:11 imo this is perfect 01:00:13 elliott: oh well it's all clear now 01:00:27 ?? 01:00:42 less of a type family and more of a type frenemy 01:00:42 the bss is basically a "variable supply" here that the typeclasses can hang the type equality results off 01:01:02 but you avoid passing it a bunch of type variables explicitly by having it constrain that there must be a bunch 01:01:25 slowly coming to terms with the fact that I am a genius 01:01:30 we all are 01:02:35 this (??) stuff doesn't infer terribly well though; I might have to make it a typeclass instead 01:02:39 which is ok 01:05:29 shachaf: what's a pirate's favorite locale? 01:06:24 meh 01:06:29 this typeclass version seems to infer worse 01:06:32 arrrrrrrrrrrrrrrrrrrrr_SO.UTF-8 01:08:27 the problem is mainly in the list deconstruction 01:10:07 shachaf: did you see http://overstated.net/2007/02/01/san-francisco-guide-to-new-york-neighborhoo 01:10:12 er 01:10:14 http://overstated.net/2007/02/01/san-francisco-guide-to-new-york-neighborhoods 01:10:52 "Wherever Giuliani put it" 01:12:41 btw i could avoid all this hackery if there was a type equality type family 01:12:51 but there isn't 01:12:52 and that sucks 01:14:37 ooh 01:14:49 maybe I can use a restricted TypeEq that doesn't give access to the result 01:18:17 -!- fizzie has quit (Ping timeout: 264 seconds). 01:18:17 -!- variable has quit (Ping timeout: 264 seconds). 01:18:23 coool, it works 01:18:25 *cool 01:18:25 -!- variable has joined. 01:18:28 hm 01:18:31 I bet this is inefficient though 01:18:59 if i may venture a question 01:19:03 what the hell are you doing 01:19:29 Bike: I am so deep in this mess I have no idea how to explain it to another person 01:19:57 -!- augur_ has quit (Remote host closed the connection). 01:19:57 my commiserations 01:20:08 Bike: I can assure you I have no practical use for it though 01:20:30 -!- fizzie has joined. 01:22:09 oh, I think I broke it again 01:22:32 -!- ogrom has quit (Quit: Left). 01:22:37 that was a given 01:23:19 If I'm going to play with Factor, I should probably download and install it 01:25:37 shachaf: Does SYB support doing things like reversing every list in a structure, regardless of the element type of the list? 01:25:40 I forget. 01:25:42 Maybe I should read the docs. 01:26:39 I'm not sure. 01:29:50 I just thought of a fun/evil use for lmgtfy 01:30:33 Suppose I want to encourage some online community to vote on some online poll 01:30:38 *Main> everywhere bleh "hello world" 01:30:39 "ello worldh" 01:30:40 Prelude Data.Generics> everywhere (mkT (reverse::String->String)) "hello world" 01:30:43 "el oldrwolh" 01:30:45 I think i did it wrong. :( 01:30:56 If I link directly to the poll, it will show up in the logs that I linked them 01:31:03 (We're assuming the online community is web-based) 01:31:24 elliott: this system is fucking mystifying 01:31:44 If I use a referer stripper, it will look suspicious that so many people knew the exact URL of the poll 01:31:52 Bike: I have a 270 line source file that only mystifies it further 01:31:52 elliott: Well, it reverses the list but then descends into its children. 01:32:03 So, link to the Google search results, this way it looks like all these people googled for it 01:32:21 But, if they come from the same Google search URL, that would also look odd. So... hm 01:32:23 > over biplate (reverse::String->String) ("hello there", 1, "hi") 01:32:25 ("ereht olleh",1,"ih") 01:32:37 time to remove that g from your nick, sgeo 01:32:38 oh, my "everywhere" was actually "every two wheres" 01:33:00 everywhere f x = spec f (gmap f x) 01:33:07 I'll need to make it actually transform Specs, I guess 01:33:11 Actually, lmgtfy results in a google search page, but that search page would also have a suspicious URL 01:33:17 which is sort of hard 01:33:22 So so much for lmgtfy helping 01:46:30 :t Data.Data.gmapT 01:46:31 Data.Data.Data a => (forall b. Data.Data.Data b => b -> b) -> a -> a 01:48:02 Factor won't start :( 01:51:28 isn't it a dumbassproof one file thing 01:52:02 oh you know wwhat, as long as elliott is reaching new frontiers into digging holes type safely, nother dumb haskell question 01:52:16 i'm guessing any real compiler is going to have some kind of structure to represent types. is that true? 01:53:06 As opposed to what, not representing types in any structure? 01:53:53 just asking. 01:54:14 that is true 01:54:30 It seems true but I'm not sure I understood the question. 01:54:33 k 01:54:35 it will have structures to represent types, functions, modules, etc. 01:54:39 all the stuff what makes up a program 01:54:50 that's true of any compiler, not just haskell compilers 01:55:14 well, would say a C compiler need something to represent "int"? 01:55:22 yes 01:55:36 as opposed to just skipping over the word "int" wherever it appears? 01:55:56 no, just, having some kind of structure with information about int-ness doesn't seem necessary to me 01:55:59 a C compiler needs to be able to represent types like "pointer to pointer to int" and "pointer to function which takes three floats and returns an int" 01:56:09 oh, that's true 01:56:29 sure, you could have a compiler where primitive types are represented by bare integers 01:56:38 int = 1, float = 2, char = 3, whatever 01:56:57 but you need to represent also composite types like arrays and functions and pointers 01:57:14 and structs 01:57:16 as well as qualifiers such as signed/unsigned, const/volatile/restrict, etc 01:57:17 structs are types!! 01:57:19 yeah 01:57:22 right 01:57:28 also functions themselves, not just pointers to, are types 01:57:29 so, badly considered question. thanks 01:57:49 data VagueApproximationOfACType = Int | Char | Ptr VagueApprosdfjoisdType | Struct [(String,VagueAOoisadjoijknCpttypke)] | stuff 01:58:00 great code 01:58:01 elliott: Functions! 01:58:34 is there a language that shines by its lack of typing? 01:58:36 you can do: typedef int f(float); f* p; 01:58:51 there are languages with only one type 01:58:57 Is kmc one of the people who says "type* value;"? 01:59:02 shachaf: sometimes 01:59:18 Arc_Koen: for example in shell the only type is string pretty much 01:59:34 I was thinking more something like "C where every variable is a union" 01:59:37 in perl, types are not so much a property of variables as how you decide to use them 01:59:41 oh 01:59:49 that doesn't really mean not having types 01:59:50 an *unchecked* union? 01:59:57 i mean, the whole point of that would be casts... 01:59:58 I like the thing where you can say (********p)(x). 02:00:06 ? 02:00:07 not sure what unchecked means, but yeah, I guess 02:00:09 Arc_Koen: forth 02:00:35 you get a stack of machine words and what they mean depends entirely on what you do with them 02:01:01 by words you don't mean the same thing as forth words right? 02:01:02 even a string literal (actually implemented in forth itself) just pushes an addreses and length on the stack and the string operations consume that 02:01:06 actually maybe it pushes something else, I forget what 02:01:13 I mean machine words i.e. an integer of a certain size 02:01:16 ok 02:01:20 "size of a pointer" 02:01:24 x86 has 32-bit machine words, x86-64 has 64-bit machine words 02:01:34 yeah that makes sense 02:01:41 elliott: You need more Microsoft in your life. 02:01:50 -!- TeruFSX has joined. 02:01:57 Hmm, or Intel. 02:02:27 what, to confuse the meaning of "word"? 02:12:37 -!- monqy has joined. 02:18:07 of course for intel words are 16-bit! 02:18:23 and 32-bit is a dword and 64-bit is a qword and 128-bit is a doublequadword (not an octoword) 02:18:26 and 256-bit is a quadquadword 02:18:34 or actually no 256-bit is a doubledoublequadword 02:18:36 I think 02:18:39 that sounds about as dumb as quavers 02:18:55 quavers? 02:19:06 hemidemisemiquave 02:19:18 is a sixty-fourth note, in music 02:19:24 ohhh 02:19:28 omg 02:19:41 intel is actually made up of musicians 02:19:50 what are you, some alien with the absolute ear? 02:20:21 oh I read quavers as quakers 02:20:29 and I thought Bike just really hated them friends 02:20:32 or the porridge I guess 02:20:57 oh 02:21:21 I believe I have some of those somewhere in the house and it's pretty cold here and it's a damn good diea 02:21:22 idea 02:21:24 thank you 02:21:27 np any time 02:22:02 no i'm cool with quakers 02:24:37 I'm sure it's possible to write a throw-restarts like thing that does quotations instead of just returning a value 02:24:42 ...actually, hmm 02:26:28 sgeo: you have call/cc, you can do whatever the hell you want 02:26:56 -!- augur has joined. 02:27:43 I'm just not sure that the stack effect could be made to work 02:34:40 doubledoublequadword animal style 02:35:40 -!- GreyKnight has quit (Ping timeout: 260 seconds). 02:37:27 lddqu, "load double double quadword unaligned", does not actually load a double double quad word 02:37:37 http://twitter.com/Pope_ebooks yessssss 02:37:50 the wisdom of crowds has brought this to me 02:38:17 why did the pope have to make a twitter account to get an _ebooks 02:38:23 pretty sure the pope has said other things in the past already????? 02:38:38 yes but were they in a machine/idiot-readable format 02:38:41 still prefer the pope's main twitter feed 02:39:08 i still think you have to give him credit for picking a cool name 02:39:13 the vatican has obviously cracked open the Big Book of Catholic Platitudes 02:39:21 how many names are there that (a) sound cool and (b) are pop-related 02:39:23 *pope 02:39:27 that (c) are free 02:39:32 i don't think that pope made it up 02:39:45 come on Phantom__Hoover you know people were telling him to go with The_Pope_Official_Vatican or some shit 02:39:47 "PopeBenedictXIV" is kind of boring 02:39:50 but he was having none of that 02:39:53 am i missing something here 02:40:17 http://twitter.com/pontifex 02:40:26 http://twitter.com/PopeBenedictXIV looks like some silly imitator or something 02:40:30 oops 02:40:36 he should make his name xXxPoPeBeNeDiCt-XIVXxXx 02:40:36 @TheP_Rizzle_Fo_Shizzle 02:40:37 Unknown command, try @list 02:40:39 "Any suggestions on how to be more prayerful when we are so busy with the demands of work, families and the world?" 02:40:46 pope asks for input on twitter 02:40:46 oh, well, pontifex is "just" latin 02:40:55 he kind of has an easy out there, i mean, everything sounds cool in latin 02:41:04 if he starts tweeting in pontifex cipher i will be impressed 02:41:06 it's latin for 'maker of bridges', at that 02:41:16 maybe the pope just really loves him some bridges 02:41:29 Phantom__Hoover: hahaha wow i didn't even notice that 02:41:43 was the pope properly briefed on this twitter thing beforehand 02:42:00 i wonder if papal infallibity extends to twitter 02:42:14 unlikely, it's pretty hard to accidentally use it 02:42:19 these days the infallibity only kicks in on special occasions 02:42:30 it's just like freenode 02:42:43 you might have operator privileges but you don't op up unless shit is getting real 02:43:05 the pope is of course known for his intervention in realistic shit situations. 02:43:14 /mode +o pontifex etc. etc. etc. 02:43:15 http://en.wikipedia.org/wiki/Papal_infallibility#Conditions_for_teachings_being_declared_infallible 02:43:21 apparently it only applies in specific cases 02:43:29 "is predecessor Pope John XXIII once remarked: "I am only infallible if I speak infallibly but I shall never do that, so I am not infallible"." 02:43:32 *his 02:43:43 that sounds like something zzo38 would say 02:43:53 i would subscribe to @zzo38_ebooks 02:44:03 theology tends to make one similarly robotic at times 02:44:04 I like that response, it's like "this doctrine is dumb" without actually saying "this doctrine is dumb" 02:45:54 This pope likes hexadecimal. 02:45:59 This pope is an advanced TI-BASIC programmer. 02:46:22 this pope is your pope / this pope is my pope 02:46:43 "The limitation on the pope's infallibility "on other matters" is frequently illustrated by Cardinal James Gibbons's recounting how the pope mistakenly called him Jibbons." 02:46:46 pffffff 02:46:54 i put some onions inside my trousers 02:47:20 are you going to take them out? 02:48:14 nom 02:59:30 I also read somewhere that the Catholics who do not agree of pope infallibility are called Old Catholics. 02:59:45 kmc: I have no ebooks which can subscribe to 03:00:45 it's one of a few reasons old catholicism split, yeah 03:01:23 -!- GreyKnight has joined. 03:01:52 Of course not all of the popes agree of pope infallibility either; some of them were against it, but some were for it. 03:02:34 -!- Lumpio- has quit (Ping timeout: 240 seconds). 03:09:27 -!- augur has quit (Remote host closed the connection). 03:10:35 -!- GreyKnight has quit (Ping timeout: 255 seconds). 03:12:07 -!- augur has joined. 03:19:02 kmc: You should make a Twitter account of zzo38 quotes. 03:19:59 -!- sgeo has quit (Ping timeout: 260 seconds). 03:21:22 -!- sgeo has joined. 03:22:47 `addquote i would subscribe to @zzo38_ebooks kmc: I have no ebooks which can subscribe to 03:22:55 867) i would subscribe to @zzo38_ebooks kmc: I have no ebooks which can subscribe to 03:24:02 zzo38: Do you have a newsletter? 03:24:14 `quote 03:24:14 `quote 03:24:14 `quote 03:24:15 `quote 03:24:15 `quote 03:24:16 386) pikhq, living in the future sucks. The past just keeps coming up to us and trying to make us feel guilty. 03:24:16 703) the possession of diamonds by the bourgeois is more about establishing their bourgeoisness more than wanting a malleable metal oops i forgot i said diamonds instead of gold 03:24:16 642) shachaf: wait, _you_ are in northumberland? No. whew we don't have room for more esolangers there. oerjan: Wait, *you* are in Northumberland? no Whew. We don't have room for more esolangers there. 03:24:17 170) Hmm. I want to try vanilla extract now, but I don't want the alcohol 03:24:17 760) hack and back? works on anything much slower than you at the cost of: guilt, hating yourself, me sending you the message "hi" am I also forbidden to cast mephitic cloud and cblink i will also send you "hi" if you: kite excessively, use mephitic cloud, -yes 03:24:26 zzo38, there is a Twitter account called horse_ebooks which appears to be a spam account, and says bizarre and hilarious things quite often. 03:25:00 "This Is Your Golden Opportunity To Build Yourself An Endless Line Of HOT PRODUCTS In Your Name And Make A Fortune From Existing" 03:25:09 shachaf: I don't publish a newspapes. 03:25:15 monqy: I used mephitic cloud once. 03:25:18 `quote 03:25:20 191) Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly) 03:25:52 I think Scrabble for Racists is still my favorite. 03:26:08 OK, then play Scrabble for Racists. 03:26:30 Are you insinuating something about me, zzo38? 03:26:34 I would play Professional Octopus of the World. 03:27:15 best of horse ebooks: http://favstar.fm/users/Horse_ebooks 03:27:41 can't we just read horse_ecomics? 03:28:01 kmc: Don't you feel bad about how it gets you to look at advertisements? 03:28:05 no 03:28:33 I look forward to an era of advertisers giving up on ads, and giving me endless co-opted-dada entertainment instead. 03:28:49 where did Scrabble for Racists come from? 03:28:58 also zzo38 can you generate some more random game names 03:29:02 because those two are pretty great 03:29:17 you know that an octopus does not have direct control of its arms 03:29:26 it sends them general instructions and waits to see what they do 03:29:33 could be a good card game mechanic 03:30:30 kmc: http://www.youtube.com/watch?v=7ChY6bCULLY 03:30:31 OK, then. 03:30:42 If you want those name you can just use the same program. 03:30:48 i want to make a fortune from existing 03:30:57 It is one of the FurryScript archive files. 03:32:02 one-dimensional chess 03:32:55 `quote 03:32:55 `quote 03:32:55 `quote 03:32:55 `quote 03:32:55 `quote 03:32:57 359) It's a Toy Story character, you uncultured fuck. 03:32:57 597) http://i.imgur.com/dosYw.png WELCOME TO FUCKING STEELROMANCED 03:32:58 651) .Ah. 03:32:58 384) Phantom_Hoover: nope, I removed . from the current directory 03:32:58 191) Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly) 03:33:13 `delquote 651 03:33:13 whoa! this must be a sign 03:33:15 1:13: steve brule impression? 03:33:17 ​*poof* .Ah. 03:33:35 kmc, oh, that's awesome. Before I clicked the link, I thought it was manually curated horse_ebooks quotes 03:34:13 pff, manually. the cloud can rate everything. 03:34:23 the wisdom of crowds. 03:34:28 slash clouds 03:34:38 frash prugin 03:34:44 what a shocking bad hat! *laugh track* 03:34:46 Oh come on, past a certain point it wants me to get a pro membership 03:35:00 a pro membership to a retweeter 03:35:08 the future is a beautiful place slash time slash cloud 03:36:05 slash balls 03:36:26 -!- GreyKnight has joined. 03:37:36 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 03:40:12 -!- Lumpio- has joined. 03:40:53 Bike: is this a special kind of future which occurs in the present 03:42:28 http://www.youtube.com/watch?v=a1C9Q5JheOE yes. 03:42:33 i am just made of youtube videos today. 03:44:50 cloud 03:44:57 do you mean like, the earth just VAPORIZED?? 03:45:15 Bike: is the telltale sam and max stuff any good 03:45:21 can you be more precise as to whether that's the near future or the distant future 03:45:27 -!- GreyKnight has quit (Ping timeout: 244 seconds). 03:45:30 just so I know how much time I have to tell that girl I love her 03:45:45 elliott: well i like the songs but i'm not much of an "actually playing video games" type 03:49:27 Bike: thank you for your extensive input 03:49:49 np 03:51:51 I've heard they're really good but I've only played like two of them 03:52:16 they're very silly and very funny adventure games 03:52:43 * elliott played the original LucasArts one ~a billion years ago. 03:53:21 they also don't tend to have totally absurd impossible to figure out puzzles 03:53:35 like cat moustaches 03:53:53 What's the matter with cat moustaches?! 04:01:47 -!- NihilistDandy has joined. 04:08:24 i wonder how many people have actually played that game 04:08:51 What game? 04:09:37 Gabriel Knight 3. 04:09:52 I thought we were talking about Sam 'n' Max 04:10:06 The game the cat moustache thing is fom. 04:10:08 from 04:10:09 @let sam'n'max :: Bounded a => (a,a); sam'n'max = (minBound,maxBound) 04:10:11 Defined. 04:10:21 -!- NihilistDandy has quit (Quit: Textual IRC Client: www.textualapp.com). 04:10:37 > uncurry (+) sam'n'max 04:10:39 Ambiguous type variable `a0' in the constraints: 04:10:39 (GHC.Enum.Bounded a0) 04:10:39 ... 04:10:40 > uncurry (+) sam'n'max :: Int 04:10:42 -1 04:11:16 what? 04:11:23 -!- GreyKnight has joined. 04:11:25 Undefined behavior, Bike. 04:12:07 the horror! 04:12:25 (Wait, is it?) 04:12:41 Oh, maybe it's not. 04:12:50 "sorry" 04:13:23 I wonder whether MedeaMelana saw my recent Reddit comment. 04:13:32 That doesn't seem like a very sincere apology! 04:14:06 Bike: Once in 2003 someone made a really, really sincere apology. 04:14:15 It's so sincere that I just quote it instead of making my own. 04:14:19 I have no hope of matching that one. 04:14:28 Gosh. 04:18:45 fnow :: Monoid m => m -> FHM m a a 04:18:46 fnow m k d = k (\m' -> d (m <> m')) 04:18:46 flater :: Monoid m => (a -> m) -> FHM m b (a -> b) 04:18:46 flater am k d a = k (\m' -> d (am a <> m')) 04:18:46 frun :: Monoid m => FHM m m a -> a 04:18:48 frun fhm = fhm ($ mempty) id 04:20:53 -!- GreyKnight has quit (Ping timeout: 265 seconds). 04:23:21 -!- copumpkin has quit (Ping timeout: 265 seconds). 04:23:52 -!- copumpkin has joined. 04:32:23 `quote 04:32:23 `quote 04:32:24 `quote 04:32:24 `quote 04:32:25 205) yay CDE 04:32:25 710) Stupid W|A doesn't even understand "Vatican papal density". (As far as countries go, they've got a quite high one.) 04:32:26 400) Turned out he got recursion, he just didn't get the return statement 04:32:26 436) australia kicks ass we have kangaroos and DMM and isn't afraid of anything 04:32:26 `quote 04:32:28 473) software patents strike again that's got to be at least three times, now are they out yet? 04:32:51 205? 04:33:10 `delquote 205 04:33:15 ​*poof* yay CDE 04:33:18 205 is good. 04:33:23 Oh. 04:33:25 Why? 04:33:28 (what's the point of asking if you're not going to wait for a reply?) 04:33:33 I waited for a while. 04:33:36 No response. 04:33:43 you waited for 20 seconds 04:33:45 Please `revert as appropriate. 04:33:50 They were 20 long seconds! 04:33:51 too lazy 04:33:55 What's CDE? 04:34:13 Common Desktop Environment? 04:35:23 yes 04:36:04 So what's good about 205? 04:36:58 should i be surprised that iti got the quote / meme wrong 04:37:01 no 04:37:05 the answer is no, i should not 04:37:15 kmc: why else would it be in the qdb 04:37:58 `quote kmc 04:38:00 602) COCKS [...] truly cocks \ 633) You should get kmc in this channel. kmc has good quotes. `quote kmc 686) COCKS [...] truly cocks Well, in theory. \ 705) damn i should make a quasiquoter for inline FORTRAN \ 708) has there been any work towards designing programming l 04:38:25 that's a lot of cocks. 04:38:59 `pastequote kmc 04:39:01 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastequote: not found 04:39:05 `quotepaste kmc 04:39:07 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quotepaste: not found 04:39:10 ok how do i do this 04:39:31 `pastequotes kmc 04:39:35 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24302 04:41:28 -!- augur has quit (Remote host closed the connection). 04:44:26 `quote 04:44:27 `quote 04:44:27 `quote 04:44:27 `quote 04:44:28 388) elliott: by the way, you're now almost capable of crawling. 04:44:28 488) lets not wander around the mulberry bush beating our heads 04:44:29 268) it is from 2002 though, I was younger then 04:44:29 536) Just goes to show, the Beatles are more interesting than green vegetables. 04:44:29 `quote 04:44:31 738) I CAN'T DEAL WITH THE PRESSURE OF EVERYBODY THINKING I'M CONAL 04:46:24 -!- GreyKnight has joined. 04:55:24 -!- GreyKnight has quit (Ping timeout: 264 seconds). 04:58:44 `pastequotes zzo38 04:58:48 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23331 05:00:11 zzo38: Have you considered using Twitter? 05:00:48 wow, why would you even need zzo38_ebooks with that haul? 05:03:56 zzo38: I tried to connect to gopher://zzo38computer.org/ but it says Not Found. 05:05:18 Yomi is a card game that simulates a fighting game. It tests your ability to predict how your opponents will act and your ability to judge the relative value of cards from one situation to the next. Also, it lets you do fun combos and be a panda. 05:05:53 I understand World of Warcraft let you do that too, now? 05:10:12 -!- WeThePeople has joined. 05:16:29 `quote 329 05:16:31 329) I figured out something about C program. If you use ? : a lot then you don't need as much parentheses but it makes it more difficult to understand. 05:18:38 shachaf: It does? 05:18:40 Let me see. 05:19:07 It works on my computer. Try adding a 1 after the / at the end see if that works better. 05:19:33 The 1 was added automatically. 05:19:37 Doesn't work with two clients I've tried. 05:20:22 Arc_Koen: That is correct it is how Yomi card game is played. Well, it is a bit more complicated than that, but it is not extremely complicated rules. 05:20:37 zzo38: Are you seeing my requests? 05:21:24 shachaf: I can't tell, because you have a cloak. 05:21:53 zzo38: Are you seeing any requests? 05:22:04 Yes, from mf60536d0.tmodns.net 05:22:10 My requests aren't coming from the same IP address as my IRC client, anyway. 05:22:17 OK, that's probably me. 05:22:20 -!- GreyKnight has joined. 05:22:20 O, OK. 05:22:43 When it is not found, my server responds "File not found"; does it say that or "Not Found"? 05:23:26 --- [1] File not found 05:23:40 Error: File not found 05:23:54 Can you try to see exactly what your computer is sending? And then we can see which side is wrong. 05:24:15 It works with every client I have tried. 05:24:24 O, I have idea: 05:24:27 Disable Gopher+ 05:24:40 I tried two clients. 05:24:42 gopher and forg 05:25:00 I don't know what Gopher+ is or how to disable it. 05:26:03 Does it work with netcat? 05:26:44 What do I type in? 05:26:47 "/1"? 05:27:06 Nothing. 05:27:17 Push the return key. 05:27:18 Oh, that shows some things. 05:27:54 Why isn't it working with my regular client? 05:28:13 What happens when you use netcat listening on port 70 and connect to it with your other gopher client? 05:28:48 It sends a / 05:29:10 Well, that is improper. 05:29:34 The protocol is not supposed to do that unless you have another / after the 1 in the URL 05:30:39 -!- GreyKnight has quit (Ping timeout: 260 seconds). 05:30:50 Why are both my gopher clients broken? 05:31:15 I don't know; but every client I have tried (on many operating systems, even Android, since someone I know has one) works properly! 05:31:57 I use Debian and these are the two that are in APT. 05:32:11 Maybe it is because Gopher+ mode is enabled and needs to be turned off. Does it have configuration setting which can be changed? 05:32:13 Let me try one in Firefox. 05:32:46 In Firefox, you could try Overbite, which works better than the one that used to be built-in. 05:33:12 OK, OverbiteFF works. 05:34:16 Overbite 05:34:29 is that like an Überzombie thing 05:34:47 I also wrote a gopher client for any UNIX system, called bashgopher, and a GUI gopher client for Windows, called Visgopher, and I don't know if it work on WINE or not. 05:35:04 called so because gophers are often depicted with an overbite, prolly 05:37:36 echo 'furry*!video_game' | nc zzo38computer.org 70 | head -n3 | tail -n1 | cut -c 2- 05:37:44 Finally we can generate ourselves some game names! 05:38:36 these are great 05:38:39 That is one way! 05:38:55 Nasty Chemistry in Middle-Earth 05:38:57 However, if you want, you can also download the programs into your own computer to use them, if you have PHP, in order to speed up 05:39:04 Rather than having to use internet. 05:39:05 "Bonk's Quarterstaff Lawyers" shiiiiit 05:39:14 Stop the Hang Glider Choreographer 05:39:28 Ghetto Fun Operatives. this is genius 05:39:33 Bumping Nazi Fun 05:39:34 Stoic Golf Scam 05:39:42 Canadian Blood 3000 05:39:43 Acidic Illithid Against Patents 05:39:46 Interesting Graveyard For Masochists 05:39:50 Occult Shark Odyssey 05:39:52 Bizarre Penguin Rebellion 05:40:03 i'm pretty sure the ecco the dolphin is kind of that though 05:40:08 Big Bird's Sniper Connection 05:40:15 Catholic Shaving 95 <-- okay, hang on now 05:40:17 FurryScript is a command-line program, written in PHP, and you are free to use them under the GNU AGPL. 05:40:50 Flying Landmine Fiasco 05:40:56 Russian Wagon Conundrum 05:40:59 Nobody Likes the College Orchestra 05:41:31 Ultraviolent Programming Boy 05:41:36 Not all of the data in that file is mine, but much of it is; I also corrected some mistakes that the other data contained, and removed some duplicates and so on. 05:42:01 Communist Croquet Voyage 05:42:07 Epic Llama Thieves 05:42:22 Xenophobic Yak Demolition 05:42:36 In the Lost Kingdom of Spelling DVD 05:42:52 Fiery Punching Chase 05:42:58 Queen of the Racing Hospital 05:43:03 So, if you have PHP on your computer, you should download it if you are planning to make many requests, so that you can avoid overloading my computer or overloading the internet. 05:43:16 Scooby Doo and the Chocobo Dungeon 05:43:25 If I don't have PHP on my computer can I keep overloading the Internet? 05:43:29 Final Beautician Disaster 05:43:36 Jedi Hair Salon Massacre 05:43:41 Asymmetric Janitor Unleashed 05:43:47 front page news tomorrow: "online game name generator takes down Internet" 05:44:01 Irritating Writing vs. Capcom 05:44:14 shachaf: Well, it would be better if you don't keep overloading the internet; but, it is possible to request more than one at once by a tab afterward and how many you want. 05:44:17 Five dimensional Drug-Dealing Crusader 05:44:22 Hitler's Wrestling Restaurant 05:44:35 Blessing of the Internet Posse 05:44:44 Middle-Eastern Juggalo of the Law 05:44:50 zzo38: Oh, thank you. 05:44:55 http://www.somethingawful.com/d/photoshop-phriday/randomly-generated-games.php Oh, I forgot that SA did this once. 05:45:00 Except they made covers to go with 'em. 05:45:57 echo $'furry*!video_game\t20' | nc zzo38computer.org 70 | grep '^i\w' | cut -c 2- 05:47:13 http://i.somethingawful.com/u/garbageday/photoshop_phriday/2009_08_21/HellospPity_01.jpg i think it went well, personally 05:47:33 Unremarkable Gun Insanity 05:47:37 Funky DJ Werewolf sounds lie a promising tv show premise 05:47:52 Boring Ping Pong Expert 05:47:57 That sounds too realistic. 05:48:19 Awful Bong Nation 05:48:20 OK, then make a television show too, if you like to do that. 05:48:38 -!- Arc_Koen has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 05:48:51 this sounds like one of those home makeover shows 05:49:01 the host comes to your room and inspects your awful bong and then helps you improve it 05:49:26 participants get a $1000 gift card for ROOR 05:49:28 how does this tie into American Bong Saloon? 05:49:56 Oh, there's also a TV plot generator. 05:50:17 THIS PROGRAM IS ABOUT A ILLOGICAL PHILOSOPHER WHO IS AMAZING AT BEING FUNNY 05:50:17 AND WHO SAVES A MANAGER 05:50:35 Blessing of the Bible - The Lost Levels 05:51:27 That TV plot generator is very old and the original source is unknown, although it has been published by Creative Computing; I then added a lot of additional things to that file. 05:51:34 In the Lost Kingdom of Laser Preacher 05:51:37 This is why they are in uppercase. 05:51:57 zzo38: Good reason. 05:52:38 Sniper on the Oregon Trail 05:53:02 Night of the Underwear Interceptor 05:53:05 Hillbilly Hippo Bastards 05:53:19 are these movie titles or video game titles? 05:53:29 why not both? 05:53:32 Emo Night in Hell! 05:53:43 Hmm, there's also an adventure generator 05:53:44 Real Math Pimps 05:53:47 If you use !adventure 05:53:49 did this thing generate the name of real fast nora's etc. ? because it should have, 05:54:00 Final Computer of Mother Theresa 05:54:25 Exciting Brain - Total Peace 05:55:20 Someone is sabotaging wagons and carts to come apart when travelling at high speed. 05:55:26 Elves are using a gauntlets of arcane weakness to kill human librarians. 05:55:35 Orbital Horse Racing Lawyers 05:56:01 Big Bird's Ghost Gone Wild 05:56:14 -!- sebbu has quit (Read error: Connection reset by peer). 05:56:26 Frankenstein's Transvestite Castle 05:56:27 -!- GreyKnight has joined. 05:56:31 Mary Kate and Ashley's Fish Revisited 05:56:32 Everything burns. 05:56:39 -!- sebbu has joined. 05:56:48 You receive a map with many deliberate errors. 05:57:09 Frankenstein's Transvestite Castle <-- well that one's obviously a movie. 05:57:26 -!- TeruFSX has quit (Ping timeout: 250 seconds). 05:57:42 Wandering Cat 2000 05:59:05 Bike: not necessarily. maybe it is like a crossbreed of rocky horror and luigi's mansion 05:59:11 Psychedelic Forklift Competition 05:59:15 Bling Bling Florist Overlords 05:59:31 quintopia: isn't that just luigi's mansion 06:00:02 hmmmmm 06:00:07 no, the music is more fun 06:03:16 Dirty Tennis Yoga <--- ok that would sell 06:03:35 but would it be legal? 06:03:43 c.f. http://penny-arcade.com/comic/2002/10/18 06:05:03 Imperfect Hovercraft Physics <--- this game came with windows 95 06:05:17 "BMX XXX" why did i look up what that comic was referring to 06:05:39 apparently there were not one but two rocky horror video games 06:05:41 so yeah 06:05:44 what 06:05:46 -!- GreyKnight has quit (Ping timeout: 265 seconds). 06:05:51 zzo38: do you have a c64 emulator 06:06:14 Geriatric Otaku Nation 06:06:28 am i missing kmc running a zzo program 06:06:51 Approximate Bedtime For Masochists 06:07:10 im reading all of these wow they're good 06:07:21 05:43:16 Scooby Doo and the Chocobo Dungeon 06:07:25 jesus 06:07:36 05:44:01 Irritating Writing vs. Capcom 06:07:41 christ 06:07:52 chocobo's dungeon was really pretty fun. adding a mystery-solving-dog component could only improve it 06:08:05 Dracula's Bomberman - The Dark Project 06:08:17 quintopia: No 06:08:31 Neon Wheelchair of Love 06:08:36 Unbelievable Enlightening Trivia 06:08:51 Ye Olde Hamster I 06:08:57 zzo38: what about zx spectrum 06:09:05 Papal Bass Vengeance 06:09:19 Postmodern Chess Detective <--- this is a canadian TV show (http://en.wikipedia.org/wiki/Endgame_(TV_series)) 06:09:22 No, I don't have that either. Not on this computer, anyways. 06:09:27 pretty good 06:09:28 The Infernal Barcode Strike Force 06:09:52 Russian Shock Babies 06:10:00 zzo38: do you know a way to port binaries targeting those systems without an emu 06:10:12 Interstellar Lowrider Plus 06:10:13 quintopia: No. 06:10:22 Biblical Stone in Space 06:10:26 Do you need them? 06:10:37 Low G Hillbilly Colosseum 06:10:47 that was an episode of futurama 06:10:54 «The game involved playing as either Brad or Janet and collecting pieces of the Medusa machine scattered around the castle, in order to free your partner from stone and escape the castle before it blasts off. Meanwhile the other characters in the game can hinder your progress by stealing and hiding your clothes along with what you are carrying.» 06:11:15 Single Fun - The Last Generation 06:11:24 it's the last generation because everyone in it is staying single and not having babies 06:11:27 also they have fun 06:11:40 Christian Spelling vs. The Space Mutants 06:11:52 Renegade Telephone Colosseum 06:12:00 Legend of Frankenstein's Monster 06:12:05 Pagan Banjo Caper. i think this may be the best program of all time 06:12:27 Oh wait 06:12:37 No, don't wait 06:12:49 zzo38: i was just seeing if you ever tried to play c64 games on your computer 06:12:54 Someone did Frankenstein himself, but not Adam 06:13:01 Evil Genius Sailboat Conundrum 06:13:38 Dead Goth Symphony 06:13:43 that would be a good band name 06:13:49 Oh, this is generated 06:14:17 Celtic Terrorist GT 06:14:27 Stealth Workout - The Lost Levels 06:15:00 Pro Plunger in the Magic Kingdom 06:15:06 Angry Landmine Romance 06:15:29 Tactical Chess - Total War 06:15:34 Combat Dating Dreamland 06:15:39 History of the Sunshine Thieves 06:15:43 another band / album name 06:16:19 the thing about band names is that you have to specify a genre 06:16:27 otherwise you can just enter in random characters and say it's post-rock, etc 06:16:31 -!- GreyKnight has joined. 06:16:35 -!- GreyKnight has quit (Client Quit). 06:16:46 Silly Transvestite Joe 06:17:06 Wtf 06:17:12 Then write some for band name including genres! I wrote on esolang wiki of FurryScript, hopefully you can understand? 06:17:16 wtf Indian Chocobo Jihad 06:17:22 i think History of the Sunshine Thieves would play upbeat power-pop with unsettling existentialist conspiracy lyrics 06:17:23 Bike: well that already works for post-rock bands in practice so what's the problem 06:17:24 There are already dozens of generators. 06:17:26 Children of the Tetris Collection 06:17:43 it might be too long for anything but post rock though 06:17:45 elliott: i mean, what if i want a post-breakcore neobaroque-hop band name? 06:17:47 the tetris collected them... but now... the tables have turned 06:17:57 Nasty Tetris DJ 06:18:07 Bike: then possibly it is for the best that there is no band naming service to suit your needs 06:18:12 Cybernetic Harp Gladiator 06:18:17 Philistine. 06:18:20 Small-Time Techno Havoc 06:18:28 Weary Punching Mathematics 06:18:35 Inbred Bongo Scam 06:18:47 Stop the Anarchy 06:18:48 Everybody Hates the Midget Sickness 06:18:50 it has the extra space. i don't know why 06:18:56 Cosmic Booty Project 06:19:16 elliott: If you look at the script codes then you will know why. But you can just ignore the extra space. 06:19:22 i will 06:19:23 All-Night Lawnmower Slayer 06:19:25 Star Wars Spatula Deluxe 06:19:30 Hazardous Flatulence World Tour 06:19:45 Hip-Hop Banjo Co-Op 06:19:52 Stupendous Turtle Machine 06:20:01 what have i started 06:20:16 Radical Baking Assault Forever it will be a channel to discuss these now 06:20:27 Luigi's Smart Sickness 06:20:29 Special Hobo Gold 06:20:33 Escape from the Fun Noodle World Cup 06:20:39 I would NOT want a hobo's special gold 06:20:41 technically it's all zzo's fault. you're just the harbinger, shachaf, of zzo's doom 06:20:43 not so fun any more 06:20:54 Tropical Cheese Sorcery 06:21:06 Screaming Frisbee Universe 06:21:07 Exquisite Bible Armada these are so good 06:21:14 Drug-Induced Baking III 06:21:15 I'm just imagining every frisbee ever thrown just screaming 06:21:29 AaAAAAAAAAA *blarg* 06:21:33 Return of Dinosaur on the High Seas 06:21:44 hybrid piracy/dinosaur game 06:22:05 an iphone app that helps you bake stuff while you are high 06:22:12 that would make about a billion kajillion dollars 06:22:23 Ultimate Business 2k 06:22:37 Unforgettable Burger Warfare 06:22:51 Topsy-Turvy Cannibal Struggle 06:22:55 Jedi Programming Principle <--- less a video game and more a linkbait post on hacker news 06:23:18 `quote ctopus 06:23:20 191) Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly) \ 220) ais523: Maybe it is better, because I don't think the octopus will live very well in the tree. But the difference is that the Internet is lying and you cannot see such things; you could m 06:23:25 These are pretty good. 06:23:26 kmc: Someone should actually write a good article about that 06:23:37 shachaf: is that second quote referring to the pacific northwest tree octopus? 06:23:38 Get Cat Eating 06:23:47 Unforgettable Pony - 2nd Impact 06:23:57 Bike: I assume so. 06:24:03 Bike: My mother once forwarded that email to me. 06:24:06 Enormous Fun Island 06:24:15 NBA Biplane Dungeon 06:24:17 FreeFull: http://bradapp.blogspot.com/2009/07/jedi-programming-just-enough-design.html i have something to tell you 06:24:20 No One Can Stop the Duck Bandits 06:24:20 Meta Deer Hunter of the Deep 06:24:31 Would be a good band name if it wasn't so long 06:24:32 shachaf: i think i convinced one of my friends of it once. considering how rainy it is here it's shockingly believable 06:24:49 Bike: You're in the Pacific Northwest? 06:24:57 FreeFull: band The Duck Bandits, album No One Can Stop the Duck Bandits. perfect? 06:25:01 ayep 06:25:01 8-Bit Android DJ <--- shit yeah that would sell 06:25:10 kmc: bit.trip beat? 06:25:12 Masters of Wheelchair Deathmatch 06:25:59 In Search of Dungeons and Dragons Task Force 06:26:40 History of the Punching vs. You 06:27:00 kmc: another good band name 06:27:04 this program is multi-purpose 06:27:11 Ye Olde Drug-Dealing Crime Scene Investigation 06:27:18 hahahaha 06:27:55 elliott: But a band called Duck Bandits already exists 06:28:11 Double Gnome Tournament 06:28:28 Post-Apocalyptic Penguin Trader 06:28:57 Undercover Otyugh Balls 06:29:03 Duke Nukem: Shaving Eating 06:29:13 shaving eating 06:29:19 Geriatric Buddhist Raider 06:29:32 Oh hahaha 06:29:33 Super Sexy Manlove Beta 06:29:44 they haven't worked out all the kinks yet 06:29:48 * kmc ducks 06:29:53 Almighty Skate Invaders 06:30:09 Fisher Price Tentacles Nightmare 06:30:30 Bad Programming Fiesta 06:30:34 Imperial Sunshine Orchestra 06:30:35 Are y'all still running this game name generator? 06:30:55 Asian Hell Anarchy 06:30:55 no, they're just hooked directly into the mind of god now. 06:31:19 A bot in another channel on another network had this thing where you specified kinds of words (like proper noun) with one or two letter combinations, and it would fill it in into a sentence 06:31:22 Religious Juggalo Paratroopers 06:31:27 It had some more advanced stuff too 06:31:37 Curse of the Puppy in Vegas 06:31:39 God were the sentences funny 06:31:57 And of course you could write out most of the sentence yourself and have it only small parts 06:32:00 Narcoleptic Jetski Diesel 06:32:14 -!- asiekierka has quit (Excess Flood). 06:32:15 i know a channel on another network where they just have a bot that messages at a common rate with markov gibberish 06:32:25 All-Day Caveman in Bed 06:32:26 of course, the consequence is that it's hard to tell the humans apart from the bot 06:32:32 Everybody Loves the Prison Psychiatrist 06:33:18 -!- asiekierka has joined. 06:33:42 Mary Kate and Ashley's Juggalo Showdown 06:33:54 My Very Own Money Conundrum 06:34:18 Revenge of Bong of the Third Reich 06:34:32 that one sounds like a *really* bad stoner comedy 06:34:38 Wacky STD Inferno 06:35:00 my very own money conundrum sounds pretty sad 06:35:28 Transvestite Flatulence For Masochists 06:35:44 these are sounding increasingly illegal. 06:35:47 The Hunt For the Punching Beatdown 06:36:40 Minimal Cricket Rage 06:36:42 Antediluvian Cowboy of Magic 06:36:45 Does the JVM really make it impossible to do tail call elimination? 06:36:51 2-Bit Hardware Country 06:36:58 Or even just jumps in general, except within a method? 06:37:01 1-Bit Breakdancing - The Gathering Storm 06:37:08 Medical Sudoku in My Pocket 06:37:14 -!- sebbu2 has joined. 06:37:17 shachaf: i think it would interfere with the security model? 06:37:33 -!- sebbu2 has quit (Changing host). 06:37:33 -!- sebbu2 has joined. 06:37:33 I don't know much about the JVM. 06:37:40 Symmetric Jetski Offline 06:37:41 neither do I 06:37:47 http://www.jazz2online.com/junk/tick/tickbot.html#rsg 06:37:47 Why would it interfere? 06:37:50 Read up 06:37:57 but that's what i've heard. since tail calls mess up the stack frames 06:38:04 which... are needed for security audit or something 06:38:31 Hexadecimal Wordplay - Star Trek Edition 06:38:35 but isn't the idea of tail call elimination that you just optimize a recurisve function into a loop via code transformation? so like, the function doesn't exist anymore kinda 06:38:38 «These requirements could in theory be supported, but it would probably require a new bytecode (see John Rose's informal proposal).» 06:38:42 The actual bot ended up more advanced but the documentation wasn't updated 06:38:45 like, the JVM can inline, and that changes things 06:38:47 Celebrity Writing Jihad 06:39:14 Fiora: TCE doesn't have to be a call to the same function, is the crux 06:39:15 Fiora: yes, so a 5-deep recursive call that would have been five stack frames for audit turns out to be just the one. 06:39:25 oh, yeah, that would make more sense. duh. 06:39:27 i.e. you can have two mutually-recursive functions, say 06:39:34 or even just 5000 different functions that all tail-call each other 06:39:38 and they'd all get optimised 06:39:46 Or you can just, you know, have a tail call. No recursion necessry. 06:39:47 this is why you can't optimise it "locally" by just changing one function 06:39:47 a 06:40:03 Mrs. Wumpus Simulator 06:40:06 Preschool Architecture - The Lost Levels 06:40:13 The problem with calling it an optimisation is that in some languages, iteration doesn't exist at all 06:40:16 The JVM has no jump instruction, though. 06:40:23 Except inside a method, and a method is limited to 64K 06:40:30 FreeFull: are there any such languages besides scheme? 06:40:33 -!- sebbu has quit (Ping timeout: 245 seconds). 06:40:46 64 k should be enought for everyone. 06:40:59 Bike: I can't think of any that aren't lisps 06:41:04 ion: Actually a method is limited at 64K - 1 :-( 06:41:05 haskell 06:41:18 Madden Pogo Dreamland 06:41:22 shachaf: 64 kB or 64 KiB? 06:41:25 Five dimensional Hardware in My Pocket 06:41:27 (−1) 06:41:29 Mega Internet of Love 06:41:29 Fix the WWII Monsters 06:41:32 ion: I assume KiB. 06:42:15 maybe you can just make do with folds. 06:42:18 In haskell most often you'd do something like map x ys but map itself might be implemented recursively (No idea about implementation, could be in C for all I know) 06:42:35 Or a fold if you want one end result 06:42:37 Haskell's "map" is implemented in APL 06:42:41 haha. 06:43:27 you couldn't technically meet the scheme standard though, probably, because it actually mandates tailness? 06:43:53 Sure you could. 06:44:13 it mandates constant space usage 06:44:16 You might not be able to have a mapping Scheme function -> JVM method. 06:44:19 you can achieve this on a given Haskell implementation 06:44:20 oh is this jvm 06:45:23 elliott: When you write your Haskell compiler, can you not make it generate annoying names like "sfWk_info"? 06:45:30 no 06:45:37 How many names does GHC actually generated, anyway? 06:45:45 I suppose most of them are intermediate names that are never seen. 06:45:59 I'd rather have it be called "alpaca_info" or something. 06:46:23 Haskell’s “IO” is implemented as a container for a Perl script to be executed via libperl by the RTS. 06:46:36 Let me translate that from ionese: 06:46:45 Haskell's "IO" is implemented as a container for a Perl script to be executed via libperl by the RTS. 06:47:04 y u troll 06:47:06 There is also a requirement that's approximately something like all possible paths of reaching a particular point must have the same (statically analyzed) stack effect, so you can't e.g. make a loop that'd pop off elements from the JVM stack. 06:47:23 "If an instruction can be executed along several different execution paths, the operand stack must have the same depth (§2.6.2) prior to the execution of the instruction, regardless of the path taken." 06:49:21 I'm just imagining every frisbee ever thrown just screaming 06:49:24 sounds like salvia 06:56:00 Learning English through Exercise http://youtu.be/YZ1hah7QvIw 06:59:02 i like the implication that taking a taxi in america will immediately lead to a knifepoint robbery 07:00:41 Is that not the case? 07:01:33 only in detroit 07:01:42 and oakland 07:01:45 and east palo alto 07:02:18 hi 07:02:27 I've never taken a taxi in EPA. 07:02:38 I've taken them in San Francisco, though. 07:03:11 It felt very dangerous. 07:03:19 That was mostly because of the driver's driving, though. 07:03:57 -!- FreeFull has quit. 07:10:53 -!- sebbu2 has changed nick to sebbu. 07:14:26 -!- augur has joined. 07:29:54 http://heaven.internetarchaeology.org/ I'm sure many people have seen this but it has not stopped being hilariously bad 07:30:36 co-existance 07:31:32 !!! 07:31:32 http://midi.internetarchaeology.org/devil.mid 07:31:36 What song is that? 07:34:27 by bad do you mean really good 07:35:21 a true work of art 07:35:24 timeless masterpiece 07:35:31 &c &c 07:35:50 monqy: hi 07:36:20 hi 07:37:01 monqy: I took your "hi" and sold it to a collector for "about a billion kajillion dollars" 07:40:37 I love MIDIs 07:40:51 me too 07:42:58 -!- asiekierka has quit (Excess Flood). 07:46:27 -!- asiekierka has joined. 07:47:36 -!- WeThePeople has quit (Quit: Leaving). 07:49:19 -!- asiekierka has quit (Excess Flood). 07:49:27 -!- asiekierka has joined. 07:51:16 elliott, monqy. I believe by #esoteric law I am required to do the thing. 07:51:41 It's somewhat boring 07:51:49 sounds like a dumb law 07:52:00 what law? 07:52:04 -!- Bike has quit (Quit: leaving). 07:52:37 The law of gravity. 07:52:38 -!- zzo38 has quit (Remote host closed the connection). 07:52:52 It's only enforced because of an obscure #esoteric rule from the middle ages. 07:53:03 We'd all be free to fly around if it weren't for this channel. 07:53:26 Admittedly stars wouldn't work either, but that's the price you pay. 07:53:27 Hmm, I always thought it was Newton's fault. 07:53:47 If only he had had sense to dodge that apple, we wouldn't have gravity? 07:54:08 Apples usually fall up, don't they? 07:54:10 It's terrible. 08:02:46 sgeo: you've been playing too much iwtbtg. put down the delicious fruit. 08:03:11 I haven't played much iwtbtg 08:03:26 I love watching Let's Plays, but I haven't seriously tried playing myself 08:05:52 -!- SingingBoyo has quit (Quit: Leaving). 08:08:38 Meanwhile in Finland: parking your car http://is12.snstatic.fi/img/978/1288523526349.jpg 08:13:11 -!- epicmonkey has joined. 08:36:23 -!- epicmonkey has quit (Ping timeout: 245 seconds). 08:38:28 -!- nooga has joined. 08:51:42 -!- nortti has quit (Ping timeout: 276 seconds). 08:57:21 -!- kallisti has quit (Ping timeout: 265 seconds). 08:57:49 -!- kallisti has joined. 08:57:49 -!- kallisti has quit (Changing host). 08:57:49 -!- kallisti has joined. 09:37:31 -!- Taneb has joined. 09:44:47 -!- epicmonkey has joined. 09:47:48 Meanwhile also in Finland: Finnish Safety and Chemicals Agency has done their traditional yearly spot-check on christmas toys, and 14 of the selected 28 toys had safety deficiencies; 5 such that they were recalled, including a bow-and-arrow set with a laser pointer aiming thing that's "over ten times" over the 0.39 mW limit of a class 1 laser. 09:56:00 let's go dutch 09:56:14 I've got the name for it 09:56:45 Meanwhile in Dutch: Finse Veiligheid en Agentschap voor chemische stoffen heeft gedaan hun traditionele jaarlijkse spot-check op kerst speelgoed, en 14 van de geselecteerde 28 speelgoed had veiligheidstekortkomingen, 5 zodanig dat ze werden teruggeroepen, waaronder een boeg-en pijl-set met een laser pointer gericht ding dat is "meer dan tien keer" over de 0,39 mW grens van een klasse 1 laser. 09:58:03 "Boeg-en pijl-set" makes me smile. 09:58:38 I wonder if "een laser pointer gerich ding" is something a native Dutch speaker might say. 09:58:49 looks like it translated into (Finnish Safety) and (chemicals agency) too 09:59:23 That's not terribly good. 09:59:30 My hair feels weird 09:59:45 Your hair feels? 09:59:55 Mine doesn't, as far as I know 10:01:18 Also this http://www.turvallistajuhlaa.info/@Bin/44623/zoolife_popeyes_web.jpeg was recalled because one of the eyes fell off in the testing. With a name like "ZooLife Popeyes", I don't know what they were expecting... 10:09:22 -!- evitable has joined. 10:13:59 -!- ogrom has joined. 10:14:18 If I start talking about Factor again, is elliott going to bring that bot in again? 10:14:40 -!- ogrom has left. 10:15:04 -!- Taneb has quit (Quit: Leaving). 10:15:41 -!- evitable has quit (Ping timeout: 245 seconds). 10:17:07 : fortnight ( x -- duration ) 14 * days ; 10:17:14 "Better not tell you now", says the magic eight-ball. 10:17:20 That tricks me into thinking that 14 is being multiplied by days 10:17:20 I suppose that wasn't very helpful. 10:18:51 -!- evitable has joined. 10:28:41 Forthnight. 10:31:10 -!- augur_ has joined. 10:33:37 -!- augur has quit (Ping timeout: 244 seconds). 10:42:35 [12:39:21] !conduct 10:42:35 [12:39:21] Conduct: Do not eat a dagger more than 11 times. 10:42:41 (Had to retwe... I mean, share.) 10:47:06 !insulate 10:50:08 -!- evitable has quit (Ping timeout: 245 seconds). 11:18:02 -!- copumpkin has quit (Ping timeout: 265 seconds). 11:18:33 -!- copumpkin has joined. 11:23:59 Maybe I'd find Factor easier if I viewed the stack shuffling words as though they were compositions of the function that follows them? 11:24:05 swap foo is just like flip foo 11:25:42 thing is have you ever seen a mess of flips and made sense of it 11:25:56 does that sort of thing happen in factor 11:26:16 I'm starting to fear that that's the default in Factor 11:27:26 I'd assume otherwise but ~who knows~ 11:28:17 of course you can't just take some wacky function and write it in factor with flips and make it readable but maybe you can write it in some other way that's easier to make sense of, using higher level features, and comment it if needed, &c 11:29:16 after all if factor was just a mess of flips who would use it :] 11:35:46 -!- ogrom has joined. 11:40:03 monqy: spoilers no one uses factor :'( 11:40:09 monqy: (but not because of the flips) 11:41:21 Do you get the kind of >R SWAP R@ OVER R> thing in Factor? 11:43:00 (That's (a b c -- b a c a c) and is probably conventionally written in some other way, I just mashed some keys.) 11:45:13 This is how Forth's return stack works: http://www.forth.com/starting-forth/images/ch5-return-stack.gif 11:46:06 shachaf: why don't people use factor :0 11:46:18 and 11:46:20 if sgeo used factor 11:46:26 would that be people using factor ? 11:49:16 Only is Sgeo is people. 11:49:35 Is Sgeo made of people? A horrible thought. 11:49:41 [ swap ] dip 2dup 11:49:54 I think that should have the same effect in Factor. Hmm 11:50:05 but why would you write that 11:50:31 -!- Taneb has joined. 11:51:02 Apparently not 11:54:44 Oh sure. Forget to output makes it error 11:54:57 http://ideone.com/j6E2dD works, but swapd is apparently depreciated 11:55:37 but why would you write that............. 11:56:17 Because it's what fizzie's thing does. 11:56:26 http://ideone.com/zrZAGv 11:59:28 The depreciation thing for swapd says that it's depreciated, and the use case would be better served with lexicals 11:59:53 "The data flow represented by this shuffle word can be more clearly expressed using Lexical variables." 12:00:48 Are that in any way like Forth locals? 12:01:48 I don't know what Forth locals are like 12:02:12 Example of a word defined with lexicals: 12:02:23 : foo ( a b c -- b a c a c ) >r swap r@ over r> ; would be written with locals as : foo { a b c -- b a c a c } b a c a c ;. 12:02:23 :: ( a b c -- ) a . b . c . ; 12:02:32 Ah, so yes 12:02:39 oops forgot to name it 12:03:23 It seems very similar, except for the syntax. (:: instead of {}s in the stack comment?) 12:04:22 yes 12:04:37 True Forthers (as far as I can figure out) say locals are the worst possible thing, should be never used, and you should just factor the words into smaller and smaller pieces instead. 12:04:58 Also that they are a "crutch" that will make you not factor properly. 12:05:13 Possibly also that anyone caught using locals should be shot. 12:05:34 zzo writes forth codes right? is zzo a true forther 12:05:46 http://ideone.com/XxXaIb 12:06:16 Factor seems to take the view that they should be used only when needed 12:06:35 And yes, strings don't need a space after the ". It's an exception in the parser 12:06:44 Other things like URL" still need the space 12:07:16 fizzie, there's also [let ] that can be used anywhere 12:08:48 * sgeo wonders if there's a way to write dip in pure Factor 12:09:01 dip is defined, as it turns out, but in terms of dip 12:09:23 The primitive dip is used with literal quotations, and the definition is used for non-literal quotations 12:09:37 sgeo: Technically, you can use { anywhere too: http://ideone.com/Kbh5F6 12:09:45 (Not that you'd probably want to.) 12:10:25 But that doesn't seem to terminate? 12:10:30 Except at the ; 12:10:38 You can do http://ideone.com/eO60Di if you want to get rid of them early too. 12:10:39 I should really be sleeping 12:11:06 Whoops, the comment for the locals is now misleading. 12:11:09 But you get the point. 12:11:26 yes 12:11:42 (The scope/endscope is probably gforth-specific.) 12:11:43 In Factor, those aren't comments 12:12:52 The part after -- is a comment in Forth. 12:13:26 I thought stack declarations were comments in general. Oh, except for the locals stuff, sure 12:13:44 Right, yes, in ()s they're comments altogether. 12:14:05 Factor actually checks those 12:14:08 ANS Forth doesn't really define a syntax for locals, it just defines words that can be used to define syntaxes for locals, so my examples might've been quite gforth-specific overall. 12:14:20 "The ANS Forth locals extension wordset defines a syntax, but it is so awful that we strongly recommend not to use it. We have implemented this syntax to make porting to Gforth easy, but do not document it here." 12:15:02 It's apparently the wrong way around compared to standard stack comment notation, to begin with. 12:16:32 -!- ogrom has quit (Quit: Left). 12:16:43 wrong way around? 12:17:05 Oh, is that the syntax you used, or is the syntax you used Gforth specific? 12:19:10 Cool, in Factor it's possible for an error handler to forcibly resume from an error even if the thrower isn't expecting it 12:22:08 The syntax I used is I think reasonably common, but it's not entirely standard. 12:23:01 The ANS locals for : foo ( a b c -- ... ) ... ; would be declared with locals| c b a |. 12:23:17 I can see how that's a bit WTFy 12:23:20 I don't think anyone really likes it all that much. 12:23:28 The order 12:23:29 I mean 12:25:24 Also, there's shuffle( ) for arbitrary shuffling but I don't see any good docs 12:26:22 http://ideone.com/7vHtCa 12:28:37 Wait, I suddenly fail to see how [ swap ] dip 2dup made any sense 12:30:26 I was just assuming [ ... ] dip was kind of like >r ... r>. 12:31:11 In which case it makes sense. (And I suppose >r swap r@ over r> would arguably be better as >r swap r> 2dup, since 2dup exists too. 12:32:22 http://ideone.com/OnSmVL 12:32:27 So yeah, I got it wrong 12:32:37 I think it should be [ swap 2dup ] dip 12:32:46 Oh, I see what happened: 12:32:57 I turned your b a c a c thing into b a b a c 12:33:16 The [ swap ] dip 2dup was written for b a c a c 12:44:24 -!- Taneb has quit (Quit: Leaving). 13:01:03 -!- GreyKnight has joined. 13:06:23 -!- GreyKnight has quit (Ping timeout: 255 seconds). 13:08:46 -!- GreyKnight has joined. 13:10:17 First the disembodied hand picks up a number. Then the flying two-headed monster arrives. It's obvious when you think about it. 13:12:58 (related to: This is how Forth's return stack works: http://www.forth.com/starting-forth/images/ch5-return-stack.gif ) 13:14:43 how could something be obvious, when i have to think about it first anyway 13:17:12 `quote 13:17:13 467) Pythagoras was running away and he reached a field of beans, but he didn't want to step on them so he let those guys chasing him to kill him instead. 13:20:21 perhaps the blood provided the beans with some extra nutrients as well 13:20:22 so considerate 13:23:05 -!- Phantom_Hoover has joined. 13:27:12 `quote 13:27:13 549) Hulu's movie selection is like MST3K without the MST3K characters. 13:34:06 `quote 13:34:06 `quote 13:34:07 694) northern ireland is quite a way to drag someone from scotland <-- not really. I just checked in google earth Vorpal: but dragging people across water's a bit tricky 13:34:07 55) hmm, this is hard 13:34:08 `quote 13:34:09 366) meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary so far, it has found four digits I hope it will find the fifth some time this week 13:35:11 694: who was being dragged and for what purpose? 13:36:10 fizzie, does the return stack do anything important, or is it just a convenient place for when you need another stack? 13:36:14 366 is good, 55 is a bit boring 13:36:36 Sgeo: you must restore it to its original state by the end of the function (or whatever Forth calls functions) 13:36:50 as the top is expected to hold a return pointer 13:37:00 Unless you want to do tricky continuationy stuff I assume 13:37:10 yeah 13:37:38 I got that explanation from Ch5 of http://www.forth.com/starting-forth 13:38:32 on a quick browse, it looks like fizzie's linked image is fairly representative of the odd illustrations 13:39:05 Learn You A Haskell is a bit that way too, are "cutesy bizarre illustrations" a thing now in programming books?? 13:40:12 @help 13:40:12 help . Ask for help for . Try 'list' for all commands 13:40:17 @list 13:40:17 http://code.haskell.org/lambdabot/COMMANDS 13:40:26 you could've just linked me the first time 13:40:27 GreyKnight, not in Factor books. Because there are no Factor books. 13:40:52 they're a thing in factor books too 13:40:55 because there are no factor books 13:41:01 Sgeo: so 100% of all Factor books have bizarre illustrations 13:41:09 monqy++ 13:41:19 @help tell 13:41:19 tell . When shows activity, tell them . 13:41:47 @tell ais523 Did you ever find the fifth binary digit of pi?? (`quote 366) 13:41:47 Consider it noted. 13:44:30 @freshname 13:44:30 Hain 13:46:45 GreyKnight, what if there's a deletion spree before then? 13:47:29 shrug 13:51:05 sgeo: It is used by things other than return addresses too, which makes it slightly tricky to use. 13:51:36 Loop control things, for example. 13:52:48 You can't 10 >r ... do ... r> ... loop and expect r> to pick up the 10. 13:53:07 -!- ogrom has joined. 13:54:21 (And in fact i is pretty much just r@ in disguise.) 13:55:01 what about conditionals? 13:55:31 I don't think selection statements affect the return stack. 13:59:18 Do people consider Forth conditionals to be ugly? 13:59:54 Factor conditionals are less ... syntaxy, but harder to read imo because the code goes before the if 14:00:17 0 zero? [ "It's zero!" . ] [ "It's not zero!" . ] if 14:01:27 I think people have complained about the misleading location of "then" in the Forth if then . 14:02:04 gforth documentation prefers to use the synonym "endif" for "then". 14:02:34 Can gforth conditionals be used at the whatever-the-REPL-is-called-in-Forth? 14:02:47 Especially when it's combined with else, making it cond IF truecase ELSE falsecase THEN otherstuff. 14:03:33 I should really get going 14:03:36 In the interpreter? No, but you can use [if] [else] [then]. 14:03:41 I have a long day of mostly doing nothing at school 14:05:05 `forth 0 if 1 else 2 then . 14:05:07 ​ \ in file included from *OS command line*:-1 \ /tmp/input.274:1: Interpreting a compile-only word \ 0 >>>if<<< 1 else 2 then . \ Backtrace: \ $40E19B30 throw 14:05:14 `forth 0 [if] 1 [else] 2 [then] . 14:05:15 2 14:06:03 `factor 14:06:12 Hmm, wonder about the best way to add a factor command 14:06:16 Actually, that could suck 14:06:34 No output. 14:06:39 Factor has a tendency to want you to list every vocabulary you want to use, and all the useful stuff is spread out among them 14:06:40 Wait what 14:06:43 `which factor 14:06:45 ​/usr/bin/factor 14:06:49 Factors numbers. 14:06:52 `factor 142341 14:06:52 `factor "Hello" . 14:06:53 142341: 3 17 2791 14:06:54 factor: `"Hello" .' is not a valid positive integer 14:07:12 So... the name of Factor still sucks major balls 14:07:16 It's the factor of coreutils. 14:08:03 I wonder... 14:08:06 `run dpkg-query -S $(which factor) 14:08:07 dpkg-query: failed to open package info file `/var/lib/dpkg/status' for reading: No such file or directory 14:08:10 Aw. 14:09:46 http://tech.groups.yahoo.com/group/concatenative/message/4873 14:10:00 Apparently the person behind Joy abandoned it and recommends Factor? 14:10:35 -!- boily has joined. 14:11:26 * sgeo wonders if there's a cleaner approach to syntax modification than Factor's approach 14:11:33 (Which I think is similar to Forth's?) 14:12:03 I mean, cleaner approach in the concatenative language space 14:23:52 -!- GreyKnight has quit (Ping timeout: 252 seconds). 14:39:41 elliott: Turns out that exceptions are faster than return value checking for rare errors: mushspace and Hali will move to C++11, I'm afraid. (mushspace will of course still provide a C API.) 14:59:18 -!- sebbu has quit (Ping timeout: 245 seconds). 15:01:22 -!- ogrom has quit (Quit: Left). 15:10:09 Deewiant: Move to C with setjmp/longjmp. 15:10:24 But... but I heard a guy once say that exceptions are slow and nobody should ever consider thinking about using then! 15:10:26 them! 15:10:35 I've heard a guy once say that. 15:11:11 I've also heard you incur their cost even when not using them. 15:12:06 fizzie: I thought about but I figured it's too impractical even for this. 15:13:44 Deewiant: Move to C with inline-asm macros that do a vaguely setjmp/longjmp-like raw register dump/reload. 15:14:41 fizzie: That could be an "in addition to" solution, but not an "instead of", since it requires per-architecture work from me. 15:16:26 Deewiant: Ooh, ooh, move to C with #define throw(errcode) *(void *)(errcode) exceptions that are "caught" by a SIGSEGV handler that pickles the uc_mcontext member of the ucontext_t to unwind back into a handler. 15:16:41 -!- Arc_Koen has joined. 15:17:09 Deewiant: (Both slow and horrible at the same time!) 15:17:43 fizzie: Sorry, undefined behaviour is a no-go. 15:17:51 (Points for creativity though. :-)) 15:19:05 yeah i knew somebody who proposed implementing futures in C that way 15:19:26 Let me guess, he's DEAD NOW? 15:19:30 probabl 15:26:25 -!- sebbu has joined. 16:21:34 -!- copumpkin has quit (Ping timeout: 265 seconds). 16:22:05 -!- copumpkin has joined. 16:40:36 -!- Arc_Koen has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 16:46:48 Deewiant: Why not just use setjmp or whatever 16:47:05 It's syntactically ugly unless you use some macro hackery but there's nothing wrong with it. 16:47:56 It's ugly and potentially a pain for users 16:48:14 If it matters for users, then you don't export a "C API". 16:48:50 I export a C API as an alternative; C++ users can use the exceptions directly. 16:50:06 I really don't think setjmp/longjmp are that ugly, since you can recreate a try/catch structure directly with just some macro hackery anyway. It's not that far off 16:52:32 And it does matter for users, since the users will be the setjmp'ing ones. 16:53:58 Sure, so the C API will be awkward whether you use longjmp or exceptions. 16:56:29 If I use longjmp it'll be awkward due to having to pass a jmp_buf everywhere. If I use exceptions the C API will be return codes, and you can ignore them if you're willing to ignore malloc failures, like people tend to be. :-P 16:56:52 -!- Arc_Koen has joined. 16:57:19 not like malloc ever actually fails on linux 16:57:35 It can if you've configured it to do so. 16:57:39 sure 16:57:41 which i have actually 16:57:46 And on non-Linux systems, of course. 16:57:53 also it can fail if you run out of virtual address space before you run out of actual storage 16:57:59 which is pretty plausible on 32-bit 16:58:02 Right. 16:59:00 you mean, actual storage space is larger than 2^32? 17:00:19 well, that can happen, sure 17:00:22 there's some OISC esolang on the wiki like that, that claims to be turing-complete but that can only access as many instructions as the fixed-length addresses allow it 17:01:06 well the article starts by stating words can be for instance 5-bit long, and then it gets way too complicated for more and somehow seems to assume words are infinite or something 17:01:38 but also physical storage is typically allocated when memory pages are actually used 17:02:41 so you could allocate 2^32 bytes of memory, not actually touch it, and end up with a small physical memory footprint 17:02:51 but still run out of address space 17:04:03 16:56:29 If I use longjmp it'll be awkward due to having to pass a jmp_buf everywhere. If I use exceptions the C API will be return codes, and you can ignore them if you're willing to ignore malloc failures, like people tend to be. :-P 17:04:22 You can abstract the jmp_buf, but don't you have some sort of "interpreter state" object you can stuff it into instead? 17:04:38 I'd probably just abort() or fail silently on malloc failures, though. mushspace isn't mission critical. 17:04:55 Deewiant: Wait, why do you need a jmp_buf yourself? Just call a function pointer on an error. 17:05:05 I'm trying to be anal about handling malloc failures correctly. 17:05:10 If it wants to unwind the stack it can arrange that itself in a language-specific manner (setjmp/longjmp or exceptions). 17:05:55 There are other kinds of errors as well (also the rare kind), it'd be impractical for the user to manage them all. 17:07:06 Deewiant: It can just pass an error code/string/whatever to the funptr it calls? 17:07:21 It'd be minimal-effort to pass it a function that throws a C++ exception or whatever. 17:07:29 And if you don't care, you can just pass it something that abort()s. 17:09:14 I think everything that can fail has access to a mushspace*, so that could work. 17:10:36 I guess the function call overhead could theoretically make actually *handling* an error slowly, but I assume you don't care about performance in the rare error cases, so this seems like the cleanest solution to me. 17:11:13 (Of course you might want to use other C++11 features too. But C++ libraries are such a pain, esp. to bind to other languages. Admittedly having a C API handles most of that work.) 17:13:28 Yes, error handling speed is irrelevant. The error cases are essentially "malloc (or equivalent) failure" / "cannot fit input into address space" / (various kinds of) "infinite loop detected", which shouldn't be common. 17:13:58 the probability of generating a valid UTF-8 sequence by picking random bytes uniformly is about 53.6% 17:15:34 Oh, I guess you also need to store a (void *) somewhere so that the error handler can get access to a jmp_buf that a hypothetical user stuffed in. But that's just standard "closure in C" stuff. 17:15:42 Well, they could just use a global I guess. 17:15:53 Sometimes I need to do some operations before rethrowing, though. 17:15:56 and the probability if you pick only high-bit bytes is about 16.4% 17:16:11 -!- copumpkin has quit (Ping timeout: 265 seconds). 17:16:22 Deewiant: That sounds a little fiddly but easy enough. 17:16:43 -!- copumpkin has joined. 17:16:56 I guess you could simplify it by storing a FILO of error handlers that you push that stuff to. 17:16:58 elliott: It means I'd have to propagate the exception via other methods until I'm sure I can call the user's handler. 17:17:28 No, you could just override the handler to be one that cleans stuff up and then calls the user's exception handler. 17:18:24 That's likely to be more expensive than try-catch-throw, I think. 17:19:16 What, the expense of reassigning a pointer? 17:20:38 Say you use struct error_handler { void (*handle)(void *userdata, char *error); void *userdata; }; Then if you have finalisation work to do, you write: void my_finalising_stuff(void *userdata, char *myerror) { error_handler *old_handler = userdata; ...finalise stuff...; old_handler->handle(old_handler->userdata, error); } 17:20:39 That's at least four pointers: save user's handler and data pointers and anything from the stack our handler will need, write our handler and data pointers. 17:21:01 Eh. 17:21:10 It sounds pretty cheap to me. 17:21:27 How often do you even set these up? 17:21:42 This would be in every write operation. 17:21:46 I.e. often. 17:22:19 Surely you can avoid that: have the error handling function itself call a finalise_write_stuff() function before the user's error handler, and have that just read from something in the (mushspace *). 17:22:34 Then you only have to store what you absolutely have to store (the relevant data it needs to access). 17:22:52 (You can generalise this by doing the FILO thing and just setting it up ahead of time.) 17:25:23 The relevant data will change every call, and it's not /only/ in writes that I have to do some kind of finalization. 17:27:14 Sure, so if you set up a FILO or whatever of all the possible types of finalisation you need to do ahead of time (and only actually walk it when you handle an error), the only cost of changing the relevant data is copying it; you avoid the overhead of messing with the error handlers because they're done ahead of time. 17:29:21 -!- NihilistDandy has joined. 17:30:01 That's quite messy internally, and just that small bit of copying might already be too costly. I suppose it's worth a try, though. 17:31:03 -!- augur_ has quit (Remote host closed the connection). 17:31:32 Clearly you could save on copying time by having your error handlers look down the stack at your code's data. 17:31:45 -!- NihilistDandy has quit (Client Quit). 17:31:55 Right, that's what C++ try-catch achieves without invoking undefined behaviour. :-P 17:32:05 -!- NihilistDandy has joined. 17:33:15 That jumps, and stuff!!! 17:33:19 Overhead. 17:33:29 And re. your bracketed thing earlier: yes, I might want to use some C++ somewhere anyway. A case I expect to hit sooner or later is that qsort takes only a function pointer without a void* context... std::sort would be much more convenient than having to select between qsort_r/qsort_s depending on the libc. 17:34:05 Deewiant: I'm sure you can do much better than qsort anyway... 17:34:06 timsort? 17:35:20 qsort isn't guaranteed to use quicksort, is it? 17:35:55 Deewiant: No. But it's also not guaranteed to use the best algorithm you can get your hands on. 17:36:02 I don't think any libcs use timsort. 17:36:49 True, but this is the kind of thing whose optimization I might be willing to leave to the stdlib maintainers. :-P 17:36:58 Apparently glibc uses introsort and musl uses smoothsort. And uClibc uses, um, shellsort. 17:37:16 Deewiant: It's not even slightly close to a bottleneck? 17:38:43 elliott: It's something not at all Funge-specific which is likely to be kept at least "fast in the general case" by people who aren't me, so outsourcing it can be worthwhile. 17:40:54 Deewiant: I think you trust standard library maintainers too much. 17:41:11 Maybe. 17:41:18 Anyway if you outgrow the qsort interface you have to pay some cost switching over, so I'd personally take the opportunity to implement timsort or whatever so I know it'll be fast. 17:41:22 But that's just me. 17:43:06 I also filed an LLVM misoptimization bug which turned out to be an off-by-one error in some bitset initialization code of mine. std::bitset would've avoided that hair-pulling. 17:43:39 (This is of course a specific case that could happen anywhere else and in any language.) 17:44:08 (Well, this particular case only in languages without bounds checking on fixed-length arrays.) 17:44:32 Deewiant: The way I see it is that eventually you will end up reimplementing all this stuff just to see the numbers go down in benchmarks anyway. 17:44:43 So you might as well do it when you have an excuse like a nicer interface without switching languages. 17:45:35 Eh, there are cold paths which can benefit from things that C++ or its stdlib make simpler. 17:45:43 Which won't show up in profiles. 17:46:07 You do pay the cost of using C++ features, though. 17:46:45 Slower compile times, the effort of having to write C wrappers around stuff, larger binary (which could have performance implications), people will think you're uncool. 17:47:05 I'm sure D would make a lot of things more convenient too :) 17:47:21 The binary with C++ exceptions turned out to be 2K larger, IIRC. 17:47:47 -!- FreeFull has joined. 17:47:58 And not really compared to C++11, I don't think. For mushspace, that is. 17:49:27 2K isn't much, sure; let me know what it's like when you use all the other conveniences. 17:49:41 -!- zzo38 has joined. 17:49:56 Fair enough. 17:50:49 I think I'm getting to know haskell 17:51:41 oh boy 17:55:12 Well, the basics 17:55:33 What's a mushspace 18:01:56 It's an implementation of a Funge-Space. 18:05:57 -!- Nisstyre has quit (Ping timeout: 265 seconds). 18:06:39 I wonder how many befunge interpreters have been written in haskell 18:06:54 countably many 18:07:00 For -98, at least two. 18:07:22 OVER NINE FIIIIIFTHS 18:07:32 ... yes. 18:09:21 FreeFull: I wrote an almost-complete, Mycology-passing-except-for-some-unimplemented-stuff, quite-a-few-fingerprints-implementing, not-the-slowest-thing-in-the-world one. 18:09:34 It was OK. I plan to write a version 2 of it someday once I figure out a nice fungespace representation. 18:10:00 I think I might have re-lost the code again, after re-finding it. 18:10:35 elliott: Bytestrings maybe? 18:12:11 Um. I don't think so. 18:12:15 Maybe I should switch to C++ and not implement a C API just to make sure that Shiro 2 doesn't use mushspace against me. 18:12:19 It... needs to be two-dimensional, for one. 18:12:34 Deewiant: Do you seriously think I'd settle for a mutable fungespace? 18:12:49 Well... I might. But it's possible to eimplement efficient imperative code in Haskell, so I'd do that out of pride if I did make such a compromise. 18:12:55 *implement 18:13:37 Er, you'd do what exactly out of pride? 18:13:57 it's nice to use persistent data structures for your interpreter 18:14:13 then you can do checkpoints, nondeterministic eval, etc. 18:14:25 kmc: yeah 18:14:30 kmc: The problem is just efficiency, that's all. 18:14:45 The competition in the Funge-98 space is pretty fierce. 18:15:00 It's not very active though. 18:15:16 It's just me plodding along and cfunge seems to have stopped. 18:15:47 cfunge isn't the one to beat anyways, CCBI is. 18:16:05 you should write a tracing JIT 18:16:06 cfunge beats CCBI on some things. 18:16:19 Anyway I probably can't beat whatever you're calling that new interpreter on raw benchmark speed. 18:16:37 I'll be happy if I can be at least in the same league, have pretty code, cool debugging features, and implement all the stupid fingerprints you don't. 18:16:53 -!- oerjan has joined. 18:17:19 If you can be in the same league with a very persistent data structure, that'll be cool. 18:17:20 -!- augur has joined. 18:17:54 It would! 18:18:01 Though I am prepared to compromise my ethics to some degree. 18:18:04 I doubt you can though. I could make the current mushspace persistent-ish. 18:18:51 I might cheat by having a persistent interface but with an impure underlying implementation, such that it's slow if you actually use the persistence much. 18:18:58 Okay, not very efficiently persistent at all but some kind of COW copies would be possible. 18:19:00 Though those tricks never actually seem to perform well in practice. 18:20:17 -!- Nisstyre has joined. 18:20:45 Deewiant: (Calling COW persistent upsets me.) 18:20:47 kmc: Re. JIT, fizzie has/had a work-in-progress x86(?) JIT, another one of those not-active-but-fierce competitors. A JIT is currently the last thing on my todo list. 18:21:24 elliott: Isn't that the typical implementation technique? :-P 18:21:25 A JIT is sort of on my TODO list too. 18:21:32 It'd help me cheat around the fact that Haskell isn't as fast as C. 18:21:50 -!- ais523 has joined. 18:21:56 (Implementations-not-languages complaints will be answered by @quote monochrom Einstein.) 18:22:51 A custom JIT might make you win in some cases, I was just planning on having a fast interpreter and then using LLVM to JIT. 18:22:53 what# do# you# mean#, Haskell# is# as# fast# as# c# 18:23:14 Deewiant: Right, I was going to do something significantly fancier. 18:23:17 ooh you should try using pypy 18:23:30 Deewiant: Something like running another thread that analyses the paths the IP goes through and writes code that skips the actual IP movement for those stretches. 18:23:40 @quote monochrom Einstein 18:23:41 monochrom says: einstein's theory implies that haskell cannot be faster than c 18:23:46 Of course if you turn on TRDS or whatever that'd have to go. 18:23:54 The thing with LLVM as a JIT is that it's more like running a slow AOT compiler, just writing into memory instead of a file. 18:24:10 Yeah, you really want something more dynamic for Funge, I think. 18:24:12 LLVM is probably a fine hot JIT. 18:24:19 Gregor: For self-modifying programs? 18:24:28 It is shown, Haskell can be as fast as C (or sometimes faster), depending on the program. Not always. 18:24:30 Depends on how much they self modify *shrugs* 18:24:31 elliott: I figured I'd paper over that with the fast interpreter part. ;-P 18:24:38 Can you make self modifying in LLVM? 18:24:43 I do worry about that overhead/startup time, though. 18:24:46 I didn't see any command for that. 18:24:47 *about the 18:24:52 zzo38: Nope. 18:24:58 I wouldn't consider using LLVM as the fast JIT though. 18:25:10 I don't want to be superfast on idealised benchmark #174 at the expense of Mycology taking 3 seconds to run. 18:25:16 My point was to not have a fast JIT at all. 18:25:28 Just an interpreter and a slow JIT. 18:25:38 Ah 18:25:53 Also I'd want this JIT stuff to activate automatically because I don't like tuning implementation flags to benchmarks. 18:25:54 But I have had idea that they could add some kind of self-modifying in LLVM. One idea is to be able to tie the reading and/or writing of a global variable to a specific instruction. 18:26:00 Then LLVM is probably fine so long as you're tuned not to use it stupidly *shrugs* 18:26:01 my goals are admittedly impossible 18:26:01 With the former being hopefully good enough for one-time code and then LLVM handling loopy stuff well. 18:26:29 elliott: Doing JIT stuff in another thread is an option. 18:27:03 And then just say "JITting on single core will be slow". 18:27:17 Threads have costs, still. Admittedly Haskell threads are basically free so I have an advantage 8) 18:27:30 (Except not really since I'd only spawn one.) 18:28:05 Other ways to do self-modifying code might be like INTERCAL's ABSTAIN and REINSTATE; but such thing might also be done by tying a variable to a branching instruction. 18:28:15 Deewiant: Do any of your benchmarks test stuff like IO / fingerprints? 18:28:20 Maybe I could beat you by super-optimising those. 18:29:18 -!- epicmonkey has quit (Ping timeout: 245 seconds). 18:29:52 elliott: I/O not much, but a bit on the side with the underload interpreter. It does show up in ministat: I filed a glibc bug concerning an #ifdef excluding Clang from inlining getchar. :-P (Let's see how soon that gets marked as WONTFIX or even INVALID.) 18:30:22 elliott: Fingerprints: again, the Underload interpreter uses STRN, but not otherwise. 18:30:50 But, I don't have many benchmarks. I have the Underload interpreter and then the synthetic ones from Fungicide and that's it. 18:31:08 Deewiant: Hey, Drepper ain't in charge any more. 18:31:14 Deewiant: (Have you tried musl?) 18:32:30 o 18:32:30 ais523: You have 3 new messages. '/msg lambdabot @messages' to read them. 18:32:33 @messages 18:32:33 GreyKnight said 5d 2h 23m 1s ago: There is a local company called AIS Gas. Thought you should know. 18:32:33 Phantom_Hoover said 5d 2h 22m 31s ago: what does the i in your name stand for 18:32:33 GreyKnight said 4h 50m 47s ago: Did you ever find the fifth binary digit of pi?? (`quote 366) 18:32:35 elliott: I noticed he was still CC'd when I submitted it, though. In any case as far as I could tell glibc only #ifdefs stuff for GCC, so I wouldn't be surprised if it were stopped. 18:32:48 elliott: And no, I haven't tried any other libcs. 18:32:56 @tell GreyKnight not using /that/ program, I've since determined it using other means 18:32:56 Consider it noted. 18:32:59 `quote 366 18:33:01 366) meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary so far, it has found four digits I hope it will find the fifth some time this week 18:33:05 ais523, I ASKED YOU IF IT WAS IAN AND YOU SAIT IT WASN'T 18:33:18 elliott: This was just to get my C++ conversion running at the same speed as the C version before switching it to use exceptions. 18:33:19 Phantom_Hoover: I thought I had a no-confirm-or-deny policy 18:33:28 also, why does nobody ask what the s stands for? 18:33:29 *SAID 18:33:37 the s is plural 18:33:47 Alex I[redacted]s series, number 523 18:33:53 because your first and last names are extremely easy to find 18:33:54 Looking at monads right now 18:34:07 Deewiant: So can your mushspace-based interpreter actually run programs? 18:34:30 elliott: Sure, so I could run the benchmarks. 18:34:44 > let x y = 1:y in return 3 =>> x =>> x 18:34:45 Not in scope: `=>>' 18:34:45 Perhaps you meant one of these: 18:34:45 `>>' (imported from... 18:34:53 Deewiant: Right, I just didn't know you'd gotten so far yet. 18:34:56 > let x y = 1:y in return 3 >>= x >>= x 18:34:57 No instances for (GHC.Num.Num [[b0]], GHC.Num.Num [b0]) 18:34:58 arising from a u... 18:35:13 Wait 18:35:13 Deewiant: I take it it'll be released in 5 years when it's perfect 18:35:14 elliott: It implements ( by checking that the input is 'STRN' and then sets strn_enabled to true. A-Z check for strn_enabled and then do the STRN stuff. 18:35:29 > let x y = [1,y] in return 3 >>= x >>= x 18:35:30 Wow, that's disgusting. 18:35:31 [1,1,1,3] 18:35:48 You should implement all the fingerprints that way for speed IMO. 18:35:49 elliott: It's around 600 lines long (plus an old 1000-line stack impl) with a couple dozen globals. 18:36:09 Needless to say it doesn't pass Mycology. ;-P 18:36:28 Heh. 18:36:30 How far does it even get? 18:36:51 * elliott remembers all the wonderful Mycology-is-messed-up bugs in Shiro wistfully 18:37:17 I think it gets up to the y stuff. 18:37:58 case 'y': { cell n = cc_pop(cc); switch (n) { case 9: cc_push(cc, mushcursor2_get_pos(cursor).x); break; case 10: cc_push(cc, mushcursor2_get_pos(cursor).y); break; } break; } 18:38:09 Almost complete y implementation. 18:38:39 * elliott wonders what cc stands for. 18:38:48 Hmm, I wonder if I could micro-optimise my stack implementation for speed. 18:38:55 I think I even just used a strict linked list in shiro. 18:39:00 Though that may well be the best it gets. 18:39:06 elliott: I think I implemented fingerprints essentially that way in CCBI. Each A-Z got codegenned to a switch based on the topmost active fingerprint for that letter, or something. 18:39:13 Or then it was just in my TODO list. 18:39:35 cc stands for CellContainer because that's what my stack impl calls its datatype. 18:40:05 elliott: it stands for current continuation in all contexts 18:40:06 In Shiro I just did the boring thing of having a list-as-stack of Shiro ()s for each A-Z. 18:40:08 including motorbikes 18:40:14 And ran the top one. 18:40:28 elliott: Yeah, I did that in CCBI 1, at least. Not sure about 2. 18:41:06 Btw feel free to bikeshed a better name for something that can be either a stack or a deque. 18:41:09 I could probably do that codegen thing, though it'd involve either TH or cpp, neither of which I really want to use. 18:41:52 Deewiant: xixo 18:42:07 (OK, xiyo.) 18:42:48 I think I see what you're going for but I also think that's a bit too opaque. :-P 18:44:01 I was going for /.I.O/ 18:44:09 Right. 18:44:34 * elliott thinks "deque" is pretty opaque too. 18:44:48 It's standard, though. 18:46:40 This structure isn't :P 18:47:16 What do you mean? If it's a deque it's a deque. 18:47:40 I meant your xiyo. 18:47:49 "deque" is opaque but standard, "xiyo" is opaque but non-standard. 18:48:16 And CellContainer is not opaque, just verbose. :-P 18:48:45 Deewiant: How about "staque" 18:48:50 (This is a serious suggestion) 18:49:04 Heh, that could actually work. 18:49:39 I might go with that when I do my cleanup of it, thanks. 18:50:18 Deewiant: If you make a version based on hashing the stack elements with an SHA algorithm you could call it Shaquille O'Neal. 18:50:23 get it 18:50:31 ok I am really terrible these days 18:50:34 har har 18:51:51 I wonder how fast a Rust Funge could be. 18:52:12 Great Rust Funge = grunge 18:54:29 -!- monqy has quit (Quit: hello). 18:57:59 -!- augur has quit (Remote host closed the connection). 18:58:55 -!- Vorpal has joined. 19:08:02 -!- augur has joined. 19:11:12 i'm learning about funge-98 19:11:19 this stack stack business is strange 19:11:33 it reminds me of that old CPU architecture that had a register to determine which register is the instruction pointer 19:12:19 lolwut 19:12:28 the real weirdness Deewiant is talking about is an extension fingerprint 19:12:37 some of them do really horrific stuff like that 19:13:35 I have made a few changes to the specification of Complex Numeric Print in RogueVM. 19:14:36 It has a lot more options than printf. 19:15:40 also concurrent funge-98 specifices lock-step exceution of threads? 19:15:42 wtf 19:16:00 kmc: It's not concurrent-concurrent. 19:16:06 It's there to make things more confusing, not for speed. 19:16:22 Also Funge-98 with continuous time barely makes any sense. 19:16:23 yeah cause shared memory multiprocessing isn't confusing 19:16:27 ;P 19:16:32 sure it would not have to be continuous time 19:16:52 you would still have discrete steps on each IP, you would just let implementations step the IPs in any order 19:17:01 * elliott wonders how true Funge-98 concurrency and TRDS would interact. 19:17:02 Vorpal was doing a fingerprint for completely asynchronous IPs 19:17:09 maybe with some liveness criterion 19:17:09 ATHR. 19:17:23 it is hard to prove anything about concurrent programs without some liveness criterion 19:17:29 but, it is hard to prove anything about concurrent programs 19:17:36 (http://www.rcfunge98.com/rcsfingers.html#TRDS, http://www.rcfunge98.com/trds.html) 19:17:49 All the real multiprocessor-friendly Funge apps use ATHR instead. It's like POSIX threads to Funge-98. Or would, and would be, if it existed. 19:17:53 Huh 19:17:55 Not in scope: data constructor `Writer' 19:18:01 fungot: Would you want to be running on ATHR? 19:18:01 fizzie: i love how maxima can generate tex output is literally: case is preserved, special characters may be there, does not work 19:18:14 fungot: You could be thinking about babbling and running a brainfuck program at the SAME TIME. 19:18:14 fizzie: university programming one of those dating sims. i can't use 19:18:21 fungot: Except not since you run on a single-core machine. 19:18:22 fizzie: it would only take about an hour that he is a monk. ( not that i know much more about macrology as i do 19:19:48 Does the output it makes up have any relation to the input? 19:19:56 Sadly, no. 19:20:16 Sometimes it does by accident. 19:21:17 -!- ogrom has joined. 19:21:21 -!- ogrom has quit (Read error: Connection reset by peer). 19:21:30 In one sense invocations of ^bool have a relation to the input, because they probably eat random numbers from the PRNG sequence. 19:21:39 Er, the output. 19:21:44 FreeFull: the library was reorganized so Writer is now writer (and is just a function) 19:22:26 or actually a method, after they generalized it 19:22:40 oerjan: Ok 19:23:05 fizzie: When was the last time fungot got anything new? 19:23:06 elliott: evil can be an operator or anything. fnord! shub-niggurath! as a book to that particular type 19:23:18 -!- GreyKnight has joined. 19:23:27 A long, long time ago. 19:23:40 "last change: Sat, 3 Apr 2010 00:18:53 +0000" 19:23:44 as you can see, fungot is clearly in need of a new sacrifice 19:23:44 oerjan: then just do what you want and where :) it was repeating so much code using these idioms that their abbreviation is helpful? 19:23:52 Why didn't Learn You A Haskell get updated 19:24:11 I have a vague feeling I did a bugfix and didn't commit it. 19:24:30 FreeFull: dunno 19:25:59 http://sprunge.us/gWUA yeah that's a bugfix. 19:26:26 momus? 19:26:36 Deewiant: It's what it runs on, momus.zem.fi. 19:26:51 Okay. 19:28:17 I wonder what the first fix is all about. The second is the bugfix about <> combining in brainfuck bytecode translation. 19:29:14 It's some parameter to the babble randomizer. 19:29:21 I suppose it could be the number of rounds. 19:29:43 (Each round through ? generates two bits of randomness; c -> f would mean 20 -> 30 bits. 19:29:53 fizzie: Have you considered updating the IRC data set? That woudl be exciting. 19:30:27 You now have 15 instead of 11 on the top of the stack when hitting that v next to the _, if I read that right. 19:30:29 Think how many lenses fungot would talk about! 19:30:29 GreyKnight: You have 1 new message. '/msg lambdabot @messages' to read it. 19:30:29 GreyKnight: the fallback plan is to be root to sniff keyboard on *nix 19:30:52 fungot: brilliant idea! 19:30:52 GreyKnight: gcc fnord infopage doesn't mention how one'd get the number of inversions in the vector, but fnord 19:31:09 Deewiant: Yeah, and if I read the \4* ... ? 0/1/2/3+ \ 1- |loop kinda thing right, it's the round count. 19:31:31 (That wasn't actual Funge-98, that was kind of like a pseudocode notation.) 19:35:14 -!- Bike has joined. 19:40:45 Pseudofunge 19:42:39 Bike: you should write my funge-98 interpreter for me once you're done with eodermdrome 19:42:52 ooh, someone's implementing eodermdrome? 19:43:19 /fine/ 19:43:21 assholes 19:43:30 aren't there already funge-98 interpreters, though 19:43:39 ais523: yes, Bike. we are holding him to it 19:43:47 Bike: yes. in fact I already wrote one. but I want to write version 2 of it 19:43:49 Bike: several 19:43:54 and by "I want to write", I mean I want you to write 19:44:28 so what makes it version two, as opposed to version one 19:44:28 I notice a theme running through elliott's projects :-U 19:44:32 aside from being ghostcoded 19:44:53 it should be faster and have more features and cleaner code. mainly it should make Deewiant feel inferior somehow 19:45:01 on my desk by tomorrow please 19:45:17 why do you get a desk 19:45:25 Your Christmas bonus is dependent on completion 19:46:10 Bike: the desk is for collecting things other people do for me 19:46:16 where else would I put them 19:46:40 I know where you can stick them '_' 19:46:42 What timezone do you want that tomorrow in? 19:47:16 zzo38: all of them 19:47:37 maybe you could just put them in like, a bin 19:47:51 then it would be easier to get, say, liquids other people do for you 19:47:59 what if i want to implement befunge as an actual fungus, for example 19:48:05 it would eat your desk! 19:48:17 we are growing a bunch of fungus in my room 19:48:22 oyster mushrooms and king trumpet mushrooms 19:48:27 are they befunge interpreters 19:48:33 Is desk good to eat? 19:48:43 kmc: you typed that second line before I could make a drugs joke 19:48:44 -!- epicmonkey has joined. 19:48:47 you are ruining my "kmc experience" 19:48:52 haha 19:48:56 no i don't think they're befunge interpreters 19:49:02 shame 19:49:11 zzo38: depends, how good are you at digesting cellulose? 19:49:17 On a scale of one to ten. 19:49:20 unless they are running a program whose meaning is "spread a bunch of wispy mycelium throughout a jar of rye grain" 19:49:26 Bike: I don't mean me! 19:49:59 I think the worst thing about GHC is how it handles type variables. 19:50:24 when you get an error about how it can't match x_t8z with y7 there's no real way you can trace those back to the type variables in your actual source code without a ton of work 19:50:40 it would be nice if it used a richer representation that kept track of the *source location* and actual original name of the type variable 19:50:43 *variables 19:50:57 and also represented bindings in a smarter way so it doesn't have to keep renaming type variables internally all the time 19:51:08 I approve of fungus-based computation 19:51:35 it's a shame that physarum machines is so expensive, i'd be all over that shite. not that slime molds are actually fungi, but, you know, baby steps. 19:52:02 woah 19:52:04 i did not know about these 19:52:15 about type variables? 19:52:19 i hear slime molds aren't even _officially_ fungi any more 19:52:30 well they're not 19:52:32 Maybe we can simulate the known behaviours of slime molds and figure out if they're TC 19:52:53 so now they have no kingdom? 19:52:54 or what? 19:53:18 A kingdom, a kingdom! My horse for a kingdom! 19:53:24 «In more strict terms, slime molds comprise the mycetozoan group of the amoebozoa» well ok 19:53:47 oerjan: they're fruit 19:54:06 ok 19:54:06 They're delicious is what they are 19:54:12 which reminds me, do you all have a favorite phylum 19:54:20 mine is placozoa, because there's only one thing in it 19:56:28 * GreyKnight hears the sound of frantic googling 19:56:43 it's latin for "some flat shit" 19:56:51 they're even simpler than sponges, like how do you even manage that? 19:57:12 Are they simpler than befunges? 19:57:22 elliott: O KAY 19:57:50 19:57:23 > sequence [1,2,3] 19:57:50 19:57:25 No instance for (GHC.Num.Num (m0 a0)) 19:57:50 19:57:25 arising from a use of `e_1123' 19:57:50 19:57:26 Possible fix: add an instance declaration for (GHC.Num.Num (m0 a0))No instance for (GHC.Show.Show (m0 [a0])) 19:57:53 19:57:28 arising from a use of `M4696126599521770064.show_M4696126599521770064' 19:57:56 19:57:30 Possible fix: 19:57:58 19:57:33 add an instance declaration for (GHC.Show.Show (m0 [a0])) 19:58:01 good lambdabot errors 19:58:04 I wonder what's up with that M thing. 19:58:05 oerjan: (nethack reference) 19:58:06 those are some hella names right there 19:58:22 o_@ 19:59:31 -!- sebbu has quit (Ping timeout: 265 seconds). 20:02:01 http://en.wikipedia.org/wiki/Slime_mold#In_popular_culture 20:02:27 the slime mold is widely agreed to be the best character in nusicaa. 20:10:48 For some reason I managed to read that as "the best character in Indiana Jones movies". 20:10:58 It was confusing, since I don't remember any very prominent slime molds in them. 20:11:50 -!- augur has quit (Remote host closed the connection). 20:13:35 -!- augur has joined. 20:14:16 -!- sebbu has joined. 20:15:27 You never watched Indiana Jones and the Amulet of Yendor?! 20:16:41 fizzie: How do you read "nusicdaa" as "the Indiana Jones movies"? 20:16:48 *nusicaa (*[sic]?) 20:17:06 *nausicaä 20:17:33 oerjan: hence the *[sic]. 20:17:47 TECHNICALLY *Nausicaä take that 20:17:56 nsc 20:18:15 THAT'S WHAT I SAID, NAUSICAÄ 20:18:28 Well you didn't capitalize it. 20:18:34 Though I guess you just made up for that. 20:20:15 I could overpedant by poniting out that "in Nausicaä" still isn't quite pedantic-accurate. 20:20:19 * elliott gcc -pedantic 20:20:44 the elliott anime compiler collection 20:21:16 -!- variable has changed nick to constant. 20:24:02 gah it's so hard to google a satisfactory "that's the joke" picture 20:24:17 oerjan's true suffering 20:24:25 that's the joke, oerjan 20:24:32 ooh 20:29:02 elliott: Well, you have to admit, they *are* quite similar, stringwise. 20:29:39 fizzie: Also contentwise? 20:30:18 -!- Bike_ has joined. 20:32:07 -!- Bike has quit (Disconnected by services). 20:32:10 -!- Bike_ has changed nick to Bike. 20:33:46 -!- rodgort` has joined. 20:34:01 elliott: I... guess? They have moving pictures. 20:34:29 And people? 20:34:43 -!- epicmonkey has quit (*.net *.split). 20:34:44 -!- ssue has quit (*.net *.split). 20:34:44 -!- rodgort has quit (*.net *.split). 20:35:17 irc.splitnode.net \/ 20:35:35 Hey my head disappeared \o/ Better 20:39:25 -!- ais523_ has joined. 20:40:06 -!- ais523 has quit (Disconnected by services). 20:40:07 -!- ais523_ has changed nick to ais523. 20:41:27 -!- lifthras1ir has joined. 20:43:21 -!- ineiros_ has joined. 20:45:41 (You think I'm kidding? Why do you think the packet length in ATM is 48 instead of 32 or 64? Yep, the average of two competing proposals over length...) 20:45:43 please let this be true 20:46:04 I really hope 20:47:32 -!- oklofok has quit (*.net *.split). 20:47:32 -!- lifthrasiir has quit (*.net *.split). 20:47:32 -!- hagb4rd has quit (*.net *.split). 20:47:33 -!- ineiros has quit (*.net *.split). 20:48:10 -!- oklofok has joined. 20:52:31 In that vein, why don't we do the same with array indices? http://lua-users.org/lists/lua-l/2006-05/msg00281.html 20:55:58 ais523: That's what Wikipedia says 20:56:14 The choice of 48 bytes was political rather than technical.[5] When the CCITT (now ITU-T) was standardizing ATM, parties from the United States wanted a 64-byte payload because this was felt to be a good compromise in larger payloads optimized for data transmission and shorter payloads optimized for real-time applications like voice; parties from Europe wanted 32-byte payloads because the small size (and 20:56:15 therefore short transmission times) simplify voice applications with respect to echo cancellation. Most of the European parties eventually came around to the arguments made by the Americans, but France and a few others held out for a shorter cell length. With 32 bytes, France would have been able to implement an ATM-based voice network with calls from one end of France to the other requiring no echo 20:56:17 cancellation. 48 bytes (plus 5 header bytes = 53) was chosen as a compromise between the two sides. 20:56:20 well, that probably increases the chance of it being true 20:56:30 It even has a reference 20:56:49 To conference proceedings, no less 20:57:24 i love how every component of the web uses a different method for escaping special characters 20:57:31 -!- GreyKnight has quit (Ping timeout: 265 seconds). 20:57:41 apparently in CSS you write a backslash followed by however many hex digits you want 20:58:00 if you want to escape a one-byte character, followed by an unescaped letter a-f, you are screwed 20:58:03 %5c 20:58:06 No \&? 20:58:08 you can insert a space and the parser will eat the space 20:58:20 also apparently Internet Explorer lets you embed javascript in style sheets 20:58:28 Yes. 20:58:29 Perl has \x{6}f 20:58:42 kmc: why would you even want to do that? 20:59:05 the web is so awful for security 20:59:05 Haskell has \128166\& 20:59:18 this idea that parsers should try their hardest to ignore errors 20:59:26 Everything is awful for security. :-( 20:59:31 and make some random guess at the meaning of a malformed document 20:59:33 sure 20:59:41 kmc: well XHTML tried to change that 20:59:44 and see where it ended up… 20:59:46 well, you may recall that that's sort of necessary since nobody writes conforming html >_> 20:59:49 but there are some design principles that can help security, and the web takes basically the opposite designs in most cases 20:59:59 Bike: and the reason nobody writes conforming HTML is that browsers accept this nonsense! 21:00:04 yeah 21:00:08 it's a vicious cycle that we are pretty much stuck with 21:00:08 Bike: Google left the off their homepage to save bandwidth 21:00:08 it's a vicious cycle of bullshit 21:00:10 famously 21:00:16 you're shitting me. 21:00:26 apparently they're so large it actually makes a measurable difference 21:00:33 goddamn 21:00:37 * elliott thinks you can argue Postel's law both ways from a security POV, but won't bother. 21:00:49 what's the argument in favor? 21:00:55 Bike: you can check, it's not like the source of Google's homepage is secret 21:01:01 kmc: so, what does this book say about user agents? because they're the most hilarious web bullshit i'm aware of 21:01:03 kmc: I just said I won't bother! 21:01:07 haven't got there yet 21:01:08 * elliott wonders why google has a still. 21:01:09 elliott: :( :( :( 21:01:19 *G? 21:01:23 «Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/11.04 Chromium/18.0.1025.151 Chrome/18.0.1025.151 Safari/535.19» 21:01:31 now the question is, what browser am i actually using 21:02:04 Not Internet Explorer, that's for sure 21:02:07 and google.com has an here. maybe it's because i'm getting it through spdy and that's more savings than http 21:02:50 wow, apparently the newest IE's user agent is «Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0» 21:02:52 Yes, they even have head and body tags and so on. 21:02:54 I don't know why. 21:03:11 My Chromium doesn't have that Chromium/foo bit, I guess that's Ubuntu messing about. 21:03:36 Bike: "UNTRUSTED/1.0"? 21:03:38 And I think those .NET things only show up if you have them installed. 21:03:45 (At least, one would hope so.) 21:03:47 ais523: no idea, i copied it from the internet 21:03:57 I'm also amused it doesn't claim to be WebKit 21:04:06 still claims to be mozilla though. 21:04:24 Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:17.0) Gecko/20100101 Firefox/17.0 21:04:38 everything claims to be mozilla, that's the web standard way of saying you support frames 21:04:46 yeah, i know. 21:04:57 though does anyone use frames any more anyway 21:04:58 Hmm, I should disable Mozilla/ in my user agent. 21:04:58 if only browsers didn't support frames any more 21:05:11 Bike: Java's official documentation still does 21:05:22 fantastic. 21:05:29 Re. UNTRUSTED/1.0, http://tech.groups.yahoo.com/group/wmlprogramming/message/34420 (requires cookies) 21:05:52 Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4 21:06:28 why would IE be displaying something J2ME-related? 21:06:43 -!- oerjan has quit (Quit: leaving). 21:07:03 Deewiant: "requires cookies", really. 21:07:25 ais523: If the J2ME thing is being run inside IE? Or if it just put a IE string in front to look more legitimate 21:07:55 J2ME is used to write applications for very early smartphones 21:07:55 elliott: I debated it for a number of seconds and then figured this channel is one of the few places somebody might complain about it so might as well 21:08:02 pre-iPhone 21:08:07 I don't think it's used for anything else 21:08:18 Ah, it doesn't support applets, darn 21:08:21 elliott: the fun fact is that I already had 10 cookies from Yahoo! 21:08:28 because of my webmail account with them 21:08:35 yes, the fun fact, there is only one 21:08:48 Deewiant: I'm more curious as to how you knew :P 21:09:05 elliott: he probably has cookies off by default 21:09:08 or set to prompt, like me and Vorpal 21:09:20 That seems overly unreasonable for Deewiant. 21:09:46 elliott: I like using browser settings which reduce the scope for websites to annoy me 21:09:47 Off by default and a Firefox extension with which I can quickly enable them per-site, and temporarily/session cookies only/all. 21:10:03 hi 21:10:14 Cookie Monster, it seems to be called. 21:10:40 * elliott has been vaguely considering blocking JS by default for RAM-related reasons recently, though I should probably just enable some swap. 21:11:02 (I also run Noscript, Adblock, and Ghostery. I'm like that.) 21:11:24 (My Firefox startup time is like 10x what it is by default.) 21:11:42 You weird Firefox users and your extensions that are worth a damn. 21:11:47 We Chrome people don't have problems like that. 21:12:06 I use ghostery and adblock on chrome~ 21:12:06 I've considered forging referers by default but that tends to break things silently so it's a bit too much of a pain. 21:12:15 elliott: #1 reason I got 16GB of RAM in my new system was so that I can run Firefox nicely. 21:12:28 Gregor: I bet it wasn't enough. 21:12:33 Actually, it was! 21:12:35 isn't firefox still 32-bit-only though? :< 21:12:39 Deewiant: I have a referer forger on by default on a few sites 21:12:41 Fiora: No? 21:12:48 I originally installed it for esolangs.org after that hilarious incident with the spam filter 21:12:51 elliott: do you remember that? 21:12:54 Fiora: IME Chrome's Adblock Plus is really shitty. I still use it, but it's really shitty. 21:12:58 ais523: yes 21:12:59 ais523: Yes, I enable it on some sites as well, but only manually. I default to normal referers. 21:13:11 oh... right, the no support for 64-bit firefox thing is a windows thing 21:13:18 I think referers are the worst thing about HTTP 21:13:18 Oh, hahaha, Windows. 21:13:21 I believe there are quite a few frameless doclets for javadoc, though. (But the Standard Doclet indeed is still very framy.) 21:13:21 HTTPS Everywhere also breaks some sites, but it gets updated and all and generally works well. 21:13:22 Windows amuses me. 21:13:32 I remember something about how their JS recompiler was still 32-bit only so 64-bit was slower 21:13:35 I am paranoid about opening new tabs before pasting in URLs just in case it leaks the referer or whatever. 21:13:36 but that might have changed 21:13:49 Deewiant: HTTPS Everywhere is really nice until the day you try to log in with some stupid DNS-redirecting wifi hotspot ;) 21:13:59 elliott: if you type the address by hand, it doesn't refer, IIRC 21:14:09 Deewiant: My only experience with HTTPS Everywhere was someone asking someone else to re-enable HTTPS on their site after moving servers because apparently HTTPS Everywhere never, ever forgets that a site supports HTTPS, even if it stops working. 21:14:26 :) 21:14:30 Gregor: You can always disable it temporarily. Haven't run into anything that stupid, fortunately. :-P 21:14:31 My desktop is constantly running out of its four gigabytes. :/ :\ :/ :\ -- and it only has two DIMM slots, and 4G DDR2 DIMMs are annoyingly expensive. 21:14:31 Also HTTPS is, like, slow. :( 21:14:46 fizzie: I have 4 gigs too! 21:14:49 fizzie: Do you have any swap? 21:14:54 Yes. 21:14:56 I'm not sure whether enabling it will make things go smoother or just make the churns even worse. 21:15:04 I don't know. They are quite bad. 21:15:07 Having hundreds of Chrome tabs is... not very sustainable. 21:15:23 * elliott has to open a new window every once in a while because otherwise the tabs get too small to see the favicons. 21:15:25 Use SSH for secure connections rather than HTTPS 21:15:41 I want tree-style tabs for chrome :< 21:15:43 Gregor: You can always disable it temporarily. Haven't run into anything that stupid, fortunately. :-P // it's not enormously difficult to get around, but with hotspots, I've found it easier to just momentarily open Chrome 8-D 21:15:53 It would be nice if the customisability of Firefox extensions wasn't tied to such a shitty browser. 21:16:19 Meh, I think the browser's fine. 21:16:31 You probably have a jillionbyte of RAM. 21:16:32 elliott: From what I recall last time I did it, it drops from 90% used into something like 25% used if I close Chromium, then goes back up to maybe ~60% used if I reopen it and let it open the saved tabs. 21:16:49 Also whenever its layouting/styling/text formatting/whatever differs from Chrome I always find Firefox's handling distinctly worse. 21:16:52 Chrome doesn't even have ctrl-shift-enter and company on the URL bar, only ctrl-enter (IIRC). 21:17:09 I have 8 gigabytes. 21:17:12 Chrome doesn't have /-searching. 21:17:15 Therefore it's fucking worthless. 21:17:18 fizzie: I often have to mash -2 killall -9 chromium because my computer is frozen as heck. 21:17:23 fizzie: Then I roepen it and let it restore the tabs. 21:17:36 (It's nice how killall -9 > killall for Chromium precisely because otherwise you lose the "restore tabs" functionality...) 21:17:40 (By nice I mean it sucks) 21:17:49 This is the non-shitty browser you're talking about? 21:17:51 Sometimes I deliberately kill -9 it before turning the computer off so I can restore the tabs. 21:18:00 Chromium "Private" memory use 2'086'860k, well, that's not so bad. 21:18:05 Deewiant: um???? You've forgotten axiom 1 of everything: everything sucks 21:18:37 fizzie: That's more than my Firefox's virtual usage 21:18:41 The problem is that people look at the memory use of their browser and think that's a good metric. 21:18:44 elliott: That's just your attitude 21:18:49 Even though your browser WILL run better if it snarfs more memory. 21:18:58 It's just a trick of actually being able to give it back when somebody else needs it. 21:19:02 Deewiant: Anyway Firefox also rewards kill -9 in the same way. 21:19:16 Even moreso, since it supports partial tab restores and even recursive tab restores ("the ineiros method"). 21:19:25 elliott: Kinda. You can always go to about:home to get to the last tabs, no matter how you close it. 21:19:33 Man, the ineiros method is the best method. 21:19:37 Gregor: don't you mean "fnarfs more" 21:19:41 elliott: Nope. 21:19:48 fizzie: does he still use it 21:19:49 elliott: This is snarfing, it's different. 21:19:58 elliott: I haven't asked lately. I will ask now. 21:20:06 I probably won't receive a timely answer. 21:24:40 -!- Gregor has set topic: ⚣ | http://codu.org/logs/_esoteric/. 21:25:39 I suddenly wonder if ⚣.com is free, but feel I shouldn't check it from work. 21:26:55 looks free from here 21:27:16 Welp. Time to build a gay porn empire, I suppose. 21:30:26 Gregor: I don't know if that character is in any of the scripts of the languages Verizon likes: http://www.verisigninc.com/assets/idn-valid-language-tags.pdf 21:30:32 For some reason I'd guess "no". 21:30:49 lol Verizon 21:30:55 Verisign. 21:30:56 Gah. 21:31:01 Same thing. :p 21:31:04 IIRC, .org has no such restrictions? 21:31:10 Or maybe I'm imagining things. 21:31:17 .org is not Verisign, though. 21:31:18 they should merge 21:31:26 fizzie: Yes, hence why I'm mentioning them. 21:31:33 fizzie: huh, so I was right 21:31:41 someone at a seminar asked if anyone knew what Verisign did 21:31:43 "The org domain registry allows the registration of selected internationalized domain names (IDNs) as second-level domains.[11] For German, Danish, Hungarian, Icelandic, Korean, Latvian, Lithuanian, Polish, and Swedish IDNs this has been possible since 2005. Spanish IDN registrations have been possible since 2007." 21:31:45 I said they owned .com and .net 21:31:49 the speaker said .com and .org 21:31:49 fizzie: If I can't get ⚣.com, maybe I can get ⚣.org. … the nonprofit of gayness. 21:32:00 Gregor: you want it at .xxx, obviously 21:32:11 ⚣.xxx MUST be registered (if possible)? 21:32:19 There's no way everybody missed that. 21:32:28 is .xxx even a valid tld? 21:32:51 Bike: unfortunately. 21:33:14 "No, .xxx does not копирайт, 101домен support Internationalized Domain Names" sad. 21:33:22 ... 21:33:30 Where did the cyrillic bits come from. 21:33:34 Some kind of a thing. 21:33:48 Where's that official anti-.xxx thing? 21:33:51 An RFC or something IIRC. 21:33:58 Man, why is everything full of stupid nowadays? I hit two "put stupid stuff programmatically on clipboard when selecting text" websites recently within hours. 21:34:26 That's why you use anti-stupid browser extensions. Or I do, anyway. 21:34:44 I didn't use to have to. 21:34:46 Bike: it was added recently, amid a /lot/ of controversy 21:34:56 Anyway, I am under the impression that pretty much all the TLDs that do accept IDNs only whitelist scripts of specific languages, asince nobody likes IDN spoofery stuff. 21:35:02 I remember hearing about people yelling about it in the american congress, but still, what 21:35:04 Deewiant: Is there one that specifically blocks that copy nonsense? 21:35:06 That would be nice. 21:35:13 elliott: Not that I know of. 21:35:20 Noscript handles it fine, of course. 21:35:35 Here we go: http://tools.ietf.org/html/rfc3675 21:35:45 "sex Considered Dangerous" -- IETF 21:35:52 man, i can't find mentifex's domain names listing :( 21:36:08 -!- NihilistDandy has quit (Quit: Computer has gone to sleep.). 21:36:18 ooh mentifex 21:36:36 mentifex is actually my pastor. 21:37:32 Possibly just about:config dom.event.clipboardevents.enabled -> false would stop that on Firefox. 21:37:42 "dom.event.clipboardevents.enabled lets websites get notifications if the user copies, pastes, or cuts something from a web page, and it lets them know which part of the page had been selected. The emitting of the oncopy, oncut and onpaste events are controlled by this preference." 21:37:57 why is that even an event 21:38:23 I suppose all those fancy smart document editor things might use it for something. 21:38:34 for those sites that dump their URLs to your clipboard when you paste from them, duh 21:38:55 I wonder if it fires every time I select something, since selection equals copying. 21:39:41 Clearly the solution is to use dillo2. 21:39:41 Our department-internal wiki opens the "edit" page if I doubleclick on anything, which is annoying because I use it for selecting words. 21:39:43 I think it even does CSS now? 21:39:48 fizzie: ugh I hate that too 21:40:00 It's a MoinMoin or something. 21:40:02 fizzie: Ugh, I've experienced that kind of Wiki. 21:40:44 And Atlassian Confluence flips the sidebar open and closed every time I press the Windows key, i.e. every time I switch from the workspace. 21:40:56 btw, #esoteric's opinions on the recently discovered fact that any web page open in IE can determine where your mouse cursor is, regardless of whether the cursor is interacting with IE (or even whether IE's minimized)? 21:41:15 ais523: that sounds theoretically bad but practically harmless 21:41:16 ais523: lol IE 21:41:38 elliott: the worst exploit I've heard of is reading presses into onscreen keyboards 21:41:44 *from 21:41:47 err, hmm 21:41:54 correct both ways but you need to parse it differently 21:42:06 #esoteric's opinion on that zero-day Samsung SmartTV thing that reportedly lets other people look/listen into your living room through the for-Skype-and-such webcam and mic? 21:42:15 (Maybe without 1984 jokes.) 21:42:30 -!- GreyKnight has joined. 21:42:31 fizzie: lol… shit, products I actually vaguely care about :( 21:42:46 fizzie: it's hilarious that TVs have got smart enough that that mistake can even exist 21:42:58 also people have been doing that with computer webcams for ages, haven't they? 21:43:02 s/smart/loaded with useless features/ 21:43:05 Yes, they sure have. 21:43:11 the "please place your Mac near hot steam" incident was hilarious too 21:43:29 Back Orifice had camera/microphone commands for spying, IIRC. 21:43:37 The solution is to use Linux so that your webcam does not actually work in the first place. 21:43:46 And this was at the very least a decade ago. Probably 15 years. 21:43:53 elliott: Tragically, they recently added support for virtually every webcam there is to Linux. 21:43:55 So it probably works. 21:43:57 Not that ~anyone had a camera, though. 21:43:59 ais523: yes, they have, which is why most newer built-in webcams on laptops have lights that are linked in hardware so that all recording turns on the light 21:44:38 also apparently Internet Explorer lets you embed javascript in style sheets <-- FLAT WHAT 21:44:40 Put ductape on the camera 21:44:42 I vaguely recall that story about school giving out laptops to students, then using the webcams for peepery, and answering questions about that webcam LED that "it's just some random bug, just ignore it". 21:44:50 That was not very flat/. 21:45:14 FLAT ELLIOTT 21:45:34 http://en.wikipedia.org/wiki/Robbins_v._Lower_Merion_School_District "Students were particularly troubled by the momentary flickering of their webcams' green activation lights, which several students reported would periodically turn on when the camera wasn't in use, signaling that the webcam had been turned on.[8][22][24][47] Student Katerina Perech recalled: "It was just really creepy."[24] ... 21:45:39 yeah and it interacts with that escaping too 21:45:40 ... Some school officials reportedly denied that it was anything other than a technical glitch, and offered to have the laptops examined if students were concerned." 21:45:43 Yeah, that story. 21:45:53 * elliott wonders what, exactly, they were thinking. 21:45:59 so you can write "color: expression\028 alert \028 1 \029 \029" 21:46:05 "The suit alleged that, in what was dubbed the "WebcamGate" scandal" please kill me 21:46:31 https://en.wikipedia.org/wiki/List_of_scandals_with_%22-gate%22_suffix 21:46:40 the US really needs to get its shit together, wrt naming shit 21:46:47 fizzie: wow holy shit that's creepy 21:46:49 Deewiant: Ooh, Chisugate is there. 21:46:51 * elliott wonders what the kid was actually disciplined for. Give me my details Wikipedia!!!! 21:46:59 Deewiant: Though as a redlink. 21:47:03 fizzie: Another "please kill me" type thing. 21:47:07 At least IMO. 21:47:16 oh good, there is a "gategate" 21:47:33 oh, I heard about that Finnish piracy thing 21:47:37 not that it had become a -gate 21:47:46 http://www.youtube.com/watch?v=vB9JgxhXW5w 21:48:02 "Flakegate – Photographs of the wedding reception of TV presenter Anthea Turner was used to promote Cadbury's new chocolate bar, Snowflake despite being paid £450,000 by OK! magazine for the exclusive deal of the wedding itself. The publicity stunt was widely criticised by tabloid press and further damaged her career, which has yet to recover." 21:48:05 * GreyKnight kills elliott (ElliottGate) 21:48:07 these gates are really bad 21:48:13 I didn't really bother following it. I think they just paid half of what was demanded in the end, or something? 21:48:28 widely criticised by the tabloid press 21:48:40 "Fajitagate" 21:48:46 "Horsegate" 21:48:51 *everything* is criticised by the tabloids, including other tabloids 21:49:00 * elliott anticipates "Irrigate" 21:49:01 -!- sivoais has quit (Read error: Operation timed out). 21:49:13 "Billygate": what, no gruff? 21:49:28 "Pardongate" 21:49:34 hm, does the british phone hacking thing have a -gate 21:49:38 "PolarBeargate" THAT'S CHEATING 21:49:43 -!- sebbu has quit (Ping timeout: 245 seconds). 21:50:13 Bike: Hackgate? 21:50:16 heimdalsgate like a promethean curse 21:50:24 fizzie: oh, yeah. :( 21:50:48 kmc++ 21:51:00 Apparently there's a swedish "gategate", which was named as such.. because it happened near a faregate 21:51:03 I got to the "in popular culture" section but I didn't realise until I read a few. 21:51:12 This webcam thing is bonkers 21:51:19 truly a sad indictment of our -gateing times 21:51:26 -gating? 21:51:36 suffixgate 21:52:16 shm-reduplicationgate, shm-reduplicationgate 21:52:30 xorgate 21:53:00 ...not sure what kind of scandal would mandate such a name, though 21:54:06 arguing over whether it should be eXclusive OR or EOR 21:54:06 -gate-gate 21:54:22 Gardengate 21:54:37 gaitgate 21:54:57 EOR sounds like Eeyore 21:55:03 fizzie: I assume they deliberately haven't revealed what the kid was "disciplined" for? Child privacy &c 21:55:24 fri-gate 21:56:10 privacygate 21:57:37 I think the most outrageous thing about the webcam lawsuit is the school crying innocence and how they're going to fight these ~~horrible accusations~~ 21:59:19 my computer's built-in webcam has a physical shutter on it. seems like an obvious anti-1337cyberhacker measure but apparently not? 21:59:40 hm, does the british phone hacking thing have a -gate 21:59:55 I've only ever heard it referred to as 'the phone hacking scandal' or somesuch. 22:00:06 -!- MDude has joined. 22:00:11 well since fizzie mentioned it i remembered that i've heard it called "hackgate" 22:00:20 which is kind of weird because i've never seen it in the american media, but oh well. 22:00:24 -!- hagb4rd has joined. 22:00:48 'The allegedly secure parser implementation included in [RFC 4627] unintentionally permits rogue JSON responses to freely increment or decrement any program variables that happen to consist solely of the letters a, e, f, l, n, r, s, t, u, plus digits' 22:00:56 wow 22:01:58 kmc: link? 22:02:07 Bike: wow, I don't think I've ever seen a webcam with a physical shutter 22:02:18 lol, you're right 22:02:28 it's just a piece of plastic. 22:02:32 kmc: link me too, I want to see this in action 22:02:32 "A JSON text can be safely passed into JavaScript's eval() function if all the characters not enclosed in strings are in the set of characters that form JSON tokens." 22:02:47 what. 22:02:50 /[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/ is one of the regexes 22:02:55 oh wow 22:03:00 So I guess this allows you to do stuff like {"foo": e++} 22:03:18 FLAT WHAT 22:03:41 I would hope that anyone remotely versed in security would know that sanitizing with a regex probably isn't adequate 22:04:06 uh that's a quote from a dead tree book 22:04:17 yeah also 22:04:18 flat what 22:04:22 i don't quite understand why you aren't allowed, e.g. z 22:04:23 (why are our whats flat today?) 22:04:34 kmc: books don't exist 22:04:38 someone let all the air out of them 22:04:45 elliott: because z isn't in any json token, i guess? 22:04:57 well what json tokens have those letters even 22:05:30 Which token has z 22:05:41 there's true and false 22:05:46 The tokens apat from strings are true, false, null and numbers 22:05:50 apart* 22:06:04 "The school elected to enable TheftTrack to allow school district employees to secretly and remotely activate a tiny camera webcam embedded in the student's laptop, above the laptop's screen.[17][25][26][27] That allowed school officials to secretly take photos through the webcam, of whatever was in front of it and in its line of sight" 22:06:09 why does this article explain how a webcam works 22:06:22 elliott, This is so weird, I randomly have Portal in my steam collection. I never bought it. And the payment history on Steam doesn't list it. Note that I don't object to this. It is just totally weird. 22:06:50 maybe someone gifted it to you or something 22:07:11 I don't think anyone knows my steam user name, it is not like I use the "friend list" feature of steam 22:11:18 -!- boily has quit (Quit: Poulet!). 22:11:59 Bike: sanitizing with a regex can work if you have a sufficiently well-defined acceptable input 22:12:48 one of my colleagues is working on a system which regexes the I/O of a hardware subsystem to prevent non-accepted inputs 22:13:33 in fact, regex comparison is how we even compare the systems to validate them 22:13:41 (regexes have the nice property of actually being comparable) 22:13:50 (unlike things like functions) 22:14:20 ais523, I doubt PCRE is comparable, even if you exclude the "invoke external code to match this" feature 22:14:32 Vorpal: well, mathematical regular expressions 22:14:35 PCRE is an interesting point 22:14:46 Vorpal: It was the Portal Ghost. 22:14:49 right, math regex are comparable 22:14:52 I'm not sure what computational class it is 22:14:55 it's sub-TC, but super-PDA 22:15:06 you can do CFGs with backreferences, right? 22:15:08 Vorpal: I recall it being free to grab for a couple of days once 22:15:20 you might've grabbed it then 22:15:33 It was free to grab, yes. 22:15:39 I grubbed it then. 22:16:13 That was maybe a year and a bit ago. 22:16:45 FireFly, recently? I haven't used steam for all that long, maybe a year or a bit more than that 22:16:55 and this thing must have happened fairly recently 22:16:58 I think it was a bit more than a year ago :P 22:17:20 I didn't have more than a couple of games until a few months back when I added in all the humble bundles 22:17:26 so that doesn't make any sense 22:17:49 ais523: http://www.perlmonks.org/?node_id=809842 claims that they're at most LBA 22:18:37 oh yeah, obviously they're LBA 22:18:45 September 2011, I'd say. Though maybe they did something Portal-related more recently too? 22:20:03 Everyone who already had Portal 2 got a 75% discount coupon for Portal 2, at least. 22:20:28 (For a limited time.) 22:20:49 http://en.wikipedia.org/wiki/JScript.Encode "The encoding is a simple polyalphabetic substitution using three alphabets." 22:20:52 what the fuck 22:21:12 fizzie: everyone who had Portal 2 got a discount for Portal 2? This seems useful. 22:21:16 lol, obfuscated code? 22:21:59 Deewiant: that post is busy trying to invent Thue 22:22:02 and not getting there 22:22:09 it gets close though 22:23:12 kmc: "Weaknesses: it is busted open wide enough to drive a double-decker bus through" 22:25:01 GreyKnight: Just on the off chance you had friends you could inflict Portal 2 on. 22:25:28 oh, right 22:25:40 I don't have Portal 2 or very many friends 22:26:02 I think I heard of something like that camera thing quite a while ago. 22:26:07 ...ugh December 22:26:23 MDude: the camera thing *was* a while ago, so may be the same thing! 22:26:53 Probably, then. 22:31:21 i assume (well, hope) that the engineers implementing JScript.Encode knew how worthless it is 22:31:22 -!- sebbu has joined. 22:31:42 "*shrug*, if management say so..." 22:31:48 http://store.steampowered.com/hwsurvey/ so few single-core systems nowadays. 22:31:51 whatever keeps the suits happy 22:31:51 it seems like a feature to appease the same kind of people who install a right click handler that pops up a dialog saying 'COPYRIGHT PROTECTED!!!' 22:32:01 kmc: YES 22:32:37 interesting documentary bout some philosophical implications of gödels theorems: http://www.youtube.com/watch?v=CgZ_9gQfitc&list=UUpBJxyp3T3GY1UExToSveRQ&index=5 22:32:41 "haha u cant copy my pictures" 22:33:14 My brother said he has been able to copy such pictures by dragging them into the location bar. 22:33:38 hagb4rd: i think this guy needs to work on his intonation a bit 22:33:40 I have very little clue what you're talking about with JSON/Javascript. Did I miss some part of it from before I showed up? 22:33:45 elocution, there's the word. 22:33:47 i mean i don't think the "suits" have to be idiots either 22:33:51 they just know what will make customers happy 22:34:07 bike: it's not that bad. gibe it a chance 22:34:28 or not 22:34:47 plus apparently he's reading a godel paper? 22:34:52 zzo38: oh, I didn't think of that one 22:34:53 in which case i could just read tha paper 22:34:58 -!- augur has quit (Remote host closed the connection). 22:35:03 Hey, I got that Steam "Big Picture" thing on. They must've released it. 22:35:15 Bike: Using video where text would do is gonna be the death of the internet -_- 22:35:24 he's not only quting gödel but.. sure you could do this 22:35:34 I have seen programming tutorials done in video. FLAT WHAT 22:36:26 well, i kind of liked the game-of-life in J video i saw once. but that's because seeing it in the REPL helped somehow 22:36:32 it's not based on his work. this guy just put some quotes and pics and dramatical music ;) into what we probably call a documentary 22:38:32 this should me informative but also entertaining.. giving you some points to start a further investigation 22:38:43 if interersted 22:43:20 Hey, I got that Steam "Big Picture" thing on. They must've released it. <-- yeah it showed up like last week or so 22:45:48 (especially l love this background with the lemmings juming off the clip :) 22:48:43 "Valve's Jeri Ellsworth has told Engadget that public beta testing of Steam hardware could begin next year, saying that the goal of Valve's hardware efforts is "to make Steam games more fun to play in your living room." --" Yes, that sounds like something they want the Big Picture mode too. 22:49:01 what was that tool to put cd images onto USB drives? 22:49:06 I forgot the name of it 22:49:11 I see too much using video where text should do. 22:49:17 Vorpal: UNetbootin? 22:49:20 thanks 22:49:31 now to find a large enough USB stick... 22:49:34 (I think it's kind of a silly name.) 22:51:06 "Unetbootin?" "No, I'm USBootin." 22:51:35 zzo38: next time it'll be plain text i promise 22:52:23 Debian or xubuntu? Which is best if you want the least hassle over time, I don't mind a slightly more annoying installer as long as it doesn't throw crap at me like modern ubuntu, or becomes a pain once I want to upgrade a year or two down the line. 22:52:58 also it is going on top of an existing md raid & lvm2 setup 22:55:16 elliott, fizzie ^ 22:55:36 Debian's installer will be able to set up RAID/LVM2 if you ask it for an advanced install. 22:55:40 Xubuntu's, unlikely. 22:55:50 well that is a plus for debian certainly 22:56:03 * elliott hasn't used Debian or Xubuntu in a while. 22:56:07 elliott, basically I need to reuse the existing /home, which is already on top of existing raid and lvm2 22:56:21 I'm not going to repartition the whole thing 22:56:39 Ubuntu "alternative install" thing can/could do raid/lvm2. I haven't had that particular use case, but I would think it wakes up md and lvm2 volumes and all that. 22:56:47 okay 22:56:48 isn't the alternative install just debian's installer 22:56:50 does it even still exist 22:57:00 there is an alternative installer download at least 22:57:02 anyway i don't like xfce 22:57:14 and what about throwing crap at me? Does modern xubuntu suffer from that as well? 22:57:25 what about other stuff, I haven't used debian for ages 22:57:28 It's at least very similar to installing Debian. Or was. I haven't installed an Ubuntu in the last two years, I'd guess. 22:57:39 they still have a nonfree repo? 22:57:41 zzo38: where can I get bashgopher? 22:59:34 fizzie, for debian, should I go for testing? 23:00:32 eh I guess so 23:00:45 I ran testing on my desktop, I think. I don't really know how recommended it is, but it's certainly not very unstable. 23:00:51 Even unstable is not all that unstable. 23:01:00 heh 23:01:19 Vorpal: you might prefer unstable 23:01:23 fizzie, unstable is the one that behaves like rolling updates (like arch), right? 23:01:24 I found testing usually behind what I wanted 23:01:29 hm 23:01:37 there is "experimental" which is the actually breaks-your-system debian 23:01:44 so unstable isn't necessarily unstable 23:02:02 elliott, mostly I want something that takes zero effort to maintain and update once the initial setup is done. 23:02:17 Things do propagate "automatically" into testing. Though sometimes it lags a lot when there are bugs that don't seem to get fixed and dependencies pile up. 23:02:20 okay well that is called not linux 23:02:23 I don't want to have to do complicated manual stuff just to update glibc because stuff changed or whatever (glares at arch) 23:02:24 try os x or maybe windows 23:02:29 :P 23:02:54 elliott, what about android. If you go with stock firmware it behaves like that 23:03:01 Might go with Debian if I were to install something today. I went with Ubuntu because I was all "I'll be all modern desktop Linux for once", and now I'm running XMonad in Gnome 3. 23:03:04 wouldn't work on a desktop though 23:03:15 fizzie, xmonad in gnome? 23:03:15 It feels a bit silly in an Ubuntu. 23:03:17 really? 23:03:21 Yes. 23:03:25 how does that work 23:03:32 Generally speaking just fine. 23:03:36 fizzie: it's "xmonad" :( 23:03:47 *FIzzie 23:04:17 I suppose so, it's just that all the modules are named XMonad. 23:04:19 GreyKnight: http://zzo38computer.org/prog/bashgopher/bashgopher There may be some wrong thing for MinGW so you might need to fix it; possibly also it won't handle wildcards properly. If it is fixed it does work on Linux I have tested it; but, I don't have that copy on here 23:04:40 `addquote elliott, mostly I want something that takes zero effort to maintain and update once the initial setup is done. okay well that is called not linux 23:04:48 866) elliott, mostly I want something that takes zero effort to maintain and update once the initial setup is done. okay well that is called not linux 23:04:53 GreyKnight, :P 23:05:01 zzo38: yay thanks 23:05:07 thing is, I have better stuff to do than mess with updates 23:05:30 Vorpal: i have a suggestion 23:05:31 Vorpal: Anyway, the Gnome panel is the only visible gnomeness in this. All the rest is just stuff like nm-applet (bleh) and SSH/etc. key management, and stuff like that. Things that could be configured manually, but would need a bit of fiddling. 23:05:36 Then put DOS to avoid messing with updates since it doesn't need all complicated updates. It is also faster than Linux. 23:05:37 elliott, xubuntu/ubuntu LTS is zero effort for about 2 years. But then it hits you badly 23:05:40 Vorpal: don't use raid/lvm2 23:05:43 if you want a simple painless experience 23:05:49 elliott, eh, that is usually not the issue 23:05:50 i agree w/ zzo38 install dos 23:05:52 that is easy 23:06:31 You can download the DVD file and it will boot on a DVD and then it works. 23:06:32 elliott, the issue is that I'm dual booting and often use one OS for a long time then switch back for a couple of months and so on 23:06:41 elliott, which means something like arch is just a pain 23:06:50 A graphical Ubuntu person could tell me what you're supposed to be using to install a piece of software, though? I tried to use Ubuntu Software Center, but it just didn't. 23:07:28 "Suggest 260 removals" well that doesn't sound terribly good. 23:07:34 elliott, I don't mind arch if I would be using the system daily, then I could devote a couple of minutes each week to handle messy updates 23:07:45 elliott, but all at once after 2-3 months? No thanks 23:08:00 fizzie: Actually I know apt-get works too 23:08:59 fizzie, heh ouch 23:09:07 fizzie, I really like aptitude myself 23:10:17 aptitude has a nice failure mode where every upgrade results in the suggestion to remove every other package on the system in order to install the upgrades 23:10:33 aptitude is what I use, and I've gotten reasonably comfortable with its quirks. 23:10:39 I just wonder what you're "supposed" to use. 23:10:43 * elliott finds apt-get nicer. 23:10:48 it used to suck but now it doesn't 23:11:03 Because I tried to use Ubuntu Software Center to install Skype, and only thing it could find for me were $4 paid articles in Linux magazines talking about Skype. 23:11:07 elliott, oh? It had problems tracking the "installed as deps" flag thingy for me 23:11:08 zzo38: "clsb"? 23:11:46 GreyKnight: It is for MinGW. For UNIX you need to put "clear" in there. There might be other things necessary to fix too. 23:12:03 You might also need to make nc -q -1 since some computers require that too 23:12:33 elliott, you don't like ncurses? 23:12:52 Oh, I just mean the command-line interface. 23:12:57 ah 23:12:57 Who would use the silly ncurses thing? 23:13:16 elliott, aren't the command line interfaces pretty much identical give or take the odd formatting difference? 23:13:24 all the same commands and so on 23:13:34 except apt-get source, don't think that is in aptitude, is it? 23:13:36 they resolve deps differently etc. 23:13:40 oh okay 23:13:55 "apt-get source" isn't in aptitude; "aptitude search" or "aptitude show" isn't in apt-get that I know of. 23:14:11 fizzie, apt-cache? 23:14:18 Porbably you could be using that instead. 23:14:39 It's a bit more focused on actual package thinging than browsing. 23:14:44 -!- sebbu2 has joined. 23:14:44 -!- sebbu2 has quit (Changing host). 23:14:44 -!- sebbu2 has joined. 23:15:17 GreyKnight: bashgopher is not really sophisticated so many things don't work; you can only have one open at a time, the history won't work, so on; but it can be used and does work for what I have tried, and it is not so good for download either. I also wrote Visgopher which is more sophisticated but it is for Windows. I may later write one UNIX program better than bashgopher, though. 23:15:19 elliott, anyway I kind of like the ncurses interface in aptitude 23:15:23 In any case I don't think apt-get or aptitude either is the thing I'm "supposed" to use. 23:15:25 it is a bit wonky yes 23:15:35 but eh, it is fully usablke 23:15:37 usable* 23:15:51 fizzie, I suspect the software store thingy 23:16:00 fizzie: Are you sure? I think Ubuntu is designed to make it work regardless which you used. 23:16:00 But I couldn't even install Skype with it. 23:16:01 zzo38: I get a blank screen with "0/0" at the bottom when connecting to you 23:16:09 I could get in through telnet though 23:16:13 GreyKnight: It is possible you need nc -q -1 23:16:16 And I would think Skype is something you are supposed to be able to install. 23:16:16 I guess I'm going to run into grub 2 nowdays? 23:16:20 Some computers require nc -q -1 23:16:23 I changed all the nc's to that 23:16:23 -!- sebbu has quit (Ping timeout: 245 seconds). 23:16:29 but still no worky :-( 23:17:04 fizzie, hm, couldn't install why? 23:17:06 I may use it as a base to try and get a lua gopher client working though so thanks anyway :-) 23:17:10 I don't remember what else is wrong, but maybe you can find them. 23:17:26 Vorpal: Because "only thing it could find for me were $4 paid articles in Linux magazines talking about Skype." 23:17:28 fizzie, how annoying is switching up from testing to unstable, or the other way around? 23:17:30 Also, the user interface is not properly documented. 23:17:40 just in case I go with testing but end up wanting unstable? 23:17:40 documentation is for weenies ;-o 23:17:49 If you have Wine you could try Visgopher if you want to and see if it work. 23:17:51 fizzie, ouch 23:18:14 fizzie, I managed to get skype on Ubuntu I think. Don't recall any issues... :-/ 23:18:27 GreyKnight: Did you install it with Ubuntu Software Center? 23:18:38 I mean, I did just "aptitude install skype" and it worked perfectly. 23:18:39 it was a while back, sorry 23:18:58 Vorpal: Going from testing to unstable sounds reasonably likely to work well, since it'd just be updating some packages. 23:19:05 ah 23:19:07 I should hire a goldfish to remember things for me 23:19:19 fizzie, and downgrading can run into the usual problems I guess 23:19:48 elliott, if only NixOS was less experimental and had wider software support :/ 23:20:00 befungeOS for he win 23:20:03 the 23:20:04 not sure I would call nixos low-maintanence 23:20:07 Vorpal: It certainly sounds a bit more iffy that way. I'm not sure if I've tried either switch. Though I did run a testing once that had quite a lot of stuff pulled in from unstable; you can just add sources for both and do pinning and so on. 23:20:07 I can't type today 23:20:12 If you do write it in Lua you can make it public too if you like it I want to see that too make available. 23:20:20 elliott, true, but I attribute part of that to the experimental status 23:20:23 I shall! 23:21:19 fizzie, hm what about the backports repo thingy? 23:22:05 http://askubuntu.com/questions/211868/why-wont-skype-install -- seems I'm not the only person who hit that. 23:22:36 "apt-get install lib32stdc++ and dpkg -i some random Skype .deb from somewhere" doesn't sound like the best workaround. 23:22:47 -!- carado has joined. 23:22:49 (And I did have the "Canonical partners" stuff enabled.) 23:23:43 @karma libstd 23:23:43 libstd has a karma of 1 23:23:46 @karma libstdc 23:23:47 fizzie: that issue just sounds like someone without the partners repo 23:23:47 libstdc has a karma of 17 23:23:50 @karma lib32stdc 23:23:51 lib32stdc has a karma of 1 23:24:29 @karma C 23:24:30 C has a karma of 1 23:24:41 I guess it doesn't run off foo++ 23:24:47 @karma foo 23:24:47 foo has a karma of 1 23:24:52 @help karma 23:24:53 karma . Return a person's karma value 23:24:55 @karma c/c 23:24:55 c/c has a karma of 347 23:25:03 foo-- 23:25:04 @karma foo 23:25:05 foo has a karma of 0 23:25:08 hm! 23:25:13 @karma CPressey 23:25:14 CPressey has a karma of 0 23:25:17 ouuuuuh 23:25:23 C-- is a popular intermediate language in #haskell 23:25:24 C++ has been mentioned about a million times surely 23:25:28 ohhhh 23:25:35 (But that's not the reason.) 23:25:49 @karma c/c 23:25:50 c/c has a karma of 347 23:26:14 -!- Arc_Koen has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 23:26:15 anyone remember what you need to pass to tar to make it properly handle special files, like block devices, pipes, unix sockets and so on? 23:26:17 Vorpal: I don't really know about the backports repo. Do they have those for things other than stable nowadays? 23:26:20 @karma i 23:26:20 i has a karma of 20 23:26:23 can't find it in --help 23:26:26 That's not too many increments. 23:26:52 @@ @show @karma-all 23:26:53 " \"nobody\" 2000\n \"C/C\" 347\n \"(\" 138\n \"+\" 109\n \"G\" 100\n \"shachaf\" 48\n \"dmwit\" 23:26:53 38\n \"libc\" 36\n \"##c\" 35\n \"\\\"C\" 31\n \"monochrom\" 31\n \"Notepad\" 31\n \"clang\" 30\n \" 23:26:53 elliott\" 29\n \"#c\" 24\n \"Cale\" 24\n \"lambdabot\" 24\n \"i\" 20\n \"Jafet\" 20\n \"bonnie\" 23:26:53 19\n \"ObjC\" 18\n \"rwbarton\" 18\n \"sixthgear\" 18\n \"DevC\" 17\n \"edwardk\" 17\n \"ion\" 17\n \"libstdc\ 23:26:53 " 17\n \"byorgey\" 16\n \"vc\" 16\n \"cmccann\" 15\n \"elpolilla\" 15\n \"mauke\" 15\n \"shachef\" 15\ 23:26:55 [289 @more lines] 23:27:01 ...That didn't help. 23:27:09 karma i' 23:27:13 @@ @read @run reverse @show @karma-all 23:27:15 @karma i' 23:27:15 Plugin `compose' failed with: Prelude.read: no parse 23:27:16 i' has a karma of 0 23:27:21 @@ @run reverse @show @karma-all 23:27:23 "\n3282- \"<\" \n6762- \"sekahsklim\" \n377- ... 23:27:30 @@ @run unlines . reverse . lines @show @karma-all 23:27:32 Couldn't match expected type `GHC.Base.String' 23:27:33 with actual typ... 23:27:33 23:25:13 @karma CPressey 23:27:40 @karma catseye 23:27:40 catseye has a karma of 0 23:27:40 @@ @run (unlines . reverse . lines) @show @karma-all 23:27:41 @karma ZOMGMODULES 23:27:43 " \"<\" -2823\n \"milkshakes\" -2676\n \"-\" ... 23:27:43 ZOMGMODULES has a karma of 0 23:27:45 what 23:27:49 have i really not ++'d cpressey at some point 23:28:01 well then 23:28:02 cpressey++ 23:28:04 catseye++ 23:28:06 ZOMGMODULES++ 23:30:11 -!- sebbu has joined. 23:30:48 everyone here hates milkshakes? 23:31:21 GreyKnight, no? I'm indifferent to them 23:31:23 -!- sebbu2 has quit (Ping timeout: 245 seconds). 23:31:31 @karma milkshakes 23:31:32 milkshakes has a karma of -2676 23:31:35 :-/ 23:31:35 -!- augur has joined. 23:32:12 milkshakes++ 23:32:15 I like them :> 23:32:16 well, night 23:35:48 ZOMGMODULES++ 23:36:42 @karma ZOMGMODULES 23:36:42 ZOMGMODULES has a karma of 2 23:36:52 massive karma 23:40:24 in the next life he'll probably be a giraffe or something 23:40:43 fungot++ 23:40:44 GreyKnight: " it is agile." unlambda: your functional programming language with first class subset/ quotient types? couldn't you explicitly dispatch on that? i'm using in conjure is fnord/ orca. the intention is to make a web site 23:40:49 he will be django? what a fate :( 23:40:56 (fungot deserved that one from earlier) 23:40:57 GreyKnight: as for the 0.0 in operator position, i'm still highly motivated ( perhaps too little) more than the solution that worked for me 23:41:49 0.0 in operator position, you say 23:43:01 ^style 23:43:01 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 23:43:16 ^style ff7 23:43:16 Selected style: ff7 (Full script of the game Final Fantasy VII) 23:43:26 fungot: is a quotient type like a quotient set? 23:43:27 Bike: what is it...... 23:44:09 It's a confused style. 23:44:22 fungot: Just guess if you don't know. 23:44:22 fizzie: umm.... thump... pound.... mi... ti... la... do this!? 23:44:43 fungot: ...not quite. 23:44:43 fizzie: and that sephiroth's here, cloud? 23:44:57 i feel like there's a joke about ellipses to be made here, fungot. 23:44:57 Bike: really! ...sniff... you!? are the preparations going? she died. 23:45:09 either that or the translatioin's quality. 23:45:31 I seem to recall quite a lot of ellipses in the game. 23:45:36 fungot... 23:45:36 GreyKnight: the letter... what are we...? you just look a little longer! here! 23:45:45 fungot: Have you actually played FF7? 23:45:45 fizzie: a battlefield, we wouldn't have come to the end! 23:45:55 -!- NihilistDandy has joined. 23:46:05 where do you even get a full script of ff7 23:46:06 Wait,what is fungot style? 23:46:06 MDude: sorry to keep you company... 23:46:13 No, that's fine. 23:46:18 ^style fungot 23:46:18 Selected style: fungot (What I've said myself) 23:46:23 Oh my. 23:46:27 As suspected. 23:46:43 It's a somewhat small dataset. 23:46:44 fungot, would you call Cloud "whiny"? 23:46:45 Bike: i just wrote :p ( what was i thinking there.... :d sorry, i have no information. he seemed, in fine, i can verify it 23:47:00 So it's a bit of a self-reinforcing style, I would guess. 23:47:23 It hasn't been re-estimated ever. 23:47:41 It would be more interesting if I kept it more up to date. 23:47:52 fungot: How old is this style already? 23:47:52 fizzie: am i that much bad. take up, boy; open't. so, now go with, do miscarrie, thou had'st bin resolute pompey 23:48:31 Quite often you can guesstimate the source style. 23:49:03 Add Shakespeare style. 23:49:10 ^style ss 23:49:11 Selected style: ss (Shakespeare's writings) 23:49:12 done. 23:49:14 thx for the suggestion 23:49:14 OK 23:49:29 Also add style of the recordings of the Dungeons&Dragons game. 23:49:45 It's equivalent (FSVO; asymptotically speaking; discounting non-babble; with many assumptions) to a straightforward weighted interpolation of the styles. 23:50:22 Also add the Christmas style. 23:50:27 What are thee recordings? 23:50:30 These. 23:50:40 Is style pa quotations from all across Pennsylvania? 23:51:06 fizzie: One is, the one I wrote in my computer. But you need convert from TeX into unformatted if you want to use this one. 23:51:15 MDude: Not quite. 23:51:21 ^style pa 23:51:21 Selected style: pa (around 1200 transcribed Penny Arcade comics) 23:51:31 fungot: How's it going? 23:51:31 MDude: Yes. 23:51:32 fizzie: i thought i was goldilocks, seeing as you left me alone back there with three fucking bears. you want my advice? in the night. i've still got that paladin on dark iron, i guess natalie portman " sleepwalks" through her role in attack of the stupid name." 23:52:21 Personally I think this one manages to be quite amusing at times, but it's never been very popular. 23:52:30 fungot: Put some effort into it. 23:52:30 fizzie: look out, cacodemons: there's a new mouse in town. don bluth joins forces with id software to spawn the ultimate tail 3: fievel goes to hell. 23:52:35 -!- augur has quit (Remote host closed the connection). 23:53:00 The settings when this was built make it a bit overprone to quote verbatim. 23:53:15 Then change it 23:53:23 yeah, i was gonna say, that goldilocks bit sounded like a quote. 23:53:31 fungot: Omstart, more inspiration. 23:53:31 fizzie: right, right. i should probably be at the store. 23:53:41 fungot: Sigh. 23:53:44 fizzie: the problem is its jokes are mainly quotes 23:53:53 fungot: Sigh. 23:53:53 shachaf: son, i can't actually see the road anymore. 23:54:11 It does mix things up. Sometimes. It's just being uncooperative. 23:54:19 That was a direct quote too. 23:54:21 Fungot: Reprogram yourself to use less direct quotes. 23:54:38 fungot: And start being case-insensitive. 23:54:38 fizzie: zero, i guess i don't give two shits bout it work at eidos. i had caught them all. 23:54:41 Do you not respond when your name is capitalized? 23:54:54 MDude: "Fungot" is not fungot's name. 23:54:55 shachaf: go fuck yourself. final fantasy viii, coming soon to a playstation near us! i just got them at the aucti- chocolate and waffle cones hung in the air, announce that i am forced to express the feelings that i have finally discovered the correct games in the correct sequence to maintain his interest in the genre forever. 23:55:10 It's kind of picky like that. 23:55:17 ^style fisher 23:55:17 Selected style: fisher (Fisher corpus of transcribed telephone conversations) 23:55:34 does it respond to "afungota", say? 23:55:34 Bike: right and i 23:55:36 -!- augur has joined. 23:56:01 fungot: It's just basically a strstr, right? 23:56:02 fizzie: yeah laughter yeah or whichever way the wind is just kind of like 23:56:24 They've annotated some sounds. 23:56:38 Probably nobody said "laughter" out loud there. 23:57:08 -!- augur has quit (Remote host closed the connection). 23:58:01 And here I was wondering what kind of quotes you'd get from Fisher Price. Apparently none. 23:58:04 does fungot respond to itself? 23:58:05 Bike: i got so much more advanced but for a professional baseball player like i was the same kind of ah 23:58:24 no 23:58:27 Bike: Why would it do that? 23:58:29 IRC doesn't echo lines back to you 23:58:45 Unless you send it to yourself. 23:58:59 shachaf: i've seen bots that do. 23:59:19 though it seems that fungot's befunge-98 standard is better than that. 23:59:20 Bike: ( ( laughter noise noise 23:59:30 fungot 23:59:30 shachaf: um i i've talked to 23:59:31 Laugh it up, fungot. Laugh. It. Up. 23:59:32 Bike: i just look for the area that's a very good thing to tell your kids not to use 23:59:37 MDude: http://uncyclopedia.wikia.com/wiki/Fisher_Price ? 23:59:49 -!- sivoais has joined.