00:00:43 -!- NihilistDandy has quit (Quit: Computer has gone to sleep.). 00:02:54 Less-known fact: fungot is actually a modified Fisher-Price My First IRC Bot. 00:02:54 fizzie: he'll get rich they're entitled to make it legal they had some controversy over this before but i can't really recall anything that i've done 00:03:18 sounds like lyrics to something 00:03:22 -!- heroux has quit (Remote host closed the connection). 00:03:42 What a thorough and descriptive article. 00:03:48 it'd be hard to get that to scan. 00:04:47 Hmm, speaking of which, maybe a style based on a database of song lyrics? 00:05:12 scansion is just an oppressive construct imposed by society 00:05:37 i wouldn't brave most lyrics sites even for fungot. 00:05:38 Bike: or wanted to know uh do you wanna start or do you you swing your elbows more or do you have 00:06:32 -!- heroux has joined. 00:06:37 It's a fact that every site that lists lyrics has the exact same GET IT FOR YOUR CELL PHONE NOW link. 00:07:01 I think I may have seen a fairly tasteful lyrics site once or twice. 00:07:06 I recall that it was purple. 00:10:03 -!- ssue has joined. 00:15:21 -!- GreyKnight has quit (Ping timeout: 276 seconds). 00:20:39 Lyrics databases are kind of sucky, yes; and not very download-friendly. Very few fungot styles have been made by crawling. 00:20:40 fizzie: are you familiar 00:20:44 MDude: Is that a science fact? 00:20:51 fizzie: Whaddabout that wiki one 00:21:04 -!- GreyKnight has joined. 00:21:12 what about the webcomic ones 00:21:33 Wiki is from the XML or SQL dump, I forget which one. 00:21:54 PA and Homestuck are by crawling, though. 00:21:59 ^style 00:21:59 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 00:22:34 And iwcs and qwantz, I guess, okay. 00:22:46 YouTube sort-of. 00:23:15 are WP doing dumps again? I think it was broke last time I looked 00:23:30 (also Wikipedia isn't Wiki) 00:23:40 Books are... ahem, well, some books may be of dubious legality. But I didn't read them, I just fed them to the bot! 00:24:23 It's the only wiki on fungot's list. (Except technically PA is by crawling a Wikia or some other such thing.) 00:24:23 fizzie: you know you can't uh you know you 00:24:25 youtube having an api to download comments would be kind of funny. 00:25:06 And there's some material from Project Gutenberg. 00:25:28 (darwin speeches ss.) 00:25:43 "Wiki" capitalised is c2 :-) 00:25:55 * ais523 agrees with GreyKnight 00:26:18 Bah schmah, it was a perfectly acceptable shorthand for a person typing on a phone. 00:26:59 okay I'll let you off since your phone (presumably) auto-capitalises the first letter 00:27:02 just this once! 00:27:28 It was capitalized because sentences start with capital letters. 00:27:42 Add the Gutenberg style on fungot 00:27:42 zzo38: mother and stepfather raised her and she's just turned eighty she uses her f- she has a 00:27:55 capital letters at the start of sentences is a weird rule if you think about it 00:28:04 they should be for proper nouns only 00:28:09 zzo38 What's the Gutenberg style? Everything in there? 00:28:22 GreyKnight: It is the rule though, despite that. 00:28:39 fizzie: Yes, I would guess so, everything public domain ASCII in there, counting, only. 00:28:59 does gutenberg have non-public domain things? 00:29:01 throw it out! change ALL the rules! (╯°□°)╯︵ ┻━┻ 00:30:01 zzo38: I'll see if I get around to that. 00:30:34 Also perhaps the Internet style from google-ngram, I think that was on the TODO list too. 00:31:20 (It's not all of the Internet, it's just billion words from there.) 00:31:58 oh, you know what would be fun, if a bit annoying to do? download the geocities archive and scrape text from that. 00:32:04 00:21:32 Wiki is from the XML or SQL dump, I forget which one. 00:32:07 No I mean the lyrics wiki thing. 00:32:16 IIRC most of the time it is just "we can't show this because copyrights" though, but maybe they have dumps?? 00:32:22 I think it's a wikia thing or whatever. 00:33:55 They didn't have dumps when I last checked. Or I couldn't find any. 00:34:21 I was looking for a song lyric language model for other reasons. 00:34:40 Then call it google-ngram style 00:34:44 I wonder if anyone wrote a tracker (music tool) in haskell 00:34:48 If that is what it is. 00:35:12 google-ngram style? I hear that song is pretty popular these days. 00:35:16 FreeFull: I tried starting to write CsoundMML in Haskell, but now I am writing CsoundMML in C. There are other music stuff in Haskell 00:35:51 shachaf: Is it even a song? 00:36:02 zzo38: I think it's Korean. 00:36:25 zzo38: But that wouldn't be a tracker at all 00:36:43 FreeFull: Correct, they aren't, but I don't know of a tracker music in Haskell though. 00:37:42 But maybe someone make CsoundTracker too some day; I have some ideas how it could work directly with Csound score files, using all of its feature (tempo change, repeats, comments, function tables, etc), but I do not intend to write it at this time. 00:37:48 First I will write CsoundMML 00:38:16 That reminds me 00:38:22 You know bytebeat? 00:38:27 No. 00:38:49 http://canonical.org/~kragen/bytebeat/ 00:39:21 "new genre of music" 00:39:32 oh, these things. they're fun. took a while to figure out how to do it with pulse though. 00:39:39 O yes I think I have seen thing like that before. 00:40:56 I'm thinking this would be trivial to implement in Haskell 00:41:12 T R I V I A L 00:41:14 Also I pondered a tracker that would allow you to create synths by entering a formula 00:41:29 TRIVIAL 00:41:46 I made an rpn parser that does that but didn't write the rest of the tracker 00:41:47 Come on, kmc. 00:41:49 Csound can kind of do that, create synths by entering a formula. 00:41:53 Don't you have a fullwidth keyboard layout? 00:42:47 why does kmc hate 'trivial' again 00:43:14 L A I V I R T 00:43:24 haskell people use it to mean "our shit is so theoretically awesome that it doesn't matter if it actually works" 00:43:29 you know all that engineering is "trivial" 00:43:36 also it's just generally a douchebag way to say "easy" 00:43:39 FreeFull: But if you want to modify other tracker programs for .S3M format or whatever, to allow formula to be entered instead of load a file, you can try to do that. 00:43:44 Well writing a bytebeat thing is trivial in any language 00:43:50 `quote trivial 00:43:52 144) It's like mathematicians, where the next step up from "trivial" is "open research question". "Nope... No...This problem can't be done AT ALL. This one--maybe, but only with two yaks and a sherpa. ..." \ 173) So it's not exactly trivial. [Later about same thing] It's a trivial C program :P 00:43:58 yeah 00:44:00 zzo38: That sounds too hackish 00:44:03 144 yo ,o/ 00:44:06 I'd prefer a new file format 00:44:23 this bytebeat stuff is cool 00:44:27 In mathematics, often it can't be proven that something can't be done either 00:44:38 FreeFull: Is Csound format OK? 00:44:52 Data.Bits pretty much would do most of the stuff for you 00:45:08 zzo38: Does CSound do bitwise operators? 00:45:16 -!- sebbu has quit (Read error: Connection reset by peer). 00:45:21 FreeFull: Yes, actually it does. 00:45:22 it reminds me of crystal castles 00:45:44 -!- sebbu has joined. 00:45:58 Nevertheless you have to deal with difference of k-rate and a-rate and so on, but many operators work on a-rate, and you can use UDO to change the k-rate to the same as the a-rate if you need to. 00:46:19 It'd be neat to make a parser built into a little hardware thing also takes various audio inputs as extra variables. 00:46:19 So I could do something like t & (t >> 3) and have it output something? 00:46:32 Though I guess I wouldn't really use such a thing much. 00:46:46 MDude: Someone made a parser that consists of a tiny chip, a battery and an audio jack 00:46:48 Well writing a bytebeat thing is trivial in any language <-- sez you, arithmetic overflow isn't even defined to do that in C, is it? 00:46:49 That's it 00:46:52 -!- augur has joined. 00:46:59 Bike: I said most 00:47:10 FreeFull: It is not quite that simple, and the syntax is not the same as C, but basically I think it would work. 00:47:34 And if you use 16/32 bit ints in C, you can just cut off the top bits with &255 every time 00:47:45 -!- augur has quit (Remote host closed the connection). 00:48:04 Bike: I'm not implementing a bytebeat interpreter in brainfuck 00:48:08 In order to make it allow to do by a single command, and using the C format, might be possible to make a plugin with such feature. 00:48:13 Hell, I'm not implementing anything in brainfuck. Screw that 00:48:31 That's kind of the idea, though. 00:48:44 would be nice to implement some of these using discrete logic chips 00:48:48 BF is pretty easy to write in compared to many esolangs 00:48:53 Csound plugins can be written in a few different programming languages: C, C++, Lua, Python, and Csound. 00:49:31 ais523: I'm not going to write in those either 00:50:10 hmm 00:50:19 this seems like a decided lack of ambition for this channel 00:50:23 I wrote a BF interp in Unlambda once 00:50:26 * FreeFull checks out stuff people have done with bytebeat while he wasn't looking at it 00:50:27 err, not BF 00:50:28 P'' 00:50:58 was aiming low 00:51:12 FreeFull: I have a Csound plugin license under LGPL, so if you have a C code compatible with that, I will make it into an additional command in this Csound plugin. 00:53:01 Probably wouldn't be compatible 00:54:47 What programming language did you write a rpn parser? 00:55:41 C 00:56:08 It might work. 00:56:14 But it's basically one big switch statement with some strcmp mixed in 00:56:26 And an array for a stack 00:56:33 If I see what you have then I might be able to work it. 00:56:45 I don't think it would be worth it 00:58:34 * kmc watches some demoscene videos 00:59:06 i was going to say that the complexity of a demo grows exponentially with size, but it's not so much "exponential" as "faster than any computable function" 00:59:27 heh 01:00:00 it's funny because it's true 01:00:28 yep 01:00:40 -!- augur has joined. 01:01:30 `addquote i was going to say that the complexity of a demo grows exponentially with size, but it's not so much "exponential" as "faster than any computable function" 01:01:33 867) i was going to say that the complexity of a demo grows exponentially with size, but it's not so much "exponential" as "faster than any computable function" 01:01:38 'faster than any computable' function is one of those things that still completely blows my mind 01:01:58 Phantom_Hoover: busy beaver grows like that, doesn't it? 01:02:23 that's the joke 01:03:34 -!- augur has quit (Remote host closed the connection). 01:04:23 Ackermann complexity whee 01:04:46 (that one *is* computable actually) 01:05:48 Hmm, wait a minute. I was going to say something about a function using !x, but apparently various calculator thigns aren't parsing ! like I thought they would. 01:05:50 the ones that are weird for me are the ones that grow slower than any computable (monotonically increasing) function 01:06:16 MDude: do you mean x! ? 01:06:22 Probably. 01:06:43 factorial is slow compared to ackermann, which is slow compared to bb/goodstein/whatever. 01:06:46 Bike, hmm, like... 1-1/f(x) where f is supercomputable? 01:07:10 yeah, that works 01:07:54 Bike: wow, I hadn't realised such a function could exist until now 01:08:04 fuck you 01:08:05 Phantom_Hoover: the one I know is the function creeping up on kolmogorov complexity from underneath (f(x) = min{C(a) such that a >= x}) 01:08:08 Yeah, you what about factorialing a number a number of times equal to its factorial? 01:08:14 I'm going full constructivist and forgetting anything uncomputable even exists 01:08:16 MDude: nope 01:08:22 elliott: was my reaction as well 01:08:25 MDude: that's obviously computable 01:08:42 it's primitive recursive, in fact 01:08:48 j = n; for (i = 0; i < fact(n); i++) j = fact(j); 01:08:50 weak! 01:08:54 do non-primitive-recursive total functions exist? 01:08:56 I guess they do 01:08:58 yes 01:09:00 tons of them 01:09:04 I mean, that can't be emulated by primitive recursive 01:09:08 oh, ackermann? 01:09:16 that is the point of ackermann, isn't it...? 01:09:17 ais523: whether a function is primitive recursive is decidable 01:09:20 yes 01:09:20 whether a function is total is not 01:09:25 not very difficult :P 01:09:32 I was htinking mroe of comparing it to demo complexity, but I suppose that was already considered. 01:09:32 oh, I like that proof 01:09:52 ais523: if you could write all total functions primitive recursively, you wouldn't have any need for Turing-complete languages 01:10:01 because you'd have a language you can check, and that represents all programs that matter 01:10:05 and we'd live in a bugless fairy utopia! 01:10:23 yep, Ackermann is total but not primitive recursive 01:10:33 elliott: right 01:10:44 Anarchy is going to be total except where marked otherwise 01:10:54 or more specifically, the compiler will try to prove totality and give a warning if it can't 01:11:08 warning or error? :o) 01:11:12 basically, because most algos you'd actually want to write in it are easy to prove total 01:11:21 GreyKnight: warning, that would be a stupid way to make a language sub-TC 01:12:07 I've been writing C++ all week so I was starting to believe pointlessly exasperating errors were a normal language feature, my bad 01:12:51 ais523: so it's going to be partial 01:12:55 and you have a compiler that gives warnings 01:13:03 your stated property has zip to do with the language 01:13:17 elliott: yes 01:13:28 well, unless you use -Werror 01:13:48 GreyKnight: They are to C++, if you use templates 01:15:41 yeah C++ error messages are usually pretty awful 01:15:44 depends a lot on compiler though 01:15:51 try clang++ and recent GCC 01:16:19 Hah. In my dreams 01:16:33 dammit 01:16:39 i've started writing those bytebeat things again 01:16:45 (t*(t>>8))*!((t>>2)%8) 01:17:00 it's a nigh-unmaintainable mess that only compiles in Borland 4, which is from like 1990+something 01:17:09 ouch. 01:17:13 Make a bytebeat thing, fungot. 01:17:14 MDude: a moot court t._v. laughter unless you had cable or something about religious or not but i i just 01:17:20 randomly generating them would be cool 01:17:28 and filtering out the ones that generate really boring stuff like silence or just one tone or whatever 01:17:31 ._v., is that an arrowhead striking from above 01:17:34 ouch 01:17:37 ( http://wurstcaptures.untergrund.net/music/ ) 01:17:41 C++ sucked extra hard back in 1990+something 01:17:50 hah replacing that first t with sin(t) makes it significantly more dissonant 01:18:32 i'm surprised that bytebeat hasn't shown up in ioccc more 01:18:42 I tried just shoving randomly generated characters into IBNIZ, but it dind't tend to do much interesting. 01:19:09 ibniz is great 01:19:11 i did much the same 01:19:16 the js/c stuff is more accessible though 01:19:29 ioccc entry: an implementation of RV 425 without using multiplication 01:19:35 There is no byte sequence that is an invalid ibniz program :D 01:19:45 Most bytes get ignored though 01:20:08 There's stuff that tries to pull from an empty stack, though. 01:20:20 Or push on too much and do nothing with it. 01:21:02 elliott: Rather than %8 do &7 01:21:25 -!- GreyKnight has quit (Ping timeout: 265 seconds). 01:21:58 (t*(t>>8))*!((t>>2)%1) produces more manic but visually pleasing results 01:22:19 `quote 708 01:22:20 708) has there been any work towards designing programming languages specifically for stoned people 01:22:50 `pastequotes ais523 01:22:54 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.31198 01:23:19 -!- GreyKnight has joined. 01:24:01 interesting.. has anybody here prorgrammed with chromes webKitAudioContext? 01:24:20 (t*(t>>7))*!((t>>2)%8) on left channel and (t*(t>>8))*!((t>>2)%7) on right 01:24:26 ∃ fungot | http://codu.org/logs/_esoteric/ 01:24:26 GreyKnight: oh my gosh that gives you noise goose bumps laughter laughter sigh that's cool noise 01:24:32 -!- GreyKnight has set topic: ∃ fungot | http://codu.org/logs/_esoteric/. 01:24:37 oh yes, commands are a thing 01:24:45 :v 01:25:05 What? 01:25:09 MDude: cool 01:25:29 MDude: that but with (sin(t)*(t>>8))*!((t>>2)%7) on the right is cool too 01:26:08 elliott: btw, we recently discovered that all the game-semantic models of concurrent Algol were broken 01:26:15 not in the sense of being /wrong/ 01:26:21 just in the sense of not modelling anything useful 01:26:27 they need a psychic scheduler to work correctly 01:27:07 the only implementation I could think of was to, every time multiple threads were trying to perform actions simultaneously, fork off a new scheduler for each possible method of rearranging the order in which the threads act 01:27:18 with each scheduler having its own copies of the threads 01:27:31 ais523: heh 01:27:42 needless to say, this is not very practical 01:27:45 200*sin(t*"herp derp durrrr".charCodeAt((t/1000)%16)) 01:27:56 we're trying to do a hard-realtime total concurrent version of Algol 01:28:04 havascript the new punkrock: http://bit.ly/WGzVHo 01:28:04 this involves proving the absence of deadlocks, which is awkward 01:29:47 I have a new plan for the finite case (i.e. no flow control at all) 01:29:53 but it doesn't generalise 01:30:35 -!- carado has quit (Ping timeout: 246 seconds). 01:30:42 (t>>4)*(sin(t)%32) yikes 01:31:05 err, is that an integer %? 01:31:08 if so, always 0 01:31:30 except when it's 1 or -1, which requires luck with floating point rounding 01:31:36 or, well, 1 or -1 times t>>4 01:31:38 it's javascript 01:31:40 who the hell knows 01:31:47 http://wurstcaptures.untergrund.net/music/ to see what it actually results in 01:32:05 `quote 726 01:32:05 if it's a floating %, it's a no-op 01:32:10 726) bleh, why doesn't tab-complete work in mkdir for the name of the new directory 01:32:12 unless it has weird behviour on negative numbers 01:32:32 IIRC it behaved differently 01:32:40 I think it might be doing something weird to the floating point rep 01:33:34 ais523: what was the context of 694? 01:33:41 `quote 694 01:33:48 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 01:33:53 GreyKnight: I can't remember 01:33:57 but it probably wasn't interesting, given the quote 01:34:01 THis doens't sound that nice, but made some neat shapes: (t>>4)/(t>>5)*t%(Math.sqrt(t)*10) 01:34:13 haha, try (t>>3)*cos(t) in 44.1 khz 01:34:27 or 8k for that matter 01:35:03 MDude: that's cool 01:35:16 JS has a floating % 01:35:22 all numbers in JS are floats 01:35:24 And I don't appreciate "who the hell knows", JS is a beautiful language 01:35:25 but yes 01:35:26 it is cool 01:35:37 kmc: Then again it also has bitwise ops, which operate on integers :P 01:35:42 yeah 01:35:47 does it truncate them first? 01:35:52 Lumpio-: if you think JS is a beautiful language then I have no idea what to say to you 01:35:53 Lumpio-: JS scoping 01:35:55 oh I do actually 01:35:56 yes 01:35:58 Gregor: hey 01:36:05 Gregor: is JS a beautiful language 01:36:10 ais523: What's wrong with it? 01:36:18 apparently the designers of JS only implemented those scoping rules because they were fast to implement and they were in a hurry to get it out 01:36:26 global by default is bad 01:36:31 >2012 01:36:32 and what's wrong with it is that I had to add a bunch of extra lambdas to my code for no obvious reason 01:36:34 >doesn't even "use strict" 01:36:43 >a person 01:36:45 >talks like this 01:36:47 but if you use 'var' consistently then you do have lexical scoping which is more than a lot of languages manage 01:36:49 or, more precisely, that there's no such thing as block-local variables 01:36:54 >annoys everyone around them by their really fucking stupid method of communication 01:37:01 You're lucky it didn't look >like this 01:37:04 >turns every statement into condescending nonsense 01:37:04 -also I'll start talking like this if you keep prefixing lines with greater-than signs- 01:37:12 -kmc: you don't, you have function scoping- 01:37:21 you have lexical scoping of functions 01:37:26 kmc: "use strict" turns what would make a "global by default" into an error 01:37:26 -yeah but they don't nest- 01:37:29 functions do 01:37:31 -!- carado has joined. 01:37:44 -yes but that means you need to add a bunch of junk lambdas to your code for no good reason- 01:37:45 If you want {} scoping, use let 01:37:51 -and if you don't you just get hard-to-debug errors- 01:37:52 "JS is such a cool language that you have to arbitrarily forbid large swathes of its semantics for it to not have horrific problems" 01:37:57 truly amazing 01:38:00 ais523: yeah 01:38:03 it's not great 01:38:05 are we doing language wars again 01:38:08 I lost hours to that 01:38:10 but it's better than a lot of languages manage 01:38:10 all day every day 01:38:15 depressingly enough 01:38:18 most languages do not screw up lexical scoping 01:38:19 ais523: So you're essentially saying you don't understand lambdas 01:38:24 lol 01:38:25 Hope you never find a Lisp derivative 01:38:26 ugh 01:38:27 wow 01:38:28 Lumpio-: I do understand lambdas 01:38:32 lol. 01:38:32 please go away 01:38:36 I work with them 01:38:38 Lumpio-: "for" and "if" and such don't create scopes in JS 01:38:39 I'm not sure /you/ do, though 01:38:41 you are a condescending idiot who assumes the worst in people apparently 01:38:45 kmc: They do if you stick to "let" 01:38:49 with a major dunning-kruger complex 01:38:54 i don't consider this a big deal but yeah basically what elliott said 01:39:14 is "let" widely supported? 01:39:27 i think the major browsers support it 01:39:30 (this might exclude IE) 01:39:52 ais523: BTW is your Algol thing above the same project as: 01:39:55 `quote 244 01:39:57 244) gah, who'd have thought removing concurrency from algol could be so difficult 01:40:12 ais523 has been compiling idealised concurrent algol to hardware since the beginning of time 01:40:13 i wouldn't call JS beautiful, but it is better than one would expect from the historical story of how it came about 01:40:20 GreyKnight: yes 01:40:22 and is currently anticipated to never finish performing this task 01:40:31 elliott: nah, we can manage that already 01:40:34 we're trying to optimize it now 01:40:54 kmc: I'd expect better of a language whose origin story is "guy has to make a sort-of-C-like language in N days, tries to make it as much like Scheme" as possible 01:41:03 since generally someone who knows Scheme wouldn't get things like basic scoping wrong 01:41:09 er *Scheme as possible" 01:41:15 elliott: he knew it was wrong at the time 01:41:20 just he was too rushed to do it properly 01:41:25 He tries to scheme as much as possible, got it. 01:41:29 "// TODO: we'll fix this later" 01:41:32 i don't think it's that broken 01:41:49 but whatever 01:41:56 he understood lexical scope well enough to write lexical scope that didn't nest, rather than dynamic scope that did (which is just about as easy) 01:41:58 MDude: turning your example into (t>>4)/(t>>5)*t%(Math.sqrt(t)*100) gives fun results at the start 01:42:02 it does nest 01:42:03 I found a comment to that^ effect in some code the other week. It'd been there for about 4 or 5 years 01:42:14 it's just that not all of the constructs you have arbitrarily decided look like they should create scopes do 01:42:48 well if you're using C-like braces for grouping, you expect them to scope in a C-like way 01:42:55 tbh restricting scopes to just functions is pretty ridiculous 01:43:08 especially since all these constructs look visually identical but do not create new scopes 01:43:19 Which C 01:43:19 anyway it's an enormous stroke of luck that javascript was designed by someone who at all understood scoping, or basic functional programming 01:43:26 Didn't old C pretty much only do function scoping 01:43:31 "All variables at the top or else" 01:43:32 the problem with curly-brace languages is how they all look the same but actually aren't :-) 01:43:38 more often than not, these languages end up desigend by people with an irrational fear and misunderstanding of very simple things 01:43:41 see: python 01:43:59 GreyKnight: what, you're saying there's more to a programming language than what kind of punctuation it uses?!?!? 01:44:09 `quote except python 01:44:10 No output. 01:44:12 hmm 01:44:13 Shocking I know! 01:44:17 `quote python 01:44:21 158) syntax is the least important part of a programming language other than Python \ 422) Vorpal: Won't be slower than Python ;-) elliott_, yeah but that is like saying a T-Ford going down a hill won't be slower than a bicycle uphill on a bumpy road :P 01:44:31 kmc: 158 is what I was looking for 01:44:37 heh 01:44:38 MDude: and ((t-10)>>4)/(t>>5)*t%(Math.sqrt(t>>10)*1000) sounds kind of cool 01:44:40 the `quote search should check synonyms obviously 01:45:06 No, I think it shouldn't check synonyms. 01:45:08 i only have one major complaint with Python syntax, but it's a pretty big one 01:45:13 zzo38: joke 01:45:26 kmc: I lost my first Python program because the whitespace got mangled somehow 01:45:32 hmm, if you have t progressing from 0 to infinity, you can get 0, 1, 2, 3, 0, 1, 2, 3 by t%4 01:45:41 is there a nice short way of getting 0, 1, 2, 3, 2, 1, 0, 1, 2, 3, 2, 1, 0, ... 01:45:48 (t>>3)*cos(t) <-- that was the best one for now.. just need to get it less noissy 01:45:51 0, 1, 2, 3, 3, 2, 1, 0, 0, 1, 2, 3, 3, 2, 1 is fine too 01:45:58 zzo38: BTW you might like this: http://comments.gmane.org/gmane.network.gopher.general/4481 01:46:23 really horrorshow 01:47:00 Since it's obviously the square root that slows things donw, I tried (t>>4)/(t>>5)*t%(Math.sqrt(t%100000)*100) 01:47:13 GreyKnight: Domain name I have is OK 01:47:31 And also messed around with the size of the number after t%. 01:47:45 The broken thing about JavaScript's scoping is that {} doesn't create a new scope? 01:48:00 that is the claim, yes 01:48:06 thanks guys you suck 01:48:23 MDude: haha when that exploded half-way through was a nice surprise 01:48:51 hm, triangle wave with arithmetic, i dunno... 01:48:52 but zzo38.gopher would be a cool alternate name B-) 01:49:11 it's not zzo38, it's his computer 01:49:14 I also dislike the way they make up TLDs like that. 01:49:17 gotta be zzo38computer 01:49:35 And I have services on at least two other protocols, and may add more additionally, later on, too. 01:50:36 Oh, hm, maybe you could do that by fucking with two's complement. 01:50:41 well, ICANN are making up TLDs as well now, so. Except selling them for £bignum 01:50:52 no... no i don't think that would work 01:51:14 I don't like ICANN's making up TLDs either 01:51:29 maybe we should just scrap DNS and start over :-/ 01:51:30 it's all gone a bit silly 01:51:58 wait for ipv6 to be adopted, give everyone and their mother a stable ip, all problems solved forever 01:51:59 shachaf: my laptop left Japan this morning (boston time) and is supposed to arrive at my door tomorrow 01:52:01 But I have DHCP so maybe the address might change 01:52:21 e.g. the company Johnson & Johnson put in to own ".baby". Even if we take as read that this TLD should exist, why should they be the ones to own it? 01:52:21 (t>>6|t|t>>(t>>16))*10+((t>>11)&7) 01:52:38 kmc: That's pretty fast. 01:52:40 yeah 01:52:43 well you might as ask why ICANN should own everything 01:52:48 (Is your door in Boston? Some people have lots of doors.) 01:52:48 and the answer is because they were there first 01:52:53 just like Johnson & Johnson 01:52:54 well 01:52:55 shachaf: timezoneconverter.com has the worst UI 01:52:56 there first with money 01:53:04 i wonder if the top google hit for "time zone converter" will ever be not that :( 01:53:08 kmc: google "time in $timezone" 01:53:13 Bike: related: http://xkcd.com/865/ 01:53:15 and stuff 01:53:22 "3 am utc in pdt" etc. works iirc 01:53:22 useful but i do want to convert times that aren't now 01:53:25 oh cool 01:53:27 elliott: That only works for right now. 01:53:30 Oh. 01:53:39 ok it doesn't actually work 01:53:41 Doesn't work here. 01:53:41 but istr a way to do it 01:53:56 hagb4rd: i like that one 01:54:03 wait wasn't this in one of the videos, it sounds familiar 01:54:13 yup 01:54:21 it left Anchorage, Alaska like an hour ago 01:54:21 kmc: wolframalpha can do it anyway 01:54:34 ok 01:55:28 elliott: What about 0,1,2,3,3,2,1,0,1,2,3,3,2,1,0,1 01:55:32 It is why I wanted to make up the new international network, perhaps called "HyperNet" which is 100% decentralized, and gets rid of stupid stuff like HTML/CSS/JavaScript/HTTP/PDF/StupidStuff/etc/etc/etc/etc too. 01:55:44 shachaf: that works too 01:55:49 zzo38: what would it use instead? 01:55:53 zzo38: but StupidStuff is my favourite technology 01:56:10 abs(((x + 3) % 7 - 3) % 4)? 01:56:15 Hmm, that's too complicated. 01:56:16 ais523: Just plain ASCII text (or, if not English, using their encoding) 01:56:51 zzo38: why not UTF-8? 01:56:57 that way you wouldn't have to guess the encoding 01:57:53 ais523: Well, you can use UTF-8 if you want, or whatever 01:57:53 -!- GreyKnight has quit (Ping timeout: 256 seconds). 01:57:54 shachaf: that sort of works but is a bit inconvenient 01:58:01 -!- GreyKnight has joined. 01:58:05 elliott: SORRY 01:58:09 "tough" 01:59:02 elliott: abs(x % 8 - 3) almost works 01:59:13 that's 3 2 1 0 1 2 3 4 3 2 1 0… 01:59:36 It is probably much slower than internet, although, this also is advantage which allows working over nearly any physical systems, and prevents the government or whoever from spying on you or deleting things, and also with a lot more security must be included in the system, to allow updates similar to wiki or in other ways. 01:59:39 or abs(x % 6 - 2) is 2 1 0 1 2 3 2 1 0 1 2 3 2 1 0… 01:59:51 abs(((x+3) % 7) - 3) 01:59:58 Not sure what the point of the % 4 was. 02:00:08 ais523: that's good enough 02:00:26 yes, it's not what you asked for, but I thought it might be what you wanted 02:00:48 What's this for? 02:00:53 I think ais523 has inside information. 02:01:09 The standard encoding is considered ASCII rather than UTF-8, not only because Unicode is too complicated, but also to avoid homograph attacks and stuff like that. Nevertheless, you can use whatever encoding you need for the file you are posting. 02:01:15 Also ais523's thing is obviously a derivative work. 02:01:22 ais523: hmm, where is the 8 even coming from? 02:01:23 oh, duh 02:01:24 ais523 the mindreader 02:01:35 cycle length 02:01:47 right 02:01:53 so it is abs(x % k*2 - (k-1)) 02:02:00 I had a % 7 already. 02:02:04 > iterate (\x -> (abs (x % 6 - 2))) 02:02:05 Not in scope: `%' 02:02:05 Perhaps you meant `R.%' (imported from Data.Ratio) 02:02:14 shachaf: now I'm trying to figure out which UPS flights my package will be on 02:02:15 > iterate (\x -> (abs (x `mod` 6 - 2))) 02:02:16 No instance for (GHC.Show.Show (a0 -> [a0])) 02:02:16 arising from a use of `M629... 02:02:18 looking at flightaware.com 02:02:36 > iterate (\x -> (abs (x `mod` 6 - 2))) 0 02:02:37 [0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,... 02:02:38 kmc: Doesn't a laptop have a built-in UPS? 02:02:46 -_- 02:02:52 Oh wait 02:02:55 What am I doing 02:03:12 > map (\x -> (abs (x `mod` 6 - 2))) [0..] 02:03:14 [2,1,0,1,2,3,2,1,0,1,2,3,2,1,0,1,2,3,2,1,0,1,2,3,2,1,0,1,2,3,2,1,0,1,2,3,2,... 02:03:34 > map (\x -> (abs (x `mod` 12 - 4))) [0..] 02:03:36 [4,3,2,1,0,1,2,3,4,5,6,7,4,3,2,1,0,1,2,3,4,5,6,7,4,3,2,1,0,1,2,3,4,5,6,7,4,... 02:03:48 > map (\x -> (abs (x `mod` 12 - 2))) [0..] 02:03:50 [2,1,0,1,2,3,4,5,6,7,8,9,2,1,0,1,2,3,4,5,6,7,8,9,2,1,0,1,2,3,4,5,6,7,8,9,2,... 02:03:56 Hmm 02:04:07 > map (\x -> (abs (x `mod` 12 - 5))) [0..] 02:04:08 [5,4,3,2,1,0,1,2,3,4,5,6,5,4,3,2,1,0,1,2,3,4,5,6,5,4,3,2,1,0,1,2,3,4,5,6,5,... 02:04:18 In order to make decentralized 100% one of my ideas is that duplicate addresses are allowed, addresses can change as often as you want, needs no relevance to physical locations or hardware, and can be considered as coordinates in an infinite-dimensional space. 02:05:37 (t>>8|t|t>>(t>>6))*6+((t>>4)&7) 02:06:02 GreyKnight: tbh i don't think central addressing is the way forward for worldeating nanobots 02:06:04 zzo38: and how will routing work? 02:06:40 I was considering making a system where adresses are actually relative, though it was more an alternative to usb than to the internet. 02:07:03 kmc: There is no routing; that is why it is so slow. 02:07:18 well 02:07:23 you are more honest than most protocol designers 02:07:29 haha. 02:07:46 this sounds like a pretty esoteric network 02:08:00 -!- GreyKnight has quit (Ping timeout: 264 seconds). 02:08:08 do you require that each address has only finitely many nonzero coordinates? 02:08:09 do the packets just kind of meander around until they arrive at their destination by happenstance? 02:08:18 With relative addressing, how it works is that for each routher/switch whatever, you ahve a part of the adress that says what physical connection to forward the signal through. 02:08:29 ais523: Yes, it would have to; but there is no limit. 02:08:31 -!- GreyKnight has joined. 02:08:40 To like for one that has three connections you jsut have a bit that says to turn either right or left. 02:09:00 this sounds like a pretty esoteric network <-- "perfect" 02:09:13 `welcome zzo38 02:09:16 zzo38: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 02:09:17 MDude: didn't telephones used to work like that? 02:09:22 each digit in the number was parsed by a different switch 02:09:33 and told it which other switch to connect to 02:09:39 `run sed -i 's/ and deployment//' wisdom/welcome 02:09:41 Possibly. 02:09:43 i thought telephones used to work by asking an operator to figure it out for you 02:09:43 No output. 02:09:50 Bike: that was even earlier 02:09:59 kmc: Kind of. You can know which address is closer to the target. Also, you might not need a target if you have an old copy of the data (which anyone might archive, even if they don't know what it is), and if you have the key you can decrypt it. So, it can be meant for everyone with the key, rather than only one target. 02:09:59 `welcome shachaf 02:10:02 shachaf: Welcome to the international hub for esoteric programming language design! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 02:10:16 Though I would try to add packets to that, instead of it needing to be a continuous circuit. 02:10:18 zzo38: do you know about distributed hash tables 02:10:19 also hm, this seems a bit like how i think freenode works 02:10:25 GreyKnight: Thanks, but it's just not the same. 02:10:29 jinx! 02:10:31 And new versions can override old versions, sort of like git or other source code repositories, or similar to a wiki a bit 02:10:43 Bike: freenet, you mean? or something else? 02:10:46 shachaf: yours didn't have deployment for some reason 02:10:50 um. yes. DHTs and all. 02:10:58 oh, you removed it! How dare you 02:12:08 kmc: You should make a distributed content-addressed thing that everyone uses for everything. 02:12:20 hey, have we ever actually deployed an esolang? 02:12:21 hm not only could you implement bytebeat music in discrete logic, you could build a board with the necessary components and have a plugboard to change the way it connects together 02:12:30 I mean, apart from me talking to the Debian packagers about INTERCAL? 02:12:45 What is "deployed"? 02:13:49 free to blame 02:13:57 `welcome 02:13:59 Welcome to the international hub for esoteric programming language design! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 02:14:29 `revert 02:14:32 Done. 02:14:32 needs more deployment 02:14:35 `revert 02:14:38 Done. 02:14:41 `welcome 02:14:42 Welcome to the international hub for esoteric programming language design! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 02:14:55 revert fite 02:15:01 'welcome everybody 02:15:08 ... 02:15:12 backtick dear 02:15:13 ` 02:15:15 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 02:15:20 `welcome everybody 02:15:21 everybody: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 02:15:25 now look what you made me do 02:15:34 Good, that covers all the bases ever. 02:16:03 Oh, and Hackego found out he can't find nothing. 02:16:21 zzo38: I like the idea and you should place a more detailed writeup somewhere 02:16:45 `run touch "" 02:16:47 touch: cannot touch `': No such file or directory 02:17:00 what a shame 02:17:17 Use nothing, not something. If you use something you might get nothing. Anything, really. 02:17:19 MDude: deployment's basically shipping something out to as many people as possible, in the computing world 02:17:37 the other common usage of the term is to do with deploying troops 02:17:39 in fact an unsolved problem is how nothing can weight so little 02:17:42 Bike: weird error message, though 02:17:56 I got the same locally. I wonder what the hell it means. 02:18:25 GreyKnight: Yes I should. Note that everything is encrypted, and that you can use QR codes or ham radio or disks or even over internet whatever; therefore it is unblockable. 02:18:50 well, unless you block ALL of it :-) 02:18:53 You should organize a counter-strike game to be played over ham radio. 02:19:16 solid steel shell around ALL the things 02:19:38 just hit the shells rhythmically to encode vibrations 02:20:43 Use trained elephants, they communicate subsonically. 02:21:09 hmm… wouldn't most radios filter out the encodings of subsonic transmissions? 02:21:11 Wait no. 02:21:14 Infrasonic. 02:21:42 it's definitely possible to transmit them, just there isn't normally any point and it just adds to noise floor 02:21:51 also typical speakers can't produce them anyway 02:23:47 -!- GreyKnight has quit (Ping timeout: 260 seconds). 02:23:47 Also you can't hear it anyway, by definition. 02:24:08 That's why you receive it with naother trained elephant. 02:24:10 *another 02:25:01 unless you're not using amplitude or frequence modulation..how is that infrasonic manipulation realized anyway? 02:25:20 -!- greyooze has joined. 02:25:33 -!- greyooze has changed nick to GreyKnight. 02:25:49 However the elephants normally make them? 02:26:03 That's why you use them instead of having an infrasonic machine. 02:26:10 They already know how to do it. 02:26:15 -!- nooga has quit (Ping timeout: 244 seconds). 02:26:40 i see 02:26:45 Today on #esoteric: elephant-based security exploits 02:28:22 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:32:13 I originally installed [a referer forger] for esolangs.org after that hilarious incident with the spam filter 02:32:15 ? 02:33:43 Having hundreds of Chrome tabs is... not very sustainable. <-- I occasionally use FF's "bookmark all" to just splat all of them into a bookmark directory, then close all the things 02:33:48 GreyKnight: basically graue used to spam-filter things by regexing against the entire HTTP request 02:33:56 at least, that's what we /think/ was happening 02:34:05 someone made a spam page with a spam link in its URL, somehow 02:34:17 and all attempts to edit it were failing because the spam link was part of the referer 02:34:36 awesome. 02:34:43 we figured it out eventually 02:34:49 after we couldn't even get to the main page from the spam page 02:34:57 '_' 02:35:10 now i want to try making pages named after spam websites all over wikia. 02:35:22 Bike: wikia probably doesn't use graue's filter 02:35:23 we don't either 02:35:30 among the other things it filtered were
if you find any old pages on esowiki, they sometimes use bizarre workarounds to this 02:35:49 whatyouneedwhenyouneedit.wikia.com 02:35:49 `addquote Deewiant: um???? You've forgotten axiom 1 of everything: everything sucks 02:35:53 868) Deewiant: um???? You've forgotten axiom 1 of everything: everything sucks 02:36:09 elliott is either a grumpy old man or a 20-year-old 02:36:17 imo 868 02:36:31 or he's just been spending too long using web browsers 02:36:35 shachaf do you know what IMO stands for 02:37:00 International Market Object 02:37:07 GreyKnight: I don't think he's 20 yet, but argumably he's a grumpy old man either 02:37:13 argumably 02:37:25 you are a wordsmitharttist 02:37:30 elliott: I actually caught both typos in that sentence but decided they were too good to remove 02:37:33 especially the first 02:38:00 ais523: btw it wasn't Graue's fault 02:38:03 it was some dumb host thing 02:38:08 oh right 02:38:12 it was Graue's webhost 02:38:15 rather than Graue himself 02:38:21 what's a graue and am i likely to be eaten by it 02:38:22 elliott: do you use IceChat? 02:38:24 this is why me ruling everything is better 02:38:27 GreyKnight: i... no 02:38:42 Hm you are disproving my conjecture 02:38:45 kmc: he runs esoteric.voxelperfect.net 02:38:49 which still exists 02:38:52 it also used to host the wiki 02:39:06 the Alan Dipert added esolangs.org as a redirect to it 02:39:12 and now elliott owns both esolangs.org and the wiki 02:39:27 mmm chorizo fried rice 02:40:23 If I want working Factor I'm going to need to compile it myself aren't I 02:41:07 what the hell are you doing sgeo, it's just a download 02:41:48 Bike, using a version of Linux with a too old something or other for the binary 02:42:15 ./factor: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./factor) 02:42:44 ais523: it's "THE ALAN DIPERT", btw 02:42:52 and I don't own esolangs.org 02:43:02 -!- carado has quit (Ping timeout: 246 seconds). 02:43:07 elliott: in allcaps? 02:43:09 Also, related to Factor but unrelated to my issues: Bike: It just occurred to me today that you could put quotations in the values for throw-restart and then call after that 02:43:19 -!- GreyKnight has quit (Remote host closed the connection). 02:43:23 I think it's funier if you just add the pronoun 02:43:24 Is Factor the new Clojure, sgeo? 02:43:28 shachaf, maybe 02:43:42 Except the lack of a community scares me 02:43:44 sounds inconvenient 02:43:55 shachaf: how long will it be before there's a programming language equivalent of "black is the new black"? 02:44:08 java is the new c++, I think i've heard before 02:44:14 Although the relative lack of libraries scares me 02:44:18 -!- sebbu has quit (Ping timeout: 245 seconds). 02:44:22 Although it does come with plenty of cool stuff 02:44:57 Bike: you have to be able to put the same name on both sides 02:45:04 Wait, a language with a lack of community? 02:45:11 perl is the new perl? i dunno 02:45:12 in order to do this, "X is the new Y" has to become a meme, with variable X and fixed Y 02:45:15 shit is the new shit 02:45:17 or vice versa, but that's less likely 02:45:22 * MDude immediatly starts using it. 02:45:40 you can't force a snowclone. 02:45:41 MDude: lots of esolangs have no community, unless you count this one 02:45:48 some have no community even if you count this one 02:45:52 a language for misanthropes you say! sign me up!!! 02:45:57 ais523: The thing that's going to be fixed here is new, not Y. 02:45:59 you won't find anyone in here willing to program in ESME, for instance 02:45:59 MDude, there's a Factor community, but it's ... small 02:46:01 (GET IT????????) 02:46:11 @google esolang esme 02:46:13 shachaf: gah, now I'm trying to calculate fix new in my head 02:46:13 http://esolangs.org/wiki/Esme 02:46:13 Title: Esme - Esolang 02:46:15 but new has the wrong type 02:46:18 I am disappointed 02:46:27 oh, Esme, sorry, not ESME 02:46:31 nice logo 02:46:42 eliott: http://wurstcaptures.untergrund.net/music/?oneliner=t*5%26(t%3E%3E7)%7Ct*3%26(t*2%3E%3E10)&oneliner2=&t0=0&tmod=0&duration=30&separation=100&rate=8000 02:46:44 Category:Shameful 02:46:49 is this a joke? 02:46:58 oh sorry, a "lol" 02:47:02 Bike: read the talk page too, if you like 02:47:06 we're… not entirely sure 02:47:09 Bike: lulz epic fail 02:47:14 the most charitable explanation is, we think it's performance art 02:47:15 it's sorta canon 02:47:16 * kmc jumps off nearest bridge 02:47:20 hagb4rd: nice 02:47:27 When I first saw it, I was expecting it to be "esme, Mario!" 02:47:36 user:zzo38, you are the wind beneath my wings 02:47:40 reminds me of http://esolangs.org/wiki/Most_ever_Brainfuckiest_Fuck_you_Brain_fucker_Fuck 02:47:42 it fits in quite well as performance art 02:47:42 But I guess that would be Eseme. 02:47:51 kmc: that is oklopol's best language imo 02:47:55 even if it doesn't fit in well as anything else 02:47:58 kmc: beautiful 02:48:14 kmc: I think I started the conversation that lead to that being invented 02:48:55 the idea was to create a language as unlike brainfuck as possible 02:49:24 oh, i kind of figured it was meant to evoke an incredibly complicated way of arriving at a sequence of instructions drawn from 8 possibilities 02:49:35 nope 02:49:42 i'm with kmc 02:49:53 making it a BF derivative would defeat the entire point 02:50:06 also are there any web frameworks yet for Real Fast Nora's Hair Salon 3: Shear Disaster Download 02:50:25 Real Fast Nora's Hair Salon 3: Shear Disaster Download on Rails 02:50:30 I thought the point was satire by making the "brainfuck in a weird encoding" thing seem ridiculous. 02:50:38 cpressey is good at naming languages creatively 02:50:48 zzo38 is a master of playing it straight 02:50:48 shachaf: are you sure 02:51:04 elliott: Yes. 02:51:07 I named a language the sound that's written in IPA as /ˈæmbiːɛf/ in homage to the way he names things 02:51:16 Please don't encourage trolls. 02:51:23 Unless you're keb. 02:51:39 shachaf: do you know what TikZ stands for? 02:51:51 shachaf: also Y fixes its argument, it's not like you can give it to things as an argument and it fixes them 02:51:53 kmc: Not off-hand -- should I? 02:51:55 "TikZ ist kein Zeichenprogramm" 02:52:31 @remember keb solike,.,.,. ,I wana know.,,., with this HASKOR junk,..,., do like functions AUTOMATICALLY get called 4.41 times per second? is that called in MAIN? and where do exicutibles get paused on the chip? PM PLZ 02:52:32 Nice! 02:52:38 Good thing this is #esoteric and not #haskell. 02:53:19 @photontorpedo 02:53:20 troll? 02:53:46 @forget keb solike,.,.,. ,I wana know.,,., with this HASKOR junk,..,., do like functions AUTOMATICALLY get called 4.41 times per second? is that called in MAIN? and where do exicutibles get paused on the chip? PM PLZ 02:53:47 Done. 02:53:48 elliott: what because in #haskell now 20 people would be trying to explain in good natured but entirely useless ways that functions are not automatically called 4.41 times per second? 02:53:55 -!- keb has joined. 02:54:07 ...Oh. 02:54:19 solike,.,.,. ,I wana know.,,., with this HASKOR junk,..,., do like functions AUTOMATICALLY get called 4.41 times per second? is that called in MAIN? and where do exicutibles get paused on the chip? PM PLZ 02:54:25 good to see this backfired on shachaf 02:54:46 elliott: Well, keb fits right in here. 02:54:47 -!- NihilistDandy has joined. 02:54:59 elliott: how did that work? 02:55:06 ais523: I went back in time. 02:55:21 ais523: "X is the new X" means that X is the fixed point of new 02:55:23 quoting someone in lambdabot doesn't normally cause them to join a channel 02:55:28 Well, a fixed point. 02:55:28 shachaf: by the way, if you don't know what the "deployment" in the welcome message is for, you should stop removing it 02:55:28 shachaf: aha, I see 02:55:29 X = New X 02:55:35 `run sed -i 's/implementation/implementation/' wisdom/welcome 02:55:37 No output. 02:55:52 elliott: If you want me to stop removing it, you should tell me what it's for. 02:55:54 elliott: that's a no-op, isn't it? 02:56:03 apparently it is 02:56:09 `run sed -i 's/implementation/deployment/' wisdom/welcome 02:56:11 or is there malicious Unicode in there somewhere? 02:56:12 No output. 02:56:17 shachaf: I think there are easier ways to get you to stop removing it 02:56:33 anyway, I think I've deployed at least two esolangs now 02:56:41 ais523: What does the "deployment" mean in `welcome? 02:56:43 so I'm probably beating the rest of you 02:56:46 shachaf: it means "deployment" 02:56:50 what did you expect it to mean? 02:56:52 ais523: OK, what's it for? 02:57:02 -!- NihilistDandy has quit (Client Quit). 02:57:39 shachaf: have you ever deployed an esolang? 02:57:56 if not, you need more welcoming 02:57:58 shachaf: you just re-removed it in private yet again. please stop misusing HackEgo. 02:58:00 @wn deployment 02:58:01 *** "deployment" wn "WordNet (r) 3.0 (2006)" 02:58:01 deployment 02:58:01 n 1: the distribution of forces in preparation for battle or 02:58:01 work 02:58:01 `revert 02:58:02 this is a waste of time 02:58:04 Done. 02:58:06 `revert 02:58:09 Done. 02:58:18 elliott: Agreed. 02:58:25 change it to "implementation, debate, and deployment" 02:58:49 elliott: see [[Pahana]], copyvio? non-esoteric? 02:58:57 I'd heard of it before the article was written 02:59:20 shachaf: why are you edit warring with elliott? 02:59:54 ais523: Why is elliott edit warring with me? 03:00:00 he's changing it back 03:00:07 to the version it's been for ages 03:00:24 when changing something central like `welcome, it helps to have a good reason for the change 03:00:32 especially when most other people seem to disagree with you 03:00:35 What's the " and deployment" for? 03:00:39 I didn't rearrange Wikipeia's main page on a whim 03:00:41 As far as I can tell only elliott disagrees with me. 03:00:44 there is a reason to assume an action I take with HackEgo is not in bad faith, which doesn't apply for you, since all you do with it is interrupt conversations with passive-aggressive `quotespam and delete stuff 03:00:48 shachaf: I also disagree with you 03:00:48 yawn 03:00:58 Gregor: can we ban shachaf from HackEgo yet? 03:01:05 Gregor: I approve. 03:01:30 shachaf: I don't see why you feel the need to take actions that you think will result in you being kicked/banned from IRC channels/bots/etc. 03:01:37 Isn't that what cheater does? 03:01:50 I don't want to be kicked from this channel? 03:01:54 yeah, I take a similar view of that as I do to people who like getting thrown out of games for breaking the rules 03:01:58 in each case, you want them around 03:02:03 `pastlog .*kick 03:02:05 shachaf: ...have you forgotten the hundred times you've demanded an op of this channel to kick you 03:02:10 2012-10-26.txt:21:30:48: ais523: You should kick me for flooding. 03:02:12 `pastlog .*kick 03:02:19 2012-04-20.txt:05:42:55: oerjan: Kick me while you're at it! 03:02:20 `pastlog .*kick 03:02:27 2012-04-14.txt:19:36:30: «shahcahef foiled myy jkoe :'( - eliot hird kick him - eliottt» - elliott 03:02:27 OK, I don't want to be kicked from this channel anymore. 03:02:43 Maybe I did at the time, but there's a good reason to stay in it now. 03:02:46 shähcähëf 03:02:59 shachaf: which is? 03:03:05 messing with the bot, presumably 03:03:08 sħäħcäħëf 03:03:13 you have a lot of 'h'es in your name, dude 03:03:21 That doesn't seem very pronounceable. 03:03:32 i don't know how to pronounce ħ 03:04:00 but i can't pronounce שכהף either 03:04:07 That's not how my name is pronounced. 03:04:11 It's שחף. 03:04:13 I can't pronounce ë 03:04:22 ok 03:04:25 There's no "k". 03:04:26 at least, apart from the English pronunciation in words like Zoë 03:04:27 google has failed me once again 03:05:11 ais523: isn't that a normal e, just with a diaeresis to indicate that it's not a dipthong 03:05:15 `run cat bin/welcome 03:05:16 ​#!/usr/bin/perl -w \ if (defined($_=shift)) { s/ *$//; s/ +/ @ /g; exec "bin/@", $_ . " ? welcome"; } else { exec "bin/?", "welcome"; } 03:05:17 kmc: yes 03:05:26 ok 03:05:27 hmm 03:05:31 `run cat wisdom/welcome 03:05:32 Welcome to the international hub for esoteric programming language design and implementation! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 03:05:35 `revert 03:05:38 Done. 03:05:41 `run cat wisdom/welcome 03:05:42 Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 03:05:46 there we go 03:05:54 `run ls wisdom 03:05:55 ais523: btw, you appear to have misremembered most brainfuckest [etc.]'s origins 03:05:56 ​? \ ☃ \ 🐐 \ ais523 \ atriq \ augur \ banach-tarski \ boily \ bonvenon \ c \ cakeprophet \ category \ coffee \ comonad \ coppro \ egobot \ elliott \ endofunctor \ england \ esoteric \ europe \ everyone \ finland \ finnish \ finns \ fizzie \ flower \ freefull \ friendship \ functor \ fungot \ gaspacho \ gazpacho \ glogbot \ gregor \ hackego \ 03:05:58 10:41:18: hey duddes how about this language i've been designing the last 4 months where you take brainfuck except well call it brainfuckER and you reverse all the characters, and you have to draw the program in paint? and then there's brainfuckiest where you just say beep boop in a microphone and it's interpreted as a fibonacci code word and then it's multiplied by 7 and then it's interpreted as a brainfuck program except that if you prin 03:06:05 that probably got cut off but it doesn't matter 03:06:15 `? ☃ 03:06:17 ​☃ brrr... 03:06:21 `? � 03:06:23 ​�? ¯\(°_o)/¯ 03:06:32 kmc: you only copied half the character 03:06:42 `? endofunctor 03:06:43 Endofunctors are just endomorphisms in the category of categories. 03:06:45 `run ls wisdom | xz -9 | base64 03:06:47 xz: (stdin): Cannot allocate memory 03:06:48 `? ȫ 03:06:49 ​ȫ? ¯\(°_o)/¯ 03:07:00 ő_ő 03:07:08 Quite. 03:07:24 `? ais523 03:07:25 ais523 is ais523. This topic may retroactively become more informative if or when Feather is invented. 03:07:31 oh right, it's a Feather joke 03:07:38 like those didn't get old years ago 03:07:48 U+022B: LATIN SMALL LETTER O WITH DIAERESIS AND MACRON 03:07:49 why 03:07:51 why why why 03:07:54 (GreyKnight is allowed to make them for another couple of months because he's new) 03:08:13 fungot, please inform me of feather. 03:08:14 MDude: a day and i was telling her that that americans are not patient people we like fast cars and we're like oh if we've gotta save money hey wait a minute y- you know how 03:08:18 kmc: to stop your ō getting merged with a vowel before it, obviously 03:08:26 ohhhhh 03:08:37 today i told some people that ASCII is not sufficient for English 03:08:50 kmc: punk 03:08:56 kmc – it isn't… 03:09:34 also: it lacks the currency symbol of many english speaking countries 03:09:51 also: if scotland becomes independent then there will be another currency union in the EU besides the Euro 03:09:55 that's funny 03:09:59 kmc: it doesn't have £ /or/ € 03:10:05 right 03:10:12 kmc: what did they say 03:10:13 or ¬ 03:10:23 elliott: i guess they agreed with me 03:10:29 What would their currency be called? 03:10:31 not so punk any more 03:10:33 and / or decided to stay quite until the crazy person stopped talking 03:10:38 MDude: they would keep using the UK pound 03:10:42 it is thought 03:10:45 IMO they should adopt the yen 03:10:51 they'd use the Scottish pound 03:10:51 how great a piece of trivia would that be 03:10:55 "did you know Scotland uses the yen?" 03:10:56 there is already a strange arrangement where scottish pounds are printed by private scottish banks 03:11:02 which is IIRC freely interconvertible 1:1 to the UK pound 03:11:12 which are then obliged to hold in reserves of bank of england pounds 03:11:15 yeah 03:11:16 except that many shops won't accept Scottish money because they're worried it'll be fake 03:11:25 i'm worried that scotland is fake 03:11:31 i mean, i've never been there 03:11:40 like, it's easier to forge or something 03:11:45 kmc: it's not very far from Hexham 03:11:51 where all esolangers live 03:11:54 so you should go there 03:11:56 elliott: enjoy your 0% inflation forever 03:12:03 hint: this is not good 03:12:28 kmc: you're an inflation 03:12:38 btw I have been to Scotland and I can confirm it is fake 03:12:40 my economist friends tell me that the japanese central bank has basically been taken over by old people who want their retirement savings to be valuable, and fuck the young people, we'll be dead by then 03:13:26 ais523: is it actually easier to counterfeit or are the shops just dumb 03:13:44 If there's no Scotland, then where are people calling when they call Scotland Yard? 03:13:54 kmc: I suspect it's easier to counterfeit; but more to the point, the shops don't know what it looks like, so they couldn't detect even quite bad fakes 03:13:58 mm 03:14:11 there was that famous incident just after the euro was introduced 03:14:13 like the walmart that accepted a $1,000,000 bill with george w bush's face on it 03:14:22 where some people got a fortune using fake €300 notes 03:14:26 haha 03:14:26 score 03:14:30 (a nonexistent denomination) 03:14:57 kmc: there was also that incident recently where someone tried to cash in a trillion dollars of fake US bonds 03:15:03 and got caught because they'd misspelt "dollar" 03:15:05 hahaha 03:15:18 I'm not sure if they would have been caught anyway or not 03:15:23 I'm guessing yes, but no makes for a funnier story 03:15:26 there were some people caught somewhere in europe with like $10b worth of treasury notes in a suitcase 03:15:34 -!- NihilistDandy has joined. 03:15:42 real ones? or fake? 03:15:46 it's pretty crazy either way 03:15:55 allegedly counterfeit but the conspiracy theory is that they were real and the US convinced Italy or whoever to destroy them quietly 03:16:44 elliott: india is also an english speaking country and their currency symbol isn't in ASCII either 03:16:52 but it's also like 3 years old and looks like star wars money 03:17:36 Make notes that claim to be for negative amounts of money. 03:17:54 Obviously, print it with red ink. 03:18:10 kmc: what does star wars money look like? 03:18:23 MDude: we've had fun adventures with negative quantities of money in NetHack 03:18:29 they're actually practically useful, for their negative weight 03:18:46 http://qdb.rawrnix.com/?648 03:19:00 (a fun thought experiment for anyone who likes absurd arithmetic) 03:19:38 How much did those -2147483604 zorkmids weigh? Usually my character would be dead under the abs of that weight. 03:19:44 http://images4.wikia.nocookie.net/__cb20051201231848/starwars/images/1/13/CreditChip.jpg Star Wars Galactic Standard Credit Chip 03:19:47 Bike: you're nega-rich! 03:20:10 i found suseorc's vault! 03:21:52 i guess it's like the question of whether antimatter is subject to antigravity. which is apparently a serious question. 03:23:33 fucking gravity, how does it work? 03:23:37 Bike: a negative amount 03:23:55 ais523: given nethack i'd expect that to crush me into the dungeon ceiling, killing me 03:23:57 it's quite useful, you can carry basically unlimited amounts of stuff because the gold counterweighs it 03:34:17 -!- MDude has changed nick to MDream. 03:39:03 wtf: http://www.youtube.com/watch?v=tCRPUv8V22o&feature=player_detailpage#t=313s 03:41:06 -!- keb has changed nick to kbbb. 03:47:07 this guy has also an interesting channel: http://www.youtube.com/watch?v=aKMrBaXJvMs&list=UURRqeqAXdCC8GgatzHO3VWA&index=1 04:01:29 -!- monqy has joined. 04:04:21 -!- NihilistDandy has quit (Quit: Computer has gone to sleep.). 04:12:26 -!- kbbb has left. 04:13:01 ais523: oh, re: Pahana, I have no idea 04:13:04 where did you hear of it? 04:13:37 not sure 04:13:46 it may have been a blog 04:18:12 -!- NihilistDandy has joined. 04:20:55 -!- NihilistDandy has quit (Client Quit). 04:49:40 -!- NihilistDandy has joined. 04:51:36 -!- lightquake has changed nick to Guest. 04:51:36 -!- Guest has changed nick to 1JTAAT864. 04:55:42 -!- keb has joined. 05:04:17 -!- oerjan has joined. 05:13:36 -!- WeThePeople has joined. 05:22:27 -!- sebbu has joined. 05:22:59 -!- epicmonkey has joined. 05:37:43 ^asc ⚣ 05:37:44 226. 05:37:48 ^ord ⚣ 05:37:48 226 154 163 05:38:04 argh 05:38:28 why the heck can't google search for a unicode character simply by pasting it :( 05:38:46 oh right, axiom 1 05:39:04 oerjan: Monad axiom 1? 05:40:11 Deewiant: um???? You've forgotten axiom 1 of everything: everything sucks 05:40:37 -!- epicmonkey has quit (Ping timeout: 244 seconds). 05:40:47 approximately 20 lines above that character in the logs 05:41:08 oerjan: Are you suggesting that I logread? 05:41:09 * oerjan found it via fileformat.info 05:41:22 oh no, wouldn't _dream_ of it. 05:41:39 oerjan: You could just search unic.txt... 05:41:56 * oerjan swats shachaf -----### 05:42:19 Oh, you don't have unic.txt 05:42:25 Here's an old Perl program I used to use: 05:42:29 http://slbkbs.org/unic.pl.txt 05:42:46 I think it was originally written by Larry Wall. 05:42:50 shachaf, the point here is i want to find it without having to engage my brain. 05:42:54 Mostly because of that comment. 05:43:03 oerjan: I don't have a brain and I still found it... 05:43:17 okay 05:43:22 ⚠ 05:43:30 /!\ 05:47:20 !bfjoust defend9 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/6f8e08560f66/ais523_defend9.bfjoust 05:47:34 ​Score for ais523_defend9: 16.4 05:47:52 why the resubmit 05:48:07 was wondering how well my good programs from years ago did nowadays 05:48:11 !bfjoust defend7 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/e908fcf1f035/ais523_defend7.bfjoust 05:48:16 ​Score for ais523_defend7: 25.4 05:48:36 defend7 is up there, at least 05:48:49 defend9 is not going to do well in today's world of stupidly large offset clears 05:49:14 haha, it beats /all/ Gregor's programs, apart from the one that's actually jix's 05:49:31 and mostly by pretty large margins too 05:49:33 defend7, that is 05:49:51 also it beats death_to_defence on one polarity, somehow 05:50:16 :( 05:50:25 actually that makes no sense 05:50:36 htf does one of my old defence programs beat death_to_defence? 05:51:09 its a zombie 05:51:11 cant dead a zombie 05:51:13 irl 05:51:26 * ais523 checks on egojsout 05:51:53 oh, haha, death_to_defence falls back to a 4-cycle clear :) 05:52:03 and defend7's lock works on both 2-cycle clears and 4-cycle clears 05:52:28 but not perfectly 05:52:32 wow, it wins by just a few cycles 05:53:31 oh, no 05:53:34 it does have a perfect lock 05:53:47 just it doesn't look like one because it's not an undetectable perfect lock 05:54:54 moral of the story: nested timer clears are hard to get right 05:56:04 stupid theory: modern programs spend so long setting up decoys that they can be beaten by a full-tape clear 05:56:06 * ais523 tests 05:56:58 !bfjoust aggressive_full_tape_clear >+++>---(6)*5(>(+.)*255+)*21 05:57:01 ​Score for ais523_aggressive_full_tape_clear: 6.9 05:57:03 good 05:57:12 I'd have been really worried if that won 05:57:27 !bfjoust aggressive_full_tape_clear >+++>---(6)*5(>[(+.)*255+>])*21 05:57:30 ​Score for ais523_aggressive_full_tape_clear: 16.0 05:57:33 !bfjoust aggressive_full_tape_clear >+++>---(>)*5(>[(+.)*255+>])*21 05:57:35 ​Score for ais523_aggressive_full_tape_clear: 25.3 05:57:38 oh come /on/ 05:57:47 this is, like, the slowest clear loop in existence 05:58:46 actually it does pretty badly 05:58:51 not sure why it's scoring so well 05:59:05 !bfjoust aggressive_full_tape_clear >+++>--->++>--(>)*3(>[(+.)*255+>])*21 05:59:08 ​Score for ais523_aggressive_full_tape_clear: 20.4 05:59:16 !bfjoust aggressive_full_tape_clear (>)*8(>[(+.)*255+>])*21 05:59:19 ​Score for ais523_aggressive_full_tape_clear: 23.4 05:59:29 !bfjoust aggressive_full_tape_clear >>++(>)*6(>[(+.)*255+>])*21 05:59:31 ​Score for ais523_aggressive_full_tape_clear: 21.4 05:59:37 !bfjoust aggressive_full_tape_clear >++(>)*7(>[(+.)*255+>])*21 05:59:40 ​Score for ais523_aggressive_full_tape_clear: 22.7 05:59:43 !bfjoust aggressive_full_tape_clear >++++(>)*7(>[(+.)*255+>])*21 05:59:46 ​Score for ais523_aggressive_full_tape_clear: 28.9 05:59:54 28.9 isn't bad 05:59:56 haha, who's using a size-3 offset clear? :) 06:00:08 apparently, quintopia 06:00:12 either that or it's just typing coincidence 06:00:32 *timing coincidence 06:00:34 but yes 06:00:47 how a program that slow can do that well simply by being 100% immune to decoys 06:00:52 it's like a half-speed turtle 06:01:00 or, well, an offset turtle that offsets the entire range 06:01:23 !bfjoust aggressive_full_tape_clear >++++(>)*7(>[+[--[(+.)*255+>]>]>])*21 06:01:26 ​Score for ais523_aggressive_full_tape_clear: 28.5 06:01:33 !bfjoust aggressive_full_tape_clear >++++(>)*7(>[(+.)*255+>])*21 06:01:35 ​Score for ais523_aggressive_full_tape_clear: 28.9 06:02:08 ooh 06:02:19 (wrong window) 06:02:43 still, that thing making top half of the leaderboard is ridiculous :) 06:03:03 !bfjoust aggressive_full_tape_clear >++++(>)*8(>[(+.)*255+>])*21 06:03:06 ​Score for ais523_aggressive_full_tape_clear: 26.2 06:03:10 !bfjoust aggressive_full_tape_clear >++++(>)*7(>[(+.)*255+>])*21 06:03:13 ​Score for ais523_aggressive_full_tape_clear: 28.9 06:03:23 hmm, I thought that was a program that might benefit from the elliott sacrifice 06:03:26 but apparently not 06:03:39 the elliott is a standard unit of sacrifice measure 06:03:43 it's equivalent to 11.4 goats 06:03:46 !bfjoust aggressive_full_tape_clear >++++(>)*4++++(>)*3(>[(+.)*255+>])*21 06:03:49 ​Score for ais523_aggressive_full_tape_clear: 23.1 06:03:56 !bfjoust aggressive_full_tape_clear >+++++(>)*7(>[(+.)*255+>])*21 06:03:59 ​Score for ais523_aggressive_full_tape_clear: 29.3 06:04:03 !bfjoust aggressive_full_tape_clear >++++++(>)*7(>[(+.)*255+>])*21 06:04:05 ​Score for ais523_aggressive_full_tape_clear: 30.8 06:04:09 !bfjoust aggressive_full_tape_clear >+++++++(>)*7(>[(+.)*255+>])*21 06:04:11 ​Score for ais523_aggressive_full_tape_clear: 30.8 06:04:17 !bfjoust aggressive_full_tape_clear >++++++++(>)*7(>[(+.)*255+>])*21 06:04:20 ​Score for ais523_aggressive_full_tape_clear: 29.3 06:04:23 !bfjoust aggressive_full_tape_clear >++++++(>)*7(>[(+.)*255+>])*21 06:04:26 OK 6 is optimal :) 06:04:26 ​Score for ais523_aggressive_full_tape_clear: 30.8 06:04:31 ais523: you need an optimiser program for this :) 06:04:35 wait, don't you have one? 06:04:37 I do 06:04:47 but it's not very good for optimizing decoy setups 06:05:16 I'm wondering if the strategy even /can/ be tweaked 06:05:26 I guess I could use a smaller offset on the turtle 06:05:37 !bfjoust aggressive_full_tape_clear >++++++(>)*7(>[(+)*64(+.)*127+>])*21 06:05:40 ​Score for ais523_aggressive_full_tape_clear: 30.4 06:05:43 hmm, weird 06:05:52 !bfjoust aggressive_full_tape_clear >++++++(>)*7(>[(+)*32(+.)*191+>])*21 06:05:55 ​Score for ais523_aggressive_full_tape_clear: 33.8 06:05:58 there we go 06:06:09 I guess it's not an aggressive full tape clear any more though 06:06:13 !bfjoust aggressive_full_tape_clear < 06:06:16 ​Score for ais523_aggressive_full_tape_clear: 0.0 06:06:23 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*32(+.)*191+>])*21 06:06:25 ​Score for ais523_very_offset_turtle: 34.0 06:07:47 ais523: why can't it optimise decoy setups? 06:07:51 it should just be (+)*N, right? 06:08:03 it doesn't brute-force, tries to use an evo algo 06:08:16 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191>([(+)*32(+.)*191>])*20](>[(+)*32(+.)*191+>])*20 06:08:19 ​Score for ais523_very_offset_turtle: 33.8 06:08:21 that should be equivalent 06:08:26 apparently I messed up somewhere 06:08:48 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](>[(+)*32(+.)*191+>])*20 06:08:50 ​Score for ais523_very_offset_turtle: 33.8 06:08:57 oh, just the board settling 06:09:23 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*8(-)*50(>)*8(>[(+)*32(+.)*191+>])*20 06:09:26 ​Score for ais523_very_offset_turtle: 32.1 06:09:31 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*8(-)*90(>)*8(>[(+)*32(+.)*191+>])*20 06:09:33 ​Score for ais523_very_offset_turtle: 28.1 06:09:38 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*8(-)*20(>)*8(>[(+)*32(+.)*191+>])*20 06:09:41 ​Score for ais523_very_offset_turtle: 32.9 06:09:47 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*8(>)*8(>[(+)*32(+.)*191+>])*20 06:09:50 ​Score for ais523_very_offset_turtle: 33.8 06:09:54 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*8+(>)*8(>[(+)*32(+.)*191+>])*20 06:09:57 ​Score for ais523_very_offset_turtle: 33.8 06:10:06 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*8(+)*10(>)*8(>[(+)*32(+.)*191+>])*20 06:10:09 ​Score for ais523_very_offset_turtle: 33.8 06:10:12 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*8(+)*20(>)*8(>[(+)*32(+.)*191+>])*20 06:10:15 ​Score for ais523_very_offset_turtle: 32.5 06:10:38 !bfjoust very_offset_turtle >++++++(>)*8[(+)*32(+.)*191+>([(+)*32(+.)*191+>])*20](<)*6++++++>++++++>------(>)*4(>[(+)*32(+.)*191+>])*20 06:10:40 ​Score for ais523_very_offset_turtle: 24.6 06:10:50 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*32(+.)*191+>])*21 06:10:53 ​Score for ais523_very_offset_turtle: 33.8 06:10:54 let's go back to the simple version 06:12:25 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*32(+..)*191+>])*21 06:12:28 ​Score for ais523_very_offset_turtle: 31.1 06:12:29 why do you keep offsetting the pure turtle 06:12:35 *poor 06:12:43 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*32(++.)*191+>])*21 06:12:46 ​Score for ais523_very_offset_turtle: 26.7 06:12:54 hmm, both interesting results there 06:13:02 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*32(+.)*191+>])*21 06:13:04 ​Score for ais523_very_offset_turtle: 33.8 06:13:10 it's either much faster than programs, or much slower 06:13:25 or programs are falling off against it due to it only setting one decoy 06:13:30 !bfjoust very_offset_turtle >++++++(>)*7+(>[(+)*32(+.)*191+>])*21 06:13:32 ​Score for ais523_very_offset_turtle: 28.9 06:13:49 yeah, that's the difference it makes if you change the decoy setup even slightly 06:13:53 thus, the high score is an illusion 06:14:04 or else a sign that people should stop relying on ridiculous decoy setups 06:14:10 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*32(+.)*191+>])*21 06:14:14 ​Score for ais523_very_offset_turtle: 33.8 06:14:28 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*48(+.)*159+>])*21 06:14:30 ​Score for ais523_very_offset_turtle: 33.6 06:14:46 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*40(+.)*175+>])*21 06:14:49 ​Score for ais523_very_offset_turtle: 33.6 06:15:01 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*30(+.)*195+>])*21 06:15:04 ​Score for ais523_very_offset_turtle: 33.8 06:15:56 !bfjoust very_offset_turtle >++++++(>)*7>[(+)*64(+.)*127+>](>[(+)*30(+.)*195+>])*20 06:15:59 ​Score for ais523_very_offset_turtle: 33.3 06:16:07 !bfjoust very_offset_turtle >++++++(>)*7>(>[(+)*30(+.)*195+>])*21 06:16:10 ​Score for ais523_very_offset_turtle: 31.1 06:16:19 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*30(+.)*195+>])*21 06:16:22 ​Score for ais523_very_offset_turtle: 33.8 06:16:31 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*30(+.)*195+>])*21(++-----)*100000 06:16:33 ​Score for ais523_very_offset_turtle: 33.8 06:16:44 heh, the "beat vibration programs on length 30" addition has no effect at all 06:17:34 !bfjoust very_offset_turtle >++++++(>)*7(>[(+)*30(+.)*195+>])*-1 06:17:37 ​Score for ais523_very_offset_turtle: 33.8 06:17:40 I think I prefer the clean version 06:22:42 !bfjoust very_slow_offset_turtle >+++>+++>+++>--->---<(-)*65<(+)*65<(+)*65<(+)*65<(-)*65(>)*8(>[(+)*30(+.)*195+>])*-1 06:22:45 ​Score for ais523_very_slow_offset_turtle: 23.4 06:23:33 you cannot beat vibration, silly 06:24:08 yeah, obviously 06:24:13 !bfjoust very_slow_offset_turtle < 06:24:20 ​Score for ais523_very_slow_offset_turtle: 0.0 06:24:40 and yeah, very_offset_turtle doesn't work against defence unless it's lucky 06:24:47 it's a turtle, after all 06:26:54 !bfjoust 06:26:54 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 06:27:10 ais523: i forget, is bf joust still borken 06:27:11 *broken 06:27:16 whoah what is space hotel 06:27:27 it's not as healthy as it was but is recovering 06:27:35 I've beaten death_to_defence with at least two defence programs now 06:27:52 although there's no fundamental way to beat it, it could be tweaked to beat those at the cost of losing to others 06:27:57 "Gregor_furry_furry_leather_discipline_girls.bfjoust" why did i click 06:27:58 holy shit space hotel is fucking gigantic 06:28:11 Bike: don't worry, it's not porn 06:28:17 Gregor just likes weird names like that 06:28:17 i know 06:28:19 Bike: ais523 is lying, it's porn 06:28:22 hth 06:28:27 what is "hth" 06:28:32 other than some kind of strange laughter 06:28:41 hope this helps 06:28:46 it means "hope this doesn't help" 06:28:48 `pastelogs space_hotel 06:28:51 right ok 06:29:21 oh it's 300 K of brainfuck 06:29:22 No output. 06:29:23 welp 06:30:01 and bondage discipline whatever is ... no 06:30:08 god i hope this isn't porn. 06:30:18 Bike: watching it may be better than trying to read it: http://codu.org/eso/bfjoust/egojsout/ 06:30:26 why is HackEgo not responding... 06:30:35 Bike: (space_hotel is computer-generated) 06:30:44 as are some of Gregor's programs; those ones actually contain the program used to generate them 06:30:48 well, not generated as in evolved or anything 06:30:55 yes yes 06:31:00 I mostly write mine by hand 06:31:07 it's still more than enough brainfuck for one lifetime 06:31:13 I still think we should have a BF Joust oneliner competition 06:31:22 with ties broken by who spent the most time waiting 06:31:27 Bike: it's technically not even brainfuck! 06:31:38 yeah what's with the numbers 06:32:22 run-length encoding 06:32:22 you may find http://esolangs.org/wiki/BF_Joust helpful 06:32:49 and also http://esolangs.org/wiki/BF_Joust_strategies 06:32:49 it's just i mean, corewars is dorky enough, doing it in bf... i don't know if i'm willing to cross that line 06:33:00 which is one of the longest articles on the wiki I think 06:33:00 that "already in five freenode channels" line 06:33:48 ais523: hm, we should feature [[BF Joust strategies]] sometime 06:33:53 even if it isn't technically a language 06:33:54 elliott: oh, definitely 06:34:12 I can't because I wrote most of it 06:34:15 although it's a collaborative effort 06:34:19 ais523: so how does space hotel work 06:34:22 `pastelogs space_hotel 06:34:30 elliott: I'm guessing it's the same as quintopia_a 06:34:33 ais523: right, it is one of the longest articles mainly because you wrote it :) 06:34:45 * elliott thinks ais523 should try constrained writing 06:34:45 in which case it's described on the strategies page 06:34:51 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24532 06:34:53 either that, or it's an evolution of it 06:35:02 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/6d523478892c/quintopia_a.bfjoust 06:35:05 looks very different 06:35:08 hmm, OK 06:35:11 at least, space_hotel is much huger 06:35:26 though the basic structure looks similar 06:35:32 `echo hi 06:35:33 hi 06:35:36 `which pastelogs 06:35:38 ​/hackenv/bin/pastelogs 06:35:42 `run pastelogs friends 06:35:49 one thing that worries me is that deep poke + breadcrumb decoys + offset clear is not a strategy that anyone's figured out how to beat yet 06:35:50 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6010 06:36:11 apart from leviathan, none of the recent hilltoppers are significantly different from that 06:36:38 and the only known way to beat the strategy is to just pull off the same strategy more efficiently 06:36:47 Csound doesn't support looping zero times! 06:37:07 `run pastelogs 'space.hotel' 06:37:35 you could try to lock the clear loop; that's how defend7 beats Gregor's programs 06:37:42 but that itself seems beatable 06:37:48 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.4494 06:38:10 02:58:59: !bfjoust space_hotel http://sprunge.us/hjjg 06:38:10 02:59:11: ​Score for quintopia_space_hotel: 65.3 06:38:10 03:00:22: !bfjoust a < 06:38:10 03:00:25: ​Score for quintopia_a: 0.0 06:38:12 looks like yes 06:38:21 @ask quintopia is the description for quintopia_a on the strategies page up-to-date for space_hotel? 06:38:21 Consider it noted. 06:38:50 -!- FreeFull has quit. 06:39:26 i wonder if you could make an abstract srategy game so complicated that lipograms would start to resemble A Void. because tht's sure what it's looking like 06:39:29 and it's not like you can really attack the existence of breadcrumb decoys 06:39:55 except… hmm 06:40:01 which program should I pick on 06:40:33 oh, hahaha :) 06:40:40 !bfjoust this_somehow_beats_space_hotel >+ 06:40:47 ​Score for ais523_this_somehow_beats_space_hotel: 5.9 06:40:48 wait, no it doens't 06:40:51 only on short tapes 06:40:53 !bfjoust this_somehow_beats_space_hotel < 06:40:54 misread 06:40:56 ​Score for ais523_this_somehow_beats_space_hotel: 0.0 06:41:53 oh, the strategy I was going to use wouldn't work 06:42:06 space_hotel checks its breadcrumbs in the wrong order 06:43:08 yeah, I can't see a way to attack this particular breadcrumb trail strategy 06:43:17 like, exploit the existence of the strategy 06:43:19 but I'll think about it 07:00:51 -!- Nisstyre has quit (Quit: Leaving). 07:02:57 !bfjoust beats_ffspg_perfectly http://sprunge.us/UJOL 07:03:03 ​Score for ais523_beats_ffspg_perfectly: 9.0 07:03:40 Gregor_furry_furry_strapon_pegging_girls.bfjoust vs ais523_beats_ffspg_perfectly.bfjoust <<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<< 42 ais523_beats_ffspg_perfectly.bfjoust wins. 07:04:06 I don't see any way to generalize the technique to beat more than one program, though :( 07:04:54 it also works against space_hotel on very short tapes, for the same reason it works on ffspg 07:05:09 but won't work on longer tapes because it can't exploit pokes that don't leave trails 07:05:34 " oh, i kind of figured it was meant to evoke an incredibly complicated way of arriving at a sequence of instructions drawn from 8 possibilities" 07:05:45 um i'm pretty sure that indeed was the idea. 07:06:25 oklopol: oh, I missed the point then 07:06:32 haha, it beats dreadnought too 07:06:37 ais523: you should write a program that derives a warrior that beats the input warrior 07:06:38 for exactly the same reason it beats ffspg 07:06:46 it doesn't seem obviously uncomputable 07:06:49 elliott: I've had some thoughts about that 07:06:55 but there isn't an obvious way to do it that works in all cases 07:07:07 ais523: well, you can trivially do it, assuming such a program exists 07:07:09 because tape lengths are finite 07:07:34 I guess it could be "hard" in the sense that you could use your (quite tiny) state to write a warrior whose behaviour depends on some very complex computation 07:07:34 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 07:07:49 s.t. it would have to roll that inside out somehow 07:09:45 !bfjoust beats_ffspg_perfectly http://sprunge.us/UhJN 07:09:48 ​Score for ais523_beats_ffspg_perfectly: 6.0 07:10:02 -!- Nisstyre has joined. 07:10:07 oh, miscalc 07:10:11 !bfjoust beats_ffspg_perfectly http://sprunge.us/UJOL 07:10:18 ​Score for ais523_beats_ffspg_perfectly: 9.0 07:10:29 there, it gets a perfect win against two really good warriors 07:14:01 I guess I could use some sort of slow undermine 07:14:28 but that doesn't work either because programs use a forward decoy setup for their breadcrumb filling 07:14:40 -!- ais523 has quit. 07:15:55 > "implementation/implementation" 07:15:56 "implementation/implementation" 07:28:50 `run echo 'Agent "Ïa" Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving.' >wisdom/ais523 07:28:53 No output. 07:28:59 `? ais523 07:29:01 Agent "Ïa" Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. 07:32:18 Is that really true, or are you just fibbing? 07:35:59 well, the middle name may not be _entirely_ correct. 07:42:47 -!- copumpkin has quit (Ping timeout: 265 seconds). 07:43:20 -!- copumpkin has joined. 07:53:30 -!- 1JTAAT864 has changed nick to lightquake. 07:58:09 -!- WeThePeople has quit (Quit: Leaving). 08:03:15 elliott, monqy Fiora ... update about 3 hours ago 08:13:25 -!- sgeo has quit (Read error: Connection reset by peer). 08:14:23 -!- sgeo has joined. 08:15:32 -!- epicmonkey has joined. 08:18:05 [07:15:38] someone, someone, someone else: that thing there [007477] 08:18:11 Are you sure you want me to bring that thing here? 08:18:22 (For the record, it's 10:18 in this time zone now.) 08:23:33 > 0x007477 08:23:35 29815 08:24:21 -!- epicmonkey has quit (Ping timeout: 265 seconds). 08:25:03 -!- Bike has quit (Quit: sleep). 08:37:41 I figured out something about Csound score macros. Macros can expand into comment delimiters, and macro invocations can be nested like $p$r.. and the macro name can include [] expressions 08:37:48 I think it's bit of a shame that even though it's zero-padded, it's not actually an octal number. 08:49:32 -!- aloril has quit (Ping timeout: 255 seconds). 08:50:35 -!- augur has joined. 09:02:11 -!- aloril has joined. 09:05:35 -!- mtve has quit (Ping timeout: 260 seconds). 09:05:56 -!- mtve has joined. 09:23:34 -!- aloril has quit (Ping timeout: 246 seconds). 09:32:36 -!- epicmonkey has joined. 09:36:18 -!- aloril has joined. 09:38:13 -!- zzo38 has quit (Remote host closed the connection). 09:58:35 -!- nooga has joined. 10:50:20 -!- AnotherTest has joined. 10:52:21 Hello 10:52:43 ∃ or ∃! ? 10:53:03 -!- asiekierka has quit (Ping timeout: 245 seconds). 10:53:42 fungot: are you unique? 10:53:43 oerjan: ( ( oh)) i can't really say i've gone into the pentagon the plane you know 10:54:04 -!- asiekierka has joined. 10:54:11 i'm ... not sure we are ready to know 10:55:17 fungot: I should probably keep a closer eye on what you're up to. 10:55:17 fizzie: not be to their benefit i think that um i guess a lot of 11:14:44 elliott, monqy Fiora Ph 11:17:24 "im afaid* so. i think the story is builting romantic tension between us." 11:18:10 Is there an unfungot? 11:18:11 Jafet: it's kind of like you know 11:18:33 What would an unfungot be like? 11:18:34 fizzie: and i don't 11:36:33 -!- sebbu has quit (Ping timeout: 276 seconds). 11:52:08 -!- oerjan has quit (Quit: leaving). 11:56:39 -!- GreyKnight has joined. 11:59:21 So fungot has gone into the Pentagon... And it will "not be to their benefit"... 11:59:21 Hm. 11:59:21 GreyKnight: yeah yeah i yeah i don't have 12:00:21 yeah yeah yeah 12:02:24 -!- Frooxius has joined. 12:03:53 fungot: Are you, in fact, a terrrrorist? 12:03:53 fizzie: well you kind of have a business name or something that i i don't understand 12:04:11 A shady bot. 12:10:37 -!- ogrom has joined. 12:18:14 -!- GreyKnight has quit (Ping timeout: 255 seconds). 12:21:46 -!- ogrom has quit (Quit: begone). 12:24:16 -!- ogrom has joined. 12:33:45 -!- ogrom has quit (Ping timeout: 276 seconds). 12:34:25 -!- ogrom has joined. 12:41:42 -!- sgeo has quit (Ping timeout: 244 seconds). 12:43:35 -!- sgeo has joined. 12:44:04 So, guess what scheme the "hacker genius" at tech club came up with to make brute forcing harder 12:44:18 (against encryption) 12:44:28 -!- nooga has quit (Ping timeout: 256 seconds). 12:44:41 Use several algorithms. Order of algorithms and which algorithms are used are secret similarly to the key 12:45:23 -!- MDream has changed nick to MDude. 12:45:26 I tried to point out that that doesn't help as much as just adding a lot of bits to the key 12:45:44 what does hacker genius mean here 12:46:21 -!- copumpkin has quit (Ping timeout: 244 seconds). 12:46:25 monqy, the person at tech club who apparently works as a penetration tester and thought that parameterized queries are vulnerable to null byte attacks 12:46:29 In PHP 12:46:51 -!- copumpkin has joined. 12:47:06 so he's really not a hacker genius 12:47:06 ok 12:47:10 what's a tech club 12:47:18 Club at school 12:47:39 is it always like this 12:48:44 But I keep getting fascinated by what he says. It's like, when he says something I don't understand fully, he could be completely correct, but he could be wrong, I don't know, but when he talks about stuff I understand, he's just not that great 12:48:59 Although that USB thing that fakes being a keyboard is kind of cool 12:49:13 -!- ogrom has quit (Quit: Left). 12:49:31 ???? 12:49:58 As in, it gets plugged in, it starts typing stuff to open a command prompt and do things on the system 12:51:08 ok 13:03:51 But when he talks about stuff I don't understand, I just find myself being impressed, even though I have no way of being sure that he knows what he's talking about 13:04:40 -!- copumpkin has quit (Ping timeout: 265 seconds). 13:05:11 -!- copumpkin has joined. 13:05:28 -!- hagb4rd has quit (Ping timeout: 244 seconds). 13:05:31 -!- hagb4rd2 has joined. 13:05:44 -!- hagb4rd2 has changed nick to hagb4rd. 13:21:43 -!- GreyKnight has joined. 13:28:32 -!- Taneb has joined. 13:35:30 -!- MDude has quit (Ping timeout: 276 seconds). 13:37:31 elliott: I realised you don't actually break my hypothesis because your nick starts with a lowercase letter 13:37:40 My plan to video game today has a fatal flaw 13:38:35 It is Friday, and it would be socially unacceptable to video game away a Friday evening? 13:38:43 (I understand this be the case in some circles.) 13:38:44 No 13:38:51 I can't find my PS2 controller 13:39:07 Use a PS/2 controller instead. 13:39:21 That will work perfectly well! 13:39:23 Or a serial controller 13:39:34 A serial air traffic controller. 13:42:02 @quote 13:42:02 CodeWeaver says: keep in mind encryption's only as good as how much you trust that the implementors got it right. 13:43:28 as long as the implementors are smarter than me 13:43:28 quintopia: You have 1 new message. '/msg lambdabot @messages' to read it. 13:43:33 oh right that 13:50:18 If environment variables were structured we could store PATH as a list of strings, the way God intended 13:51:04 Maybe I should try scheme shell 13:52:20 Hmm 13:52:26 Would SBurb be a rogue-like? 13:53:00 A Set of Directory Names, you neanderthal 13:53:14 SBurb is a set of directory names!? 13:53:39 What is SBurb, fungot? 13:53:39 Jafet: you need to have 13:54:14 The bot's right, Jafet. 13:54:18 You need to have SBurb 13:54:34 Otherwise you won't survive the meteors 13:58:47 -!- Phantom_Hoover has joined. 13:59:53 fungot: Do you have a copy? 13:59:53 fizzie: no we just passed the ban two weeks ago in the sunday league and they would have they'd be in jail why are you in 14:00:45 fungot: I approve of banning sburb. 14:00:45 Jafet: supplies that we could pay for 14:01:34 -!- boily has joined. 14:04:15 -!- GreyKnight has quit (Ping timeout: 260 seconds). 14:07:40 -!- nortti has joined. 14:10:15 -!- GreyKnight has joined. 14:10:44 Jafet: if it was a set we'd need a way of choosing between identically-named executables 14:11:12 Hmm unless we just run them all with the specified arguments and discard any results that gave an error? 14:13:42 OrderedSet? 14:13:52 Unrelated, but: "These criteria are not rigorous in any real sense (you'd need a formal semantics for Haskell in order to give a proper answer to this question)" 14:13:53 ^ Haskell doesn't have a formal semantics?!?? 14:14:18 Ah, an ordered set works 14:14:22 People didn't want to have formal semantics flamewars 14:14:39 Dry cleaning costs too much 14:14:55 I am totally surprised, Haskell seems like the language most likely to have one defined 14:17:13 Nobody needs one 14:19:06 When has *that* ever stopped people? 14:19:13 The kind of languages where people actually need formal semantics are: C, Java, PHP, ARMv6 14:19:31 (I did not make up those examples) 14:19:55 Do you know how many phd student grants a formal semantics costs 14:19:58 It's not free 14:21:01 PHP has formal semantics?!? 14:21:01 Or wait do you mean "needs" 14:21:28 There's a semantics for a fragment of PHP 14:21:41 They used it to find a language bug 14:21:54 I think it's in icfp 14:24:05 http://www.research.ibm.com/trl/people/mich/pub/200901_popl2009phpsem.pdf 14:24:20 Ok, it was in popl 14:24:22 "close enough" 14:25:05 Can't we just pay some grad students a year's worth of pot noodles? :o) 14:25:07 -!- GreyKnight has quit (Excess Flood). 14:25:39 The cost of the noodles is very small compared to the cost of the phd 14:26:19 -!- GreyKnight has joined. 14:28:22 Jafet: while searching for the paper, I got an Amazon link for "Low Prices on Formal Semantics". Forget the pot noodles, we'll order it online! 14:29:31 Ut-oh, checking "what was that weird angel book on display at the bookstore" wasn't the best idea w.r.t. Amazon recommendations: https://dl.dropbox.com/u/113389132/Misc/20121214-amazon.png 14:38:19 -!- AnotherTest has quit (Quit: Leaving.). 14:59:04 -!- MDude has joined. 15:14:44 -!- epicmonkey has quit (Ping timeout: 252 seconds). 15:22:57 Standard ML famously has a formal semantics 15:23:07 but it's in some book that costs money :( 15:23:20 also mmm pot noodle 15:23:45 maybe i'll have shin ramyun for breakfast 15:24:06 -!- sebbu has joined. 15:24:07 -!- sebbu has quit (Changing host). 15:24:07 -!- sebbu has joined. 15:30:03 -!- marcelino has joined. 15:30:55 * quintopia agrees with kmc 15:54:39 -!- Vorpal_ has joined. 15:55:09 Stop making me hungry 15:57:51 -!- Vorpal has quit (Ping timeout: 276 seconds). 16:05:07 -!- aloril has quit (Ping timeout: 260 seconds). 16:06:31 -!- nooga has joined. 16:16:05 -!- Vorpal_ has quit (Read error: Operation timed out). 16:17:53 -!- aloril has joined. 16:19:28 -!- Vorpal has joined. 16:33:49 -!- AnotherTest has joined. 16:40:10 Currently impossible to build Factor from source 16:40:26 Because the build process downloads a binary image from some server, and that server is down 16:40:37 hilarious 16:40:41 Well, I guess not "impossible", but I don't know how I'd approach it 16:40:52 Other than waiting for it to be fixed 16:45:22 Building from binaries, eh? 16:45:30 @_@ 16:45:43 It's like SBCL 16:46:36 you mean it needs an existing factor compiler? 16:46:37 GreyKnight: not much other choice with a bootstrapping compiler 16:46:38 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 16:47:16 Phantom_Hoover, yes 16:47:23 sgeo, SBCL can use any CL implementation, at least in theory. 16:48:21 -!- sebbu has quit (Ping timeout: 248 seconds). 16:49:02 -!- carado has joined. 16:49:05 I just thought of one feature that Squeak Smalltalk has that the Factor environment doesn't: The ability to, after an arbitrary exception, look around, change things, and continue on. I think that's doable in theory in Factor, but as far as I know the tooling isn't there. 16:49:20 -!- Arc_Koen has joined. 16:49:50 I think one of the big draws of Factor to me is the environment, so... does this mean I should really be playing with Smalltalk? 16:50:22 Good question! 16:50:27 -!- epicmonkey has joined. 16:50:37 (I don't know the answer) 16:50:41 answer: should you??????? 16:50:58 whether playing with clojure or playing with smalltalk, you're just playing with yourself 16:51:48 Clojure has an almost decent sized community. Smalltalk has ... some sort of community, I think. It's really just Factor where I'd be almost alone 16:52:05 making a monads library for clojure is making a monads library for the people 16:53:27 Does lambdabot or hackego have a random-chooser? 16:53:44 yes 16:53:45 `? ngevd 16:53:48 ​#o 16:53:58 @rng clojure smalltalk factor 16:53:58 Maybe you meant: bug msg ping rc run wn 16:54:27 monqy: wat 16:55:08 `? ngevd 16:55:10 ​RQ1T"ue!5*bdPc|>.,Hc##5A~dtMO,ɹ/h)L@T.Ldz 16:55:55 `ls 16:55:57 bin \ canary \ egobot.tar.xz \ foo \ interps \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo \ zalgo.hi \ zalgo.hs \ zalgo.o 16:56:17 double wat 16:56:27 Maybe I can write one for HackEgo 16:56:35 What languages can he manage? 16:56:50 ask Gregor 16:56:55 but a lot of them 16:57:02 they're all brainfuck derivatives though 16:57:04 Well, it's a Linux bot 16:57:08 `ls bin 16:57:09 ​? \ @ \ WELCOME \ 1l \ 2l \ addquote \ adjust \ allquotes \ anonlog \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ boolfuck \ c \ calc \ cintercal \ clcintercal \ cxx \ define \ delquote \ dimensifuck \ etymology \ forget \ forth \ fortune \ frink \ fuck \ glass \ glypho \ google \ haskell \ hatesgeo \ hi \ jous 16:57:10 `python --version 16:57:11 Python 2.7 16:57:13 i see it still has 16:57:16 `perl --version 16:57:18 ​ \ This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi \ (with 56 registered patches, see perl -V for more detail) \ \ Copyright 1987-2009, Larry Wall \ \ Perl may be copied only under the terms of either the Artistic License or the \ GNU General Public License, which may be found in the Perl 5 source kit. \ \ Complete documenta 16:57:20 `gcc --version 16:57:21 gcc (Debian 4.4.5-8) 4.4.5 \ Copyright (C) 2010 Free Software Foundation, Inc. \ This is free software; see the source for copying conditions. There is NO \ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16:57:22 `ls interps 16:57:24 1l \ 2l \ adjust \ axo \ befunge \ bfjoust \ bf_txtgen \ boof \ build.sh \ cfunge \ c-intercal \ clc-intercal \ dimensifuck \ egobch \ egobf \ fukyorbrane \ gcccomp \ gforth_quit \ ghc \ glass \ glypho \ kipple \ lambda \ lazyk \ linguine \ Makefile \ malbolge \ pbrain \ qbf \ rail \ rhotor \ sadol \ sceql \ trigger \ udage01 \ underload \ unlambda 16:57:25 `ghc --version 16:57:26 "more languages" 16:57:29 The Glorious Glasgow Haskell Compilation System, version 7.6.1 16:57:38 monqy: thats not what interps/ is 16:57:41 `lua -v 16:57:45 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: lua: not found 16:57:50 :< 16:57:51 no lua I guess 16:57:51 elliott: i know... 16:58:05 FINE I'll use the occasion to practice my haskell 16:58:05 `ada --version 16:58:07 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ada: not found 16:58:13 no ada compiler? 16:58:16 `java --version 16:58:21 Unrecognized option: --version \ Could not create the Java virtual machine. 16:58:22 It needs a COBOL compiler 16:58:32 some sort of java wrapper at least 16:58:35 elliott: i forget what it is though 16:58:45 `java -version 16:58:49 java version "1.6.0_18" \ OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2) \ OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) 16:58:57 `ghdl --version 16:58:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ghdl: not found 16:59:07 `hatesgeo --version 16:59:08 ​ \ This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi \ (with 56 registered patches, see perl -V for more detail) \ \ Copyright 1987-2009, Larry Wall \ \ Perl may be copied only under the terms of either the Artistic License or the \ GNU General Public License, which may be found in the Perl 5 source kit. \ \ Complete documenta 16:59:09 no VHDL emulator? 16:59:27 `vice 16:59:28 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: vice: not found 16:59:37 `ruby --version 16:59:41 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ruby: not found 16:59:45 no big loss there 16:59:58 `g++ --version 17:00:01 g++ (Debian 4.4.5-8) 4.4.5 \ Copyright (C) 2010 Free Software Foundation, Inc. \ This is free software; see the source for copying conditions. There is NO \ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 17:00:20 Gregor, can we get luarocks on HackEgo? Pretty please? 17:00:24 hm is there a javac though? 17:00:24 GreyKnight, `? ngevd is a link to /dev/urandom, if nobody explained that. 17:00:25 `javac --version 17:00:30 javac: invalid flag: --version \ Usage: javac \ use -help for a list of possible options 17:00:30 `ls -l wis 17:00:33 ls: invalid option -- ' ' \ Try `ls --help' for more information. 17:00:35 `javac -version 17:00:40 javac 1.6.0_18 17:00:42 Phantom_Hoover: they didn't, thanks 17:00:59 `runls -l wis 17:01:00 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: runls: not found 17:01:02 `run ls -l wis 17:01:04 ls: cannot access wis: No such file or directory 17:01:08 `run ls -l wisdom 17:01:10 total 356 \ -rw-r--r-- 1 5000 5000 12 Dec 9 07:37 ? \ -rw-r--r-- 1 5000 5000 12 Dec 9 23:42 ☃ \ -rw-r--r-- 1 5000 5000 68 Dec 9 23:43 🐐 \ -rw-r--r-- 1 5000 5000 141 Dec 14 07:28 ais523 \ -rw-r--r-- 1 5000 5000 13 Dec 9 22:07 atriq \ -rw-r--r-- 1 5000 5000 21 Dec 9 07:37 augur \ -rw-r--r-- 1 5000 5000 64 Dec 9 07:37 banach-tarski \ 17:01:20 hm "debian desktop environment", what does that entail? 17:01:22 gnome? 17:01:23 `? banach-tarski 17:01:24 ​"Banach-Tarski" is an anagram of "Banach-Tarski Banach-Tarski". 17:01:27 Original. 17:02:15 Vorpal: debian default is xfce 17:02:17 or was it lxde 17:02:26 or perhaps lxfce 17:02:30 elliott, eh, sounds fine 17:02:37 http://24.media.tumblr.com/tumblr_m3281gSpCr1qhp6k5o1_400.jpg 17:02:58 elliott, just need to set up the non-free repo afterwards to get the GPU drivers and what not. 17:03:07 I guess? 17:03:19 sgeo, I presume that image is not actually an SCP reference? 17:03:27 Vorpal: depending on yr card the free drivers might work fine 17:03:37 It's the same statue 17:03:43 that's in the SCP-173 image 17:03:47 elliott, I use opencl, last I checked that didn't work with the free AMD drivers 17:03:47 With its creator 17:03:51 whoah sgeo 17:03:54 tell me more completely obvious facts 17:04:16 I don't know what Phantom_Hoover was asking 17:04:24 sgeo: ! What is it called? 17:05:01 sgeo, whether it was actually taken with SCP in mind. 17:05:14 I wonder if the creator even knows. 17:05:27 I don't like this, the ETA for the download is counting up at about 2 seconds per second... 17:05:44 His brainchild is internet famous 17:06:55 http://www.scaithebathhouse.com/en/exhibitions/2005/04/izumi_kato/ 17:07:58 1 17:08:04 I mean er 17:08:05 ! 17:08:07 elliott: so with Nix, does every version of every package you've ever installed stay installed forever? 17:08:09 sgeo++ 17:09:06 kmc: no it has a (conservative) GC 17:09:23 ok 17:09:28 how does it handle things like $PATH 17:09:38 kmc: you can think of the nix store as literally a pure programming language's memory 17:09:40 if i want to run a python script that starts with "#!/usr/bin/env python", which python does it use 17:09:56 uhh I think they keep a /usr/bin/env around 17:10:01 Max version maybe? 17:10:02 also there's no way for it to track references from random scripts i write that aren't in Nix 17:10:05 you PATH gets set to the location of your active profile which uses symlinks 17:10:14 and the nix-env stuff sets that up 17:10:22 you could do this with a unionfs too but they don't 17:10:29 17:10:02 also there's no way for it to track references from random scripts i write that aren't in Nix 17:10:39 you can specify gc roots explicitly 17:10:47 which happens if you install a package explicitly obvs 17:10:51 i mean 17:11:00 it's not going to remove a package you installed to run a script because it thinks it's unused :P 17:11:07 why not? 17:11:11 magic 17:11:18 oh, you're saying the things i explicitly ask for are considered roots 17:11:24 kmc: because no package manager does that? if your environment references it you want it 17:11:30 ok 17:11:31 because you asked for it 17:11:46 but if you upgrade a package in your environment then you no longer want the old version 17:11:50 or its outdated dependencies etc. 17:11:56 i see 17:12:39 so do you think installing nixos on my new laptop is a bad idea or a terrible idea? 17:12:53 wow, the download ETA displayed in the debian installer is all over the place. They seriously need to add a low pass filter to that thing 17:12:55 excellent idea. do it. 17:13:05 kmc: well it's new so worst case you can just wipe it and install ubuntu right 17:13:09 perfect time to fuck things up 17:13:40 yes 17:14:04 they have a nice install guide 17:14:11 it's pretty manual last time i checked 17:15:31 -!- FreeFull has joined. 17:16:38 -!- GreyKnight has quit (Quit: bbl). 17:17:03 man 17:17:10 brass eye was amazing 17:17:35 I tried NixOS in qemu once, and it is awesome. The issue however is that it isn't very mature, there isn't a lot of software already available compared to the more established distros. 17:18:19 it's ok kmc doesn't use software 17:22:10 -!- marcelino has quit (Quit: Leaving). 17:22:24 heh 17:22:34 i'm willing to do some amount of packaging work myself as well 17:22:48 elliott: so what about security of package distribution 17:23:02 -!- 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?"). 17:23:03 like, one thing i really like about debian is that they are super anal about everything being signed 17:23:11 and they understand PKI and trust webs and whatever 17:23:22 -!- Arc_Koen has joined. 17:23:25 whereas the rest of the world things "curl http://... | sudo sh -" is a great way to distribute software 17:23:53 kmc: I think they might have signed packages? not sure 17:24:20 ok 17:24:21 nix supports user-local installs fwiw 17:24:24 securely 17:24:28 that doesn't mean the packages themselves are secure 17:24:37 but you can limit the damage of a malicious packgae 17:24:40 *package 17:24:50 you might want to ask #nixos 17:24:57 ok 17:24:58 yes 17:25:22 elliott, what if I would install sudo as user-local or something? 17:25:28 well that wouldn't work 17:25:28 i don't believe in user-level separation for vanilla linux desktops 17:25:29 obviously 17:25:35 there are too many ways around it 17:25:52 kmc: well it works in nix, they have a very well-thought out system 17:25:54 elliott, what would it do though? Just remove the suid bit? 17:25:55 you can read the paper about it 17:26:00 I think NixOS operates in this way by default, not sure 17:26:16 kmc: you could turn off the binary support entirely if you want to be paranoid and slow 17:26:34 NixOS is actually a source-based distro whose package manager just happens to have an optimisation to download binaries instead 17:26:48 elliott: the distribution you use doesn't affect the reasons i consider user isolation useless on a typical linux desktop 17:26:59 they also do binary patches which is really cool (and necessary since otherwise library updates would have horrific rippling effects on everything depending on it) 17:27:07 the main reason is just that all the shit i care about is in my account 17:27:14 and they understand PKI and trust webs and whatever <-- wasn't it debian who broke openssl security or something by commenting out some code? 17:27:26 kmc: well the thing is that it's sort of inherent to the nixos system that his happens, it's not something you specifically install or whatever 17:27:36 if an attacker can get my gmail password and all my secret files, why do i care if they also get root 17:27:44 there is a global nix store of pure packages and user-local environments 17:27:51 not saying this gives you the user additional security 17:27:53 just that it's true 17:27:55 yeah 17:28:06 well I think you do need root to add to the store by default because they use source-based hashes not binary-based 17:28:06 anyway 17:28:09 I don't know what you do to flip that over 17:28:22 i'm more concerned about whether someone can MITM my connection and send me bad packages 17:28:29 which debian prevents using crypto 17:28:43 but most people seem to not give a shit about 17:28:50 see also: hackage, pypi, etc 17:28:53 anyway you should read http://hydra.nixos.org/build/3479976/download/1/nixos/manual.html and http://hydra.nixos.org/build/3488542/download/1/manual/, possibly in reverse order 17:29:02 kmc: I don't really think NixOS cares much more than average there yeah 17:29:16 at least the new hipster hegemony serves things from github, which has ssl 17:29:16 since it skews heavily on the research/experimental side of things 17:29:32 kmc, arch linux does signed packages nowdays iirc 17:29:33 so i only have to trust some brogrammers who kind of understand how to configure rails 17:29:46 i'm sure that Red Hat does as well, since they are Serious Business 17:30:21 Vorpal: Yes, it does 17:30:41 Deewiant, does it do split debug symbols properly yet? 17:30:57 Not that I know of (or care). 17:31:05 but i mean "signs packages" is only one part of the story 17:31:17 who has keys, and how is trust in those keys established 17:31:24 well obviously 17:31:37 https://www.archlinux.org/master-keys/ 17:32:08 i got into a long argument with the CentOS people about whether serving a SHA1SUMS file from the same directory as the .iso image over unencrypted HTTP was some powerful security measure 17:32:20 -!- sebbu has joined. 17:32:42 Heheh 17:33:20 kmc: I think it's more of a measure against corrupted or incomplete downloads anyway 17:33:22 it does help against evil mirrors but not against MITM attackers 17:33:48 FreeFull: that may be the original intent, but the misconception that it's powerful security is widespread 17:34:41 what does grub error 15 mean I wonder... sigh 17:34:56 I should probably start actually using SHA1SUMS files 17:35:03 I don't even bother verifying checksums 17:35:08 shachaf: speaking of XSS holes in CUPS, http://seclists.org/bugtraq/2008/Jan/270 17:35:55 http://localhost.citibank.com:631/jobs/?job_printer_uri=javascript:alert(document.cookie) 17:35:58 yes localhost.citibank.com has address 127.0.0.1 17:36:07 Vorpal: A file grub expects to be there, isn't 17:36:35 FreeFull, grub 1 or 2? 17:36:43 grub 2 has actual error messages 17:36:47 (why are you using grub 1) 17:36:53 well, why is grub 1 still on sda and sdb then 17:36:55 localhost.fbi.gov has address 127.0.0.1 17:36:57 I used to use grub 1 but now use syslinux 17:37:01 I guess the installer didn't install on the right MBR? 17:37:15 kmc: I doubt internal FBI stuff is on fbi.gov at least 17:37:22 Vorpal: Possibly, try booting from a different drive 17:37:26 elliott, I'm not. Or it appears I am because debian installer didn't understand my disk 17:38:01 elliott: why do you doubt that 17:38:26 FreeFull, I did, I tried sda & sdb, sdc is windows, so that would be a waste of time. the ssd at sdd though? hm 17:38:53 kmc: well I know they have fancy ~super secret~ intranet stuff 17:39:07 which I imagine is completely separate from their public web presence 17:39:18 that assumes a degree of competence i am not willing to assume 17:39:35 anyway it might be on a private network and still use fbi.gov hostnames and *.fbi.gov cookies 17:39:39 where is that screenshot of that internal fbi wiki 17:39:44 the military networks are definitely disjoint from the public internet 17:39:49 FreeFull, anyway the installer said it installed on sda 17:39:52 so I hope it did 17:40:06 Vorpal: So you can boot into Windows fine? 17:40:12 FreeFull, hm, yep 17:40:15 hmm i cannot find it 17:40:27 Also it's possible the installer's sda isn't grub's whatever 17:40:30 FreeFull, the ssd says it isn't bootable 17:40:50 FreeFull, well possibly, but sda and sdb have mdraid so that shouldn't matter 17:40:59 or at least it was in the 80s 17:41:06 I'm booting system rescue cd now to figure this out 17:41:26 I blame kmc for suppressing this information 17:41:46 so i guess my root of trust for Arch Linux is...typedef int f(float); 17:41:46 f* p; 17:41:49 uhhhh 17:41:51 disregard 17:41:57 so i guess my root of trust for Arch Linux is... StartCom 17:42:08 but also typedef int f(float) 17:42:23 q. does anyone here not use arch 17:42:28 17:41:46 so i guess my root of trust for Arch Linux is...typedef int f(float); 17:42:31 17:41:46 f* p; 17:42:34 kmc: i thought you were itidus for a second 17:42:37 17:41:49 uhhhh 17:42:38 and just babbling 17:42:41 17:41:51 disregard 17:42:53 twist of the century 17:44:02 -!- copumpkin has quit (Ping timeout: 265 seconds). 17:44:30 `quote 17:44:33 -!- copumpkin has joined. 17:44:34 364) You just went from "no sexualized ads" to "we have ads for dildos, but they're different for ads for Orangina" X-D 17:51:40 anyone mind explaining to me how BJ Foust exactly works, because I don't seem to get it entirely? 17:52:11 FreeFull, yeah grub2 is not on any disk... How weird 17:52:13 *BF Joust 17:52:23 Arch didn't even have signed packages until this year I think 17:52:42 At least not outside of testing 17:53:45 I can't remember when exactly Pacman 4 was released, but I seem to recall that at least [core] was 100% signed last December. 17:57:34 -!- copumpkin has quit (Ping timeout: 265 seconds). 17:58:05 -!- copumpkin has joined. 17:58:13 AnotherTest: You write code, and then the code wins. Or loses, as the case may be. 17:59:23 I get that part, I just don't understand when they are executed 17:59:31 (they = the instructions) 17:59:41 each program takes a turn to execute one instruction 17:59:47 until someone wins or it times out 17:59:50 who takes the first turn? 18:00:13 the left program, but I am pretty confident it doesn't matter 18:00:25 (the left program is whichever one you decide is left) 18:02:02 -!- ogrom has joined. 18:02:58 Well, so for the "simple" program on http://codu.org/eso/bfjoust/egojsout/index.php 18:03:11 If I did something like (-)*127[-+] 18:03:30 Then that would sometimes win 18:03:52 because the other program commits suicide 18:03:56 you can see it wins on some tape lengths and not others 18:03:57 if you press run 18:04:36 so it's probably a bad idea to make your flag be between 0 and 1 18:05:08 AnotherTest: that's a shudder/vibrator strategy; see http://esolangs.org/wiki/BF_Joust_strategies#Shudder 18:05:14 because there is a high chance that the enemy will bring your flag to 0 for 2 cycles before you make him commit suicide? 18:05:28 oh there is a strategy page 18:05:41 I should probably try to read that first 18:05:43 and see also http://esolangs.org/wiki/BF_Joust_strategies#Anti-shudder_clear 18:05:48 yeah the strategy page is very in-depth 18:13:36 `ls bin 18:13:41 ​? \ @ \ WELCOME \ 1l \ 2l \ addquote \ adjust \ allquotes \ anonlog \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ boolfuck \ c \ calc \ cintercal \ clcintercal \ cxx \ define \ delquote \ dimensifuck \ etymology \ forget \ forth \ fortune \ frink \ fuck \ glass \ glypho \ google \ haskell \ hatesgeo \ hi \ jous 18:13:56 Where's the hill located, again? 18:14:54 !bfjoust 18:14:54 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 18:16:21 -!- MDude has quit (Ping timeout: 248 seconds). 18:16:27 Ah 18:23:01 `fuck 18:23:02 No output. 18:23:05 `fuck hello 18:23:07 hello 18:23:17 `cat bin/fuck 18:23:18 ​#!/bin/sh \ printf "%s" "$1" 18:23:46 `ls babies 18:23:47 ls: cannot access babies: No such file or directory 18:25:55 FireFly: I haven't yet considered how to migrate competitive games to HackEgo. 18:26:41 -!- GreyKnight has joined. 18:26:50 `hi 18:26:51 hi 18:26:57 `hatesgeo 18:26:59 -!- sebbu has quit (Read error: Connection reset by peer). 18:26:59 `hi monqy 18:27:01 hi 18:27:24 `run cat bin/{hi,hatesgeo} 18:27:25 -!- sebbu has joined. 18:27:25 -!- sebbu has quit (Changing host). 18:27:25 -!- sebbu has joined. 18:27:26 echo hi \ #!/bin/sh \ perl -n -e '/:(.*?)!.*JOIN/; $j{$1}++; END {print "$_ $j{$_};" for sort {$j{$b} <=> $j{$a}} keys %j}' $@ 18:27:27 No output. 18:27:56 `addquote so i guess my root of trust for Arch Linux is...typedef int f(float); 18:28:00 869) so i guess my root of trust for Arch Linux is...typedef int f(float); 18:28:17 `glass 18:28:20 OK 18:28:28 ...ok? 18:28:32 OK! 18:28:37 `cat bin/glass 18:28:38 ​#!/bin/sh \ . lib/interp \ interp_file "./interps/glass/glass ./interps/glass/cache" 18:29:11 `glass {M[m ... hmm. I no longer remember glass well enough to just write some X-D 18:29:51 `run ls *interp* 18:29:52 1l \ 2l \ adjust \ axo \ befunge \ bfjoust \ bf_txtgen \ boof \ build.sh \ cfunge \ c-intercal \ clc-intercal \ dimensifuck \ egobch \ egobf \ fukyorbrane \ gcccomp \ gforth_quit \ ghc \ glass \ glypho \ kipple \ lambda \ lazyk \ linguine \ Makefile \ malbolge \ pbrain \ qbf \ rail \ rhotor \ sadol \ sceql \ trigger \ udage01 \ underload \ unlambda 18:30:22 `run echo $PATH 18:30:23 ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin 18:30:57 this hackegobot merge does not seem to be functioning perfectly :P 18:31:11 btw how will bf joust being on hackego interact with the repo history getting wiped 18:31:39 elliott: (a) hopefully I don't need to wipe repo history any more, (b) that's the problem, innit ;) 18:32:52 Also, I haven't seen any bugs in what actually /is/ merged yet... 18:33:00 `run bf_txtgen "do the binaries in here work?" 18:33:01 bash: bf_txtgen: command not found 18:33:06 er 18:33:08 bf_txtgen isn't merged yet ;) 18:33:18 `run *interp*/bf_txtgen "do the binaries in here work?" 18:33:20 bash: interps/bf_txtgen: is a directory 18:33:23 oh 18:33:32 Gregor: You've seen a bug in what's merged, you just papered over it :P 18:33:42 ? 18:33:44 What bug? 18:34:02 Stuff that does #!/usr/bin/env perl was broken because bin/perl was your user interface to Perl. 18:34:14 Oh ^^´ 18:34:16 * elliott thinks interpreter stuff should just have its own separate bin/ accessed by "!foo" rather than "`foo" 18:34:24 Nurr nurr nurr. 18:34:27 that would also make `ls bin more useful when messing with hackegoy commands and stuff 18:34:53 The whole thing is that I don't want there to BE a distinction between HackEgoy stuff and EgoBoty stuff. I want there to be one bot X-D 18:35:04 My point is that there is inherently a distinction in some ways 18:35:07 They could be separate dirs and both could be in $PATH? 18:35:07 I don't want there to be two bots with a single manifestation. 18:35:22 stuff in bin/ gets seen internally rather than just being UI and there are namespace overlaps 18:35:59 and it's kind of inconvenient to have a bunch of mostly-trivial wrapper scripts inamongst the code that people actually wrote for the bot 18:36:04 and edit regularly 18:36:24 command eval could prefix interps-bin to $PATH or something 18:36:25 Hm 18:36:30 Maybe that wouldn't help.. 18:37:08 The distinction between "`eval foo" and "!foo" is just that the latter is less convenient 18:37:24 though implementing "!foo ..." by mapping it to "`interp foo ..." would make total sense 18:37:25 *former 18:37:30 er yes 18:37:32 Gregor: would that be merged enough? 18:37:41 that way you could totally customise the !foo behaviour, it would just be another entry point to the bot 18:37:54 it is basically just a namespacing/clutter issue to me, shrug 18:38:13 note that I'm not saying the distinction should be "which bot had the command originally" 18:38:20 for instance it makes sense for bfjoust to be `bfjoust IMO 18:38:26 `perl, not so much 18:38:37 `run mkdir ibins; for i in bin/*; do if [ "`grep '\. lib/interp' $i`" ]; then mv $i ibin/; fi; done; printf '#!/bin/sh\nCMD=`cut -d' ' -f1 "$1"`\nARG=`cut -d' ' -f2- "$2"`\nexec ibin/$CMD "$ARG"' > bin/interp; chmod 0755 bin/interp 18:38:40 (oh one solution to repo-wiping would be for the bfjoust stuff to maintain its own nested hg repo...) 18:38:52 Gregor: I hope you didn't test that first 18:38:59 Testing is for losers. 18:39:15 mkdir: cannot create directory `ibins': File exists \ mv: target `ibin/' is not a directory \ mv: cannot move `bin/1l' to `ibin/': Not a directory \ mv: cannot move `bin/2l' to `ibin/': Not a directory \ mv: cannot move `bin/adjust' to `ibin/': Not a directory \ mv: cannot move `bin/asm' to `ibin/': Not a directory \ mv: cannot move `bin/axo' to `i 18:39:24 lol 18:39:27 gratzzzzzzzzzzzzzzzzzzzzzzzzzzz 18:39:45 `revert 18:39:46 Done. 18:39:47 Gregor: idea: if a command causes a commit but gives no output, HackEgo gives a link to the hg web interface commit 18:39:51 `run mkdir ibin; for i in bin/*; do if [ "`grep '\. lib/interp' $i`" ]; then mv $i ibin/; fi; done; printf '#!/bin/sh\nCMD=`cut -d' ' -f1 "$1"`\nARG=`cut -d' ' -f2- "$2"`\nexec ibin/$CMD "$ARG"' > bin/interp; chmod 0755 bin/interp 18:39:51 so you can see if it worked 18:40:09 Oh, that's a nifty idea. 18:40:24 arguably it should give a link even if it does give output, but for stuff like quotes it'd have to be two lines 18:40:26 mkdir: cannot create directory `ibin': File exists \ grep: bin/@: No such file or directory \ grep: bin/c: No such file or directory \ grep: bin/k: No such file or directory 18:40:27 maybe that would be fine 18:40:31 commands that write aren't very common 18:40:46 and you can omit the "No output." line if you are linking a commit on another line 18:41:24 alternatively you could shorten the urls to http://codu.org/e/dfigj or something and then just include it at the end of every line that touches stuff 18:41:33 I guess a shorter cutoff for commands that cause modifications is no big deal 18:41:45 It might be valuable to have some very small, out-of-the-way mention that it DID produce output, without showing a full URL. You can always find the URL easily enouogh. 18:42:14 `interp bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++. 18:42:15 ​/hackenv/bin/interp: 2: Syntax error: EOF in backquote substitution 18:42:20 Dern :) 18:42:22 I find it a bit of a pain to find the fshg URL and then refresh a bunch 18:42:27 hence why a link would be handy when messing with stuff IMO 18:42:35 Fair 'nuff. 18:44:08 I second the !foo proposal 18:44:12 `run printf '#!/bin/sh\nCMD=`cut -d'\'' '\'' -f1 "$1"`\nARG=`cut -d'\'' '\'' -f2- "$2"`\nexec ibin/$CMD "$ARG"' > bin/interp; chmod 0755 bin/interp 18:44:15 No output. 18:44:18 `cat bin/interp 18:44:19 I think Gregor is implementing said proposal right now :P 18:44:19 ​#!/bin/sh \ CMD=`cut -d' ' -f1 "$1"` \ ARG=`cut -d' ' -f2- "$2"` \ exec ibin/$CMD "$ARG" 18:44:24 `interp bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++. 18:44:25 cut: bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.: No such file or directory \ cut: : No such file or directory \ exec: 4: ibin/: Permission denied 18:44:34 Gregor: Also please can has lua/luarocks :-) 18:44:35 Gregor: echo "$1" | cut ... 18:44:36 I suck at this apparently X-D 18:44:41 HTH HAND 18:44:45 cut takes a file. 18:44:45 Oh, heh X_X 18:45:05 `run printf '#!/bin/sh\nCMD=`echo "$1" | cut -d'\'' '\'' -f1`\nARG=`echo "$1" | cut -d'\'' '\'' -f2-`\nexec ibin/$CMD "$ARG"' > bin/interp; chmod 0755 bin/interp 18:45:05 Gregor: I have an idea... why don't you just make "!foo bar baz" pass along two args, "foo" and "bar baz" :P 18:45:08 No output. 18:45:14 Then you can do the splitting in multibot Python rather than HackEgo sh. 18:45:17 hex editing linux kernel modules to support new hardware, like a boss 18:45:21 elliott: I can't use ! yet since EgoBot is still alive. 18:45:24 Mmm 18:45:24 elliott: This is a stopgap. 18:45:27 Gregor: How about `` 18:45:31 I guess interp works for now though 18:45:38 `interp bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++. 18:45:40 Hello 18:45:48 sweet 18:45:53 `ls bin 18:45:54 ​WELCOME \ addquote \ allquotes \ anonlog \ calc \ define \ delquote \ etymology \ forget \ fortune \ frink \ fuck \ google \ hatesgeo \ hi \ interp \ joustreport \ jousturl \ json \ karma \ karma- \ karma+ \ learn \ log \ logurl \ macro \ maketext \ marco \ No \ paste \ pastefortunes \ pastekarma \ pastelog \ pastelogs \ pastenquot 18:46:08 `pastenquot 18:46:09 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastenquot: not found 18:46:19 `pastaquote 18:46:20 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastaquote: not found 18:46:24 Gregor: Where's my "..." cutoff 18:46:28 Is this WELCOME's fault 18:46:32 lul 18:46:35 `run ls bin | paste 18:46:38 `maketext 18:46:39 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.15092 18:46:40 ls: cannot access maketext: No such file or directory \ /hackenv/bin/maketext: line 2: maketext/0: No such file or directory \ 0 18:46:53 `run maketext 18:46:55 ls: cannot access maketext: No such file or directory \ /hackenv/bin/maketext: line 2: maketext/0: No such file or directory \ 0 18:46:57 Hmm, it would be nice to have something that automatically does | paste 18:47:01 `run printf '#!/bin/sh\nexec quote pasta' > bin/pastaquote; chmod 0755 bin/pastaquote 18:47:04 No output. 18:47:08 `pastaquote 18:47:09 No output. 18:47:20 NOW WE JUST NEED SOME QUOTES ON PASTA 18:47:32 `quote pasta 18:47:33 No output. 18:47:36 We can use ¡foo as a stand-in :o) 18:47:37 Ketchup on pasta is delicious. 18:47:47 sgeo 18:47:58 GreyKnight: How big is luarocks? Can you just install it yourself? X-D 18:48:30 `cat ibin/bf 18:48:31 -!- HackEgo has quit (Remote host closed the connection). 18:48:34 Cool 18:48:43 coool 18:48:51 Hm, maybe with the right curl invocation I could! It is not that large 18:48:55 O_O 18:49:01 Well THAT should never happen 18:49:17 GreyKnight: Can't use curl directly, but you can use `fetch . 18:49:28 Hm okay 18:49:51 fungot: Are you jealous of how everyone else's bot is getting all kinds of attention while you last got a code-change years ago? 18:49:52 fizzie: i'm not a racist i just i always seem to raise it around the holidays like christmas and mn it 18:50:06 I will do it when I am not dog-tired as currently, that condition tends to interact badly with installing anything 18:50:18 fizzie: I think now would be a good time to change fungot. 18:50:19 elliott: i don't remember getting taught in school that they go to sleep 18:50:31 -!- HackEgo has joined. 18:50:32 fizzie: In anticipation for its moving to Deewiant's fancy new interpreter??? 18:50:32 fizzie, what can we add to fungot? He is perfect in every way 18:50:32 GreyKnight: ( ( like what)) 18:50:36 fizzie: You have to move it to Shiro 2 also 18:50:41 `cat ibin/bf 18:50:42 ​#!/bin/sh \ . lib/interp \ \ # Get the bitwidth from the command \ BW=`echo "$CMD" | sed 's/bf//'` \ if [ "$BW" = "" ] ; then BW=8 ; fi \ \ interp_file ./interps/egobf/src/egobfi$BW 18:50:47 Case in point 18:51:11 Gregor: Hypothesis: the vast majority of ibin/ is redundant to interps/ and `interp could handle it itself. 18:51:25 `run cd ibin; more * | paste 18:51:28 FreeFull, yay, I now got grub 2, I get a rescue prompt now 18:51:29 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16839 18:51:38 (I BET YOU DIDN'T KNOW MORE COULD DO THAT) 18:51:39 elliott: No, definitely not. They all have different standards for how to take input. File, stdin, need flags, etc etc. 18:51:41 GreyKnight: There are bugs in the babbling, I think. It's not implementing the algo-rhythm correctly. I think. 18:51:52 elliott: interp is just raw interpreters, ibin/ is "make this interpreter take some damned code" 18:51:52 Gregor: Congrats on accidentally moving ? and @. 18:51:58 `run mv ibin/"?" bin 18:52:01 `run mv ibin/"@" bin 18:52:02 No output. 18:52:04 Um, oops :) 18:52:05 No output. 18:52:12 Gregor: Nice, there is an ibin/sh 18:52:17 elliott: Stop complaining when it's SO EASY TO FIX. 18:52:18 That was on the path and nobody even noticed 18:52:20 X-D 18:52:27 Vorpal: Did you have to install it manually 18:52:46 Gregor: Anyway what I mean is that the vast majority of these just seem to be interp_file, and `interp could handle that itself. 18:52:51 FreeFull, yes, from a gentoo-based live cd. Oh the irony 18:53:00 `quote 18:53:02 816) and all this time I thought we were talking about postmodern analysis of junk mail delivery methods and simulations of elephant breeding patterns 18:53:06 Well, except that the executables in interps/ have different names, but that seems fixable. 18:53:07 FreeFull, still, it can't find anything 18:53:17 Vorpal: Gentoo live cds are the way to install any other distro manually 18:53:30 -!- Bike has joined. 18:53:35 Oh hey, you could just shorten these by making lib/interp a valid #! interpreter 18:53:38 Maybe I should do that 18:53:38 `cat lib/interp 18:53:40 FreeFull, well, system rescue cd is an extremely good live cd 18:53:40 ​#!/bin/sh \ \ export I_CMD="$0" \ export I_ARG="$1" \ export ARG_FILE="/tmp/input.$$" \ \ get_arg() { \ #if expr "$I_ARG" : "http://" > /dev/null \ #then \ # wget $WGET_OPTIONS "$I_ARG" -O "$ARG_FILE" \ #else \ printf '%s' "$I_ARG" > "$ARG_FILE" \ #fi \ } \ \ clean_arg() { \ rm -f "$ARG_FILE" \ } \ \ interp 18:53:46 `url lib/interp 18:53:47 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/lib/interp 18:53:54 FreeFull, and gentoo-based 18:54:02 Gregor: I see this doesn't use the HTTP proxy 18:55:15 -!- sebbu has quit (Read error: Connection reset by peer). 18:55:21 How does this sound for reducing the clutteriness of ibin/: Rather than `interp running the file in ibin directly, make `interp start sh and source lib/interp and then source ibin/$foo. Then they'd just be one-liners. I have no idea why this is better but it feels better. 18:55:25 FreeFull, you know what, grub 1 was so much easier to get working... 18:55:41 -!- sebbu has joined. 18:55:41 -!- sebbu has quit (Changing host). 18:55:41 -!- sebbu has joined. 18:55:42 GRUB 2 is trivial to get working if you don't have a supercomplicated LVM RAID setup. 18:55:54 Vorpal: SYSLINUX is pretty easy 18:57:05 elliott, not super complicated. For /boot it is just plain mdraid 18:57:22 elliott, the issue is that linux and grub doesn't agree on which device is sda, sdb and so on 18:57:50 I believe that at least 18:57:59 Vorpal: grub doesn't even use "sda". 18:58:12 Partitions are numbered from 1 in grub2, if that's what you mean. 18:58:25 elliott, exactly, but it maps hd1 to sda and so on when doing grub-install from linux 18:58:32 and that mapping is off 18:58:39 and figuring out the correct mapping is a pain 18:58:47 `java 18:58:50 Usage: java [-options] class [args...] \ (to execute a class) \ or java [-options] -jar jarfile [args...] \ (to execute a jar file) \ where options include: \ -d32 use a 32-bit data model if available \ -d64 use a 64-bit data model if available \ -server to select the "server" VM \ The d 18:59:12 `interp c printf("abc"); 18:59:21 !c printf("abcd"); 18:59:27 abcd 18:59:29 Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: for 18:59:36 Gregor: Good merge 18:59:46 ah, I can get a device map with ls 19:00:07 if I write it down I can compare the partition layout to figure out which device is which 19:00:09 `cat ibin/k 19:00:10 ​#!/bin/sh \ echo '!"#$%^&* 0123456789' 19:00:13 fork ALL the processes 19:00:16 `ls interps/k 19:00:17 ls: cannot access interps/k: No such file or directory 19:00:20 i don't get it 19:01:04 lol 19:01:19 `ls interps 19:01:21 1l \ 2l \ adjust \ axo \ befunge \ bfjoust \ bf_txtgen \ boof \ build.sh \ cfunge \ c-intercal \ clc-intercal \ dimensifuck \ egobch \ egobf \ fukyorbrane \ gcccomp \ gforth_quit \ ghc \ glass \ glypho \ kipple \ lambda \ lazyk \ linguine \ Makefile \ malbolge \ pbrain \ qbf \ rail \ rhotor \ sadol \ sceql \ trigger \ udage01 \ underload \ unlambda 19:01:28 `interp c printf("Giving Gregor the benefit of the doubt by trying again"); 19:01:45 cat: Gregor: No such file or directory \ Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily una 19:01:56 `cat interps/gcccomp 19:01:57 cat: interps/gcccomp: Is a directory 19:01:58 `cat interps/gcccomp/gcccomp 19:02:00 ​#!/bin/bash \ LANG="$1" \ \ case "$LANG" in \ c) \ HEAD='#include \n#include \n#include \n#include \n#include \nint main(int argc, char **argv) {' \ TAIL='; return 0; }' \ EXT='c' \ GCC='gcc' \ FLAGS='-std=gnu99' \ ;; \ \ c++) \ HEAD 19:02:12 Oy vey X-D 19:02:14 Shouldn't that $1 be $0 19:02:25 :::::::::::::: 19:02:25 c 19:02:26 :::::::::::::: 19:02:26 #!/bin/sh 19:02:26 . lib/interp 19:02:27 interp_file "./interps/gcccomp/gcccomp $1" 19:02:30 I don't get how this could possibly work 19:04:38 -!- epicmonkey has quit (Ping timeout: 252 seconds). 19:08:48 so yeah the device map was definitely off 19:10:07 elliott, wow, debian gave me 800x600 on a 1680x1050 monitor 19:10:19 I guess I need catalyst 19:10:31 also gnome 3? 19:11:02 why do you need gnome 3 19:11:07 elliott, I don't 19:11:12 oh it installed it? 19:11:15 did you install stable or something 19:11:17 I'm just confused by debian testing gave me gnome 3 19:11:20 elliott, testing 19:11:24 are you sure it's testing 19:11:26 where did you get the install media from 19:11:31 elliott, unetbootin 19:11:37 netinstall 19:11:40 where did unetbootin get the install media from 19:11:41 it said testing 19:12:03 elliott, the magic drop down box, with the option marked "netinstall_testing x86-64" 19:12:12 anyway let me check lsb_release 19:12:27 elliott, wheezy 19:12:32 whichever one that is 19:13:07 testing 19:16:03 `:( : | : & );: 19:16:04 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: :(: not found 19:16:17 `bash -e ':( : | : & );:' 19:16:18 bash: - : invalid option 19:16:19 you want run 19:16:26 `run :( : | : & );: 19:16:27 bash: -c: line 0: syntax error near unexpected token `:' \ bash: -c: line 0: `:( : | : & );:' 19:16:30 hm 19:16:33 `run ls 19:16:35 bin \ canary \ egobot.tar.xz \ foo \ ibin \ ibins \ interps \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo \ zalgo.hi \ zalgo.hs \ zalgo.o 19:16:38 `bash -c ':( : | : & );:' 19:16:40 `run ls bin 19:16:40 bash: - : invalid option \ Usage:bash [GNU long option] [option] ... \ bash [GNU long option] [option] script-file ... \ GNU long options: \ --debug \ --debugger \ --dump-po-strings \ --dump-strings \ --help \ --init-file \ --login \ --noediting \ --noprofile \ --norc \ --posix \ --protected \ --rcfile \ --restricted \ --verbose \ 19:16:42 ​? \ @ \ WELCOME \ addquote \ allquotes \ anonlog \ calc \ define \ delquote \ etymology \ forget \ fortune \ frink \ fuck \ google \ hatesgeo \ hi \ interp \ joustreport \ jousturl \ json \ karma \ karma- \ karma+ \ learn \ log \ logurl \ macro \ maketext \ marco \ No \ pastaquote \ paste \ pastefortunes \ pastekarma \ pastelog \ p 19:16:51 `run :( : | : & ); : 19:16:52 bash: -c: line 0: syntax error near unexpected token `:' \ bash: -c: line 0: `:( : | : & ); :' 19:16:54 `run :( echo test );: 19:16:54 You want to do the command right. 19:16:55 bash: -c: line 0: syntax error near unexpected token `echo' \ bash: -c: line 0: `:( echo test );:' 19:17:00 `run :{:|:&};: 19:17:01 -!- MDude has joined. 19:17:01 bash: -c: line 0: syntax error near unexpected token `}' \ bash: -c: line 0: `:{:|:&};:' 19:17:04 Yeah, wrong syntax 19:17:04 Oh 19:17:07 try not fucking up 19:17:11 `run :(){ echo test };: 19:17:13 bash: -c: line 1: syntax error: unexpected end of file 19:17:23 My memory sucks 19:17:24 Dahell X-D 19:17:26 `run a(){ echo test };a 19:17:28 bash: -c: line 1: syntax error: unexpected end of file 19:17:34 Gregor, okay this /IS/ broken 19:18:01 `run a(){ echo test; };a 19:18:03 test 19:18:06 no 19:18:07 it isn't 19:18:10 X-D 19:18:12 /bin/sh: -c: line 1: syntax error: unexpected end of file 19:18:15 `run :(){:|:&};: 19:18:17 bash: -c: line 0: syntax error near unexpected token `{:' \ bash: -c: line 0: `:(){:|:&};:' 19:18:23 :P 19:18:25 Ohwell, I'm lazy. 19:18:26 syntax fail 19:18:27 Damn, beat me to it 19:18:27 Needs a space 19:18:36 `run :(){:|:&}; : 19:18:38 bash: -c: line 0: syntax error near unexpected token `{:' \ bash: -c: line 0: `:(){:|:&}; :' 19:18:40 `run :(){:|:&} : 19:18:41 (Modulo a formatting fail) 19:18:42 `run :(){ :|:&};: 19:18:42 bash: -c: line 0: syntax error near unexpected token `{:' \ bash: -c: line 0: `:(){:|:&} :' 19:18:44 No output. 19:18:47 Why are these forkbombs so difficult! 19:18:55 {SPACE: 19:18:56 `run :(){ : | : & } ; : 19:18:58 No output. 19:19:07 `run :(){ :|:&};: 19:19:09 No output. 19:19:11 yeah 19:20:34 "Note that unlike the metacharacters ( and ), { and } are reserved words and must occur where a reserved word is permitted to be recognized. Since they do not cause a word break, they must be separated from list by whitespace or another shell metacharacter." 19:20:47 `run dd if=/dev/zero of=aaaa 19:20:55 File size limit exceeded 19:20:59 :D 19:21:09 fizzie: this seems pretty silly of course 19:21:25 But there I go with my earth logic again 19:21:41 GreyKnight: There was something equally silly related to whether a thing is on one line or not, too. 19:22:46 TODO: reinvent shell syntax 19:23:18 It's probably a rererereinvention at this point. 19:23:29 ...okay, it's a sign, I should try scheme shell 19:23:45 Sexprs would be a big improvement 19:27:26 `ls 19:27:27 aaaa \ bin \ canary \ egobot.tar.xz \ foo \ ibin \ ibins \ interps \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo \ zalgo.hi \ zalgo.hs \ zalgo.o 19:27:30 `rm aaaa 19:27:33 No output. 19:29:53 -!- GreyKnight has quit (Ping timeout: 255 seconds). 19:52:02 -!- sgeo has quit (Read error: Connection reset by peer). 19:52:29 -!- sgeo has joined. 19:58:41 -!- GreyKnight has joined. 20:00:00 `quote 20:00:02 675) I have a program to tell you how far away Jupiter is. It is 4.33 units far. 20:00:03 `quote 20:00:04 `quote 20:00:05 648) i cnat eve begin to understand what you meant with that "one" 20:00:06 `quote 20:00:08 `quote 20:00:09 306) 3 = 7/2 20:00:09 33) I guess when you're immortal, mapping your fonts isn't necessary 20:00:10 793) You can't quote me. 20:00:53 -!- sebbu2 has joined. 20:00:53 -!- sebbu2 has quit (Changing host). 20:00:53 -!- sebbu2 has joined. 20:01:18 either 648 or 793 I guess 20:01:27 the others are good 20:04:07 > return Nothing 20:04:08 648 and 793 are bad but i think some people (elliott??) like 648 20:04:09 No instance for (GHC.Show.Show (m0 (Data.Maybe.Maybe a0))) 20:04:09 arising from ... 20:04:18 -!- sebbu has quit (Ping timeout: 245 seconds). 20:04:22 > return $ Just 3 20:04:24 No instance for (GHC.Show.Show (m0 (Data.Maybe.Maybe a0))) 20:04:24 arising from ... 20:04:31 FreeFull: what are you trying to do 20:04:35 Huh 20:04:41 Wait, nevermind 20:04:49 > return 3 :: Maybe Integer 20:04:51 Just 3 20:05:00 > Nothing :: Maybe Integer 20:05:02 Nothing 20:05:37 That's what I was trying to do 20:05:48 aha 20:06:21 > return :: Maybe Integer 20:06:23 Couldn't match expected type `Data.Maybe.Maybe 20:06:23 ... 20:06:30 is there a Haskell-like shell, I wonder? 20:06:35 shachaf: do you know about buzz filtering as an alternative to /ignore? 20:06:39 hashell 20:07:04 oh yep that turned up actual results. thank god for uncreativity and portmanteaus 20:07:10 replaces the text someone sends with "Bz bzzzz, bzz bzzz" and such 20:07:15 heh 20:07:20 don't know if IRC clients implement this but it is popular on MIT Zephyr 20:07:27 kmc, that sounds funny for the first 10 minutes 20:07:29 hasnail 20:07:36 * GreyKnight high-fives Bike ,o/ 20:07:38 I made an irssi ignore script that blacks out ignored text 20:07:41 but doesn't remove it 20:07:47 so I can hilight it if I want to read it 20:07:53 how do you resist highlighting it 20:07:55 it makes it easier to follow conversations where one person is ignored 20:08:03 because otherwise you don't see where they posted things so it gets confusing 20:08:07 or like who someone is responding to 20:08:18 Fiora: I like this approach 20:08:22 because hilighting things in putty is annoying >_>;; 20:08:26 I think I've played with Gale once 20:08:28 Fiora: that's a clever solution 20:09:00 Using Yammer, which seems to have been down since forever 20:09:01 http://privatepaste.com/9de8939130 20:09:01 :( 20:09:24 it's kind of icky because I have no idea how to write perl 20:09:56 i don't think it's possible to write perl that isn't at least somewhat icky, i think you're good 20:10:06 sgeo: wow, Gale is even more obscure than Zephyr 20:11:44 I found it via Wikipedia 20:11:51 Fiora: that is some of the clearest Perl I've seen in a while TBH :-P 20:11:53 iirc 20:12:07 GreyKnight: I copied it from another script, the only thing I changed was the theme_register line 20:12:13 kmc: Nope. 20:12:14 afaik Gale is only used by current and former sysadmins for the student computing group at Caltech 20:12:19 so, yeah, I guess you *do* have no idea how to write perl properly :o) 20:12:26 Pfff XD 20:12:26 oh, okay 20:12:38 shachaf: did you see that CUPS XSS thing? 20:12:40 Seems strictly worse than /ignore, except that you don't get confused. 20:12:48 perl being line noise jokes, teehee 20:12:55 so, strictly better 20:12:59 kmc: Yep. 20:13:07 Gregor, suppose someone is flooding the channel 20:13:07 I should report my bugs. 20:13:11 it's in that book as well 20:13:20 The way to fix that would probably be to coalesce multiple bzz lines into one 20:13:23 And order that book, I guess. 20:13:31 sgeo: or use a temporary /ignore then 20:13:35 or just count on ops kicking flooders 20:13:41 the main reason I ignore is because of people who frustrate me or are creepy or something 20:13:45 not because of like, spambots 20:13:52 since ops usually take care of those 20:14:02 Bike: Hashell "works only with old GHCs" :-/ 20:14:08 and/or services I guess. though I don't know if esper does auto-ban for flood 20:14:13 no! the horror 20:14:35 Upload date: Sun Jan 18 04:12:50 UTC 2009 20:15:14 Fiora: freenode boots you off the network if you send lines too fast, but there is no ban that I know of 20:15:21 ah, so just a kick 20:15:49 the freenode spammers i've seen usually hit enough channels to wake up an oper and get themselves k-lined 20:16:00 well, off the whole network rather than just off the channel 20:16:33 I remember there was a spam thing where people spammed links that had javascript in the background that enlisted their own computer as a bot to connect to irc and spam more links 20:16:42 If you ever see me quitting with "Excess Flood" it's because my connection failed hard enough that several of my messages got backlogged and sent all at the same time :-/ 20:17:30 (the server sees them arrive with no delay between messages and assumes I'm Up To No Good) 20:17:42 Fiora: you mean the thing kmc was talking about like, yesterday 20:18:01 wait, really 20:18:02 I missed it 20:18:33 some webpage that sent a specially crafted POST to freenode, that looked like connecting to irc + spamming the link 20:18:34 great minds think alike 20:18:49 freenode now interprets "POST" to mean "QUIT" for this reason :-D 20:18:54 ... XD 20:19:03 that's a solution 20:19:06 points for creativity 20:19:07 and other HTTP verbs 20:19:18 in fact XMLHttpRequest lets you use almost arbitrary verbs 20:19:27 kmc: I don't think you can do other HTTP verbs than GET and POST cross-domain, can you? 20:19:33 Without support from the other server, anyway. 20:19:37 right 20:19:53 does XHR even let you do cross-domain GET/POST? 20:19:59 (without the CORS dance?) 20:20:04 -!- popl has joined. 20:20:06 I meant with the CORS thing. 20:20:18 CORS? 20:20:23 Is this channel for esoteric programming languages? 20:20:26 Once I wrote a somewhat complicated system to do cross-domain communication over