00:04:39 fizzie: Any idea how you make urxvt handle the compose key? 00:11:12 Hrm. Well, now I wonder if it's screen that's screwing with me. 00:11:17 * pikhq will be back 00:11:22 -!- pikhq has quit ("leaving"). 00:12:12 -!- pikhq has joined. 00:12:22 Quick! Someone use Unicode! 00:12:52 é 00:13:03 ... A question mark? 00:13:10 No. 00:13:20 pikhq: café 00:13:21 è 00:13:27 ü 00:13:29 that's the same as ehird's with a different accent 00:13:29 ‽ 00:13:33 GOD DAMNED YOU URXVT. 00:13:38 yes, the ` accent 00:13:41 and umlaut u 00:13:43 and interrobang 00:13:53 I see question mark after question mark. 00:14:17 fizzie: You said urxvt actually worked for you? 00:14:20 What magic did you do? 00:14:38 is yer terminal set right pikhq? 00:15:00 Yeah. 00:16:18 Ünïcödë 00:17:40 More question marks. 00:19:45 It shows every Unicode character with a single question mark. 00:20:16 Odd, given that it's using Deja Vu Sans, which I *know* has Unicode characters. 00:22:00 anyone have a fast internet connection and an open udp port? fizzie? 00:22:16 I'm talking to ais523 about internet latency; we'd like to have a roundtrip of less than a tenth of second 00:26:53 6 a i o pb qt rm sd we xl yuk zn 00:28:11 GregorR: wat 00:28:20 That's the status of my pangram seeker :P 00:28:29 ah 00:28:32 -!- ais523 has quit (Remote closed the connection). 00:28:34 GregorR: make it optimize for longer words. 00:28:53 ehird: In retrospect I would do that, but it's too late now. 00:29:03 GregorR: That'll take years, sir 00:29:10 GregorR: Make a self-describing sentence 00:29:17 I'm not convinced that it will *shrugs* 00:29:17 This sentence has 1 As, ... 00:31:27 -!- sebbu3 has changed nick to sebbu. 00:39:07 ehird: A tenth of a second? I wish. I've got a lag of 4 seconds ATM. 00:42:08 lag lag lag your boat, gently down the tubes... 00:42:16 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)). 00:43:12 -!- bsmntbombdood_ has joined. 00:44:34 http://www.telegraph.co.uk/scienceandtechnology/science/sciencenews/5255394/Alien-skull-spotted-on-Mars.html 00:44:35 lawl 00:44:39 hi bsmntbombdood_ 00:47:17 wtfbbq 01:11:36 -!- puzzlet_ has joined. 01:23:10 Prelude> ((/) 2) 8 01:23:11 0.25 01:23:11 Prelude> (/ 2) 8 01:23:11 4.0 01:23:13 :/ 01:23:16 duh 01:23:22 (/x) = (_/x) 01:23:27 ((/)x)=(x/_) 01:23:37 ones infix ones prefix 01:23:48 except _/x is not valid syntax 01:23:55 subf a b = b - a 01:24:04 then do I have to do (`subf` x) 01:24:06 no shit 01:24:06 which is ugly 01:24:12 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 01:24:12 so don't do that 01:25:27 -!- Gracenotes has quit ("Leaving"). 01:26:02 -!- Gracenotes has joined. 01:26:04 what if I have a f a b c d 01:26:11 and I want to curry the c 01:26:35 use a lambda 01:26:41 besides that 01:26:49 (\c -> a f a b c d) yourC 01:27:16 flip (a f a b) d, i think 01:27:17 the first 'a' was an article, you know :p 01:27:28 oh 01:27:42 flip :: (a -> b -> c) -> b -> a -> c 01:27:44 cool 01:28:03 (`whatever` x) = flip whatever x 01:28:49 but you can only use `` with single identifiers 01:29:53 also, subf exists, it's called subtract 01:30:27 it was a contrived example anyway :p 01:30:36 it exists for a technical reason 01:30:51 because (- x) is negative x, not a section 01:31:07 I see 01:31:10 so you need to use (subtract x) if you want the section 01:32:16 s/negative/negate/ 01:52:31 -!- oerjan has quit ("Good night"). 02:05:28 I'd like to take this opportunity to state that all sellers of digital information are guilty of price fixing. 02:05:29 -!- psygnisfive has quit (Remote closed the connection). 02:05:32 That is all. 02:11:29 -!- bsmntbombdood_ has quit (Read error: 131 (Connection reset by peer)). 02:12:03 -!- bsmntbombdood_ has joined. 02:49:10 -!- psygnisfive has joined. 03:09:14 The commercials for Star Trek $MOVIE_NOT_NUMBERED makes it look godawful. 03:09:20 s/makes/make/ 03:14:46 -!- Sgeo has joined. 03:15:39 I concur. 03:15:52 Anyone feel that programming classes shouldn't be required for non-programmers? 03:15:53 Also, I note that Sam Hughes needs to write for Star Trek. 03:16:11 Sgeo: No, but they should be taught better. 03:16:24 people need to be not stupid 03:16:40 psygnisfive, good luck with that 03:16:43 programming is so trivial, in many cases 03:16:44 (there's a freaking programming class for non-programmers at my school that uses C++. C++ for non-programmers? Madness!) 03:16:47 so trivial 03:17:05 Saw some student who wanted help testing. I saw code like: 03:17:05 pikhq: C++ for programmers? Madness! 03:17:13 MULTIPLICATION = multiplication() 03:17:20 psygnisfive: C++! Madness! 03:17:26 since he never figured out void functions 03:17:35 what 03:18:03 THIS! IS! STROUSTRUP! 03:18:04 (yes, a function like multiplication() made sense in context. The fact that it returned something (always 0), not so much) 03:18:15 GregorR: :) 03:21:36 This summer, I have so far designed a new (miniscule) processor architecture, written an emulator for it, and came up with an optimising Brainfuck compiler in Brainfuck. 03:22:23 Ah, yes. That was a productive summer for me. 03:22:33 And to think, I did it all on dialup. 03:22:35 I can't seem to find Sgeo's first messages in the logs ... 03:23:10 * Sgep is using konq, and can't figure out Java, so I can't really see EsoShell :-( 03:23:16 YOUR NAME CHANGE CONFUSES AND INFURIATES ME 03:24:03 :) 03:24:20 Hah, psygnisfive (then augur)'s first messages were " GregorR -- gregor richardson? i know a gregor richardson and i was gonna be all like ZOMG IS IT YOU" 03:24:40 its true! 03:25:38 How many people here HAVEN'T had a name change? 03:25:41 <-- always GregorR 03:25:46 clog <-- always clog 03:25:52 how many people here HAVEN'T has a sex change? 03:25:53 pikhq <-- always pikhq 03:26:07 i wouldve stayed augur if it werent for some cock using that name 03:26:09 I've had this nickname for *11 freaking years*. 03:26:10 ehird <-- had a backtick, but otherwise 03:26:27 Doesn't seem like that long, but, well, I'm 19. Forever for me. 03:26:28 i prefer "tusho" :( 03:27:38 how does one learn to speak Klingon? 03:27:58 I think I remember that. 03:33:57 http://www.muckflash.com/?p=200 03:48:22 http://www.reddit.com/r/funny/comments/8hqgy/fire_check_shot_check_idiot_check/ 03:49:45 HAHAHA 03:55:56 Lodz VFW benchmarks jug pix qty. 03:57:28 c++ for programmers? madness! 03:57:31 Interesting. 03:57:42 oh darn, psygnisfive beat me to it 03:57:50 :) 03:57:55 It still needs to be said. 03:58:54 i want a beer 04:03:18 And it suddenly makes a lot more sense when you consider 'jugs' can be a euphemism! 04:03:19 I honestly typed "pictures of jugs" into Google 04:23:31 Is "OSAM Autorun Manager" good? 04:35:54 -!- puzzlet has joined. 04:38:23 http://puzzlet.org/puzzlet/~Funge/PuzzletChung/SquareRoot One of my experiments.. 04:39:17 Damn, pgimeno hasn't been on in 5 months. 04:49:07 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 04:49:11 wow that's many years ago 04:49:17 still can be found at http://puzzlet.org/personal/wiki.php/~Funge/PuzzletChung/SquareRoot 04:50:46 -!- Gracenotes has quit (Remote closed the connection). 05:21:23 -!- bsmntbombdood_ has quit (Connection reset by peer). 05:37:05 puzzlet: I'm quoting peoples' first few words. 05:37:11 (On #esoteric ) 05:38:43 puzzlet, this is a befunge program that takes square roots? 05:41:18 -!- bsmntbombdood has joined. 05:42:03 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 05:42:18 -!- puzzlet has joined. 05:42:31 Heh, my first words here were about FYB. 05:42:37 I should get that goin' again :P 05:42:49 Somebody's got to beat logicex-3 05:43:26 Err, logicex-2 05:59:34 -!- Sgeo has quit ("Leaving"). 06:06:50 !fyb 06:06:50 Use: !fyb 06:06:52 :) 06:09:46 Now I just need to get somebody interested in FYB again ... 07:04:58 -!- GreaseMonkey has joined. 07:10:31 so im pretty sure that slashes is TC 07:11:03 maybe 07:11:40 /a/b/c is very similar to (λa.c) b 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:17:43 -!- Slereah has joined. 08:32:35 -!- tombom has joined. 08:48:38 -!- coppro has quit (Read error: 110 (Connection timed out)). 10:43:56 -!- GreaseMonkey has quit ("YES -> thor-ainor.it <- THIS IS *DELICIOUS*!"). 11:16:27 -!- jix has joined. 11:44:50 -!- oklopol has joined. 12:02:41 Hmm. 12:05:29 (^x.xx)(^x.xx) = /x/^x.xx/xx, but I don't think ^x.xx can be translated. 12:07:14 kerlo, what language 12:10:20 !bf 2 12:10:27 am i here 12:11:58 You are probably just imagining being here. 12:15:55 AnMaster: a mixture of lambda calculus and ///. 12:16:04 mhm 12:18:50 kerlo, so how does it work. 12:19:33 I guess it's /a/b/c -> replace a's by c in b, given the context? 12:19:59 It's /a/b/c -> replace a's by b in c, actually. 12:20:11 but that is just plain /// isn't it? 12:20:13 Yeah, that too 12:20:31 Although you'll have variable collision if you do that 12:20:47 do you think i should be a farmer? 12:20:55 We should all be farmers. 12:21:08 but what would we farm? 12:22:17 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 12:23:27 -!- oklopol has joined. 12:24:54 oh "dickensurl" 12:25:04 last time i read that as "dickandsuck" 12:25:09 ... 12:42:39 -!- oerjan has joined. 12:45:22 oerjan, hi 12:45:34 hi AnMaster 12:47:35 hm did xkcd update two days after each other 12:47:49 it has happened 12:48:11 ah yes and it's a multipart story 12:48:27 -!- oklopol has quit (Read error: 110 (Connection timed out)). 12:48:42 right 12:50:14 -!- oklopol has joined. 13:00:09 -!- oklopol has quit ("PJIRC @ http://webirk.dy.fi"). 13:04:55 /a/b/c is very similar to (.a.c) b 13:05:12 what 13:05:19 the problem is that that also garbles any instances of /a/b/ in c 13:05:21 λa.c 13:05:43 i presume you mean that like 13:05:45 <- iso8559-1 13:05:48 you get variable naming conflicts 13:05:52 no 13:06:01 no? 13:06:03 what do you mean then 13:06:25 the problem is, it is _very_ hard to modify just _some_ instances of anything 13:06:32 ??? 13:06:50 im not sure what you mean 13:07:24 i mean to show slashes TC is hard 13:07:32 :P 13:07:37 thats not what you mean. 13:07:40 because it _doesn't_ work like lambda calculus 13:07:49 how do you mean it doesnt, tho 13:08:23 oh btw it's (\a.b) c, if anything 13:08:36 no its not 13:08:44 erm no 13:08:46 right 13:08:48 :P 13:08:54 how is it not like LC tho 13:10:40 oh you need to escape all / in b 13:11:43 ? 13:11:52 im not entirely up on how the slashes get escaped 13:12:00 with \ before 13:12:02 oh i think i know what you mean 13:12:07 (as is \ itself) 13:12:12 you mean if b is itself a /// expression 13:12:21 yes. 13:12:23 so that it doesnt fuck up the outer /// 13:13:51 do you have a bot that will interp stuff? 13:14:07 Personally I couldn't even do an infinite loop in ///, one that wouldn't have a single non-terminating /// expression. To loop "aaa" you need some code that translates "x" into "aaa [code that translates x into aaa] x", and it seems to be pretty difficult to do anything involving just the first "aaa" part without messing up the latter code. 13:15:56 what do you mean, fizzie 13:18:18 He means shit ain't TC so stop trying 13:18:21 Or somethin 13:18:21 g 13:18:28 i think that ///s might be an alternative notation for de bruijn notation lc. 13:19:04 de bruijn notation is almost identical, except /a/b/c is (b) [a] c 13:19:29 it could be an important difference tho. i dont know. 13:22:20 I just mean that anything with /// that involves generating code seemed to be rather tricky in practice. I couldn't write a /// expression Z that would turn "x" into "Zx", for example. (And in fact /x/...x.../ will never terminate, of course, so you'd need something pretty clever.) 13:23:05 why would /x/...x.../ terminate?? 13:23:06 what? 13:23:32 ah yes, the substitution is repeated until it no longer applies 13:23:41 i dont follow 13:23:52 I mean /x/...x.../ will never terminate, since it keeps applying the substitution as long as there is a single x in the rest of the code. 13:24:12 well, surely that by itself wont not terminante, since its substituting x for ...x... in nothing 13:24:16 but i think i see what you mean 13:24:55 /a/b/c keeps replacing a with b in c and all the versions of c that get produced by substitutions? 13:25:21 so /a/b/c -> /a/b/c' -> /a/b/c'' ... until c^(n) has no a's? 13:25:28 yep 13:25:35 ok. so? 13:26:11 it means that afterwards, there _will_ be no a in the code 13:26:17 hm. 13:26:35 and so some easy ways of looping are excluded 13:26:36 i guess thats a problem if you have a /// that should apply to another version of itself 13:27:53 in particular, if b contains a you get a tight infinite loop, which never prints anything 13:28:26 hm. 13:28:32 thats a problem! 13:31:52 to get around this, i recall trying thinking about making a something with more than a single character, so you can reconstruct it 13:32:05 (if a were a single character, you could never get it back) 13:32:22 maybe have escapes on characters too? 13:32:25 but then the need to escape slashes gets added to that, and i gave up 13:32:40 so that \a doesnt match a until the replace cycle?? 13:32:50 ergh 13:32:52 :|} 13:32:53 :| 13:33:08 :|} is a frustrated guy with an amish beard 13:33:20 broke his wagon wheel? 13:33:31 -!- jix has quit ("leaving"). 13:33:33 ja :( 13:33:38 -!- jix has joined. 13:33:56 I did also try thinking about using some other longer strings, and then replacing them back with something like a simple /foo/bar/, but that hit the snag that it would of course replace any later "/foo/bar/" you wanted to run in the whole future of the program with a /bar/bar/. 13:33:58 -!- jix has quit (Remote closed the connection). 13:34:22 -!- jix has joined. 13:34:23 An easy language it is not. 13:35:49 -!- jix has quit (Remote closed the connection). 13:36:04 -!- jix has joined. 13:37:48 talking like yoda you are 13:43:12 Par la guerre personne ne devient grand 13:43:22 english, cockface. 13:44:16 That's a good attitude for a linguist to have 13:44:32 it is. 13:46:38 Don't you call me cockface 13:46:40 * oerjan imagines psygnisfive somewhere in the depths of the amazon, saying "english, cockface." 13:46:46 Until your cock is in my face. 13:47:01 why would i go to the amazon 13:47:05 they dont speak english there 13:47:39 But this place is full of finns and Frenchmen 13:47:49 Yes, it's like the amazon 13:47:51 yes but we speak english here! 13:47:55 unlike the amazon! 13:48:17 apparently some nutters have tried to apply type theory to the social sciences 13:48:25 how typical 13:48:49 first it was darwinism, now it's type theory 13:50:40 The holocaust was because of type theory 13:50:54 Bertrand Russell is a murderer 13:50:56 you know, this is true! 13:50:59 well, the holocaust part 13:51:04 not the murderer part 13:51:18 he was just following orders 13:52:26 Are you aware that Hilbert is just an anagram for Hitler b 13:52:59 Hilbert came up with the extermination of untyped objects. 13:53:22 Prelude> german + jew 13:53:22 :1:9: 13:53:24 Couldn't match type `German' 13:53:26 against type `Jew' 13:53:28 In the second argument of `(+)', namely `jew' 13:53:30 In the expression: german + jew 13:53:32 In the definition of `it': it = german + jew 13:53:34 GASP, Haskell, you RACIST 13:53:40 D: 13:53:49 Let's make a language out of this 13:53:54 lets not 13:53:56 + has a strict segregation policy 13:54:16 i disavow all knowledge of this. 13:54:34 psygnisfive is a typzy 13:54:42 a what 13:54:45 a type gypsy? 13:54:50 A TYPZI 13:54:57 oh noes D: 13:55:18 a type zazi?! 13:55:43 but i dont speak pashto! :( 13:55:43 Close. 13:56:09 int process_spell_target(int who, int what, int y0, int x0, int y1, int x1, int spell, int level, u32b flg, int region_id, int delay, int damage_div, bool one_grid, bool forreal, bool player, void retarget(int *ty, int *tx, u32b *flg, int method, int level, bool full, bool *one_grid), bool *cancel) 13:56:18 oh god wtf 13:56:21 gtfo 13:56:23 :( 13:56:41 is it some code for magic? 13:56:48 Throwing spells and shit 13:56:53 It's from Unangband 13:56:54 im going to bed 13:56:57 for some hours 13:56:59 bye 13:57:12 I got it from http://roguelikedeveloper.blogspot.com/2009/04/moral-simplification.html 13:57:49 Some people would've just used a typedef for the function pointer in there. I call those people quitters! 13:58:04 i'd say its very immoral. 13:58:04 :-) 14:02:05 -!- oerjan has quit ("Later"). 14:43:46 -!- Sgeo has joined. 14:47:10 it's likely that SSA-based analysis is needed to propagate brainfuck IL correctly. 14:48:06 IL? 14:48:16 intermediate language, used in esotope-bfc compiler 14:48:36 not that good though 14:48:53 Linky? 14:49:20 i have written analysis code for one basic block, but there are so many small basic blocks and i should analyze them in the whole... 14:49:28 Sgeo: http://hg.mearie.org/esotope/bfc/file/tip/esotope-bfc.py 14:49:38 ty 14:50:16 there are many rooms of improvement, many of them requires SSA form or something like that 14:50:45 SSA form? 14:51:35 wikipedia contains some article on it: http://en.wikipedia.org/wiki/Static_single_assignment_form 14:51:54 it is a popular technique in the compiler construction. 15:18:36 ehird, new Fine Structure out 15:22:54 Another new one? Sweet. 15:23:06 Oh, it's a few days old. 15:23:12 Good one, though. 15:30:14 -!- jix has quit (Read error: 113 (No route to host)). 15:42:06 -!- puzzlet_ has joined. 15:44:55 -!- puzzlet has quit (Read error: 145 (Connection timed out)). 16:12:30 -!- KingOfKarlsruhe has joined. 16:16:00 -!- impomatic has joined. 16:17:38 -!- puzzlet has joined. 16:17:40 -!- puzzlet_ has quit (Remote closed the connection). 16:25:56 -!- MigoMipo has joined. 16:27:28 -!- Slereah has quit ("Leaving"). 16:35:49 I'm up to 14 potential 26-letter pangrams :) 16:35:53 They're all pretty terrible though :P 16:41:27 -!- sebbu2 has joined. 16:43:32 GregorR: are there common pattern in them? for example, certain word is likely to appear in them? 16:44:34 -!- sebbu has quit (wolfe.freenode.net irc.freenode.net). 16:58:21 Have you heard about Lee Sallow's pangram machine? 16:58:56 Cool looking machine from about 25 years ago. 17:12:31 -!- FireFly has joined. 17:32:11 -!- Hiato has joined. 17:33:03 lifthrasiir: Yes. Those acronyms I didn't manage to filter out are popular :P 17:33:25 01:05 pikhq: I'd like to take this opportunity to state that all sellers of digital information are guilty of price fixing. 17:33:26 01:05 pikhq: That is all. 17:33:29 Ex-fucking-XACTLY. 17:33:46 Bits are not scarce; there is infinite supply and finite demand. 17:33:48 Value = 0. 17:34:47 ehird: http://code.google.com/p/esotope-bfc/ i once heard of mercurial support in google code, but when i registered the project i realized mercurial support is for invited users... :S 17:34:52 That's by definition. The free market has not yet figured out how to deal with non-scarce resources, for that very reason, and to compensate they're treating them like scarce resources. 17:34:54 anyway now there is a project page. 17:35:02 lifthrasiir: Github ftw ;-) 17:35:17 lifthrasiir: If you'd like mercurial support, I could set you up a page on codu.org/projects . 17:35:19 GregorR: Selling non-scarce resources is inherently immoral, imo. 17:35:28 Also, free markets are dumb to the max :P 17:35:57 GregorR: i feel google code is quite convenient, except for its VCS support 17:35:57 lifthrasiir: you can integrate google code with mercurial 17:35:59 i felt* 17:36:02 lifthrasiir: go to the admin panel 17:36:05 to do the tabs panel 17:36:07 on the Source one 17:36:08 input Source in the box 17:36:11 now, edit the Source wiki pag 17:36:12 e 17:36:18 and put checkout instructions on there and a link to the web interface 17:36:25 = the source tab on google code links to that; hooray 17:36:32 you can also hide e.g. Downloads if you're not going to use that 17:36:36 hmm, that'd be one way. 17:36:43 lifthrasiir: I've done it befor 17:36:43 e 17:36:47 it works excellently 17:36:48 thank you for info. 17:36:52 http://code.google.com/p/github-and-google-code/ 17:36:57 the actual github project has been deleted 17:37:00 but that shows the tab 17:37:31 the actual github project has been deleted // I'm going to use this out of context hundreds of times >: ) 17:37:32 lifthrasiir: then if you put in e.g. the URL field on your hgweb, you can put a link to the google code there 17:37:35 to link them up 17:37:41 GregorR: wat? 17:37:43 I deleted it myself 17:37:51 OOOH even better! 17:37:57 the actual github project has been deleted I deleted it myself 17:38:05 GregorR: Er, what's so funny? 17:38:10 That's what she said? 17:38:24 That says nothing about Google code. If I take that out of context, it sounds like you're saying you deleted github :P 17:40:56 oh 17:40:59 :P 17:41:04 GregorR: I deleted the project-on-github 17:41:14 dur 17:42:04 Of course you did, that's clear enough. 17:42:14 But it's less clear when I don't include those details, hence "out of context" 17:42:24 This joke has now been so over-explained it's been beaten to death. 17:43:34 -!- MigoMipo has quit (Read error: 60 (Operation timed out)). 18:09:59 -!- KingOfKarlsruhe has quit (Remote closed the connection). 18:20:51 -!- ais523 has joined. 18:24:58 -!- MigoMipo has joined. 18:26:35 -!- ais523_ has joined. 18:27:13 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 18:28:00 -!- impomatic has left (?). 18:29:05 -!- tombom has quit ("Peace and Protection 4.22.2"). 18:37:15 -!- ais523 has quit (Read error: 110 (Connection timed out)). 18:45:00 hi ais523_ 18:45:05 hi 18:45:08 wow, am I underscored? 18:45:10 -!- ais523_ has changed nick to ais523. 18:45:19 this connection's rather flaky, it seems 18:50:48 -!- FireFly has quit (Read error: 60 (Operation timed out)). 19:34:54 btw, 19:34:58 !sh echo it works 19:34:58 it works 19:35:04 good, heh 19:45:17 -!- Slereah has joined. 19:56:53 -!- WangZeDong has quit (Read error: 110 (Connection timed out)). 20:00:13 some of Perl6's features seem only useful to golfers 20:00:32 'Tis Perl. 20:00:34 for instance, the pair (foo => 42) can be abbreviated :foo(42), which can be abbreviated :42foo 20:04:03 so it treats 42 and foo as two tokens, not an error (still)? 20:04:19 not just that, it's a deliberate abbreviation AFAICT 20:04:30 :42 foo would mean something entirely different, probably 20:04:37 ... 20:04:40 sorta crazy. 20:04:50 actually, even (foo => 42) is an abbreviation for ('foo' => 42) 20:05:07 What would :42'foo' mean? 20:05:21 probably a syntax error 20:05:23 What's that : about, anyway? 20:05:46 Everyone wants the colon. 20:13:35 more fun Perl6 syntax: "\c[NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE]" 20:14:59 well that's also in python: 20:15:00 >>> u'\N{NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE}' 20:15:00 u'\u22af' 20:15:12 yes 20:15:20 still fun, though 20:15:25 right 20:16:50 >>> u'\N{tetragram for vastness or wasting}' 20:16:50 u'\U0001d337' 20:16:55 The most useful thing ever. 20:17:22 I wonder how many copies of over-a-megabyte Unicode character name database I have because of stuff like this. 20:17:24 what about glagolitic capital letter spidery ha? 20:17:43 𝌷 20:18:15 >>> print u'\N{glagolitic capital letter spidery ha}' 20:18:15 Ⱒ 20:18:17 Praise be. 20:18:21 fizzie: no, it surely can be compressed less than 64K. i have done such thing once. 20:18:32 ehird, sigh 20:18:38 AnMaster: what did I do now? 20:18:43 breathe? 20:18:44 afaik python also uses such compression, making entire database less than 100K iirc 20:19:02 ehird, it was a sigh in awe of the glagolitic capital letter spidery ha clearly! 20:19:05 that's still over 5% of a floppy disk 20:19:34 AnMaster: 20:17 ais523: what about glagolitic capital letter spidery ha? 20:19:42 AnMaster: If you think I did that spontaneously, lern2scrollback. 20:19:51 but python distribution doesn't fit in a floppy disk, does it? 20:19:58 ehird, did I say it was spontaneous... 20:20:03 you make no sense now 20:20:14 lifthrasiir: maybe not, but I've had to fit python onto a small computer with only 16MB Flash space before now 20:20:28 how about tinypy then? 20:20:31 we did manage it in the end by uninstalling all the things we didn't need 20:20:33 AnMaster: the 'sigh' seemed to imply you were blaming me. 20:20:34 lifthrasiir: hadn't heard of it 20:20:41 ehird, " ehird, it was a sigh in awe of the glagolitic capital letter spidery ha clearly!" 20:20:43 http://tinypy.org/ 20:20:56 AnMaster: if I took that seriously you'd accuse me of lacking a sarcasm detector AKA mind reader. 20:21:07 tinypy is a minimalistic python implemenation whose loc is just over 60K lines. 20:21:11 ehird, ... 20:21:33 if you absolutely have to integrate python within restricted environment, it might help 20:21:33 lifthrasiir: '60K lines', 'minimalistic' 20:21:46 ehird, hah 20:21:57 -rw-r--r-- 1 root root 481008 2009-02-18 06:20 /usr/lib/python2.5/lib-dynload/unicodedata.so 20:22:05 The fact that it can be compressed of course doesn't mean it will. 20:22:15 ehird, isn't sqlite rather minimalistic iirc? Yet it is something like 90k lines iirc 20:22:50 fizzie: it also contains normalization tables for NFK?[CD] 20:23:15 but anyway it looks like too huge. hmm. 20:54:54 I love the way the Perl6 manual talks repeatedly about a function called "if" 20:55:03 the idea being it's talking about how to do weird things with the parser 20:55:14 in this case, how to use a function with a name that means something else 20:55:29 likewise, it talks about how to refer to a variable called $@%$@ 20:55:35 or something like that, anyway 21:01:56 -!- olsner has joined. 21:06:30 -!- impomatic has joined. 21:06:55 Hi, just a quick question. How does this channel get logged? We want to log the #corewars channel 21:07:14 impomatic: don't bother 21:07:19 last log was accepted in 2005 iirc 21:07:22 Why not? 21:07:29 because it's unmaintained 21:07:35 nef doesn't maintain it, Faré doesn't care 21:07:49 when you COULD get it, it was done by asking 21:08:12 impomatic: there are many free IRC log services 21:08:14 try ircbrowse.com or something 21:08:24 Ah, okay. How do I ask? It's worth a try. 21:08:26 Thanks 21:08:32 impomatic: you can't; they don't exist :P 21:08:38 but on IRC 21:08:44 -!- ais523_ has joined. 21:08:46 impomatic: there's one that does it by filling out a web form 21:08:48 I'll find it 21:09:19 impomatic: http://www.irseek.com/ 21:09:22 fill in the opt in form 21:09:28 Does that count as unauthorised public logging? I saw a warning about that! 21:09:40 No 21:09:48 You have to put it in the topic. 21:09:54 Thanks, will do that now 21:09:57 hmm, wait 21:10:05 impomatic: it may not be the best option for long-term archival 21:10:06 "IRSeek will keep channel logs for upto 7-years (for example, a message that has been archived by our log-bots on January 1st, 2001 will be kept in our database until January 1st, 2008, unless a channel contact/operator has specifically requested that we remove it before that time). This policy will reduce the concern that a message once sent to a logged-channel will be archived forever. " 21:10:27 * ehird googles 21:11:05 hrm,. 21:12:04 impomatic: does anyone in the channel have a server? 21:12:39 I think we all used shared hosting for our webpages. 21:12:40 → 21:12:46 ← impomatic: I may be able to set up something. 21:12:47 brb 21:16:04 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 21:18:37 -!- puzzlet has joined. 21:18:44 > {my $x = "dnab0001.png"; say ++$x;} 21:18:45 dnab0002.png 21:18:47 now that's just showing off 21:20:20 That's a little bit scary actually. 21:20:35 say ++"foobar 1.0.1" ? 21:21:37 > {my $x = "foobar 1.0.1"; say ++$x;} 21:21:38 foobar 1.1.1 21:21:43 that definitely isn't what I expected 21:21:50 -!- ais523 has quit (Nick collision from services.). 21:21:52 -!- ais523_ has changed nick to ais523. 21:22:32 that contradicts the spec, though, must be a bug in rakudo 21:22:35 ais523: Parses it as a floating-point 1.0 and discards the rest? 21:22:38 the spec would indicate "foobar 2.0.1" 21:22:46 Oh, but ++ 21:22:49 Never mind 21:26:32 How 'bout "foobar 1.0.1" + 0.0.1 21:26:33 :P 21:28:01 And do you get a "foobar 2.3.4" out of "foo 1.1.1" + "bar 1.2.3"? 21:28:08 LAWL 21:28:39 I suppose a link in the topic that's required to show that there's public logging going on should probably not be obfuscated :P 21:29:02 umm, how is that any different from a direct link? 21:29:08 neither are obviously logs from the structure of the URL 21:29:14 -!- ais523 has set topic: Logs: . 21:29:18 there, that's better 21:29:20 The word "Logs:" could... 21:29:26 Meh. 21:29:33 I even spelled it the same way. 21:29:47 -!- GregorR has set topic: Logarithms: . 21:29:48 You must be some sort of thought-pire. 21:30:01 * GregorR whistles. 21:30:47 > {my $x = "αωω"; say ++$x;} 21:30:49 αÏÏ 21:30:51 ugh, Rakudo encoding fail 21:32:32 (^$B1?(B) 21:32:35 bu-n 21:37:03 * GregorR voodoos FYB at the channel. 21:37:12 You know you want to beat logicex-2! 21:37:16 Doooooooooit 21:37:36 GregorR: FYB? 21:37:37 Holy shit! 21:37:38 It's back? 21:37:43 !fybv 21:37:45 Err 21:37:47 !fyb 21:37:48 Use: !fyb 21:37:52 Hawt. 21:37:55 How do you show the scoreboard? 21:38:24 Right now when you submit a program it just runs it against all the other ones it's seen and gives you the total, when I get home tonight I'm integrating int-e's nice scoreboard (in some way) 21:38:36 GregorR: what's the additional instructions again 21:38:39 err, I forgot fyb 21:38:53 http://codu.org/eso/fyb/ // spec is here 21:39:24 -!- MigoMipo has left (?). 21:40:21 > | 3 | moves the data pointer to the right (looping if necessary) 21:40:23 GregorR: wat? 21:40:37 You have a pointer in the opponent's code. 21:40:38 GregorR: also, show logicex-2? :P 21:40:49 It's also on that site, under exa/ 21:42:09 !fyb :@%>+++++++++++++++[..............................................................................................................................................................................+]*;:++!>;* 21:42:09 Use: !fyb 21:42:12 !fyb butt :@%>+++++++++++++++[..............................................................................................................................................................................+]*;:++!>;* 21:42:12 butt won 0/20 21:42:16 :D 21:42:23 Well played :P 21:42:49 Oh! :-) 21:42:51 !fyb butt +[!>+] 21:42:51 butt won 0/20 21:42:54 :-( 21:43:09 When did fyb get added? 21:43:14 impomatic: Yesterday. 21:43:19 :-) 21:43:29 By the way, what happened to BF Joust? 21:43:30 :) 21:43:37 impomatic: Goethe the contestmaster deregistered 21:43:39 impomatic: BF Joust? 21:43:41 and it decontestified 21:43:50 Hm. 21:43:53 I want em to restart it, now might be a bad time though 21:44:02 e reregistered but Agora's rather busy with contest shenanigans atm 21:44:13 !fyb butt +[>+] 21:44:14 butt won 0/20 21:44:19 !fyb ++++++++++++++:!;* 21:44:19 anyway, my plans for BF Joust are: 21:44:20 Use: !fyb 21:44:22 !fyb butt ++++++++++++++:!;* 21:44:23 butt won 0/20 21:44:39 Stop calling them all butt :P 21:44:52 !fyb butt butt 21:44:53 butt won 0/20 21:45:12 Amazingly, the "only-comments" FYB program doesn't win so much :P 21:45:36 !fyb butt ++++++++++++++:{>}!;* 21:45:36 butt won 0/20 21:45:56 !fyb butt ++++++++++++++:{>>>>}!;* 21:45:56 butt won 0/20 21:46:11 Deewiant: You realize the chance of that actually committing a bomb is near-zero, right? 21:46:18 Committing? 21:46:34 Ah, so you're just poking around and haven't actually read the spec ;) 21:46:36 !fyb test {>}[+]++++++++++++++! 21:46:36 test won 0/22 21:46:55 -!- oerjan has joined. 21:47:05 GregorR: I don't get program buffers 21:47:16 I read what ! does but I don't get it :-P 21:47:40 Oh, I think I do 21:47:47 !fyb test {>}[+]++++++++++++++!; 21:47:47 test won 0/22 21:47:48 I have to modify space first using +- 21:47:52 And then ! 21:47:54 no - in FYB 21:47:58 Whatever 21:47:59 :-P 21:48:11 But anyway, ! on its own just... commits. 21:48:18 Yeah. 21:48:25 anyway, quick rules of ais523-modified BF joust: 21:48:29 Has anyone played with Corelife? It's a 2D version of corewar 21:48:31 The changes you make aren't in the program code until you commit them. 21:48:35 two BF programs share a tape, > for one program is < for the other 21:48:41 impomatic: Sweet. And no. 21:48:55 each starts at the < end of the tape from their own point of view on a cell with value 128, all other cells have value 0 21:49:04 programs run simultaneously, each command takes one tick 21:49:13 !fyb butt :{>>>>}++++++++++++++!;* 21:49:14 butt won 0/22 21:49:31 and if at the end of each of two consecutive turns, the starting value of the tape of a program is 0, that program loses 21:49:37 also, a program loses if it goes off the end of the tape 21:49:42 . and , are no-ops, but still take one tick 21:49:44 Hmm, it won't be zero will it now, hence the [+]. 21:50:44 Deewiant: {} searches for the opponent's program pointer, [] is like BF's. 21:50:49 !fyb butt :{>>>>}[+]++++++++++++++!;;{<<<}[+]++++++++++++++!;* 21:50:50 butt won 0/22 21:50:51 Deewiant: So that's not likely to be zero. 21:50:59 GregorR: Yeah, exactly. 21:50:59 -!- Hiato has quit (Read error: 60 (Operation timed out)). 21:51:14 Threads share the data pointer? 21:51:22 No. 21:51:48 Does the program buffer wraparound (if I <, do I get to the end)? 21:51:49 +++!;;{<< <-- notice a problem here :P 21:51:55 ais523: so ------- etc on the flag wouldn't win because it isn't 0 for 2 consecutive rounds. 21:51:57 Deewiant: Yes. 21:52:17 but [-] would win if run on the flag because it stops when it gets to zero 21:52:22 !fyb butt :{>>>>}[+]++++++++++++++!;:{<<<}[+]++++++++++++++!;* 21:52:23 butt won 0/22 21:52:26 ais523: And how big is the buffer in BF Joust, btw? 21:52:26 ^^ 21:52:53 GregorR: oh, it used to be rather long, but for my version I suggest random from 10 to 30 inclusive 21:52:59 In the one which was online before, about 130 21:53:13 because the old long buffer menat that you couldn't both attack and defend, and had plenty of time to set up defences 21:53:47 impomatic: yes, the two-rounds thing should invalidate most of the degenerate strategies from last time 21:53:56 and give defensive strategies an actual chance of working 21:54:25 woe betide anyone who tries [>[-]+] this time, they're likely to fall off the end against a defensive strategy 21:54:38 Maybe you should get to thread. 21:54:41 !fyb butt :{<}[+]++++++++++++++!; 21:54:41 butt won 6/22 21:54:44 Muah! 21:54:54 I win the internets 21:54:57 * GregorR has no idea what difference that made :P 21:55:05 !fyb butt :{>}[+]++++++++++++++!; 21:55:06 butt won 6/22 21:55:08 !fyb butt :{>}[+]++++++++++++++!;* 21:55:10 butt won 5/22 21:55:18 Hmm 21:55:26 Strange, did it just magically start working >_O 21:55:32 !fyb butt :{>>}[+]++++++++++++++!;* 21:55:32 butt won 10/22 21:55:34 !fyb butt :{>>>}[+]++++++++++++++!;* 21:55:36 butt won 4/22 21:55:36 !fyb butt :{>>>>}[+]++++++++++++++!;* 21:55:37 butt won 9/22 21:55:45 http://retrocode.blogspot.com/ 21:55:46 Maybe I typoed the number of + 21:55:47 :-P 21:56:10 !fyb butt :{>>>>}[+]++++++++++++++!;:{>>>>}[+]++++++++++++++!; 21:56:11 butt won 4/22 21:56:11 !fyb vejni +[:{>>}+;] 21:56:17 vejni won 0/24 21:56:27 !fyb pietje :{>>}[+]++++++++++++++!; 21:56:31 pietje won 5/26 21:56:35 !fyb pietje :{>>}[+]++++++++++++++!;* 21:56:36 pietje won 13/26 21:56:37 pikhq: Any given ':' can be spent, so doing it in a loop is mostly pointless. 21:56:46 Oh right, : only works once 21:56:52 !fyb pietje {>>}[+]++++++++++++++! 21:56:53 pietje won 12/26 21:57:06 !fyb pietje :fooooooooooooooooooooooooooooooooooooooooooooooooooooooooo;{>>}[+]++++++++++++++! 21:57:08 pietje won 9/26 21:57:12 GregorR: I was doing random symbols. Wee. 21:57:19 !fyb pietje :************************;{>>}[+]++++++++++++++! 21:57:21 pietje won 10/26 21:57:24 !fyb pietje :***********************;{>>}[+]++++++++++++++! 21:57:25 pietje won 15/26 21:57:30 This is so random :-P 21:57:34 !fyb pietje :**********************;{>>}[+]++++++++++++++! 21:57:35 pietje won 10/26 21:57:38 !fyb pietje :***********************;{>>}[+]++++++++++++++! 21:57:38 pietje won 15/26 21:57:40 !fyb vejni All of this is a comment. Really. 21:57:42 !fyb pietje :{>>}<[-]++++++++++++++!;* 21:57:42 I'll stick with that 21:57:43 vejni won 3/26 21:57:48 pietje won 4/26 21:57:51 Hey, don't overwrite pietje 21:57:52 Wow. 21:57:53 Stick with butt 21:57:56 k 21:58:07 !fyb pietje :***********************;{>>}[+]++++++++++++++!:****; 21:58:07 !fyb butt :{>>}[-]<+>++++++++++++++!;* 21:58:09 pietje won 13/26 21:58:10 butt won 7/26 21:58:13 !fyb pietje :***********************;{>>}[+]++++++++++++++! 21:58:14 pietje won 15/26 21:58:16 !fyb vejni 21:58:16 Use: !fyb 21:58:25 !fyb vejni 21:58:25 Use: !fyb 21:58:38 !fyb vejni f 21:58:41 vejni won 3/26 21:58:41 http://retrocode.blogspot.com/2009/02/bf-joust-hill.html 21:58:53 pikhq: Impressive ;P 21:58:59 O_o 21:59:01 :) 21:59:08 !fyb comment // 21:59:12 comment won 3/28 21:59:12 !fyb butt :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 21:59:13 butt won 0/28 21:59:16 !fyb butt ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;; 21:59:17 butt won 0/28 21:59:20 !fyb butt ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>+;;;;;;;;;;;;;;;; 21:59:21 butt won 0/28 21:59:22 !fyb comment // 21:59:23 !fyb butt ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>+!;;;;;;;;;;;;;;;; 21:59:25 butt won 0/28 21:59:31 ehird: Each thread is one more point of weakness. 21:59:33 I'm afraid that null beats doing stuff. 21:59:39 !fyb pietje :***********************;{>>}[+]++++++++++++++! 21:59:41 pietje won 15/28 21:59:42 comment won 3/28 21:59:47 !fyb pietje :***********************;{<<}[+]++++++++++++++! 22:00:03 pietje won 9/28 22:00:13 !fyb {>}[-]++++++++++++++! 22:00:14 Use: !fyb 22:00:15 er 22:00:17 !fyb butt {>}[-]++++++++++++++! 22:00:20 !fyb pietje :***********************;{>>}[+]++++++++++++++! 22:00:22 pietje won 17/28 22:00:25 ehird: There's no - 22:00:25 * ehird kicks EgoBot 22:00:29 oh. 22:00:30 why. 22:00:32 !fyb vejni + 22:00:33 Ask GregorR 22:00:49 !fyb butt {>}[+]++++++++++++++! 22:00:49 Anyway, I'm going to stick with the 'this is random as hell' stance 22:00:51 butt won 11/28 22:00:51 butt won 6/28 22:00:58 Deewiant: evidently there is a - 22:01:03 try ircbrowse.com or something <<< i thought that died, it was the one cmeme used 22:01:05 because my [-] won more :P 22:01:07 ehird: Not in the README 22:01:08 oerjan: indeed 22:01:18 There's no - because that would make putting bombs much quicker and easier. 22:01:22 vejni won 3/28 22:01:25 !fyb butt +[{>}[+]++++++++++++++!] 22:01:25 !fyb comment {>}[x]++++++++++++++! 22:01:38 butt won 11/28 22:01:51 it was very nice when it worked, although often horribly slow 22:01:51 comment won 5/28 22:02:03 * GregorR wonders why he can't kill the tide of fukyorbranes :P 22:02:03 GregorR: what does the any given : thing mean 22:02:14 !fyb butt +[:{>}[+]++++++++++++++!;] 22:02:19 !fyb selfdestruct ?[>]++++++++++++++! 22:02:20 | | NOTE: any given : will only fork once, then it's spent 22:02:22 butt won 7/28 22:02:24 selfdestruct won 6/30 22:02:24 fizzie: impssible 22:02:28 *impossible 22:02:29 er 22:02:30 ais523: 22:02:31 err, how did selfdestruct win so much? 22:02:37 sheer luck 22:02:38 ehird: If you put a : in your code, the forking will happen only the first time it's executed. 22:02:38 ? is defect, right? 22:02:42 ehird: But you can have multiple :. 22:02:46 ehird: If it comes across a ':' at that program position again, it will not fork again. 22:02:48 I was trying to get it to suicide by putting a bomb in its /own/ code 22:02:57 ais523: | | NOTE: You cannot set a bomb in your own program, so it doesn't have a character. 22:03:01 GregorR: darn. 22:03:03 ais523: Except your own code has no %'s, so that's an infinite loop. 22:03:05 ehird: That's different. 22:03:13 !fyb selfdestruct ?[>]++++++++++++++!% 22:03:15 !fyb butt * 22:03:16 That just means you can't place one directly. 22:03:16 butt won 2/30 22:03:19 selfdestruct won 8/30 22:03:23 lol 22:03:26 GregorR: ok, it does even better now 22:03:26 how did that win 2 22:03:35 they killed themselves in less than one tick? 22:03:38 :-D 22:03:42 !fyb blank 22:03:42 Use: !fyb 22:03:44 !fyb blank 22:03:45 Use: !fyb 22:03:46 Aw 22:03:49 !fyb blank 22:03:49 Use: !fyb 22:03:53 and you can set a bomb, just only by self-editing 22:03:56 !fyb blank comment 22:03:57 ais523: no you can't! 22:04:02 | | NOTE: You cannot set a bomb in your own program, so it doesn't have a character. 22:04:03 | | NOTE: You cannot set a bomb in your own program, so it doesn't have a character. 22:04:05 I wanted a blank blank 22:04:08 blank won 6/32 22:04:11 ais523: s/so/as/ 22:04:15 Err 22:04:16 ehird: 22:04:18 Actually, you can set up us the bomb. 22:04:23 ehird: that spec note is misleading, in that you can't set a bomb in the initial program 22:04:25 That note is misleading. 22:04:27 but you can edit one into your own program later 22:04:29 bah, fine 22:04:35 GregorR: s/so/as/? 22:04:41 I'll fix that when I get home tonight. 22:04:50 !fyb butt +[@+!] 22:04:56 Deewiant: That's both 'so' and 'as', actually :P 22:04:57 butt won 1/32 22:05:06 Meh :-P 22:05:09 Deewiant: I didn't give it a character because you're not allowed to put one in your source. 22:05:16 Yes, indeed 22:05:28 I still think 'as' would be better ;-) 22:05:37 !fyb buttstolen :{>}[+[+[+[+[+[+[+[+[+[+[+[+[+[+[+]]]]]]]]]]]]]]]+++++++++++++!>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;:@[>+++]!;* 22:05:38 buttstolen won 6/34 22:06:00 !fyb pietje :***********************;{>>}[+]++++++++++++++! 22:06:01 pietje won 23/34 22:06:07 Deewiant: what does pietje mean? 22:06:22 !fyb pietje :**************************************************************************************************************************************************************************************************************************************;{>>}[+]++++++++++++++! 22:06:24 er 22:06:25 ups 22:06:27 meant to rename to butt 22:06:29 sry 22:06:34 pietje won 22/34 22:06:34 did EgoBot ded 22:06:35 !fyb pietje :***********************;{>>}[+]++++++++++++++! 22:06:36 o 22:06:36 pietje won 23/34 22:06:52 !fyb pietje ::**********;*;{>>}[+]++++++++++++++! 22:06:53 pietje won 17/34 22:06:56 !fyb pietje :***********************;{>>}[+]++++++++++++++! 22:06:57 oops 22:06:57 pietje won 23/34 22:06:59 sry 22:07:03 !fyb butt ::**********;;{>>}[+]++++++++++++++! 22:07:21 Pietje is a Dutch name 22:07:22 * ehird knocks EgoBot 22:07:35 I use it where somebody else might use "Jack" 22:07:35 GregorR: wat 22:07:42 butt won 10/34 22:08:07 !fyb butt ::**********;;:{>>}[+]++++++++++++++!; 22:08:08 butt won 12/34 22:08:12 \o/ 22:08:18 !fyb butt ::**********;;::{>>}[+]++++++++++++++!*;; 22:08:19 butt won 0/34 22:08:25 Zzz -> 22:08:28 !fyb butt ::**********;;:{>>}[+]++++++++++++++!*; 22:08:29 butt won 12/34 22:08:40 !fyb butt ::**********;;:[{>>}[+]++++++++++++++!]*; 22:08:58 butt won 10/34 22:10:04 http://codu.org/eso/fyb/report.txt is now automatically generated. Although it looks a bit freaky mid-generation :P 22:10:26 GregorR: can you order it properly? 22:10:53 ehird: You mean by points? I can if you write a new mkreport program that does that ;) 22:11:01 <_< 22:11:03 can't be hard 22:11:45 It would be even easier if I made a new version of fukyorbrane that exited with a status code specifying which one won rather than having to parse its text output (I was an idiot in 2005 :P ) 22:15:29 ehird: The only reason why it's "hard" is that the current one is just a simple script that outputs as it goes, doesn't keep any info around. 22:16:24 Pipe it into sort. 22:16:33 pikhq: Look at the output then say that again :P 22:16:53 Oh, btw, like the rest of EgoBot, !fyb accepts URLs, so don't think you have to fit these in an IRC line :P 22:17:10 more fun that way 22:17:18 -!- impomatic has left (?). 22:17:48 GregorR: is !fyb programmed any differently from the rest of EgoBot? 22:17:50 night 22:17:59 I should write a !bfjoust so we can have that too 22:18:02 and night AnMaster 22:18:14 ais523: It's just another scmd. Feel free to check out the source. 22:18:18 ais523: That would be sveet. 22:19:29 GregorR: I assume you have it as a shell script? 22:19:40 Yeah X-P 22:19:49 But there's nothing shell-script-dependent about multibot of course. 22:19:54 Trivial, then. 22:20:00 Erm. mkreport, I mean. 22:20:07 Oh 22:20:15 Yeah, that's a shell script. 22:21:21 sort is really insanely flexible. ;) 22:21:42 Hmm. Where is this script, anyways? 22:21:57 The mkreport that that uses presently only exists in EgoBot. 22:21:58 Found it. 22:22:08 (I managed to hunt down int-e and get a copy of it, he made it in the first place) 22:22:24 So, codu.org/eso/fyb/in_egobot/mkreport.sh 22:22:36 Yup 22:23:26 * GregorR leaves for home, he'll see everybody in either fifteen minutes or forty-five minutes depending on how hungry he gets on the way. 22:23:37 Gxis. 22:23:44 Gxis? 22:24:02 YOU HEARD 'IM 22:24:27 ehird: Short for "Gxis la revidu." 22:33:21 -!- ais523_ has joined. 22:33:53 -!- ais523 has quit (Nick collision from services.). 22:33:54 -!- ais523_ has changed nick to ais523. 23:02:52 wow, Perl6 has short-circuit exclusive or 23:02:59 which can only happen if you write $a ^^ $b ^^ $c 23:03:11 which is different from ($a ^^ $b) ^^ $c 23:04:53 ais523: :D 23:04:54 wwaaaat 23:04:55 *waaaaaat 23:05:17 $a ^^ $b ^^ $c means "exactly one of $a, $b, $c is true" 23:22:17 The US International keyboard layout refuses to put a circumflex over a g. 23:23:03 â ^b ^c ^d ê ^f ^g ^h î ^j ^k ^l ^m ^n ô ^p ^q ^r ^s ^t û ^v ^w ^x ^y ^z 23:23:08 Proper vowels only. 23:23:13 ḧ 23:23:36 that's the only ones in latin-1 i think 23:23:54 it's the same with a norwegian keyboard 23:23:57 ḧ 23:24:14 I want a keyboard that can make circumflex-g. 23:24:26 Hmm, I wonder if I can find an Esperanto keyboard layout. 23:24:39 "First of all, these fears are nonsense. C and C++ are never going to disappear. Why? Because there are classes of programming problems that are still and will always be CPU bound and there is still no language as fast as C or C++ for these problems. I highly doubt that there ever will be. " 23:24:40 Fail 23:25:35 I can type English (Zimbabwe) and Estonian (Estonia), but nothing in between. 23:25:38 -!- olsner has quit ("Leaving"). 23:26:26 Too bad Esperanto is something like the only language with those characters. 23:26:36 ehird: there was that experiment recently in which an OCaml program turned out to be faster than an equivalent C program 23:26:42 yep 23:26:43 although the C program was probably badly written 23:26:47 death to C! 23:27:03 kerlo: look at the Esperanto Wikipedia, they have their own format for writing Esperanto in 23:27:38 -!- puzzlet_ has joined. 23:28:28 it basically involves writing x after a letter to circumflex it 23:28:32 but there are a few special cases 23:29:45 Wow. The source code does indeed contain x like that. 23:29:49 What are the special cases? 23:30:47 ehird: A well-written assembly program can at least match the C program. ;) 23:31:03 kerlo: I don't know off by heart 23:31:10 pikhq: Unlikely. Modern CPUs are insane. 23:31:18 well, maybe it can beat gcc 23:31:19 I don't know Esperanto, so I've never bothered to learn how to write in the Esperanto Wikipedia 23:31:22 gcc isn't the best at optimizing... 23:31:27 Irrelevant. 23:31:38 but I think it's to do with cases where you actually want an x, and with capital letters 23:31:52 pikhq: "well-written" probably comes to "identical to the compiler's output". 23:31:59 The CPU being insanely good has *nothing* to do with how fast assembly is compared to C. 23:32:13 pikhq: CPUs nowadays are so complex that writing asm for them by hand is very fast 23:32:16 *very hard 23:32:27 pikhq: The only way to beat a good compiler is to generate the same code nowadays. 23:32:32 ais523: Well, yes. 23:32:34 It's as simple as that 23:33:04 ehird: In some cases, the assembly programmer will generate better code. 23:33:08 (no optimiser is perfect) 23:33:18 Very few nowadays I would imagine. 23:33:23 And no human optimizer is perfect. 23:33:32 Obviously, in general, the assembly programmer will be, at best, generating equivalent code... 23:33:56 are the microcode specs for modern cpus available? 23:34:02 Of course, all this is in response to someone claiming that there is no language as fast as C... 23:34:05 you could improve an optimizer a lot with those, I imagine 23:34:09 Which, frankly, is dumb. 23:34:20 yeah 23:34:27 if we're still coding C in 50 years I'll weep 23:34:42 Assembly is just the *obvious* language with similar performance. 23:35:00 "C: 0.8 seconds. 23:35:00 C++: 2.3 seconds. 23:35:01 OCaml: 0.6 seconds interpreted, 0.3 seconds fully compiled. 23:35:03 Java: 1 minute 20 seconds. 23:35:05 Python: over 5 minutes." 23:35:08 Sorry, similar performance characteristics. 23:35:10 OCaml is insanely fast. Wonder if you could get Haskell that fast. 23:36:36 It'd take a lot of work, but I bet you could. 23:36:50 pikhq: Oh, there are C-competitive Haskell programs. 23:36:54 Also, I wonder how that Java program is when compiled to machine code. 23:37:05 Put a bit of inlining hints, some strict-forcing bang-patterns. 23:37:08 I wonder if asm is beatable? 23:37:16 pikhq: he said that in a few years java took 0.7s with 1s startup time 23:37:19 maybe by using undocumented machinecode opcodes that can't be generated from the asm? 23:37:21 after he wrote it 23:37:24 or by compiling straight to hardware? 23:37:28 going home, anyway 23:37:29 ais523: can you run microcode? 23:37:37 if not by a supported way, via an exploit? 23:37:38 if so, yes. 23:37:44 ais523: Theoretically, no. In practice? Possibly. 23:37:45 ehird: no idea, it's certainly worth thinking about though 23:37:52 I wasn't lying about going home, though 23:37:53 -!- ais523 has quit (Remote closed the connection). 23:38:24 If you assume a perfect assembly programmer, this hypothetical programmer will always be able to generate code that is at least as fast as its competition. 23:38:29 Of course, no man is perfect. 23:38:45 If you assume a perfect assembly programmer, that there was the singularity. 23:39:00 In many cases, English is faster than any programming language. 23:39:15 kerlo: Not for computer execution. 23:39:41 I don't have to defend my point because I've forgotten what I meant by it. 23:39:49 kerlo: Take any number of words on the command line; sum the ASCII digits of each one, then take the product and print it out. 23:40:06 main = interact (show . product . map (sum . ord) . words) 23:40:12 Haskell wins. 23:40:26 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 23:40:27 Er, wait, that's invalid 23:40:31 main = interact (show . product . map (sum . map ord) . words) 23:40:32 There 23:40:49 Ah, you want a newline at the end of that 23:40:56 main = interact ((++ "\n") . show . product . map (sum . map ord) . words) 23:40:57 Voila. 23:41:05 Shorter than the English and about as readable. 23:43:17 foreach $args i {incr ::sum [expr [join [split $i {}] "+"]]};puts $sum 23:43:28 (why doesn't Tcl have a builtin map?) 23:43:29 pikhq: I can golf, also: 23:43:37 main = print . product . map (sum . map ord) . words =<< getContents 23:43:42 main=interact$(++"\n").show.product.map(sum.map ord).words 23:44:46 also 23:44:48 pikhq: that's not it 23:44:49 you forgot the product 23:44:53 hello world 23:44:53 is 23:45:06 ('h'+'e'+'l'+'l'+'o')*('w'+'o'+'r'+'l'+'d') 23:45:08 pikhq: get it? 23:45:18 Oh. Well, then. Just a sec. 23:45:20 So you have to do that shorter than main=interact$(++"\n").show.product.map(sum.map ord).words 23:45:22 Good luck :-P 23:45:47 main=print.product.map(sum.map ord).words=< I'm trying to do it elegantly; sorry. ;) 23:45:59 oerjan: very good 23:46:17 since print includes show and ++"\n" automatically 23:46:21 pikhq: good luck getting more elegant than main = print . product . map (sum . map ord) . words =<< getContents 23:46:22 oerjan: yep 23:46:29 I wanted that at first 23:47:52 Foobarf. 23:48:05 GregorR: wtf is wrong with my/oerjan's code 23:48:14 ? 23:48:15 amusingly, it has NO foos and bars, it has no names 23:48:17 oh 23:48:24 I thought foobarf was barfing at my/oerjan's code :P 23:48:31 proc map {lambda x} {foreach $x i {lappend ret [apply {*}$lambda $i]}};puts [* {*}[map {{x} {+ {*}[split $i {}]]} 23:48:42 pikhq: Now THAT's barf-worthy. 23:48:45 That'd be so much more shorter if I didn't have to implement map first. 23:48:59 Even without the map, it'd take me a while to figure out even the algorithm from that. 23:49:02 I see there are no new FYB programs X-P 23:49:05 I'm going to enroll #haskell to golf it :P 23:49:20 * oerjan does a little dance 23:49:28 no trojan virus today 23:49:39 oerjan: lawl 23:49:41 well, found, anyway 23:49:47 Fine, y'want golf? 23:49:57 pikhq: Absolutely. 23:50:09 Haskell, in its divine elegance, can stay beautiful and tiny at the same time. 23:50:15 You have no chance to survive, make your Tcl. 23:50:23 C. 23:50:31 You think C will be shorter? 23:50:33 Hohohohoho 23:50:38 We can defeat your follies. 23:51:37 If I'm allowed to define the programming language, than I can always write a program shorter and clearer than Haskell :P 23:52:01 Oh, you wrote 99 Bottles of Beer in 200 characters of Haskell? Well, I just wrote it in one character of HQ9+ 23:52:02 GregorR: Yeah, but we won't listen to you :-) 23:54:47 pikhq: Welp? 23:55:32 main=getContents>>= \c->print$product[sum$map ord w|w<-words c] 23:55:48 on which planet is this shorter, oerjan? 23:55:53 main=print.product.map(sum.map ord).words=< i just wanted to write it out to check 23:56:03 ah 23:56:03 :P 23:56:05 i,c,d;main(a,char**b){(**b)?c*=main(a-1,b++)return;:while(*b[i],d+=*b[i++]);return d;} 23:56:09 * pikhq can't win 23:56:18 And that's not quite right. 23:56:26 pikhq: 31 characters extra to do it wrong fail :-) 23:56:32 since some of that mapping could be removed with a list comprehension 23:56:41 see how awesome haskell is pikhq? 23:56:57 GregorR: Any way of getting command line arguments in Plof? 23:57:15 pikhq: Not presently :P 23:57:24 Argh. 23:57:36 pikhq: command line arguments? 23:57:40 Sir, we use stdin. 23:57:44 That's what the Haskell dose. 23:57:45 *does 23:57:51 well... 23:57:57 oerjan: what 23:58:46 main=print.product.map(sum.map ord)=< of cours 23:58:53 e 23:58:53 except you need an import as well 23:59:01 we need an import for Data.Char 23:59:06 but let's just assume we don't 23:59:06 oh 23:59:13 because imports are silly 23:59:13 use fromEnum 23:59:18 oh? 23:59:42 oerjan: oh? 23:59:46 ord = fromEnum, type restricted 23:59:53 that's longer, my son. 23:59:59 other languages can ignore imports too